diff --git a/packages/google-cloud-servicedirectory/.eslintignore b/packages/google-cloud-servicedirectory/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-cloud-servicedirectory/.eslintrc.json b/packages/google-cloud-servicedirectory/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-cloud-servicedirectory/.gitattributes b/packages/google-cloud-servicedirectory/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/.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-servicedirectory/.github/.OwlBot.yaml b/packages/google-cloud-servicedirectory/.github/.OwlBot.yaml
new file mode 100644
index 00000000000..8e1768b5284
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/.github/.OwlBot.yaml
@@ -0,0 +1,23 @@
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+docker:
+ image: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest
+
+deep-remove-regex:
+ - /owl-bot-staging
+
+deep-copy-regex:
+ - source: /google/cloud/servicedirectory/(.*)/.*-nodejs/(.*)
+ dest: /owl-bot-staging/$1/$2
+
diff --git a/packages/google-cloud-servicedirectory/.gitignore b/packages/google-cloud-servicedirectory/.gitignore
new file mode 100644
index 00000000000..5d32b23782f
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/.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-servicedirectory/.jsdoc.js b/packages/google-cloud-servicedirectory/.jsdoc.js
new file mode 100644
index 00000000000..cfbdb5dc8e3
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/.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/service-directory',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-cloud-servicedirectory/.mocharc.js b/packages/google-cloud-servicedirectory/.mocharc.js
new file mode 100644
index 00000000000..0b600509bed
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/.mocharc.js
@@ -0,0 +1,29 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+const config = {
+ "enable-source-maps": true,
+ "throw-deprecation": true,
+ "timeout": 10000,
+ "recursive": true
+}
+if (process.env.MOCHA_THROW_DEPRECATION === 'false') {
+ delete config['throw-deprecation'];
+}
+if (process.env.MOCHA_REPORTER) {
+ config.reporter = process.env.MOCHA_REPORTER;
+}
+if (process.env.MOCHA_REPORTER_OUTPUT) {
+ config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`;
+}
+module.exports = config
diff --git a/packages/google-cloud-servicedirectory/.nycrc b/packages/google-cloud-servicedirectory/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/.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-servicedirectory/.prettierignore b/packages/google-cloud-servicedirectory/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-cloud-servicedirectory/.prettierrc.js b/packages/google-cloud-servicedirectory/.prettierrc.js
new file mode 100644
index 00000000000..d1b95106f4c
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/.prettierrc.js
@@ -0,0 +1,17 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+module.exports = {
+ ...require('gts/.prettierrc.json')
+}
diff --git a/packages/google-cloud-servicedirectory/.repo-metadata.json b/packages/google-cloud-servicedirectory/.repo-metadata.json
new file mode 100644
index 00000000000..421732e7ec6
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/.repo-metadata.json
@@ -0,0 +1,16 @@
+{
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/service-directory/latest",
+ "api_id": "servicedirectory.googleapis.com",
+ "distribution_name": "@google-cloud/service-directory",
+ "release_level": "stable",
+ "default_version": "v1",
+ "language": "nodejs",
+ "name_pretty": "Service Directory",
+ "repo": "googleapis/nodejs-service-directory",
+ "product_documentation": "",
+ "requires_billing": true,
+ "name": "servicedirectory",
+ "issue_tracker": "https://github.com/googleapis/nodejs-service-directory/issues",
+ "api_shortname": "servicedirectory",
+ "library_type": "GAPIC_AUTO"
+}
diff --git a/packages/google-cloud-servicedirectory/CHANGELOG.md b/packages/google-cloud-servicedirectory/CHANGELOG.md
new file mode 100644
index 00000000000..d250b198648
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/CHANGELOG.md
@@ -0,0 +1,220 @@
+# Changelog
+
+## [4.0.4](https://github.com/googleapis/nodejs-service-directory/compare/v4.0.3...v4.0.4) (2022-11-10)
+
+
+### Bug Fixes
+
+* **deps:** Update dependency uuid to v9 ([#248](https://github.com/googleapis/nodejs-service-directory/issues/248)) ([5648d02](https://github.com/googleapis/nodejs-service-directory/commit/5648d02c86fe676ca022af4a3a3e546621b00530))
+* Preserve default values in x-goog-request-params header ([#250](https://github.com/googleapis/nodejs-service-directory/issues/250)) ([5c89781](https://github.com/googleapis/nodejs-service-directory/commit/5c897813076a08f2a2eb899cc05c71eb04ef87a6))
+* Regenerated protos JS and TS definitions ([#266](https://github.com/googleapis/nodejs-service-directory/issues/266)) ([7c7cec7](https://github.com/googleapis/nodejs-service-directory/commit/7c7cec7d4a4a324121ae1fd0a88cbba5b11567e3))
+
+## [4.0.3](https://github.com/googleapis/nodejs-service-directory/compare/v4.0.2...v4.0.3) (2022-09-01)
+
+
+### Bug Fixes
+
+* Allow passing gax instance to client constructor ([#246](https://github.com/googleapis/nodejs-service-directory/issues/246)) ([a0a3f47](https://github.com/googleapis/nodejs-service-directory/commit/a0a3f47b45cbac1ae71865cebefe81c818f32714))
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-service-directory/issues/1553)) ([#245](https://github.com/googleapis/nodejs-service-directory/issues/245)) ([5e84b2a](https://github.com/googleapis/nodejs-service-directory/commit/5e84b2a67cdef856374fabe20522e21895cb125b))
+
+## [4.0.2](https://github.com/googleapis/nodejs-service-directory/compare/v4.0.1...v4.0.2) (2022-08-23)
+
+
+### Bug Fixes
+
+* better support for fallback mode ([#241](https://github.com/googleapis/nodejs-service-directory/issues/241)) ([59365c7](https://github.com/googleapis/nodejs-service-directory/commit/59365c79e44b3a134d14be41ec5979c08fdf053f))
+* change import long to require ([#242](https://github.com/googleapis/nodejs-service-directory/issues/242)) ([28ba038](https://github.com/googleapis/nodejs-service-directory/commit/28ba0388590806ca97ef96be7d2aa0113d66488d))
+* remove pip install statements ([#1546](https://github.com/googleapis/nodejs-service-directory/issues/1546)) ([#244](https://github.com/googleapis/nodejs-service-directory/issues/244)) ([2a10e38](https://github.com/googleapis/nodejs-service-directory/commit/2a10e38ed733c8679d7a25546c5b91534e0a2895))
+
+## [4.0.1](https://github.com/googleapis/nodejs-service-directory/compare/v4.0.0...v4.0.1) (2022-06-30)
+
+
+### Bug Fixes
+
+* **docs:** describe fallback rest option ([#236](https://github.com/googleapis/nodejs-service-directory/issues/236)) ([f72541a](https://github.com/googleapis/nodejs-service-directory/commit/f72541a014de7b748dde57d1f29064f48d935b36))
+
+## [4.0.0](https://github.com/googleapis/nodejs-service-directory/compare/v3.4.0...v4.0.0) (2022-05-20)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#229)
+
+### Build System
+
+* update library to use Node 12 ([#229](https://github.com/googleapis/nodejs-service-directory/issues/229)) ([34d5709](https://github.com/googleapis/nodejs-service-directory/commit/34d5709ab1e6e6c51bd2443b674fc22634214e61))
+
+## [3.4.0](https://github.com/googleapis/nodejs-service-directory/compare/v3.3.2...v3.4.0) (2022-04-11)
+
+
+### Features
+
+* AuditConfig for IAM v1 ([#216](https://github.com/googleapis/nodejs-service-directory/issues/216)) ([bb8b0b8](https://github.com/googleapis/nodejs-service-directory/commit/bb8b0b81a61c939f0601d7c02ef90d1e3688b7a6))
+
+### [3.3.2](https://www.github.com/googleapis/nodejs-service-directory/compare/v3.3.1...v3.3.2) (2021-11-12)
+
+
+### Bug Fixes
+
+* **deps:** update dependency json-schema to ^0.4.0 ([#192](https://www.github.com/googleapis/nodejs-service-directory/issues/192)) ([7122dbe](https://www.github.com/googleapis/nodejs-service-directory/commit/7122dbe5464d2ecc08875d5ac4c2b0fd93c9ac1d))
+
+### [3.3.1](https://www.github.com/googleapis/nodejs-service-directory/compare/v3.3.0...v3.3.1) (2021-09-10)
+
+
+### Bug Fixes
+
+* **build:** set default branch to main ([#177](https://www.github.com/googleapis/nodejs-service-directory/issues/177)) ([5db2287](https://www.github.com/googleapis/nodejs-service-directory/commit/5db2287a4db74b83cd3822e7c37fa0925165cf77))
+
+## [3.3.0](https://www.github.com/googleapis/nodejs-service-directory/compare/v3.2.4...v3.3.0) (2021-08-23)
+
+
+### Features
+
+* turns on self-signed JWT feature flag ([#174](https://www.github.com/googleapis/nodejs-service-directory/issues/174)) ([0fe57fd](https://www.github.com/googleapis/nodejs-service-directory/commit/0fe57fdb1a95115ff2da71c1632cfe3bf501b963))
+
+### [3.2.4](https://www.github.com/googleapis/nodejs-service-directory/compare/v3.2.3...v3.2.4) (2021-08-17)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.24.1 ([#172](https://www.github.com/googleapis/nodejs-service-directory/issues/172)) ([f6a501e](https://www.github.com/googleapis/nodejs-service-directory/commit/f6a501ea9d4ff30a6df9fbfc74db80c4e402a932))
+
+### [3.2.3](https://www.github.com/googleapis/nodejs-service-directory/compare/v3.2.2...v3.2.3) (2021-07-16)
+
+
+### Bug Fixes
+
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#164](https://www.github.com/googleapis/nodejs-service-directory/issues/164)) ([717c929](https://www.github.com/googleapis/nodejs-service-directory/commit/717c929fbe9d62981c714931c3fa21fd69a45b0d))
+
+### [3.2.2](https://www.github.com/googleapis/nodejs-service-directory/compare/v3.2.1...v3.2.2) (2021-07-12)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.1 ([#162](https://www.github.com/googleapis/nodejs-service-directory/issues/162)) ([8d2cf25](https://www.github.com/googleapis/nodejs-service-directory/commit/8d2cf25e43c7d53a3d7ebea5732590308112a608))
+
+### [3.2.1](https://www.github.com/googleapis/nodejs-service-directory/compare/v3.2.0...v3.2.1) (2021-06-30)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.0 with mTLS ([#159](https://www.github.com/googleapis/nodejs-service-directory/issues/159)) ([02861a1](https://www.github.com/googleapis/nodejs-service-directory/commit/02861a17ec3f9bfedb83ded18190e6ee1d7b901f))
+
+## [3.2.0](https://www.github.com/googleapis/nodejs-service-directory/compare/v3.1.3...v3.2.0) (2021-06-25)
+
+
+### Features
+
+* Update Service Directory v1beta1 protos to include VPC Network field, and create/modify timestamp fields ([#155](https://www.github.com/googleapis/nodejs-service-directory/issues/155)) ([cd103d7](https://www.github.com/googleapis/nodejs-service-directory/commit/cd103d7d7c567e0a4b18890797e43cbde616db5f))
+
+### [3.1.3](https://www.github.com/googleapis/nodejs-service-directory/compare/v3.1.2...v3.1.3) (2021-06-23)
+
+
+### Bug Fixes
+
+* make request optional in all cases ([#153](https://www.github.com/googleapis/nodejs-service-directory/issues/153)) ([3bc4004](https://www.github.com/googleapis/nodejs-service-directory/commit/3bc4004be93fadaf15b84c7aea31eba3450ddd8d))
+
+### [3.1.2](https://www.github.com/googleapis/nodejs-service-directory/compare/v3.1.1...v3.1.2) (2021-05-25)
+
+
+### Bug Fixes
+
+* GoogleAdsError missing using generator version after 1.3.0 ([#144](https://www.github.com/googleapis/nodejs-service-directory/issues/144)) ([631084d](https://www.github.com/googleapis/nodejs-service-directory/commit/631084de940c87b6d53404d6e5299ac11f8a6740))
+
+### [3.1.1](https://www.github.com/googleapis/nodejs-service-directory/compare/v3.1.0...v3.1.1) (2021-05-12)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.12.0 ([#135](https://www.github.com/googleapis/nodejs-service-directory/issues/135)) ([410e92b](https://www.github.com/googleapis/nodejs-service-directory/commit/410e92b844ac0012409df4f37582c9896a4af02f))
+* use require() to load JSON protos ([#138](https://www.github.com/googleapis/nodejs-service-directory/issues/138)) ([2bda8f7](https://www.github.com/googleapis/nodejs-service-directory/commit/2bda8f786599bbac10f6a5e833338ff83dd6806e))
+
+## [3.1.0](https://www.github.com/googleapis/nodejs-service-directory/compare/v3.0.0...v3.1.0) (2021-01-09)
+
+
+### Features
+
+* adds style enumeration ([#105](https://www.github.com/googleapis/nodejs-service-directory/issues/105)) ([0807e17](https://www.github.com/googleapis/nodejs-service-directory/commit/0807e17411d6608d0cbad33a417bed25c883bcb4))
+
+
+### Bug Fixes
+
+* **deps:** update dependency json-schema to ^0.3.0 ([#102](https://www.github.com/googleapis/nodejs-service-directory/issues/102)) ([e7cb54b](https://www.github.com/googleapis/nodejs-service-directory/commit/e7cb54bac1f0101f47b10d9244487ae91ca4239d))
+
+## [3.0.0](https://www.github.com/googleapis/nodejs-service-directory/compare/v2.1.2...v3.0.0) (2020-11-19)
+
+
+### ⚠ BREAKING CHANGES
+
+* make v1 API default (#96)
+
+### Features
+
+* make v1 API default ([#96](https://www.github.com/googleapis/nodejs-service-directory/issues/96)) ([b269328](https://www.github.com/googleapis/nodejs-service-directory/commit/b269328de96363d3a2fb1e0c57d6658c3b9ada73)), closes [#4](https://www.github.com/googleapis/nodejs-service-directory/issues/4)
+
+
+### Bug Fixes
+
+* only fallback if fetch exists on window ([59233c1](https://www.github.com/googleapis/nodejs-service-directory/commit/59233c1499218aa107ab0688cf0d004a67c47c96))
+
+### [2.1.2](https://www.github.com/googleapis/nodejs-service-directory/compare/v2.1.1...v2.1.2) (2020-11-06)
+
+
+### Bug Fixes
+
+* do not modify options object, use defaultScopes ([#88](https://www.github.com/googleapis/nodejs-service-directory/issues/88)) ([17f1b3d](https://www.github.com/googleapis/nodejs-service-directory/commit/17f1b3d0bd010f895b09569e77333474048a8d66))
+
+### [2.1.1](https://www.github.com/googleapis/nodejs-service-directory/compare/v2.1.0...v2.1.1) (2020-07-06)
+
+
+### Bug Fixes
+
+* update node issue template ([#53](https://www.github.com/googleapis/nodejs-service-directory/issues/53)) ([ebe5c3a](https://www.github.com/googleapis/nodejs-service-directory/commit/ebe5c3a3d49c44b380cf63bab8fa0aab67a84d98))
+
+## [2.1.0](https://www.github.com/googleapis/nodejs-service-directory/compare/v2.0.0...v2.1.0) (2020-06-12)
+
+
+### Features
+
+* **secrets:** begin migration to secret manager from keystore ([#49](https://www.github.com/googleapis/nodejs-service-directory/issues/49)) ([bf9dc4e](https://www.github.com/googleapis/nodejs-service-directory/commit/bf9dc4ed47c1ba57b91d18859abdad8640bbe240))
+
+
+### Bug Fixes
+
+* handle fallback option properly ([#52](https://www.github.com/googleapis/nodejs-service-directory/issues/52)) ([11478aa](https://www.github.com/googleapis/nodejs-service-directory/commit/11478aaaaba0b10a715e37a54fabd4adca436aa8))
+
+## [2.0.0](https://www.github.com/googleapis/nodejs-service-directory/compare/v1.0.1...v2.0.0) (2020-05-27)
+
+
+### ⚠ BREAKING CHANGES
+
+* The library now supports Node.js v10+. The last version to support Node.js v8 is tagged legacy-8 on NPM.
+
+### Features
+
+* drop node8 support, support for async iterators ([#22](https://www.github.com/googleapis/nodejs-service-directory/issues/22)) ([ee3a803](https://www.github.com/googleapis/nodejs-service-directory/commit/ee3a8034adae034ad811c81874bf6ed639d33536))
+* **samples:** add Service directory samples ([#42](https://www.github.com/googleapis/nodejs-service-directory/issues/42)) ([a29a180](https://www.github.com/googleapis/nodejs-service-directory/commit/a29a180985f2d69a3f92814affbe8459c5e084d3))
+
+
+### Bug Fixes
+
+* regenerated unit tests ([#40](https://www.github.com/googleapis/nodejs-service-directory/issues/40)) ([7fb86a9](https://www.github.com/googleapis/nodejs-service-directory/commit/7fb86a9ffd810ef4e8ccc2c862bfc0f760e9dba4))
+* remove eslint, update gax, fix generated protos, run the generator ([#26](https://www.github.com/googleapis/nodejs-service-directory/issues/26)) ([30e89c3](https://www.github.com/googleapis/nodejs-service-directory/commit/30e89c31462195b33aad1727cedc272c6c42dbfd))
+
+### [1.0.1](https://www.github.com/googleapis/nodejs-service-directory/compare/v1.0.0...v1.0.1) (2020-03-17)
+
+
+### Bug Fixes
+
+* **docs:** fixed link in .repo-metadata.json ([#8](https://www.github.com/googleapis/nodejs-service-directory/issues/8)) ([2403cad](https://www.github.com/googleapis/nodejs-service-directory/commit/2403cadc97efb9802d621b002ab4985124cef433))
+
+## 1.0.0 (2020-03-13)
+
+
+### ⚠ BREAKING CHANGES
+
+* initial generation of library (#1)
+
+### Features
+
+* initial generation of library ([#1](https://www.github.com/googleapis/nodejs-service-directory/issues/1)) ([afad0b1](https://www.github.com/googleapis/nodejs-service-directory/commit/afad0b1eab03831f63271e0ad296fe10217689bb))
diff --git a/packages/google-cloud-servicedirectory/CODE_OF_CONDUCT.md b/packages/google-cloud-servicedirectory/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/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-servicedirectory/CONTRIBUTING.md b/packages/google-cloud-servicedirectory/CONTRIBUTING.md
new file mode 100644
index 00000000000..803a971c411
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/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 Service Directory 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=servicedirectory.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-cloud-servicedirectory/LICENSE b/packages/google-cloud-servicedirectory/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/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-servicedirectory/README.md b/packages/google-cloud-servicedirectory/README.md
new file mode 100644
index 00000000000..851ed54e955
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/README.md
@@ -0,0 +1,181 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Service Directory: Node.js Client](https://github.com/googleapis/nodejs-service-directory)
+
+[](https://cloud.google.com/terms/launch-stages)
+[](https://www.npmjs.org/package/@google-cloud/service-directory)
+
+
+
+
+Servicedirectory client for Node.js
+
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/googleapis/nodejs-service-directory/blob/main/CHANGELOG.md).
+
+* [Service Directory Node.js Client API Reference][client-docs]
+
+* [github.com/googleapis/nodejs-service-directory](https://github.com/googleapis/nodejs-service-directory)
+
+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 Service Directory 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/service-directory
+```
+
+
+### Using the client library
+
+```javascript
+//
+// TODO(developer): Uncomment these variables before running the sample.
+//
+// const projectId = 'my-project';
+// const locationId = 'us-central1';
+
+// Imports the Google Cloud client library
+const {
+ RegistrationServiceClient,
+} = require('@google-cloud/service-directory');
+
+// Creates a client
+const registrationServiceClient = new RegistrationServiceClient();
+
+// Build the location name
+const locationName = registrationServiceClient.locationPath(
+ projectId,
+ locationId
+);
+
+async function listNamespaces() {
+ const [namespaces] = await registrationServiceClient.listNamespaces({
+ parent: locationName,
+ });
+
+ console.log('Namespaces: ');
+ for (const n of namespaces) {
+ console.log(`${n.name}`);
+ }
+ return namespaces;
+}
+
+return listNamespaces();
+
+```
+
+
+
+## Samples
+
+Samples are in the [`samples/`](https://github.com/googleapis/nodejs-service-directory/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code | Try it |
+| --------------------------- | --------------------------------- | ------ |
+| Create Endpoint | [source code](https://github.com/googleapis/nodejs-service-directory/blob/main/samples/createEndpoint.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-service-directory&page=editor&open_in_editor=samples/createEndpoint.js,samples/README.md) |
+| Create Namespace | [source code](https://github.com/googleapis/nodejs-service-directory/blob/main/samples/createNamespace.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-service-directory&page=editor&open_in_editor=samples/createNamespace.js,samples/README.md) |
+| Create Service | [source code](https://github.com/googleapis/nodejs-service-directory/blob/main/samples/createService.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-service-directory&page=editor&open_in_editor=samples/createService.js,samples/README.md) |
+| Delete Endpoint | [source code](https://github.com/googleapis/nodejs-service-directory/blob/main/samples/deleteEndpoint.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-service-directory&page=editor&open_in_editor=samples/deleteEndpoint.js,samples/README.md) |
+| Delete Namespace | [source code](https://github.com/googleapis/nodejs-service-directory/blob/main/samples/deleteNamespace.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-service-directory&page=editor&open_in_editor=samples/deleteNamespace.js,samples/README.md) |
+| Delete Service | [source code](https://github.com/googleapis/nodejs-service-directory/blob/main/samples/deleteService.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-service-directory&page=editor&open_in_editor=samples/deleteService.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/nodejs-service-directory/blob/main/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-service-directory&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) |
+| Resolve Service | [source code](https://github.com/googleapis/nodejs-service-directory/blob/main/samples/resolveService.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-service-directory&page=editor&open_in_editor=samples/resolveService.js,samples/README.md) |
+
+
+
+The [Service Directory 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/service-directory@legacy-8` installs client libraries
+for versions compatible with Node.js 8.
+
+## Versioning
+
+This library follows [Semantic Versioning](http://semver.org/).
+
+
+
+This library is considered to be **stable**. The code surface will not change in backwards-incompatible ways
+unless absolutely necessary (e.g. because of critical security issues) or with
+an extensive deprecation period. Issues and requests against **stable** libraries
+are addressed with the highest priority.
+
+
+
+
+
+
+More Information: [Google Cloud Platform Launch Stages][launch_stages]
+
+[launch_stages]: https://cloud.google.com/terms/launch-stages
+
+## Contributing
+
+Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-service-directory/blob/main/CONTRIBUTING.md).
+
+Please note that this `README.md`, the `samples/README.md`,
+and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
+are generated from a central template. To edit one of these files, make an edit
+to its templates in
+[directory](https://github.com/googleapis/synthtool).
+
+## License
+
+Apache Version 2.0
+
+See [LICENSE](https://github.com/googleapis/nodejs-service-directory/blob/main/LICENSE)
+
+[client-docs]: https://cloud.google.com/nodejs/docs/reference/service-directory/latest
+
+[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=servicedirectory.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-cloud-servicedirectory/linkinator.config.json b/packages/google-cloud-servicedirectory/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/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-servicedirectory/package.json b/packages/google-cloud-servicedirectory/package.json
new file mode 100644
index 00000000000..b7f30803d0b
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/package.json
@@ -0,0 +1,53 @@
+{
+ "name": "@google-cloud/service-directory",
+ "version": "4.0.4",
+ "description": "Servicedirectory client for Node.js",
+ "repository": "googleapis/nodejs-service-directory",
+ "license": "Apache-2.0",
+ "author": "Google LLC",
+ "files": [
+ "build/src",
+ "build/protos"
+ ],
+ "main": "build/src/index.js",
+ "scripts": {
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "docs": "jsdoc -c .jsdoc.js",
+ "docs-test": "linkinator docs",
+ "fix": "gts fix",
+ "prelint": "cd samples; npm link ../; npm install",
+ "lint": "gts check",
+ "predocs-test": "npm run docs",
+ "prepare": "npm run compile-protos && npm run compile",
+ "system-test": "c8 mocha build/system-test",
+ "samples-test": "cd samples/ && npm link ../ && npm test && cd ../",
+ "test": "c8 mocha build/test",
+ "precompile": "gts clean"
+ },
+ "dependencies": {
+ "google-gax": "^3.5.2",
+ "json-schema": "^0.4.0"
+ },
+ "devDependencies": {
+ "@types/mocha": "^9.0.0",
+ "@types/node": "^18.0.0",
+ "@types/sinon": "^10.0.0",
+ "c8": "^7.1.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"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+}
diff --git a/packages/google-cloud-servicedirectory/protos/google/cloud/common_resources.proto b/packages/google-cloud-servicedirectory/protos/google/cloud/common_resources.proto
new file mode 100644
index 00000000000..56c9f800d5e
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/protos/google/cloud/common_resources.proto
@@ -0,0 +1,52 @@
+// Copyright 2019 Google LLC.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// This file contains stub messages for common resources in GCP.
+// It is not intended to be directly generated, and is instead used by
+// other tooling to be able to match common resource patterns.
+syntax = "proto3";
+
+package google.cloud;
+
+import "google/api/resource.proto";
+
+
+option (google.api.resource_definition) = {
+ type: "cloudresourcemanager.googleapis.com/Project"
+ pattern: "projects/{project}"
+};
+
+
+option (google.api.resource_definition) = {
+ type: "cloudresourcemanager.googleapis.com/Organization"
+ pattern: "organizations/{organization}"
+};
+
+
+option (google.api.resource_definition) = {
+ type: "cloudresourcemanager.googleapis.com/Folder"
+ pattern: "folders/{folder}"
+};
+
+
+option (google.api.resource_definition) = {
+ type: "cloudbilling.googleapis.com/BillingAccount"
+ pattern: "billingAccounts/{billing_account}"
+};
+
+option (google.api.resource_definition) = {
+ type: "locations.googleapis.com/Location"
+ pattern: "projects/{project}/locations/{location}"
+};
+
diff --git a/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1/endpoint.proto b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1/endpoint.proto
new file mode 100644
index 00000000000..5748f304db2
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1/endpoint.proto
@@ -0,0 +1,74 @@
+// 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.servicedirectory.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.ServiceDirectory.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/servicedirectory/v1;servicedirectory";
+option java_multiple_files = true;
+option java_outer_classname = "EndpointProto";
+option java_package = "com.google.cloud.servicedirectory.v1";
+option php_namespace = "Google\\Cloud\\ServiceDirectory\\V1";
+option ruby_package = "Google::Cloud::ServiceDirectory::V1";
+
+// An individual endpoint that provides a
+// [service][google.cloud.servicedirectory.v1.Service]. The service must
+// already exist to create an endpoint.
+message Endpoint {
+ option (google.api.resource) = {
+ type: "servicedirectory.googleapis.com/Endpoint"
+ pattern: "projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}/endpoints/{endpoint}"
+ };
+
+ // Immutable. The resource name for the endpoint in the format
+ // `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+ // Optional. An IPv4 or IPv6 address. Service Directory will reject bad
+ // addresses like:
+ // "8.8.8"
+ // "8.8.8.8:53"
+ // "test:bad:address"
+ // "[::1]"
+ // "[::1]:8080"
+ // Limited to 45 characters.
+ string address = 2 [(google.api.field_behavior) = OPTIONAL];
+ // Optional. Service Directory will reject values outside of [0, 65535].
+ int32 port = 3 [(google.api.field_behavior) = OPTIONAL];
+ // Optional. Annotations for the endpoint. This data can be consumed by
+ // service clients. Restrictions:
+ // - The entire annotations dictionary may contain up to 512 characters,
+ // spread accoss all key-value pairs. Annotations that goes beyond any
+ // these limits will be rejected.
+ // - Valid annotation keys have two segments: an optional prefix and name,
+ // separated by a slash (/). The name segment is required and must be 63
+ // characters or less, beginning and ending with an alphanumeric character
+ // ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+ // alphanumerics between. The prefix is optional. If specified, the prefix
+ // must be a DNS subdomain: a series of DNS labels separated by dots (.),
+ // not longer than 253 characters in total, followed by a slash (/).
+ // Annotations that fails to meet these requirements will be rejected.
+ // - The '(*.)google.com/' and '(*.)googleapis.com/' prefixes are reserved
+ // for system annotations managed by Service Directory. If the user tries
+ // to write to these keyspaces, those entries will be silently ignored by
+ // the system.
+ // Note: This field is equivalent to the 'metadata' field in the v1beta1 API.
+ // They have the same syntax and read/write to the same location in Service
+ // Directory.
+ map annotations = 5 [(google.api.field_behavior) = OPTIONAL];
+}
diff --git a/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1/lookup_service.proto b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1/lookup_service.proto
new file mode 100644
index 00000000000..c51582b310f
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1/lookup_service.proto
@@ -0,0 +1,93 @@
+// 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.servicedirectory.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/servicedirectory/v1/service.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.ServiceDirectory.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/servicedirectory/v1;servicedirectory";
+option java_multiple_files = true;
+option java_outer_classname = "LookupServiceProto";
+option java_package = "com.google.cloud.servicedirectory.v1";
+option php_namespace = "Google\\Cloud\\ServiceDirectory\\V1";
+option ruby_package = "Google::Cloud::ServiceDirectory::V1";
+
+// Service Directory API for looking up service data at runtime.
+service LookupService {
+ option (google.api.default_host) = "servicedirectory.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Returns a [service][google.cloud.servicedirectory.v1.Service] and its
+ // associated endpoints.
+ // Resolving a service is not considered an active developer method.
+ rpc ResolveService(ResolveServiceRequest) returns (ResolveServiceResponse) {
+ option (google.api.http) = {
+ post: "/v1/{name=projects/*/locations/*/namespaces/*/services/*}:resolve"
+ body: "*"
+ };
+ }
+}
+
+// The request message for
+// [LookupService.ResolveService][google.cloud.servicedirectory.v1.LookupService.ResolveService].
+// Looks up a service by its name, returns the service and its endpoints.
+message ResolveServiceRequest {
+ // Required. The name of the service to resolve.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Service"
+ }
+ ];
+
+ // Optional. The maximum number of endpoints to return. Defaults to 25.
+ // Maximum is 100. If a value less than one is specified, the Default is used.
+ // If a value greater than the Maximum is specified, the Maximum is used.
+ int32 max_endpoints = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The filter applied to the endpoints of the resolved service.
+ //
+ // General filter string syntax:
+ // ()
+ // can be "name" or "metadata." for map field.
+ // can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS and is
+ // roughly the same as "=".
+ // must be the same data type as the field.
+ // can be "AND, OR, NOT".
+ //
+ // Examples of valid filters:
+ // * "metadata.owner" returns Endpoints that have a label with the
+ // key "owner", this is the same as "metadata:owner"
+ // * "metadata.protocol=gRPC" returns Endpoints that have key/value
+ // "protocol=gRPC"
+ // * "metadata.owner!=sd AND metadata.foo=bar" returns
+ // Endpoints that have "owner" field in metadata with a value that is not
+ // "sd" AND have the key/value foo=bar.
+ string endpoint_filter = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response message for
+// [LookupService.ResolveService][google.cloud.servicedirectory.v1.LookupService.ResolveService].
+message ResolveServiceResponse {
+ Service service = 1;
+}
diff --git a/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1/namespace.proto b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1/namespace.proto
new file mode 100644
index 00000000000..e4a3c1ea74d
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1/namespace.proto
@@ -0,0 +1,48 @@
+// 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.servicedirectory.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.ServiceDirectory.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/servicedirectory/v1;servicedirectory";
+option java_multiple_files = true;
+option java_outer_classname = "NamespaceProto";
+option java_package = "com.google.cloud.servicedirectory.v1";
+option php_namespace = "Google\\Cloud\\ServiceDirectory\\V1";
+option ruby_package = "Google::Cloud::ServiceDirectory::V1";
+
+// A container for [services][google.cloud.servicedirectory.v1.Service].
+// Namespaces allow administrators to group services together and define
+// permissions for a collection of services.
+message Namespace {
+ option (google.api.resource) = {
+ type: "servicedirectory.googleapis.com/Namespace"
+ pattern: "projects/{project}/locations/{location}/namespaces/{namespace}"
+ };
+
+ // Immutable. The resource name for the namespace in the format
+ // `projects/*/locations/*/namespaces/*`.
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Optional. Resource labels associated with this Namespace.
+ // No more than 64 user labels can be associated with a given resource. Label
+ // keys and values can be no longer than 63 characters.
+ map labels = 2 [(google.api.field_behavior) = OPTIONAL];
+}
diff --git a/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1/registration_service.proto b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1/registration_service.proto
new file mode 100644
index 00000000000..8c0a61a70fc
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1/registration_service.proto
@@ -0,0 +1,595 @@
+// 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.servicedirectory.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/servicedirectory/v1/endpoint.proto";
+import "google/cloud/servicedirectory/v1/namespace.proto";
+import "google/cloud/servicedirectory/v1/service.proto";
+import "google/iam/v1/iam_policy.proto";
+import "google/iam/v1/policy.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.ServiceDirectory.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/servicedirectory/v1;servicedirectory";
+option java_multiple_files = true;
+option java_outer_classname = "RegistrationServiceProto";
+option java_package = "com.google.cloud.servicedirectory.v1";
+option php_namespace = "Google\\Cloud\\ServiceDirectory\\V1";
+option ruby_package = "Google::Cloud::ServiceDirectory::V1";
+
+// Service Directory API for registering services. It defines the following
+// resource model:
+//
+// - The API has a collection of
+// [Namespace][google.cloud.servicedirectory.v1.Namespace]
+// resources, named `projects/*/locations/*/namespaces/*`.
+//
+// - Each Namespace has a collection of
+// [Service][google.cloud.servicedirectory.v1.Service] resources, named
+// `projects/*/locations/*/namespaces/*/services/*`.
+//
+// - Each Service has a collection of
+// [Endpoint][google.cloud.servicedirectory.v1.Endpoint]
+// resources, named
+// `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+service RegistrationService {
+ option (google.api.default_host) = "servicedirectory.googleapis.com";
+ option (google.api.oauth_scopes) =
+ "https://www.googleapis.com/auth/cloud-platform";
+
+ // Creates a namespace, and returns the new Namespace.
+ rpc CreateNamespace(CreateNamespaceRequest) returns (Namespace) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/*}/namespaces"
+ body: "namespace"
+ };
+ option (google.api.method_signature) = "parent,namespace,namespace_id";
+ }
+
+ // Lists all namespaces.
+ rpc ListNamespaces(ListNamespacesRequest) returns (ListNamespacesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*}/namespaces"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets a namespace.
+ rpc GetNamespace(GetNamespaceRequest) returns (Namespace) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/namespaces/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates a namespace.
+ rpc UpdateNamespace(UpdateNamespaceRequest) returns (Namespace) {
+ option (google.api.http) = {
+ patch: "/v1/{namespace.name=projects/*/locations/*/namespaces/*}"
+ body: "namespace"
+ };
+ option (google.api.method_signature) = "namespace,update_mask";
+ }
+
+ // Deletes a namespace. This also deletes all services and endpoints in
+ // the namespace.
+ rpc DeleteNamespace(DeleteNamespaceRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/locations/*/namespaces/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a service, and returns the new Service.
+ rpc CreateService(CreateServiceRequest) returns (Service) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/*/namespaces/*}/services"
+ body: "service"
+ };
+ option (google.api.method_signature) = "parent,service,service_id";
+ }
+
+ // Lists all services belonging to a namespace.
+ rpc ListServices(ListServicesRequest) returns (ListServicesResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*/namespaces/*}/services"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets a service.
+ rpc GetService(GetServiceRequest) returns (Service) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/namespaces/*/services/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates a service.
+ rpc UpdateService(UpdateServiceRequest) returns (Service) {
+ option (google.api.http) = {
+ patch: "/v1/{service.name=projects/*/locations/*/namespaces/*/services/*}"
+ body: "service"
+ };
+ option (google.api.method_signature) = "service,update_mask";
+ }
+
+ // Deletes a service. This also deletes all endpoints associated with
+ // the service.
+ rpc DeleteService(DeleteServiceRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/locations/*/namespaces/*/services/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a endpoint, and returns the new Endpoint.
+ rpc CreateEndpoint(CreateEndpointRequest) returns (Endpoint) {
+ option (google.api.http) = {
+ post: "/v1/{parent=projects/*/locations/*/namespaces/*/services/*}/endpoints"
+ body: "endpoint"
+ };
+ option (google.api.method_signature) = "parent,endpoint,endpoint_id";
+ }
+
+ // Lists all endpoints.
+ rpc ListEndpoints(ListEndpointsRequest) returns (ListEndpointsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=projects/*/locations/*/namespaces/*/services/*}/endpoints"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets a endpoint.
+ rpc GetEndpoint(GetEndpointRequest) returns (Endpoint) {
+ option (google.api.http) = {
+ get: "/v1/{name=projects/*/locations/*/namespaces/*/services/*/endpoints/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates a endpoint.
+ rpc UpdateEndpoint(UpdateEndpointRequest) returns (Endpoint) {
+ option (google.api.http) = {
+ patch: "/v1/{endpoint.name=projects/*/locations/*/namespaces/*/services/*/endpoints/*}"
+ body: "endpoint"
+ };
+ option (google.api.method_signature) = "endpoint,update_mask";
+ }
+
+ // Deletes a endpoint.
+ rpc DeleteEndpoint(DeleteEndpointRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{name=projects/*/locations/*/namespaces/*/services/*/endpoints/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets the IAM Policy for a resource (namespace or service only).
+ rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest)
+ returns (google.iam.v1.Policy) {
+ option (google.api.http) = {
+ post: "/v1/{resource=projects/*/locations/*/namespaces/*}:getIamPolicy"
+ body: "*"
+ additional_bindings {
+ post: "/v1/{resource=projects/*/locations/*/namespaces/*/services/*}:getIamPolicy"
+ body: "*"
+ }
+ };
+ }
+
+ // Sets the IAM Policy for a resource (namespace or service only).
+ rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest)
+ returns (google.iam.v1.Policy) {
+ option (google.api.http) = {
+ post: "/v1/{resource=projects/*/locations/*/namespaces/*}:setIamPolicy"
+ body: "*"
+ additional_bindings {
+ post: "/v1/{resource=projects/*/locations/*/namespaces/*/services/*}:setIamPolicy"
+ body: "*"
+ }
+ };
+ }
+
+ // Tests IAM permissions for a resource (namespace or service only).
+ rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest)
+ returns (google.iam.v1.TestIamPermissionsResponse) {
+ option (google.api.http) = {
+ post: "/v1/{resource=projects/*/locations/*/namespaces/*}:testIamPermissions"
+ body: "*"
+ additional_bindings {
+ post: "/v1/{resource=projects/*/locations/*/namespaces/*/services/*}:testIamPermissions"
+ body: "*"
+ }
+ };
+ }
+}
+
+// The request message for
+// [RegistrationService.CreateNamespace][google.cloud.servicedirectory.v1.RegistrationService.CreateNamespace].
+message CreateNamespaceRequest {
+ // Required. The resource name of the project and location the namespace
+ // will be created in.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Required. The Resource ID must be 1-63 characters long, and comply with
+ // RFC1035.
+ // Specifically, the name must be 1-63 characters long and match the regular
+ // expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first
+ // character must be a lowercase letter, and all following characters must
+ // be a dash, lowercase letter, or digit, except the last character, which
+ // cannot be a dash.
+ string namespace_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A namespace with initial fields set.
+ Namespace namespace = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for
+// [RegistrationService.ListNamespaces][google.cloud.servicedirectory.v1.RegistrationService.ListNamespaces].
+message ListNamespacesRequest {
+ // Required. The resource name of the project and location whose namespaces
+ // we'd like to list.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Optional. The maximum number of items to return.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The next_page_token value returned from a previous List request,
+ // if any.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The filter to list result by.
+ //
+ // General filter string syntax:
+ // ()
+ // can be "name", or "labels." for map field.
+ // can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
+ // is roughly the same as "=".
+ // must be the same data type as field.
+ // can be "AND, OR, NOT".
+ //
+ // Examples of valid filters:
+ // * "labels.owner" returns Namespaces that have a label with the key "owner"
+ // this is the same as "labels:owner".
+ // * "labels.protocol=gRPC" returns Namespaces that have key/value
+ // "protocol=gRPC".
+ // * "name>projects/my-project/locations/us-east/namespaces/namespace-c"
+ // returns Namespaces that have name that is alphabetically later than the
+ // string, so "namespace-e" will be returned but "namespace-a" will not be.
+ // * "labels.owner!=sd AND labels.foo=bar" returns Namespaces that have
+ // "owner" in label key but value is not "sd" AND have key/value foo=bar.
+ // * "doesnotexist.foo=bar" returns an empty list. Note that Namespace doesn't
+ // have a field called "doesnotexist". Since the filter does not match any
+ // Namespaces, it returns no results.
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The order to list result by.
+ //
+ // General order by string syntax:
+ // () (,)
+ // allows values {"name"}
+ // ascending or descending order by . If this is left
+ // blank, "asc" is used.
+ // Note that an empty order_by string result in default order, which is order
+ // by name in ascending order.
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response message for
+// [RegistrationService.ListNamespaces][google.cloud.servicedirectory.v1.RegistrationService.ListNamespaces].
+message ListNamespacesResponse {
+ // The list of namespaces.
+ repeated Namespace namespaces = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no
+ // more results in the list.
+ string next_page_token = 2;
+}
+
+// The request message for
+// [RegistrationService.GetNamespace][google.cloud.servicedirectory.v1.RegistrationService.GetNamespace].
+message GetNamespaceRequest {
+ // Required. The name of the namespace to retrieve.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Namespace"
+ }
+ ];
+}
+
+// The request message for
+// [RegistrationService.UpdateNamespace][google.cloud.servicedirectory.v1.RegistrationService.UpdateNamespace].
+message UpdateNamespaceRequest {
+ // Required. The updated namespace.
+ Namespace namespace = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. List of fields to be updated in this request.
+ google.protobuf.FieldMask update_mask = 2
+ [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for
+// [RegistrationService.DeleteNamespace][google.cloud.servicedirectory.v1.RegistrationService.DeleteNamespace].
+message DeleteNamespaceRequest {
+ // Required. The name of the namespace to delete.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Namespace"
+ }
+ ];
+}
+
+// The request message for
+// [RegistrationService.CreateService][google.cloud.servicedirectory.v1.RegistrationService.CreateService].
+message CreateServiceRequest {
+ // Required. The resource name of the namespace this service will belong to.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Namespace"
+ }
+ ];
+
+ // Required. The Resource ID must be 1-63 characters long, and comply with
+ // RFC1035.
+ // Specifically, the name must be 1-63 characters long and match the regular
+ // expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first
+ // character must be a lowercase letter, and all following characters must
+ // be a dash, lowercase letter, or digit, except the last character, which
+ // cannot be a dash.
+ string service_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A service with initial fields set.
+ Service service = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for
+// [RegistrationService.ListServices][google.cloud.servicedirectory.v1.RegistrationService.ListServices].
+message ListServicesRequest {
+ // Required. The resource name of the namespace whose services we'd
+ // like to list.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Namespace"
+ }
+ ];
+
+ // Optional. The maximum number of items to return.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The next_page_token value returned from a previous List request,
+ // if any.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The filter to list result by.
+ //
+ // General filter string syntax:
+ // ()
+ // can be "name", or "metadata." for map field.
+ // can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
+ // is roughly the same as "=".
+ // must be the same data type as field.
+ // can be "AND, OR, NOT".
+ //
+ // Examples of valid filters:
+ // * "metadata.owner" returns Services that have a label with the key "owner"
+ // this is the same as "metadata:owner".
+ // * "metadata.protocol=gRPC" returns Services that have key/value
+ // "protocol=gRPC".
+ // * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/service-c"
+ // returns Services that have name that is alphabetically later than the
+ // string, so "service-e" will be returned but "service-a" will not be.
+ // * "metadata.owner!=sd AND metadata.foo=bar" returns Services that have
+ // "owner" in label key but value is not "sd" AND have key/value foo=bar.
+ // * "doesnotexist.foo=bar" returns an empty list. Note that Service doesn't
+ // have a field called "doesnotexist". Since the filter does not match any
+ // Services, it returns no results.
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The order to list result by.
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response message for
+// [RegistrationService.ListServices][google.cloud.servicedirectory.v1.RegistrationService.ListServices].
+message ListServicesResponse {
+ // The list of services.
+ repeated Service services = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no
+ // more results in the list.
+ string next_page_token = 2;
+}
+
+// The request message for
+// [RegistrationService.GetService][google.cloud.servicedirectory.v1.RegistrationService.GetService].
+// This should not be used for looking up a service. Insead, use the `resolve`
+// method as it will contain all endpoints and associated metadata.
+message GetServiceRequest {
+ // Required. The name of the service to get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Service"
+ }
+ ];
+}
+
+// The request message for
+// [RegistrationService.UpdateService][google.cloud.servicedirectory.v1.RegistrationService.UpdateService].
+message UpdateServiceRequest {
+ // Required. The updated service.
+ Service service = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. List of fields to be updated in this request.
+ google.protobuf.FieldMask update_mask = 2
+ [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for
+// [RegistrationService.DeleteService][google.cloud.servicedirectory.v1.RegistrationService.DeleteService].
+message DeleteServiceRequest {
+ // Required. The name of the service to delete.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Service"
+ }
+ ];
+}
+
+// The request message for
+// [RegistrationService.CreateEndpoint][google.cloud.servicedirectory.v1.RegistrationService.CreateEndpoint].
+message CreateEndpointRequest {
+ // Required. The resource name of the service that this endpoint provides.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Service"
+ }
+ ];
+
+ // Required. The Resource ID must be 1-63 characters long, and comply with
+ // RFC1035.
+ // Specifically, the name must be 1-63 characters long and match the regular
+ // expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first
+ // character must be a lowercase letter, and all following characters must
+ // be a dash, lowercase letter, or digit, except the last character, which
+ // cannot be a dash.
+ string endpoint_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A endpoint with initial fields set.
+ Endpoint endpoint = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for
+// [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1.RegistrationService.ListEndpoints].
+message ListEndpointsRequest {
+ // Required. The resource name of the service whose endpoints we'd like to
+ // list.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Service"
+ }
+ ];
+
+ // Optional. The maximum number of items to return.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The next_page_token value returned from a previous List request,
+ // if any.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The filter to list result by.
+ //
+ // General filter string syntax:
+ // ()
+ // can be "name", "address", "port" or "metadata." for map field.
+ // can be "<, >, <=, >=, !=, =, :". Of which ":" means HAS, and
+ // is roughly the same as "=".
+ // must be the same data type as field.
+ // can be "AND, OR, NOT".
+ //
+ // Examples of valid filters:
+ // * "metadata.owner" returns Endpoints that have a label with the key "owner"
+ // this is the same as "metadata:owner".
+ // * "metadata.protocol=gRPC" returns Endpoints that have key/value
+ // "protocol=gRPC".
+ // * "address=192.108.1.105" returns Endpoints that have this address.
+ // * "port>8080" returns Endpoints that have port number larger than 8080.
+ // * "name>projects/my-project/locations/us-east/namespaces/my-namespace/services/my-service/endpoints/endpoint-c"
+ // returns Endpoints that have name that is alphabetically later than the
+ // string, so "endpoint-e" will be returned but "endpoint-a" will not be.
+ // * "metadata.owner!=sd AND metadata.foo=bar" returns Endpoints that have
+ // "owner" in label key but value is not "sd" AND have key/value foo=bar.
+ // * "doesnotexist.foo=bar" returns an empty list. Note that Endpoint doesn't
+ // have a field called "doesnotexist". Since the filter does not match any
+ // Endpoints, it returns no results.
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The order to list result by.
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response message for
+// [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1.RegistrationService.ListEndpoints].
+message ListEndpointsResponse {
+ // The list of endpoints.
+ repeated Endpoint endpoints = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no
+ // more results in the list.
+ string next_page_token = 2;
+}
+
+// The request message for
+// [RegistrationService.GetEndpoint][google.cloud.servicedirectory.v1.RegistrationService.GetEndpoint].
+// This should not be used to lookup endpoints at runtime. Instead, use
+// the `resolve` method.
+message GetEndpointRequest {
+ // Required. The name of the endpoint to get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Endpoint"
+ }
+ ];
+}
+
+// The request message for
+// [RegistrationService.UpdateEndpoint][google.cloud.servicedirectory.v1.RegistrationService.UpdateEndpoint].
+message UpdateEndpointRequest {
+ // Required. The updated endpoint.
+ Endpoint endpoint = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. List of fields to be updated in this request.
+ google.protobuf.FieldMask update_mask = 2
+ [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for
+// [RegistrationService.DeleteEndpoint][google.cloud.servicedirectory.v1.RegistrationService.DeleteEndpoint].
+message DeleteEndpointRequest {
+ // Required. The name of the endpoint to delete.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Endpoint"
+ }
+ ];
+}
diff --git a/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1/service.proto b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1/service.proto
new file mode 100644
index 00000000000..803de1f5da0
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1/service.proto
@@ -0,0 +1,73 @@
+// 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.servicedirectory.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/servicedirectory/v1/endpoint.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.ServiceDirectory.V1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/servicedirectory/v1;servicedirectory";
+option java_multiple_files = true;
+option java_outer_classname = "ServiceProto";
+option java_package = "com.google.cloud.servicedirectory.v1";
+option php_namespace = "Google\\Cloud\\ServiceDirectory\\V1";
+option ruby_package = "Google::Cloud::ServiceDirectory::V1";
+
+// An individual service. A service contains a name and optional metadata.
+// A service must exist before
+// [endpoints][google.cloud.servicedirectory.v1.Endpoint] can be
+// added to it.
+message Service {
+ option (google.api.resource) = {
+ type: "servicedirectory.googleapis.com/Service"
+ pattern: "projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}"
+ };
+
+ // Immutable. The resource name for the service in the format
+ // `projects/*/locations/*/namespaces/*/services/*`.
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Optional. Annotations for the service. This data can be consumed by service
+ // clients.
+ // Restrictions:
+ // - The entire annotations dictionary may contain up to 2000 characters,
+ // spread accoss all key-value pairs. Annotations that goes beyond any
+ // these limits will be rejected.
+ // - Valid annotation keys have two segments: an optional prefix and name,
+ // separated by a slash (/). The name segment is required and must be 63
+ // characters or less, beginning and ending with an alphanumeric character
+ // ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+ // alphanumerics between. The prefix is optional. If specified, the prefix
+ // must be a DNS subdomain: a series of DNS labels separated by dots (.),
+ // not longer than 253 characters in total, followed by a slash (/).
+ // Annotations that fails to meet these requirements will be rejected.
+ // - The '(*.)google.com/' and '(*.)googleapis.com/' prefixes are reserved
+ // for system annotations managed by Service Directory. If the user tries
+ // to write to these keyspaces, those entries will be silently ignored by
+ // the system.
+ // Note: This field is equivalent to the 'metadata' field in the v1beta1 API.
+ // They have the same syntax and read/write to the same location in Service
+ // Directory.
+ map annotations = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Endpoints associated with this service. Returned on
+ // LookupService.Resolve. Control plane clients should use
+ // RegistrationService.ListEndpoints.
+ repeated Endpoint endpoints = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1beta1/endpoint.proto b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1beta1/endpoint.proto
new file mode 100644
index 00000000000..7a3fbb2e643
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1beta1/endpoint.proto
@@ -0,0 +1,108 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.servicedirectory.v1beta1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.ServiceDirectory.V1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/servicedirectory/v1beta1;servicedirectory";
+option java_multiple_files = true;
+option java_outer_classname = "EndpointProto";
+option java_package = "com.google.cloud.servicedirectory.v1beta1";
+option php_namespace = "Google\\Cloud\\ServiceDirectory\\V1beta1";
+option ruby_package = "Google::Cloud::ServiceDirectory::V1beta1";
+option (google.api.resource_definition) = {
+ type: "servicedirectory.googleapis.com/Network"
+ pattern: "projects/{project}/locations/global/networks/{network}"
+};
+
+// An individual endpoint that provides a
+// [service][google.cloud.servicedirectory.v1beta1.Service]. The service must
+// already exist to create an endpoint.
+message Endpoint {
+ option (google.api.resource) = {
+ type: "servicedirectory.googleapis.com/Endpoint"
+ pattern: "projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}/endpoints/{endpoint}"
+ };
+
+ // Immutable. The resource name for the endpoint in the format
+ // `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Optional. An IPv4 or IPv6 address. Service Directory rejects bad addresses like:
+ //
+ // * `8.8.8`
+ // * `8.8.8.8:53`
+ // * `test:bad:address`
+ // * `[::1]`
+ // * `[::1]:8080`
+ //
+ // Limited to 45 characters.
+ string address = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Service Directory rejects values outside of `[0, 65535]`.
+ int32 port = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Metadata for the endpoint. This data can be consumed by service
+ // clients.
+ //
+ // Restrictions:
+ //
+ // * The entire metadata dictionary may contain up to 512 characters,
+ // spread accoss all key-value pairs. Metadata that goes beyond this
+ // limit are rejected
+ // * Valid metadata keys have two segments: an optional prefix and name,
+ // separated by a slash (/). The name segment is required and must be 63
+ // characters or less, beginning and ending with an alphanumeric character
+ // ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+ // alphanumerics between. The prefix is optional. If specified, the prefix
+ // must be a DNS subdomain: a series of DNS labels separated by dots (.),
+ // not longer than 253 characters in total, followed by a slash (/).
+ // Metadata that fails to meet these requirements are rejected
+ // * The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+ // for system metadata managed by Service Directory. If the user tries
+ // to write to these keyspaces, those entries are silently ignored by
+ // the system
+ //
+ // Note: This field is equivalent to the `annotations` field in the v1 API.
+ // They have the same syntax and read/write to the same location in Service
+ // Directory.
+ map metadata = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Immutable. The Google Compute Engine network (VPC) of the endpoint in the format
+ // `projects//locations/global/networks/*`.
+ //
+ // The project must be specified by project number (project id is rejected).
+ // Incorrectly formatted networks are rejected, but no other validation
+ // is performed on this field (ex. network or project existence, reachability,
+ // or permissions).
+ string network = 5 [
+ (google.api.field_behavior) = IMMUTABLE,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Network"
+ }
+ ];
+
+ // Output only. The timestamp when the endpoint was created.
+ google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The timestamp when the endpoint was last updated.
+ google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1beta1/lookup_service.proto b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1beta1/lookup_service.proto
new file mode 100644
index 00000000000..a411ee734dc
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1beta1/lookup_service.proto
@@ -0,0 +1,105 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.servicedirectory.v1beta1;
+
+import "google/api/annotations.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/servicedirectory/v1beta1/service.proto";
+import "google/api/client.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.ServiceDirectory.V1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/servicedirectory/v1beta1;servicedirectory";
+option java_multiple_files = true;
+option java_outer_classname = "LookupServiceProto";
+option java_package = "com.google.cloud.servicedirectory.v1beta1";
+option php_namespace = "Google\\Cloud\\ServiceDirectory\\V1beta1";
+option ruby_package = "Google::Cloud::ServiceDirectory::V1beta1";
+
+// Service Directory API for looking up service data at runtime.
+service LookupService {
+ option (google.api.default_host) = "servicedirectory.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Returns a [service][google.cloud.servicedirectory.v1beta1.Service] and its
+ // associated endpoints.
+ // Resolving a service is not considered an active developer method.
+ rpc ResolveService(ResolveServiceRequest) returns (ResolveServiceResponse) {
+ option (google.api.http) = {
+ post: "/v1beta1/{name=projects/*/locations/*/namespaces/*/services/*}:resolve"
+ body: "*"
+ };
+ }
+}
+
+// The request message for [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService].
+// Looks up a service by its name, returns the service and its endpoints.
+message ResolveServiceRequest {
+ // Required. The name of the service to resolve.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Service"
+ }
+ ];
+
+ // Optional. The maximum number of endpoints to return. Defaults to 25. Maximum is 100.
+ // If a value less than one is specified, the Default is used.
+ // If a value greater than the Maximum is specified, the Maximum is used.
+ int32 max_endpoints = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The filter applied to the endpoints of the resolved service.
+ //
+ // General `filter` string syntax:
+ // ` ()`
+ //
+ // * `` can be `name`, `address`, `port`, or `metadata.` for
+ // map field
+ // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+ // means `HAS`, and is roughly the same as `=`
+ // * `` must be the same data type as field
+ // * `` can be `AND`, `OR`, `NOT`
+ //
+ // Examples of valid filters:
+ //
+ // * `metadata.owner` returns endpoints that have a annotation with the key
+ // `owner`, this is the same as `metadata:owner`
+ // * `metadata.protocol=gRPC` returns endpoints that have key/value
+ // `protocol=gRPC`
+ // * `address=192.108.1.105` returns endpoints that have this address
+ // * `port>8080` returns endpoints that have port number larger than 8080
+ // *
+ // `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+ // returns endpoints that have name that is alphabetically later than the
+ // string, so "endpoint-e" is returned but "endpoint-a" is not
+ // * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+ // `owner` in annotation key but value is not `sd` AND have key/value
+ // `foo=bar`
+ // * `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+ // doesn't have a field called "doesnotexist". Since the filter does not
+ // match any endpoint, it returns no results
+ //
+ // For more information about filtering, see
+ // [API Filtering](https://aip.dev/160).
+ string endpoint_filter = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response message for [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService].
+message ResolveServiceResponse {
+ Service service = 1;
+}
diff --git a/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1beta1/namespace.proto b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1beta1/namespace.proto
new file mode 100644
index 00000000000..4fc1ce80687
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1beta1/namespace.proto
@@ -0,0 +1,55 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// 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.servicedirectory.v1beta1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.ServiceDirectory.V1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/servicedirectory/v1beta1;servicedirectory";
+option java_multiple_files = true;
+option java_outer_classname = "NamespaceProto";
+option java_package = "com.google.cloud.servicedirectory.v1beta1";
+option php_namespace = "Google\\Cloud\\ServiceDirectory\\V1beta1";
+option ruby_package = "Google::Cloud::ServiceDirectory::V1beta1";
+
+// A container for [services][google.cloud.servicedirectory.v1beta1.Service].
+// Namespaces allow administrators to group services together and define
+// permissions for a collection of services.
+message Namespace {
+ option (google.api.resource) = {
+ type: "servicedirectory.googleapis.com/Namespace"
+ pattern: "projects/{project}/locations/{location}/namespaces/{namespace}"
+ };
+
+ // Immutable. The resource name for the namespace in the format
+ // `projects/*/locations/*/namespaces/*`.
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Optional. Resource labels associated with this namespace.
+ // No more than 64 user labels can be associated with a given resource. Label
+ // keys and values can be no longer than 63 characters.
+ map labels = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. The timestamp when the namespace was created.
+ google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The timestamp when the namespace was last updated.
+ google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1beta1/registration_service.proto b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1beta1/registration_service.proto
new file mode 100644
index 00000000000..b5f7e254b58
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1beta1/registration_service.proto
@@ -0,0 +1,607 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.servicedirectory.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/servicedirectory/v1beta1/endpoint.proto";
+import "google/cloud/servicedirectory/v1beta1/namespace.proto";
+import "google/cloud/servicedirectory/v1beta1/service.proto";
+import "google/iam/v1/iam_policy.proto";
+import "google/iam/v1/policy.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.ServiceDirectory.V1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/servicedirectory/v1beta1;servicedirectory";
+option java_multiple_files = true;
+option java_outer_classname = "RegistrationServiceProto";
+option java_package = "com.google.cloud.servicedirectory.v1beta1";
+option php_namespace = "Google\\Cloud\\ServiceDirectory\\V1beta1";
+option ruby_package = "Google::Cloud::ServiceDirectory::V1beta1";
+
+// Service Directory API for registering services. It defines the following
+// resource model:
+//
+// - The API has a collection of
+// [Namespace][google.cloud.servicedirectory.v1beta1.Namespace]
+// resources, named `projects/*/locations/*/namespaces/*`.
+//
+// - Each Namespace has a collection of
+// [Service][google.cloud.servicedirectory.v1beta1.Service] resources, named
+// `projects/*/locations/*/namespaces/*/services/*`.
+//
+// - Each Service has a collection of
+// [Endpoint][google.cloud.servicedirectory.v1beta1.Endpoint]
+// resources, named
+// `projects/*/locations/*/namespaces/*/services/*/endpoints/*`.
+service RegistrationService {
+ option (google.api.default_host) = "servicedirectory.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Creates a namespace, and returns the new namespace.
+ rpc CreateNamespace(CreateNamespaceRequest) returns (Namespace) {
+ option (google.api.http) = {
+ post: "/v1beta1/{parent=projects/*/locations/*}/namespaces"
+ body: "namespace"
+ };
+ option (google.api.method_signature) = "parent,namespace,namespace_id";
+ }
+
+ // Lists all namespaces.
+ rpc ListNamespaces(ListNamespacesRequest) returns (ListNamespacesResponse) {
+ option (google.api.http) = {
+ get: "/v1beta1/{parent=projects/*/locations/*}/namespaces"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets a namespace.
+ rpc GetNamespace(GetNamespaceRequest) returns (Namespace) {
+ option (google.api.http) = {
+ get: "/v1beta1/{name=projects/*/locations/*/namespaces/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates a namespace.
+ rpc UpdateNamespace(UpdateNamespaceRequest) returns (Namespace) {
+ option (google.api.http) = {
+ patch: "/v1beta1/{namespace.name=projects/*/locations/*/namespaces/*}"
+ body: "namespace"
+ };
+ option (google.api.method_signature) = "namespace,update_mask";
+ }
+
+ // Deletes a namespace. This also deletes all services and endpoints in
+ // the namespace.
+ rpc DeleteNamespace(DeleteNamespaceRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1beta1/{name=projects/*/locations/*/namespaces/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a service, and returns the new service.
+ rpc CreateService(CreateServiceRequest) returns (Service) {
+ option (google.api.http) = {
+ post: "/v1beta1/{parent=projects/*/locations/*/namespaces/*}/services"
+ body: "service"
+ };
+ option (google.api.method_signature) = "parent,service,service_id";
+ }
+
+ // Lists all services belonging to a namespace.
+ rpc ListServices(ListServicesRequest) returns (ListServicesResponse) {
+ option (google.api.http) = {
+ get: "/v1beta1/{parent=projects/*/locations/*/namespaces/*}/services"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets a service.
+ rpc GetService(GetServiceRequest) returns (Service) {
+ option (google.api.http) = {
+ get: "/v1beta1/{name=projects/*/locations/*/namespaces/*/services/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates a service.
+ rpc UpdateService(UpdateServiceRequest) returns (Service) {
+ option (google.api.http) = {
+ patch: "/v1beta1/{service.name=projects/*/locations/*/namespaces/*/services/*}"
+ body: "service"
+ };
+ option (google.api.method_signature) = "service,update_mask";
+ }
+
+ // Deletes a service. This also deletes all endpoints associated with
+ // the service.
+ rpc DeleteService(DeleteServiceRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1beta1/{name=projects/*/locations/*/namespaces/*/services/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates an endpoint, and returns the new endpoint.
+ rpc CreateEndpoint(CreateEndpointRequest) returns (Endpoint) {
+ option (google.api.http) = {
+ post: "/v1beta1/{parent=projects/*/locations/*/namespaces/*/services/*}/endpoints"
+ body: "endpoint"
+ };
+ option (google.api.method_signature) = "parent,endpoint,endpoint_id";
+ }
+
+ // Lists all endpoints.
+ rpc ListEndpoints(ListEndpointsRequest) returns (ListEndpointsResponse) {
+ option (google.api.http) = {
+ get: "/v1beta1/{parent=projects/*/locations/*/namespaces/*/services/*}/endpoints"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets an endpoint.
+ rpc GetEndpoint(GetEndpointRequest) returns (Endpoint) {
+ option (google.api.http) = {
+ get: "/v1beta1/{name=projects/*/locations/*/namespaces/*/services/*/endpoints/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Updates an endpoint.
+ rpc UpdateEndpoint(UpdateEndpointRequest) returns (Endpoint) {
+ option (google.api.http) = {
+ patch: "/v1beta1/{endpoint.name=projects/*/locations/*/namespaces/*/services/*/endpoints/*}"
+ body: "endpoint"
+ };
+ option (google.api.method_signature) = "endpoint,update_mask";
+ }
+
+ // Deletes an endpoint.
+ rpc DeleteEndpoint(DeleteEndpointRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1beta1/{name=projects/*/locations/*/namespaces/*/services/*/endpoints/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets the IAM Policy for a resource (namespace or service only).
+ rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest) returns (google.iam.v1.Policy) {
+ option (google.api.http) = {
+ post: "/v1beta1/{resource=projects/*/locations/*/namespaces/*}:getIamPolicy"
+ body: "*"
+ additional_bindings {
+ post: "/v1beta1/{resource=projects/*/locations/*/namespaces/*/services/*}:getIamPolicy"
+ body: "*"
+ }
+ };
+ }
+
+ // Sets the IAM Policy for a resource (namespace or service only).
+ rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest) returns (google.iam.v1.Policy) {
+ option (google.api.http) = {
+ post: "/v1beta1/{resource=projects/*/locations/*/namespaces/*}:setIamPolicy"
+ body: "*"
+ additional_bindings {
+ post: "/v1beta1/{resource=projects/*/locations/*/namespaces/*/services/*}:setIamPolicy"
+ body: "*"
+ }
+ };
+ }
+
+ // Tests IAM permissions for a resource (namespace or service only).
+ rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest) returns (google.iam.v1.TestIamPermissionsResponse) {
+ option (google.api.http) = {
+ post: "/v1beta1/{resource=projects/*/locations/*/namespaces/*}:testIamPermissions"
+ body: "*"
+ additional_bindings {
+ post: "/v1beta1/{resource=projects/*/locations/*/namespaces/*/services/*}:testIamPermissions"
+ body: "*"
+ }
+ };
+ }
+}
+
+// The request message for [RegistrationService.CreateNamespace][google.cloud.servicedirectory.v1beta1.RegistrationService.CreateNamespace].
+message CreateNamespaceRequest {
+ // Required. The resource name of the project and location the namespace
+ // will be created in.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Required. The Resource ID must be 1-63 characters long, and comply with
+ // RFC1035.
+ // Specifically, the name must be 1-63 characters long and match the regular
+ // expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first
+ // character must be a lowercase letter, and all following characters must
+ // be a dash, lowercase letter, or digit, except the last character, which
+ // cannot be a dash.
+ string namespace_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A namespace with initial fields set.
+ Namespace namespace = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for [RegistrationService.ListNamespaces][google.cloud.servicedirectory.v1beta1.RegistrationService.ListNamespaces].
+message ListNamespacesRequest {
+ // Required. The resource name of the project and location whose namespaces you'd like
+ // to list.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "locations.googleapis.com/Location"
+ }
+ ];
+
+ // Optional. The maximum number of items to return.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The next_page_token value returned from a previous List request, if any.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The filter to list results by.
+ //
+ // General `filter` string syntax:
+ // ` ()`
+ //
+ // * `` can be `name` or `labels.` for map field
+ // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+ // means `HAS`, and is roughly the same as `=`
+ // * `` must be the same data type as field
+ // * `` can be `AND`, `OR`, `NOT`
+ //
+ // Examples of valid filters:
+ //
+ // * `labels.owner` returns namespaces that have a label with the key
+ // `owner`, this is the same as `labels:owner`
+ // * `labels.owner=sd` returns namespaces that have key/value `owner=sd`
+ // * `name>projects/my-project/locations/us-east1/namespaces/namespace-c`
+ // returns namespaces that have name that is alphabetically later than the
+ // string, so "namespace-e" is returned but "namespace-a" is not
+ // * `labels.owner!=sd AND labels.foo=bar` returns namespaces that have
+ // `owner` in label key but value is not `sd` AND have key/value `foo=bar`
+ // * `doesnotexist.foo=bar` returns an empty list. Note that namespace
+ // doesn't have a field called "doesnotexist". Since the filter does not
+ // match any namespaces, it returns no results
+ //
+ // For more information about filtering, see
+ // [API Filtering](https://aip.dev/160).
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The order to list results by.
+ //
+ // General `order_by` string syntax: ` () (,)`
+ //
+ // * `` allows value: `name`
+ // * `` ascending or descending order by ``. If this is
+ // left blank, `asc` is used
+ //
+ // Note that an empty `order_by` string results in default order, which is
+ // order by `name` in ascending order.
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response message for [RegistrationService.ListNamespaces][google.cloud.servicedirectory.v1beta1.RegistrationService.ListNamespaces].
+message ListNamespacesResponse {
+ // The list of namespaces.
+ repeated Namespace namespaces = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no
+ // more results in the list.
+ string next_page_token = 2;
+}
+
+// The request message for [RegistrationService.GetNamespace][google.cloud.servicedirectory.v1beta1.RegistrationService.GetNamespace].
+message GetNamespaceRequest {
+ // Required. The name of the namespace to retrieve.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Namespace"
+ }
+ ];
+}
+
+// The request message for [RegistrationService.UpdateNamespace][google.cloud.servicedirectory.v1beta1.RegistrationService.UpdateNamespace].
+message UpdateNamespaceRequest {
+ // Required. The updated namespace.
+ Namespace namespace = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. List of fields to be updated in this request.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for [RegistrationService.DeleteNamespace][google.cloud.servicedirectory.v1beta1.RegistrationService.DeleteNamespace].
+message DeleteNamespaceRequest {
+ // Required. The name of the namespace to delete.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Namespace"
+ }
+ ];
+}
+
+// The request message for [RegistrationService.CreateService][google.cloud.servicedirectory.v1beta1.RegistrationService.CreateService].
+message CreateServiceRequest {
+ // Required. The resource name of the namespace this service will belong to.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Namespace"
+ }
+ ];
+
+ // Required. The Resource ID must be 1-63 characters long, and comply with
+ // RFC1035.
+ // Specifically, the name must be 1-63 characters long and match the regular
+ // expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first
+ // character must be a lowercase letter, and all following characters must
+ // be a dash, lowercase letter, or digit, except the last character, which
+ // cannot be a dash.
+ string service_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A service with initial fields set.
+ Service service = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for [RegistrationService.ListServices][google.cloud.servicedirectory.v1beta1.RegistrationService.ListServices].
+message ListServicesRequest {
+ // Required. The resource name of the namespace whose services you'd
+ // like to list.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Namespace"
+ }
+ ];
+
+ // Optional. The maximum number of items to return.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The next_page_token value returned from a previous List request,
+ // if any.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The filter to list results by.
+ //
+ // General `filter` string syntax:
+ // ` ()`
+ //
+ // * `` can be `name` or `metadata.` for map field
+ // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+ // means `HAS`, and is roughly the same as `=`
+ // * `` must be the same data type as field
+ // * `` can be `AND`, `OR`, `NOT`
+ //
+ // Examples of valid filters:
+ //
+ // * `metadata.owner` returns services that have a metadata with the key
+ // `owner`, this is the same as `metadata:owner`
+ // * `metadata.protocol=gRPC` returns services that have key/value
+ // `protocol=gRPC`
+ // *
+ // `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/service-c`
+ // returns services that have name that is alphabetically later than the
+ // string, so "service-e" is returned but "service-a" is not
+ // * `metadata.owner!=sd AND metadata.foo=bar` returns services that have
+ // `owner` in metadata key but value is not `sd` AND have key/value
+ // `foo=bar`
+ // * `doesnotexist.foo=bar` returns an empty list. Note that service
+ // doesn't have a field called "doesnotexist". Since the filter does not
+ // match any services, it returns no results
+ //
+ // For more information about filtering, see
+ // [API Filtering](https://aip.dev/160).
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The order to list results by.
+ //
+ // General `order_by` string syntax: ` () (,)`
+ //
+ // * `` allows value: `name`
+ // * `` ascending or descending order by ``. If this is
+ // left blank, `asc` is used
+ //
+ // Note that an empty `order_by` string results in default order, which is
+ // order by `name` in ascending order.
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response message for [RegistrationService.ListServices][google.cloud.servicedirectory.v1beta1.RegistrationService.ListServices].
+message ListServicesResponse {
+ // The list of services.
+ repeated Service services = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no
+ // more results in the list.
+ string next_page_token = 2;
+}
+
+// The request message for [RegistrationService.GetService][google.cloud.servicedirectory.v1beta1.RegistrationService.GetService].
+// This should not be used for looking up a service. Insead, use the `resolve`
+// method as it contains all endpoints and associated metadata.
+message GetServiceRequest {
+ // Required. The name of the service to get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Service"
+ }
+ ];
+}
+
+// The request message for [RegistrationService.UpdateService][google.cloud.servicedirectory.v1beta1.RegistrationService.UpdateService].
+message UpdateServiceRequest {
+ // Required. The updated service.
+ Service service = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. List of fields to be updated in this request.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for [RegistrationService.DeleteService][google.cloud.servicedirectory.v1beta1.RegistrationService.DeleteService].
+message DeleteServiceRequest {
+ // Required. The name of the service to delete.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Service"
+ }
+ ];
+}
+
+// The request message for [RegistrationService.CreateEndpoint][google.cloud.servicedirectory.v1beta1.RegistrationService.CreateEndpoint].
+message CreateEndpointRequest {
+ // Required. The resource name of the service that this endpoint provides.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Service"
+ }
+ ];
+
+ // Required. The Resource ID must be 1-63 characters long, and comply with
+ // RFC1035.
+ // Specifically, the name must be 1-63 characters long and match the regular
+ // expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means the first
+ // character must be a lowercase letter, and all following characters must
+ // be a dash, lowercase letter, or digit, except the last character, which
+ // cannot be a dash.
+ string endpoint_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. A endpoint with initial fields set.
+ Endpoint endpoint = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
+message ListEndpointsRequest {
+ // Required. The resource name of the service whose endpoints you'd like to
+ // list.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Service"
+ }
+ ];
+
+ // Optional. The maximum number of items to return.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The next_page_token value returned from a previous List request,
+ // if any.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The filter to list results by.
+ //
+ // General `filter` string syntax:
+ // ` ()`
+ //
+ // * `` can be `name`, `address`, `port`, or `metadata.` for map
+ // field
+ // * `` can be `<`, `>`, `<=`, `>=`, `!=`, `=`, `:`. Of which `:`
+ // means `HAS`, and is roughly the same as `=`
+ // * `` must be the same data type as field
+ // * `` can be `AND`, `OR`, `NOT`
+ //
+ // Examples of valid filters:
+ //
+ // * `metadata.owner` returns endpoints that have a metadata with the key
+ // `owner`, this is the same as `metadata:owner`
+ // * `metadata.protocol=gRPC` returns endpoints that have key/value
+ // `protocol=gRPC`
+ // * `address=192.108.1.105` returns endpoints that have this address
+ // * `port>8080` returns endpoints that have port number larger than 8080
+ // *
+ // `name>projects/my-project/locations/us-east1/namespaces/my-namespace/services/my-service/endpoints/endpoint-c`
+ // returns endpoints that have name that is alphabetically later than the
+ // string, so "endpoint-e" is returned but "endpoint-a" is not
+ // * `metadata.owner!=sd AND metadata.foo=bar` returns endpoints that have
+ // `owner` in metadata key but value is not `sd` AND have key/value
+ // `foo=bar`
+ // * `doesnotexist.foo=bar` returns an empty list. Note that endpoint
+ // doesn't have a field called "doesnotexist". Since the filter does not
+ // match any endpoints, it returns no results
+ //
+ // For more information about filtering, see
+ // [API Filtering](https://aip.dev/160).
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The order to list results by.
+ //
+ // General `order_by` string syntax: ` () (,)`
+ //
+ // * `` allows values: `name`, `address`, `port`
+ // * `` ascending or descending order by ``. If this is
+ // left blank, `asc` is used
+ //
+ // Note that an empty `order_by` string results in default order, which is
+ // order by `name` in ascending order.
+ string order_by = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// The response message for [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
+message ListEndpointsResponse {
+ // The list of endpoints.
+ repeated Endpoint endpoints = 1;
+
+ // Token to retrieve the next page of results, or empty if there are no
+ // more results in the list.
+ string next_page_token = 2;
+}
+
+// The request message for [RegistrationService.GetEndpoint][google.cloud.servicedirectory.v1beta1.RegistrationService.GetEndpoint].
+// This should not be used to lookup endpoints at runtime. Instead, use
+// the `resolve` method.
+message GetEndpointRequest {
+ // Required. The name of the endpoint to get.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Endpoint"
+ }
+ ];
+}
+
+// The request message for [RegistrationService.UpdateEndpoint][google.cloud.servicedirectory.v1beta1.RegistrationService.UpdateEndpoint].
+message UpdateEndpointRequest {
+ // Required. The updated endpoint.
+ Endpoint endpoint = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. List of fields to be updated in this request.
+ google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The request message for [RegistrationService.DeleteEndpoint][google.cloud.servicedirectory.v1beta1.RegistrationService.DeleteEndpoint].
+message DeleteEndpointRequest {
+ // Required. The name of the endpoint to delete.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "servicedirectory.googleapis.com/Endpoint"
+ }
+ ];
+}
diff --git a/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1beta1/service.proto b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1beta1/service.proto
new file mode 100644
index 00000000000..4671bb66346
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/protos/google/cloud/servicedirectory/v1beta1/service.proto
@@ -0,0 +1,85 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.servicedirectory.v1beta1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/servicedirectory/v1beta1/endpoint.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option csharp_namespace = "Google.Cloud.ServiceDirectory.V1Beta1";
+option go_package = "google.golang.org/genproto/googleapis/cloud/servicedirectory/v1beta1;servicedirectory";
+option java_multiple_files = true;
+option java_outer_classname = "ServiceProto";
+option java_package = "com.google.cloud.servicedirectory.v1beta1";
+option php_namespace = "Google\\Cloud\\ServiceDirectory\\V1beta1";
+option ruby_package = "Google::Cloud::ServiceDirectory::V1beta1";
+
+// An individual service. A service contains a name and optional metadata.
+// A service must exist before
+// [endpoints][google.cloud.servicedirectory.v1beta1.Endpoint] can be
+// added to it.
+message Service {
+ option (google.api.resource) = {
+ type: "servicedirectory.googleapis.com/Service"
+ pattern: "projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}"
+ };
+
+ // Immutable. The resource name for the service in the format
+ // `projects/*/locations/*/namespaces/*/services/*`.
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Optional. Metadata for the service. This data can be consumed by service
+ // clients.
+ //
+ // Restrictions:
+ //
+ // * The entire metadata dictionary may contain up to 2000 characters,
+ // spread accoss all key-value pairs. Metadata that goes beyond this
+ // limit are rejected
+ // * Valid metadata keys have two segments: an optional prefix and name,
+ // separated by a slash (/). The name segment is required and must be 63
+ // characters or less, beginning and ending with an alphanumeric character
+ // ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and
+ // alphanumerics between. The prefix is optional. If specified, the prefix
+ // must be a DNS subdomain: a series of DNS labels separated by dots (.),
+ // not longer than 253 characters in total, followed by a slash (/).
+ // Metadata that fails to meet these requirements are rejected
+ // * The `(*.)google.com/` and `(*.)googleapis.com/` prefixes are reserved
+ // for system metadata managed by Service Directory. If the user tries
+ // to write to these keyspaces, those entries are silently ignored by
+ // the system
+ //
+ // Note: This field is equivalent to the `annotations` field in the v1 API.
+ // They have the same syntax and read/write to the same location in Service
+ // Directory.
+ map metadata = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Endpoints associated with this service. Returned on
+ // [LookupService.ResolveService][google.cloud.servicedirectory.v1beta1.LookupService.ResolveService]. Control plane clients should use
+ // [RegistrationService.ListEndpoints][google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpoints].
+ repeated Endpoint endpoints = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The timestamp when the service was created.
+ google.protobuf.Timestamp create_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The timestamp when the service was last updated. Note: endpoints being
+ // created/deleted/updated within the service are not considered service
+ // updates for the purpose of this timestamp.
+ google.protobuf.Timestamp update_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-servicedirectory/protos/protos.d.ts b/packages/google-cloud-servicedirectory/protos/protos.d.ts
new file mode 100644
index 00000000000..b3ba546ccba
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/protos/protos.d.ts
@@ -0,0 +1,11600 @@
+// 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 servicedirectory. */
+ namespace servicedirectory {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Properties of an Endpoint. */
+ interface IEndpoint {
+
+ /** Endpoint name */
+ name?: (string|null);
+
+ /** Endpoint address */
+ address?: (string|null);
+
+ /** Endpoint port */
+ port?: (number|null);
+
+ /** Endpoint annotations */
+ annotations?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents an Endpoint. */
+ class Endpoint implements IEndpoint {
+
+ /**
+ * Constructs a new Endpoint.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IEndpoint);
+
+ /** Endpoint name. */
+ public name: string;
+
+ /** Endpoint address. */
+ public address: string;
+
+ /** Endpoint port. */
+ public port: number;
+
+ /** Endpoint annotations. */
+ public annotations: { [k: string]: string };
+
+ /**
+ * Creates a new Endpoint instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Endpoint instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IEndpoint): google.cloud.servicedirectory.v1.Endpoint;
+
+ /**
+ * Encodes the specified Endpoint message. Does not implicitly {@link google.cloud.servicedirectory.v1.Endpoint.verify|verify} messages.
+ * @param message Endpoint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IEndpoint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Endpoint message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.Endpoint.verify|verify} messages.
+ * @param message Endpoint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IEndpoint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Endpoint message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Endpoint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.Endpoint;
+
+ /**
+ * Decodes an Endpoint message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Endpoint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.Endpoint;
+
+ /**
+ * Verifies an Endpoint message.
+ * @param message Plain 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 Endpoint message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Endpoint
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.Endpoint;
+
+ /**
+ * Creates a plain object from an Endpoint message. Also converts values to other types if specified.
+ * @param message Endpoint
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.Endpoint, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Endpoint to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Endpoint
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a LookupService */
+ class LookupService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new LookupService 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 LookupService 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): LookupService;
+
+ /**
+ * Calls ResolveService.
+ * @param request ResolveServiceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ResolveServiceResponse
+ */
+ public resolveService(request: google.cloud.servicedirectory.v1.IResolveServiceRequest, callback: google.cloud.servicedirectory.v1.LookupService.ResolveServiceCallback): void;
+
+ /**
+ * Calls ResolveService.
+ * @param request ResolveServiceRequest message or plain object
+ * @returns Promise
+ */
+ public resolveService(request: google.cloud.servicedirectory.v1.IResolveServiceRequest): Promise;
+ }
+
+ namespace LookupService {
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.LookupService|resolveService}.
+ * @param error Error, if any
+ * @param [response] ResolveServiceResponse
+ */
+ type ResolveServiceCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1.ResolveServiceResponse) => void;
+ }
+
+ /** Properties of a ResolveServiceRequest. */
+ interface IResolveServiceRequest {
+
+ /** ResolveServiceRequest name */
+ name?: (string|null);
+
+ /** ResolveServiceRequest maxEndpoints */
+ maxEndpoints?: (number|null);
+
+ /** ResolveServiceRequest endpointFilter */
+ endpointFilter?: (string|null);
+ }
+
+ /** Represents a ResolveServiceRequest. */
+ class ResolveServiceRequest implements IResolveServiceRequest {
+
+ /**
+ * Constructs a new ResolveServiceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IResolveServiceRequest);
+
+ /** ResolveServiceRequest name. */
+ public name: string;
+
+ /** ResolveServiceRequest maxEndpoints. */
+ public maxEndpoints: number;
+
+ /** ResolveServiceRequest endpointFilter. */
+ public endpointFilter: string;
+
+ /**
+ * Creates a new ResolveServiceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResolveServiceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IResolveServiceRequest): google.cloud.servicedirectory.v1.ResolveServiceRequest;
+
+ /**
+ * Encodes the specified ResolveServiceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.ResolveServiceRequest.verify|verify} messages.
+ * @param message ResolveServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IResolveServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResolveServiceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ResolveServiceRequest.verify|verify} messages.
+ * @param message ResolveServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IResolveServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResolveServiceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResolveServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.ResolveServiceRequest;
+
+ /**
+ * Decodes a ResolveServiceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResolveServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.ResolveServiceRequest;
+
+ /**
+ * Verifies a ResolveServiceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResolveServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResolveServiceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.ResolveServiceRequest;
+
+ /**
+ * Creates a plain object from a ResolveServiceRequest message. Also converts values to other types if specified.
+ * @param message ResolveServiceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.ResolveServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResolveServiceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResolveServiceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ResolveServiceResponse. */
+ interface IResolveServiceResponse {
+
+ /** ResolveServiceResponse service */
+ service?: (google.cloud.servicedirectory.v1.IService|null);
+ }
+
+ /** Represents a ResolveServiceResponse. */
+ class ResolveServiceResponse implements IResolveServiceResponse {
+
+ /**
+ * Constructs a new ResolveServiceResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IResolveServiceResponse);
+
+ /** ResolveServiceResponse service. */
+ public service?: (google.cloud.servicedirectory.v1.IService|null);
+
+ /**
+ * Creates a new ResolveServiceResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResolveServiceResponse instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IResolveServiceResponse): google.cloud.servicedirectory.v1.ResolveServiceResponse;
+
+ /**
+ * Encodes the specified ResolveServiceResponse message. Does not implicitly {@link google.cloud.servicedirectory.v1.ResolveServiceResponse.verify|verify} messages.
+ * @param message ResolveServiceResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IResolveServiceResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResolveServiceResponse message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ResolveServiceResponse.verify|verify} messages.
+ * @param message ResolveServiceResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IResolveServiceResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResolveServiceResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResolveServiceResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.ResolveServiceResponse;
+
+ /**
+ * Decodes a ResolveServiceResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResolveServiceResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.ResolveServiceResponse;
+
+ /**
+ * Verifies a ResolveServiceResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResolveServiceResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResolveServiceResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.ResolveServiceResponse;
+
+ /**
+ * Creates a plain object from a ResolveServiceResponse message. Also converts values to other types if specified.
+ * @param message ResolveServiceResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.ResolveServiceResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResolveServiceResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResolveServiceResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Service. */
+ interface IService {
+
+ /** Service name */
+ name?: (string|null);
+
+ /** Service annotations */
+ annotations?: ({ [k: string]: string }|null);
+
+ /** Service endpoints */
+ endpoints?: (google.cloud.servicedirectory.v1.IEndpoint[]|null);
+ }
+
+ /** Represents a Service. */
+ class Service implements IService {
+
+ /**
+ * Constructs a new Service.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IService);
+
+ /** Service name. */
+ public name: string;
+
+ /** Service annotations. */
+ public annotations: { [k: string]: string };
+
+ /** Service endpoints. */
+ public endpoints: google.cloud.servicedirectory.v1.IEndpoint[];
+
+ /**
+ * Creates a new Service instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Service instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IService): google.cloud.servicedirectory.v1.Service;
+
+ /**
+ * Encodes the specified Service message. Does not implicitly {@link google.cloud.servicedirectory.v1.Service.verify|verify} messages.
+ * @param message Service message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IService, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Service message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.Service.verify|verify} messages.
+ * @param message Service message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IService, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Service message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Service
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.Service;
+
+ /**
+ * Decodes a Service message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Service
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.Service;
+
+ /**
+ * Verifies a Service message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Service message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Service
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.Service;
+
+ /**
+ * Creates a plain object from a Service message. Also converts values to other types if specified.
+ * @param message Service
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.Service, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Service to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Service
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Namespace. */
+ interface INamespace {
+
+ /** Namespace name */
+ name?: (string|null);
+
+ /** Namespace labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a Namespace. */
+ class Namespace implements INamespace {
+
+ /**
+ * Constructs a new Namespace.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.INamespace);
+
+ /** Namespace name. */
+ public name: string;
+
+ /** Namespace labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new Namespace instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Namespace instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.INamespace): google.cloud.servicedirectory.v1.Namespace;
+
+ /**
+ * Encodes the specified Namespace message. Does not implicitly {@link google.cloud.servicedirectory.v1.Namespace.verify|verify} messages.
+ * @param message Namespace message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.INamespace, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Namespace message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.Namespace.verify|verify} messages.
+ * @param message Namespace message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.INamespace, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Namespace message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Namespace
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.Namespace;
+
+ /**
+ * Decodes a Namespace message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Namespace
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.Namespace;
+
+ /**
+ * Verifies a Namespace message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Namespace message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Namespace
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.Namespace;
+
+ /**
+ * Creates a plain object from a Namespace message. Also converts values to other types if specified.
+ * @param message Namespace
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.Namespace, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Namespace to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Namespace
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a RegistrationService */
+ class RegistrationService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new RegistrationService 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 RegistrationService 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): RegistrationService;
+
+ /**
+ * Calls CreateNamespace.
+ * @param request CreateNamespaceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Namespace
+ */
+ public createNamespace(request: google.cloud.servicedirectory.v1.ICreateNamespaceRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.CreateNamespaceCallback): void;
+
+ /**
+ * Calls CreateNamespace.
+ * @param request CreateNamespaceRequest message or plain object
+ * @returns Promise
+ */
+ public createNamespace(request: google.cloud.servicedirectory.v1.ICreateNamespaceRequest): Promise;
+
+ /**
+ * Calls ListNamespaces.
+ * @param request ListNamespacesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListNamespacesResponse
+ */
+ public listNamespaces(request: google.cloud.servicedirectory.v1.IListNamespacesRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.ListNamespacesCallback): void;
+
+ /**
+ * Calls ListNamespaces.
+ * @param request ListNamespacesRequest message or plain object
+ * @returns Promise
+ */
+ public listNamespaces(request: google.cloud.servicedirectory.v1.IListNamespacesRequest): Promise;
+
+ /**
+ * Calls GetNamespace.
+ * @param request GetNamespaceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Namespace
+ */
+ public getNamespace(request: google.cloud.servicedirectory.v1.IGetNamespaceRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.GetNamespaceCallback): void;
+
+ /**
+ * Calls GetNamespace.
+ * @param request GetNamespaceRequest message or plain object
+ * @returns Promise
+ */
+ public getNamespace(request: google.cloud.servicedirectory.v1.IGetNamespaceRequest): Promise;
+
+ /**
+ * Calls UpdateNamespace.
+ * @param request UpdateNamespaceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Namespace
+ */
+ public updateNamespace(request: google.cloud.servicedirectory.v1.IUpdateNamespaceRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.UpdateNamespaceCallback): void;
+
+ /**
+ * Calls UpdateNamespace.
+ * @param request UpdateNamespaceRequest message or plain object
+ * @returns Promise
+ */
+ public updateNamespace(request: google.cloud.servicedirectory.v1.IUpdateNamespaceRequest): Promise;
+
+ /**
+ * Calls DeleteNamespace.
+ * @param request DeleteNamespaceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteNamespace(request: google.cloud.servicedirectory.v1.IDeleteNamespaceRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.DeleteNamespaceCallback): void;
+
+ /**
+ * Calls DeleteNamespace.
+ * @param request DeleteNamespaceRequest message or plain object
+ * @returns Promise
+ */
+ public deleteNamespace(request: google.cloud.servicedirectory.v1.IDeleteNamespaceRequest): Promise;
+
+ /**
+ * Calls CreateService.
+ * @param request CreateServiceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Service
+ */
+ public createService(request: google.cloud.servicedirectory.v1.ICreateServiceRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.CreateServiceCallback): void;
+
+ /**
+ * Calls CreateService.
+ * @param request CreateServiceRequest message or plain object
+ * @returns Promise
+ */
+ public createService(request: google.cloud.servicedirectory.v1.ICreateServiceRequest): Promise;
+
+ /**
+ * Calls ListServices.
+ * @param request ListServicesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListServicesResponse
+ */
+ public listServices(request: google.cloud.servicedirectory.v1.IListServicesRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.ListServicesCallback): void;
+
+ /**
+ * Calls ListServices.
+ * @param request ListServicesRequest message or plain object
+ * @returns Promise
+ */
+ public listServices(request: google.cloud.servicedirectory.v1.IListServicesRequest): Promise;
+
+ /**
+ * Calls GetService.
+ * @param request GetServiceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Service
+ */
+ public getService(request: google.cloud.servicedirectory.v1.IGetServiceRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.GetServiceCallback): void;
+
+ /**
+ * Calls GetService.
+ * @param request GetServiceRequest message or plain object
+ * @returns Promise
+ */
+ public getService(request: google.cloud.servicedirectory.v1.IGetServiceRequest): Promise;
+
+ /**
+ * Calls UpdateService.
+ * @param request UpdateServiceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Service
+ */
+ public updateService(request: google.cloud.servicedirectory.v1.IUpdateServiceRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.UpdateServiceCallback): void;
+
+ /**
+ * Calls UpdateService.
+ * @param request UpdateServiceRequest message or plain object
+ * @returns Promise
+ */
+ public updateService(request: google.cloud.servicedirectory.v1.IUpdateServiceRequest): Promise;
+
+ /**
+ * Calls DeleteService.
+ * @param request DeleteServiceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteService(request: google.cloud.servicedirectory.v1.IDeleteServiceRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.DeleteServiceCallback): void;
+
+ /**
+ * Calls DeleteService.
+ * @param request DeleteServiceRequest message or plain object
+ * @returns Promise
+ */
+ public deleteService(request: google.cloud.servicedirectory.v1.IDeleteServiceRequest): Promise;
+
+ /**
+ * Calls CreateEndpoint.
+ * @param request CreateEndpointRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Endpoint
+ */
+ public createEndpoint(request: google.cloud.servicedirectory.v1.ICreateEndpointRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.CreateEndpointCallback): void;
+
+ /**
+ * Calls CreateEndpoint.
+ * @param request CreateEndpointRequest message or plain object
+ * @returns Promise
+ */
+ public createEndpoint(request: google.cloud.servicedirectory.v1.ICreateEndpointRequest): Promise;
+
+ /**
+ * Calls ListEndpoints.
+ * @param request ListEndpointsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListEndpointsResponse
+ */
+ public listEndpoints(request: google.cloud.servicedirectory.v1.IListEndpointsRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.ListEndpointsCallback): void;
+
+ /**
+ * Calls ListEndpoints.
+ * @param request ListEndpointsRequest message or plain object
+ * @returns Promise
+ */
+ public listEndpoints(request: google.cloud.servicedirectory.v1.IListEndpointsRequest): Promise;
+
+ /**
+ * Calls GetEndpoint.
+ * @param request GetEndpointRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Endpoint
+ */
+ public getEndpoint(request: google.cloud.servicedirectory.v1.IGetEndpointRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.GetEndpointCallback): void;
+
+ /**
+ * Calls GetEndpoint.
+ * @param request GetEndpointRequest message or plain object
+ * @returns Promise
+ */
+ public getEndpoint(request: google.cloud.servicedirectory.v1.IGetEndpointRequest): Promise;
+
+ /**
+ * Calls UpdateEndpoint.
+ * @param request UpdateEndpointRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Endpoint
+ */
+ public updateEndpoint(request: google.cloud.servicedirectory.v1.IUpdateEndpointRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.UpdateEndpointCallback): void;
+
+ /**
+ * Calls UpdateEndpoint.
+ * @param request UpdateEndpointRequest message or plain object
+ * @returns Promise
+ */
+ public updateEndpoint(request: google.cloud.servicedirectory.v1.IUpdateEndpointRequest): Promise;
+
+ /**
+ * Calls DeleteEndpoint.
+ * @param request DeleteEndpointRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteEndpoint(request: google.cloud.servicedirectory.v1.IDeleteEndpointRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.DeleteEndpointCallback): void;
+
+ /**
+ * Calls DeleteEndpoint.
+ * @param request DeleteEndpointRequest message or plain object
+ * @returns Promise
+ */
+ public deleteEndpoint(request: google.cloud.servicedirectory.v1.IDeleteEndpointRequest): Promise;
+
+ /**
+ * Calls GetIamPolicy.
+ * @param request GetIamPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Policy
+ */
+ public getIamPolicy(request: google.iam.v1.IGetIamPolicyRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.GetIamPolicyCallback): void;
+
+ /**
+ * Calls GetIamPolicy.
+ * @param request GetIamPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public getIamPolicy(request: google.iam.v1.IGetIamPolicyRequest): Promise;
+
+ /**
+ * Calls SetIamPolicy.
+ * @param request SetIamPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Policy
+ */
+ public setIamPolicy(request: google.iam.v1.ISetIamPolicyRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.SetIamPolicyCallback): void;
+
+ /**
+ * Calls SetIamPolicy.
+ * @param request SetIamPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public setIamPolicy(request: google.iam.v1.ISetIamPolicyRequest): Promise;
+
+ /**
+ * Calls TestIamPermissions.
+ * @param request TestIamPermissionsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and TestIamPermissionsResponse
+ */
+ public testIamPermissions(request: google.iam.v1.ITestIamPermissionsRequest, callback: google.cloud.servicedirectory.v1.RegistrationService.TestIamPermissionsCallback): void;
+
+ /**
+ * Calls TestIamPermissions.
+ * @param request TestIamPermissionsRequest message or plain object
+ * @returns Promise
+ */
+ public testIamPermissions(request: google.iam.v1.ITestIamPermissionsRequest): Promise;
+ }
+
+ namespace RegistrationService {
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|createNamespace}.
+ * @param error Error, if any
+ * @param [response] Namespace
+ */
+ type CreateNamespaceCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1.Namespace) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|listNamespaces}.
+ * @param error Error, if any
+ * @param [response] ListNamespacesResponse
+ */
+ type ListNamespacesCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1.ListNamespacesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|getNamespace}.
+ * @param error Error, if any
+ * @param [response] Namespace
+ */
+ type GetNamespaceCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1.Namespace) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|updateNamespace}.
+ * @param error Error, if any
+ * @param [response] Namespace
+ */
+ type UpdateNamespaceCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1.Namespace) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|deleteNamespace}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteNamespaceCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|createService}.
+ * @param error Error, if any
+ * @param [response] Service
+ */
+ type CreateServiceCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1.Service) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|listServices}.
+ * @param error Error, if any
+ * @param [response] ListServicesResponse
+ */
+ type ListServicesCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1.ListServicesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|getService}.
+ * @param error Error, if any
+ * @param [response] Service
+ */
+ type GetServiceCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1.Service) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|updateService}.
+ * @param error Error, if any
+ * @param [response] Service
+ */
+ type UpdateServiceCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1.Service) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|deleteService}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteServiceCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|createEndpoint}.
+ * @param error Error, if any
+ * @param [response] Endpoint
+ */
+ type CreateEndpointCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1.Endpoint) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|listEndpoints}.
+ * @param error Error, if any
+ * @param [response] ListEndpointsResponse
+ */
+ type ListEndpointsCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1.ListEndpointsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|getEndpoint}.
+ * @param error Error, if any
+ * @param [response] Endpoint
+ */
+ type GetEndpointCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1.Endpoint) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|updateEndpoint}.
+ * @param error Error, if any
+ * @param [response] Endpoint
+ */
+ type UpdateEndpointCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1.Endpoint) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|deleteEndpoint}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteEndpointCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|getIamPolicy}.
+ * @param error Error, if any
+ * @param [response] Policy
+ */
+ type GetIamPolicyCallback = (error: (Error|null), response?: google.iam.v1.Policy) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|setIamPolicy}.
+ * @param error Error, if any
+ * @param [response] Policy
+ */
+ type SetIamPolicyCallback = (error: (Error|null), response?: google.iam.v1.Policy) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|testIamPermissions}.
+ * @param error Error, if any
+ * @param [response] TestIamPermissionsResponse
+ */
+ type TestIamPermissionsCallback = (error: (Error|null), response?: google.iam.v1.TestIamPermissionsResponse) => void;
+ }
+
+ /** Properties of a CreateNamespaceRequest. */
+ interface ICreateNamespaceRequest {
+
+ /** CreateNamespaceRequest parent */
+ parent?: (string|null);
+
+ /** CreateNamespaceRequest namespaceId */
+ namespaceId?: (string|null);
+
+ /** CreateNamespaceRequest namespace */
+ namespace?: (google.cloud.servicedirectory.v1.INamespace|null);
+ }
+
+ /** Represents a CreateNamespaceRequest. */
+ class CreateNamespaceRequest implements ICreateNamespaceRequest {
+
+ /**
+ * Constructs a new CreateNamespaceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.ICreateNamespaceRequest);
+
+ /** CreateNamespaceRequest parent. */
+ public parent: string;
+
+ /** CreateNamespaceRequest namespaceId. */
+ public namespaceId: string;
+
+ /** CreateNamespaceRequest namespace. */
+ public namespace?: (google.cloud.servicedirectory.v1.INamespace|null);
+
+ /**
+ * Creates a new CreateNamespaceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateNamespaceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.ICreateNamespaceRequest): google.cloud.servicedirectory.v1.CreateNamespaceRequest;
+
+ /**
+ * Encodes the specified CreateNamespaceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.CreateNamespaceRequest.verify|verify} messages.
+ * @param message CreateNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.ICreateNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateNamespaceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.CreateNamespaceRequest.verify|verify} messages.
+ * @param message CreateNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.ICreateNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateNamespaceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.CreateNamespaceRequest;
+
+ /**
+ * Decodes a CreateNamespaceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.CreateNamespaceRequest;
+
+ /**
+ * Verifies a CreateNamespaceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateNamespaceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateNamespaceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.CreateNamespaceRequest;
+
+ /**
+ * Creates a plain object from a CreateNamespaceRequest message. Also converts values to other types if specified.
+ * @param message CreateNamespaceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.CreateNamespaceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateNamespaceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateNamespaceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListNamespacesRequest. */
+ interface IListNamespacesRequest {
+
+ /** ListNamespacesRequest parent */
+ parent?: (string|null);
+
+ /** ListNamespacesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListNamespacesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListNamespacesRequest filter */
+ filter?: (string|null);
+
+ /** ListNamespacesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListNamespacesRequest. */
+ class ListNamespacesRequest implements IListNamespacesRequest {
+
+ /**
+ * Constructs a new ListNamespacesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IListNamespacesRequest);
+
+ /** ListNamespacesRequest parent. */
+ public parent: string;
+
+ /** ListNamespacesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListNamespacesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListNamespacesRequest filter. */
+ public filter: string;
+
+ /** ListNamespacesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListNamespacesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListNamespacesRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IListNamespacesRequest): google.cloud.servicedirectory.v1.ListNamespacesRequest;
+
+ /**
+ * Encodes the specified ListNamespacesRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.ListNamespacesRequest.verify|verify} messages.
+ * @param message ListNamespacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IListNamespacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListNamespacesRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ListNamespacesRequest.verify|verify} messages.
+ * @param message ListNamespacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IListNamespacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListNamespacesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListNamespacesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.ListNamespacesRequest;
+
+ /**
+ * Decodes a ListNamespacesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListNamespacesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.ListNamespacesRequest;
+
+ /**
+ * Verifies a ListNamespacesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListNamespacesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListNamespacesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.ListNamespacesRequest;
+
+ /**
+ * Creates a plain object from a ListNamespacesRequest message. Also converts values to other types if specified.
+ * @param message ListNamespacesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.ListNamespacesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListNamespacesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListNamespacesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListNamespacesResponse. */
+ interface IListNamespacesResponse {
+
+ /** ListNamespacesResponse namespaces */
+ namespaces?: (google.cloud.servicedirectory.v1.INamespace[]|null);
+
+ /** ListNamespacesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListNamespacesResponse. */
+ class ListNamespacesResponse implements IListNamespacesResponse {
+
+ /**
+ * Constructs a new ListNamespacesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IListNamespacesResponse);
+
+ /** ListNamespacesResponse namespaces. */
+ public namespaces: google.cloud.servicedirectory.v1.INamespace[];
+
+ /** ListNamespacesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListNamespacesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListNamespacesResponse instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IListNamespacesResponse): google.cloud.servicedirectory.v1.ListNamespacesResponse;
+
+ /**
+ * Encodes the specified ListNamespacesResponse message. Does not implicitly {@link google.cloud.servicedirectory.v1.ListNamespacesResponse.verify|verify} messages.
+ * @param message ListNamespacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IListNamespacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListNamespacesResponse message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ListNamespacesResponse.verify|verify} messages.
+ * @param message ListNamespacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IListNamespacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListNamespacesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListNamespacesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.ListNamespacesResponse;
+
+ /**
+ * Decodes a ListNamespacesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListNamespacesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.ListNamespacesResponse;
+
+ /**
+ * Verifies a ListNamespacesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListNamespacesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListNamespacesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.ListNamespacesResponse;
+
+ /**
+ * Creates a plain object from a ListNamespacesResponse message. Also converts values to other types if specified.
+ * @param message ListNamespacesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.ListNamespacesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListNamespacesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListNamespacesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetNamespaceRequest. */
+ interface IGetNamespaceRequest {
+
+ /** GetNamespaceRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetNamespaceRequest. */
+ class GetNamespaceRequest implements IGetNamespaceRequest {
+
+ /**
+ * Constructs a new GetNamespaceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IGetNamespaceRequest);
+
+ /** GetNamespaceRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetNamespaceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetNamespaceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IGetNamespaceRequest): google.cloud.servicedirectory.v1.GetNamespaceRequest;
+
+ /**
+ * Encodes the specified GetNamespaceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.GetNamespaceRequest.verify|verify} messages.
+ * @param message GetNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IGetNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetNamespaceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.GetNamespaceRequest.verify|verify} messages.
+ * @param message GetNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IGetNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetNamespaceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.GetNamespaceRequest;
+
+ /**
+ * Decodes a GetNamespaceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.GetNamespaceRequest;
+
+ /**
+ * Verifies a GetNamespaceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetNamespaceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetNamespaceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.GetNamespaceRequest;
+
+ /**
+ * Creates a plain object from a GetNamespaceRequest message. Also converts values to other types if specified.
+ * @param message GetNamespaceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.GetNamespaceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetNamespaceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetNamespaceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateNamespaceRequest. */
+ interface IUpdateNamespaceRequest {
+
+ /** UpdateNamespaceRequest namespace */
+ namespace?: (google.cloud.servicedirectory.v1.INamespace|null);
+
+ /** UpdateNamespaceRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateNamespaceRequest. */
+ class UpdateNamespaceRequest implements IUpdateNamespaceRequest {
+
+ /**
+ * Constructs a new UpdateNamespaceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IUpdateNamespaceRequest);
+
+ /** UpdateNamespaceRequest namespace. */
+ public namespace?: (google.cloud.servicedirectory.v1.INamespace|null);
+
+ /** UpdateNamespaceRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateNamespaceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateNamespaceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IUpdateNamespaceRequest): google.cloud.servicedirectory.v1.UpdateNamespaceRequest;
+
+ /**
+ * Encodes the specified UpdateNamespaceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.UpdateNamespaceRequest.verify|verify} messages.
+ * @param message UpdateNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IUpdateNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateNamespaceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.UpdateNamespaceRequest.verify|verify} messages.
+ * @param message UpdateNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IUpdateNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateNamespaceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.UpdateNamespaceRequest;
+
+ /**
+ * Decodes an UpdateNamespaceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.UpdateNamespaceRequest;
+
+ /**
+ * Verifies an UpdateNamespaceRequest message.
+ * @param message Plain 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 UpdateNamespaceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateNamespaceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.UpdateNamespaceRequest;
+
+ /**
+ * Creates a plain object from an UpdateNamespaceRequest message. Also converts values to other types if specified.
+ * @param message UpdateNamespaceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.UpdateNamespaceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateNamespaceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateNamespaceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteNamespaceRequest. */
+ interface IDeleteNamespaceRequest {
+
+ /** DeleteNamespaceRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteNamespaceRequest. */
+ class DeleteNamespaceRequest implements IDeleteNamespaceRequest {
+
+ /**
+ * Constructs a new DeleteNamespaceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IDeleteNamespaceRequest);
+
+ /** DeleteNamespaceRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteNamespaceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteNamespaceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IDeleteNamespaceRequest): google.cloud.servicedirectory.v1.DeleteNamespaceRequest;
+
+ /**
+ * Encodes the specified DeleteNamespaceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.DeleteNamespaceRequest.verify|verify} messages.
+ * @param message DeleteNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IDeleteNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteNamespaceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.DeleteNamespaceRequest.verify|verify} messages.
+ * @param message DeleteNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IDeleteNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteNamespaceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.DeleteNamespaceRequest;
+
+ /**
+ * Decodes a DeleteNamespaceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.DeleteNamespaceRequest;
+
+ /**
+ * Verifies a DeleteNamespaceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteNamespaceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteNamespaceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.DeleteNamespaceRequest;
+
+ /**
+ * Creates a plain object from a DeleteNamespaceRequest message. Also converts values to other types if specified.
+ * @param message DeleteNamespaceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.DeleteNamespaceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteNamespaceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteNamespaceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateServiceRequest. */
+ interface ICreateServiceRequest {
+
+ /** CreateServiceRequest parent */
+ parent?: (string|null);
+
+ /** CreateServiceRequest serviceId */
+ serviceId?: (string|null);
+
+ /** CreateServiceRequest service */
+ service?: (google.cloud.servicedirectory.v1.IService|null);
+ }
+
+ /** Represents a CreateServiceRequest. */
+ class CreateServiceRequest implements ICreateServiceRequest {
+
+ /**
+ * Constructs a new CreateServiceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.ICreateServiceRequest);
+
+ /** CreateServiceRequest parent. */
+ public parent: string;
+
+ /** CreateServiceRequest serviceId. */
+ public serviceId: string;
+
+ /** CreateServiceRequest service. */
+ public service?: (google.cloud.servicedirectory.v1.IService|null);
+
+ /**
+ * Creates a new CreateServiceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateServiceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.ICreateServiceRequest): google.cloud.servicedirectory.v1.CreateServiceRequest;
+
+ /**
+ * Encodes the specified CreateServiceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.CreateServiceRequest.verify|verify} messages.
+ * @param message CreateServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.ICreateServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateServiceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.CreateServiceRequest.verify|verify} messages.
+ * @param message CreateServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.ICreateServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateServiceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.CreateServiceRequest;
+
+ /**
+ * Decodes a CreateServiceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.CreateServiceRequest;
+
+ /**
+ * Verifies a CreateServiceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateServiceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.CreateServiceRequest;
+
+ /**
+ * Creates a plain object from a CreateServiceRequest message. Also converts values to other types if specified.
+ * @param message CreateServiceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.CreateServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateServiceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateServiceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListServicesRequest. */
+ interface IListServicesRequest {
+
+ /** ListServicesRequest parent */
+ parent?: (string|null);
+
+ /** ListServicesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListServicesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListServicesRequest filter */
+ filter?: (string|null);
+
+ /** ListServicesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListServicesRequest. */
+ class ListServicesRequest implements IListServicesRequest {
+
+ /**
+ * Constructs a new ListServicesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IListServicesRequest);
+
+ /** ListServicesRequest parent. */
+ public parent: string;
+
+ /** ListServicesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListServicesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListServicesRequest filter. */
+ public filter: string;
+
+ /** ListServicesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListServicesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListServicesRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IListServicesRequest): google.cloud.servicedirectory.v1.ListServicesRequest;
+
+ /**
+ * Encodes the specified ListServicesRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.ListServicesRequest.verify|verify} messages.
+ * @param message ListServicesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IListServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListServicesRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ListServicesRequest.verify|verify} messages.
+ * @param message ListServicesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IListServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListServicesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListServicesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.ListServicesRequest;
+
+ /**
+ * Decodes a ListServicesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListServicesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.ListServicesRequest;
+
+ /**
+ * Verifies a ListServicesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListServicesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListServicesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.ListServicesRequest;
+
+ /**
+ * Creates a plain object from a ListServicesRequest message. Also converts values to other types if specified.
+ * @param message ListServicesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.ListServicesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListServicesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListServicesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListServicesResponse. */
+ interface IListServicesResponse {
+
+ /** ListServicesResponse services */
+ services?: (google.cloud.servicedirectory.v1.IService[]|null);
+
+ /** ListServicesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListServicesResponse. */
+ class ListServicesResponse implements IListServicesResponse {
+
+ /**
+ * Constructs a new ListServicesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IListServicesResponse);
+
+ /** ListServicesResponse services. */
+ public services: google.cloud.servicedirectory.v1.IService[];
+
+ /** ListServicesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListServicesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListServicesResponse instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IListServicesResponse): google.cloud.servicedirectory.v1.ListServicesResponse;
+
+ /**
+ * Encodes the specified ListServicesResponse message. Does not implicitly {@link google.cloud.servicedirectory.v1.ListServicesResponse.verify|verify} messages.
+ * @param message ListServicesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IListServicesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListServicesResponse message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ListServicesResponse.verify|verify} messages.
+ * @param message ListServicesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IListServicesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListServicesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListServicesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.ListServicesResponse;
+
+ /**
+ * Decodes a ListServicesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListServicesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.ListServicesResponse;
+
+ /**
+ * Verifies a ListServicesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListServicesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListServicesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.ListServicesResponse;
+
+ /**
+ * Creates a plain object from a ListServicesResponse message. Also converts values to other types if specified.
+ * @param message ListServicesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.ListServicesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListServicesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListServicesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetServiceRequest. */
+ interface IGetServiceRequest {
+
+ /** GetServiceRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetServiceRequest. */
+ class GetServiceRequest implements IGetServiceRequest {
+
+ /**
+ * Constructs a new GetServiceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IGetServiceRequest);
+
+ /** GetServiceRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetServiceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetServiceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IGetServiceRequest): google.cloud.servicedirectory.v1.GetServiceRequest;
+
+ /**
+ * Encodes the specified GetServiceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.GetServiceRequest.verify|verify} messages.
+ * @param message GetServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IGetServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetServiceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.GetServiceRequest.verify|verify} messages.
+ * @param message GetServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IGetServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetServiceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.GetServiceRequest;
+
+ /**
+ * Decodes a GetServiceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.GetServiceRequest;
+
+ /**
+ * Verifies a GetServiceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetServiceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.GetServiceRequest;
+
+ /**
+ * Creates a plain object from a GetServiceRequest message. Also converts values to other types if specified.
+ * @param message GetServiceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.GetServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetServiceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetServiceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateServiceRequest. */
+ interface IUpdateServiceRequest {
+
+ /** UpdateServiceRequest service */
+ service?: (google.cloud.servicedirectory.v1.IService|null);
+
+ /** UpdateServiceRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateServiceRequest. */
+ class UpdateServiceRequest implements IUpdateServiceRequest {
+
+ /**
+ * Constructs a new UpdateServiceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IUpdateServiceRequest);
+
+ /** UpdateServiceRequest service. */
+ public service?: (google.cloud.servicedirectory.v1.IService|null);
+
+ /** UpdateServiceRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateServiceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateServiceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IUpdateServiceRequest): google.cloud.servicedirectory.v1.UpdateServiceRequest;
+
+ /**
+ * Encodes the specified UpdateServiceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.UpdateServiceRequest.verify|verify} messages.
+ * @param message UpdateServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IUpdateServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateServiceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.UpdateServiceRequest.verify|verify} messages.
+ * @param message UpdateServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IUpdateServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateServiceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.UpdateServiceRequest;
+
+ /**
+ * Decodes an UpdateServiceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.UpdateServiceRequest;
+
+ /**
+ * Verifies an UpdateServiceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UpdateServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateServiceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.UpdateServiceRequest;
+
+ /**
+ * Creates a plain object from an UpdateServiceRequest message. Also converts values to other types if specified.
+ * @param message UpdateServiceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.UpdateServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateServiceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateServiceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteServiceRequest. */
+ interface IDeleteServiceRequest {
+
+ /** DeleteServiceRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteServiceRequest. */
+ class DeleteServiceRequest implements IDeleteServiceRequest {
+
+ /**
+ * Constructs a new DeleteServiceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IDeleteServiceRequest);
+
+ /** DeleteServiceRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteServiceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteServiceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IDeleteServiceRequest): google.cloud.servicedirectory.v1.DeleteServiceRequest;
+
+ /**
+ * Encodes the specified DeleteServiceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.DeleteServiceRequest.verify|verify} messages.
+ * @param message DeleteServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IDeleteServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteServiceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.DeleteServiceRequest.verify|verify} messages.
+ * @param message DeleteServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IDeleteServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteServiceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.DeleteServiceRequest;
+
+ /**
+ * Decodes a DeleteServiceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.DeleteServiceRequest;
+
+ /**
+ * Verifies a DeleteServiceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteServiceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.DeleteServiceRequest;
+
+ /**
+ * Creates a plain object from a DeleteServiceRequest message. Also converts values to other types if specified.
+ * @param message DeleteServiceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.DeleteServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteServiceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteServiceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateEndpointRequest. */
+ interface ICreateEndpointRequest {
+
+ /** CreateEndpointRequest parent */
+ parent?: (string|null);
+
+ /** CreateEndpointRequest endpointId */
+ endpointId?: (string|null);
+
+ /** CreateEndpointRequest endpoint */
+ endpoint?: (google.cloud.servicedirectory.v1.IEndpoint|null);
+ }
+
+ /** Represents a CreateEndpointRequest. */
+ class CreateEndpointRequest implements ICreateEndpointRequest {
+
+ /**
+ * Constructs a new CreateEndpointRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.ICreateEndpointRequest);
+
+ /** CreateEndpointRequest parent. */
+ public parent: string;
+
+ /** CreateEndpointRequest endpointId. */
+ public endpointId: string;
+
+ /** CreateEndpointRequest endpoint. */
+ public endpoint?: (google.cloud.servicedirectory.v1.IEndpoint|null);
+
+ /**
+ * Creates a new CreateEndpointRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateEndpointRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.ICreateEndpointRequest): google.cloud.servicedirectory.v1.CreateEndpointRequest;
+
+ /**
+ * Encodes the specified CreateEndpointRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.CreateEndpointRequest.verify|verify} messages.
+ * @param message CreateEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.ICreateEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateEndpointRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.CreateEndpointRequest.verify|verify} messages.
+ * @param message CreateEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.ICreateEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateEndpointRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.CreateEndpointRequest;
+
+ /**
+ * Decodes a CreateEndpointRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.CreateEndpointRequest;
+
+ /**
+ * Verifies a CreateEndpointRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateEndpointRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateEndpointRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.CreateEndpointRequest;
+
+ /**
+ * Creates a plain object from a CreateEndpointRequest message. Also converts values to other types if specified.
+ * @param message CreateEndpointRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.CreateEndpointRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateEndpointRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateEndpointRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListEndpointsRequest. */
+ interface IListEndpointsRequest {
+
+ /** ListEndpointsRequest parent */
+ parent?: (string|null);
+
+ /** ListEndpointsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListEndpointsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListEndpointsRequest filter */
+ filter?: (string|null);
+
+ /** ListEndpointsRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListEndpointsRequest. */
+ class ListEndpointsRequest implements IListEndpointsRequest {
+
+ /**
+ * Constructs a new ListEndpointsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IListEndpointsRequest);
+
+ /** ListEndpointsRequest parent. */
+ public parent: string;
+
+ /** ListEndpointsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListEndpointsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListEndpointsRequest filter. */
+ public filter: string;
+
+ /** ListEndpointsRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListEndpointsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListEndpointsRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IListEndpointsRequest): google.cloud.servicedirectory.v1.ListEndpointsRequest;
+
+ /**
+ * Encodes the specified ListEndpointsRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.ListEndpointsRequest.verify|verify} messages.
+ * @param message ListEndpointsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IListEndpointsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListEndpointsRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ListEndpointsRequest.verify|verify} messages.
+ * @param message ListEndpointsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IListEndpointsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListEndpointsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListEndpointsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.ListEndpointsRequest;
+
+ /**
+ * Decodes a ListEndpointsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListEndpointsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.ListEndpointsRequest;
+
+ /**
+ * Verifies a ListEndpointsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListEndpointsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListEndpointsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.ListEndpointsRequest;
+
+ /**
+ * Creates a plain object from a ListEndpointsRequest message. Also converts values to other types if specified.
+ * @param message ListEndpointsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.ListEndpointsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListEndpointsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListEndpointsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListEndpointsResponse. */
+ interface IListEndpointsResponse {
+
+ /** ListEndpointsResponse endpoints */
+ endpoints?: (google.cloud.servicedirectory.v1.IEndpoint[]|null);
+
+ /** ListEndpointsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListEndpointsResponse. */
+ class ListEndpointsResponse implements IListEndpointsResponse {
+
+ /**
+ * Constructs a new ListEndpointsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IListEndpointsResponse);
+
+ /** ListEndpointsResponse endpoints. */
+ public endpoints: google.cloud.servicedirectory.v1.IEndpoint[];
+
+ /** ListEndpointsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListEndpointsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListEndpointsResponse instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IListEndpointsResponse): google.cloud.servicedirectory.v1.ListEndpointsResponse;
+
+ /**
+ * Encodes the specified ListEndpointsResponse message. Does not implicitly {@link google.cloud.servicedirectory.v1.ListEndpointsResponse.verify|verify} messages.
+ * @param message ListEndpointsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IListEndpointsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListEndpointsResponse message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ListEndpointsResponse.verify|verify} messages.
+ * @param message ListEndpointsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IListEndpointsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListEndpointsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListEndpointsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.ListEndpointsResponse;
+
+ /**
+ * Decodes a ListEndpointsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListEndpointsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.ListEndpointsResponse;
+
+ /**
+ * Verifies a ListEndpointsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListEndpointsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListEndpointsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.ListEndpointsResponse;
+
+ /**
+ * Creates a plain object from a ListEndpointsResponse message. Also converts values to other types if specified.
+ * @param message ListEndpointsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.ListEndpointsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListEndpointsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListEndpointsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetEndpointRequest. */
+ interface IGetEndpointRequest {
+
+ /** GetEndpointRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetEndpointRequest. */
+ class GetEndpointRequest implements IGetEndpointRequest {
+
+ /**
+ * Constructs a new GetEndpointRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IGetEndpointRequest);
+
+ /** GetEndpointRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetEndpointRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetEndpointRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IGetEndpointRequest): google.cloud.servicedirectory.v1.GetEndpointRequest;
+
+ /**
+ * Encodes the specified GetEndpointRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.GetEndpointRequest.verify|verify} messages.
+ * @param message GetEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IGetEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetEndpointRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.GetEndpointRequest.verify|verify} messages.
+ * @param message GetEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IGetEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetEndpointRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.GetEndpointRequest;
+
+ /**
+ * Decodes a GetEndpointRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.GetEndpointRequest;
+
+ /**
+ * Verifies a GetEndpointRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetEndpointRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetEndpointRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.GetEndpointRequest;
+
+ /**
+ * Creates a plain object from a GetEndpointRequest message. Also converts values to other types if specified.
+ * @param message GetEndpointRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.GetEndpointRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetEndpointRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetEndpointRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateEndpointRequest. */
+ interface IUpdateEndpointRequest {
+
+ /** UpdateEndpointRequest endpoint */
+ endpoint?: (google.cloud.servicedirectory.v1.IEndpoint|null);
+
+ /** UpdateEndpointRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateEndpointRequest. */
+ class UpdateEndpointRequest implements IUpdateEndpointRequest {
+
+ /**
+ * Constructs a new UpdateEndpointRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IUpdateEndpointRequest);
+
+ /** UpdateEndpointRequest endpoint. */
+ public endpoint?: (google.cloud.servicedirectory.v1.IEndpoint|null);
+
+ /** UpdateEndpointRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateEndpointRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateEndpointRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IUpdateEndpointRequest): google.cloud.servicedirectory.v1.UpdateEndpointRequest;
+
+ /**
+ * Encodes the specified UpdateEndpointRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.UpdateEndpointRequest.verify|verify} messages.
+ * @param message UpdateEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IUpdateEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateEndpointRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.UpdateEndpointRequest.verify|verify} messages.
+ * @param message UpdateEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IUpdateEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateEndpointRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.UpdateEndpointRequest;
+
+ /**
+ * Decodes an UpdateEndpointRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.UpdateEndpointRequest;
+
+ /**
+ * Verifies an UpdateEndpointRequest message.
+ * @param message Plain 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 UpdateEndpointRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateEndpointRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.UpdateEndpointRequest;
+
+ /**
+ * Creates a plain object from an UpdateEndpointRequest message. Also converts values to other types if specified.
+ * @param message UpdateEndpointRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.UpdateEndpointRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateEndpointRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateEndpointRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteEndpointRequest. */
+ interface IDeleteEndpointRequest {
+
+ /** DeleteEndpointRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteEndpointRequest. */
+ class DeleteEndpointRequest implements IDeleteEndpointRequest {
+
+ /**
+ * Constructs a new DeleteEndpointRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1.IDeleteEndpointRequest);
+
+ /** DeleteEndpointRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteEndpointRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteEndpointRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1.IDeleteEndpointRequest): google.cloud.servicedirectory.v1.DeleteEndpointRequest;
+
+ /**
+ * Encodes the specified DeleteEndpointRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.DeleteEndpointRequest.verify|verify} messages.
+ * @param message DeleteEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1.IDeleteEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteEndpointRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.DeleteEndpointRequest.verify|verify} messages.
+ * @param message DeleteEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1.IDeleteEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteEndpointRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1.DeleteEndpointRequest;
+
+ /**
+ * Decodes a DeleteEndpointRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1.DeleteEndpointRequest;
+
+ /**
+ * Verifies a DeleteEndpointRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteEndpointRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteEndpointRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1.DeleteEndpointRequest;
+
+ /**
+ * Creates a plain object from a DeleteEndpointRequest message. Also converts values to other types if specified.
+ * @param message DeleteEndpointRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1.DeleteEndpointRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteEndpointRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteEndpointRequest
+ * @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 an Endpoint. */
+ interface IEndpoint {
+
+ /** Endpoint name */
+ name?: (string|null);
+
+ /** Endpoint address */
+ address?: (string|null);
+
+ /** Endpoint port */
+ port?: (number|null);
+
+ /** Endpoint metadata */
+ metadata?: ({ [k: string]: string }|null);
+
+ /** Endpoint network */
+ network?: (string|null);
+
+ /** Endpoint createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Endpoint updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents an Endpoint. */
+ class Endpoint implements IEndpoint {
+
+ /**
+ * Constructs a new Endpoint.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IEndpoint);
+
+ /** Endpoint name. */
+ public name: string;
+
+ /** Endpoint address. */
+ public address: string;
+
+ /** Endpoint port. */
+ public port: number;
+
+ /** Endpoint metadata. */
+ public metadata: { [k: string]: string };
+
+ /** Endpoint network. */
+ public network: string;
+
+ /** Endpoint createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Endpoint updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new Endpoint instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Endpoint instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IEndpoint): google.cloud.servicedirectory.v1beta1.Endpoint;
+
+ /**
+ * Encodes the specified Endpoint message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.Endpoint.verify|verify} messages.
+ * @param message Endpoint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IEndpoint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Endpoint message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.Endpoint.verify|verify} messages.
+ * @param message Endpoint message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IEndpoint, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Endpoint message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Endpoint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.Endpoint;
+
+ /**
+ * Decodes an Endpoint message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Endpoint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.Endpoint;
+
+ /**
+ * Verifies an Endpoint message.
+ * @param message Plain 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 Endpoint message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Endpoint
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.Endpoint;
+
+ /**
+ * Creates a plain object from an Endpoint message. Also converts values to other types if specified.
+ * @param message Endpoint
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.Endpoint, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Endpoint to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Endpoint
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a LookupService */
+ class LookupService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new LookupService 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 LookupService 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): LookupService;
+
+ /**
+ * Calls ResolveService.
+ * @param request ResolveServiceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ResolveServiceResponse
+ */
+ public resolveService(request: google.cloud.servicedirectory.v1beta1.IResolveServiceRequest, callback: google.cloud.servicedirectory.v1beta1.LookupService.ResolveServiceCallback): void;
+
+ /**
+ * Calls ResolveService.
+ * @param request ResolveServiceRequest message or plain object
+ * @returns Promise
+ */
+ public resolveService(request: google.cloud.servicedirectory.v1beta1.IResolveServiceRequest): Promise;
+ }
+
+ namespace LookupService {
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.LookupService|resolveService}.
+ * @param error Error, if any
+ * @param [response] ResolveServiceResponse
+ */
+ type ResolveServiceCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1beta1.ResolveServiceResponse) => void;
+ }
+
+ /** Properties of a ResolveServiceRequest. */
+ interface IResolveServiceRequest {
+
+ /** ResolveServiceRequest name */
+ name?: (string|null);
+
+ /** ResolveServiceRequest maxEndpoints */
+ maxEndpoints?: (number|null);
+
+ /** ResolveServiceRequest endpointFilter */
+ endpointFilter?: (string|null);
+ }
+
+ /** Represents a ResolveServiceRequest. */
+ class ResolveServiceRequest implements IResolveServiceRequest {
+
+ /**
+ * Constructs a new ResolveServiceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IResolveServiceRequest);
+
+ /** ResolveServiceRequest name. */
+ public name: string;
+
+ /** ResolveServiceRequest maxEndpoints. */
+ public maxEndpoints: number;
+
+ /** ResolveServiceRequest endpointFilter. */
+ public endpointFilter: string;
+
+ /**
+ * Creates a new ResolveServiceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResolveServiceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IResolveServiceRequest): google.cloud.servicedirectory.v1beta1.ResolveServiceRequest;
+
+ /**
+ * Encodes the specified ResolveServiceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ResolveServiceRequest.verify|verify} messages.
+ * @param message ResolveServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IResolveServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResolveServiceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ResolveServiceRequest.verify|verify} messages.
+ * @param message ResolveServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IResolveServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResolveServiceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResolveServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.ResolveServiceRequest;
+
+ /**
+ * Decodes a ResolveServiceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResolveServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.ResolveServiceRequest;
+
+ /**
+ * Verifies a ResolveServiceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResolveServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResolveServiceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.ResolveServiceRequest;
+
+ /**
+ * Creates a plain object from a ResolveServiceRequest message. Also converts values to other types if specified.
+ * @param message ResolveServiceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.ResolveServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResolveServiceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResolveServiceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ResolveServiceResponse. */
+ interface IResolveServiceResponse {
+
+ /** ResolveServiceResponse service */
+ service?: (google.cloud.servicedirectory.v1beta1.IService|null);
+ }
+
+ /** Represents a ResolveServiceResponse. */
+ class ResolveServiceResponse implements IResolveServiceResponse {
+
+ /**
+ * Constructs a new ResolveServiceResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IResolveServiceResponse);
+
+ /** ResolveServiceResponse service. */
+ public service?: (google.cloud.servicedirectory.v1beta1.IService|null);
+
+ /**
+ * Creates a new ResolveServiceResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResolveServiceResponse instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IResolveServiceResponse): google.cloud.servicedirectory.v1beta1.ResolveServiceResponse;
+
+ /**
+ * Encodes the specified ResolveServiceResponse message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ResolveServiceResponse.verify|verify} messages.
+ * @param message ResolveServiceResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResolveServiceResponse message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ResolveServiceResponse.verify|verify} messages.
+ * @param message ResolveServiceResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IResolveServiceResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResolveServiceResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResolveServiceResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.ResolveServiceResponse;
+
+ /**
+ * Decodes a ResolveServiceResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResolveServiceResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.ResolveServiceResponse;
+
+ /**
+ * Verifies a ResolveServiceResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResolveServiceResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResolveServiceResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.ResolveServiceResponse;
+
+ /**
+ * Creates a plain object from a ResolveServiceResponse message. Also converts values to other types if specified.
+ * @param message ResolveServiceResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.ResolveServiceResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResolveServiceResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResolveServiceResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Service. */
+ interface IService {
+
+ /** Service name */
+ name?: (string|null);
+
+ /** Service metadata */
+ metadata?: ({ [k: string]: string }|null);
+
+ /** Service endpoints */
+ endpoints?: (google.cloud.servicedirectory.v1beta1.IEndpoint[]|null);
+
+ /** Service createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Service updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a Service. */
+ class Service implements IService {
+
+ /**
+ * Constructs a new Service.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IService);
+
+ /** Service name. */
+ public name: string;
+
+ /** Service metadata. */
+ public metadata: { [k: string]: string };
+
+ /** Service endpoints. */
+ public endpoints: google.cloud.servicedirectory.v1beta1.IEndpoint[];
+
+ /** Service createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Service updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new Service instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Service instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IService): google.cloud.servicedirectory.v1beta1.Service;
+
+ /**
+ * Encodes the specified Service message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.Service.verify|verify} messages.
+ * @param message Service message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IService, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Service message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.Service.verify|verify} messages.
+ * @param message Service message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IService, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Service message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Service
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.Service;
+
+ /**
+ * Decodes a Service message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Service
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.Service;
+
+ /**
+ * Verifies a Service message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Service message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Service
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.Service;
+
+ /**
+ * Creates a plain object from a Service message. Also converts values to other types if specified.
+ * @param message Service
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.Service, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Service to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Service
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Namespace. */
+ interface INamespace {
+
+ /** Namespace name */
+ name?: (string|null);
+
+ /** Namespace labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Namespace createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Namespace updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a Namespace. */
+ class Namespace implements INamespace {
+
+ /**
+ * Constructs a new Namespace.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.INamespace);
+
+ /** Namespace name. */
+ public name: string;
+
+ /** Namespace labels. */
+ public labels: { [k: string]: string };
+
+ /** Namespace createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Namespace updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new Namespace instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Namespace instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.INamespace): google.cloud.servicedirectory.v1beta1.Namespace;
+
+ /**
+ * Encodes the specified Namespace message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.Namespace.verify|verify} messages.
+ * @param message Namespace message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.INamespace, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Namespace message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.Namespace.verify|verify} messages.
+ * @param message Namespace message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.INamespace, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Namespace message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Namespace
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.Namespace;
+
+ /**
+ * Decodes a Namespace message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Namespace
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.Namespace;
+
+ /**
+ * Verifies a Namespace message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Namespace message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Namespace
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.Namespace;
+
+ /**
+ * Creates a plain object from a Namespace message. Also converts values to other types if specified.
+ * @param message Namespace
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.Namespace, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Namespace to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Namespace
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a RegistrationService */
+ class RegistrationService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new RegistrationService 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 RegistrationService 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): RegistrationService;
+
+ /**
+ * Calls CreateNamespace.
+ * @param request CreateNamespaceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Namespace
+ */
+ public createNamespace(request: google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.CreateNamespaceCallback): void;
+
+ /**
+ * Calls CreateNamespace.
+ * @param request CreateNamespaceRequest message or plain object
+ * @returns Promise
+ */
+ public createNamespace(request: google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest): Promise;
+
+ /**
+ * Calls ListNamespaces.
+ * @param request ListNamespacesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListNamespacesResponse
+ */
+ public listNamespaces(request: google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.ListNamespacesCallback): void;
+
+ /**
+ * Calls ListNamespaces.
+ * @param request ListNamespacesRequest message or plain object
+ * @returns Promise
+ */
+ public listNamespaces(request: google.cloud.servicedirectory.v1beta1.IListNamespacesRequest): Promise;
+
+ /**
+ * Calls GetNamespace.
+ * @param request GetNamespaceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Namespace
+ */
+ public getNamespace(request: google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.GetNamespaceCallback): void;
+
+ /**
+ * Calls GetNamespace.
+ * @param request GetNamespaceRequest message or plain object
+ * @returns Promise
+ */
+ public getNamespace(request: google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest): Promise;
+
+ /**
+ * Calls UpdateNamespace.
+ * @param request UpdateNamespaceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Namespace
+ */
+ public updateNamespace(request: google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.UpdateNamespaceCallback): void;
+
+ /**
+ * Calls UpdateNamespace.
+ * @param request UpdateNamespaceRequest message or plain object
+ * @returns Promise
+ */
+ public updateNamespace(request: google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest): Promise;
+
+ /**
+ * Calls DeleteNamespace.
+ * @param request DeleteNamespaceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteNamespace(request: google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.DeleteNamespaceCallback): void;
+
+ /**
+ * Calls DeleteNamespace.
+ * @param request DeleteNamespaceRequest message or plain object
+ * @returns Promise
+ */
+ public deleteNamespace(request: google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest): Promise;
+
+ /**
+ * Calls CreateService.
+ * @param request CreateServiceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Service
+ */
+ public createService(request: google.cloud.servicedirectory.v1beta1.ICreateServiceRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.CreateServiceCallback): void;
+
+ /**
+ * Calls CreateService.
+ * @param request CreateServiceRequest message or plain object
+ * @returns Promise
+ */
+ public createService(request: google.cloud.servicedirectory.v1beta1.ICreateServiceRequest): Promise;
+
+ /**
+ * Calls ListServices.
+ * @param request ListServicesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListServicesResponse
+ */
+ public listServices(request: google.cloud.servicedirectory.v1beta1.IListServicesRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.ListServicesCallback): void;
+
+ /**
+ * Calls ListServices.
+ * @param request ListServicesRequest message or plain object
+ * @returns Promise
+ */
+ public listServices(request: google.cloud.servicedirectory.v1beta1.IListServicesRequest): Promise;
+
+ /**
+ * Calls GetService.
+ * @param request GetServiceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Service
+ */
+ public getService(request: google.cloud.servicedirectory.v1beta1.IGetServiceRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.GetServiceCallback): void;
+
+ /**
+ * Calls GetService.
+ * @param request GetServiceRequest message or plain object
+ * @returns Promise
+ */
+ public getService(request: google.cloud.servicedirectory.v1beta1.IGetServiceRequest): Promise;
+
+ /**
+ * Calls UpdateService.
+ * @param request UpdateServiceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Service
+ */
+ public updateService(request: google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.UpdateServiceCallback): void;
+
+ /**
+ * Calls UpdateService.
+ * @param request UpdateServiceRequest message or plain object
+ * @returns Promise
+ */
+ public updateService(request: google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest): Promise;
+
+ /**
+ * Calls DeleteService.
+ * @param request DeleteServiceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteService(request: google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.DeleteServiceCallback): void;
+
+ /**
+ * Calls DeleteService.
+ * @param request DeleteServiceRequest message or plain object
+ * @returns Promise
+ */
+ public deleteService(request: google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest): Promise;
+
+ /**
+ * Calls CreateEndpoint.
+ * @param request CreateEndpointRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Endpoint
+ */
+ public createEndpoint(request: google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.CreateEndpointCallback): void;
+
+ /**
+ * Calls CreateEndpoint.
+ * @param request CreateEndpointRequest message or plain object
+ * @returns Promise
+ */
+ public createEndpoint(request: google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest): Promise;
+
+ /**
+ * Calls ListEndpoints.
+ * @param request ListEndpointsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListEndpointsResponse
+ */
+ public listEndpoints(request: google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.ListEndpointsCallback): void;
+
+ /**
+ * Calls ListEndpoints.
+ * @param request ListEndpointsRequest message or plain object
+ * @returns Promise
+ */
+ public listEndpoints(request: google.cloud.servicedirectory.v1beta1.IListEndpointsRequest): Promise;
+
+ /**
+ * Calls GetEndpoint.
+ * @param request GetEndpointRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Endpoint
+ */
+ public getEndpoint(request: google.cloud.servicedirectory.v1beta1.IGetEndpointRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.GetEndpointCallback): void;
+
+ /**
+ * Calls GetEndpoint.
+ * @param request GetEndpointRequest message or plain object
+ * @returns Promise
+ */
+ public getEndpoint(request: google.cloud.servicedirectory.v1beta1.IGetEndpointRequest): Promise;
+
+ /**
+ * Calls UpdateEndpoint.
+ * @param request UpdateEndpointRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Endpoint
+ */
+ public updateEndpoint(request: google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.UpdateEndpointCallback): void;
+
+ /**
+ * Calls UpdateEndpoint.
+ * @param request UpdateEndpointRequest message or plain object
+ * @returns Promise
+ */
+ public updateEndpoint(request: google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest): Promise;
+
+ /**
+ * Calls DeleteEndpoint.
+ * @param request DeleteEndpointRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteEndpoint(request: google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.DeleteEndpointCallback): void;
+
+ /**
+ * Calls DeleteEndpoint.
+ * @param request DeleteEndpointRequest message or plain object
+ * @returns Promise
+ */
+ public deleteEndpoint(request: google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest): Promise;
+
+ /**
+ * Calls GetIamPolicy.
+ * @param request GetIamPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Policy
+ */
+ public getIamPolicy(request: google.iam.v1.IGetIamPolicyRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.GetIamPolicyCallback): void;
+
+ /**
+ * Calls GetIamPolicy.
+ * @param request GetIamPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public getIamPolicy(request: google.iam.v1.IGetIamPolicyRequest): Promise;
+
+ /**
+ * Calls SetIamPolicy.
+ * @param request SetIamPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Policy
+ */
+ public setIamPolicy(request: google.iam.v1.ISetIamPolicyRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.SetIamPolicyCallback): void;
+
+ /**
+ * Calls SetIamPolicy.
+ * @param request SetIamPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public setIamPolicy(request: google.iam.v1.ISetIamPolicyRequest): Promise;
+
+ /**
+ * Calls TestIamPermissions.
+ * @param request TestIamPermissionsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and TestIamPermissionsResponse
+ */
+ public testIamPermissions(request: google.iam.v1.ITestIamPermissionsRequest, callback: google.cloud.servicedirectory.v1beta1.RegistrationService.TestIamPermissionsCallback): void;
+
+ /**
+ * Calls TestIamPermissions.
+ * @param request TestIamPermissionsRequest message or plain object
+ * @returns Promise
+ */
+ public testIamPermissions(request: google.iam.v1.ITestIamPermissionsRequest): Promise;
+ }
+
+ namespace RegistrationService {
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|createNamespace}.
+ * @param error Error, if any
+ * @param [response] Namespace
+ */
+ type CreateNamespaceCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1beta1.Namespace) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|listNamespaces}.
+ * @param error Error, if any
+ * @param [response] ListNamespacesResponse
+ */
+ type ListNamespacesCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1beta1.ListNamespacesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|getNamespace}.
+ * @param error Error, if any
+ * @param [response] Namespace
+ */
+ type GetNamespaceCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1beta1.Namespace) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|updateNamespace}.
+ * @param error Error, if any
+ * @param [response] Namespace
+ */
+ type UpdateNamespaceCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1beta1.Namespace) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|deleteNamespace}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteNamespaceCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|createService}.
+ * @param error Error, if any
+ * @param [response] Service
+ */
+ type CreateServiceCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1beta1.Service) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|listServices}.
+ * @param error Error, if any
+ * @param [response] ListServicesResponse
+ */
+ type ListServicesCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1beta1.ListServicesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|getService}.
+ * @param error Error, if any
+ * @param [response] Service
+ */
+ type GetServiceCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1beta1.Service) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|updateService}.
+ * @param error Error, if any
+ * @param [response] Service
+ */
+ type UpdateServiceCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1beta1.Service) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|deleteService}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteServiceCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|createEndpoint}.
+ * @param error Error, if any
+ * @param [response] Endpoint
+ */
+ type CreateEndpointCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1beta1.Endpoint) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|listEndpoints}.
+ * @param error Error, if any
+ * @param [response] ListEndpointsResponse
+ */
+ type ListEndpointsCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1beta1.ListEndpointsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|getEndpoint}.
+ * @param error Error, if any
+ * @param [response] Endpoint
+ */
+ type GetEndpointCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1beta1.Endpoint) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|updateEndpoint}.
+ * @param error Error, if any
+ * @param [response] Endpoint
+ */
+ type UpdateEndpointCallback = (error: (Error|null), response?: google.cloud.servicedirectory.v1beta1.Endpoint) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|deleteEndpoint}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteEndpointCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|getIamPolicy}.
+ * @param error Error, if any
+ * @param [response] Policy
+ */
+ type GetIamPolicyCallback = (error: (Error|null), response?: google.iam.v1.Policy) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|setIamPolicy}.
+ * @param error Error, if any
+ * @param [response] Policy
+ */
+ type SetIamPolicyCallback = (error: (Error|null), response?: google.iam.v1.Policy) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1beta1.RegistrationService|testIamPermissions}.
+ * @param error Error, if any
+ * @param [response] TestIamPermissionsResponse
+ */
+ type TestIamPermissionsCallback = (error: (Error|null), response?: google.iam.v1.TestIamPermissionsResponse) => void;
+ }
+
+ /** Properties of a CreateNamespaceRequest. */
+ interface ICreateNamespaceRequest {
+
+ /** CreateNamespaceRequest parent */
+ parent?: (string|null);
+
+ /** CreateNamespaceRequest namespaceId */
+ namespaceId?: (string|null);
+
+ /** CreateNamespaceRequest namespace */
+ namespace?: (google.cloud.servicedirectory.v1beta1.INamespace|null);
+ }
+
+ /** Represents a CreateNamespaceRequest. */
+ class CreateNamespaceRequest implements ICreateNamespaceRequest {
+
+ /**
+ * Constructs a new CreateNamespaceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest);
+
+ /** CreateNamespaceRequest parent. */
+ public parent: string;
+
+ /** CreateNamespaceRequest namespaceId. */
+ public namespaceId: string;
+
+ /** CreateNamespaceRequest namespace. */
+ public namespace?: (google.cloud.servicedirectory.v1beta1.INamespace|null);
+
+ /**
+ * Creates a new CreateNamespaceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateNamespaceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest): google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest;
+
+ /**
+ * Encodes the specified CreateNamespaceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest.verify|verify} messages.
+ * @param message CreateNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateNamespaceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest.verify|verify} messages.
+ * @param message CreateNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.ICreateNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateNamespaceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest;
+
+ /**
+ * Decodes a CreateNamespaceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest;
+
+ /**
+ * Verifies a CreateNamespaceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateNamespaceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateNamespaceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest;
+
+ /**
+ * Creates a plain object from a CreateNamespaceRequest message. Also converts values to other types if specified.
+ * @param message CreateNamespaceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.CreateNamespaceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateNamespaceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateNamespaceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListNamespacesRequest. */
+ interface IListNamespacesRequest {
+
+ /** ListNamespacesRequest parent */
+ parent?: (string|null);
+
+ /** ListNamespacesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListNamespacesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListNamespacesRequest filter */
+ filter?: (string|null);
+
+ /** ListNamespacesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListNamespacesRequest. */
+ class ListNamespacesRequest implements IListNamespacesRequest {
+
+ /**
+ * Constructs a new ListNamespacesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IListNamespacesRequest);
+
+ /** ListNamespacesRequest parent. */
+ public parent: string;
+
+ /** ListNamespacesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListNamespacesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListNamespacesRequest filter. */
+ public filter: string;
+
+ /** ListNamespacesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListNamespacesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListNamespacesRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IListNamespacesRequest): google.cloud.servicedirectory.v1beta1.ListNamespacesRequest;
+
+ /**
+ * Encodes the specified ListNamespacesRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ListNamespacesRequest.verify|verify} messages.
+ * @param message ListNamespacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListNamespacesRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ListNamespacesRequest.verify|verify} messages.
+ * @param message ListNamespacesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IListNamespacesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListNamespacesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListNamespacesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.ListNamespacesRequest;
+
+ /**
+ * Decodes a ListNamespacesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListNamespacesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.ListNamespacesRequest;
+
+ /**
+ * Verifies a ListNamespacesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListNamespacesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListNamespacesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.ListNamespacesRequest;
+
+ /**
+ * Creates a plain object from a ListNamespacesRequest message. Also converts values to other types if specified.
+ * @param message ListNamespacesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.ListNamespacesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListNamespacesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListNamespacesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListNamespacesResponse. */
+ interface IListNamespacesResponse {
+
+ /** ListNamespacesResponse namespaces */
+ namespaces?: (google.cloud.servicedirectory.v1beta1.INamespace[]|null);
+
+ /** ListNamespacesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListNamespacesResponse. */
+ class ListNamespacesResponse implements IListNamespacesResponse {
+
+ /**
+ * Constructs a new ListNamespacesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IListNamespacesResponse);
+
+ /** ListNamespacesResponse namespaces. */
+ public namespaces: google.cloud.servicedirectory.v1beta1.INamespace[];
+
+ /** ListNamespacesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListNamespacesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListNamespacesResponse instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IListNamespacesResponse): google.cloud.servicedirectory.v1beta1.ListNamespacesResponse;
+
+ /**
+ * Encodes the specified ListNamespacesResponse message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ListNamespacesResponse.verify|verify} messages.
+ * @param message ListNamespacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IListNamespacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListNamespacesResponse message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ListNamespacesResponse.verify|verify} messages.
+ * @param message ListNamespacesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IListNamespacesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListNamespacesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListNamespacesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.ListNamespacesResponse;
+
+ /**
+ * Decodes a ListNamespacesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListNamespacesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.ListNamespacesResponse;
+
+ /**
+ * Verifies a ListNamespacesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListNamespacesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListNamespacesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.ListNamespacesResponse;
+
+ /**
+ * Creates a plain object from a ListNamespacesResponse message. Also converts values to other types if specified.
+ * @param message ListNamespacesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.ListNamespacesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListNamespacesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListNamespacesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetNamespaceRequest. */
+ interface IGetNamespaceRequest {
+
+ /** GetNamespaceRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetNamespaceRequest. */
+ class GetNamespaceRequest implements IGetNamespaceRequest {
+
+ /**
+ * Constructs a new GetNamespaceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest);
+
+ /** GetNamespaceRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetNamespaceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetNamespaceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest): google.cloud.servicedirectory.v1beta1.GetNamespaceRequest;
+
+ /**
+ * Encodes the specified GetNamespaceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.GetNamespaceRequest.verify|verify} messages.
+ * @param message GetNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetNamespaceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.GetNamespaceRequest.verify|verify} messages.
+ * @param message GetNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IGetNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetNamespaceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.GetNamespaceRequest;
+
+ /**
+ * Decodes a GetNamespaceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.GetNamespaceRequest;
+
+ /**
+ * Verifies a GetNamespaceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetNamespaceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetNamespaceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.GetNamespaceRequest;
+
+ /**
+ * Creates a plain object from a GetNamespaceRequest message. Also converts values to other types if specified.
+ * @param message GetNamespaceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.GetNamespaceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetNamespaceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetNamespaceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateNamespaceRequest. */
+ interface IUpdateNamespaceRequest {
+
+ /** UpdateNamespaceRequest namespace */
+ namespace?: (google.cloud.servicedirectory.v1beta1.INamespace|null);
+
+ /** UpdateNamespaceRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateNamespaceRequest. */
+ class UpdateNamespaceRequest implements IUpdateNamespaceRequest {
+
+ /**
+ * Constructs a new UpdateNamespaceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest);
+
+ /** UpdateNamespaceRequest namespace. */
+ public namespace?: (google.cloud.servicedirectory.v1beta1.INamespace|null);
+
+ /** UpdateNamespaceRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateNamespaceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateNamespaceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest): google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest;
+
+ /**
+ * Encodes the specified UpdateNamespaceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest.verify|verify} messages.
+ * @param message UpdateNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateNamespaceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest.verify|verify} messages.
+ * @param message UpdateNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IUpdateNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateNamespaceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest;
+
+ /**
+ * Decodes an UpdateNamespaceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest;
+
+ /**
+ * Verifies an UpdateNamespaceRequest message.
+ * @param message Plain 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 UpdateNamespaceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateNamespaceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest;
+
+ /**
+ * Creates a plain object from an UpdateNamespaceRequest message. Also converts values to other types if specified.
+ * @param message UpdateNamespaceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.UpdateNamespaceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateNamespaceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateNamespaceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteNamespaceRequest. */
+ interface IDeleteNamespaceRequest {
+
+ /** DeleteNamespaceRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteNamespaceRequest. */
+ class DeleteNamespaceRequest implements IDeleteNamespaceRequest {
+
+ /**
+ * Constructs a new DeleteNamespaceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest);
+
+ /** DeleteNamespaceRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteNamespaceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteNamespaceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest): google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest;
+
+ /**
+ * Encodes the specified DeleteNamespaceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest.verify|verify} messages.
+ * @param message DeleteNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteNamespaceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest.verify|verify} messages.
+ * @param message DeleteNamespaceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IDeleteNamespaceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteNamespaceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest;
+
+ /**
+ * Decodes a DeleteNamespaceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest;
+
+ /**
+ * Verifies a DeleteNamespaceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteNamespaceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteNamespaceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest;
+
+ /**
+ * Creates a plain object from a DeleteNamespaceRequest message. Also converts values to other types if specified.
+ * @param message DeleteNamespaceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.DeleteNamespaceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteNamespaceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteNamespaceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateServiceRequest. */
+ interface ICreateServiceRequest {
+
+ /** CreateServiceRequest parent */
+ parent?: (string|null);
+
+ /** CreateServiceRequest serviceId */
+ serviceId?: (string|null);
+
+ /** CreateServiceRequest service */
+ service?: (google.cloud.servicedirectory.v1beta1.IService|null);
+ }
+
+ /** Represents a CreateServiceRequest. */
+ class CreateServiceRequest implements ICreateServiceRequest {
+
+ /**
+ * Constructs a new CreateServiceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.ICreateServiceRequest);
+
+ /** CreateServiceRequest parent. */
+ public parent: string;
+
+ /** CreateServiceRequest serviceId. */
+ public serviceId: string;
+
+ /** CreateServiceRequest service. */
+ public service?: (google.cloud.servicedirectory.v1beta1.IService|null);
+
+ /**
+ * Creates a new CreateServiceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateServiceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.ICreateServiceRequest): google.cloud.servicedirectory.v1beta1.CreateServiceRequest;
+
+ /**
+ * Encodes the specified CreateServiceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.CreateServiceRequest.verify|verify} messages.
+ * @param message CreateServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.ICreateServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateServiceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.CreateServiceRequest.verify|verify} messages.
+ * @param message CreateServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.ICreateServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateServiceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.CreateServiceRequest;
+
+ /**
+ * Decodes a CreateServiceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.CreateServiceRequest;
+
+ /**
+ * Verifies a CreateServiceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateServiceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.CreateServiceRequest;
+
+ /**
+ * Creates a plain object from a CreateServiceRequest message. Also converts values to other types if specified.
+ * @param message CreateServiceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.CreateServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateServiceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateServiceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListServicesRequest. */
+ interface IListServicesRequest {
+
+ /** ListServicesRequest parent */
+ parent?: (string|null);
+
+ /** ListServicesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListServicesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListServicesRequest filter */
+ filter?: (string|null);
+
+ /** ListServicesRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListServicesRequest. */
+ class ListServicesRequest implements IListServicesRequest {
+
+ /**
+ * Constructs a new ListServicesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IListServicesRequest);
+
+ /** ListServicesRequest parent. */
+ public parent: string;
+
+ /** ListServicesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListServicesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListServicesRequest filter. */
+ public filter: string;
+
+ /** ListServicesRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListServicesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListServicesRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IListServicesRequest): google.cloud.servicedirectory.v1beta1.ListServicesRequest;
+
+ /**
+ * Encodes the specified ListServicesRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ListServicesRequest.verify|verify} messages.
+ * @param message ListServicesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IListServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListServicesRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ListServicesRequest.verify|verify} messages.
+ * @param message ListServicesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IListServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListServicesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListServicesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.ListServicesRequest;
+
+ /**
+ * Decodes a ListServicesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListServicesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.ListServicesRequest;
+
+ /**
+ * Verifies a ListServicesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListServicesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListServicesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.ListServicesRequest;
+
+ /**
+ * Creates a plain object from a ListServicesRequest message. Also converts values to other types if specified.
+ * @param message ListServicesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.ListServicesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListServicesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListServicesRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListServicesResponse. */
+ interface IListServicesResponse {
+
+ /** ListServicesResponse services */
+ services?: (google.cloud.servicedirectory.v1beta1.IService[]|null);
+
+ /** ListServicesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListServicesResponse. */
+ class ListServicesResponse implements IListServicesResponse {
+
+ /**
+ * Constructs a new ListServicesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IListServicesResponse);
+
+ /** ListServicesResponse services. */
+ public services: google.cloud.servicedirectory.v1beta1.IService[];
+
+ /** ListServicesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListServicesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListServicesResponse instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IListServicesResponse): google.cloud.servicedirectory.v1beta1.ListServicesResponse;
+
+ /**
+ * Encodes the specified ListServicesResponse message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ListServicesResponse.verify|verify} messages.
+ * @param message ListServicesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IListServicesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListServicesResponse message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ListServicesResponse.verify|verify} messages.
+ * @param message ListServicesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IListServicesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListServicesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListServicesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.ListServicesResponse;
+
+ /**
+ * Decodes a ListServicesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListServicesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.ListServicesResponse;
+
+ /**
+ * Verifies a ListServicesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListServicesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListServicesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.ListServicesResponse;
+
+ /**
+ * Creates a plain object from a ListServicesResponse message. Also converts values to other types if specified.
+ * @param message ListServicesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.ListServicesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListServicesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListServicesResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetServiceRequest. */
+ interface IGetServiceRequest {
+
+ /** GetServiceRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetServiceRequest. */
+ class GetServiceRequest implements IGetServiceRequest {
+
+ /**
+ * Constructs a new GetServiceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IGetServiceRequest);
+
+ /** GetServiceRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetServiceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetServiceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IGetServiceRequest): google.cloud.servicedirectory.v1beta1.GetServiceRequest;
+
+ /**
+ * Encodes the specified GetServiceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.GetServiceRequest.verify|verify} messages.
+ * @param message GetServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IGetServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetServiceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.GetServiceRequest.verify|verify} messages.
+ * @param message GetServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IGetServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetServiceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.GetServiceRequest;
+
+ /**
+ * Decodes a GetServiceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.GetServiceRequest;
+
+ /**
+ * Verifies a GetServiceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetServiceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.GetServiceRequest;
+
+ /**
+ * Creates a plain object from a GetServiceRequest message. Also converts values to other types if specified.
+ * @param message GetServiceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.GetServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetServiceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetServiceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateServiceRequest. */
+ interface IUpdateServiceRequest {
+
+ /** UpdateServiceRequest service */
+ service?: (google.cloud.servicedirectory.v1beta1.IService|null);
+
+ /** UpdateServiceRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateServiceRequest. */
+ class UpdateServiceRequest implements IUpdateServiceRequest {
+
+ /**
+ * Constructs a new UpdateServiceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest);
+
+ /** UpdateServiceRequest service. */
+ public service?: (google.cloud.servicedirectory.v1beta1.IService|null);
+
+ /** UpdateServiceRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateServiceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateServiceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest): google.cloud.servicedirectory.v1beta1.UpdateServiceRequest;
+
+ /**
+ * Encodes the specified UpdateServiceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.UpdateServiceRequest.verify|verify} messages.
+ * @param message UpdateServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateServiceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.UpdateServiceRequest.verify|verify} messages.
+ * @param message UpdateServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IUpdateServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateServiceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.UpdateServiceRequest;
+
+ /**
+ * Decodes an UpdateServiceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.UpdateServiceRequest;
+
+ /**
+ * Verifies an UpdateServiceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UpdateServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateServiceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.UpdateServiceRequest;
+
+ /**
+ * Creates a plain object from an UpdateServiceRequest message. Also converts values to other types if specified.
+ * @param message UpdateServiceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.UpdateServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateServiceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateServiceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteServiceRequest. */
+ interface IDeleteServiceRequest {
+
+ /** DeleteServiceRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteServiceRequest. */
+ class DeleteServiceRequest implements IDeleteServiceRequest {
+
+ /**
+ * Constructs a new DeleteServiceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest);
+
+ /** DeleteServiceRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteServiceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteServiceRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest): google.cloud.servicedirectory.v1beta1.DeleteServiceRequest;
+
+ /**
+ * Encodes the specified DeleteServiceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.DeleteServiceRequest.verify|verify} messages.
+ * @param message DeleteServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteServiceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.DeleteServiceRequest.verify|verify} messages.
+ * @param message DeleteServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IDeleteServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteServiceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.DeleteServiceRequest;
+
+ /**
+ * Decodes a DeleteServiceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.DeleteServiceRequest;
+
+ /**
+ * Verifies a DeleteServiceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteServiceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.DeleteServiceRequest;
+
+ /**
+ * Creates a plain object from a DeleteServiceRequest message. Also converts values to other types if specified.
+ * @param message DeleteServiceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.DeleteServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteServiceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteServiceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateEndpointRequest. */
+ interface ICreateEndpointRequest {
+
+ /** CreateEndpointRequest parent */
+ parent?: (string|null);
+
+ /** CreateEndpointRequest endpointId */
+ endpointId?: (string|null);
+
+ /** CreateEndpointRequest endpoint */
+ endpoint?: (google.cloud.servicedirectory.v1beta1.IEndpoint|null);
+ }
+
+ /** Represents a CreateEndpointRequest. */
+ class CreateEndpointRequest implements ICreateEndpointRequest {
+
+ /**
+ * Constructs a new CreateEndpointRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest);
+
+ /** CreateEndpointRequest parent. */
+ public parent: string;
+
+ /** CreateEndpointRequest endpointId. */
+ public endpointId: string;
+
+ /** CreateEndpointRequest endpoint. */
+ public endpoint?: (google.cloud.servicedirectory.v1beta1.IEndpoint|null);
+
+ /**
+ * Creates a new CreateEndpointRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateEndpointRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest): google.cloud.servicedirectory.v1beta1.CreateEndpointRequest;
+
+ /**
+ * Encodes the specified CreateEndpointRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.CreateEndpointRequest.verify|verify} messages.
+ * @param message CreateEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateEndpointRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.CreateEndpointRequest.verify|verify} messages.
+ * @param message CreateEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.ICreateEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateEndpointRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.CreateEndpointRequest;
+
+ /**
+ * Decodes a CreateEndpointRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.CreateEndpointRequest;
+
+ /**
+ * Verifies a CreateEndpointRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateEndpointRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateEndpointRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.CreateEndpointRequest;
+
+ /**
+ * Creates a plain object from a CreateEndpointRequest message. Also converts values to other types if specified.
+ * @param message CreateEndpointRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.CreateEndpointRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateEndpointRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateEndpointRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListEndpointsRequest. */
+ interface IListEndpointsRequest {
+
+ /** ListEndpointsRequest parent */
+ parent?: (string|null);
+
+ /** ListEndpointsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListEndpointsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListEndpointsRequest filter */
+ filter?: (string|null);
+
+ /** ListEndpointsRequest orderBy */
+ orderBy?: (string|null);
+ }
+
+ /** Represents a ListEndpointsRequest. */
+ class ListEndpointsRequest implements IListEndpointsRequest {
+
+ /**
+ * Constructs a new ListEndpointsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IListEndpointsRequest);
+
+ /** ListEndpointsRequest parent. */
+ public parent: string;
+
+ /** ListEndpointsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListEndpointsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListEndpointsRequest filter. */
+ public filter: string;
+
+ /** ListEndpointsRequest orderBy. */
+ public orderBy: string;
+
+ /**
+ * Creates a new ListEndpointsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListEndpointsRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IListEndpointsRequest): google.cloud.servicedirectory.v1beta1.ListEndpointsRequest;
+
+ /**
+ * Encodes the specified ListEndpointsRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ListEndpointsRequest.verify|verify} messages.
+ * @param message ListEndpointsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListEndpointsRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ListEndpointsRequest.verify|verify} messages.
+ * @param message ListEndpointsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IListEndpointsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListEndpointsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListEndpointsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.ListEndpointsRequest;
+
+ /**
+ * Decodes a ListEndpointsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListEndpointsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.ListEndpointsRequest;
+
+ /**
+ * Verifies a ListEndpointsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListEndpointsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListEndpointsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.ListEndpointsRequest;
+
+ /**
+ * Creates a plain object from a ListEndpointsRequest message. Also converts values to other types if specified.
+ * @param message ListEndpointsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.ListEndpointsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListEndpointsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListEndpointsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListEndpointsResponse. */
+ interface IListEndpointsResponse {
+
+ /** ListEndpointsResponse endpoints */
+ endpoints?: (google.cloud.servicedirectory.v1beta1.IEndpoint[]|null);
+
+ /** ListEndpointsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListEndpointsResponse. */
+ class ListEndpointsResponse implements IListEndpointsResponse {
+
+ /**
+ * Constructs a new ListEndpointsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IListEndpointsResponse);
+
+ /** ListEndpointsResponse endpoints. */
+ public endpoints: google.cloud.servicedirectory.v1beta1.IEndpoint[];
+
+ /** ListEndpointsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListEndpointsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListEndpointsResponse instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IListEndpointsResponse): google.cloud.servicedirectory.v1beta1.ListEndpointsResponse;
+
+ /**
+ * Encodes the specified ListEndpointsResponse message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ListEndpointsResponse.verify|verify} messages.
+ * @param message ListEndpointsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IListEndpointsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListEndpointsResponse message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.ListEndpointsResponse.verify|verify} messages.
+ * @param message ListEndpointsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IListEndpointsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListEndpointsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListEndpointsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.ListEndpointsResponse;
+
+ /**
+ * Decodes a ListEndpointsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListEndpointsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.ListEndpointsResponse;
+
+ /**
+ * Verifies a ListEndpointsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListEndpointsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListEndpointsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.ListEndpointsResponse;
+
+ /**
+ * Creates a plain object from a ListEndpointsResponse message. Also converts values to other types if specified.
+ * @param message ListEndpointsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.ListEndpointsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListEndpointsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListEndpointsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetEndpointRequest. */
+ interface IGetEndpointRequest {
+
+ /** GetEndpointRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetEndpointRequest. */
+ class GetEndpointRequest implements IGetEndpointRequest {
+
+ /**
+ * Constructs a new GetEndpointRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IGetEndpointRequest);
+
+ /** GetEndpointRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetEndpointRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetEndpointRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IGetEndpointRequest): google.cloud.servicedirectory.v1beta1.GetEndpointRequest;
+
+ /**
+ * Encodes the specified GetEndpointRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.GetEndpointRequest.verify|verify} messages.
+ * @param message GetEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IGetEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetEndpointRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.GetEndpointRequest.verify|verify} messages.
+ * @param message GetEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IGetEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetEndpointRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.GetEndpointRequest;
+
+ /**
+ * Decodes a GetEndpointRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.GetEndpointRequest;
+
+ /**
+ * Verifies a GetEndpointRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetEndpointRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetEndpointRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.GetEndpointRequest;
+
+ /**
+ * Creates a plain object from a GetEndpointRequest message. Also converts values to other types if specified.
+ * @param message GetEndpointRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.GetEndpointRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetEndpointRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetEndpointRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateEndpointRequest. */
+ interface IUpdateEndpointRequest {
+
+ /** UpdateEndpointRequest endpoint */
+ endpoint?: (google.cloud.servicedirectory.v1beta1.IEndpoint|null);
+
+ /** UpdateEndpointRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateEndpointRequest. */
+ class UpdateEndpointRequest implements IUpdateEndpointRequest {
+
+ /**
+ * Constructs a new UpdateEndpointRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest);
+
+ /** UpdateEndpointRequest endpoint. */
+ public endpoint?: (google.cloud.servicedirectory.v1beta1.IEndpoint|null);
+
+ /** UpdateEndpointRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateEndpointRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateEndpointRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest): google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest;
+
+ /**
+ * Encodes the specified UpdateEndpointRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest.verify|verify} messages.
+ * @param message UpdateEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateEndpointRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest.verify|verify} messages.
+ * @param message UpdateEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IUpdateEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateEndpointRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest;
+
+ /**
+ * Decodes an UpdateEndpointRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest;
+
+ /**
+ * Verifies an UpdateEndpointRequest message.
+ * @param message Plain 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 UpdateEndpointRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateEndpointRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest;
+
+ /**
+ * Creates a plain object from an UpdateEndpointRequest message. Also converts values to other types if specified.
+ * @param message UpdateEndpointRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.UpdateEndpointRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateEndpointRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateEndpointRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteEndpointRequest. */
+ interface IDeleteEndpointRequest {
+
+ /** DeleteEndpointRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteEndpointRequest. */
+ class DeleteEndpointRequest implements IDeleteEndpointRequest {
+
+ /**
+ * Constructs a new DeleteEndpointRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest);
+
+ /** DeleteEndpointRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteEndpointRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteEndpointRequest instance
+ */
+ public static create(properties?: google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest): google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest;
+
+ /**
+ * Encodes the specified DeleteEndpointRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest.verify|verify} messages.
+ * @param message DeleteEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteEndpointRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest.verify|verify} messages.
+ * @param message DeleteEndpointRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.servicedirectory.v1beta1.IDeleteEndpointRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteEndpointRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest;
+
+ /**
+ * Decodes a DeleteEndpointRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest;
+
+ /**
+ * Verifies a DeleteEndpointRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteEndpointRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteEndpointRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest;
+
+ /**
+ * Creates a plain object from a DeleteEndpointRequest message. Also converts values to other types if specified.
+ * @param message DeleteEndpointRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.servicedirectory.v1beta1.DeleteEndpointRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteEndpointRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteEndpointRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+ }
+
+ /** Namespace api. */
+ namespace api {
+
+ /** FieldBehavior enum. */
+ enum FieldBehavior {
+ FIELD_BEHAVIOR_UNSPECIFIED = 0,
+ OPTIONAL = 1,
+ REQUIRED = 2,
+ OUTPUT_ONLY = 3,
+ INPUT_ONLY = 4,
+ IMMUTABLE = 5,
+ UNORDERED_LIST = 6,
+ NON_EMPTY_DEFAULT = 7
+ }
+
+ /** Properties of a ResourceDescriptor. */
+ interface IResourceDescriptor {
+
+ /** ResourceDescriptor type */
+ type?: (string|null);
+
+ /** ResourceDescriptor pattern */
+ pattern?: (string[]|null);
+
+ /** ResourceDescriptor nameField */
+ nameField?: (string|null);
+
+ /** ResourceDescriptor history */
+ history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null);
+
+ /** ResourceDescriptor plural */
+ plural?: (string|null);
+
+ /** ResourceDescriptor singular */
+ singular?: (string|null);
+
+ /** ResourceDescriptor style */
+ style?: (google.api.ResourceDescriptor.Style[]|null);
+ }
+
+ /** Represents a ResourceDescriptor. */
+ class ResourceDescriptor implements IResourceDescriptor {
+
+ /**
+ * Constructs a new ResourceDescriptor.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceDescriptor);
+
+ /** ResourceDescriptor type. */
+ public type: string;
+
+ /** ResourceDescriptor pattern. */
+ public pattern: string[];
+
+ /** ResourceDescriptor nameField. */
+ public nameField: string;
+
+ /** ResourceDescriptor history. */
+ public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History);
+
+ /** ResourceDescriptor plural. */
+ public plural: string;
+
+ /** ResourceDescriptor singular. */
+ public singular: string;
+
+ /** ResourceDescriptor style. */
+ public style: google.api.ResourceDescriptor.Style[];
+
+ /**
+ * Creates a new ResourceDescriptor instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceDescriptor instance
+ */
+ public static create(properties?: google.api.IResourceDescriptor): google.api.ResourceDescriptor;
+
+ /**
+ * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
+ * @param message ResourceDescriptor message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceDescriptor;
+
+ /**
+ * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceDescriptor
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceDescriptor;
+
+ /**
+ * Verifies a ResourceDescriptor message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceDescriptor
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceDescriptor;
+
+ /**
+ * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified.
+ * @param message ResourceDescriptor
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceDescriptor to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceDescriptor
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ResourceDescriptor {
+
+ /** History enum. */
+ enum History {
+ HISTORY_UNSPECIFIED = 0,
+ ORIGINALLY_SINGLE_PATTERN = 1,
+ FUTURE_MULTI_PATTERN = 2
+ }
+
+ /** Style enum. */
+ enum Style {
+ STYLE_UNSPECIFIED = 0,
+ DECLARATIVE_FRIENDLY = 1
+ }
+ }
+
+ /** Properties of a ResourceReference. */
+ interface IResourceReference {
+
+ /** ResourceReference type */
+ type?: (string|null);
+
+ /** ResourceReference childType */
+ childType?: (string|null);
+ }
+
+ /** Represents a ResourceReference. */
+ class ResourceReference implements IResourceReference {
+
+ /**
+ * Constructs a new ResourceReference.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IResourceReference);
+
+ /** ResourceReference type. */
+ public type: string;
+
+ /** ResourceReference childType. */
+ public childType: string;
+
+ /**
+ * Creates a new ResourceReference instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ResourceReference instance
+ */
+ public static create(properties?: google.api.IResourceReference): google.api.ResourceReference;
+
+ /**
+ * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
+ * @param message ResourceReference message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceReference;
+
+ /**
+ * Decodes a ResourceReference message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ResourceReference
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceReference;
+
+ /**
+ * Verifies a ResourceReference message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ResourceReference
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.ResourceReference;
+
+ /**
+ * Creates a plain object from a ResourceReference message. Also converts values to other types if specified.
+ * @param message ResourceReference
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.ResourceReference, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ResourceReference to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ResourceReference
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Http. */
+ interface IHttp {
+
+ /** Http rules */
+ rules?: (google.api.IHttpRule[]|null);
+
+ /** Http fullyDecodeReservedExpansion */
+ fullyDecodeReservedExpansion?: (boolean|null);
+ }
+
+ /** Represents a Http. */
+ class Http implements IHttp {
+
+ /**
+ * Constructs a new Http.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttp);
+
+ /** Http rules. */
+ public rules: google.api.IHttpRule[];
+
+ /** Http fullyDecodeReservedExpansion. */
+ public fullyDecodeReservedExpansion: boolean;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Http instance
+ */
+ public static create(properties?: google.api.IHttp): google.api.Http;
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http;
+
+ /**
+ * Verifies a Http message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Http
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Http;
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @param message Http
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Http to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Http
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a HttpRule. */
+ interface IHttpRule {
+
+ /** HttpRule selector */
+ selector?: (string|null);
+
+ /** HttpRule get */
+ get?: (string|null);
+
+ /** HttpRule put */
+ put?: (string|null);
+
+ /** HttpRule post */
+ post?: (string|null);
+
+ /** HttpRule delete */
+ "delete"?: (string|null);
+
+ /** HttpRule patch */
+ patch?: (string|null);
+
+ /** HttpRule custom */
+ custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body */
+ body?: (string|null);
+
+ /** HttpRule responseBody */
+ responseBody?: (string|null);
+
+ /** HttpRule additionalBindings */
+ additionalBindings?: (google.api.IHttpRule[]|null);
+ }
+
+ /** Represents a HttpRule. */
+ class HttpRule implements IHttpRule {
+
+ /**
+ * Constructs a new HttpRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttpRule);
+
+ /** HttpRule selector. */
+ public selector: string;
+
+ /** HttpRule get. */
+ public get?: (string|null);
+
+ /** HttpRule put. */
+ public put?: (string|null);
+
+ /** HttpRule post. */
+ public post?: (string|null);
+
+ /** HttpRule delete. */
+ public delete?: (string|null);
+
+ /** HttpRule patch. */
+ public patch?: (string|null);
+
+ /** HttpRule custom. */
+ public custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body. */
+ public body: string;
+
+ /** HttpRule responseBody. */
+ public responseBody: string;
+
+ /** HttpRule additionalBindings. */
+ public additionalBindings: google.api.IHttpRule[];
+
+ /** HttpRule pattern. */
+ public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom");
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HttpRule instance
+ */
+ public static create(properties?: google.api.IHttpRule): google.api.HttpRule;
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule;
+
+ /**
+ * Verifies a HttpRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HttpRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.HttpRule;
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @param message HttpRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomHttpPattern. */
+ interface ICustomHttpPattern {
+
+ /** CustomHttpPattern kind */
+ kind?: (string|null);
+
+ /** CustomHttpPattern path */
+ path?: (string|null);
+ }
+
+ /** Represents a CustomHttpPattern. */
+ class CustomHttpPattern implements ICustomHttpPattern {
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICustomHttpPattern);
+
+ /** CustomHttpPattern kind. */
+ public kind: string;
+
+ /** CustomHttpPattern path. */
+ public path: string;
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomHttpPattern instance
+ */
+ public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern;
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern;
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomHttpPattern
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern;
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @param message CustomHttpPattern
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace protobuf. */
+ namespace protobuf {
+
+ /** Properties of a FileDescriptorSet. */
+ interface IFileDescriptorSet {
+
+ /** FileDescriptorSet file */
+ file?: (google.protobuf.IFileDescriptorProto[]|null);
+ }
+
+ /** Represents a FileDescriptorSet. */
+ class FileDescriptorSet implements IFileDescriptorSet {
+
+ /**
+ * Constructs a new FileDescriptorSet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorSet);
+
+ /** FileDescriptorSet file. */
+ public file: google.protobuf.IFileDescriptorProto[];
+
+ /**
+ * Creates a new FileDescriptorSet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorSet instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages.
+ * @param message FileDescriptorSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Verifies a FileDescriptorSet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorSet
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet;
+
+ /**
+ * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified.
+ * @param message FileDescriptorSet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorSet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorSet
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FileDescriptorProto. */
+ interface IFileDescriptorProto {
+
+ /** FileDescriptorProto name */
+ name?: (string|null);
+
+ /** FileDescriptorProto package */
+ "package"?: (string|null);
+
+ /** FileDescriptorProto dependency */
+ dependency?: (string[]|null);
+
+ /** FileDescriptorProto publicDependency */
+ publicDependency?: (number[]|null);
+
+ /** FileDescriptorProto weakDependency */
+ weakDependency?: (number[]|null);
+
+ /** FileDescriptorProto messageType */
+ messageType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** FileDescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** FileDescriptorProto service */
+ service?: (google.protobuf.IServiceDescriptorProto[]|null);
+
+ /** FileDescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** FileDescriptorProto options */
+ options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo */
+ sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax */
+ syntax?: (string|null);
+
+ /** FileDescriptorProto edition */
+ edition?: (string|null);
+ }
+
+ /** Represents a FileDescriptorProto. */
+ class FileDescriptorProto implements IFileDescriptorProto {
+
+ /**
+ * Constructs a new FileDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileDescriptorProto);
+
+ /** FileDescriptorProto name. */
+ public name: string;
+
+ /** FileDescriptorProto package. */
+ public package: string;
+
+ /** FileDescriptorProto dependency. */
+ public dependency: string[];
+
+ /** FileDescriptorProto publicDependency. */
+ public publicDependency: number[];
+
+ /** FileDescriptorProto weakDependency. */
+ public weakDependency: number[];
+
+ /** FileDescriptorProto messageType. */
+ public messageType: google.protobuf.IDescriptorProto[];
+
+ /** FileDescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** FileDescriptorProto service. */
+ public service: google.protobuf.IServiceDescriptorProto[];
+
+ /** FileDescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** FileDescriptorProto options. */
+ public options?: (google.protobuf.IFileOptions|null);
+
+ /** FileDescriptorProto sourceCodeInfo. */
+ public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null);
+
+ /** FileDescriptorProto syntax. */
+ public syntax: string;
+
+ /** FileDescriptorProto edition. */
+ public edition: string;
+
+ /**
+ * Creates a new FileDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages.
+ * @param message FileDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Verifies a FileDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto;
+
+ /**
+ * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified.
+ * @param message FileDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DescriptorProto. */
+ interface IDescriptorProto {
+
+ /** DescriptorProto name */
+ name?: (string|null);
+
+ /** DescriptorProto field */
+ field?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto extension */
+ extension?: (google.protobuf.IFieldDescriptorProto[]|null);
+
+ /** DescriptorProto nestedType */
+ nestedType?: (google.protobuf.IDescriptorProto[]|null);
+
+ /** DescriptorProto enumType */
+ enumType?: (google.protobuf.IEnumDescriptorProto[]|null);
+
+ /** DescriptorProto extensionRange */
+ extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null);
+
+ /** DescriptorProto oneofDecl */
+ oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null);
+
+ /** DescriptorProto options */
+ options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null);
+
+ /** DescriptorProto reservedName */
+ reservedName?: (string[]|null);
+ }
+
+ /** Represents a DescriptorProto. */
+ class DescriptorProto implements IDescriptorProto {
+
+ /**
+ * Constructs a new DescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDescriptorProto);
+
+ /** DescriptorProto name. */
+ public name: string;
+
+ /** DescriptorProto field. */
+ public field: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto extension. */
+ public extension: google.protobuf.IFieldDescriptorProto[];
+
+ /** DescriptorProto nestedType. */
+ public nestedType: google.protobuf.IDescriptorProto[];
+
+ /** DescriptorProto enumType. */
+ public enumType: google.protobuf.IEnumDescriptorProto[];
+
+ /** DescriptorProto extensionRange. */
+ public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[];
+
+ /** DescriptorProto oneofDecl. */
+ public oneofDecl: google.protobuf.IOneofDescriptorProto[];
+
+ /** DescriptorProto options. */
+ public options?: (google.protobuf.IMessageOptions|null);
+
+ /** DescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.DescriptorProto.IReservedRange[];
+
+ /** DescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /**
+ * Creates a new DescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto;
+
+ /**
+ * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages.
+ * @param message DescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto;
+
+ /**
+ * Decodes a DescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto;
+
+ /**
+ * Verifies a DescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto;
+
+ /**
+ * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified.
+ * @param message DescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace DescriptorProto {
+
+ /** Properties of an ExtensionRange. */
+ interface IExtensionRange {
+
+ /** ExtensionRange start */
+ start?: (number|null);
+
+ /** ExtensionRange end */
+ end?: (number|null);
+
+ /** ExtensionRange options */
+ options?: (google.protobuf.IExtensionRangeOptions|null);
+ }
+
+ /** Represents an ExtensionRange. */
+ class ExtensionRange implements IExtensionRange {
+
+ /**
+ * Constructs a new ExtensionRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange);
+
+ /** ExtensionRange start. */
+ public start: number;
+
+ /** ExtensionRange end. */
+ public end: number;
+
+ /** ExtensionRange options. */
+ public options?: (google.protobuf.IExtensionRangeOptions|null);
+
+ /**
+ * Creates a new ExtensionRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages.
+ * @param message ExtensionRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Decodes an ExtensionRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Verifies an ExtensionRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange;
+
+ /**
+ * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified.
+ * @param message ExtensionRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReservedRange. */
+ interface IReservedRange {
+
+ /** ReservedRange start */
+ start?: (number|null);
+
+ /** ReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents a ReservedRange. */
+ class ReservedRange implements IReservedRange {
+
+ /**
+ * Constructs a new ReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.DescriptorProto.IReservedRange);
+
+ /** ReservedRange start. */
+ public start: number;
+
+ /** ReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new ReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReservedRange instance
+ */
+ public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages.
+ * @param message ReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Decodes a ReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Verifies a ReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange;
+
+ /**
+ * Creates a plain object from a ReservedRange message. Also converts values to other types if specified.
+ * @param message ReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an ExtensionRangeOptions. */
+ interface IExtensionRangeOptions {
+
+ /** ExtensionRangeOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an ExtensionRangeOptions. */
+ class ExtensionRangeOptions implements IExtensionRangeOptions {
+
+ /**
+ * Constructs a new ExtensionRangeOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IExtensionRangeOptions);
+
+ /** ExtensionRangeOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new ExtensionRangeOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExtensionRangeOptions instance
+ */
+ public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages.
+ * @param message ExtensionRangeOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExtensionRangeOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Verifies an ExtensionRangeOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExtensionRangeOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions;
+
+ /**
+ * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified.
+ * @param message ExtensionRangeOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExtensionRangeOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ExtensionRangeOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldDescriptorProto. */
+ interface IFieldDescriptorProto {
+
+ /** FieldDescriptorProto name */
+ name?: (string|null);
+
+ /** FieldDescriptorProto number */
+ number?: (number|null);
+
+ /** FieldDescriptorProto label */
+ label?: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label|null);
+
+ /** FieldDescriptorProto type */
+ type?: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type|null);
+
+ /** FieldDescriptorProto typeName */
+ typeName?: (string|null);
+
+ /** FieldDescriptorProto extendee */
+ extendee?: (string|null);
+
+ /** FieldDescriptorProto defaultValue */
+ defaultValue?: (string|null);
+
+ /** FieldDescriptorProto oneofIndex */
+ oneofIndex?: (number|null);
+
+ /** FieldDescriptorProto jsonName */
+ jsonName?: (string|null);
+
+ /** FieldDescriptorProto options */
+ options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional */
+ proto3Optional?: (boolean|null);
+ }
+
+ /** Represents a FieldDescriptorProto. */
+ class FieldDescriptorProto implements IFieldDescriptorProto {
+
+ /**
+ * Constructs a new FieldDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldDescriptorProto);
+
+ /** FieldDescriptorProto name. */
+ public name: string;
+
+ /** FieldDescriptorProto number. */
+ public number: number;
+
+ /** FieldDescriptorProto label. */
+ public label: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label);
+
+ /** FieldDescriptorProto type. */
+ public type: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type);
+
+ /** FieldDescriptorProto typeName. */
+ public typeName: string;
+
+ /** FieldDescriptorProto extendee. */
+ public extendee: string;
+
+ /** FieldDescriptorProto defaultValue. */
+ public defaultValue: string;
+
+ /** FieldDescriptorProto oneofIndex. */
+ public oneofIndex: number;
+
+ /** FieldDescriptorProto jsonName. */
+ public jsonName: string;
+
+ /** FieldDescriptorProto options. */
+ public options?: (google.protobuf.IFieldOptions|null);
+
+ /** FieldDescriptorProto proto3Optional. */
+ public proto3Optional: boolean;
+
+ /**
+ * Creates a new FieldDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages.
+ * @param message FieldDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Verifies a FieldDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto;
+
+ /**
+ * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified.
+ * @param message FieldDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldDescriptorProto {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_DOUBLE = 1,
+ TYPE_FLOAT = 2,
+ TYPE_INT64 = 3,
+ TYPE_UINT64 = 4,
+ TYPE_INT32 = 5,
+ TYPE_FIXED64 = 6,
+ TYPE_FIXED32 = 7,
+ TYPE_BOOL = 8,
+ TYPE_STRING = 9,
+ TYPE_GROUP = 10,
+ TYPE_MESSAGE = 11,
+ TYPE_BYTES = 12,
+ TYPE_UINT32 = 13,
+ TYPE_ENUM = 14,
+ TYPE_SFIXED32 = 15,
+ TYPE_SFIXED64 = 16,
+ TYPE_SINT32 = 17,
+ TYPE_SINT64 = 18
+ }
+
+ /** Label enum. */
+ enum Label {
+ LABEL_OPTIONAL = 1,
+ LABEL_REQUIRED = 2,
+ LABEL_REPEATED = 3
+ }
+ }
+
+ /** Properties of an OneofDescriptorProto. */
+ interface IOneofDescriptorProto {
+
+ /** OneofDescriptorProto name */
+ name?: (string|null);
+
+ /** OneofDescriptorProto options */
+ options?: (google.protobuf.IOneofOptions|null);
+ }
+
+ /** Represents an OneofDescriptorProto. */
+ class OneofDescriptorProto implements IOneofDescriptorProto {
+
+ /**
+ * Constructs a new OneofDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofDescriptorProto);
+
+ /** OneofDescriptorProto name. */
+ public name: string;
+
+ /** OneofDescriptorProto options. */
+ public options?: (google.protobuf.IOneofOptions|null);
+
+ /**
+ * Creates a new OneofDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages.
+ * @param message OneofDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Verifies an OneofDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto;
+
+ /**
+ * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified.
+ * @param message OneofDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumDescriptorProto. */
+ interface IEnumDescriptorProto {
+
+ /** EnumDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumDescriptorProto value */
+ value?: (google.protobuf.IEnumValueDescriptorProto[]|null);
+
+ /** EnumDescriptorProto options */
+ options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange */
+ reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null);
+
+ /** EnumDescriptorProto reservedName */
+ reservedName?: (string[]|null);
+ }
+
+ /** Represents an EnumDescriptorProto. */
+ class EnumDescriptorProto implements IEnumDescriptorProto {
+
+ /**
+ * Constructs a new EnumDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumDescriptorProto);
+
+ /** EnumDescriptorProto name. */
+ public name: string;
+
+ /** EnumDescriptorProto value. */
+ public value: google.protobuf.IEnumValueDescriptorProto[];
+
+ /** EnumDescriptorProto options. */
+ public options?: (google.protobuf.IEnumOptions|null);
+
+ /** EnumDescriptorProto reservedRange. */
+ public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[];
+
+ /** EnumDescriptorProto reservedName. */
+ public reservedName: string[];
+
+ /**
+ * Creates a new EnumDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages.
+ * @param message EnumDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Verifies an EnumDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace EnumDescriptorProto {
+
+ /** Properties of an EnumReservedRange. */
+ interface IEnumReservedRange {
+
+ /** EnumReservedRange start */
+ start?: (number|null);
+
+ /** EnumReservedRange end */
+ end?: (number|null);
+ }
+
+ /** Represents an EnumReservedRange. */
+ class EnumReservedRange implements IEnumReservedRange {
+
+ /**
+ * Constructs a new EnumReservedRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange);
+
+ /** EnumReservedRange start. */
+ public start: number;
+
+ /** EnumReservedRange end. */
+ public end: number;
+
+ /**
+ * Creates a new EnumReservedRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumReservedRange instance
+ */
+ public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages.
+ * @param message EnumReservedRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumReservedRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Verifies an EnumReservedRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumReservedRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange;
+
+ /**
+ * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified.
+ * @param message EnumReservedRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumReservedRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumReservedRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of an EnumValueDescriptorProto. */
+ interface IEnumValueDescriptorProto {
+
+ /** EnumValueDescriptorProto name */
+ name?: (string|null);
+
+ /** EnumValueDescriptorProto number */
+ number?: (number|null);
+
+ /** EnumValueDescriptorProto options */
+ options?: (google.protobuf.IEnumValueOptions|null);
+ }
+
+ /** Represents an EnumValueDescriptorProto. */
+ class EnumValueDescriptorProto implements IEnumValueDescriptorProto {
+
+ /**
+ * Constructs a new EnumValueDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueDescriptorProto);
+
+ /** EnumValueDescriptorProto name. */
+ public name: string;
+
+ /** EnumValueDescriptorProto number. */
+ public number: number;
+
+ /** EnumValueDescriptorProto options. */
+ public options?: (google.protobuf.IEnumValueOptions|null);
+
+ /**
+ * Creates a new EnumValueDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages.
+ * @param message EnumValueDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Verifies an EnumValueDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto;
+
+ /**
+ * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified.
+ * @param message EnumValueDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceDescriptorProto. */
+ interface IServiceDescriptorProto {
+
+ /** ServiceDescriptorProto name */
+ name?: (string|null);
+
+ /** ServiceDescriptorProto method */
+ method?: (google.protobuf.IMethodDescriptorProto[]|null);
+
+ /** ServiceDescriptorProto options */
+ options?: (google.protobuf.IServiceOptions|null);
+ }
+
+ /** Represents a ServiceDescriptorProto. */
+ class ServiceDescriptorProto implements IServiceDescriptorProto {
+
+ /**
+ * Constructs a new ServiceDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceDescriptorProto);
+
+ /** ServiceDescriptorProto name. */
+ public name: string;
+
+ /** ServiceDescriptorProto method. */
+ public method: google.protobuf.IMethodDescriptorProto[];
+
+ /** ServiceDescriptorProto options. */
+ public options?: (google.protobuf.IServiceOptions|null);
+
+ /**
+ * Creates a new ServiceDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages.
+ * @param message ServiceDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Verifies a ServiceDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto;
+
+ /**
+ * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified.
+ * @param message ServiceDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodDescriptorProto. */
+ interface IMethodDescriptorProto {
+
+ /** MethodDescriptorProto name */
+ name?: (string|null);
+
+ /** MethodDescriptorProto inputType */
+ inputType?: (string|null);
+
+ /** MethodDescriptorProto outputType */
+ outputType?: (string|null);
+
+ /** MethodDescriptorProto options */
+ options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming */
+ clientStreaming?: (boolean|null);
+
+ /** MethodDescriptorProto serverStreaming */
+ serverStreaming?: (boolean|null);
+ }
+
+ /** Represents a MethodDescriptorProto. */
+ class MethodDescriptorProto implements IMethodDescriptorProto {
+
+ /**
+ * Constructs a new MethodDescriptorProto.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodDescriptorProto);
+
+ /** MethodDescriptorProto name. */
+ public name: string;
+
+ /** MethodDescriptorProto inputType. */
+ public inputType: string;
+
+ /** MethodDescriptorProto outputType. */
+ public outputType: string;
+
+ /** MethodDescriptorProto options. */
+ public options?: (google.protobuf.IMethodOptions|null);
+
+ /** MethodDescriptorProto clientStreaming. */
+ public clientStreaming: boolean;
+
+ /** MethodDescriptorProto serverStreaming. */
+ public serverStreaming: boolean;
+
+ /**
+ * Creates a new MethodDescriptorProto instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodDescriptorProto instance
+ */
+ public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages.
+ * @param message MethodDescriptorProto message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodDescriptorProto
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Verifies a MethodDescriptorProto message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodDescriptorProto
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto;
+
+ /**
+ * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified.
+ * @param message MethodDescriptorProto
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodDescriptorProto to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodDescriptorProto
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FileOptions. */
+ interface IFileOptions {
+
+ /** FileOptions javaPackage */
+ javaPackage?: (string|null);
+
+ /** FileOptions javaOuterClassname */
+ javaOuterClassname?: (string|null);
+
+ /** FileOptions javaMultipleFiles */
+ javaMultipleFiles?: (boolean|null);
+
+ /** FileOptions javaGenerateEqualsAndHash */
+ javaGenerateEqualsAndHash?: (boolean|null);
+
+ /** FileOptions javaStringCheckUtf8 */
+ javaStringCheckUtf8?: (boolean|null);
+
+ /** FileOptions optimizeFor */
+ optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode|null);
+
+ /** FileOptions goPackage */
+ goPackage?: (string|null);
+
+ /** FileOptions ccGenericServices */
+ ccGenericServices?: (boolean|null);
+
+ /** FileOptions javaGenericServices */
+ javaGenericServices?: (boolean|null);
+
+ /** FileOptions pyGenericServices */
+ pyGenericServices?: (boolean|null);
+
+ /** FileOptions phpGenericServices */
+ phpGenericServices?: (boolean|null);
+
+ /** FileOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FileOptions ccEnableArenas */
+ ccEnableArenas?: (boolean|null);
+
+ /** FileOptions objcClassPrefix */
+ objcClassPrefix?: (string|null);
+
+ /** FileOptions csharpNamespace */
+ csharpNamespace?: (string|null);
+
+ /** FileOptions swiftPrefix */
+ swiftPrefix?: (string|null);
+
+ /** FileOptions phpClassPrefix */
+ phpClassPrefix?: (string|null);
+
+ /** FileOptions phpNamespace */
+ phpNamespace?: (string|null);
+
+ /** FileOptions phpMetadataNamespace */
+ phpMetadataNamespace?: (string|null);
+
+ /** FileOptions rubyPackage */
+ rubyPackage?: (string|null);
+
+ /** FileOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FileOptions .google.api.resourceDefinition */
+ ".google.api.resourceDefinition"?: (google.api.IResourceDescriptor[]|null);
+ }
+
+ /** Represents a FileOptions. */
+ class FileOptions implements IFileOptions {
+
+ /**
+ * Constructs a new FileOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFileOptions);
+
+ /** FileOptions javaPackage. */
+ public javaPackage: string;
+
+ /** FileOptions javaOuterClassname. */
+ public javaOuterClassname: string;
+
+ /** FileOptions javaMultipleFiles. */
+ public javaMultipleFiles: boolean;
+
+ /** FileOptions javaGenerateEqualsAndHash. */
+ public javaGenerateEqualsAndHash: boolean;
+
+ /** FileOptions javaStringCheckUtf8. */
+ public javaStringCheckUtf8: boolean;
+
+ /** FileOptions optimizeFor. */
+ public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode);
+
+ /** FileOptions goPackage. */
+ public goPackage: string;
+
+ /** FileOptions ccGenericServices. */
+ public ccGenericServices: boolean;
+
+ /** FileOptions javaGenericServices. */
+ public javaGenericServices: boolean;
+
+ /** FileOptions pyGenericServices. */
+ public pyGenericServices: boolean;
+
+ /** FileOptions phpGenericServices. */
+ public phpGenericServices: boolean;
+
+ /** FileOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FileOptions ccEnableArenas. */
+ public ccEnableArenas: boolean;
+
+ /** FileOptions objcClassPrefix. */
+ public objcClassPrefix: string;
+
+ /** FileOptions csharpNamespace. */
+ public csharpNamespace: string;
+
+ /** FileOptions swiftPrefix. */
+ public swiftPrefix: string;
+
+ /** FileOptions phpClassPrefix. */
+ public phpClassPrefix: string;
+
+ /** FileOptions phpNamespace. */
+ public phpNamespace: string;
+
+ /** FileOptions phpMetadataNamespace. */
+ public phpMetadataNamespace: string;
+
+ /** FileOptions rubyPackage. */
+ public rubyPackage: string;
+
+ /** FileOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FileOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileOptions instance
+ */
+ public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions;
+
+ /**
+ * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages.
+ * @param message FileOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions;
+
+ /**
+ * Decodes a FileOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions;
+
+ /**
+ * Verifies a FileOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions;
+
+ /**
+ * Creates a plain object from a FileOptions message. Also converts values to other types if specified.
+ * @param message FileOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FileOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FileOptions {
+
+ /** OptimizeMode enum. */
+ enum OptimizeMode {
+ SPEED = 1,
+ CODE_SIZE = 2,
+ LITE_RUNTIME = 3
+ }
+ }
+
+ /** Properties of a MessageOptions. */
+ interface IMessageOptions {
+
+ /** MessageOptions messageSetWireFormat */
+ messageSetWireFormat?: (boolean|null);
+
+ /** MessageOptions noStandardDescriptorAccessor */
+ noStandardDescriptorAccessor?: (boolean|null);
+
+ /** MessageOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MessageOptions mapEntry */
+ mapEntry?: (boolean|null);
+
+ /** MessageOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MessageOptions .google.api.resource */
+ ".google.api.resource"?: (google.api.IResourceDescriptor|null);
+ }
+
+ /** Represents a MessageOptions. */
+ class MessageOptions implements IMessageOptions {
+
+ /**
+ * Constructs a new MessageOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMessageOptions);
+
+ /** MessageOptions messageSetWireFormat. */
+ public messageSetWireFormat: boolean;
+
+ /** MessageOptions noStandardDescriptorAccessor. */
+ public noStandardDescriptorAccessor: boolean;
+
+ /** MessageOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MessageOptions mapEntry. */
+ public mapEntry: boolean;
+
+ /** MessageOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MessageOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MessageOptions instance
+ */
+ public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions;
+
+ /**
+ * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages.
+ * @param message MessageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions;
+
+ /**
+ * Decodes a MessageOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MessageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions;
+
+ /**
+ * Verifies a MessageOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MessageOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions;
+
+ /**
+ * Creates a plain object from a MessageOptions message. Also converts values to other types if specified.
+ * @param message MessageOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MessageOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MessageOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldOptions. */
+ interface IFieldOptions {
+
+ /** FieldOptions ctype */
+ ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null);
+
+ /** FieldOptions packed */
+ packed?: (boolean|null);
+
+ /** FieldOptions jstype */
+ jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null);
+
+ /** FieldOptions lazy */
+ lazy?: (boolean|null);
+
+ /** FieldOptions unverifiedLazy */
+ unverifiedLazy?: (boolean|null);
+
+ /** FieldOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** FieldOptions weak */
+ weak?: (boolean|null);
+
+ /** FieldOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** FieldOptions .google.api.fieldBehavior */
+ ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null);
+
+ /** FieldOptions .google.api.resourceReference */
+ ".google.api.resourceReference"?: (google.api.IResourceReference|null);
+ }
+
+ /** Represents a FieldOptions. */
+ class FieldOptions implements IFieldOptions {
+
+ /**
+ * Constructs a new FieldOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldOptions);
+
+ /** FieldOptions ctype. */
+ public ctype: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType);
+
+ /** FieldOptions packed. */
+ public packed: boolean;
+
+ /** FieldOptions jstype. */
+ public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType);
+
+ /** FieldOptions lazy. */
+ public lazy: boolean;
+
+ /** FieldOptions unverifiedLazy. */
+ public unverifiedLazy: boolean;
+
+ /** FieldOptions deprecated. */
+ public deprecated: boolean;
+
+ /** FieldOptions weak. */
+ public weak: boolean;
+
+ /** FieldOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new FieldOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldOptions instance
+ */
+ public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions;
+
+ /**
+ * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages.
+ * @param message FieldOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions;
+
+ /**
+ * Decodes a FieldOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions;
+
+ /**
+ * Verifies a FieldOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions;
+
+ /**
+ * Creates a plain object from a FieldOptions message. Also converts values to other types if specified.
+ * @param message FieldOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace FieldOptions {
+
+ /** CType enum. */
+ enum CType {
+ STRING = 0,
+ CORD = 1,
+ STRING_PIECE = 2
+ }
+
+ /** JSType enum. */
+ enum JSType {
+ JS_NORMAL = 0,
+ JS_STRING = 1,
+ JS_NUMBER = 2
+ }
+ }
+
+ /** Properties of an OneofOptions. */
+ interface IOneofOptions {
+
+ /** OneofOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an OneofOptions. */
+ class OneofOptions implements IOneofOptions {
+
+ /**
+ * Constructs a new OneofOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IOneofOptions);
+
+ /** OneofOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new OneofOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OneofOptions instance
+ */
+ public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions;
+
+ /**
+ * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages.
+ * @param message OneofOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions;
+
+ /**
+ * Decodes an OneofOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OneofOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions;
+
+ /**
+ * Verifies an OneofOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OneofOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions;
+
+ /**
+ * Creates a plain object from an OneofOptions message. Also converts values to other types if specified.
+ * @param message OneofOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OneofOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OneofOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumOptions. */
+ interface IEnumOptions {
+
+ /** EnumOptions allowAlias */
+ allowAlias?: (boolean|null);
+
+ /** EnumOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumOptions. */
+ class EnumOptions implements IEnumOptions {
+
+ /**
+ * Constructs a new EnumOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumOptions);
+
+ /** EnumOptions allowAlias. */
+ public allowAlias: boolean;
+
+ /** EnumOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions;
+
+ /**
+ * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages.
+ * @param message EnumOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions;
+
+ /**
+ * Decodes an EnumOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions;
+
+ /**
+ * Verifies an EnumOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions;
+
+ /**
+ * Creates a plain object from an EnumOptions message. Also converts values to other types if specified.
+ * @param message EnumOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EnumValueOptions. */
+ interface IEnumValueOptions {
+
+ /** EnumValueOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** EnumValueOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+ }
+
+ /** Represents an EnumValueOptions. */
+ class EnumValueOptions implements IEnumValueOptions {
+
+ /**
+ * Constructs a new EnumValueOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEnumValueOptions);
+
+ /** EnumValueOptions deprecated. */
+ public deprecated: boolean;
+
+ /** EnumValueOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new EnumValueOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EnumValueOptions instance
+ */
+ public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions;
+
+ /**
+ * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages.
+ * @param message EnumValueOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions;
+
+ /**
+ * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EnumValueOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions;
+
+ /**
+ * Verifies an EnumValueOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EnumValueOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions;
+
+ /**
+ * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified.
+ * @param message EnumValueOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EnumValueOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EnumValueOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ServiceOptions. */
+ interface IServiceOptions {
+
+ /** ServiceOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** ServiceOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** ServiceOptions .google.api.defaultHost */
+ ".google.api.defaultHost"?: (string|null);
+
+ /** ServiceOptions .google.api.oauthScopes */
+ ".google.api.oauthScopes"?: (string|null);
+ }
+
+ /** Represents a ServiceOptions. */
+ class ServiceOptions implements IServiceOptions {
+
+ /**
+ * Constructs a new ServiceOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IServiceOptions);
+
+ /** ServiceOptions deprecated. */
+ public deprecated: boolean;
+
+ /** ServiceOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new ServiceOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ServiceOptions instance
+ */
+ public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions;
+
+ /**
+ * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages.
+ * @param message ServiceOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions;
+
+ /**
+ * Decodes a ServiceOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ServiceOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions;
+
+ /**
+ * Verifies a ServiceOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ServiceOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions;
+
+ /**
+ * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified.
+ * @param message ServiceOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ServiceOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ServiceOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MethodOptions. */
+ interface IMethodOptions {
+
+ /** MethodOptions deprecated */
+ deprecated?: (boolean|null);
+
+ /** MethodOptions idempotencyLevel */
+ idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null);
+
+ /** MethodOptions uninterpretedOption */
+ uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
+
+ /** MethodOptions .google.api.http */
+ ".google.api.http"?: (google.api.IHttpRule|null);
+
+ /** MethodOptions .google.api.methodSignature */
+ ".google.api.methodSignature"?: (string[]|null);
+ }
+
+ /** Represents a MethodOptions. */
+ class MethodOptions implements IMethodOptions {
+
+ /**
+ * Constructs a new MethodOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IMethodOptions);
+
+ /** MethodOptions deprecated. */
+ public deprecated: boolean;
+
+ /** MethodOptions idempotencyLevel. */
+ public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel);
+
+ /** MethodOptions uninterpretedOption. */
+ public uninterpretedOption: google.protobuf.IUninterpretedOption[];
+
+ /**
+ * Creates a new MethodOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MethodOptions instance
+ */
+ public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions;
+
+ /**
+ * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages.
+ * @param message MethodOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions;
+
+ /**
+ * Decodes a MethodOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MethodOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions;
+
+ /**
+ * Verifies a MethodOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MethodOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions;
+
+ /**
+ * Creates a plain object from a MethodOptions message. Also converts values to other types if specified.
+ * @param message MethodOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MethodOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MethodOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace MethodOptions {
+
+ /** IdempotencyLevel enum. */
+ enum IdempotencyLevel {
+ IDEMPOTENCY_UNKNOWN = 0,
+ NO_SIDE_EFFECTS = 1,
+ IDEMPOTENT = 2
+ }
+ }
+
+ /** Properties of an UninterpretedOption. */
+ interface IUninterpretedOption {
+
+ /** UninterpretedOption name */
+ name?: (google.protobuf.UninterpretedOption.INamePart[]|null);
+
+ /** UninterpretedOption identifierValue */
+ identifierValue?: (string|null);
+
+ /** UninterpretedOption positiveIntValue */
+ positiveIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption negativeIntValue */
+ negativeIntValue?: (number|Long|string|null);
+
+ /** UninterpretedOption doubleValue */
+ doubleValue?: (number|null);
+
+ /** UninterpretedOption stringValue */
+ stringValue?: (Uint8Array|string|null);
+
+ /** UninterpretedOption aggregateValue */
+ aggregateValue?: (string|null);
+ }
+
+ /** Represents an UninterpretedOption. */
+ class UninterpretedOption implements IUninterpretedOption {
+
+ /**
+ * Constructs a new UninterpretedOption.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IUninterpretedOption);
+
+ /** UninterpretedOption name. */
+ public name: google.protobuf.UninterpretedOption.INamePart[];
+
+ /** UninterpretedOption identifierValue. */
+ public identifierValue: string;
+
+ /** UninterpretedOption positiveIntValue. */
+ public positiveIntValue: (number|Long|string);
+
+ /** UninterpretedOption negativeIntValue. */
+ public negativeIntValue: (number|Long|string);
+
+ /** UninterpretedOption doubleValue. */
+ public doubleValue: number;
+
+ /** UninterpretedOption stringValue. */
+ public stringValue: (Uint8Array|string);
+
+ /** UninterpretedOption aggregateValue. */
+ public aggregateValue: string;
+
+ /**
+ * Creates a new UninterpretedOption instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UninterpretedOption instance
+ */
+ public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption;
+
+ /**
+ * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages.
+ * @param message UninterpretedOption message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption;
+
+ /**
+ * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UninterpretedOption
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption;
+
+ /**
+ * Verifies an UninterpretedOption message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UninterpretedOption
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption;
+
+ /**
+ * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified.
+ * @param message UninterpretedOption
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UninterpretedOption to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UninterpretedOption
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace UninterpretedOption {
+
+ /** Properties of a NamePart. */
+ interface INamePart {
+
+ /** NamePart namePart */
+ namePart: string;
+
+ /** NamePart isExtension */
+ isExtension: boolean;
+ }
+
+ /** Represents a NamePart. */
+ class NamePart implements INamePart {
+
+ /**
+ * Constructs a new NamePart.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.UninterpretedOption.INamePart);
+
+ /** NamePart namePart. */
+ public namePart: string;
+
+ /** NamePart isExtension. */
+ public isExtension: boolean;
+
+ /**
+ * Creates a new NamePart instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NamePart instance
+ */
+ public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages.
+ * @param message NamePart message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Decodes a NamePart message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NamePart
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Verifies a NamePart message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NamePart message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NamePart
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart;
+
+ /**
+ * Creates a plain object from a NamePart message. Also converts values to other types if specified.
+ * @param message NamePart
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NamePart to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for NamePart
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a SourceCodeInfo. */
+ interface ISourceCodeInfo {
+
+ /** SourceCodeInfo location */
+ location?: (google.protobuf.SourceCodeInfo.ILocation[]|null);
+ }
+
+ /** Represents a SourceCodeInfo. */
+ class SourceCodeInfo implements ISourceCodeInfo {
+
+ /**
+ * Constructs a new SourceCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ISourceCodeInfo);
+
+ /** SourceCodeInfo location. */
+ public location: google.protobuf.SourceCodeInfo.ILocation[];
+
+ /**
+ * Creates a new SourceCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SourceCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages.
+ * @param message SourceCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SourceCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Verifies a SourceCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SourceCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo;
+
+ /**
+ * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified.
+ * @param message SourceCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SourceCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SourceCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace SourceCodeInfo {
+
+ /** Properties of a Location. */
+ interface ILocation {
+
+ /** Location path */
+ path?: (number[]|null);
+
+ /** Location span */
+ span?: (number[]|null);
+
+ /** Location leadingComments */
+ leadingComments?: (string|null);
+
+ /** Location trailingComments */
+ trailingComments?: (string|null);
+
+ /** Location leadingDetachedComments */
+ leadingDetachedComments?: (string[]|null);
+ }
+
+ /** Represents a Location. */
+ class Location implements ILocation {
+
+ /**
+ * Constructs a new Location.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.SourceCodeInfo.ILocation);
+
+ /** Location path. */
+ public path: number[];
+
+ /** Location span. */
+ public span: number[];
+
+ /** Location leadingComments. */
+ public leadingComments: string;
+
+ /** Location trailingComments. */
+ public trailingComments: string;
+
+ /** Location leadingDetachedComments. */
+ public leadingDetachedComments: string[];
+
+ /**
+ * Creates a new Location instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Location instance
+ */
+ public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages.
+ * @param message Location message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Decodes a Location message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Location
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Verifies a Location message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Location message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Location
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location;
+
+ /**
+ * Creates a plain object from a Location message. Also converts values to other types if specified.
+ * @param message Location
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Location to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Location
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a GeneratedCodeInfo. */
+ interface IGeneratedCodeInfo {
+
+ /** GeneratedCodeInfo annotation */
+ annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null);
+ }
+
+ /** Represents a GeneratedCodeInfo. */
+ class GeneratedCodeInfo implements IGeneratedCodeInfo {
+
+ /**
+ * Constructs a new GeneratedCodeInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IGeneratedCodeInfo);
+
+ /** GeneratedCodeInfo annotation. */
+ public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[];
+
+ /**
+ * Creates a new GeneratedCodeInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GeneratedCodeInfo instance
+ */
+ public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages.
+ * @param message GeneratedCodeInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GeneratedCodeInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Verifies a GeneratedCodeInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GeneratedCodeInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo;
+
+ /**
+ * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified.
+ * @param message GeneratedCodeInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GeneratedCodeInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GeneratedCodeInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace GeneratedCodeInfo {
+
+ /** Properties of an Annotation. */
+ interface IAnnotation {
+
+ /** Annotation path */
+ path?: (number[]|null);
+
+ /** Annotation sourceFile */
+ sourceFile?: (string|null);
+
+ /** Annotation begin */
+ begin?: (number|null);
+
+ /** Annotation end */
+ end?: (number|null);
+
+ /** Annotation semantic */
+ semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null);
+ }
+
+ /** Represents an Annotation. */
+ class Annotation implements IAnnotation {
+
+ /**
+ * Constructs a new Annotation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation);
+
+ /** Annotation path. */
+ public path: number[];
+
+ /** Annotation sourceFile. */
+ public sourceFile: string;
+
+ /** Annotation begin. */
+ public begin: number;
+
+ /** Annotation end. */
+ public end: number;
+
+ /** Annotation semantic. */
+ public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic);
+
+ /**
+ * Creates a new Annotation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Annotation instance
+ */
+ public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages.
+ * @param message Annotation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Decodes an Annotation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Annotation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Verifies an Annotation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Annotation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Annotation
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation;
+
+ /**
+ * Creates a plain object from an Annotation message. Also converts values to other types if specified.
+ * @param message Annotation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Annotation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Annotation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Annotation {
+
+ /** Semantic enum. */
+ enum Semantic {
+ NONE = 0,
+ SET = 1,
+ ALIAS = 2
+ }
+ }
+ }
+
+ /** Properties of a 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 an Empty. */
+ interface IEmpty {
+ }
+
+ /** Represents an Empty. */
+ class Empty implements IEmpty {
+
+ /**
+ * Constructs a new Empty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEmpty);
+
+ /**
+ * Creates a new Empty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Empty instance
+ */
+ public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty;
+
+ /**
+ * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty;
+
+ /**
+ * Verifies an Empty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Empty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Empty
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Empty;
+
+ /**
+ * Creates a plain object from an Empty message. Also converts values to other types if specified.
+ * @param message Empty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Empty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Empty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Timestamp. */
+ interface ITimestamp {
+
+ /** Timestamp seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Timestamp nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Timestamp. */
+ class Timestamp implements ITimestamp {
+
+ /**
+ * Constructs a new Timestamp.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ITimestamp);
+
+ /** Timestamp seconds. */
+ public seconds: (number|Long|string);
+
+ /** Timestamp nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Timestamp instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Timestamp instance
+ */
+ public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp;
+
+ /**
+ * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp;
+
+ /**
+ * Verifies a Timestamp message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Timestamp message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Timestamp
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp;
+
+ /**
+ * Creates a plain object from a Timestamp message. Also converts values to other types if specified.
+ * @param message Timestamp
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Timestamp to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Timestamp
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace iam. */
+ namespace iam {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** Represents a IAMPolicy */
+ class IAMPolicy extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new IAMPolicy 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 IAMPolicy 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): IAMPolicy;
+
+ /**
+ * Calls SetIamPolicy.
+ * @param request SetIamPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Policy
+ */
+ public setIamPolicy(request: google.iam.v1.ISetIamPolicyRequest, callback: google.iam.v1.IAMPolicy.SetIamPolicyCallback): void;
+
+ /**
+ * Calls SetIamPolicy.
+ * @param request SetIamPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public setIamPolicy(request: google.iam.v1.ISetIamPolicyRequest): Promise;
+
+ /**
+ * Calls GetIamPolicy.
+ * @param request GetIamPolicyRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Policy
+ */
+ public getIamPolicy(request: google.iam.v1.IGetIamPolicyRequest, callback: google.iam.v1.IAMPolicy.GetIamPolicyCallback): void;
+
+ /**
+ * Calls GetIamPolicy.
+ * @param request GetIamPolicyRequest message or plain object
+ * @returns Promise
+ */
+ public getIamPolicy(request: google.iam.v1.IGetIamPolicyRequest): Promise;
+
+ /**
+ * Calls TestIamPermissions.
+ * @param request TestIamPermissionsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and TestIamPermissionsResponse
+ */
+ public testIamPermissions(request: google.iam.v1.ITestIamPermissionsRequest, callback: google.iam.v1.IAMPolicy.TestIamPermissionsCallback): void;
+
+ /**
+ * Calls TestIamPermissions.
+ * @param request TestIamPermissionsRequest message or plain object
+ * @returns Promise
+ */
+ public testIamPermissions(request: google.iam.v1.ITestIamPermissionsRequest): Promise;
+ }
+
+ namespace IAMPolicy {
+
+ /**
+ * Callback as used by {@link google.iam.v1.IAMPolicy|setIamPolicy}.
+ * @param error Error, if any
+ * @param [response] Policy
+ */
+ type SetIamPolicyCallback = (error: (Error|null), response?: google.iam.v1.Policy) => void;
+
+ /**
+ * Callback as used by {@link google.iam.v1.IAMPolicy|getIamPolicy}.
+ * @param error Error, if any
+ * @param [response] Policy
+ */
+ type GetIamPolicyCallback = (error: (Error|null), response?: google.iam.v1.Policy) => void;
+
+ /**
+ * Callback as used by {@link google.iam.v1.IAMPolicy|testIamPermissions}.
+ * @param error Error, if any
+ * @param [response] TestIamPermissionsResponse
+ */
+ type TestIamPermissionsCallback = (error: (Error|null), response?: google.iam.v1.TestIamPermissionsResponse) => void;
+ }
+
+ /** Properties of a SetIamPolicyRequest. */
+ interface ISetIamPolicyRequest {
+
+ /** SetIamPolicyRequest resource */
+ resource?: (string|null);
+
+ /** SetIamPolicyRequest policy */
+ policy?: (google.iam.v1.IPolicy|null);
+
+ /** SetIamPolicyRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents a SetIamPolicyRequest. */
+ class SetIamPolicyRequest implements ISetIamPolicyRequest {
+
+ /**
+ * Constructs a new SetIamPolicyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.ISetIamPolicyRequest);
+
+ /** SetIamPolicyRequest resource. */
+ public resource: string;
+
+ /** SetIamPolicyRequest policy. */
+ public policy?: (google.iam.v1.IPolicy|null);
+
+ /** SetIamPolicyRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new SetIamPolicyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SetIamPolicyRequest instance
+ */
+ public static create(properties?: google.iam.v1.ISetIamPolicyRequest): google.iam.v1.SetIamPolicyRequest;
+
+ /**
+ * Encodes the specified SetIamPolicyRequest message. Does not implicitly {@link google.iam.v1.SetIamPolicyRequest.verify|verify} messages.
+ * @param message SetIamPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.ISetIamPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SetIamPolicyRequest message, length delimited. Does not implicitly {@link google.iam.v1.SetIamPolicyRequest.verify|verify} messages.
+ * @param message SetIamPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.ISetIamPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SetIamPolicyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SetIamPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.SetIamPolicyRequest;
+
+ /**
+ * Decodes a SetIamPolicyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SetIamPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.SetIamPolicyRequest;
+
+ /**
+ * Verifies a SetIamPolicyRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SetIamPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SetIamPolicyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.SetIamPolicyRequest;
+
+ /**
+ * Creates a plain object from a SetIamPolicyRequest message. Also converts values to other types if specified.
+ * @param message SetIamPolicyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.SetIamPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SetIamPolicyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SetIamPolicyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetIamPolicyRequest. */
+ interface IGetIamPolicyRequest {
+
+ /** GetIamPolicyRequest resource */
+ resource?: (string|null);
+
+ /** GetIamPolicyRequest options */
+ options?: (google.iam.v1.IGetPolicyOptions|null);
+ }
+
+ /** Represents a GetIamPolicyRequest. */
+ class GetIamPolicyRequest implements IGetIamPolicyRequest {
+
+ /**
+ * Constructs a new GetIamPolicyRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IGetIamPolicyRequest);
+
+ /** GetIamPolicyRequest resource. */
+ public resource: string;
+
+ /** GetIamPolicyRequest options. */
+ public options?: (google.iam.v1.IGetPolicyOptions|null);
+
+ /**
+ * Creates a new GetIamPolicyRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetIamPolicyRequest instance
+ */
+ public static create(properties?: google.iam.v1.IGetIamPolicyRequest): google.iam.v1.GetIamPolicyRequest;
+
+ /**
+ * Encodes the specified GetIamPolicyRequest message. Does not implicitly {@link google.iam.v1.GetIamPolicyRequest.verify|verify} messages.
+ * @param message GetIamPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IGetIamPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetIamPolicyRequest message, length delimited. Does not implicitly {@link google.iam.v1.GetIamPolicyRequest.verify|verify} messages.
+ * @param message GetIamPolicyRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IGetIamPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetIamPolicyRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetIamPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.GetIamPolicyRequest;
+
+ /**
+ * Decodes a GetIamPolicyRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetIamPolicyRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.GetIamPolicyRequest;
+
+ /**
+ * Verifies a GetIamPolicyRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetIamPolicyRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetIamPolicyRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.GetIamPolicyRequest;
+
+ /**
+ * Creates a plain object from a GetIamPolicyRequest message. Also converts values to other types if specified.
+ * @param message GetIamPolicyRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.GetIamPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetIamPolicyRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetIamPolicyRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TestIamPermissionsRequest. */
+ interface ITestIamPermissionsRequest {
+
+ /** TestIamPermissionsRequest resource */
+ resource?: (string|null);
+
+ /** TestIamPermissionsRequest permissions */
+ permissions?: (string[]|null);
+ }
+
+ /** Represents a TestIamPermissionsRequest. */
+ class TestIamPermissionsRequest implements ITestIamPermissionsRequest {
+
+ /**
+ * Constructs a new TestIamPermissionsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.ITestIamPermissionsRequest);
+
+ /** TestIamPermissionsRequest resource. */
+ public resource: string;
+
+ /** TestIamPermissionsRequest permissions. */
+ public permissions: string[];
+
+ /**
+ * Creates a new TestIamPermissionsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TestIamPermissionsRequest instance
+ */
+ public static create(properties?: google.iam.v1.ITestIamPermissionsRequest): google.iam.v1.TestIamPermissionsRequest;
+
+ /**
+ * Encodes the specified TestIamPermissionsRequest message. Does not implicitly {@link google.iam.v1.TestIamPermissionsRequest.verify|verify} messages.
+ * @param message TestIamPermissionsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.ITestIamPermissionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TestIamPermissionsRequest message, length delimited. Does not implicitly {@link google.iam.v1.TestIamPermissionsRequest.verify|verify} messages.
+ * @param message TestIamPermissionsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.ITestIamPermissionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TestIamPermissionsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TestIamPermissionsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.TestIamPermissionsRequest;
+
+ /**
+ * Decodes a TestIamPermissionsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TestIamPermissionsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.TestIamPermissionsRequest;
+
+ /**
+ * Verifies a TestIamPermissionsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TestIamPermissionsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TestIamPermissionsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.TestIamPermissionsRequest;
+
+ /**
+ * Creates a plain object from a TestIamPermissionsRequest message. Also converts values to other types if specified.
+ * @param message TestIamPermissionsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.TestIamPermissionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TestIamPermissionsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TestIamPermissionsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TestIamPermissionsResponse. */
+ interface ITestIamPermissionsResponse {
+
+ /** TestIamPermissionsResponse permissions */
+ permissions?: (string[]|null);
+ }
+
+ /** Represents a TestIamPermissionsResponse. */
+ class TestIamPermissionsResponse implements ITestIamPermissionsResponse {
+
+ /**
+ * Constructs a new TestIamPermissionsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.ITestIamPermissionsResponse);
+
+ /** TestIamPermissionsResponse permissions. */
+ public permissions: string[];
+
+ /**
+ * Creates a new TestIamPermissionsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TestIamPermissionsResponse instance
+ */
+ public static create(properties?: google.iam.v1.ITestIamPermissionsResponse): google.iam.v1.TestIamPermissionsResponse;
+
+ /**
+ * Encodes the specified TestIamPermissionsResponse message. Does not implicitly {@link google.iam.v1.TestIamPermissionsResponse.verify|verify} messages.
+ * @param message TestIamPermissionsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.ITestIamPermissionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TestIamPermissionsResponse message, length delimited. Does not implicitly {@link google.iam.v1.TestIamPermissionsResponse.verify|verify} messages.
+ * @param message TestIamPermissionsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.ITestIamPermissionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TestIamPermissionsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TestIamPermissionsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.TestIamPermissionsResponse;
+
+ /**
+ * Decodes a TestIamPermissionsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TestIamPermissionsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.TestIamPermissionsResponse;
+
+ /**
+ * Verifies a TestIamPermissionsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TestIamPermissionsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TestIamPermissionsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.TestIamPermissionsResponse;
+
+ /**
+ * Creates a plain object from a TestIamPermissionsResponse message. Also converts values to other types if specified.
+ * @param message TestIamPermissionsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.TestIamPermissionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TestIamPermissionsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TestIamPermissionsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetPolicyOptions. */
+ interface IGetPolicyOptions {
+
+ /** GetPolicyOptions requestedPolicyVersion */
+ requestedPolicyVersion?: (number|null);
+ }
+
+ /** Represents a GetPolicyOptions. */
+ class GetPolicyOptions implements IGetPolicyOptions {
+
+ /**
+ * Constructs a new GetPolicyOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IGetPolicyOptions);
+
+ /** GetPolicyOptions requestedPolicyVersion. */
+ public requestedPolicyVersion: number;
+
+ /**
+ * Creates a new GetPolicyOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetPolicyOptions instance
+ */
+ public static create(properties?: google.iam.v1.IGetPolicyOptions): google.iam.v1.GetPolicyOptions;
+
+ /**
+ * Encodes the specified GetPolicyOptions message. Does not implicitly {@link google.iam.v1.GetPolicyOptions.verify|verify} messages.
+ * @param message GetPolicyOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IGetPolicyOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetPolicyOptions message, length delimited. Does not implicitly {@link google.iam.v1.GetPolicyOptions.verify|verify} messages.
+ * @param message GetPolicyOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IGetPolicyOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetPolicyOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetPolicyOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.GetPolicyOptions;
+
+ /**
+ * Decodes a GetPolicyOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetPolicyOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.GetPolicyOptions;
+
+ /**
+ * Verifies a GetPolicyOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetPolicyOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetPolicyOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.GetPolicyOptions;
+
+ /**
+ * Creates a plain object from a GetPolicyOptions message. Also converts values to other types if specified.
+ * @param message GetPolicyOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.GetPolicyOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetPolicyOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetPolicyOptions
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Policy. */
+ interface IPolicy {
+
+ /** Policy version */
+ version?: (number|null);
+
+ /** Policy bindings */
+ bindings?: (google.iam.v1.IBinding[]|null);
+
+ /** Policy auditConfigs */
+ auditConfigs?: (google.iam.v1.IAuditConfig[]|null);
+
+ /** Policy etag */
+ etag?: (Uint8Array|string|null);
+ }
+
+ /** Represents a Policy. */
+ class Policy implements IPolicy {
+
+ /**
+ * Constructs a new Policy.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IPolicy);
+
+ /** Policy version. */
+ public version: number;
+
+ /** Policy bindings. */
+ public bindings: google.iam.v1.IBinding[];
+
+ /** Policy auditConfigs. */
+ public auditConfigs: google.iam.v1.IAuditConfig[];
+
+ /** Policy etag. */
+ public etag: (Uint8Array|string);
+
+ /**
+ * Creates a new Policy instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Policy instance
+ */
+ public static create(properties?: google.iam.v1.IPolicy): google.iam.v1.Policy;
+
+ /**
+ * Encodes the specified Policy message. Does not implicitly {@link google.iam.v1.Policy.verify|verify} messages.
+ * @param message Policy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Policy message, length delimited. Does not implicitly {@link google.iam.v1.Policy.verify|verify} messages.
+ * @param message Policy message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IPolicy, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Policy message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Policy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.Policy;
+
+ /**
+ * Decodes a Policy message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Policy
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.Policy;
+
+ /**
+ * Verifies a Policy message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Policy message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Policy
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.Policy;
+
+ /**
+ * Creates a plain object from a Policy message. Also converts values to other types if specified.
+ * @param message Policy
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.Policy, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Policy to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Policy
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Binding. */
+ interface IBinding {
+
+ /** Binding role */
+ role?: (string|null);
+
+ /** Binding members */
+ members?: (string[]|null);
+
+ /** Binding condition */
+ condition?: (google.type.IExpr|null);
+ }
+
+ /** Represents a Binding. */
+ class Binding implements IBinding {
+
+ /**
+ * Constructs a new Binding.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IBinding);
+
+ /** Binding role. */
+ public role: string;
+
+ /** Binding members. */
+ public members: string[];
+
+ /** Binding condition. */
+ public condition?: (google.type.IExpr|null);
+
+ /**
+ * Creates a new Binding instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Binding instance
+ */
+ public static create(properties?: google.iam.v1.IBinding): google.iam.v1.Binding;
+
+ /**
+ * Encodes the specified Binding message. Does not implicitly {@link google.iam.v1.Binding.verify|verify} messages.
+ * @param message Binding message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IBinding, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Binding message, length delimited. Does not implicitly {@link google.iam.v1.Binding.verify|verify} messages.
+ * @param message Binding message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IBinding, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Binding message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Binding
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.Binding;
+
+ /**
+ * Decodes a Binding message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Binding
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.Binding;
+
+ /**
+ * Verifies a Binding message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Binding message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Binding
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.Binding;
+
+ /**
+ * Creates a plain object from a Binding message. Also converts values to other types if specified.
+ * @param message Binding
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.Binding, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Binding to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Binding
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AuditConfig. */
+ interface IAuditConfig {
+
+ /** AuditConfig service */
+ service?: (string|null);
+
+ /** AuditConfig auditLogConfigs */
+ auditLogConfigs?: (google.iam.v1.IAuditLogConfig[]|null);
+ }
+
+ /** Represents an AuditConfig. */
+ class AuditConfig implements IAuditConfig {
+
+ /**
+ * Constructs a new AuditConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IAuditConfig);
+
+ /** AuditConfig service. */
+ public service: string;
+
+ /** AuditConfig auditLogConfigs. */
+ public auditLogConfigs: google.iam.v1.IAuditLogConfig[];
+
+ /**
+ * Creates a new AuditConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AuditConfig instance
+ */
+ public static create(properties?: google.iam.v1.IAuditConfig): google.iam.v1.AuditConfig;
+
+ /**
+ * Encodes the specified AuditConfig message. Does not implicitly {@link google.iam.v1.AuditConfig.verify|verify} messages.
+ * @param message AuditConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IAuditConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AuditConfig message, length delimited. Does not implicitly {@link google.iam.v1.AuditConfig.verify|verify} messages.
+ * @param message AuditConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IAuditConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AuditConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AuditConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.AuditConfig;
+
+ /**
+ * Decodes an AuditConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AuditConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.AuditConfig;
+
+ /**
+ * Verifies an AuditConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AuditConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AuditConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.AuditConfig;
+
+ /**
+ * Creates a plain object from an AuditConfig message. Also converts values to other types if specified.
+ * @param message AuditConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.AuditConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AuditConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AuditConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AuditLogConfig. */
+ interface IAuditLogConfig {
+
+ /** AuditLogConfig logType */
+ logType?: (google.iam.v1.AuditLogConfig.LogType|keyof typeof google.iam.v1.AuditLogConfig.LogType|null);
+
+ /** AuditLogConfig exemptedMembers */
+ exemptedMembers?: (string[]|null);
+ }
+
+ /** Represents an AuditLogConfig. */
+ class AuditLogConfig implements IAuditLogConfig {
+
+ /**
+ * Constructs a new AuditLogConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IAuditLogConfig);
+
+ /** AuditLogConfig logType. */
+ public logType: (google.iam.v1.AuditLogConfig.LogType|keyof typeof google.iam.v1.AuditLogConfig.LogType);
+
+ /** AuditLogConfig exemptedMembers. */
+ public exemptedMembers: string[];
+
+ /**
+ * Creates a new AuditLogConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AuditLogConfig instance
+ */
+ public static create(properties?: google.iam.v1.IAuditLogConfig): google.iam.v1.AuditLogConfig;
+
+ /**
+ * Encodes the specified AuditLogConfig message. Does not implicitly {@link google.iam.v1.AuditLogConfig.verify|verify} messages.
+ * @param message AuditLogConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IAuditLogConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AuditLogConfig message, length delimited. Does not implicitly {@link google.iam.v1.AuditLogConfig.verify|verify} messages.
+ * @param message AuditLogConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IAuditLogConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AuditLogConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AuditLogConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.AuditLogConfig;
+
+ /**
+ * Decodes an AuditLogConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AuditLogConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.AuditLogConfig;
+
+ /**
+ * Verifies an AuditLogConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AuditLogConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AuditLogConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.AuditLogConfig;
+
+ /**
+ * Creates a plain object from an AuditLogConfig message. Also converts values to other types if specified.
+ * @param message AuditLogConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.AuditLogConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AuditLogConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AuditLogConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AuditLogConfig {
+
+ /** LogType enum. */
+ enum LogType {
+ LOG_TYPE_UNSPECIFIED = 0,
+ ADMIN_READ = 1,
+ DATA_WRITE = 2,
+ DATA_READ = 3
+ }
+ }
+
+ /** Properties of a PolicyDelta. */
+ interface IPolicyDelta {
+
+ /** PolicyDelta bindingDeltas */
+ bindingDeltas?: (google.iam.v1.IBindingDelta[]|null);
+
+ /** PolicyDelta auditConfigDeltas */
+ auditConfigDeltas?: (google.iam.v1.IAuditConfigDelta[]|null);
+ }
+
+ /** Represents a PolicyDelta. */
+ class PolicyDelta implements IPolicyDelta {
+
+ /**
+ * Constructs a new PolicyDelta.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IPolicyDelta);
+
+ /** PolicyDelta bindingDeltas. */
+ public bindingDeltas: google.iam.v1.IBindingDelta[];
+
+ /** PolicyDelta auditConfigDeltas. */
+ public auditConfigDeltas: google.iam.v1.IAuditConfigDelta[];
+
+ /**
+ * Creates a new PolicyDelta instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PolicyDelta instance
+ */
+ public static create(properties?: google.iam.v1.IPolicyDelta): google.iam.v1.PolicyDelta;
+
+ /**
+ * Encodes the specified PolicyDelta message. Does not implicitly {@link google.iam.v1.PolicyDelta.verify|verify} messages.
+ * @param message PolicyDelta message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IPolicyDelta, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PolicyDelta message, length delimited. Does not implicitly {@link google.iam.v1.PolicyDelta.verify|verify} messages.
+ * @param message PolicyDelta message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IPolicyDelta, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PolicyDelta message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PolicyDelta
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.PolicyDelta;
+
+ /**
+ * Decodes a PolicyDelta message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PolicyDelta
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.PolicyDelta;
+
+ /**
+ * Verifies a PolicyDelta message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PolicyDelta message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PolicyDelta
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.PolicyDelta;
+
+ /**
+ * Creates a plain object from a PolicyDelta message. Also converts values to other types if specified.
+ * @param message PolicyDelta
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.PolicyDelta, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PolicyDelta to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PolicyDelta
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a BindingDelta. */
+ interface IBindingDelta {
+
+ /** BindingDelta action */
+ action?: (google.iam.v1.BindingDelta.Action|keyof typeof google.iam.v1.BindingDelta.Action|null);
+
+ /** BindingDelta role */
+ role?: (string|null);
+
+ /** BindingDelta member */
+ member?: (string|null);
+
+ /** BindingDelta condition */
+ condition?: (google.type.IExpr|null);
+ }
+
+ /** Represents a BindingDelta. */
+ class BindingDelta implements IBindingDelta {
+
+ /**
+ * Constructs a new BindingDelta.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IBindingDelta);
+
+ /** BindingDelta action. */
+ public action: (google.iam.v1.BindingDelta.Action|keyof typeof google.iam.v1.BindingDelta.Action);
+
+ /** BindingDelta role. */
+ public role: string;
+
+ /** BindingDelta member. */
+ public member: string;
+
+ /** BindingDelta condition. */
+ public condition?: (google.type.IExpr|null);
+
+ /**
+ * Creates a new BindingDelta instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BindingDelta instance
+ */
+ public static create(properties?: google.iam.v1.IBindingDelta): google.iam.v1.BindingDelta;
+
+ /**
+ * Encodes the specified BindingDelta message. Does not implicitly {@link google.iam.v1.BindingDelta.verify|verify} messages.
+ * @param message BindingDelta message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IBindingDelta, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BindingDelta message, length delimited. Does not implicitly {@link google.iam.v1.BindingDelta.verify|verify} messages.
+ * @param message BindingDelta message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IBindingDelta, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BindingDelta message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BindingDelta
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.BindingDelta;
+
+ /**
+ * Decodes a BindingDelta message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BindingDelta
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.BindingDelta;
+
+ /**
+ * Verifies a BindingDelta message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BindingDelta message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BindingDelta
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.BindingDelta;
+
+ /**
+ * Creates a plain object from a BindingDelta message. Also converts values to other types if specified.
+ * @param message BindingDelta
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.BindingDelta, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BindingDelta to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for BindingDelta
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace BindingDelta {
+
+ /** Action enum. */
+ enum Action {
+ ACTION_UNSPECIFIED = 0,
+ ADD = 1,
+ REMOVE = 2
+ }
+ }
+
+ /** Properties of an AuditConfigDelta. */
+ interface IAuditConfigDelta {
+
+ /** AuditConfigDelta action */
+ action?: (google.iam.v1.AuditConfigDelta.Action|keyof typeof google.iam.v1.AuditConfigDelta.Action|null);
+
+ /** AuditConfigDelta service */
+ service?: (string|null);
+
+ /** AuditConfigDelta exemptedMember */
+ exemptedMember?: (string|null);
+
+ /** AuditConfigDelta logType */
+ logType?: (string|null);
+ }
+
+ /** Represents an AuditConfigDelta. */
+ class AuditConfigDelta implements IAuditConfigDelta {
+
+ /**
+ * Constructs a new AuditConfigDelta.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.iam.v1.IAuditConfigDelta);
+
+ /** AuditConfigDelta action. */
+ public action: (google.iam.v1.AuditConfigDelta.Action|keyof typeof google.iam.v1.AuditConfigDelta.Action);
+
+ /** AuditConfigDelta service. */
+ public service: string;
+
+ /** AuditConfigDelta exemptedMember. */
+ public exemptedMember: string;
+
+ /** AuditConfigDelta logType. */
+ public logType: string;
+
+ /**
+ * Creates a new AuditConfigDelta instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AuditConfigDelta instance
+ */
+ public static create(properties?: google.iam.v1.IAuditConfigDelta): google.iam.v1.AuditConfigDelta;
+
+ /**
+ * Encodes the specified AuditConfigDelta message. Does not implicitly {@link google.iam.v1.AuditConfigDelta.verify|verify} messages.
+ * @param message AuditConfigDelta message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.iam.v1.IAuditConfigDelta, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AuditConfigDelta message, length delimited. Does not implicitly {@link google.iam.v1.AuditConfigDelta.verify|verify} messages.
+ * @param message AuditConfigDelta message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.iam.v1.IAuditConfigDelta, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AuditConfigDelta message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AuditConfigDelta
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.iam.v1.AuditConfigDelta;
+
+ /**
+ * Decodes an AuditConfigDelta message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AuditConfigDelta
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.iam.v1.AuditConfigDelta;
+
+ /**
+ * Verifies an AuditConfigDelta message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an AuditConfigDelta message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AuditConfigDelta
+ */
+ public static fromObject(object: { [k: string]: any }): google.iam.v1.AuditConfigDelta;
+
+ /**
+ * Creates a plain object from an AuditConfigDelta message. Also converts values to other types if specified.
+ * @param message AuditConfigDelta
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.iam.v1.AuditConfigDelta, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AuditConfigDelta to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AuditConfigDelta
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace AuditConfigDelta {
+
+ /** Action enum. */
+ enum Action {
+ ACTION_UNSPECIFIED = 0,
+ ADD = 1,
+ REMOVE = 2
+ }
+ }
+ }
+ }
+
+ /** Namespace 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;
+ }
+ }
+}
diff --git a/packages/google-cloud-servicedirectory/protos/protos.js b/packages/google-cloud-servicedirectory/protos/protos.js
new file mode 100644
index 00000000000..627c09d1597
--- /dev/null
+++ b/packages/google-cloud-servicedirectory/protos/protos.js
@@ -0,0 +1,28345 @@
+// 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_service_directory_protos || ($protobuf.roots._google_cloud_service_directory_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.cloud = (function() {
+
+ /**
+ * Namespace cloud.
+ * @memberof google
+ * @namespace
+ */
+ var cloud = {};
+
+ cloud.servicedirectory = (function() {
+
+ /**
+ * Namespace servicedirectory.
+ * @memberof google.cloud
+ * @namespace
+ */
+ var servicedirectory = {};
+
+ servicedirectory.v1 = (function() {
+
+ /**
+ * Namespace v1.
+ * @memberof google.cloud.servicedirectory
+ * @namespace
+ */
+ var v1 = {};
+
+ v1.Endpoint = (function() {
+
+ /**
+ * Properties of an Endpoint.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IEndpoint
+ * @property {string|null} [name] Endpoint name
+ * @property {string|null} [address] Endpoint address
+ * @property {number|null} [port] Endpoint port
+ * @property {Object.|null} [annotations] Endpoint annotations
+ */
+
+ /**
+ * Constructs a new Endpoint.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents an Endpoint.
+ * @implements IEndpoint
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IEndpoint=} [properties] Properties to set
+ */
+ function Endpoint(properties) {
+ this.annotations = {};
+ 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]];
+ }
+
+ /**
+ * Endpoint name.
+ * @member {string} name
+ * @memberof google.cloud.servicedirectory.v1.Endpoint
+ * @instance
+ */
+ Endpoint.prototype.name = "";
+
+ /**
+ * Endpoint address.
+ * @member {string} address
+ * @memberof google.cloud.servicedirectory.v1.Endpoint
+ * @instance
+ */
+ Endpoint.prototype.address = "";
+
+ /**
+ * Endpoint port.
+ * @member {number} port
+ * @memberof google.cloud.servicedirectory.v1.Endpoint
+ * @instance
+ */
+ Endpoint.prototype.port = 0;
+
+ /**
+ * Endpoint annotations.
+ * @member {Object.} annotations
+ * @memberof google.cloud.servicedirectory.v1.Endpoint
+ * @instance
+ */
+ Endpoint.prototype.annotations = $util.emptyObject;
+
+ /**
+ * Creates a new Endpoint instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.Endpoint
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IEndpoint=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.Endpoint} Endpoint instance
+ */
+ Endpoint.create = function create(properties) {
+ return new Endpoint(properties);
+ };
+
+ /**
+ * Encodes the specified Endpoint message. Does not implicitly {@link google.cloud.servicedirectory.v1.Endpoint.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.Endpoint
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IEndpoint} message Endpoint message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Endpoint.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.address != null && Object.hasOwnProperty.call(message, "address"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.address);
+ if (message.port != null && Object.hasOwnProperty.call(message, "port"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.port);
+ if (message.annotations != null && Object.hasOwnProperty.call(message, "annotations"))
+ for (var keys = Object.keys(message.annotations), 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.annotations[keys[i]]).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Endpoint message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.Endpoint.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.Endpoint
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IEndpoint} message Endpoint message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Endpoint.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Endpoint message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.Endpoint
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.Endpoint} Endpoint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Endpoint.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.servicedirectory.v1.Endpoint(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.address = reader.string();
+ break;
+ }
+ case 3: {
+ message.port = reader.int32();
+ break;
+ }
+ case 5: {
+ if (message.annotations === $util.emptyObject)
+ message.annotations = {};
+ 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.annotations[key] = value;
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Endpoint message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.Endpoint
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.Endpoint} Endpoint
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Endpoint.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Endpoint message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.Endpoint
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Endpoint.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.address != null && message.hasOwnProperty("address"))
+ if (!$util.isString(message.address))
+ return "address: string expected";
+ if (message.port != null && message.hasOwnProperty("port"))
+ if (!$util.isInteger(message.port))
+ return "port: integer expected";
+ if (message.annotations != null && message.hasOwnProperty("annotations")) {
+ if (!$util.isObject(message.annotations))
+ return "annotations: object expected";
+ var key = Object.keys(message.annotations);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.annotations[key[i]]))
+ return "annotations: string{k:string} expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates an Endpoint message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.Endpoint
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.Endpoint} Endpoint
+ */
+ Endpoint.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.Endpoint)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.Endpoint();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.address != null)
+ message.address = String(object.address);
+ if (object.port != null)
+ message.port = object.port | 0;
+ if (object.annotations) {
+ if (typeof object.annotations !== "object")
+ throw TypeError(".google.cloud.servicedirectory.v1.Endpoint.annotations: object expected");
+ message.annotations = {};
+ for (var keys = Object.keys(object.annotations), i = 0; i < keys.length; ++i)
+ message.annotations[keys[i]] = String(object.annotations[keys[i]]);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Endpoint message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.Endpoint
+ * @static
+ * @param {google.cloud.servicedirectory.v1.Endpoint} message Endpoint
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Endpoint.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.annotations = {};
+ if (options.defaults) {
+ object.name = "";
+ object.address = "";
+ object.port = 0;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.address != null && message.hasOwnProperty("address"))
+ object.address = message.address;
+ if (message.port != null && message.hasOwnProperty("port"))
+ object.port = message.port;
+ var keys2;
+ if (message.annotations && (keys2 = Object.keys(message.annotations)).length) {
+ object.annotations = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.annotations[keys2[j]] = message.annotations[keys2[j]];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Endpoint to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.Endpoint
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Endpoint.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Endpoint
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.Endpoint
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Endpoint.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.Endpoint";
+ };
+
+ return Endpoint;
+ })();
+
+ v1.LookupService = (function() {
+
+ /**
+ * Constructs a new LookupService service.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a LookupService
+ * @extends $protobuf.rpc.Service
+ * @constructor
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ */
+ function LookupService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (LookupService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = LookupService;
+
+ /**
+ * Creates new LookupService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.LookupService
+ * @static
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ * @returns {LookupService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ LookupService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.LookupService|resolveService}.
+ * @memberof google.cloud.servicedirectory.v1.LookupService
+ * @typedef ResolveServiceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.servicedirectory.v1.ResolveServiceResponse} [response] ResolveServiceResponse
+ */
+
+ /**
+ * Calls ResolveService.
+ * @function resolveService
+ * @memberof google.cloud.servicedirectory.v1.LookupService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IResolveServiceRequest} request ResolveServiceRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.LookupService.ResolveServiceCallback} callback Node-style callback called with the error, if any, and ResolveServiceResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(LookupService.prototype.resolveService = function resolveService(request, callback) {
+ return this.rpcCall(resolveService, $root.google.cloud.servicedirectory.v1.ResolveServiceRequest, $root.google.cloud.servicedirectory.v1.ResolveServiceResponse, request, callback);
+ }, "name", { value: "ResolveService" });
+
+ /**
+ * Calls ResolveService.
+ * @function resolveService
+ * @memberof google.cloud.servicedirectory.v1.LookupService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IResolveServiceRequest} request ResolveServiceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return LookupService;
+ })();
+
+ v1.ResolveServiceRequest = (function() {
+
+ /**
+ * Properties of a ResolveServiceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IResolveServiceRequest
+ * @property {string|null} [name] ResolveServiceRequest name
+ * @property {number|null} [maxEndpoints] ResolveServiceRequest maxEndpoints
+ * @property {string|null} [endpointFilter] ResolveServiceRequest endpointFilter
+ */
+
+ /**
+ * Constructs a new ResolveServiceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a ResolveServiceRequest.
+ * @implements IResolveServiceRequest
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IResolveServiceRequest=} [properties] Properties to set
+ */
+ function ResolveServiceRequest(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]];
+ }
+
+ /**
+ * ResolveServiceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceRequest
+ * @instance
+ */
+ ResolveServiceRequest.prototype.name = "";
+
+ /**
+ * ResolveServiceRequest maxEndpoints.
+ * @member {number} maxEndpoints
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceRequest
+ * @instance
+ */
+ ResolveServiceRequest.prototype.maxEndpoints = 0;
+
+ /**
+ * ResolveServiceRequest endpointFilter.
+ * @member {string} endpointFilter
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceRequest
+ * @instance
+ */
+ ResolveServiceRequest.prototype.endpointFilter = "";
+
+ /**
+ * Creates a new ResolveServiceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IResolveServiceRequest=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.ResolveServiceRequest} ResolveServiceRequest instance
+ */
+ ResolveServiceRequest.create = function create(properties) {
+ return new ResolveServiceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ResolveServiceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.ResolveServiceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IResolveServiceRequest} message ResolveServiceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ResolveServiceRequest.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.maxEndpoints != null && Object.hasOwnProperty.call(message, "maxEndpoints"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxEndpoints);
+ if (message.endpointFilter != null && Object.hasOwnProperty.call(message, "endpointFilter"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.endpointFilter);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ResolveServiceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ResolveServiceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IResolveServiceRequest} message ResolveServiceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ResolveServiceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ResolveServiceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.ResolveServiceRequest} ResolveServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ResolveServiceRequest.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.servicedirectory.v1.ResolveServiceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.maxEndpoints = reader.int32();
+ break;
+ }
+ case 3: {
+ message.endpointFilter = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ResolveServiceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.ResolveServiceRequest} ResolveServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ResolveServiceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ResolveServiceRequest message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ResolveServiceRequest.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.maxEndpoints != null && message.hasOwnProperty("maxEndpoints"))
+ if (!$util.isInteger(message.maxEndpoints))
+ return "maxEndpoints: integer expected";
+ if (message.endpointFilter != null && message.hasOwnProperty("endpointFilter"))
+ if (!$util.isString(message.endpointFilter))
+ return "endpointFilter: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ResolveServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.ResolveServiceRequest} ResolveServiceRequest
+ */
+ ResolveServiceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.ResolveServiceRequest)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.ResolveServiceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.maxEndpoints != null)
+ message.maxEndpoints = object.maxEndpoints | 0;
+ if (object.endpointFilter != null)
+ message.endpointFilter = String(object.endpointFilter);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ResolveServiceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ResolveServiceRequest} message ResolveServiceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ResolveServiceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.maxEndpoints = 0;
+ object.endpointFilter = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.maxEndpoints != null && message.hasOwnProperty("maxEndpoints"))
+ object.maxEndpoints = message.maxEndpoints;
+ if (message.endpointFilter != null && message.hasOwnProperty("endpointFilter"))
+ object.endpointFilter = message.endpointFilter;
+ return object;
+ };
+
+ /**
+ * Converts this ResolveServiceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ResolveServiceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ResolveServiceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ResolveServiceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.ResolveServiceRequest";
+ };
+
+ return ResolveServiceRequest;
+ })();
+
+ v1.ResolveServiceResponse = (function() {
+
+ /**
+ * Properties of a ResolveServiceResponse.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IResolveServiceResponse
+ * @property {google.cloud.servicedirectory.v1.IService|null} [service] ResolveServiceResponse service
+ */
+
+ /**
+ * Constructs a new ResolveServiceResponse.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a ResolveServiceResponse.
+ * @implements IResolveServiceResponse
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IResolveServiceResponse=} [properties] Properties to set
+ */
+ function ResolveServiceResponse(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]];
+ }
+
+ /**
+ * ResolveServiceResponse service.
+ * @member {google.cloud.servicedirectory.v1.IService|null|undefined} service
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceResponse
+ * @instance
+ */
+ ResolveServiceResponse.prototype.service = null;
+
+ /**
+ * Creates a new ResolveServiceResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IResolveServiceResponse=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.ResolveServiceResponse} ResolveServiceResponse instance
+ */
+ ResolveServiceResponse.create = function create(properties) {
+ return new ResolveServiceResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ResolveServiceResponse message. Does not implicitly {@link google.cloud.servicedirectory.v1.ResolveServiceResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IResolveServiceResponse} message ResolveServiceResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ResolveServiceResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.service != null && Object.hasOwnProperty.call(message, "service"))
+ $root.google.cloud.servicedirectory.v1.Service.encode(message.service, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ResolveServiceResponse message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ResolveServiceResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IResolveServiceResponse} message ResolveServiceResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ResolveServiceResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ResolveServiceResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.ResolveServiceResponse} ResolveServiceResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ResolveServiceResponse.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.servicedirectory.v1.ResolveServiceResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.service = $root.google.cloud.servicedirectory.v1.Service.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ResolveServiceResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.ResolveServiceResponse} ResolveServiceResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ResolveServiceResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ResolveServiceResponse message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ResolveServiceResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.service != null && message.hasOwnProperty("service")) {
+ var error = $root.google.cloud.servicedirectory.v1.Service.verify(message.service);
+ if (error)
+ return "service." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ResolveServiceResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.ResolveServiceResponse} ResolveServiceResponse
+ */
+ ResolveServiceResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.ResolveServiceResponse)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.ResolveServiceResponse();
+ if (object.service != null) {
+ if (typeof object.service !== "object")
+ throw TypeError(".google.cloud.servicedirectory.v1.ResolveServiceResponse.service: object expected");
+ message.service = $root.google.cloud.servicedirectory.v1.Service.fromObject(object.service);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ResolveServiceResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ResolveServiceResponse} message ResolveServiceResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ResolveServiceResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.service = null;
+ if (message.service != null && message.hasOwnProperty("service"))
+ object.service = $root.google.cloud.servicedirectory.v1.Service.toObject(message.service, options);
+ return object;
+ };
+
+ /**
+ * Converts this ResolveServiceResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ResolveServiceResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ResolveServiceResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.ResolveServiceResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ResolveServiceResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.ResolveServiceResponse";
+ };
+
+ return ResolveServiceResponse;
+ })();
+
+ v1.Service = (function() {
+
+ /**
+ * Properties of a Service.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IService
+ * @property {string|null} [name] Service name
+ * @property {Object.|null} [annotations] Service annotations
+ * @property {Array.|null} [endpoints] Service endpoints
+ */
+
+ /**
+ * Constructs a new Service.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a Service.
+ * @implements IService
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IService=} [properties] Properties to set
+ */
+ function Service(properties) {
+ this.annotations = {};
+ this.endpoints = [];
+ 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]];
+ }
+
+ /**
+ * Service name.
+ * @member {string} name
+ * @memberof google.cloud.servicedirectory.v1.Service
+ * @instance
+ */
+ Service.prototype.name = "";
+
+ /**
+ * Service annotations.
+ * @member {Object.} annotations
+ * @memberof google.cloud.servicedirectory.v1.Service
+ * @instance
+ */
+ Service.prototype.annotations = $util.emptyObject;
+
+ /**
+ * Service endpoints.
+ * @member {Array.} endpoints
+ * @memberof google.cloud.servicedirectory.v1.Service
+ * @instance
+ */
+ Service.prototype.endpoints = $util.emptyArray;
+
+ /**
+ * Creates a new Service instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.Service
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IService=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.Service} Service instance
+ */
+ Service.create = function create(properties) {
+ return new Service(properties);
+ };
+
+ /**
+ * Encodes the specified Service message. Does not implicitly {@link google.cloud.servicedirectory.v1.Service.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.Service
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IService} message Service message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Service.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.endpoints != null && message.endpoints.length)
+ for (var i = 0; i < message.endpoints.length; ++i)
+ $root.google.cloud.servicedirectory.v1.Endpoint.encode(message.endpoints[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.annotations != null && Object.hasOwnProperty.call(message, "annotations"))
+ for (var keys = Object.keys(message.annotations), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 4, wireType 2 =*/34).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.annotations[keys[i]]).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Service message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.Service.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.Service
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IService} message Service message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Service.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Service message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.Service
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.Service} Service
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Service.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.servicedirectory.v1.Service(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 4: {
+ if (message.annotations === $util.emptyObject)
+ message.annotations = {};
+ 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.annotations[key] = value;
+ break;
+ }
+ case 3: {
+ if (!(message.endpoints && message.endpoints.length))
+ message.endpoints = [];
+ message.endpoints.push($root.google.cloud.servicedirectory.v1.Endpoint.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Service message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.Service
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.Service} Service
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Service.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Service message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.Service
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Service.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.annotations != null && message.hasOwnProperty("annotations")) {
+ if (!$util.isObject(message.annotations))
+ return "annotations: object expected";
+ var key = Object.keys(message.annotations);
+ for (var i = 0; i < key.length; ++i)
+ if (!$util.isString(message.annotations[key[i]]))
+ return "annotations: string{k:string} expected";
+ }
+ if (message.endpoints != null && message.hasOwnProperty("endpoints")) {
+ if (!Array.isArray(message.endpoints))
+ return "endpoints: array expected";
+ for (var i = 0; i < message.endpoints.length; ++i) {
+ var error = $root.google.cloud.servicedirectory.v1.Endpoint.verify(message.endpoints[i]);
+ if (error)
+ return "endpoints." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Service message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.Service
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.Service} Service
+ */
+ Service.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.Service)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.Service();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.annotations) {
+ if (typeof object.annotations !== "object")
+ throw TypeError(".google.cloud.servicedirectory.v1.Service.annotations: object expected");
+ message.annotations = {};
+ for (var keys = Object.keys(object.annotations), i = 0; i < keys.length; ++i)
+ message.annotations[keys[i]] = String(object.annotations[keys[i]]);
+ }
+ if (object.endpoints) {
+ if (!Array.isArray(object.endpoints))
+ throw TypeError(".google.cloud.servicedirectory.v1.Service.endpoints: array expected");
+ message.endpoints = [];
+ for (var i = 0; i < object.endpoints.length; ++i) {
+ if (typeof object.endpoints[i] !== "object")
+ throw TypeError(".google.cloud.servicedirectory.v1.Service.endpoints: object expected");
+ message.endpoints[i] = $root.google.cloud.servicedirectory.v1.Endpoint.fromObject(object.endpoints[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Service message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.Service
+ * @static
+ * @param {google.cloud.servicedirectory.v1.Service} message Service
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Service.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.endpoints = [];
+ if (options.objects || options.defaults)
+ object.annotations = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.endpoints && message.endpoints.length) {
+ object.endpoints = [];
+ for (var j = 0; j < message.endpoints.length; ++j)
+ object.endpoints[j] = $root.google.cloud.servicedirectory.v1.Endpoint.toObject(message.endpoints[j], options);
+ }
+ var keys2;
+ if (message.annotations && (keys2 = Object.keys(message.annotations)).length) {
+ object.annotations = {};
+ for (var j = 0; j < keys2.length; ++j)
+ object.annotations[keys2[j]] = message.annotations[keys2[j]];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Service to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.Service
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Service.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Service
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.Service
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Service.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.Service";
+ };
+
+ return Service;
+ })();
+
+ v1.Namespace = (function() {
+
+ /**
+ * Properties of a Namespace.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface INamespace
+ * @property {string|null} [name] Namespace name
+ * @property {Object.|null} [labels] Namespace labels
+ */
+
+ /**
+ * Constructs a new Namespace.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a Namespace.
+ * @implements INamespace
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.INamespace=} [properties] Properties to set
+ */
+ function Namespace(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]];
+ }
+
+ /**
+ * Namespace name.
+ * @member {string} name
+ * @memberof google.cloud.servicedirectory.v1.Namespace
+ * @instance
+ */
+ Namespace.prototype.name = "";
+
+ /**
+ * Namespace labels.
+ * @member {Object.} labels
+ * @memberof google.cloud.servicedirectory.v1.Namespace
+ * @instance
+ */
+ Namespace.prototype.labels = $util.emptyObject;
+
+ /**
+ * Creates a new Namespace instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.Namespace
+ * @static
+ * @param {google.cloud.servicedirectory.v1.INamespace=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.Namespace} Namespace instance
+ */
+ Namespace.create = function create(properties) {
+ return new Namespace(properties);
+ };
+
+ /**
+ * Encodes the specified Namespace message. Does not implicitly {@link google.cloud.servicedirectory.v1.Namespace.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.Namespace
+ * @static
+ * @param {google.cloud.servicedirectory.v1.INamespace} message Namespace message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Namespace.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.labels != null && Object.hasOwnProperty.call(message, "labels"))
+ for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i)
+ writer.uint32(/* id 2, wireType 2 =*/18).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 Namespace message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.Namespace.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.Namespace
+ * @static
+ * @param {google.cloud.servicedirectory.v1.INamespace} message Namespace message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Namespace.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Namespace message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.Namespace
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.Namespace} Namespace
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Namespace.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.servicedirectory.v1.Namespace(), key, value;
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ 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 Namespace message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.Namespace
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.Namespace} Namespace
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Namespace.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Namespace message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.Namespace
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Namespace.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.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 Namespace message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.Namespace
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.Namespace} Namespace
+ */
+ Namespace.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.Namespace)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.Namespace();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.labels) {
+ if (typeof object.labels !== "object")
+ throw TypeError(".google.cloud.servicedirectory.v1.Namespace.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 Namespace message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.Namespace
+ * @static
+ * @param {google.cloud.servicedirectory.v1.Namespace} message Namespace
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Namespace.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.objects || options.defaults)
+ object.labels = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ 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 Namespace to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.Namespace
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Namespace.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Namespace
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.Namespace
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Namespace.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.Namespace";
+ };
+
+ return Namespace;
+ })();
+
+ v1.RegistrationService = (function() {
+
+ /**
+ * Constructs a new RegistrationService service.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a RegistrationService
+ * @extends $protobuf.rpc.Service
+ * @constructor
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ */
+ function RegistrationService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (RegistrationService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = RegistrationService;
+
+ /**
+ * Creates new RegistrationService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @static
+ * @param {$protobuf.RPCImpl} rpcImpl RPC implementation
+ * @param {boolean} [requestDelimited=false] Whether requests are length-delimited
+ * @param {boolean} [responseDelimited=false] Whether responses are length-delimited
+ * @returns {RegistrationService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ RegistrationService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|createNamespace}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef CreateNamespaceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.servicedirectory.v1.Namespace} [response] Namespace
+ */
+
+ /**
+ * Calls CreateNamespace.
+ * @function createNamespace
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.ICreateNamespaceRequest} request CreateNamespaceRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.CreateNamespaceCallback} callback Node-style callback called with the error, if any, and Namespace
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.createNamespace = function createNamespace(request, callback) {
+ return this.rpcCall(createNamespace, $root.google.cloud.servicedirectory.v1.CreateNamespaceRequest, $root.google.cloud.servicedirectory.v1.Namespace, request, callback);
+ }, "name", { value: "CreateNamespace" });
+
+ /**
+ * Calls CreateNamespace.
+ * @function createNamespace
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.ICreateNamespaceRequest} request CreateNamespaceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|listNamespaces}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef ListNamespacesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.servicedirectory.v1.ListNamespacesResponse} [response] ListNamespacesResponse
+ */
+
+ /**
+ * Calls ListNamespaces.
+ * @function listNamespaces
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IListNamespacesRequest} request ListNamespacesRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.ListNamespacesCallback} callback Node-style callback called with the error, if any, and ListNamespacesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.listNamespaces = function listNamespaces(request, callback) {
+ return this.rpcCall(listNamespaces, $root.google.cloud.servicedirectory.v1.ListNamespacesRequest, $root.google.cloud.servicedirectory.v1.ListNamespacesResponse, request, callback);
+ }, "name", { value: "ListNamespaces" });
+
+ /**
+ * Calls ListNamespaces.
+ * @function listNamespaces
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IListNamespacesRequest} request ListNamespacesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|getNamespace}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef GetNamespaceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.servicedirectory.v1.Namespace} [response] Namespace
+ */
+
+ /**
+ * Calls GetNamespace.
+ * @function getNamespace
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IGetNamespaceRequest} request GetNamespaceRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.GetNamespaceCallback} callback Node-style callback called with the error, if any, and Namespace
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.getNamespace = function getNamespace(request, callback) {
+ return this.rpcCall(getNamespace, $root.google.cloud.servicedirectory.v1.GetNamespaceRequest, $root.google.cloud.servicedirectory.v1.Namespace, request, callback);
+ }, "name", { value: "GetNamespace" });
+
+ /**
+ * Calls GetNamespace.
+ * @function getNamespace
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IGetNamespaceRequest} request GetNamespaceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|updateNamespace}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef UpdateNamespaceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.servicedirectory.v1.Namespace} [response] Namespace
+ */
+
+ /**
+ * Calls UpdateNamespace.
+ * @function updateNamespace
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IUpdateNamespaceRequest} request UpdateNamespaceRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.UpdateNamespaceCallback} callback Node-style callback called with the error, if any, and Namespace
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.updateNamespace = function updateNamespace(request, callback) {
+ return this.rpcCall(updateNamespace, $root.google.cloud.servicedirectory.v1.UpdateNamespaceRequest, $root.google.cloud.servicedirectory.v1.Namespace, request, callback);
+ }, "name", { value: "UpdateNamespace" });
+
+ /**
+ * Calls UpdateNamespace.
+ * @function updateNamespace
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IUpdateNamespaceRequest} request UpdateNamespaceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|deleteNamespace}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef DeleteNamespaceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteNamespace.
+ * @function deleteNamespace
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IDeleteNamespaceRequest} request DeleteNamespaceRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.DeleteNamespaceCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.deleteNamespace = function deleteNamespace(request, callback) {
+ return this.rpcCall(deleteNamespace, $root.google.cloud.servicedirectory.v1.DeleteNamespaceRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteNamespace" });
+
+ /**
+ * Calls DeleteNamespace.
+ * @function deleteNamespace
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IDeleteNamespaceRequest} request DeleteNamespaceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|createService}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef CreateServiceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.servicedirectory.v1.Service} [response] Service
+ */
+
+ /**
+ * Calls CreateService.
+ * @function createService
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.ICreateServiceRequest} request CreateServiceRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.CreateServiceCallback} callback Node-style callback called with the error, if any, and Service
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.createService = function createService(request, callback) {
+ return this.rpcCall(createService, $root.google.cloud.servicedirectory.v1.CreateServiceRequest, $root.google.cloud.servicedirectory.v1.Service, request, callback);
+ }, "name", { value: "CreateService" });
+
+ /**
+ * Calls CreateService.
+ * @function createService
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.ICreateServiceRequest} request CreateServiceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|listServices}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef ListServicesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.servicedirectory.v1.ListServicesResponse} [response] ListServicesResponse
+ */
+
+ /**
+ * Calls ListServices.
+ * @function listServices
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IListServicesRequest} request ListServicesRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.ListServicesCallback} callback Node-style callback called with the error, if any, and ListServicesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.listServices = function listServices(request, callback) {
+ return this.rpcCall(listServices, $root.google.cloud.servicedirectory.v1.ListServicesRequest, $root.google.cloud.servicedirectory.v1.ListServicesResponse, request, callback);
+ }, "name", { value: "ListServices" });
+
+ /**
+ * Calls ListServices.
+ * @function listServices
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IListServicesRequest} request ListServicesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|getService}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef GetServiceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.servicedirectory.v1.Service} [response] Service
+ */
+
+ /**
+ * Calls GetService.
+ * @function getService
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IGetServiceRequest} request GetServiceRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.GetServiceCallback} callback Node-style callback called with the error, if any, and Service
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.getService = function getService(request, callback) {
+ return this.rpcCall(getService, $root.google.cloud.servicedirectory.v1.GetServiceRequest, $root.google.cloud.servicedirectory.v1.Service, request, callback);
+ }, "name", { value: "GetService" });
+
+ /**
+ * Calls GetService.
+ * @function getService
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IGetServiceRequest} request GetServiceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|updateService}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef UpdateServiceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.servicedirectory.v1.Service} [response] Service
+ */
+
+ /**
+ * Calls UpdateService.
+ * @function updateService
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IUpdateServiceRequest} request UpdateServiceRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.UpdateServiceCallback} callback Node-style callback called with the error, if any, and Service
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.updateService = function updateService(request, callback) {
+ return this.rpcCall(updateService, $root.google.cloud.servicedirectory.v1.UpdateServiceRequest, $root.google.cloud.servicedirectory.v1.Service, request, callback);
+ }, "name", { value: "UpdateService" });
+
+ /**
+ * Calls UpdateService.
+ * @function updateService
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IUpdateServiceRequest} request UpdateServiceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|deleteService}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef DeleteServiceCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteService.
+ * @function deleteService
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IDeleteServiceRequest} request DeleteServiceRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.DeleteServiceCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.deleteService = function deleteService(request, callback) {
+ return this.rpcCall(deleteService, $root.google.cloud.servicedirectory.v1.DeleteServiceRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteService" });
+
+ /**
+ * Calls DeleteService.
+ * @function deleteService
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IDeleteServiceRequest} request DeleteServiceRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|createEndpoint}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef CreateEndpointCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.servicedirectory.v1.Endpoint} [response] Endpoint
+ */
+
+ /**
+ * Calls CreateEndpoint.
+ * @function createEndpoint
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.ICreateEndpointRequest} request CreateEndpointRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.CreateEndpointCallback} callback Node-style callback called with the error, if any, and Endpoint
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.createEndpoint = function createEndpoint(request, callback) {
+ return this.rpcCall(createEndpoint, $root.google.cloud.servicedirectory.v1.CreateEndpointRequest, $root.google.cloud.servicedirectory.v1.Endpoint, request, callback);
+ }, "name", { value: "CreateEndpoint" });
+
+ /**
+ * Calls CreateEndpoint.
+ * @function createEndpoint
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.ICreateEndpointRequest} request CreateEndpointRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|listEndpoints}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef ListEndpointsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.servicedirectory.v1.ListEndpointsResponse} [response] ListEndpointsResponse
+ */
+
+ /**
+ * Calls ListEndpoints.
+ * @function listEndpoints
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IListEndpointsRequest} request ListEndpointsRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.ListEndpointsCallback} callback Node-style callback called with the error, if any, and ListEndpointsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.listEndpoints = function listEndpoints(request, callback) {
+ return this.rpcCall(listEndpoints, $root.google.cloud.servicedirectory.v1.ListEndpointsRequest, $root.google.cloud.servicedirectory.v1.ListEndpointsResponse, request, callback);
+ }, "name", { value: "ListEndpoints" });
+
+ /**
+ * Calls ListEndpoints.
+ * @function listEndpoints
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IListEndpointsRequest} request ListEndpointsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|getEndpoint}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef GetEndpointCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.servicedirectory.v1.Endpoint} [response] Endpoint
+ */
+
+ /**
+ * Calls GetEndpoint.
+ * @function getEndpoint
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IGetEndpointRequest} request GetEndpointRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.GetEndpointCallback} callback Node-style callback called with the error, if any, and Endpoint
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.getEndpoint = function getEndpoint(request, callback) {
+ return this.rpcCall(getEndpoint, $root.google.cloud.servicedirectory.v1.GetEndpointRequest, $root.google.cloud.servicedirectory.v1.Endpoint, request, callback);
+ }, "name", { value: "GetEndpoint" });
+
+ /**
+ * Calls GetEndpoint.
+ * @function getEndpoint
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IGetEndpointRequest} request GetEndpointRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|updateEndpoint}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef UpdateEndpointCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.servicedirectory.v1.Endpoint} [response] Endpoint
+ */
+
+ /**
+ * Calls UpdateEndpoint.
+ * @function updateEndpoint
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IUpdateEndpointRequest} request UpdateEndpointRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.UpdateEndpointCallback} callback Node-style callback called with the error, if any, and Endpoint
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.updateEndpoint = function updateEndpoint(request, callback) {
+ return this.rpcCall(updateEndpoint, $root.google.cloud.servicedirectory.v1.UpdateEndpointRequest, $root.google.cloud.servicedirectory.v1.Endpoint, request, callback);
+ }, "name", { value: "UpdateEndpoint" });
+
+ /**
+ * Calls UpdateEndpoint.
+ * @function updateEndpoint
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IUpdateEndpointRequest} request UpdateEndpointRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|deleteEndpoint}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef DeleteEndpointCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteEndpoint.
+ * @function deleteEndpoint
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IDeleteEndpointRequest} request DeleteEndpointRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.DeleteEndpointCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.deleteEndpoint = function deleteEndpoint(request, callback) {
+ return this.rpcCall(deleteEndpoint, $root.google.cloud.servicedirectory.v1.DeleteEndpointRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteEndpoint" });
+
+ /**
+ * Calls DeleteEndpoint.
+ * @function deleteEndpoint
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.cloud.servicedirectory.v1.IDeleteEndpointRequest} request DeleteEndpointRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|getIamPolicy}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef GetIamPolicyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.iam.v1.Policy} [response] Policy
+ */
+
+ /**
+ * Calls GetIamPolicy.
+ * @function getIamPolicy
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.iam.v1.IGetIamPolicyRequest} request GetIamPolicyRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.GetIamPolicyCallback} callback Node-style callback called with the error, if any, and Policy
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.getIamPolicy = function getIamPolicy(request, callback) {
+ return this.rpcCall(getIamPolicy, $root.google.iam.v1.GetIamPolicyRequest, $root.google.iam.v1.Policy, request, callback);
+ }, "name", { value: "GetIamPolicy" });
+
+ /**
+ * Calls GetIamPolicy.
+ * @function getIamPolicy
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.iam.v1.IGetIamPolicyRequest} request GetIamPolicyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|setIamPolicy}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef SetIamPolicyCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.iam.v1.Policy} [response] Policy
+ */
+
+ /**
+ * Calls SetIamPolicy.
+ * @function setIamPolicy
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.iam.v1.ISetIamPolicyRequest} request SetIamPolicyRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.SetIamPolicyCallback} callback Node-style callback called with the error, if any, and Policy
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.setIamPolicy = function setIamPolicy(request, callback) {
+ return this.rpcCall(setIamPolicy, $root.google.iam.v1.SetIamPolicyRequest, $root.google.iam.v1.Policy, request, callback);
+ }, "name", { value: "SetIamPolicy" });
+
+ /**
+ * Calls SetIamPolicy.
+ * @function setIamPolicy
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.iam.v1.ISetIamPolicyRequest} request SetIamPolicyRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.servicedirectory.v1.RegistrationService|testIamPermissions}.
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @typedef TestIamPermissionsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.iam.v1.TestIamPermissionsResponse} [response] TestIamPermissionsResponse
+ */
+
+ /**
+ * Calls TestIamPermissions.
+ * @function testIamPermissions
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.iam.v1.ITestIamPermissionsRequest} request TestIamPermissionsRequest message or plain object
+ * @param {google.cloud.servicedirectory.v1.RegistrationService.TestIamPermissionsCallback} callback Node-style callback called with the error, if any, and TestIamPermissionsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(RegistrationService.prototype.testIamPermissions = function testIamPermissions(request, callback) {
+ return this.rpcCall(testIamPermissions, $root.google.iam.v1.TestIamPermissionsRequest, $root.google.iam.v1.TestIamPermissionsResponse, request, callback);
+ }, "name", { value: "TestIamPermissions" });
+
+ /**
+ * Calls TestIamPermissions.
+ * @function testIamPermissions
+ * @memberof google.cloud.servicedirectory.v1.RegistrationService
+ * @instance
+ * @param {google.iam.v1.ITestIamPermissionsRequest} request TestIamPermissionsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return RegistrationService;
+ })();
+
+ v1.CreateNamespaceRequest = (function() {
+
+ /**
+ * Properties of a CreateNamespaceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface ICreateNamespaceRequest
+ * @property {string|null} [parent] CreateNamespaceRequest parent
+ * @property {string|null} [namespaceId] CreateNamespaceRequest namespaceId
+ * @property {google.cloud.servicedirectory.v1.INamespace|null} [namespace] CreateNamespaceRequest namespace
+ */
+
+ /**
+ * Constructs a new CreateNamespaceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a CreateNamespaceRequest.
+ * @implements ICreateNamespaceRequest
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.ICreateNamespaceRequest=} [properties] Properties to set
+ */
+ function CreateNamespaceRequest(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]];
+ }
+
+ /**
+ * CreateNamespaceRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.servicedirectory.v1.CreateNamespaceRequest
+ * @instance
+ */
+ CreateNamespaceRequest.prototype.parent = "";
+
+ /**
+ * CreateNamespaceRequest namespaceId.
+ * @member {string} namespaceId
+ * @memberof google.cloud.servicedirectory.v1.CreateNamespaceRequest
+ * @instance
+ */
+ CreateNamespaceRequest.prototype.namespaceId = "";
+
+ /**
+ * CreateNamespaceRequest namespace.
+ * @member {google.cloud.servicedirectory.v1.INamespace|null|undefined} namespace
+ * @memberof google.cloud.servicedirectory.v1.CreateNamespaceRequest
+ * @instance
+ */
+ CreateNamespaceRequest.prototype.namespace = null;
+
+ /**
+ * Creates a new CreateNamespaceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.CreateNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ICreateNamespaceRequest=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.CreateNamespaceRequest} CreateNamespaceRequest instance
+ */
+ CreateNamespaceRequest.create = function create(properties) {
+ return new CreateNamespaceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateNamespaceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.CreateNamespaceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.CreateNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ICreateNamespaceRequest} message CreateNamespaceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateNamespaceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.namespaceId != null && Object.hasOwnProperty.call(message, "namespaceId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.namespaceId);
+ if (message.namespace != null && Object.hasOwnProperty.call(message, "namespace"))
+ $root.google.cloud.servicedirectory.v1.Namespace.encode(message.namespace, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateNamespaceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.CreateNamespaceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.CreateNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ICreateNamespaceRequest} message CreateNamespaceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateNamespaceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateNamespaceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.CreateNamespaceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.CreateNamespaceRequest} CreateNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateNamespaceRequest.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.servicedirectory.v1.CreateNamespaceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.namespaceId = reader.string();
+ break;
+ }
+ case 3: {
+ message.namespace = $root.google.cloud.servicedirectory.v1.Namespace.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateNamespaceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.CreateNamespaceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.CreateNamespaceRequest} CreateNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateNamespaceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateNamespaceRequest message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.CreateNamespaceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateNamespaceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.namespaceId != null && message.hasOwnProperty("namespaceId"))
+ if (!$util.isString(message.namespaceId))
+ return "namespaceId: string expected";
+ if (message.namespace != null && message.hasOwnProperty("namespace")) {
+ var error = $root.google.cloud.servicedirectory.v1.Namespace.verify(message.namespace);
+ if (error)
+ return "namespace." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CreateNamespaceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.CreateNamespaceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.CreateNamespaceRequest} CreateNamespaceRequest
+ */
+ CreateNamespaceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.CreateNamespaceRequest)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.CreateNamespaceRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.namespaceId != null)
+ message.namespaceId = String(object.namespaceId);
+ if (object.namespace != null) {
+ if (typeof object.namespace !== "object")
+ throw TypeError(".google.cloud.servicedirectory.v1.CreateNamespaceRequest.namespace: object expected");
+ message.namespace = $root.google.cloud.servicedirectory.v1.Namespace.fromObject(object.namespace);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateNamespaceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.CreateNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.CreateNamespaceRequest} message CreateNamespaceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateNamespaceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.namespaceId = "";
+ object.namespace = null;
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.namespaceId != null && message.hasOwnProperty("namespaceId"))
+ object.namespaceId = message.namespaceId;
+ if (message.namespace != null && message.hasOwnProperty("namespace"))
+ object.namespace = $root.google.cloud.servicedirectory.v1.Namespace.toObject(message.namespace, options);
+ return object;
+ };
+
+ /**
+ * Converts this CreateNamespaceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.CreateNamespaceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateNamespaceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateNamespaceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.CreateNamespaceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateNamespaceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.CreateNamespaceRequest";
+ };
+
+ return CreateNamespaceRequest;
+ })();
+
+ v1.ListNamespacesRequest = (function() {
+
+ /**
+ * Properties of a ListNamespacesRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IListNamespacesRequest
+ * @property {string|null} [parent] ListNamespacesRequest parent
+ * @property {number|null} [pageSize] ListNamespacesRequest pageSize
+ * @property {string|null} [pageToken] ListNamespacesRequest pageToken
+ * @property {string|null} [filter] ListNamespacesRequest filter
+ * @property {string|null} [orderBy] ListNamespacesRequest orderBy
+ */
+
+ /**
+ * Constructs a new ListNamespacesRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a ListNamespacesRequest.
+ * @implements IListNamespacesRequest
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IListNamespacesRequest=} [properties] Properties to set
+ */
+ function ListNamespacesRequest(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]];
+ }
+
+ /**
+ * ListNamespacesRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesRequest
+ * @instance
+ */
+ ListNamespacesRequest.prototype.parent = "";
+
+ /**
+ * ListNamespacesRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesRequest
+ * @instance
+ */
+ ListNamespacesRequest.prototype.pageSize = 0;
+
+ /**
+ * ListNamespacesRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesRequest
+ * @instance
+ */
+ ListNamespacesRequest.prototype.pageToken = "";
+
+ /**
+ * ListNamespacesRequest filter.
+ * @member {string} filter
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesRequest
+ * @instance
+ */
+ ListNamespacesRequest.prototype.filter = "";
+
+ /**
+ * ListNamespacesRequest orderBy.
+ * @member {string} orderBy
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesRequest
+ * @instance
+ */
+ ListNamespacesRequest.prototype.orderBy = "";
+
+ /**
+ * Creates a new ListNamespacesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListNamespacesRequest=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.ListNamespacesRequest} ListNamespacesRequest instance
+ */
+ ListNamespacesRequest.create = function create(properties) {
+ return new ListNamespacesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListNamespacesRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.ListNamespacesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListNamespacesRequest} message ListNamespacesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListNamespacesRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.filter);
+ if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.orderBy);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListNamespacesRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ListNamespacesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListNamespacesRequest} message ListNamespacesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListNamespacesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListNamespacesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.ListNamespacesRequest} ListNamespacesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListNamespacesRequest.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.servicedirectory.v1.ListNamespacesRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ case 4: {
+ message.filter = reader.string();
+ break;
+ }
+ case 5: {
+ message.orderBy = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListNamespacesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.ListNamespacesRequest} ListNamespacesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListNamespacesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListNamespacesRequest message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListNamespacesRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ if (!$util.isString(message.orderBy))
+ return "orderBy: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListNamespacesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.ListNamespacesRequest} ListNamespacesRequest
+ */
+ ListNamespacesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.ListNamespacesRequest)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.ListNamespacesRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.orderBy != null)
+ message.orderBy = String(object.orderBy);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListNamespacesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ListNamespacesRequest} message ListNamespacesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListNamespacesRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.filter = "";
+ object.orderBy = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ object.orderBy = message.orderBy;
+ return object;
+ };
+
+ /**
+ * Converts this ListNamespacesRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListNamespacesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListNamespacesRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListNamespacesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.ListNamespacesRequest";
+ };
+
+ return ListNamespacesRequest;
+ })();
+
+ v1.ListNamespacesResponse = (function() {
+
+ /**
+ * Properties of a ListNamespacesResponse.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IListNamespacesResponse
+ * @property {Array.|null} [namespaces] ListNamespacesResponse namespaces
+ * @property {string|null} [nextPageToken] ListNamespacesResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new ListNamespacesResponse.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a ListNamespacesResponse.
+ * @implements IListNamespacesResponse
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IListNamespacesResponse=} [properties] Properties to set
+ */
+ function ListNamespacesResponse(properties) {
+ this.namespaces = [];
+ 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]];
+ }
+
+ /**
+ * ListNamespacesResponse namespaces.
+ * @member {Array.} namespaces
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesResponse
+ * @instance
+ */
+ ListNamespacesResponse.prototype.namespaces = $util.emptyArray;
+
+ /**
+ * ListNamespacesResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesResponse
+ * @instance
+ */
+ ListNamespacesResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new ListNamespacesResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListNamespacesResponse=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.ListNamespacesResponse} ListNamespacesResponse instance
+ */
+ ListNamespacesResponse.create = function create(properties) {
+ return new ListNamespacesResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListNamespacesResponse message. Does not implicitly {@link google.cloud.servicedirectory.v1.ListNamespacesResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListNamespacesResponse} message ListNamespacesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListNamespacesResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.namespaces != null && message.namespaces.length)
+ for (var i = 0; i < message.namespaces.length; ++i)
+ $root.google.cloud.servicedirectory.v1.Namespace.encode(message.namespaces[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListNamespacesResponse message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ListNamespacesResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListNamespacesResponse} message ListNamespacesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListNamespacesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListNamespacesResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.ListNamespacesResponse} ListNamespacesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListNamespacesResponse.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.servicedirectory.v1.ListNamespacesResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.namespaces && message.namespaces.length))
+ message.namespaces = [];
+ message.namespaces.push($root.google.cloud.servicedirectory.v1.Namespace.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListNamespacesResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.ListNamespacesResponse} ListNamespacesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListNamespacesResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListNamespacesResponse message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListNamespacesResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.namespaces != null && message.hasOwnProperty("namespaces")) {
+ if (!Array.isArray(message.namespaces))
+ return "namespaces: array expected";
+ for (var i = 0; i < message.namespaces.length; ++i) {
+ var error = $root.google.cloud.servicedirectory.v1.Namespace.verify(message.namespaces[i]);
+ if (error)
+ return "namespaces." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListNamespacesResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.ListNamespacesResponse} ListNamespacesResponse
+ */
+ ListNamespacesResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.ListNamespacesResponse)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.ListNamespacesResponse();
+ if (object.namespaces) {
+ if (!Array.isArray(object.namespaces))
+ throw TypeError(".google.cloud.servicedirectory.v1.ListNamespacesResponse.namespaces: array expected");
+ message.namespaces = [];
+ for (var i = 0; i < object.namespaces.length; ++i) {
+ if (typeof object.namespaces[i] !== "object")
+ throw TypeError(".google.cloud.servicedirectory.v1.ListNamespacesResponse.namespaces: object expected");
+ message.namespaces[i] = $root.google.cloud.servicedirectory.v1.Namespace.fromObject(object.namespaces[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListNamespacesResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ListNamespacesResponse} message ListNamespacesResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListNamespacesResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.namespaces = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.namespaces && message.namespaces.length) {
+ object.namespaces = [];
+ for (var j = 0; j < message.namespaces.length; ++j)
+ object.namespaces[j] = $root.google.cloud.servicedirectory.v1.Namespace.toObject(message.namespaces[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListNamespacesResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListNamespacesResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListNamespacesResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.ListNamespacesResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListNamespacesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.ListNamespacesResponse";
+ };
+
+ return ListNamespacesResponse;
+ })();
+
+ v1.GetNamespaceRequest = (function() {
+
+ /**
+ * Properties of a GetNamespaceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IGetNamespaceRequest
+ * @property {string|null} [name] GetNamespaceRequest name
+ */
+
+ /**
+ * Constructs a new GetNamespaceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a GetNamespaceRequest.
+ * @implements IGetNamespaceRequest
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IGetNamespaceRequest=} [properties] Properties to set
+ */
+ function GetNamespaceRequest(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]];
+ }
+
+ /**
+ * GetNamespaceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.servicedirectory.v1.GetNamespaceRequest
+ * @instance
+ */
+ GetNamespaceRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetNamespaceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.GetNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IGetNamespaceRequest=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.GetNamespaceRequest} GetNamespaceRequest instance
+ */
+ GetNamespaceRequest.create = function create(properties) {
+ return new GetNamespaceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetNamespaceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.GetNamespaceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.GetNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IGetNamespaceRequest} message GetNamespaceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetNamespaceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetNamespaceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.GetNamespaceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.GetNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IGetNamespaceRequest} message GetNamespaceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetNamespaceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetNamespaceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.GetNamespaceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.GetNamespaceRequest} GetNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetNamespaceRequest.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.servicedirectory.v1.GetNamespaceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetNamespaceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.GetNamespaceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.GetNamespaceRequest} GetNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetNamespaceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetNamespaceRequest message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.GetNamespaceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetNamespaceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GetNamespaceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.GetNamespaceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.GetNamespaceRequest} GetNamespaceRequest
+ */
+ GetNamespaceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.GetNamespaceRequest)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.GetNamespaceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetNamespaceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.GetNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.GetNamespaceRequest} message GetNamespaceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetNamespaceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this GetNamespaceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.GetNamespaceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetNamespaceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetNamespaceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.GetNamespaceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetNamespaceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.GetNamespaceRequest";
+ };
+
+ return GetNamespaceRequest;
+ })();
+
+ v1.UpdateNamespaceRequest = (function() {
+
+ /**
+ * Properties of an UpdateNamespaceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IUpdateNamespaceRequest
+ * @property {google.cloud.servicedirectory.v1.INamespace|null} [namespace] UpdateNamespaceRequest namespace
+ * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateNamespaceRequest updateMask
+ */
+
+ /**
+ * Constructs a new UpdateNamespaceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents an UpdateNamespaceRequest.
+ * @implements IUpdateNamespaceRequest
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IUpdateNamespaceRequest=} [properties] Properties to set
+ */
+ function UpdateNamespaceRequest(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]];
+ }
+
+ /**
+ * UpdateNamespaceRequest namespace.
+ * @member {google.cloud.servicedirectory.v1.INamespace|null|undefined} namespace
+ * @memberof google.cloud.servicedirectory.v1.UpdateNamespaceRequest
+ * @instance
+ */
+ UpdateNamespaceRequest.prototype.namespace = null;
+
+ /**
+ * UpdateNamespaceRequest updateMask.
+ * @member {google.protobuf.IFieldMask|null|undefined} updateMask
+ * @memberof google.cloud.servicedirectory.v1.UpdateNamespaceRequest
+ * @instance
+ */
+ UpdateNamespaceRequest.prototype.updateMask = null;
+
+ /**
+ * Creates a new UpdateNamespaceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.UpdateNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IUpdateNamespaceRequest=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.UpdateNamespaceRequest} UpdateNamespaceRequest instance
+ */
+ UpdateNamespaceRequest.create = function create(properties) {
+ return new UpdateNamespaceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateNamespaceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.UpdateNamespaceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.UpdateNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IUpdateNamespaceRequest} message UpdateNamespaceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateNamespaceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.namespace != null && Object.hasOwnProperty.call(message, "namespace"))
+ $root.google.cloud.servicedirectory.v1.Namespace.encode(message.namespace, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
+ $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateNamespaceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.UpdateNamespaceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.UpdateNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IUpdateNamespaceRequest} message UpdateNamespaceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateNamespaceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateNamespaceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.UpdateNamespaceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.UpdateNamespaceRequest} UpdateNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateNamespaceRequest.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.servicedirectory.v1.UpdateNamespaceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.namespace = $root.google.cloud.servicedirectory.v1.Namespace.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateNamespaceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.UpdateNamespaceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.UpdateNamespaceRequest} UpdateNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateNamespaceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateNamespaceRequest message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.UpdateNamespaceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateNamespaceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.namespace != null && message.hasOwnProperty("namespace")) {
+ var error = $root.google.cloud.servicedirectory.v1.Namespace.verify(message.namespace);
+ if (error)
+ return "namespace." + error;
+ }
+ if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
+ var error = $root.google.protobuf.FieldMask.verify(message.updateMask);
+ if (error)
+ return "updateMask." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an UpdateNamespaceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.UpdateNamespaceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.UpdateNamespaceRequest} UpdateNamespaceRequest
+ */
+ UpdateNamespaceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.UpdateNamespaceRequest)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.UpdateNamespaceRequest();
+ if (object.namespace != null) {
+ if (typeof object.namespace !== "object")
+ throw TypeError(".google.cloud.servicedirectory.v1.UpdateNamespaceRequest.namespace: object expected");
+ message.namespace = $root.google.cloud.servicedirectory.v1.Namespace.fromObject(object.namespace);
+ }
+ if (object.updateMask != null) {
+ if (typeof object.updateMask !== "object")
+ throw TypeError(".google.cloud.servicedirectory.v1.UpdateNamespaceRequest.updateMask: object expected");
+ message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateNamespaceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.UpdateNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.UpdateNamespaceRequest} message UpdateNamespaceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateNamespaceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.namespace = null;
+ object.updateMask = null;
+ }
+ if (message.namespace != null && message.hasOwnProperty("namespace"))
+ object.namespace = $root.google.cloud.servicedirectory.v1.Namespace.toObject(message.namespace, options);
+ if (message.updateMask != null && message.hasOwnProperty("updateMask"))
+ object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
+ return object;
+ };
+
+ /**
+ * Converts this UpdateNamespaceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.UpdateNamespaceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateNamespaceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateNamespaceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.UpdateNamespaceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateNamespaceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.UpdateNamespaceRequest";
+ };
+
+ return UpdateNamespaceRequest;
+ })();
+
+ v1.DeleteNamespaceRequest = (function() {
+
+ /**
+ * Properties of a DeleteNamespaceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IDeleteNamespaceRequest
+ * @property {string|null} [name] DeleteNamespaceRequest name
+ */
+
+ /**
+ * Constructs a new DeleteNamespaceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a DeleteNamespaceRequest.
+ * @implements IDeleteNamespaceRequest
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IDeleteNamespaceRequest=} [properties] Properties to set
+ */
+ function DeleteNamespaceRequest(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]];
+ }
+
+ /**
+ * DeleteNamespaceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.servicedirectory.v1.DeleteNamespaceRequest
+ * @instance
+ */
+ DeleteNamespaceRequest.prototype.name = "";
+
+ /**
+ * Creates a new DeleteNamespaceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.DeleteNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IDeleteNamespaceRequest=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.DeleteNamespaceRequest} DeleteNamespaceRequest instance
+ */
+ DeleteNamespaceRequest.create = function create(properties) {
+ return new DeleteNamespaceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteNamespaceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.DeleteNamespaceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.DeleteNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IDeleteNamespaceRequest} message DeleteNamespaceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteNamespaceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeleteNamespaceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.DeleteNamespaceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.DeleteNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IDeleteNamespaceRequest} message DeleteNamespaceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteNamespaceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteNamespaceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.DeleteNamespaceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.DeleteNamespaceRequest} DeleteNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteNamespaceRequest.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.servicedirectory.v1.DeleteNamespaceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeleteNamespaceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.DeleteNamespaceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.DeleteNamespaceRequest} DeleteNamespaceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteNamespaceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteNamespaceRequest message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.DeleteNamespaceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteNamespaceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a DeleteNamespaceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.DeleteNamespaceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.DeleteNamespaceRequest} DeleteNamespaceRequest
+ */
+ DeleteNamespaceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.DeleteNamespaceRequest)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.DeleteNamespaceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteNamespaceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.DeleteNamespaceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.DeleteNamespaceRequest} message DeleteNamespaceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteNamespaceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this DeleteNamespaceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.DeleteNamespaceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteNamespaceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteNamespaceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.DeleteNamespaceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteNamespaceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.DeleteNamespaceRequest";
+ };
+
+ return DeleteNamespaceRequest;
+ })();
+
+ v1.CreateServiceRequest = (function() {
+
+ /**
+ * Properties of a CreateServiceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface ICreateServiceRequest
+ * @property {string|null} [parent] CreateServiceRequest parent
+ * @property {string|null} [serviceId] CreateServiceRequest serviceId
+ * @property {google.cloud.servicedirectory.v1.IService|null} [service] CreateServiceRequest service
+ */
+
+ /**
+ * Constructs a new CreateServiceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a CreateServiceRequest.
+ * @implements ICreateServiceRequest
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.ICreateServiceRequest=} [properties] Properties to set
+ */
+ function CreateServiceRequest(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]];
+ }
+
+ /**
+ * CreateServiceRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.servicedirectory.v1.CreateServiceRequest
+ * @instance
+ */
+ CreateServiceRequest.prototype.parent = "";
+
+ /**
+ * CreateServiceRequest serviceId.
+ * @member {string} serviceId
+ * @memberof google.cloud.servicedirectory.v1.CreateServiceRequest
+ * @instance
+ */
+ CreateServiceRequest.prototype.serviceId = "";
+
+ /**
+ * CreateServiceRequest service.
+ * @member {google.cloud.servicedirectory.v1.IService|null|undefined} service
+ * @memberof google.cloud.servicedirectory.v1.CreateServiceRequest
+ * @instance
+ */
+ CreateServiceRequest.prototype.service = null;
+
+ /**
+ * Creates a new CreateServiceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.CreateServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ICreateServiceRequest=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.CreateServiceRequest} CreateServiceRequest instance
+ */
+ CreateServiceRequest.create = function create(properties) {
+ return new CreateServiceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateServiceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.CreateServiceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.CreateServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ICreateServiceRequest} message CreateServiceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateServiceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.serviceId != null && Object.hasOwnProperty.call(message, "serviceId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.serviceId);
+ if (message.service != null && Object.hasOwnProperty.call(message, "service"))
+ $root.google.cloud.servicedirectory.v1.Service.encode(message.service, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateServiceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.CreateServiceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.CreateServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ICreateServiceRequest} message CreateServiceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateServiceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateServiceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.CreateServiceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.CreateServiceRequest} CreateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateServiceRequest.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.servicedirectory.v1.CreateServiceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.serviceId = reader.string();
+ break;
+ }
+ case 3: {
+ message.service = $root.google.cloud.servicedirectory.v1.Service.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateServiceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.CreateServiceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.CreateServiceRequest} CreateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateServiceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateServiceRequest message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.CreateServiceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateServiceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.serviceId != null && message.hasOwnProperty("serviceId"))
+ if (!$util.isString(message.serviceId))
+ return "serviceId: string expected";
+ if (message.service != null && message.hasOwnProperty("service")) {
+ var error = $root.google.cloud.servicedirectory.v1.Service.verify(message.service);
+ if (error)
+ return "service." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CreateServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.CreateServiceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.CreateServiceRequest} CreateServiceRequest
+ */
+ CreateServiceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.CreateServiceRequest)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.CreateServiceRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.serviceId != null)
+ message.serviceId = String(object.serviceId);
+ if (object.service != null) {
+ if (typeof object.service !== "object")
+ throw TypeError(".google.cloud.servicedirectory.v1.CreateServiceRequest.service: object expected");
+ message.service = $root.google.cloud.servicedirectory.v1.Service.fromObject(object.service);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateServiceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.CreateServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.CreateServiceRequest} message CreateServiceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateServiceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.serviceId = "";
+ object.service = null;
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.serviceId != null && message.hasOwnProperty("serviceId"))
+ object.serviceId = message.serviceId;
+ if (message.service != null && message.hasOwnProperty("service"))
+ object.service = $root.google.cloud.servicedirectory.v1.Service.toObject(message.service, options);
+ return object;
+ };
+
+ /**
+ * Converts this CreateServiceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.CreateServiceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateServiceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateServiceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.CreateServiceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateServiceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.CreateServiceRequest";
+ };
+
+ return CreateServiceRequest;
+ })();
+
+ v1.ListServicesRequest = (function() {
+
+ /**
+ * Properties of a ListServicesRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IListServicesRequest
+ * @property {string|null} [parent] ListServicesRequest parent
+ * @property {number|null} [pageSize] ListServicesRequest pageSize
+ * @property {string|null} [pageToken] ListServicesRequest pageToken
+ * @property {string|null} [filter] ListServicesRequest filter
+ * @property {string|null} [orderBy] ListServicesRequest orderBy
+ */
+
+ /**
+ * Constructs a new ListServicesRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a ListServicesRequest.
+ * @implements IListServicesRequest
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IListServicesRequest=} [properties] Properties to set
+ */
+ function ListServicesRequest(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]];
+ }
+
+ /**
+ * ListServicesRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.servicedirectory.v1.ListServicesRequest
+ * @instance
+ */
+ ListServicesRequest.prototype.parent = "";
+
+ /**
+ * ListServicesRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.servicedirectory.v1.ListServicesRequest
+ * @instance
+ */
+ ListServicesRequest.prototype.pageSize = 0;
+
+ /**
+ * ListServicesRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.servicedirectory.v1.ListServicesRequest
+ * @instance
+ */
+ ListServicesRequest.prototype.pageToken = "";
+
+ /**
+ * ListServicesRequest filter.
+ * @member {string} filter
+ * @memberof google.cloud.servicedirectory.v1.ListServicesRequest
+ * @instance
+ */
+ ListServicesRequest.prototype.filter = "";
+
+ /**
+ * ListServicesRequest orderBy.
+ * @member {string} orderBy
+ * @memberof google.cloud.servicedirectory.v1.ListServicesRequest
+ * @instance
+ */
+ ListServicesRequest.prototype.orderBy = "";
+
+ /**
+ * Creates a new ListServicesRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.ListServicesRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListServicesRequest=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.ListServicesRequest} ListServicesRequest instance
+ */
+ ListServicesRequest.create = function create(properties) {
+ return new ListServicesRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListServicesRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.ListServicesRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.ListServicesRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListServicesRequest} message ListServicesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListServicesRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.filter);
+ if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.orderBy);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListServicesRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ListServicesRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ListServicesRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListServicesRequest} message ListServicesRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListServicesRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListServicesRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.ListServicesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.ListServicesRequest} ListServicesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListServicesRequest.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.servicedirectory.v1.ListServicesRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ case 4: {
+ message.filter = reader.string();
+ break;
+ }
+ case 5: {
+ message.orderBy = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListServicesRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ListServicesRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.ListServicesRequest} ListServicesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListServicesRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListServicesRequest message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.ListServicesRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListServicesRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ if (!$util.isString(message.orderBy))
+ return "orderBy: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListServicesRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.ListServicesRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.ListServicesRequest} ListServicesRequest
+ */
+ ListServicesRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.ListServicesRequest)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.ListServicesRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.orderBy != null)
+ message.orderBy = String(object.orderBy);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListServicesRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.ListServicesRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ListServicesRequest} message ListServicesRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListServicesRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.filter = "";
+ object.orderBy = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ object.orderBy = message.orderBy;
+ return object;
+ };
+
+ /**
+ * Converts this ListServicesRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.ListServicesRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListServicesRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListServicesRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.ListServicesRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListServicesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.ListServicesRequest";
+ };
+
+ return ListServicesRequest;
+ })();
+
+ v1.ListServicesResponse = (function() {
+
+ /**
+ * Properties of a ListServicesResponse.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IListServicesResponse
+ * @property {Array.|null} [services] ListServicesResponse services
+ * @property {string|null} [nextPageToken] ListServicesResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new ListServicesResponse.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a ListServicesResponse.
+ * @implements IListServicesResponse
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IListServicesResponse=} [properties] Properties to set
+ */
+ function ListServicesResponse(properties) {
+ this.services = [];
+ 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]];
+ }
+
+ /**
+ * ListServicesResponse services.
+ * @member {Array.} services
+ * @memberof google.cloud.servicedirectory.v1.ListServicesResponse
+ * @instance
+ */
+ ListServicesResponse.prototype.services = $util.emptyArray;
+
+ /**
+ * ListServicesResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.servicedirectory.v1.ListServicesResponse
+ * @instance
+ */
+ ListServicesResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new ListServicesResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.ListServicesResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListServicesResponse=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.ListServicesResponse} ListServicesResponse instance
+ */
+ ListServicesResponse.create = function create(properties) {
+ return new ListServicesResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListServicesResponse message. Does not implicitly {@link google.cloud.servicedirectory.v1.ListServicesResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.ListServicesResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListServicesResponse} message ListServicesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListServicesResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.services != null && message.services.length)
+ for (var i = 0; i < message.services.length; ++i)
+ $root.google.cloud.servicedirectory.v1.Service.encode(message.services[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListServicesResponse message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ListServicesResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ListServicesResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListServicesResponse} message ListServicesResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListServicesResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListServicesResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.ListServicesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.ListServicesResponse} ListServicesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListServicesResponse.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.servicedirectory.v1.ListServicesResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.services && message.services.length))
+ message.services = [];
+ message.services.push($root.google.cloud.servicedirectory.v1.Service.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListServicesResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ListServicesResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.ListServicesResponse} ListServicesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListServicesResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListServicesResponse message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.ListServicesResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListServicesResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.services != null && message.hasOwnProperty("services")) {
+ if (!Array.isArray(message.services))
+ return "services: array expected";
+ for (var i = 0; i < message.services.length; ++i) {
+ var error = $root.google.cloud.servicedirectory.v1.Service.verify(message.services[i]);
+ if (error)
+ return "services." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListServicesResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.ListServicesResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.ListServicesResponse} ListServicesResponse
+ */
+ ListServicesResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.ListServicesResponse)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.ListServicesResponse();
+ if (object.services) {
+ if (!Array.isArray(object.services))
+ throw TypeError(".google.cloud.servicedirectory.v1.ListServicesResponse.services: array expected");
+ message.services = [];
+ for (var i = 0; i < object.services.length; ++i) {
+ if (typeof object.services[i] !== "object")
+ throw TypeError(".google.cloud.servicedirectory.v1.ListServicesResponse.services: object expected");
+ message.services[i] = $root.google.cloud.servicedirectory.v1.Service.fromObject(object.services[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListServicesResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.ListServicesResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ListServicesResponse} message ListServicesResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListServicesResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.services = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.services && message.services.length) {
+ object.services = [];
+ for (var j = 0; j < message.services.length; ++j)
+ object.services[j] = $root.google.cloud.servicedirectory.v1.Service.toObject(message.services[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListServicesResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.ListServicesResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListServicesResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListServicesResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.ListServicesResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListServicesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.ListServicesResponse";
+ };
+
+ return ListServicesResponse;
+ })();
+
+ v1.GetServiceRequest = (function() {
+
+ /**
+ * Properties of a GetServiceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IGetServiceRequest
+ * @property {string|null} [name] GetServiceRequest name
+ */
+
+ /**
+ * Constructs a new GetServiceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a GetServiceRequest.
+ * @implements IGetServiceRequest
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IGetServiceRequest=} [properties] Properties to set
+ */
+ function GetServiceRequest(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]];
+ }
+
+ /**
+ * GetServiceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.servicedirectory.v1.GetServiceRequest
+ * @instance
+ */
+ GetServiceRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetServiceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.GetServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IGetServiceRequest=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.GetServiceRequest} GetServiceRequest instance
+ */
+ GetServiceRequest.create = function create(properties) {
+ return new GetServiceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetServiceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.GetServiceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.GetServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IGetServiceRequest} message GetServiceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetServiceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetServiceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.GetServiceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.GetServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IGetServiceRequest} message GetServiceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetServiceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetServiceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.GetServiceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.GetServiceRequest} GetServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetServiceRequest.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.servicedirectory.v1.GetServiceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetServiceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.GetServiceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.GetServiceRequest} GetServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetServiceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetServiceRequest message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.GetServiceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetServiceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GetServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.GetServiceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.GetServiceRequest} GetServiceRequest
+ */
+ GetServiceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.GetServiceRequest)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.GetServiceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a GetServiceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.GetServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.GetServiceRequest} message GetServiceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ GetServiceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this GetServiceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.GetServiceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ GetServiceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for GetServiceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.GetServiceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ GetServiceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.GetServiceRequest";
+ };
+
+ return GetServiceRequest;
+ })();
+
+ v1.UpdateServiceRequest = (function() {
+
+ /**
+ * Properties of an UpdateServiceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IUpdateServiceRequest
+ * @property {google.cloud.servicedirectory.v1.IService|null} [service] UpdateServiceRequest service
+ * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateServiceRequest updateMask
+ */
+
+ /**
+ * Constructs a new UpdateServiceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents an UpdateServiceRequest.
+ * @implements IUpdateServiceRequest
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IUpdateServiceRequest=} [properties] Properties to set
+ */
+ function UpdateServiceRequest(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]];
+ }
+
+ /**
+ * UpdateServiceRequest service.
+ * @member {google.cloud.servicedirectory.v1.IService|null|undefined} service
+ * @memberof google.cloud.servicedirectory.v1.UpdateServiceRequest
+ * @instance
+ */
+ UpdateServiceRequest.prototype.service = null;
+
+ /**
+ * UpdateServiceRequest updateMask.
+ * @member {google.protobuf.IFieldMask|null|undefined} updateMask
+ * @memberof google.cloud.servicedirectory.v1.UpdateServiceRequest
+ * @instance
+ */
+ UpdateServiceRequest.prototype.updateMask = null;
+
+ /**
+ * Creates a new UpdateServiceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.UpdateServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IUpdateServiceRequest=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.UpdateServiceRequest} UpdateServiceRequest instance
+ */
+ UpdateServiceRequest.create = function create(properties) {
+ return new UpdateServiceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified UpdateServiceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.UpdateServiceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.UpdateServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IUpdateServiceRequest} message UpdateServiceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateServiceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.service != null && Object.hasOwnProperty.call(message, "service"))
+ $root.google.cloud.servicedirectory.v1.Service.encode(message.service, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask"))
+ $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified UpdateServiceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.UpdateServiceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.UpdateServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IUpdateServiceRequest} message UpdateServiceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ UpdateServiceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an UpdateServiceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.UpdateServiceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.UpdateServiceRequest} UpdateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateServiceRequest.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.servicedirectory.v1.UpdateServiceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.service = $root.google.cloud.servicedirectory.v1.Service.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an UpdateServiceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.UpdateServiceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.UpdateServiceRequest} UpdateServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ UpdateServiceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an UpdateServiceRequest message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.UpdateServiceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ UpdateServiceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.service != null && message.hasOwnProperty("service")) {
+ var error = $root.google.cloud.servicedirectory.v1.Service.verify(message.service);
+ if (error)
+ return "service." + error;
+ }
+ if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
+ var error = $root.google.protobuf.FieldMask.verify(message.updateMask);
+ if (error)
+ return "updateMask." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an UpdateServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.UpdateServiceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.UpdateServiceRequest} UpdateServiceRequest
+ */
+ UpdateServiceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.UpdateServiceRequest)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.UpdateServiceRequest();
+ if (object.service != null) {
+ if (typeof object.service !== "object")
+ throw TypeError(".google.cloud.servicedirectory.v1.UpdateServiceRequest.service: object expected");
+ message.service = $root.google.cloud.servicedirectory.v1.Service.fromObject(object.service);
+ }
+ if (object.updateMask != null) {
+ if (typeof object.updateMask !== "object")
+ throw TypeError(".google.cloud.servicedirectory.v1.UpdateServiceRequest.updateMask: object expected");
+ message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an UpdateServiceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.UpdateServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.UpdateServiceRequest} message UpdateServiceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ UpdateServiceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.service = null;
+ object.updateMask = null;
+ }
+ if (message.service != null && message.hasOwnProperty("service"))
+ object.service = $root.google.cloud.servicedirectory.v1.Service.toObject(message.service, options);
+ if (message.updateMask != null && message.hasOwnProperty("updateMask"))
+ object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options);
+ return object;
+ };
+
+ /**
+ * Converts this UpdateServiceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.UpdateServiceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ UpdateServiceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for UpdateServiceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.UpdateServiceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ UpdateServiceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.UpdateServiceRequest";
+ };
+
+ return UpdateServiceRequest;
+ })();
+
+ v1.DeleteServiceRequest = (function() {
+
+ /**
+ * Properties of a DeleteServiceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IDeleteServiceRequest
+ * @property {string|null} [name] DeleteServiceRequest name
+ */
+
+ /**
+ * Constructs a new DeleteServiceRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a DeleteServiceRequest.
+ * @implements IDeleteServiceRequest
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IDeleteServiceRequest=} [properties] Properties to set
+ */
+ function DeleteServiceRequest(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]];
+ }
+
+ /**
+ * DeleteServiceRequest name.
+ * @member {string} name
+ * @memberof google.cloud.servicedirectory.v1.DeleteServiceRequest
+ * @instance
+ */
+ DeleteServiceRequest.prototype.name = "";
+
+ /**
+ * Creates a new DeleteServiceRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.DeleteServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IDeleteServiceRequest=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.DeleteServiceRequest} DeleteServiceRequest instance
+ */
+ DeleteServiceRequest.create = function create(properties) {
+ return new DeleteServiceRequest(properties);
+ };
+
+ /**
+ * Encodes the specified DeleteServiceRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.DeleteServiceRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.DeleteServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IDeleteServiceRequest} message DeleteServiceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteServiceRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DeleteServiceRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.DeleteServiceRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.DeleteServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IDeleteServiceRequest} message DeleteServiceRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DeleteServiceRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DeleteServiceRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.DeleteServiceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.DeleteServiceRequest} DeleteServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteServiceRequest.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.servicedirectory.v1.DeleteServiceRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DeleteServiceRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.DeleteServiceRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.DeleteServiceRequest} DeleteServiceRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DeleteServiceRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DeleteServiceRequest message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.DeleteServiceRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DeleteServiceRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a DeleteServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.DeleteServiceRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.DeleteServiceRequest} DeleteServiceRequest
+ */
+ DeleteServiceRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.DeleteServiceRequest)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.DeleteServiceRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DeleteServiceRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.DeleteServiceRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.DeleteServiceRequest} message DeleteServiceRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DeleteServiceRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.name = "";
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ return object;
+ };
+
+ /**
+ * Converts this DeleteServiceRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.DeleteServiceRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DeleteServiceRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DeleteServiceRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.DeleteServiceRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DeleteServiceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.DeleteServiceRequest";
+ };
+
+ return DeleteServiceRequest;
+ })();
+
+ v1.CreateEndpointRequest = (function() {
+
+ /**
+ * Properties of a CreateEndpointRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface ICreateEndpointRequest
+ * @property {string|null} [parent] CreateEndpointRequest parent
+ * @property {string|null} [endpointId] CreateEndpointRequest endpointId
+ * @property {google.cloud.servicedirectory.v1.IEndpoint|null} [endpoint] CreateEndpointRequest endpoint
+ */
+
+ /**
+ * Constructs a new CreateEndpointRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a CreateEndpointRequest.
+ * @implements ICreateEndpointRequest
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.ICreateEndpointRequest=} [properties] Properties to set
+ */
+ function CreateEndpointRequest(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]];
+ }
+
+ /**
+ * CreateEndpointRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.servicedirectory.v1.CreateEndpointRequest
+ * @instance
+ */
+ CreateEndpointRequest.prototype.parent = "";
+
+ /**
+ * CreateEndpointRequest endpointId.
+ * @member {string} endpointId
+ * @memberof google.cloud.servicedirectory.v1.CreateEndpointRequest
+ * @instance
+ */
+ CreateEndpointRequest.prototype.endpointId = "";
+
+ /**
+ * CreateEndpointRequest endpoint.
+ * @member {google.cloud.servicedirectory.v1.IEndpoint|null|undefined} endpoint
+ * @memberof google.cloud.servicedirectory.v1.CreateEndpointRequest
+ * @instance
+ */
+ CreateEndpointRequest.prototype.endpoint = null;
+
+ /**
+ * Creates a new CreateEndpointRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.CreateEndpointRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ICreateEndpointRequest=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.CreateEndpointRequest} CreateEndpointRequest instance
+ */
+ CreateEndpointRequest.create = function create(properties) {
+ return new CreateEndpointRequest(properties);
+ };
+
+ /**
+ * Encodes the specified CreateEndpointRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.CreateEndpointRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.CreateEndpointRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ICreateEndpointRequest} message CreateEndpointRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateEndpointRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.endpointId != null && Object.hasOwnProperty.call(message, "endpointId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.endpointId);
+ if (message.endpoint != null && Object.hasOwnProperty.call(message, "endpoint"))
+ $root.google.cloud.servicedirectory.v1.Endpoint.encode(message.endpoint, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CreateEndpointRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.CreateEndpointRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.CreateEndpointRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ICreateEndpointRequest} message CreateEndpointRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CreateEndpointRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CreateEndpointRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.CreateEndpointRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.CreateEndpointRequest} CreateEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateEndpointRequest.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.servicedirectory.v1.CreateEndpointRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.endpointId = reader.string();
+ break;
+ }
+ case 3: {
+ message.endpoint = $root.google.cloud.servicedirectory.v1.Endpoint.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CreateEndpointRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.CreateEndpointRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.CreateEndpointRequest} CreateEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CreateEndpointRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CreateEndpointRequest message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.CreateEndpointRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CreateEndpointRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.endpointId != null && message.hasOwnProperty("endpointId"))
+ if (!$util.isString(message.endpointId))
+ return "endpointId: string expected";
+ if (message.endpoint != null && message.hasOwnProperty("endpoint")) {
+ var error = $root.google.cloud.servicedirectory.v1.Endpoint.verify(message.endpoint);
+ if (error)
+ return "endpoint." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CreateEndpointRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.CreateEndpointRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.CreateEndpointRequest} CreateEndpointRequest
+ */
+ CreateEndpointRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.CreateEndpointRequest)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.CreateEndpointRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.endpointId != null)
+ message.endpointId = String(object.endpointId);
+ if (object.endpoint != null) {
+ if (typeof object.endpoint !== "object")
+ throw TypeError(".google.cloud.servicedirectory.v1.CreateEndpointRequest.endpoint: object expected");
+ message.endpoint = $root.google.cloud.servicedirectory.v1.Endpoint.fromObject(object.endpoint);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CreateEndpointRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.CreateEndpointRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.CreateEndpointRequest} message CreateEndpointRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CreateEndpointRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.endpointId = "";
+ object.endpoint = null;
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.endpointId != null && message.hasOwnProperty("endpointId"))
+ object.endpointId = message.endpointId;
+ if (message.endpoint != null && message.hasOwnProperty("endpoint"))
+ object.endpoint = $root.google.cloud.servicedirectory.v1.Endpoint.toObject(message.endpoint, options);
+ return object;
+ };
+
+ /**
+ * Converts this CreateEndpointRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.CreateEndpointRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CreateEndpointRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CreateEndpointRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.CreateEndpointRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CreateEndpointRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.CreateEndpointRequest";
+ };
+
+ return CreateEndpointRequest;
+ })();
+
+ v1.ListEndpointsRequest = (function() {
+
+ /**
+ * Properties of a ListEndpointsRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IListEndpointsRequest
+ * @property {string|null} [parent] ListEndpointsRequest parent
+ * @property {number|null} [pageSize] ListEndpointsRequest pageSize
+ * @property {string|null} [pageToken] ListEndpointsRequest pageToken
+ * @property {string|null} [filter] ListEndpointsRequest filter
+ * @property {string|null} [orderBy] ListEndpointsRequest orderBy
+ */
+
+ /**
+ * Constructs a new ListEndpointsRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a ListEndpointsRequest.
+ * @implements IListEndpointsRequest
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IListEndpointsRequest=} [properties] Properties to set
+ */
+ function ListEndpointsRequest(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]];
+ }
+
+ /**
+ * ListEndpointsRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsRequest
+ * @instance
+ */
+ ListEndpointsRequest.prototype.parent = "";
+
+ /**
+ * ListEndpointsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsRequest
+ * @instance
+ */
+ ListEndpointsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListEndpointsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsRequest
+ * @instance
+ */
+ ListEndpointsRequest.prototype.pageToken = "";
+
+ /**
+ * ListEndpointsRequest filter.
+ * @member {string} filter
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsRequest
+ * @instance
+ */
+ ListEndpointsRequest.prototype.filter = "";
+
+ /**
+ * ListEndpointsRequest orderBy.
+ * @member {string} orderBy
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsRequest
+ * @instance
+ */
+ ListEndpointsRequest.prototype.orderBy = "";
+
+ /**
+ * Creates a new ListEndpointsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListEndpointsRequest=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.ListEndpointsRequest} ListEndpointsRequest instance
+ */
+ ListEndpointsRequest.create = function create(properties) {
+ return new ListEndpointsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListEndpointsRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.ListEndpointsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListEndpointsRequest} message ListEndpointsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListEndpointsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.parent != null && Object.hasOwnProperty.call(message, "parent"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.filter);
+ if (message.orderBy != null && Object.hasOwnProperty.call(message, "orderBy"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.orderBy);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListEndpointsRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ListEndpointsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListEndpointsRequest} message ListEndpointsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListEndpointsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListEndpointsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.ListEndpointsRequest} ListEndpointsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListEndpointsRequest.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.servicedirectory.v1.ListEndpointsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.parent = reader.string();
+ break;
+ }
+ case 2: {
+ message.pageSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.pageToken = reader.string();
+ break;
+ }
+ case 4: {
+ message.filter = reader.string();
+ break;
+ }
+ case 5: {
+ message.orderBy = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListEndpointsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.ListEndpointsRequest} ListEndpointsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListEndpointsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListEndpointsRequest message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListEndpointsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ if (!$util.isString(message.parent))
+ return "parent: string expected";
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ if (!$util.isInteger(message.pageSize))
+ return "pageSize: integer expected";
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ if (!$util.isString(message.pageToken))
+ return "pageToken: string expected";
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ if (!$util.isString(message.orderBy))
+ return "orderBy: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListEndpointsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.ListEndpointsRequest} ListEndpointsRequest
+ */
+ ListEndpointsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.ListEndpointsRequest)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.ListEndpointsRequest();
+ if (object.parent != null)
+ message.parent = String(object.parent);
+ if (object.pageSize != null)
+ message.pageSize = object.pageSize | 0;
+ if (object.pageToken != null)
+ message.pageToken = String(object.pageToken);
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.orderBy != null)
+ message.orderBy = String(object.orderBy);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListEndpointsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ListEndpointsRequest} message ListEndpointsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListEndpointsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.filter = "";
+ object.orderBy = "";
+ }
+ if (message.parent != null && message.hasOwnProperty("parent"))
+ object.parent = message.parent;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.orderBy != null && message.hasOwnProperty("orderBy"))
+ object.orderBy = message.orderBy;
+ return object;
+ };
+
+ /**
+ * Converts this ListEndpointsRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListEndpointsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListEndpointsRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListEndpointsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.ListEndpointsRequest";
+ };
+
+ return ListEndpointsRequest;
+ })();
+
+ v1.ListEndpointsResponse = (function() {
+
+ /**
+ * Properties of a ListEndpointsResponse.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IListEndpointsResponse
+ * @property {Array.|null} [endpoints] ListEndpointsResponse endpoints
+ * @property {string|null} [nextPageToken] ListEndpointsResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new ListEndpointsResponse.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a ListEndpointsResponse.
+ * @implements IListEndpointsResponse
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IListEndpointsResponse=} [properties] Properties to set
+ */
+ function ListEndpointsResponse(properties) {
+ this.endpoints = [];
+ 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]];
+ }
+
+ /**
+ * ListEndpointsResponse endpoints.
+ * @member {Array.} endpoints
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsResponse
+ * @instance
+ */
+ ListEndpointsResponse.prototype.endpoints = $util.emptyArray;
+
+ /**
+ * ListEndpointsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsResponse
+ * @instance
+ */
+ ListEndpointsResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new ListEndpointsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListEndpointsResponse=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.ListEndpointsResponse} ListEndpointsResponse instance
+ */
+ ListEndpointsResponse.create = function create(properties) {
+ return new ListEndpointsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListEndpointsResponse message. Does not implicitly {@link google.cloud.servicedirectory.v1.ListEndpointsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListEndpointsResponse} message ListEndpointsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListEndpointsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.endpoints != null && message.endpoints.length)
+ for (var i = 0; i < message.endpoints.length; ++i)
+ $root.google.cloud.servicedirectory.v1.Endpoint.encode(message.endpoints[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListEndpointsResponse message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.ListEndpointsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IListEndpointsResponse} message ListEndpointsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListEndpointsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListEndpointsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.ListEndpointsResponse} ListEndpointsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListEndpointsResponse.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.servicedirectory.v1.ListEndpointsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.endpoints && message.endpoints.length))
+ message.endpoints = [];
+ message.endpoints.push($root.google.cloud.servicedirectory.v1.Endpoint.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListEndpointsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.ListEndpointsResponse} ListEndpointsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListEndpointsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListEndpointsResponse message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListEndpointsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.endpoints != null && message.hasOwnProperty("endpoints")) {
+ if (!Array.isArray(message.endpoints))
+ return "endpoints: array expected";
+ for (var i = 0; i < message.endpoints.length; ++i) {
+ var error = $root.google.cloud.servicedirectory.v1.Endpoint.verify(message.endpoints[i]);
+ if (error)
+ return "endpoints." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListEndpointsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.servicedirectory.v1.ListEndpointsResponse} ListEndpointsResponse
+ */
+ ListEndpointsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.servicedirectory.v1.ListEndpointsResponse)
+ return object;
+ var message = new $root.google.cloud.servicedirectory.v1.ListEndpointsResponse();
+ if (object.endpoints) {
+ if (!Array.isArray(object.endpoints))
+ throw TypeError(".google.cloud.servicedirectory.v1.ListEndpointsResponse.endpoints: array expected");
+ message.endpoints = [];
+ for (var i = 0; i < object.endpoints.length; ++i) {
+ if (typeof object.endpoints[i] !== "object")
+ throw TypeError(".google.cloud.servicedirectory.v1.ListEndpointsResponse.endpoints: object expected");
+ message.endpoints[i] = $root.google.cloud.servicedirectory.v1.Endpoint.fromObject(object.endpoints[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListEndpointsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsResponse
+ * @static
+ * @param {google.cloud.servicedirectory.v1.ListEndpointsResponse} message ListEndpointsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListEndpointsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.endpoints = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.endpoints && message.endpoints.length) {
+ object.endpoints = [];
+ for (var j = 0; j < message.endpoints.length; ++j)
+ object.endpoints[j] = $root.google.cloud.servicedirectory.v1.Endpoint.toObject(message.endpoints[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListEndpointsResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListEndpointsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListEndpointsResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.servicedirectory.v1.ListEndpointsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListEndpointsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.servicedirectory.v1.ListEndpointsResponse";
+ };
+
+ return ListEndpointsResponse;
+ })();
+
+ v1.GetEndpointRequest = (function() {
+
+ /**
+ * Properties of a GetEndpointRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @interface IGetEndpointRequest
+ * @property {string|null} [name] GetEndpointRequest name
+ */
+
+ /**
+ * Constructs a new GetEndpointRequest.
+ * @memberof google.cloud.servicedirectory.v1
+ * @classdesc Represents a GetEndpointRequest.
+ * @implements IGetEndpointRequest
+ * @constructor
+ * @param {google.cloud.servicedirectory.v1.IGetEndpointRequest=} [properties] Properties to set
+ */
+ function GetEndpointRequest(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]];
+ }
+
+ /**
+ * GetEndpointRequest name.
+ * @member {string} name
+ * @memberof google.cloud.servicedirectory.v1.GetEndpointRequest
+ * @instance
+ */
+ GetEndpointRequest.prototype.name = "";
+
+ /**
+ * Creates a new GetEndpointRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.servicedirectory.v1.GetEndpointRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IGetEndpointRequest=} [properties] Properties to set
+ * @returns {google.cloud.servicedirectory.v1.GetEndpointRequest} GetEndpointRequest instance
+ */
+ GetEndpointRequest.create = function create(properties) {
+ return new GetEndpointRequest(properties);
+ };
+
+ /**
+ * Encodes the specified GetEndpointRequest message. Does not implicitly {@link google.cloud.servicedirectory.v1.GetEndpointRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.servicedirectory.v1.GetEndpointRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IGetEndpointRequest} message GetEndpointRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetEndpointRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified GetEndpointRequest message, length delimited. Does not implicitly {@link google.cloud.servicedirectory.v1.GetEndpointRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.GetEndpointRequest
+ * @static
+ * @param {google.cloud.servicedirectory.v1.IGetEndpointRequest} message GetEndpointRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ GetEndpointRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a GetEndpointRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.servicedirectory.v1.GetEndpointRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.servicedirectory.v1.GetEndpointRequest} GetEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetEndpointRequest.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.servicedirectory.v1.GetEndpointRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a GetEndpointRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.servicedirectory.v1.GetEndpointRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.servicedirectory.v1.GetEndpointRequest} GetEndpointRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ GetEndpointRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a GetEndpointRequest message.
+ * @function verify
+ * @memberof google.cloud.servicedirectory.v1.GetEndpointRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ GetEndpointRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a GetEndpointRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.servicedirectory.v1.GetEndpointRequest
+ * @static
+ * @param {Object.