diff --git a/docker/owlbot/nodejs_mono_repo/Dockerfile b/docker/owlbot/nodejs_mono_repo/Dockerfile
new file mode 100644
index 000000000..1e4859e8e
--- /dev/null
+++ b/docker/owlbot/nodejs_mono_repo/Dockerfile
@@ -0,0 +1,55 @@
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Version 0.2.0
+
+# build from the root of this repo:
+# docker build -t gcr.io/repo-automation-bots/owlbot-nodejs -f docker/owlbot/nodejs/Dockerfile .
+FROM python:3.10.5-buster
+
+WORKDIR /
+
+###################### Install nodejs.
+RUN curl -sL https://deb.nodesource.com/setup_15.x | bash -
+RUN apt-get install -y nodejs
+
+###################### Install synthtool's requirements.
+COPY requirements.txt /synthtool/requirements.txt
+RUN pip install -r /synthtool/requirements.txt
+
+# Put synthtool in the PYTHONPATH so owlbot.py scripts will find it.
+ENV PYTHONPATH="/synthtool"
+
+# Tell synthtool to pull templates from this docker image instead of from
+# the live repo.
+ENV SYNTHTOOL_TEMPLATES="/synthtool/synthtool/gcp/templates"
+
+# Copy synthtool.
+COPY synthtool /synthtool/synthtool
+COPY docker /synthtool/docker
+COPY post-processor-changes.txt /post-processor-changes.txt
+
+# Update permissions so non-root users won't see errors.
+RUN find /synthtool -exec chmod a+r {} \;
+RUN find /synthtool -type d -exec chmod a+x {} \;
+
+# Install dependencies used for post processing:
+# * gts/typescript are used for linting.
+# * google-gax is used for compiling protos.
+RUN cd /synthtool && mkdir node_modules && npm i gts@3.1.0 google-gax@2.29.1 typescript@3.9.9 \
+ chalk@4.1.2 escodegen@2.0.0 espree@7.3.1 estraverse@5.2.0 glob@7.2.0 jsdoc@3.6.7 \
+ minimist@1.2.5 semver@7.3.5 tmp@0.2.1 uglify-js@3.14.2
+
+ENTRYPOINT [ "/bin/bash" ]
+CMD [ "/synthtool/docker/owlbot/nodejs_mono_repo/entrypoint.sh" ]
\ No newline at end of file
diff --git a/docker/owlbot/nodejs_mono_repo/cloudbuild.yaml b/docker/owlbot/nodejs_mono_repo/cloudbuild.yaml
new file mode 100644
index 000000000..bf48ffb74
--- /dev/null
+++ b/docker/owlbot/nodejs_mono_repo/cloudbuild.yaml
@@ -0,0 +1,21 @@
+steps:
+ # Write the latest commit message to a file in the workspace.
+ - name: 'gcr.io/cloud-builders/git'
+ entrypoint: '/bin/sh'
+ args:
+ - '-c'
+ - 'git log -1 --format="%s%n%n%b%nSource-Link: https://github.com/googleapis/synthtool/commit/%H" > post-processor-changes.txt'
+ # Build the docker image.
+ - name: 'gcr.io/cloud-builders/docker'
+ args: [ 'build',
+ '-t', 'gcr.io/repo-automation-bots/owlbot-nodejs-mono-repo:$SHORT_SHA',
+ '-t', 'gcr.io/repo-automation-bots/owlbot-nodejs-mono-repo:latest',
+ '-t', 'gcr.io/cloud-devrel-public-resources/owlbot-nodejs-mono-repo:$SHORT_SHA',
+ '-t', 'gcr.io/cloud-devrel-public-resources/owlbot-nodejs-mono-repo:latest',
+ '-f', 'docker/owlbot/nodejs-mono-repo/Dockerfile', '.' ]
+ # Push the docker image.
+images:
+ - gcr.io/repo-automation-bots/owlbot-nodejs-mono-repo:$SHORT_SHA
+ - gcr.io/repo-automation-bots/owlbot-nodejs-mono-repo:latest
+ - gcr.io/cloud-devrel-public-resources/owlbot-nodejs-mono-repo:$SHORT_SHA
+ - gcr.io/cloud-devrel-public-resources/owlbot-nodejs-mono-repo:latest
diff --git a/docker/owlbot/nodejs_mono_repo/entrypoint.sh b/docker/owlbot/nodejs_mono_repo/entrypoint.sh
new file mode 100644
index 000000000..4525846db
--- /dev/null
+++ b/docker/owlbot/nodejs_mono_repo/entrypoint.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+set -ex
+
+if [ -f owlbot.py ]; then
+ python owlbot.py
+else
+ python -m synthtool.languages.node_mono_repo
+fi
\ No newline at end of file
diff --git a/synthtool/gcp/common.py b/synthtool/gcp/common.py
index 622591d47..469c63787 100644
--- a/synthtool/gcp/common.py
+++ b/synthtool/gcp/common.py
@@ -24,7 +24,7 @@
from synthtool import shell, _tracked_paths
from synthtool.gcp import partials
-from synthtool.languages import node
+from synthtool.languages import node, node_mono_repo
from synthtool.log import logger
from synthtool.sources import git, templates
@@ -326,6 +326,33 @@ def node_library(self, **kwargs) -> Path:
return self._generic_library("node_library", **kwargs)
+ def node_mono_repo_library(self, relative_dir, **kwargs) -> Path:
+ # TODO: once we've migrated all Node.js repos to either having
+ # .repo-metadata.json, or excluding README.md, we can remove this.
+ if not os.path.exists(Path(relative_dir, "/.repo-metadata.json").resolve()):
+ self.excludes.append("README.md")
+ if "samples/README.md" not in self.excludes:
+ self.excludes.append("samples/README.md")
+
+ kwargs["metadata"] = node_mono_repo.template_metadata(relative_dir)
+
+ ignore_src_index = [
+ "yes" for f in self.excludes if fnmatch.fnmatch("src/index.ts", f)
+ ]
+ # generate root-level `src/index.ts` to export multiple versions and its default clients
+ if (
+ "versions" in kwargs
+ and "default_version" in kwargs
+ and not ignore_src_index
+ ):
+ node_mono_repo.generate_index_ts(
+ versions=kwargs["versions"],
+ default_version=kwargs["default_version"],
+ relative_dir=relative_dir,
+ )
+
+ return self._generic_library("node_mono_repo_library", **kwargs)
+
def php_library(self, **kwargs) -> Path:
return self._generic_library("php_library", **kwargs)
diff --git a/synthtool/gcp/templates/node_mono_repo_library/.eslintignore b/synthtool/gcp/templates/node_mono_repo_library/.eslintignore
new file mode 100644
index 000000000..ea5b04aeb
--- /dev/null
+++ b/synthtool/gcp/templates/node_mono_repo_library/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/synthtool/gcp/templates/node_mono_repo_library/.eslintrc.json b/synthtool/gcp/templates/node_mono_repo_library/.eslintrc.json
new file mode 100644
index 000000000..782153495
--- /dev/null
+++ b/synthtool/gcp/templates/node_mono_repo_library/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/synthtool/gcp/templates/node_mono_repo_library/.gitattributes b/synthtool/gcp/templates/node_mono_repo_library/.gitattributes
new file mode 100644
index 000000000..33739cb74
--- /dev/null
+++ b/synthtool/gcp/templates/node_mono_repo_library/.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/synthtool/gcp/templates/node_mono_repo_library/.mocharc.js b/synthtool/gcp/templates/node_mono_repo_library/.mocharc.js
new file mode 100644
index 000000000..0b600509b
--- /dev/null
+++ b/synthtool/gcp/templates/node_mono_repo_library/.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/synthtool/gcp/templates/node_mono_repo_library/.nycrc b/synthtool/gcp/templates/node_mono_repo_library/.nycrc
new file mode 100644
index 000000000..b18d5472b
--- /dev/null
+++ b/synthtool/gcp/templates/node_mono_repo_library/.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/synthtool/gcp/templates/node_mono_repo_library/.prettierignore b/synthtool/gcp/templates/node_mono_repo_library/.prettierignore
new file mode 100644
index 000000000..9340ad9b8
--- /dev/null
+++ b/synthtool/gcp/templates/node_mono_repo_library/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/synthtool/gcp/templates/node_mono_repo_library/.prettierrc.js b/synthtool/gcp/templates/node_mono_repo_library/.prettierrc.js
new file mode 100644
index 000000000..d1b95106f
--- /dev/null
+++ b/synthtool/gcp/templates/node_mono_repo_library/.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/synthtool/gcp/templates/node_mono_repo_library/CODE_OF_CONDUCT.md b/synthtool/gcp/templates/node_mono_repo_library/CODE_OF_CONDUCT.md
new file mode 100644
index 000000000..2add2547a
--- /dev/null
+++ b/synthtool/gcp/templates/node_mono_repo_library/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/synthtool/gcp/templates/node_mono_repo_library/CONTRIBUTING.md b/synthtool/gcp/templates/node_mono_repo_library/CONTRIBUTING.md
new file mode 100644
index 000000000..e8f43fd39
--- /dev/null
+++ b/synthtool/gcp/templates/node_mono_repo_library/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].{% if metadata['repo']['requires_billing'] %}
+1. [Enable billing for your project][billing].{% endif %} {% if metadata['repo']['api_id'] %}
+1. [Enable the {{ metadata['repo']['name_pretty'] }} API][enable_api]. {% endif %}
+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
+{% if metadata['repo']['api_id'] %}[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid={{ metadata['repo']['api_id'] }}{% endif %}
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/synthtool/gcp/templates/node_mono_repo_library/LICENSE b/synthtool/gcp/templates/node_mono_repo_library/LICENSE
new file mode 100644
index 000000000..d64569567
--- /dev/null
+++ b/synthtool/gcp/templates/node_mono_repo_library/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/synthtool/gcp/templates/node_mono_repo_library/README.md b/synthtool/gcp/templates/node_mono_repo_library/README.md
new file mode 100644
index 000000000..e5a6fa5f2
--- /dev/null
+++ b/synthtool/gcp/templates/node_mono_repo_library/README.md
@@ -0,0 +1,174 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+{% if 'partials' in metadata and metadata['partials']['title'] -%}
+{{ metadata['partials']['title'] }}
+{% else -%}
+# [{{ metadata['repo']['name_pretty'] }}: {{ metadata['repo']['language']|language_pretty }} Client](https://github.com/{{ metadata['repo']['repo'] }})
+{%- endif %}
+
+{{ metadata['repo']['release_level']|release_quality_badge }}
+[![npm version](https://img.shields.io/npm/v/{{ metadata['name'] }}.svg)](https://www.npmjs.org/package/{{ metadata['name'] }})
+
+{% if metadata['deprecated'] %}
+| :warning: Deprecated Module |
+| --- |
+| This library is **deprecated**. {{ metadata['deprecated'] }} |
+{% endif %}
+
+{% if 'partials' in metadata and metadata['partials']['introduction'] %}
+{{ metadata['partials']['introduction'] }}
+{% else %}
+{{ metadata['description'] }}
+{% endif %}
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/{{ metadata['repo']['repo'] }}/blob/{{metadata['repo']['default_branch']}}/CHANGELOG.md).
+
+{% if metadata['repo']['client_documentation'] %}* [{{ metadata['repo']['name_pretty'] }} {{ metadata['repo']['language']|language_pretty }} Client API Reference][client-docs]{% endif %}
+{% if metadata['repo']['product_documentation'] %}* [{{ metadata['repo']['name_pretty'] }} Documentation][product-docs]{% endif %}
+* [github.com/{{ metadata['repo']['repo'] }}](https://github.com/{{ metadata['repo']['repo'] }})
+
+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)
+{% if metadata['repo']['api_id'] %} * [Before you begin](#before-you-begin){% endif %}
+ * [Installing the client library](#installing-the-client-library)
+{% if metadata['quickstart'] %} * [Using the client library](#using-the-client-library){% endif %}
+{% if metadata['samples']|length %}* [Samples](#samples){% endif %}
+* [Versioning](#versioning)
+* [Contributing](#contributing)
+* [License](#license)
+
+## Quickstart
+{% if metadata['repo']['api_id'] %}
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].{% if metadata['repo']['requires_billing'] %}
+1. [Enable billing for your project][billing].{% endif %}
+1. [Enable the {{ metadata['repo']['name_pretty'] }} API][enable_api].
+1. [Set up authentication with a service account][auth] so you can access the
+ API from your local workstation.
+{% endif %}
+### Installing the client library
+
+```bash
+{{ metadata['lib_install_cmd'] }}
+```
+
+{% if metadata['quickstart'] %}
+### Using the client library
+
+```{{ metadata['repo']['language']|syntax_highlighter }}
+{{ metadata['quickstart'] }}
+```
+{% endif %}{% if 'partials' in metadata and metadata['partials']['body'] %}{{ metadata['partials']['body'] }}{% endif %}
+
+{% if metadata['samples']|length %}
+## Samples
+
+Samples are in the [`samples/`](https://github.com/{{ metadata['repo']['repo'] }}/tree/{{ metadata['repo']['default_branch'] }}/samples) directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code | Try it |
+| --------------------------- | --------------------------------- | ------ |
+{% for sample in metadata['samples'] %}| {{ sample.title }} | [source code](https://github.com/{{ metadata['repo']['repo'] }}/blob/{{ metadata['repo']['default_branch'] }}/{{ sample.file }}) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/{{ metadata['repo']['repo'] }}&page=editor&open_in_editor={{ sample.file }},samples/README.md) |
+{% endfor %}
+{% endif %}
+{% if metadata['repo']['client_documentation'] %}
+The [{{ metadata['repo']['name_pretty'] }} {{ metadata['repo']['language']|language_pretty }} Client API Reference][client-docs] documentation
+also contains samples.
+{% endif %}
+## 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, `{{ metadata['lib_install_cmd'] }}@legacy-8` installs client libraries
+for versions compatible with Node.js 8.
+
+## Versioning
+
+This library follows [Semantic Versioning](http://semver.org/).
+
+{% if metadata['repo']['release_level'] == 'ga' %}
+This library is considered to be **General Availability (GA)**. This means it
+is 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 **GA** libraries
+are addressed with the highest priority.
+{% endif %}
+{% if metadata['repo']['release_level'] == 'stable' %}
+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.
+{% endif %}
+{% if metadata['repo']['release_level'] == 'beta' %}
+This library is considered to be in **beta**. This means it is expected to be
+mostly stable while we work toward a general availability release; however,
+complete stability is not guaranteed. We will address issues and requests
+against beta libraries with a high priority.
+{% endif %}
+{% if metadata['repo']['release_level'] == 'alpha' %}
+This library is considered to be in **alpha**. This means it is still a
+work-in-progress and under active development. Any release is subject to
+backwards-incompatible changes at any time.
+{% endif %}
+{% if metadata['release_level'] == 'deprecated' %}
+This library is **deprecated**. This means that it is no longer being
+actively maintained and the only updates the library will receive will
+be for critical security issues. {% if metadata['deprecated'] %}{{ metadata['deprecated'] }}{% endif %}
+{% endif %}
+{% if metadata['repo']['release_level'] == 'preview' %}
+This library is considered to be in **preview**. This means it is still a
+work-in-progress and under active development. Any release is subject to
+backwards-incompatible changes at any time.
+{% endif %}
+
+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/{{ metadata['repo']['repo'] }}/blob/{{ metadata['repo']['default_branch'] }}/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/{{ metadata['repo']['repo'] }}/blob/{{ metadata['repo']['default_branch'] }}/LICENSE)
+
+{% if metadata['repo']['client_documentation'] %}[client-docs]: {{ metadata['repo']['client_documentation'] }}{% endif %}
+{% if metadata['repo']['product_documentation'] %}[product-docs]: {{ metadata['repo']['product_documentation'] }}{% endif %}
+[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
+{% if metadata['repo']['api_id'] %}[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid={{ metadata['repo']['api_id'] }}{% endif %}
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/synthtool/gcp/templates/node_mono_repo_library/samples/README.md b/synthtool/gcp/templates/node_mono_repo_library/samples/README.md
new file mode 100644
index 000000000..d7d698549
--- /dev/null
+++ b/synthtool/gcp/templates/node_mono_repo_library/samples/README.md
@@ -0,0 +1,66 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+{% if 'partials' in metadata and metadata['partials']['title'] -%}
+{{ metadata['partials']['title'] }} Samples
+{% else -%}
+# [{{ metadata['repo']['name_pretty'] }}: {{ metadata['repo']['language']|language_pretty }} Samples](https://github.com/{{ metadata['repo']['repo'] }})
+{%- endif %}
+
+[![Open in Cloud Shell][shell_img]][shell_link]
+
+{% if metadata['partials'] and metadata['partials']['introduction'] %}{{ metadata['partials']['introduction'] }}{% endif %}
+
+## Table of Contents
+
+* [Before you begin](#before-you-begin)
+* [Samples](#samples){% if metadata['samples']|length %}{% for sample in metadata['samples'] %}
+ * [{{ sample.title }}](#{{ sample.title|slugify }}){% endfor %}{% endif %}
+
+## Before you begin
+
+Before running the samples, make sure you've followed the steps outlined in
+[Using the client library](https://github.com/{{ metadata['repo']['repo'] }}#using-the-client-library).
+
+{% if 'partials' in metadata and metadata['partials']['samples_body'] %}{{ metadata['partials']['samples_body'] }}
+
+{% endif -%}
+
+`cd samples`
+
+`npm install`
+
+`cd ..`
+
+## Samples
+{% if metadata['samples']|length %}
+{% for sample in metadata['samples'] %}
+
+### {{sample.title}}
+
+{%- if 'description' in sample %}
+
+{{ sample.description }}
+
+{%- endif %}
+
+View the [source code](https://github.com/{{ metadata['repo']['repo'] }}/blob/{{ metadata['repo']['default_branch'] }}/{{ sample.file }}).
+
+[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/{{ metadata['repo']['repo'] }}&page=editor&open_in_editor={{ sample.file }},samples/README.md)
+
+__Usage:__
+
+
+{% if 'usage' in sample %}`{{ sample.usage }}`{% else %}`node {{ sample.file }}`{% endif %}
+
+{% if not loop.last %}
+-----
+{% endif %}
+
+{% endfor %}
+{% endif %}
+
+[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png
+[shell_link]: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/{{ metadata['repo']['repo'] }}&page=editor&open_in_editor=samples/README.md
+[product-docs]: {{ metadata['repo']['product_documentation'] }}
diff --git a/synthtool/languages/node_mono_repo.py b/synthtool/languages/node_mono_repo.py
new file mode 100644
index 000000000..05464fbf0
--- /dev/null
+++ b/synthtool/languages/node_mono_repo.py
@@ -0,0 +1,377 @@
+# Copyright 2018 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# 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.
+
+import json
+from jinja2 import FileSystemLoader, Environment
+from pathlib import Path
+import re
+from synthtool import _tracked_paths, gcp, shell, transforms
+from synthtool.gcp import samples, snippets
+from synthtool.log import logger
+from synthtool.sources import git
+from typing import Any, Dict, List, Optional, Callable
+import logging
+import shutil
+from synthtool.languages import common
+
+
+_REQUIRED_FIELDS = ["name", "repository", "engines"]
+_TOOLS_DIRECTORY = "/synthtool"
+_GENERATED_SAMPLES_DIRECTORY = "./samples/generated"
+
+
+def read_metadata(relative_dir: str):
+ """
+ read package name and repository in package.json from a Node library.
+
+ Returns:
+ data - package.json file as a dict.
+ """
+ with open(Path(relative_dir, "./package.json").resolve()) as f:
+ data = json.load(f)
+
+ if not all(key in data for key in _REQUIRED_FIELDS):
+ raise RuntimeError(
+ f"package.json is missing required fields {_REQUIRED_FIELDS}"
+ )
+
+ repo = git.parse_repo_url(data["repository"])
+
+ data["repository"] = f'{repo["owner"]}/{repo["name"]}'
+ data["repository_name"] = repo["name"]
+ data["lib_install_cmd"] = f'npm install {data["name"]}'
+ engines_field = re.search(r"([0-9][0-9])", data["engines"]["node"])
+ assert engines_field is not None
+ data["engine"] = engines_field.group()
+
+ return data
+
+
+def template_metadata(relative_dir: str) -> Dict[str, Any]:
+ """Load node specific template metadata.
+
+ Returns:
+ Dictionary of metadata. Includes the entire parsed contents of the package.json file if
+ present. Other expected fields:
+ * quickstart (str): Contents of the quickstart snippet if available, otherwise, ""
+ * samples (List[Dict[str, str]]): List of available samples. See synthtool.gcp.samples.all_samples()
+ """
+ metadata = {}
+ try:
+ metadata = read_metadata(relative_dir)
+ except FileNotFoundError:
+ pass
+
+ all_samples = samples.all_samples([str(Path(relative_dir, "samples/*.js"))])
+
+ # quickstart.js sample is special - only include it in the samples list if there is
+ # a quickstart snippet present in the file
+ quickstart_snippets = list(
+ snippets.all_snippets_from_file(
+ str(Path(relative_dir, "samples/quickstart.js").resolve())
+ ).values()
+ )
+ metadata["quickstart"] = quickstart_snippets[0] if quickstart_snippets else ""
+ metadata["samples"] = list(
+ filter(
+ lambda sample: sample["file"] != "samples/quickstart.js"
+ or metadata["quickstart"],
+ all_samples,
+ )
+ )
+ return metadata
+
+
+def extract_clients(filePath: Path) -> List[str]:
+ """
+ parse the client name from index.ts file
+
+ Args:
+ filePath: the path of index.ts.
+ Returns:
+ Array of client name string extract from index.ts file.
+ """
+ with open(filePath, "r") as fh:
+ content = fh.read()
+ return re.findall(r"\{(.*Client)\}", content)
+
+
+def generate_index_ts(
+ versions: List[str], default_version: str, relative_dir: str
+) -> None:
+ """
+ generate src/index.ts to export the client name and versions in the client library.
+
+ Args:
+ versions: the list of versions, like: ['v1', 'v1beta1', ...]
+ default_version: a stable version provided by API producer. It must exist in argument versions.
+ Return:
+ True/False: return true if successfully generate src/index.ts, vice versa.
+ """
+ # sanitizer the input arguments
+ if len(versions) < 1:
+ err_msg = (
+ "List of version can't be empty, it must contain default version at least."
+ )
+ logger.error(err_msg)
+ raise AttributeError(err_msg)
+ if default_version not in versions:
+ err_msg = f"Version {versions} must contain default version {default_version}."
+ logger.error(err_msg)
+ raise AttributeError(err_msg)
+
+ # To make sure the output is always deterministic.
+ versions = sorted(versions)
+
+ # compose default version's index.ts file path
+ versioned_index_ts_path = (
+ Path(relative_dir) / Path("src") / default_version / "index.ts"
+ )
+ clients = extract_clients(versioned_index_ts_path)
+ if not clients:
+ err_msg = f"No client is exported in the default version's({default_version}) index.ts ."
+ logger.error(err_msg)
+ raise AttributeError(err_msg)
+
+ # compose template directory
+ template_path = (
+ Path(__file__).parent.parent / "gcp" / "templates" / "node_split_library"
+ )
+ template_loader = FileSystemLoader(searchpath=str(template_path))
+ template_env = Environment(loader=template_loader, keep_trailing_newline=True)
+ TEMPLATE_FILE = "index.ts.j2"
+ index_template = template_env.get_template(TEMPLATE_FILE)
+ # render index.ts content
+ output_text = index_template.render(
+ versions=versions, default_version=default_version, clients=clients
+ )
+ with open(Path(relative_dir, "src/index.ts").resolve(), "w") as fh:
+ fh.write(output_text)
+ logger.info("successfully generate `src/index.ts`")
+
+
+def install(hide_output=False):
+ """
+ Installs all dependencies for the current Node.js library.
+ """
+ logger.debug("Installing dependencies...")
+ shell.run(["npm", "install"], hide_output=hide_output)
+
+
+def fix(hide_output=False):
+ """
+ Fixes the formatting in the current Node.js library.
+ Before running fix script, run prelint to install extra dependencies
+ for samples, but do not fail if it does not succeed.
+ """
+ logger.debug("Running prelint...")
+ shell.run(["npm", "run", "prelint"], check=False, hide_output=hide_output)
+ logger.debug("Running fix...")
+ shell.run(["npm", "run", "fix"], hide_output=hide_output)
+
+
+def fix_hermetic(hide_output=False):
+ """
+ Fixes the formatting in the current Node.js library. It assumes that gts
+ is already installed in a well known location on disk:
+ """
+ logger.debug("Copy eslint config")
+ shell.run(
+ ["cp", "-r", f"{_TOOLS_DIRECTORY}/node_modules", "."],
+ check=True,
+ hide_output=hide_output,
+ )
+ logger.debug("Running fix...")
+ shell.run(
+ [f"{_TOOLS_DIRECTORY}/node_modules/.bin/gts", "fix"],
+ check=False,
+ hide_output=hide_output,
+ )
+
+
+def compile_protos(hide_output=False):
+ """
+ Compiles protos into .json, .js, and .d.ts files using
+ compileProtos script from google-gax.
+ """
+ logger.debug("Compiling protos...")
+ shell.run(["npx", "compileProtos", "src"], hide_output=hide_output)
+
+
+def compile_protos_hermetic(hide_output=False):
+ """
+ Compiles protos into .json, .js, and .d.ts files using
+ compileProtos script from google-gax.
+ """
+ logger.debug("Compiling protos...")
+ shell.run(
+ [f"{_TOOLS_DIRECTORY}/node_modules/.bin/compileProtos", "src"],
+ check=True,
+ hide_output=hide_output,
+ )
+
+
+def postprocess_gapic_library(hide_output=False):
+ logger.debug("Post-processing GAPIC library...")
+ install(hide_output=hide_output)
+ fix(hide_output=hide_output)
+ compile_protos(hide_output=hide_output)
+ logger.debug("Post-processing completed")
+
+
+def postprocess_gapic_library_hermetic(hide_output=False):
+ logger.debug("Post-processing GAPIC library...")
+ fix_hermetic(hide_output=hide_output)
+ compile_protos_hermetic(hide_output=hide_output)
+ logger.debug("Post-processing completed")
+
+
+default_staging_excludes = ["README.md", "package.json", "src/index.ts"]
+default_templates_excludes: List[str] = []
+
+
+def _noop(library: Path) -> None:
+ pass
+
+
+def walk_through_owlbot_dirs(dir: Path):
+ """
+ Walks through all API packages in google-cloud-node/packages
+
+ Returns:
+ A list of client libs
+ """
+ owlbot_dirs = []
+ for path_object in dir.glob("packages/**/.OwlBot.yaml"):
+ if path_object.is_file():
+ owlbot_dirs.append(str(Path(path_object).parents[0]))
+
+ return owlbot_dirs
+
+
+def owlbot_main(
+ relative_dir,
+ template_path: Optional[Path] = None,
+ staging_excludes: Optional[List[str]] = None,
+ templates_excludes: Optional[List[str]] = None,
+ patch_staging: Callable[[Path], None] = _noop,
+) -> None:
+ """Copies files from staging and template directories into current working dir.
+
+ Args:
+ template_path: path to template directory; omit except in tests.
+ staging_excludes: paths to ignore when copying from the staging directory
+ templates_excludes: paths to ignore when copying generated templates
+ patch_staging: callback function runs on each staging directory before
+ copying it into repo root. Add your regular expression substitution code
+ here.
+
+ When there is no owlbot.py file, run this function instead. Also, when an
+ owlbot.py file is necessary, the first statement of owlbot.py should probably
+ call this function.
+
+ Depends on owl-bot copying into a staging directory, so your .Owlbot.yaml should
+ look a lot like this:
+
+ docker:
+ image: gcr.io/repo-automation-bots/owlbot-nodejs:latest
+
+ deep-remove-regex:
+ - /owl-bot-staging
+
+ deep-copy-regex:
+ - source: /google/cloud/video/transcoder/(.*)/.*-nodejs/(.*)
+ dest: /owl-bot-staging/$1/$2
+
+ Also, this function requires a default_version in your .repo-metadata.json. Ex:
+ "default_version": "v1",
+ """
+ if staging_excludes is None:
+ staging_excludes = default_staging_excludes
+ if templates_excludes is None:
+ templates_excludes = default_templates_excludes
+
+ logging.basicConfig(level=logging.DEBUG)
+ # Load the default version defined in .repo-metadata.json.
+ default_version = json.load(
+ open(Path(relative_dir, ".repo-metadata.json").resolve(), "rt")
+ ).get("default_version")
+ staging = Path("owl-bot-staging", Path(relative_dir).name).resolve()
+ s_copy = transforms.move
+ if default_version is None:
+ logger.info("No default version found in .repo-metadata.json. Ok.")
+ elif staging.is_dir():
+ logger.info(f"Copying files from staging directory ${staging}.")
+ # Collect the subdirectories of the staging directory.
+ versions = [v.name for v in staging.iterdir() if v.is_dir()]
+ # Reorder the versions so the default version always comes last.
+ versions = [v for v in versions if v != default_version] + [default_version]
+ logger.info(f"Collected versions ${versions} from ${staging}")
+
+ # Copy each version directory into the root.
+ for version in versions:
+ library = staging / version
+ _tracked_paths.add(library)
+ patch_staging(library)
+ s_copy([library], destination=relative_dir, excludes=staging_excludes)
+ # The staging directory should never be merged into the main branch.
+ shutil.rmtree(staging)
+ else:
+ # Collect the subdirectories of the src directory.
+ src = Path(Path(relative_dir), "src").resolve()
+ versions = [v.name for v in src.iterdir() if v.is_dir()]
+ # Reorder the versions so the default version always comes last.
+ versions = [v for v in versions if v != default_version] + [default_version]
+ logger.info(f"Collected versions ${versions} from ${src}")
+
+ common_templates = gcp.CommonTemplates(template_path)
+ common_templates.excludes.extend(templates_excludes)
+ if default_version:
+ templates = common_templates.node_mono_repo_library(
+ relative_dir=relative_dir,
+ source_location="build/src",
+ versions=versions,
+ default_version=default_version,
+ )
+ s_copy([templates], destination=relative_dir, excludes=templates_excludes)
+ postprocess_gapic_library_hermetic()
+ else:
+ templates = common_templates.node_mono_repo_library(
+ relative_dir=relative_dir, source_location="build/src"
+ )
+ s_copy([templates], destination=relative_dir, excludes=templates_excludes)
+
+ library_version = template_metadata(str(Path(relative_dir))).get("version")
+ if library_version:
+ common.update_library_version(
+ library_version,
+ str(Path(relative_dir, _GENERATED_SAMPLES_DIRECTORY).resolve()),
+ )
+
+
+def owlbot_entrypoint(
+ template_path: Optional[Path] = None,
+ staging_excludes: Optional[List[str]] = None,
+ templates_excludes: Optional[List[str]] = None,
+ patch_staging: Callable[[Path], None] = _noop,
+):
+ owlbot_dirs = walk_through_owlbot_dirs(Path.cwd())
+ for dir in owlbot_dirs:
+ owlbot_main(
+ dir, template_path, staging_excludes, templates_excludes, patch_staging
+ )
+
+
+if __name__ == "__main__":
+ owlbot_entrypoint()
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/README.md b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/README.md
new file mode 100644
index 000000000..cb63619c6
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/README.md
@@ -0,0 +1 @@
+Dlp: Nodejs Client
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/linkinator.config.json b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/linkinator.config.json
new file mode 100644
index 000000000..29a223b6d
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/linkinator.config.json
@@ -0,0 +1,10 @@
+{
+ "recurse": true,
+ "skip": [
+ "https://codecov.io/gh/googleapis/",
+ "www.googleapis.com",
+ "img.shields.io"
+ ],
+ "silent": true,
+ "concurrency": 10
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/package.json b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/package.json
new file mode 100644
index 000000000..d4d9a739e
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/package.json
@@ -0,0 +1,64 @@
+{
+ "name": "@google-cloud/dlp",
+ "version": "0.1.0",
+ "description": "Dlp client for Node.js",
+ "repository": "googleapis/nodejs-dlp",
+ "license": "Apache-2.0",
+ "author": "Google LLC",
+ "main": "build/src/index.js",
+ "files": [
+ "build/src",
+ "build/protos"
+ ],
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google dlp",
+ "dlp",
+ "dlp service"
+ ],
+ "scripts": {
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "docs": "jsdoc -c .jsdoc.js",
+ "predocs-test": "npm run docs",
+ "docs-test": "linkinator docs",
+ "fix": "gts fix",
+ "lint": "gts check",
+ "prepare": "npm run compile-protos && npm run compile",
+ "system-test": "c8 mocha build/system-test",
+ "test": "c8 mocha build/test"
+ },
+ "dependencies": {
+ "google-gax": "^2.10.3"
+ },
+ "devDependencies": {
+ "@types/mocha": "^8.2.1",
+ "@types/node": "^14.14.32",
+ "@types/sinon": "^9.0.11",
+ "c8": "^7.6.0",
+ "gts": "^3.1.0",
+ "jsdoc": "^3.6.6",
+ "jsdoc-fresh": "^1.0.2",
+ "jsdoc-region-tag": "^1.0.6",
+ "linkinator": "^2.13.6",
+ "mocha": "^8.3.1",
+ "null-loader": "^4.0.1",
+ "pack-n-play": "^1.0.0-2",
+ "sinon": "^9.2.4",
+ "ts-loader": "^8.0.17",
+ "typescript": "^4.2.3",
+ "webpack": "^5.24.4",
+ "webpack-cli": "^4.5.0"
+ },
+ "engines": {
+ "node": ">=v10.24.0"
+ }
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/protos/google/privacy/dlp/v2/dlp.proto b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/protos/google/privacy/dlp/v2/dlp.proto
new file mode 100644
index 000000000..3fb0c2193
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/protos/google/privacy/dlp/v2/dlp.proto
@@ -0,0 +1,4379 @@
+// 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.privacy.dlp.v2;
+
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/privacy/dlp/v2/storage.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+import "google/type/date.proto";
+import "google/type/dayofweek.proto";
+import "google/type/timeofday.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Cloud.Dlp.V2";
+option go_package = "google.golang.org/genproto/googleapis/privacy/dlp/v2;dlp";
+option java_multiple_files = true;
+option java_outer_classname = "DlpProto";
+option java_package = "com.google.privacy.dlp.v2";
+option php_namespace = "Google\\Cloud\\Dlp\\V2";
+option ruby_package = "Google::Cloud::Dlp::V2";
+option (google.api.resource_definition) = {
+ type: "dlp.googleapis.com/DlpContent"
+ pattern: "projects/{project}/dlpContent"
+ pattern: "projects/{project}/locations/{location}/dlpContent"
+};
+option (google.api.resource_definition) = {
+ type: "dlp.googleapis.com/OrganizationLocation"
+ pattern: "organizations/{organization}/locations/{location}"
+};
+
+// The Cloud Data Loss Prevention (DLP) API is a service that allows clients
+// to detect the presence of Personally Identifiable Information (PII) and other
+// privacy-sensitive data in user-supplied, unstructured data streams, like text
+// blocks or images.
+// The service also includes methods for sensitive data redaction and
+// scheduling of data scans on Google Cloud Platform based data sets.
+//
+// To learn more about concepts and find how-to guides see
+// https://cloud.google.com/dlp/docs/.
+service DlpService {
+ option (google.api.default_host) = "dlp.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Finds potentially sensitive info in content.
+ // This method has limits on input size, processing time, and output size.
+ //
+ // When no InfoTypes or CustomInfoTypes are specified in this request, the
+ // system will automatically choose what detectors to run. By default this may
+ // be all types, but may change over time as detectors are updated.
+ //
+ // For how to guides, see https://cloud.google.com/dlp/docs/inspecting-images
+ // and https://cloud.google.com/dlp/docs/inspecting-text,
+ rpc InspectContent(InspectContentRequest) returns (InspectContentResponse) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/content:inspect"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/content:inspect"
+ body: "*"
+ }
+ };
+ }
+
+ // Redacts potentially sensitive info from an image.
+ // This method has limits on input size, processing time, and output size.
+ // See https://cloud.google.com/dlp/docs/redacting-sensitive-data-images to
+ // learn more.
+ //
+ // When no InfoTypes or CustomInfoTypes are specified in this request, the
+ // system will automatically choose what detectors to run. By default this may
+ // be all types, but may change over time as detectors are updated.
+ rpc RedactImage(RedactImageRequest) returns (RedactImageResponse) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/image:redact"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/image:redact"
+ body: "*"
+ }
+ };
+ }
+
+ // De-identifies potentially sensitive info from a ContentItem.
+ // This method has limits on input size and output size.
+ // See https://cloud.google.com/dlp/docs/deidentify-sensitive-data to
+ // learn more.
+ //
+ // When no InfoTypes or CustomInfoTypes are specified in this request, the
+ // system will automatically choose what detectors to run. By default this may
+ // be all types, but may change over time as detectors are updated.
+ rpc DeidentifyContent(DeidentifyContentRequest) returns (DeidentifyContentResponse) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/content:deidentify"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/content:deidentify"
+ body: "*"
+ }
+ };
+ }
+
+ // Re-identifies content that has been de-identified.
+ // See
+ // https://cloud.google.com/dlp/docs/pseudonymization#re-identification_in_free_text_code_example
+ // to learn more.
+ rpc ReidentifyContent(ReidentifyContentRequest) returns (ReidentifyContentResponse) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/content:reidentify"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/content:reidentify"
+ body: "*"
+ }
+ };
+ }
+
+ // Returns a list of the sensitive information types that the DLP API
+ // supports. See https://cloud.google.com/dlp/docs/infotypes-reference to
+ // learn more.
+ rpc ListInfoTypes(ListInfoTypesRequest) returns (ListInfoTypesResponse) {
+ option (google.api.http) = {
+ get: "/v2/infoTypes"
+ additional_bindings {
+ get: "/v2/{parent=locations/*}/infoTypes"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Creates an InspectTemplate for re-using frequently used configuration
+ // for inspecting content, images, and storage.
+ // See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+ rpc CreateInspectTemplate(CreateInspectTemplateRequest) returns (InspectTemplate) {
+ option (google.api.http) = {
+ post: "/v2/{parent=organizations/*}/inspectTemplates"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=organizations/*/locations/*}/inspectTemplates"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{parent=projects/*}/inspectTemplates"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/inspectTemplates"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,inspect_template";
+ }
+
+ // Updates the InspectTemplate.
+ // See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+ rpc UpdateInspectTemplate(UpdateInspectTemplateRequest) returns (InspectTemplate) {
+ option (google.api.http) = {
+ patch: "/v2/{name=organizations/*/inspectTemplates/*}"
+ body: "*"
+ additional_bindings {
+ patch: "/v2/{name=organizations/*/locations/*/inspectTemplates/*}"
+ body: "*"
+ }
+ additional_bindings {
+ patch: "/v2/{name=projects/*/inspectTemplates/*}"
+ body: "*"
+ }
+ additional_bindings {
+ patch: "/v2/{name=projects/*/locations/*/inspectTemplates/*}"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "name,inspect_template,update_mask";
+ }
+
+ // Gets an InspectTemplate.
+ // See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+ rpc GetInspectTemplate(GetInspectTemplateRequest) returns (InspectTemplate) {
+ option (google.api.http) = {
+ get: "/v2/{name=organizations/*/inspectTemplates/*}"
+ additional_bindings {
+ get: "/v2/{name=organizations/*/locations/*/inspectTemplates/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=projects/*/inspectTemplates/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/inspectTemplates/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists InspectTemplates.
+ // See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+ rpc ListInspectTemplates(ListInspectTemplatesRequest) returns (ListInspectTemplatesResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=organizations/*}/inspectTemplates"
+ additional_bindings {
+ get: "/v2/{parent=organizations/*/locations/*}/inspectTemplates"
+ }
+ additional_bindings {
+ get: "/v2/{parent=projects/*}/inspectTemplates"
+ }
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/inspectTemplates"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Deletes an InspectTemplate.
+ // See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+ rpc DeleteInspectTemplate(DeleteInspectTemplateRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=organizations/*/inspectTemplates/*}"
+ additional_bindings {
+ delete: "/v2/{name=organizations/*/locations/*/inspectTemplates/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=projects/*/inspectTemplates/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/inspectTemplates/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a DeidentifyTemplate for re-using frequently used configuration
+ // for de-identifying content, images, and storage.
+ // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
+ // more.
+ rpc CreateDeidentifyTemplate(CreateDeidentifyTemplateRequest) returns (DeidentifyTemplate) {
+ option (google.api.http) = {
+ post: "/v2/{parent=organizations/*}/deidentifyTemplates"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=organizations/*/locations/*}/deidentifyTemplates"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{parent=projects/*}/deidentifyTemplates"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/deidentifyTemplates"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,deidentify_template";
+ }
+
+ // Updates the DeidentifyTemplate.
+ // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
+ // more.
+ rpc UpdateDeidentifyTemplate(UpdateDeidentifyTemplateRequest) returns (DeidentifyTemplate) {
+ option (google.api.http) = {
+ patch: "/v2/{name=organizations/*/deidentifyTemplates/*}"
+ body: "*"
+ additional_bindings {
+ patch: "/v2/{name=organizations/*/locations/*/deidentifyTemplates/*}"
+ body: "*"
+ }
+ additional_bindings {
+ patch: "/v2/{name=projects/*/deidentifyTemplates/*}"
+ body: "*"
+ }
+ additional_bindings {
+ patch: "/v2/{name=projects/*/locations/*/deidentifyTemplates/*}"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "name,deidentify_template,update_mask";
+ }
+
+ // Gets a DeidentifyTemplate.
+ // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
+ // more.
+ rpc GetDeidentifyTemplate(GetDeidentifyTemplateRequest) returns (DeidentifyTemplate) {
+ option (google.api.http) = {
+ get: "/v2/{name=organizations/*/deidentifyTemplates/*}"
+ additional_bindings {
+ get: "/v2/{name=organizations/*/locations/*/deidentifyTemplates/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=projects/*/deidentifyTemplates/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/deidentifyTemplates/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists DeidentifyTemplates.
+ // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
+ // more.
+ rpc ListDeidentifyTemplates(ListDeidentifyTemplatesRequest) returns (ListDeidentifyTemplatesResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=organizations/*}/deidentifyTemplates"
+ additional_bindings {
+ get: "/v2/{parent=organizations/*/locations/*}/deidentifyTemplates"
+ }
+ additional_bindings {
+ get: "/v2/{parent=projects/*}/deidentifyTemplates"
+ }
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/deidentifyTemplates"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Deletes a DeidentifyTemplate.
+ // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
+ // more.
+ rpc DeleteDeidentifyTemplate(DeleteDeidentifyTemplateRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=organizations/*/deidentifyTemplates/*}"
+ additional_bindings {
+ delete: "/v2/{name=organizations/*/locations/*/deidentifyTemplates/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=projects/*/deidentifyTemplates/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/deidentifyTemplates/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a job trigger to run DLP actions such as scanning storage for
+ // sensitive information on a set schedule.
+ // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
+ rpc CreateJobTrigger(CreateJobTriggerRequest) returns (JobTrigger) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/jobTriggers"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/jobTriggers"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,job_trigger";
+ }
+
+ // Updates a job trigger.
+ // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
+ rpc UpdateJobTrigger(UpdateJobTriggerRequest) returns (JobTrigger) {
+ option (google.api.http) = {
+ patch: "/v2/{name=projects/*/jobTriggers/*}"
+ body: "*"
+ additional_bindings {
+ patch: "/v2/{name=projects/*/locations/*/jobTriggers/*}"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "name,job_trigger,update_mask";
+ }
+
+ // Inspect hybrid content and store findings to a trigger. The inspection
+ // will be processed asynchronously. To review the findings monitor the
+ // jobs within the trigger.
+ // Early access feature is in a pre-release state and might change or have
+ // limited support. For more information, see
+ // https://cloud.google.com/products#product-launch-stages.
+ rpc HybridInspectJobTrigger(HybridInspectJobTriggerRequest) returns (HybridInspectResponse) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/locations/*/jobTriggers/*}:hybridInspect"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets a job trigger.
+ // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
+ rpc GetJobTrigger(GetJobTriggerRequest) returns (JobTrigger) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/jobTriggers/*}"
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/jobTriggers/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists job triggers.
+ // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
+ rpc ListJobTriggers(ListJobTriggersRequest) returns (ListJobTriggersResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*}/jobTriggers"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/jobTriggers"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Deletes a job trigger.
+ // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
+ rpc DeleteJobTrigger(DeleteJobTriggerRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=projects/*/jobTriggers/*}"
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/jobTriggers/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Activate a job trigger. Causes the immediate execute of a trigger
+ // instead of waiting on the trigger event to occur.
+ rpc ActivateJobTrigger(ActivateJobTriggerRequest) returns (DlpJob) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/jobTriggers/*}:activate"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{name=projects/*/locations/*/jobTriggers/*}:activate"
+ body: "*"
+ }
+ };
+ }
+
+ // Creates a new job to inspect storage or calculate risk metrics.
+ // See https://cloud.google.com/dlp/docs/inspecting-storage and
+ // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+ //
+ // When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the
+ // system will automatically choose what detectors to run. By default this may
+ // be all types, but may change over time as detectors are updated.
+ rpc CreateDlpJob(CreateDlpJobRequest) returns (DlpJob) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/dlpJobs"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/dlpJobs"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,inspect_job";
+ option (google.api.method_signature) = "parent,risk_job";
+ }
+
+ // Lists DlpJobs that match the specified filter in the request.
+ // See https://cloud.google.com/dlp/docs/inspecting-storage and
+ // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+ rpc ListDlpJobs(ListDlpJobsRequest) returns (ListDlpJobsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*}/dlpJobs"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/dlpJobs"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets the latest state of a long-running DlpJob.
+ // See https://cloud.google.com/dlp/docs/inspecting-storage and
+ // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+ rpc GetDlpJob(GetDlpJobRequest) returns (DlpJob) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/dlpJobs/*}"
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/dlpJobs/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Deletes a long-running DlpJob. This method indicates that the client is
+ // no longer interested in the DlpJob result. The job will be cancelled if
+ // possible.
+ // See https://cloud.google.com/dlp/docs/inspecting-storage and
+ // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+ rpc DeleteDlpJob(DeleteDlpJobRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=projects/*/dlpJobs/*}"
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/dlpJobs/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Starts asynchronous cancellation on a long-running DlpJob. The server
+ // makes a best effort to cancel the DlpJob, but success is not
+ // guaranteed.
+ // See https://cloud.google.com/dlp/docs/inspecting-storage and
+ // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+ rpc CancelDlpJob(CancelDlpJobRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/dlpJobs/*}:cancel"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{name=projects/*/locations/*/dlpJobs/*}:cancel"
+ body: "*"
+ }
+ };
+ }
+
+ // Creates a pre-built stored infoType to be used for inspection.
+ // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
+ // learn more.
+ rpc CreateStoredInfoType(CreateStoredInfoTypeRequest) returns (StoredInfoType) {
+ option (google.api.http) = {
+ post: "/v2/{parent=organizations/*}/storedInfoTypes"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=organizations/*/locations/*}/storedInfoTypes"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{parent=projects/*}/storedInfoTypes"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/storedInfoTypes"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,config";
+ }
+
+ // Updates the stored infoType by creating a new version. The existing version
+ // will continue to be used until the new version is ready.
+ // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
+ // learn more.
+ rpc UpdateStoredInfoType(UpdateStoredInfoTypeRequest) returns (StoredInfoType) {
+ option (google.api.http) = {
+ patch: "/v2/{name=organizations/*/storedInfoTypes/*}"
+ body: "*"
+ additional_bindings {
+ patch: "/v2/{name=organizations/*/locations/*/storedInfoTypes/*}"
+ body: "*"
+ }
+ additional_bindings {
+ patch: "/v2/{name=projects/*/storedInfoTypes/*}"
+ body: "*"
+ }
+ additional_bindings {
+ patch: "/v2/{name=projects/*/locations/*/storedInfoTypes/*}"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "name,config,update_mask";
+ }
+
+ // Gets a stored infoType.
+ // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
+ // learn more.
+ rpc GetStoredInfoType(GetStoredInfoTypeRequest) returns (StoredInfoType) {
+ option (google.api.http) = {
+ get: "/v2/{name=organizations/*/storedInfoTypes/*}"
+ additional_bindings {
+ get: "/v2/{name=organizations/*/locations/*/storedInfoTypes/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=projects/*/storedInfoTypes/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/storedInfoTypes/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists stored infoTypes.
+ // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
+ // learn more.
+ rpc ListStoredInfoTypes(ListStoredInfoTypesRequest) returns (ListStoredInfoTypesResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=organizations/*}/storedInfoTypes"
+ additional_bindings {
+ get: "/v2/{parent=organizations/*/locations/*}/storedInfoTypes"
+ }
+ additional_bindings {
+ get: "/v2/{parent=projects/*}/storedInfoTypes"
+ }
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/storedInfoTypes"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Deletes a stored infoType.
+ // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
+ // learn more.
+ rpc DeleteStoredInfoType(DeleteStoredInfoTypeRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=organizations/*/storedInfoTypes/*}"
+ additional_bindings {
+ delete: "/v2/{name=organizations/*/locations/*/storedInfoTypes/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=projects/*/storedInfoTypes/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/storedInfoTypes/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Inspect hybrid content and store findings to a job.
+ // To review the findings inspect the job. Inspection will occur
+ // asynchronously.
+ // Early access feature is in a pre-release state and might change or have
+ // limited support. For more information, see
+ // https://cloud.google.com/products#product-launch-stages.
+ rpc HybridInspectDlpJob(HybridInspectDlpJobRequest) returns (HybridInspectResponse) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/locations/*/dlpJobs/*}:hybridInspect"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Finish a running hybrid DlpJob. Triggers the finalization steps and running
+ // of any enabled actions that have not yet run.
+ // Early access feature is in a pre-release state and might change or have
+ // limited support. For more information, see
+ // https://cloud.google.com/products#product-launch-stages.
+ rpc FinishDlpJob(FinishDlpJobRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/locations/*/dlpJobs/*}:finish"
+ body: "*"
+ };
+ }
+}
+
+// List of exclude infoTypes.
+message ExcludeInfoTypes {
+ // InfoType list in ExclusionRule rule drops a finding when it overlaps or
+ // contained within with a finding of an infoType from this list. For
+ // example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and
+ // `exclusion_rule` containing `exclude_info_types.info_types` with
+ // "EMAIL_ADDRESS" the phone number findings are dropped if they overlap
+ // with EMAIL_ADDRESS finding.
+ // That leads to "555-222-2222@example.org" to generate only a single
+ // finding, namely email address.
+ repeated InfoType info_types = 1;
+}
+
+// The rule that specifies conditions when findings of infoTypes specified in
+// `InspectionRuleSet` are removed from results.
+message ExclusionRule {
+ // Exclusion rule types.
+ oneof type {
+ // Dictionary which defines the rule.
+ CustomInfoType.Dictionary dictionary = 1;
+
+ // Regular expression which defines the rule.
+ CustomInfoType.Regex regex = 2;
+
+ // Set of infoTypes for which findings would affect this rule.
+ ExcludeInfoTypes exclude_info_types = 3;
+ }
+
+ // How the rule is applied, see MatchingType documentation for details.
+ MatchingType matching_type = 4;
+}
+
+// A single inspection rule to be applied to infoTypes, specified in
+// `InspectionRuleSet`.
+message InspectionRule {
+ // Inspection rule types.
+ oneof type {
+ // Hotword-based detection rule.
+ CustomInfoType.DetectionRule.HotwordRule hotword_rule = 1;
+
+ // Exclusion rule.
+ ExclusionRule exclusion_rule = 2;
+ }
+}
+
+// Rule set for modifying a set of infoTypes to alter behavior under certain
+// circumstances, depending on the specific details of the rules within the set.
+message InspectionRuleSet {
+ // List of infoTypes this rule set is applied to.
+ repeated InfoType info_types = 1;
+
+ // Set of rules to be applied to infoTypes. The rules are applied in order.
+ repeated InspectionRule rules = 2;
+}
+
+// Configuration description of the scanning process.
+// When used with redactContent only info_types and min_likelihood are currently
+// used.
+message InspectConfig {
+ // Configuration to control the number of findings returned.
+ message FindingLimits {
+ // Max findings configuration per infoType, per content item or long
+ // running DlpJob.
+ message InfoTypeLimit {
+ // Type of information the findings limit applies to. Only one limit per
+ // info_type should be provided. If InfoTypeLimit does not have an
+ // info_type, the DLP API applies the limit against all info_types that
+ // are found but not specified in another InfoTypeLimit.
+ InfoType info_type = 1;
+
+ // Max findings limit for the given infoType.
+ int32 max_findings = 2;
+ }
+
+ // Max number of findings that will be returned for each item scanned.
+ // When set within `InspectJobConfig`,
+ // the maximum returned is 2000 regardless if this is set higher.
+ // When set within `InspectContentRequest`, this field is ignored.
+ int32 max_findings_per_item = 1;
+
+ // Max number of findings that will be returned per request/job.
+ // When set within `InspectContentRequest`, the maximum returned is 2000
+ // regardless if this is set higher.
+ int32 max_findings_per_request = 2;
+
+ // Configuration of findings limit given for specified infoTypes.
+ repeated InfoTypeLimit max_findings_per_info_type = 3;
+ }
+
+ // Restricts what info_types to look for. The values must correspond to
+ // InfoType values returned by ListInfoTypes or listed at
+ // https://cloud.google.com/dlp/docs/infotypes-reference.
+ //
+ // When no InfoTypes or CustomInfoTypes are specified in a request, the
+ // system may automatically choose what detectors to run. By default this may
+ // be all types, but may change over time as detectors are updated.
+ //
+ // If you need precise control and predictability as to what detectors are
+ // run you should specify specific InfoTypes listed in the reference,
+ // otherwise a default list will be used, which may change over time.
+ repeated InfoType info_types = 1;
+
+ // Only returns findings equal or above this threshold. The default is
+ // POSSIBLE.
+ // See https://cloud.google.com/dlp/docs/likelihood to learn more.
+ Likelihood min_likelihood = 2;
+
+ // Configuration to control the number of findings returned.
+ FindingLimits limits = 3;
+
+ // When true, a contextual quote from the data that triggered a finding is
+ // included in the response; see Finding.quote.
+ bool include_quote = 4;
+
+ // When true, excludes type information of the findings.
+ bool exclude_info_types = 5;
+
+ // CustomInfoTypes provided by the user. See
+ // https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
+ repeated CustomInfoType custom_info_types = 6;
+
+ // List of options defining data content to scan.
+ // If empty, text, images, and other content will be included.
+ repeated ContentOption content_options = 8;
+
+ // Set of rules to apply to the findings for this InspectConfig.
+ // Exclusion rules, contained in the set are executed in the end, other
+ // rules are executed in the order they are specified for each info type.
+ repeated InspectionRuleSet rule_set = 10;
+}
+
+// Container for bytes to inspect or redact.
+message ByteContentItem {
+ // The type of data being sent for inspection.
+ enum BytesType {
+ // Unused
+ BYTES_TYPE_UNSPECIFIED = 0;
+
+ // Any image type.
+ IMAGE = 6;
+
+ // jpeg
+ IMAGE_JPEG = 1;
+
+ // bmp
+ IMAGE_BMP = 2;
+
+ // png
+ IMAGE_PNG = 3;
+
+ // svg
+ IMAGE_SVG = 4;
+
+ // plain text
+ TEXT_UTF8 = 5;
+
+ // docx, docm, dotx, dotm
+ WORD_DOCUMENT = 7;
+
+ // pdf
+ PDF = 8;
+
+ // avro
+ AVRO = 11;
+
+ // csv
+ CSV = 12;
+
+ // tsv
+ TSV = 13;
+ }
+
+ // The type of data stored in the bytes string. Default will be TEXT_UTF8.
+ BytesType type = 1;
+
+ // Content data to inspect or redact.
+ bytes data = 2;
+}
+
+// Container structure for the content to inspect.
+message ContentItem {
+ // Data of the item either in the byte array or UTF-8 string form, or table.
+ oneof data_item {
+ // String data to inspect or redact.
+ string value = 3;
+
+ // Structured content for inspection. See
+ // https://cloud.google.com/dlp/docs/inspecting-text#inspecting_a_table to
+ // learn more.
+ Table table = 4;
+
+ // Content data to inspect or redact. Replaces `type` and `data`.
+ ByteContentItem byte_item = 5;
+ }
+}
+
+// Structured content to inspect. Up to 50,000 `Value`s per request allowed.
+// See https://cloud.google.com/dlp/docs/inspecting-text#inspecting_a_table to
+// learn more.
+message Table {
+ // Values of the row.
+ message Row {
+ // Individual cells.
+ repeated Value values = 1;
+ }
+
+ // Headers of the table.
+ repeated FieldId headers = 1;
+
+ // Rows of the table.
+ repeated Row rows = 2;
+}
+
+// All the findings for a single scanned item.
+message InspectResult {
+ // List of findings for an item.
+ repeated Finding findings = 1;
+
+ // If true, then this item might have more findings than were returned,
+ // and the findings returned are an arbitrary subset of all findings.
+ // The findings list might be truncated because the input items were too
+ // large, or because the server reached the maximum amount of resources
+ // allowed for a single API call. For best results, divide the input into
+ // smaller batches.
+ bool findings_truncated = 2;
+}
+
+// Represents a piece of potentially sensitive content.
+message Finding {
+ option (google.api.resource) = {
+ type: "dlp.googleapis.com/Finding"
+ pattern: "projects/{project}/locations/{location}/findings/{finding}"
+ };
+
+ // Resource name in format
+ // projects/{project}/locations/{location}/findings/{finding} Populated only
+ // when viewing persisted findings.
+ string name = 14;
+
+ // The content that was found. Even if the content is not textual, it
+ // may be converted to a textual representation here.
+ // Provided if `include_quote` is true and the finding is
+ // less than or equal to 4096 bytes long. If the finding exceeds 4096 bytes
+ // in length, the quote may be omitted.
+ string quote = 1;
+
+ // The type of content that might have been found.
+ // Provided if `excluded_types` is false.
+ InfoType info_type = 2;
+
+ // Confidence of how likely it is that the `info_type` is correct.
+ Likelihood likelihood = 3;
+
+ // Where the content was found.
+ Location location = 4;
+
+ // Timestamp when finding was detected.
+ google.protobuf.Timestamp create_time = 6;
+
+ // Contains data parsed from quotes. Only populated if include_quote was set
+ // to true and a supported infoType was requested. Currently supported
+ // infoTypes: DATE, DATE_OF_BIRTH and TIME.
+ QuoteInfo quote_info = 7;
+
+ // The job that stored the finding.
+ string resource_name = 8 [(google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DlpJob"
+ }];
+
+ // Job trigger name, if applicable, for this finding.
+ string trigger_name = 9 [(google.api.resource_reference) = {
+ type: "dlp.googleapis.com/JobTrigger"
+ }];
+
+ // The labels associated with this `Finding`.
+ //
+ // Label keys must be between 1 and 63 characters long and must conform
+ // to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
+ //
+ // Label values must be between 0 and 63 characters long and must conform
+ // to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
+ //
+ // No more than 10 labels can be associated with a given finding.
+ //
+ // Examples:
+ // * `"environment" : "production"`
+ // * `"pipeline" : "etl"`
+ map labels = 10;
+
+ // Time the job started that produced this finding.
+ google.protobuf.Timestamp job_create_time = 11;
+
+ // The job that stored the finding.
+ string job_name = 13 [(google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DlpJob"
+ }];
+}
+
+// Specifies the location of the finding.
+message Location {
+ // Zero-based byte offsets delimiting the finding.
+ // These are relative to the finding's containing element.
+ // Note that when the content is not textual, this references
+ // the UTF-8 encoded textual representation of the content.
+ // Omitted if content is an image.
+ Range byte_range = 1;
+
+ // Unicode character offsets delimiting the finding.
+ // These are relative to the finding's containing element.
+ // Provided when the content is text.
+ Range codepoint_range = 2;
+
+ // List of nested objects pointing to the precise location of the finding
+ // within the file or record.
+ repeated ContentLocation content_locations = 7;
+
+ // Information about the container where this finding occurred, if available.
+ Container container = 8;
+}
+
+// Precise location of the finding within a document, record, image, or metadata
+// container.
+message ContentLocation {
+ // Name of the container where the finding is located.
+ // The top level name is the source file name or table name. Names of some
+ // common storage containers are formatted as follows:
+ //
+ // * BigQuery tables: `{project_id}:{dataset_id}.{table_id}`
+ // * Cloud Storage files: `gs://{bucket}/{path}`
+ // * Datastore namespace: {namespace}
+ //
+ // Nested names could be absent if the embedded object has no string
+ // identifier (for an example an image contained within a document).
+ string container_name = 1;
+
+ // Type of the container within the file with location of the finding.
+ oneof location {
+ // Location within a row or record of a database table.
+ RecordLocation record_location = 2;
+
+ // Location within an image's pixels.
+ ImageLocation image_location = 3;
+
+ // Location data for document files.
+ DocumentLocation document_location = 5;
+
+ // Location within the metadata for inspected content.
+ MetadataLocation metadata_location = 8;
+ }
+
+ // Findings container modification timestamp, if applicable.
+ // For Google Cloud Storage contains last file modification timestamp.
+ // For BigQuery table contains last_modified_time property.
+ // For Datastore - not populated.
+ google.protobuf.Timestamp container_timestamp = 6;
+
+ // Findings container version, if available
+ // ("generation" for Google Cloud Storage).
+ string container_version = 7;
+}
+
+// Metadata Location
+message MetadataLocation {
+ // Type of metadata containing the finding.
+ MetadataType type = 1;
+
+ // Label of the piece of metadata containing the finding, for example -
+ // latitude, author, caption.
+ oneof label {
+ // Storage metadata.
+ StorageMetadataLabel storage_label = 3;
+ }
+}
+
+// Storage metadata label to indicate which metadata entry contains findings.
+message StorageMetadataLabel {
+ string key = 1;
+}
+
+// Location of a finding within a document.
+message DocumentLocation {
+ // Offset of the line, from the beginning of the file, where the finding
+ // is located.
+ int64 file_offset = 1;
+}
+
+// Location of a finding within a row or record.
+message RecordLocation {
+ // Key of the finding.
+ RecordKey record_key = 1;
+
+ // Field id of the field containing the finding.
+ FieldId field_id = 2;
+
+ // Location within a `ContentItem.Table`.
+ TableLocation table_location = 3;
+}
+
+// Location of a finding within a table.
+message TableLocation {
+ // The zero-based index of the row where the finding is located. Only
+ // populated for resources that have a natural ordering, not BigQuery. In
+ // BigQuery, to identify the row a finding came from, populate
+ // BigQueryOptions.identifying_fields with your primary key column names and
+ // when you store the findings the value of those columns will be stored
+ // inside of Finding.
+ int64 row_index = 1;
+}
+
+// Represents a container that may contain DLP findings.
+// Examples of a container include a file, table, or database record.
+message Container {
+ // Container type, for example BigQuery or Google Cloud Storage.
+ string type = 1;
+
+ // Project where the finding was found.
+ // Can be different from the project that owns the finding.
+ string project_id = 2;
+
+ // A string representation of the full container name.
+ // Examples:
+ // - BigQuery: 'Project:DataSetId.TableId'
+ // - Google Cloud Storage: 'gs://Bucket/folders/filename.txt'
+ string full_path = 3;
+
+ // The root of the container.
+ // Examples:
+ // - For BigQuery table `project_id:dataset_id.table_id`, the root is
+ // `dataset_id`
+ // - For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root
+ // is `gs://bucket`
+ string root_path = 4;
+
+ // The rest of the path after the root.
+ // Examples:
+ // - For BigQuery table `project_id:dataset_id.table_id`, the relative path is
+ // `table_id`
+ // - Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative
+ // path is `folder/filename.txt`
+ string relative_path = 5;
+
+ // Findings container modification timestamp, if applicable.
+ // For Google Cloud Storage contains last file modification timestamp.
+ // For BigQuery table contains last_modified_time property.
+ // For Datastore - not populated.
+ google.protobuf.Timestamp update_time = 6;
+
+ // Findings container version, if available
+ // ("generation" for Google Cloud Storage).
+ string version = 7;
+}
+
+// Generic half-open interval [start, end)
+message Range {
+ // Index of the first character of the range (inclusive).
+ int64 start = 1;
+
+ // Index of the last character of the range (exclusive).
+ int64 end = 2;
+}
+
+// Location of the finding within an image.
+message ImageLocation {
+ // Bounding boxes locating the pixels within the image containing the finding.
+ repeated BoundingBox bounding_boxes = 1;
+}
+
+// Bounding box encompassing detected text within an image.
+message BoundingBox {
+ // Top coordinate of the bounding box. (0,0) is upper left.
+ int32 top = 1;
+
+ // Left coordinate of the bounding box. (0,0) is upper left.
+ int32 left = 2;
+
+ // Width of the bounding box in pixels.
+ int32 width = 3;
+
+ // Height of the bounding box in pixels.
+ int32 height = 4;
+}
+
+// Request to search for potentially sensitive info in an image and redact it
+// by covering it with a colored rectangle.
+message RedactImageRequest {
+ // Configuration for determining how redaction of images should occur.
+ message ImageRedactionConfig {
+ // Type of information to redact from images.
+ oneof target {
+ // Only one per info_type should be provided per request. If not
+ // specified, and redact_all_text is false, the DLP API will redact all
+ // text that it matches against all info_types that are found, but not
+ // specified in another ImageRedactionConfig.
+ InfoType info_type = 1;
+
+ // If true, all text found in the image, regardless whether it matches an
+ // info_type, is redacted. Only one should be provided.
+ bool redact_all_text = 2;
+ }
+
+ // The color to use when redacting content from an image. If not specified,
+ // the default is black.
+ Color redaction_color = 3;
+ }
+
+ // Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [(google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DlpContent"
+ }];
+
+ // Deprecated. This field has no effect.
+ string location_id = 8;
+
+ // Configuration for the inspector.
+ InspectConfig inspect_config = 2;
+
+ // The configuration for specifying what content to redact from images.
+ repeated ImageRedactionConfig image_redaction_configs = 5;
+
+ // Whether the response should include findings along with the redacted
+ // image.
+ bool include_findings = 6;
+
+ // The content must be PNG, JPEG, SVG or BMP.
+ ByteContentItem byte_item = 7;
+}
+
+// Represents a color in the RGB color space.
+message Color {
+ // The amount of red in the color as a value in the interval [0, 1].
+ float red = 1;
+
+ // The amount of green in the color as a value in the interval [0, 1].
+ float green = 2;
+
+ // The amount of blue in the color as a value in the interval [0, 1].
+ float blue = 3;
+}
+
+// Results of redacting an image.
+message RedactImageResponse {
+ // The redacted image. The type will be the same as the original image.
+ bytes redacted_image = 1;
+
+ // If an image was being inspected and the InspectConfig's include_quote was
+ // set to true, then this field will include all text, if any, that was found
+ // in the image.
+ string extracted_text = 2;
+
+ // The findings. Populated when include_findings in the request is true.
+ InspectResult inspect_result = 3;
+}
+
+// Request to de-identify a list of items.
+message DeidentifyContentRequest {
+ // Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [(google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DlpContent"
+ }];
+
+ // Configuration for the de-identification of the content item.
+ // Items specified here will override the template referenced by the
+ // deidentify_template_name argument.
+ DeidentifyConfig deidentify_config = 2;
+
+ // Configuration for the inspector.
+ // Items specified here will override the template referenced by the
+ // inspect_template_name argument.
+ InspectConfig inspect_config = 3;
+
+ // The item to de-identify. Will be treated as text.
+ ContentItem item = 4;
+
+ // Template to use. Any configuration directly specified in
+ // inspect_config will override those set in the template. Singular fields
+ // that are set in this request will replace their corresponding fields in the
+ // template. Repeated fields are appended. Singular sub-messages and groups
+ // are recursively merged.
+ string inspect_template_name = 5;
+
+ // Template to use. Any configuration directly specified in
+ // deidentify_config will override those set in the template. Singular fields
+ // that are set in this request will replace their corresponding fields in the
+ // template. Repeated fields are appended. Singular sub-messages and groups
+ // are recursively merged.
+ string deidentify_template_name = 6;
+
+ // Deprecated. This field has no effect.
+ string location_id = 7;
+}
+
+// Results of de-identifying a ContentItem.
+message DeidentifyContentResponse {
+ // The de-identified item.
+ ContentItem item = 1;
+
+ // An overview of the changes that were made on the `item`.
+ TransformationOverview overview = 2;
+}
+
+// Request to re-identify an item.
+message ReidentifyContentRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DlpContent"
+ }
+ ];
+
+ // Configuration for the re-identification of the content item.
+ // This field shares the same proto message type that is used for
+ // de-identification, however its usage here is for the reversal of the
+ // previous de-identification. Re-identification is performed by examining
+ // the transformations used to de-identify the items and executing the
+ // reverse. This requires that only reversible transformations
+ // be provided here. The reversible transformations are:
+ //
+ // - `CryptoDeterministicConfig`
+ // - `CryptoReplaceFfxFpeConfig`
+ DeidentifyConfig reidentify_config = 2;
+
+ // Configuration for the inspector.
+ InspectConfig inspect_config = 3;
+
+ // The item to re-identify. Will be treated as text.
+ ContentItem item = 4;
+
+ // Template to use. Any configuration directly specified in
+ // `inspect_config` will override those set in the template. Singular fields
+ // that are set in this request will replace their corresponding fields in the
+ // template. Repeated fields are appended. Singular sub-messages and groups
+ // are recursively merged.
+ string inspect_template_name = 5;
+
+ // Template to use. References an instance of `DeidentifyTemplate`.
+ // Any configuration directly specified in `reidentify_config` or
+ // `inspect_config` will override those set in the template. The
+ // `DeidentifyTemplate` used must include only reversible transformations.
+ // Singular fields that are set in this request will replace their
+ // corresponding fields in the template. Repeated fields are appended.
+ // Singular sub-messages and groups are recursively merged.
+ string reidentify_template_name = 6;
+
+ // Deprecated. This field has no effect.
+ string location_id = 7;
+}
+
+// Results of re-identifying a item.
+message ReidentifyContentResponse {
+ // The re-identified item.
+ ContentItem item = 1;
+
+ // An overview of the changes that were made to the `item`.
+ TransformationOverview overview = 2;
+}
+
+// Request to search for potentially sensitive info in a ContentItem.
+message InspectContentRequest {
+ // Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [(google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DlpContent"
+ }];
+
+ // Configuration for the inspector. What specified here will override
+ // the template referenced by the inspect_template_name argument.
+ InspectConfig inspect_config = 2;
+
+ // The item to inspect.
+ ContentItem item = 3;
+
+ // Template to use. Any configuration directly specified in
+ // inspect_config will override those set in the template. Singular fields
+ // that are set in this request will replace their corresponding fields in the
+ // template. Repeated fields are appended. Singular sub-messages and groups
+ // are recursively merged.
+ string inspect_template_name = 4;
+
+ // Deprecated. This field has no effect.
+ string location_id = 5;
+}
+
+// Results of inspecting an item.
+message InspectContentResponse {
+ // The findings.
+ InspectResult result = 1;
+}
+
+// Cloud repository for storing output.
+message OutputStorageConfig {
+ // Predefined schemas for storing findings.
+ // Only for use with external storage.
+ enum OutputSchema {
+ // Unused.
+ OUTPUT_SCHEMA_UNSPECIFIED = 0;
+
+ // Basic schema including only `info_type`, `quote`, `certainty`, and
+ // `timestamp`.
+ BASIC_COLUMNS = 1;
+
+ // Schema tailored to findings from scanning Google Cloud Storage.
+ GCS_COLUMNS = 2;
+
+ // Schema tailored to findings from scanning Google Datastore.
+ DATASTORE_COLUMNS = 3;
+
+ // Schema tailored to findings from scanning Google BigQuery.
+ BIG_QUERY_COLUMNS = 4;
+
+ // Schema containing all columns.
+ ALL_COLUMNS = 5;
+ }
+
+ // Output storage types.
+ oneof type {
+ // Store findings in an existing table or a new table in an existing
+ // dataset. If table_id is not set a new one will be generated
+ // for you with the following format:
+ // dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
+ // generating the date details.
+ //
+ // For Inspect, each column in an existing output table must have the same
+ // name, type, and mode of a field in the `Finding` object.
+ //
+ // For Risk, an existing output table should be the output of a previous
+ // Risk analysis job run on the same source table, with the same privacy
+ // metric and quasi-identifiers. Risk jobs that analyze the same table but
+ // compute a different privacy metric, or use different sets of
+ // quasi-identifiers, cannot store their results in the same table.
+ BigQueryTable table = 1;
+ }
+
+ // Schema used for writing the findings for Inspect jobs. This field is only
+ // used for Inspect and must be unspecified for Risk jobs. Columns are derived
+ // from the `Finding` object. If appending to an existing table, any columns
+ // from the predefined schema that are missing will be added. No columns in
+ // the existing table will be deleted.
+ //
+ // If unspecified, then all available columns will be used for a new table or
+ // an (existing) table with no schema, and no changes will be made to an
+ // existing table that has a schema.
+ // Only for use with external storage.
+ OutputSchema output_schema = 3;
+}
+
+// Statistics regarding a specific InfoType.
+message InfoTypeStats {
+ // The type of finding this stat is for.
+ InfoType info_type = 1;
+
+ // Number of findings for this infoType.
+ int64 count = 2;
+}
+
+// The results of an inspect DataSource job.
+message InspectDataSourceDetails {
+ // Snapshot of the inspection configuration.
+ message RequestedOptions {
+ // If run with an InspectTemplate, a snapshot of its state at the time of
+ // this run.
+ InspectTemplate snapshot_inspect_template = 1;
+
+ // Inspect config.
+ InspectJobConfig job_config = 3;
+ }
+
+ // All result fields mentioned below are updated while the job is processing.
+ message Result {
+ // Total size in bytes that were processed.
+ int64 processed_bytes = 1;
+
+ // Estimate of the number of bytes to process.
+ int64 total_estimated_bytes = 2;
+
+ // Statistics of how many instances of each info type were found during
+ // inspect job.
+ repeated InfoTypeStats info_type_stats = 3;
+
+ // Statistics related to the processing of hybrid inspect.
+ // Early access feature is in a pre-release state and might change or have
+ // limited support. For more information, see
+ // https://cloud.google.com/products#product-launch-stages.
+ HybridInspectStatistics hybrid_stats = 7;
+ }
+
+ // The configuration used for this job.
+ RequestedOptions requested_options = 2;
+
+ // A summary of the outcome of this inspect job.
+ Result result = 3;
+}
+
+// Statistics related to processing hybrid inspect requests.
+message HybridInspectStatistics {
+ // The number of hybrid inspection requests processed within this job.
+ int64 processed_count = 1;
+
+ // The number of hybrid inspection requests aborted because the job ran
+ // out of quota or was ended before they could be processed.
+ int64 aborted_count = 2;
+
+ // The number of hybrid requests currently being processed. Only populated
+ // when called via method `getDlpJob`.
+ // A burst of traffic may cause hybrid inspect requests to be enqueued.
+ // Processing will take place as quickly as possible, but resource limitations
+ // may impact how long a request is enqueued for.
+ int64 pending_count = 3;
+}
+
+// InfoType description.
+message InfoTypeDescription {
+ // Internal name of the infoType.
+ string name = 1;
+
+ // Human readable form of the infoType name.
+ string display_name = 2;
+
+ // Which parts of the API supports this InfoType.
+ repeated InfoTypeSupportedBy supported_by = 3;
+
+ // Description of the infotype. Translated when language is provided in the
+ // request.
+ string description = 4;
+}
+
+// Request for the list of infoTypes.
+message ListInfoTypesRequest {
+ // The parent resource name.
+ //
+ // The format of this value is as follows:
+ //
+ // locations/LOCATION_ID
+ string parent = 4;
+
+ // BCP-47 language code for localized infoType friendly
+ // names. If omitted, or if localized strings are not available,
+ // en-US strings will be returned.
+ string language_code = 1;
+
+ // filter to only return infoTypes supported by certain parts of the
+ // API. Defaults to supported_by=INSPECT.
+ string filter = 2;
+
+ // Deprecated. This field has no effect.
+ string location_id = 3;
+}
+
+// Response to the ListInfoTypes request.
+message ListInfoTypesResponse {
+ // Set of sensitive infoTypes.
+ repeated InfoTypeDescription info_types = 1;
+}
+
+// Configuration for a risk analysis job. See
+// https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more.
+message RiskAnalysisJobConfig {
+ // Privacy metric to compute.
+ PrivacyMetric privacy_metric = 1;
+
+ // Input dataset to compute metrics over.
+ BigQueryTable source_table = 2;
+
+ // Actions to execute at the completion of the job. Are executed in the order
+ // provided.
+ repeated Action actions = 3;
+}
+
+// A column with a semantic tag attached.
+message QuasiId {
+ // Required. Identifies the column.
+ FieldId field = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Semantic tag that identifies what a column contains, to determine which
+ // statistical model to use to estimate the reidentifiability of each
+ // value. [required]
+ oneof tag {
+ // A column can be tagged with a InfoType to use the relevant public
+ // dataset as a statistical model of population, if available. We
+ // currently support US ZIP codes, region codes, ages and genders.
+ // To programmatically obtain the list of supported InfoTypes, use
+ // ListInfoTypes with the supported_by=RISK_ANALYSIS filter.
+ InfoType info_type = 2;
+
+ // A column can be tagged with a custom tag. In this case, the user must
+ // indicate an auxiliary table that contains statistical information on
+ // the possible values of this column (below).
+ string custom_tag = 3;
+
+ // If no semantic tag is indicated, we infer the statistical model from
+ // the distribution of values in the input data
+ google.protobuf.Empty inferred = 4;
+ }
+}
+
+// An auxiliary table containing statistical information on the relative
+// frequency of different quasi-identifiers values. It has one or several
+// quasi-identifiers columns, and one column that indicates the relative
+// frequency of each quasi-identifier tuple.
+// If a tuple is present in the data but not in the auxiliary table, the
+// corresponding relative frequency is assumed to be zero (and thus, the
+// tuple is highly reidentifiable).
+message StatisticalTable {
+ // A quasi-identifier column has a custom_tag, used to know which column
+ // in the data corresponds to which column in the statistical model.
+ message QuasiIdentifierField {
+ // Identifies the column.
+ FieldId field = 1;
+
+ // A column can be tagged with a custom tag. In this case, the user must
+ // indicate an auxiliary table that contains statistical information on
+ // the possible values of this column (below).
+ string custom_tag = 2;
+ }
+
+ // Required. Auxiliary table location.
+ BigQueryTable table = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Quasi-identifier columns.
+ repeated QuasiIdentifierField quasi_ids = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The relative frequency column must contain a floating-point number
+ // between 0 and 1 (inclusive). Null values are assumed to be zero.
+ FieldId relative_frequency = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Privacy metric to compute for reidentification risk analysis.
+message PrivacyMetric {
+ // Compute numerical stats over an individual column, including
+ // min, max, and quantiles.
+ message NumericalStatsConfig {
+ // Field to compute numerical stats on. Supported types are
+ // integer, float, date, datetime, timestamp, time.
+ FieldId field = 1;
+ }
+
+ // Compute numerical stats over an individual column, including
+ // number of distinct values and value count distribution.
+ message CategoricalStatsConfig {
+ // Field to compute categorical stats on. All column types are
+ // supported except for arrays and structs. However, it may be more
+ // informative to use NumericalStats when the field type is supported,
+ // depending on the data.
+ FieldId field = 1;
+ }
+
+ // k-anonymity metric, used for analysis of reidentification risk.
+ message KAnonymityConfig {
+ // Set of fields to compute k-anonymity over. When multiple fields are
+ // specified, they are considered a single composite key. Structs and
+ // repeated data types are not supported; however, nested fields are
+ // supported so long as they are not structs themselves or nested within
+ // a repeated field.
+ repeated FieldId quasi_ids = 1;
+
+ // Message indicating that multiple rows might be associated to a
+ // single individual. If the same entity_id is associated to multiple
+ // quasi-identifier tuples over distinct rows, we consider the entire
+ // collection of tuples as the composite quasi-identifier. This collection
+ // is a multiset: the order in which the different tuples appear in the
+ // dataset is ignored, but their frequency is taken into account.
+ //
+ // Important note: a maximum of 1000 rows can be associated to a single
+ // entity ID. If more rows are associated with the same entity ID, some
+ // might be ignored.
+ EntityId entity_id = 2;
+ }
+
+ // l-diversity metric, used for analysis of reidentification risk.
+ message LDiversityConfig {
+ // Set of quasi-identifiers indicating how equivalence classes are
+ // defined for the l-diversity computation. When multiple fields are
+ // specified, they are considered a single composite key.
+ repeated FieldId quasi_ids = 1;
+
+ // Sensitive field for computing the l-value.
+ FieldId sensitive_attribute = 2;
+ }
+
+ // Reidentifiability metric. This corresponds to a risk model similar to what
+ // is called "journalist risk" in the literature, except the attack dataset is
+ // statistically modeled instead of being perfectly known. This can be done
+ // using publicly available data (like the US Census), or using a custom
+ // statistical model (indicated as one or several BigQuery tables), or by
+ // extrapolating from the distribution of values in the input dataset.
+ message KMapEstimationConfig {
+ // A column with a semantic tag attached.
+ message TaggedField {
+ // Required. Identifies the column.
+ FieldId field = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Semantic tag that identifies what a column contains, to determine which
+ // statistical model to use to estimate the reidentifiability of each
+ // value. [required]
+ oneof tag {
+ // A column can be tagged with a InfoType to use the relevant public
+ // dataset as a statistical model of population, if available. We
+ // currently support US ZIP codes, region codes, ages and genders.
+ // To programmatically obtain the list of supported InfoTypes, use
+ // ListInfoTypes with the supported_by=RISK_ANALYSIS filter.
+ InfoType info_type = 2;
+
+ // A column can be tagged with a custom tag. In this case, the user must
+ // indicate an auxiliary table that contains statistical information on
+ // the possible values of this column (below).
+ string custom_tag = 3;
+
+ // If no semantic tag is indicated, we infer the statistical model from
+ // the distribution of values in the input data
+ google.protobuf.Empty inferred = 4;
+ }
+ }
+
+ // An auxiliary table contains statistical information on the relative
+ // frequency of different quasi-identifiers values. It has one or several
+ // quasi-identifiers columns, and one column that indicates the relative
+ // frequency of each quasi-identifier tuple.
+ // If a tuple is present in the data but not in the auxiliary table, the
+ // corresponding relative frequency is assumed to be zero (and thus, the
+ // tuple is highly reidentifiable).
+ message AuxiliaryTable {
+ // A quasi-identifier column has a custom_tag, used to know which column
+ // in the data corresponds to which column in the statistical model.
+ message QuasiIdField {
+ // Identifies the column.
+ FieldId field = 1;
+
+ // A auxiliary field.
+ string custom_tag = 2;
+ }
+
+ // Required. Auxiliary table location.
+ BigQueryTable table = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Quasi-identifier columns.
+ repeated QuasiIdField quasi_ids = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The relative frequency column must contain a floating-point number
+ // between 0 and 1 (inclusive). Null values are assumed to be zero.
+ FieldId relative_frequency = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Required. Fields considered to be quasi-identifiers. No two columns can have the
+ // same tag.
+ repeated TaggedField quasi_ids = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // ISO 3166-1 alpha-2 region code to use in the statistical modeling.
+ // Set if no column is tagged with a region-specific InfoType (like
+ // US_ZIP_5) or a region code.
+ string region_code = 2;
+
+ // Several auxiliary tables can be used in the analysis. Each custom_tag
+ // used to tag a quasi-identifiers column must appear in exactly one column
+ // of one auxiliary table.
+ repeated AuxiliaryTable auxiliary_tables = 3;
+ }
+
+ // δ-presence metric, used to estimate how likely it is for an attacker to
+ // figure out that one given individual appears in a de-identified dataset.
+ // Similarly to the k-map metric, we cannot compute δ-presence exactly without
+ // knowing the attack dataset, so we use a statistical model instead.
+ message DeltaPresenceEstimationConfig {
+ // Required. Fields considered to be quasi-identifiers. No two fields can have the
+ // same tag.
+ repeated QuasiId quasi_ids = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // ISO 3166-1 alpha-2 region code to use in the statistical modeling.
+ // Set if no column is tagged with a region-specific InfoType (like
+ // US_ZIP_5) or a region code.
+ string region_code = 2;
+
+ // Several auxiliary tables can be used in the analysis. Each custom_tag
+ // used to tag a quasi-identifiers field must appear in exactly one
+ // field of one auxiliary table.
+ repeated StatisticalTable auxiliary_tables = 3;
+ }
+
+ // Types of analysis.
+ oneof type {
+ // Numerical stats
+ NumericalStatsConfig numerical_stats_config = 1;
+
+ // Categorical stats
+ CategoricalStatsConfig categorical_stats_config = 2;
+
+ // K-anonymity
+ KAnonymityConfig k_anonymity_config = 3;
+
+ // l-diversity
+ LDiversityConfig l_diversity_config = 4;
+
+ // k-map
+ KMapEstimationConfig k_map_estimation_config = 5;
+
+ // delta-presence
+ DeltaPresenceEstimationConfig delta_presence_estimation_config = 6;
+ }
+}
+
+// Result of a risk analysis operation request.
+message AnalyzeDataSourceRiskDetails {
+ // Result of the numerical stats computation.
+ message NumericalStatsResult {
+ // Minimum value appearing in the column.
+ Value min_value = 1;
+
+ // Maximum value appearing in the column.
+ Value max_value = 2;
+
+ // List of 99 values that partition the set of field values into 100 equal
+ // sized buckets.
+ repeated Value quantile_values = 4;
+ }
+
+ // Result of the categorical stats computation.
+ message CategoricalStatsResult {
+ // Histogram of value frequencies in the column.
+ message CategoricalStatsHistogramBucket {
+ // Lower bound on the value frequency of the values in this bucket.
+ int64 value_frequency_lower_bound = 1;
+
+ // Upper bound on the value frequency of the values in this bucket.
+ int64 value_frequency_upper_bound = 2;
+
+ // Total number of values in this bucket.
+ int64 bucket_size = 3;
+
+ // Sample of value frequencies in this bucket. The total number of
+ // values returned per bucket is capped at 20.
+ repeated ValueFrequency bucket_values = 4;
+
+ // Total number of distinct values in this bucket.
+ int64 bucket_value_count = 5;
+ }
+
+ // Histogram of value frequencies in the column.
+ repeated CategoricalStatsHistogramBucket value_frequency_histogram_buckets = 5;
+ }
+
+ // Result of the k-anonymity computation.
+ message KAnonymityResult {
+ // The set of columns' values that share the same ldiversity value
+ message KAnonymityEquivalenceClass {
+ // Set of values defining the equivalence class. One value per
+ // quasi-identifier column in the original KAnonymity metric message.
+ // The order is always the same as the original request.
+ repeated Value quasi_ids_values = 1;
+
+ // Size of the equivalence class, for example number of rows with the
+ // above set of values.
+ int64 equivalence_class_size = 2;
+ }
+
+ // Histogram of k-anonymity equivalence classes.
+ message KAnonymityHistogramBucket {
+ // Lower bound on the size of the equivalence classes in this bucket.
+ int64 equivalence_class_size_lower_bound = 1;
+
+ // Upper bound on the size of the equivalence classes in this bucket.
+ int64 equivalence_class_size_upper_bound = 2;
+
+ // Total number of equivalence classes in this bucket.
+ int64 bucket_size = 3;
+
+ // Sample of equivalence classes in this bucket. The total number of
+ // classes returned per bucket is capped at 20.
+ repeated KAnonymityEquivalenceClass bucket_values = 4;
+
+ // Total number of distinct equivalence classes in this bucket.
+ int64 bucket_value_count = 5;
+ }
+
+ // Histogram of k-anonymity equivalence classes.
+ repeated KAnonymityHistogramBucket equivalence_class_histogram_buckets = 5;
+ }
+
+ // Result of the l-diversity computation.
+ message LDiversityResult {
+ // The set of columns' values that share the same ldiversity value.
+ message LDiversityEquivalenceClass {
+ // Quasi-identifier values defining the k-anonymity equivalence
+ // class. The order is always the same as the original request.
+ repeated Value quasi_ids_values = 1;
+
+ // Size of the k-anonymity equivalence class.
+ int64 equivalence_class_size = 2;
+
+ // Number of distinct sensitive values in this equivalence class.
+ int64 num_distinct_sensitive_values = 3;
+
+ // Estimated frequencies of top sensitive values.
+ repeated ValueFrequency top_sensitive_values = 4;
+ }
+
+ // Histogram of l-diversity equivalence class sensitive value frequencies.
+ message LDiversityHistogramBucket {
+ // Lower bound on the sensitive value frequencies of the equivalence
+ // classes in this bucket.
+ int64 sensitive_value_frequency_lower_bound = 1;
+
+ // Upper bound on the sensitive value frequencies of the equivalence
+ // classes in this bucket.
+ int64 sensitive_value_frequency_upper_bound = 2;
+
+ // Total number of equivalence classes in this bucket.
+ int64 bucket_size = 3;
+
+ // Sample of equivalence classes in this bucket. The total number of
+ // classes returned per bucket is capped at 20.
+ repeated LDiversityEquivalenceClass bucket_values = 4;
+
+ // Total number of distinct equivalence classes in this bucket.
+ int64 bucket_value_count = 5;
+ }
+
+ // Histogram of l-diversity equivalence class sensitive value frequencies.
+ repeated LDiversityHistogramBucket sensitive_value_frequency_histogram_buckets = 5;
+ }
+
+ // Result of the reidentifiability analysis. Note that these results are an
+ // estimation, not exact values.
+ message KMapEstimationResult {
+ // A tuple of values for the quasi-identifier columns.
+ message KMapEstimationQuasiIdValues {
+ // The quasi-identifier values.
+ repeated Value quasi_ids_values = 1;
+
+ // The estimated anonymity for these quasi-identifier values.
+ int64 estimated_anonymity = 2;
+ }
+
+ // A KMapEstimationHistogramBucket message with the following values:
+ // min_anonymity: 3
+ // max_anonymity: 5
+ // frequency: 42
+ // means that there are 42 records whose quasi-identifier values correspond
+ // to 3, 4 or 5 people in the overlying population. An important particular
+ // case is when min_anonymity = max_anonymity = 1: the frequency field then
+ // corresponds to the number of uniquely identifiable records.
+ message KMapEstimationHistogramBucket {
+ // Always positive.
+ int64 min_anonymity = 1;
+
+ // Always greater than or equal to min_anonymity.
+ int64 max_anonymity = 2;
+
+ // Number of records within these anonymity bounds.
+ int64 bucket_size = 5;
+
+ // Sample of quasi-identifier tuple values in this bucket. The total
+ // number of classes returned per bucket is capped at 20.
+ repeated KMapEstimationQuasiIdValues bucket_values = 6;
+
+ // Total number of distinct quasi-identifier tuple values in this bucket.
+ int64 bucket_value_count = 7;
+ }
+
+ // The intervals [min_anonymity, max_anonymity] do not overlap. If a value
+ // doesn't correspond to any such interval, the associated frequency is
+ // zero. For example, the following records:
+ // {min_anonymity: 1, max_anonymity: 1, frequency: 17}
+ // {min_anonymity: 2, max_anonymity: 3, frequency: 42}
+ // {min_anonymity: 5, max_anonymity: 10, frequency: 99}
+ // mean that there are no record with an estimated anonymity of 4, 5, or
+ // larger than 10.
+ repeated KMapEstimationHistogramBucket k_map_estimation_histogram = 1;
+ }
+
+ // Result of the δ-presence computation. Note that these results are an
+ // estimation, not exact values.
+ message DeltaPresenceEstimationResult {
+ // A tuple of values for the quasi-identifier columns.
+ message DeltaPresenceEstimationQuasiIdValues {
+ // The quasi-identifier values.
+ repeated Value quasi_ids_values = 1;
+
+ // The estimated probability that a given individual sharing these
+ // quasi-identifier values is in the dataset. This value, typically called
+ // δ, is the ratio between the number of records in the dataset with these
+ // quasi-identifier values, and the total number of individuals (inside
+ // *and* outside the dataset) with these quasi-identifier values.
+ // For example, if there are 15 individuals in the dataset who share the
+ // same quasi-identifier values, and an estimated 100 people in the entire
+ // population with these values, then δ is 0.15.
+ double estimated_probability = 2;
+ }
+
+ // A DeltaPresenceEstimationHistogramBucket message with the following
+ // values:
+ // min_probability: 0.1
+ // max_probability: 0.2
+ // frequency: 42
+ // means that there are 42 records for which δ is in [0.1, 0.2). An
+ // important particular case is when min_probability = max_probability = 1:
+ // then, every individual who shares this quasi-identifier combination is in
+ // the dataset.
+ message DeltaPresenceEstimationHistogramBucket {
+ // Between 0 and 1.
+ double min_probability = 1;
+
+ // Always greater than or equal to min_probability.
+ double max_probability = 2;
+
+ // Number of records within these probability bounds.
+ int64 bucket_size = 5;
+
+ // Sample of quasi-identifier tuple values in this bucket. The total
+ // number of classes returned per bucket is capped at 20.
+ repeated DeltaPresenceEstimationQuasiIdValues bucket_values = 6;
+
+ // Total number of distinct quasi-identifier tuple values in this bucket.
+ int64 bucket_value_count = 7;
+ }
+
+ // The intervals [min_probability, max_probability) do not overlap. If a
+ // value doesn't correspond to any such interval, the associated frequency
+ // is zero. For example, the following records:
+ // {min_probability: 0, max_probability: 0.1, frequency: 17}
+ // {min_probability: 0.2, max_probability: 0.3, frequency: 42}
+ // {min_probability: 0.3, max_probability: 0.4, frequency: 99}
+ // mean that there are no record with an estimated probability in [0.1, 0.2)
+ // nor larger or equal to 0.4.
+ repeated DeltaPresenceEstimationHistogramBucket delta_presence_estimation_histogram = 1;
+ }
+
+ // Risk analysis options.
+ message RequestedRiskAnalysisOptions {
+ // The job config for the risk job.
+ RiskAnalysisJobConfig job_config = 1;
+ }
+
+ // Privacy metric to compute.
+ PrivacyMetric requested_privacy_metric = 1;
+
+ // Input dataset to compute metrics over.
+ BigQueryTable requested_source_table = 2;
+
+ // Values associated with this metric.
+ oneof result {
+ // Numerical stats result
+ NumericalStatsResult numerical_stats_result = 3;
+
+ // Categorical stats result
+ CategoricalStatsResult categorical_stats_result = 4;
+
+ // K-anonymity result
+ KAnonymityResult k_anonymity_result = 5;
+
+ // L-divesity result
+ LDiversityResult l_diversity_result = 6;
+
+ // K-map result
+ KMapEstimationResult k_map_estimation_result = 7;
+
+ // Delta-presence result
+ DeltaPresenceEstimationResult delta_presence_estimation_result = 9;
+ }
+
+ // The configuration used for this job.
+ RequestedRiskAnalysisOptions requested_options = 10;
+}
+
+// A value of a field, including its frequency.
+message ValueFrequency {
+ // A value contained in the field in question.
+ Value value = 1;
+
+ // How many times the value is contained in the field.
+ int64 count = 2;
+}
+
+// Set of primitive values supported by the system.
+// Note that for the purposes of inspection or transformation, the number
+// of bytes considered to comprise a 'Value' is based on its representation
+// as a UTF-8 encoded string. For example, if 'integer_value' is set to
+// 123456789, the number of bytes would be counted as 9, even though an
+// int64 only holds up to 8 bytes of data.
+message Value {
+ // Value types
+ oneof type {
+ // integer
+ int64 integer_value = 1;
+
+ // float
+ double float_value = 2;
+
+ // string
+ string string_value = 3;
+
+ // boolean
+ bool boolean_value = 4;
+
+ // timestamp
+ google.protobuf.Timestamp timestamp_value = 5;
+
+ // time of day
+ google.type.TimeOfDay time_value = 6;
+
+ // date
+ google.type.Date date_value = 7;
+
+ // day of week
+ google.type.DayOfWeek day_of_week_value = 8;
+ }
+}
+
+// Message for infoType-dependent details parsed from quote.
+message QuoteInfo {
+ // Object representation of the quote.
+ oneof parsed_quote {
+ // The date time indicated by the quote.
+ DateTime date_time = 2;
+ }
+}
+
+// Message for a date time object.
+// e.g. 2018-01-01, 5th August.
+message DateTime {
+ // Time zone of the date time object.
+ message TimeZone {
+ // Set only if the offset can be determined. Positive for time ahead of UTC.
+ // E.g. For "UTC-9", this value is -540.
+ int32 offset_minutes = 1;
+ }
+
+ // One or more of the following must be set.
+ // Must be a valid date or time value.
+ google.type.Date date = 1;
+
+ // Day of week
+ google.type.DayOfWeek day_of_week = 2;
+
+ // Time of day
+ google.type.TimeOfDay time = 3;
+
+ // Time zone
+ TimeZone time_zone = 4;
+}
+
+// The configuration that controls how the data will change.
+message DeidentifyConfig {
+ oneof transformation {
+ // Treat the dataset as free-form text and apply the same free text
+ // transformation everywhere.
+ InfoTypeTransformations info_type_transformations = 1;
+
+ // Treat the dataset as structured. Transformations can be applied to
+ // specific locations within structured datasets, such as transforming
+ // a column within a table.
+ RecordTransformations record_transformations = 2;
+ }
+
+ // Mode for handling transformation errors. If left unspecified, the default
+ // mode is `TransformationErrorHandling.ThrowError`.
+ TransformationErrorHandling transformation_error_handling = 3;
+}
+
+// How to handle transformation errors during de-identification. A
+// transformation error occurs when the requested transformation is incompatible
+// with the data. For example, trying to de-identify an IP address using a
+// `DateShift` transformation would result in a transformation error, since date
+// info cannot be extracted from an IP address.
+// Information about any incompatible transformations, and how they were
+// handled, is returned in the response as part of the
+// `TransformationOverviews`.
+message TransformationErrorHandling {
+ // Throw an error and fail the request when a transformation error occurs.
+ message ThrowError {
+
+ }
+
+ // Skips the data without modifying it if the requested transformation would
+ // cause an error. For example, if a `DateShift` transformation were applied
+ // an an IP address, this mode would leave the IP address unchanged in the
+ // response.
+ message LeaveUntransformed {
+
+ }
+
+ // How transformation errors should be handled.
+ oneof mode {
+ // Throw an error
+ ThrowError throw_error = 1;
+
+ // Ignore errors
+ LeaveUntransformed leave_untransformed = 2;
+ }
+}
+
+// A rule for transforming a value.
+message PrimitiveTransformation {
+ oneof transformation {
+ // Replace
+ ReplaceValueConfig replace_config = 1;
+
+ // Redact
+ RedactConfig redact_config = 2;
+
+ // Mask
+ CharacterMaskConfig character_mask_config = 3;
+
+ // Ffx-Fpe
+ CryptoReplaceFfxFpeConfig crypto_replace_ffx_fpe_config = 4;
+
+ // Fixed size bucketing
+ FixedSizeBucketingConfig fixed_size_bucketing_config = 5;
+
+ // Bucketing
+ BucketingConfig bucketing_config = 6;
+
+ // Replace with infotype
+ ReplaceWithInfoTypeConfig replace_with_info_type_config = 7;
+
+ // Time extraction
+ TimePartConfig time_part_config = 8;
+
+ // Crypto
+ CryptoHashConfig crypto_hash_config = 9;
+
+ // Date Shift
+ DateShiftConfig date_shift_config = 11;
+
+ // Deterministic Crypto
+ CryptoDeterministicConfig crypto_deterministic_config = 12;
+ }
+}
+
+// For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a
+// portion of the value.
+message TimePartConfig {
+ // Components that make up time.
+ enum TimePart {
+ // Unused
+ TIME_PART_UNSPECIFIED = 0;
+
+ // [0-9999]
+ YEAR = 1;
+
+ // [1-12]
+ MONTH = 2;
+
+ // [1-31]
+ DAY_OF_MONTH = 3;
+
+ // [1-7]
+ DAY_OF_WEEK = 4;
+
+ // [1-53]
+ WEEK_OF_YEAR = 5;
+
+ // [0-23]
+ HOUR_OF_DAY = 6;
+ }
+
+ // The part of the time to keep.
+ TimePart part_to_extract = 1;
+}
+
+// Pseudonymization method that generates surrogates via cryptographic hashing.
+// Uses SHA-256.
+// The key size must be either 32 or 64 bytes.
+// Outputs a base64 encoded representation of the hashed output
+// (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=).
+// Currently, only string and integer values can be hashed.
+// See https://cloud.google.com/dlp/docs/pseudonymization to learn more.
+message CryptoHashConfig {
+ // The key used by the hash function.
+ CryptoKey crypto_key = 1;
+}
+
+// Pseudonymization method that generates deterministic encryption for the given
+// input. Outputs a base64 encoded representation of the encrypted output.
+// Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297.
+message CryptoDeterministicConfig {
+ // The key used by the encryption function.
+ CryptoKey crypto_key = 1;
+
+ // The custom info type to annotate the surrogate with.
+ // This annotation will be applied to the surrogate by prefixing it with
+ // the name of the custom info type followed by the number of
+ // characters comprising the surrogate. The following scheme defines the
+ // format: {info type name}({surrogate character count}):{surrogate}
+ //
+ // For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
+ // the surrogate is 'abc', the full replacement value
+ // will be: 'MY_TOKEN_INFO_TYPE(3):abc'
+ //
+ // This annotation identifies the surrogate when inspecting content using the
+ // custom info type 'Surrogate'. This facilitates reversal of the
+ // surrogate when it occurs in free text.
+ //
+ // Note: For record transformations where the entire cell in a table is being
+ // transformed, surrogates are not mandatory. Surrogates are used to denote
+ // the location of the token and are necessary for re-identification in free
+ // form text.
+ //
+ // In order for inspection to work properly, the name of this info type must
+ // not occur naturally anywhere in your data; otherwise, inspection may either
+ //
+ // - reverse a surrogate that does not correspond to an actual identifier
+ // - be unable to parse the surrogate and result in an error
+ //
+ // Therefore, choose your custom info type name carefully after considering
+ // what your data looks like. One way to select a name that has a high chance
+ // of yielding reliable detection is to include one or more unicode characters
+ // that are highly improbable to exist in your data.
+ // For example, assuming your data is entered from a regular ASCII keyboard,
+ // the symbol with the hex code point 29DD might be used like so:
+ // ⧝MY_TOKEN_TYPE.
+ InfoType surrogate_info_type = 2;
+
+ // A context may be used for higher security and maintaining
+ // referential integrity such that the same identifier in two different
+ // contexts will be given a distinct surrogate. The context is appended to
+ // plaintext value being encrypted. On decryption the provided context is
+ // validated against the value used during encryption. If a context was
+ // provided during encryption, same context must be provided during decryption
+ // as well.
+ //
+ // If the context is not set, plaintext would be used as is for encryption.
+ // If the context is set but:
+ //
+ // 1. there is no record present when transforming a given value or
+ // 2. the field is not present when transforming a given value,
+ //
+ // plaintext would be used as is for encryption.
+ //
+ // Note that case (1) is expected when an `InfoTypeTransformation` is
+ // applied to both structured and non-structured `ContentItem`s.
+ FieldId context = 3;
+}
+
+// Replace each input value with a given `Value`.
+message ReplaceValueConfig {
+ // Value to replace it with.
+ Value new_value = 1;
+}
+
+// Replace each matching finding with the name of the info_type.
+message ReplaceWithInfoTypeConfig {
+
+}
+
+// Redact a given value. For example, if used with an `InfoTypeTransformation`
+// transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the
+// output would be 'My phone number is '.
+message RedactConfig {
+
+}
+
+// Characters to skip when doing deidentification of a value. These will be left
+// alone and skipped.
+message CharsToIgnore {
+ // Convenience enum for indication common characters to not transform.
+ enum CommonCharsToIgnore {
+ // Unused.
+ COMMON_CHARS_TO_IGNORE_UNSPECIFIED = 0;
+
+ // 0-9
+ NUMERIC = 1;
+
+ // A-Z
+ ALPHA_UPPER_CASE = 2;
+
+ // a-z
+ ALPHA_LOWER_CASE = 3;
+
+ // US Punctuation, one of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
+ PUNCTUATION = 4;
+
+ // Whitespace character, one of [ \t\n\x0B\f\r]
+ WHITESPACE = 5;
+ }
+
+ oneof characters {
+ // Characters to not transform when masking.
+ string characters_to_skip = 1;
+
+ // Common characters to not transform when masking. Useful to avoid removing
+ // punctuation.
+ CommonCharsToIgnore common_characters_to_ignore = 2;
+ }
+}
+
+// Partially mask a string by replacing a given number of characters with a
+// fixed character. Masking can start from the beginning or end of the string.
+// This can be used on data of any type (numbers, longs, and so on) and when
+// de-identifying structured data we'll attempt to preserve the original data's
+// type. (This allows you to take a long like 123 and modify it to a string like
+// **3.
+message CharacterMaskConfig {
+ // Character to use to mask the sensitive values—for example, `*` for an
+ // alphabetic string such as a name, or `0` for a numeric string such as ZIP
+ // code or credit card number. This string must have a length of 1. If not
+ // supplied, this value defaults to `*` for strings, and `0` for digits.
+ string masking_character = 1;
+
+ // Number of characters to mask. If not set, all matching chars will be
+ // masked. Skipped characters do not count towards this tally.
+ int32 number_to_mask = 2;
+
+ // Mask characters in reverse order. For example, if `masking_character` is
+ // `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the
+ // input string `1234-5678-9012-3456` is masked as `00000000000000-3456`.
+ // If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order`
+ // is `true`, then the string `12345` is masked as `12***`.
+ bool reverse_order = 3;
+
+ // When masking a string, items in this list will be skipped when replacing
+ // characters. For example, if the input string is `555-555-5555` and you
+ // instruct Cloud DLP to skip `-` and mask 5 characters with `*`, Cloud DLP
+ // returns `***-**5-5555`.
+ repeated CharsToIgnore characters_to_ignore = 4;
+}
+
+// Buckets values based on fixed size ranges. The
+// Bucketing transformation can provide all of this functionality,
+// but requires more configuration. This message is provided as a convenience to
+// the user for simple bucketing strategies.
+//
+// The transformed value will be a hyphenated string of
+// {lower_bound}-{upper_bound}, i.e if lower_bound = 10 and upper_bound = 20
+// all values that are within this bucket will be replaced with "10-20".
+//
+// This can be used on data of type: double, long.
+//
+// If the bound Value type differs from the type of data
+// being transformed, we will first attempt converting the type of the data to
+// be transformed to match the type of the bound before comparing.
+//
+// See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more.
+message FixedSizeBucketingConfig {
+ // Required. Lower bound value of buckets. All values less than `lower_bound` are
+ // grouped together into a single bucket; for example if `lower_bound` = 10,
+ // then all values less than 10 are replaced with the value "-10".
+ Value lower_bound = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Upper bound value of buckets. All values greater than upper_bound are
+ // grouped together into a single bucket; for example if `upper_bound` = 89,
+ // then all values greater than 89 are replaced with the value "89+".
+ Value upper_bound = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Size of each bucket (except for minimum and maximum buckets). So if
+ // `lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the
+ // following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60,
+ // 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
+ double bucket_size = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Generalization function that buckets values based on ranges. The ranges and
+// replacement values are dynamically provided by the user for custom behavior,
+// such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH
+// This can be used on
+// data of type: number, long, string, timestamp.
+// If the bound `Value` type differs from the type of data being transformed, we
+// will first attempt converting the type of the data to be transformed to match
+// the type of the bound before comparing.
+// See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more.
+message BucketingConfig {
+ // Bucket is represented as a range, along with replacement values.
+ message Bucket {
+ // Lower bound of the range, inclusive. Type should be the same as max if
+ // used.
+ Value min = 1;
+
+ // Upper bound of the range, exclusive; type must match min.
+ Value max = 2;
+
+ // Required. Replacement value for this bucket.
+ Value replacement_value = 3 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Set of buckets. Ranges must be non-overlapping.
+ repeated Bucket buckets = 1;
+}
+
+// Replaces an identifier with a surrogate using Format Preserving Encryption
+// (FPE) with the FFX mode of operation; however when used in the
+// `ReidentifyContent` API method, it serves the opposite function by reversing
+// the surrogate back into the original identifier. The identifier must be
+// encoded as ASCII. For a given crypto key and context, the same identifier
+// will be replaced with the same surrogate. Identifiers must be at least two
+// characters long. In the case that the identifier is the empty string, it will
+// be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn
+// more.
+//
+// Note: We recommend using CryptoDeterministicConfig for all use cases which
+// do not require preserving the input alphabet space and size, plus warrant
+// referential integrity.
+message CryptoReplaceFfxFpeConfig {
+ // These are commonly used subsets of the alphabet that the FFX mode
+ // natively supports. In the algorithm, the alphabet is selected using
+ // the "radix". Therefore each corresponds to particular radix.
+ enum FfxCommonNativeAlphabet {
+ // Unused.
+ FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED = 0;
+
+ // `[0-9]` (radix of 10)
+ NUMERIC = 1;
+
+ // `[0-9A-F]` (radix of 16)
+ HEXADECIMAL = 2;
+
+ // `[0-9A-Z]` (radix of 36)
+ UPPER_CASE_ALPHA_NUMERIC = 3;
+
+ // `[0-9A-Za-z]` (radix of 62)
+ ALPHA_NUMERIC = 4;
+ }
+
+ // Required. The key used by the encryption algorithm.
+ CryptoKey crypto_key = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The 'tweak', a context may be used for higher security since the same
+ // identifier in two different contexts won't be given the same surrogate. If
+ // the context is not set, a default tweak will be used.
+ //
+ // If the context is set but:
+ //
+ // 1. there is no record present when transforming a given value or
+ // 1. the field is not present when transforming a given value,
+ //
+ // a default tweak will be used.
+ //
+ // Note that case (1) is expected when an `InfoTypeTransformation` is
+ // applied to both structured and non-structured `ContentItem`s.
+ // Currently, the referenced field may be of value type integer or string.
+ //
+ // The tweak is constructed as a sequence of bytes in big endian byte order
+ // such that:
+ //
+ // - a 64 bit integer is encoded followed by a single byte of value 1
+ // - a string is encoded in UTF-8 format followed by a single byte of value 2
+ FieldId context = 2;
+
+ // Choose an alphabet which the data being transformed will be made up of.
+ oneof alphabet {
+ // Common alphabets.
+ FfxCommonNativeAlphabet common_alphabet = 4;
+
+ // This is supported by mapping these to the alphanumeric characters
+ // that the FFX mode natively supports. This happens before/after
+ // encryption/decryption.
+ // Each character listed must appear only once.
+ // Number of characters must be in the range [2, 95].
+ // This must be encoded as ASCII.
+ // The order of characters does not matter.
+ // The full list of allowed characters is:
+ // 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+ // ~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/
+ string custom_alphabet = 5;
+
+ // The native way to select the alphabet. Must be in the range [2, 95].
+ int32 radix = 6;
+ }
+
+ // The custom infoType to annotate the surrogate with.
+ // This annotation will be applied to the surrogate by prefixing it with
+ // the name of the custom infoType followed by the number of
+ // characters comprising the surrogate. The following scheme defines the
+ // format: info_type_name(surrogate_character_count):surrogate
+ //
+ // For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and
+ // the surrogate is 'abc', the full replacement value
+ // will be: 'MY_TOKEN_INFO_TYPE(3):abc'
+ //
+ // This annotation identifies the surrogate when inspecting content using the
+ // custom infoType
+ // [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).
+ // This facilitates reversal of the surrogate when it occurs in free text.
+ //
+ // In order for inspection to work properly, the name of this infoType must
+ // not occur naturally anywhere in your data; otherwise, inspection may
+ // find a surrogate that does not correspond to an actual identifier.
+ // Therefore, choose your custom infoType name carefully after considering
+ // what your data looks like. One way to select a name that has a high chance
+ // of yielding reliable detection is to include one or more unicode characters
+ // that are highly improbable to exist in your data.
+ // For example, assuming your data is entered from a regular ASCII keyboard,
+ // the symbol with the hex code point 29DD might be used like so:
+ // ⧝MY_TOKEN_TYPE
+ InfoType surrogate_info_type = 8;
+}
+
+// This is a data encryption key (DEK) (as opposed to
+// a key encryption key (KEK) stored by KMS).
+// When using KMS to wrap/unwrap DEKs, be sure to set an appropriate
+// IAM policy on the KMS CryptoKey (KEK) to ensure an attacker cannot
+// unwrap the data crypto key.
+message CryptoKey {
+ // Sources of crypto keys.
+ oneof source {
+ // Transient crypto key
+ TransientCryptoKey transient = 1;
+
+ // Unwrapped crypto key
+ UnwrappedCryptoKey unwrapped = 2;
+
+ // Kms wrapped key
+ KmsWrappedCryptoKey kms_wrapped = 3;
+ }
+}
+
+// Use this to have a random data crypto key generated.
+// It will be discarded after the request finishes.
+message TransientCryptoKey {
+ // Required. Name of the key.
+ // This is an arbitrary string used to differentiate different keys.
+ // A unique key is generated per name: two separate `TransientCryptoKey`
+ // protos share the same generated key if their names are the same.
+ // When the data crypto key is generated, this name is not used in any way
+ // (repeating the api call will result in a different key being generated).
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Using raw keys is prone to security risks due to accidentally
+// leaking the key. Choose another type of key if possible.
+message UnwrappedCryptoKey {
+ // Required. A 128/192/256 bit key.
+ bytes key = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Include to use an existing data crypto key wrapped by KMS.
+// The wrapped key must be a 128/192/256 bit key.
+// Authorization requires the following IAM permissions when sending a request
+// to perform a crypto transformation using a kms-wrapped crypto key:
+// dlp.kms.encrypt
+message KmsWrappedCryptoKey {
+ // Required. The wrapped data crypto key.
+ bytes wrapped_key = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The resource name of the KMS CryptoKey to use for unwrapping.
+ string crypto_key_name = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Shifts dates by random number of days, with option to be consistent for the
+// same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting
+// to learn more.
+message DateShiftConfig {
+ // Required. Range of shift in days. Actual shift will be selected at random within this
+ // range (inclusive ends). Negative means shift to earlier in time. Must not
+ // be more than 365250 days (1000 years) each direction.
+ //
+ // For example, 3 means shift date to at most 3 days into the future.
+ int32 upper_bound_days = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. For example, -5 means shift date to at most 5 days back in the past.
+ int32 lower_bound_days = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Points to the field that contains the context, for example, an entity id.
+ // If set, must also set cryptoKey. If set, shift will be consistent for the
+ // given context.
+ FieldId context = 3;
+
+ // Method for calculating shift that takes context into consideration. If
+ // set, must also set context. Can only be applied to table items.
+ oneof method {
+ // Causes the shift to be computed based on this key and the context. This
+ // results in the same shift for the same context and crypto_key. If
+ // set, must also set context. Can only be applied to table items.
+ CryptoKey crypto_key = 4;
+ }
+}
+
+// A type of transformation that will scan unstructured text and
+// apply various `PrimitiveTransformation`s to each finding, where the
+// transformation is applied to only values that were identified as a specific
+// info_type.
+message InfoTypeTransformations {
+ // A transformation to apply to text that is identified as a specific
+ // info_type.
+ message InfoTypeTransformation {
+ // InfoTypes to apply the transformation to. An empty list will cause
+ // this transformation to apply to all findings that correspond to
+ // infoTypes that were requested in `InspectConfig`.
+ repeated InfoType info_types = 1;
+
+ // Required. Primitive transformation to apply to the infoType.
+ PrimitiveTransformation primitive_transformation = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Required. Transformation for each infoType. Cannot specify more than one
+ // for a given infoType.
+ repeated InfoTypeTransformation transformations = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The transformation to apply to the field.
+message FieldTransformation {
+ // Required. Input field(s) to apply the transformation to.
+ repeated FieldId fields = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Only apply the transformation if the condition evaluates to true for the
+ // given `RecordCondition`. The conditions are allowed to reference fields
+ // that are not used in the actual transformation.
+ //
+ // Example Use Cases:
+ //
+ // - Apply a different bucket transformation to an age column if the zip code
+ // column for the same record is within a specific range.
+ // - Redact a field if the date of birth field is greater than 85.
+ RecordCondition condition = 3;
+
+ // Transformation to apply. [required]
+ oneof transformation {
+ // Apply the transformation to the entire field.
+ PrimitiveTransformation primitive_transformation = 4;
+
+ // Treat the contents of the field as free text, and selectively
+ // transform content that matches an `InfoType`.
+ InfoTypeTransformations info_type_transformations = 5;
+ }
+}
+
+// A type of transformation that is applied over structured data such as a
+// table.
+message RecordTransformations {
+ // Transform the record by applying various field transformations.
+ repeated FieldTransformation field_transformations = 1;
+
+ // Configuration defining which records get suppressed entirely. Records that
+ // match any suppression rule are omitted from the output.
+ repeated RecordSuppression record_suppressions = 2;
+}
+
+// Configuration to suppress records whose suppression conditions evaluate to
+// true.
+message RecordSuppression {
+ // A condition that when it evaluates to true will result in the record being
+ // evaluated to be suppressed from the transformed content.
+ RecordCondition condition = 1;
+}
+
+// A condition for determining whether a transformation should be applied to
+// a field.
+message RecordCondition {
+ // The field type of `value` and `field` do not need to match to be
+ // considered equal, but not all comparisons are possible.
+ // EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types,
+ // but all other comparisons are invalid with incompatible types.
+ // A `value` of type:
+ //
+ // - `string` can be compared against all other types
+ // - `boolean` can only be compared against other booleans
+ // - `integer` can be compared against doubles or a string if the string value
+ // can be parsed as an integer.
+ // - `double` can be compared against integers or a string if the string can
+ // be parsed as a double.
+ // - `Timestamp` can be compared against strings in RFC 3339 date string
+ // format.
+ // - `TimeOfDay` can be compared against timestamps and strings in the format
+ // of 'HH:mm:ss'.
+ //
+ // If we fail to compare do to type mismatch, a warning will be given and
+ // the condition will evaluate to false.
+ message Condition {
+ // Required. Field within the record this condition is evaluated against.
+ FieldId field = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Operator used to compare the field or infoType to the value.
+ RelationalOperator operator = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Value to compare against. [Mandatory, except for `EXISTS` tests.]
+ Value value = 4;
+ }
+
+ // A collection of conditions.
+ message Conditions {
+ // A collection of conditions.
+ repeated Condition conditions = 1;
+ }
+
+ // An expression, consisting or an operator and conditions.
+ message Expressions {
+ // Logical operators for conditional checks.
+ enum LogicalOperator {
+ // Unused
+ LOGICAL_OPERATOR_UNSPECIFIED = 0;
+
+ // Conditional AND
+ AND = 1;
+ }
+
+ // The operator to apply to the result of conditions. Default and currently
+ // only supported value is `AND`.
+ LogicalOperator logical_operator = 1;
+
+ // Expression types.
+ oneof type {
+ // Conditions to apply to the expression.
+ Conditions conditions = 3;
+ }
+ }
+
+ // An expression.
+ Expressions expressions = 3;
+}
+
+// Overview of the modifications that occurred.
+message TransformationOverview {
+ // Total size in bytes that were transformed in some way.
+ int64 transformed_bytes = 2;
+
+ // Transformations applied to the dataset.
+ repeated TransformationSummary transformation_summaries = 3;
+}
+
+// Summary of a single transformation.
+// Only one of 'transformation', 'field_transformation', or 'record_suppress'
+// will be set.
+message TransformationSummary {
+ // A collection that informs the user the number of times a particular
+ // `TransformationResultCode` and error details occurred.
+ message SummaryResult {
+ // Number of transformations counted by this result.
+ int64 count = 1;
+
+ // Outcome of the transformation.
+ TransformationResultCode code = 2;
+
+ // A place for warnings or errors to show up if a transformation didn't
+ // work as expected.
+ string details = 3;
+ }
+
+ // Possible outcomes of transformations.
+ enum TransformationResultCode {
+ // Unused
+ TRANSFORMATION_RESULT_CODE_UNSPECIFIED = 0;
+
+ // Transformation completed without an error.
+ SUCCESS = 1;
+
+ // Transformation had an error.
+ ERROR = 2;
+ }
+
+ // Set if the transformation was limited to a specific InfoType.
+ InfoType info_type = 1;
+
+ // Set if the transformation was limited to a specific FieldId.
+ FieldId field = 2;
+
+ // The specific transformation these stats apply to.
+ PrimitiveTransformation transformation = 3;
+
+ // The field transformation that was applied.
+ // If multiple field transformations are requested for a single field,
+ // this list will contain all of them; otherwise, only one is supplied.
+ repeated FieldTransformation field_transformations = 5;
+
+ // The specific suppression option these stats apply to.
+ RecordSuppression record_suppress = 6;
+
+ // Collection of all transformations that took place or had an error.
+ repeated SummaryResult results = 4;
+
+ // Total size in bytes that were transformed in some way.
+ int64 transformed_bytes = 7;
+}
+
+// Schedule for triggeredJobs.
+message Schedule {
+ oneof option {
+ // With this option a job is started a regular periodic basis. For
+ // example: every day (86400 seconds).
+ //
+ // A scheduled start time will be skipped if the previous
+ // execution has not ended when its scheduled time occurs.
+ //
+ // This value must be set to a time duration greater than or equal
+ // to 1 day and can be no longer than 60 days.
+ google.protobuf.Duration recurrence_period_duration = 1;
+ }
+}
+
+// Job trigger option for hybrid jobs. Jobs must be manually created
+// and finished.
+message Manual {
+
+}
+
+// The inspectTemplate contains a configuration (set of types of sensitive data
+// to be detected) to be used anywhere you otherwise would normally specify
+// InspectConfig. See https://cloud.google.com/dlp/docs/concepts-templates
+// to learn more.
+message InspectTemplate {
+ option (google.api.resource) = {
+ type: "dlp.googleapis.com/InspectTemplate"
+ pattern: "organizations/{organization}/inspectTemplates/{inspect_template}"
+ pattern: "projects/{project}/inspectTemplates/{inspect_template}"
+ pattern: "organizations/{organization}/locations/{location}/inspectTemplates/{inspect_template}"
+ pattern: "projects/{project}/locations/{location}/inspectTemplates/{inspect_template}"
+ };
+
+ // Output only. The template name.
+ //
+ // The template will have one of the following formats:
+ // `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR
+ // `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID`;
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Display name (max 256 chars).
+ string display_name = 2;
+
+ // Short description (max 256 chars).
+ string description = 3;
+
+ // Output only. The creation timestamp of an inspectTemplate.
+ google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The last update timestamp of an inspectTemplate.
+ google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The core content of the template. Configuration of the scanning process.
+ InspectConfig inspect_config = 6;
+}
+
+// DeidentifyTemplates contains instructions on how to de-identify content.
+// See https://cloud.google.com/dlp/docs/concepts-templates to learn more.
+message DeidentifyTemplate {
+ option (google.api.resource) = {
+ type: "dlp.googleapis.com/DeidentifyTemplate"
+ pattern: "organizations/{organization}/deidentifyTemplates/{deidentify_template}"
+ pattern: "projects/{project}/deidentifyTemplates/{deidentify_template}"
+ pattern: "organizations/{organization}/locations/{location}/deidentifyTemplates/{deidentify_template}"
+ pattern: "projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}"
+ };
+
+ // Output only. The template name.
+ //
+ // The template will have one of the following formats:
+ // `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID` OR
+ // `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID`
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Display name (max 256 chars).
+ string display_name = 2;
+
+ // Short description (max 256 chars).
+ string description = 3;
+
+ // Output only. The creation timestamp of an inspectTemplate.
+ google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The last update timestamp of an inspectTemplate.
+ google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // ///////////// // The core content of the template // ///////////////
+ DeidentifyConfig deidentify_config = 6;
+}
+
+// Details information about an error encountered during job execution or
+// the results of an unsuccessful activation of the JobTrigger.
+message Error {
+ // Detailed error codes and messages.
+ google.rpc.Status details = 1;
+
+ // The times the error occurred.
+ repeated google.protobuf.Timestamp timestamps = 2;
+}
+
+// Contains a configuration to make dlp api calls on a repeating basis.
+// See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
+message JobTrigger {
+ option (google.api.resource) = {
+ type: "dlp.googleapis.com/JobTrigger"
+ pattern: "projects/{project}/jobTriggers/{job_trigger}"
+ pattern: "projects/{project}/locations/{location}/jobTriggers/{job_trigger}"
+ };
+
+ // What event needs to occur for a new job to be started.
+ message Trigger {
+ oneof trigger {
+ // Create a job on a repeating basis based on the elapse of time.
+ Schedule schedule = 1;
+
+ // For use with hybrid jobs. Jobs must be manually created and finished.
+ // Early access feature is in a pre-release state and might change or have
+ // limited support. For more information, see
+ // https://cloud.google.com/products#product-launch-stages.
+ Manual manual = 2;
+ }
+ }
+
+ // Whether the trigger is currently active. If PAUSED or CANCELLED, no jobs
+ // will be created with this configuration. The service may automatically
+ // pause triggers experiencing frequent errors. To restart a job, set the
+ // status to HEALTHY after correcting user errors.
+ enum Status {
+ // Unused.
+ STATUS_UNSPECIFIED = 0;
+
+ // Trigger is healthy.
+ HEALTHY = 1;
+
+ // Trigger is temporarily paused.
+ PAUSED = 2;
+
+ // Trigger is cancelled and can not be resumed.
+ CANCELLED = 3;
+ }
+
+ // Unique resource name for the triggeredJob, assigned by the service when the
+ // triggeredJob is created, for example
+ // `projects/dlp-test-project/jobTriggers/53234423`.
+ string name = 1;
+
+ // Display name (max 100 chars)
+ string display_name = 2;
+
+ // User provided description (max 256 chars)
+ string description = 3;
+
+ // The configuration details for the specific type of job to run.
+ oneof job {
+ // For inspect jobs, a snapshot of the configuration.
+ InspectJobConfig inspect_job = 4;
+ }
+
+ // A list of triggers which will be OR'ed together. Only one in the list
+ // needs to trigger for a job to be started. The list may contain only
+ // a single Schedule trigger and must have at least one object.
+ repeated Trigger triggers = 5;
+
+ // Output only. A stream of errors encountered when the trigger was activated. Repeated
+ // errors may result in the JobTrigger automatically being paused.
+ // Will return the last 100 errors. Whenever the JobTrigger is modified
+ // this list will be cleared.
+ repeated Error errors = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The creation timestamp of a triggeredJob.
+ google.protobuf.Timestamp create_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The last update timestamp of a triggeredJob.
+ google.protobuf.Timestamp update_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The timestamp of the last time this trigger executed.
+ google.protobuf.Timestamp last_run_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. A status for this trigger.
+ Status status = 10 [(google.api.field_behavior) = REQUIRED];
+}
+
+// A task to execute on the completion of a job.
+// See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
+message Action {
+ // If set, the detailed findings will be persisted to the specified
+ // OutputStorageConfig. Only a single instance of this action can be
+ // specified.
+ // Compatible with: Inspect, Risk
+ message SaveFindings {
+ // Location to store findings outside of DLP.
+ OutputStorageConfig output_config = 1;
+ }
+
+ // Publish a message into given Pub/Sub topic when DlpJob has completed. The
+ // message contains a single field, `DlpJobName`, which is equal to the
+ // finished job's
+ // [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
+ // Compatible with: Inspect, Risk
+ message PublishToPubSub {
+ // Cloud Pub/Sub topic to send notifications to. The topic must have given
+ // publishing access rights to the DLP API service account executing
+ // the long running DlpJob sending the notifications.
+ // Format is projects/{project}/topics/{topic}.
+ string topic = 1;
+ }
+
+ // Publish the result summary of a DlpJob to the Cloud Security
+ // Command Center (CSCC Alpha).
+ // This action is only available for projects which are parts of
+ // an organization and whitelisted for the alpha Cloud Security Command
+ // Center.
+ // The action will publish count of finding instances and their info types.
+ // The summary of findings will be persisted in CSCC and are governed by CSCC
+ // service-specific policy, see https://cloud.google.com/terms/service-terms
+ // Only a single instance of this action can be specified.
+ // Compatible with: Inspect
+ message PublishSummaryToCscc {
+
+ }
+
+ // Publish findings of a DlpJob to Cloud Data Catalog. Labels summarizing the
+ // results of the DlpJob will be applied to the entry for the resource scanned
+ // in Cloud Data Catalog. Any labels previously written by another DlpJob will
+ // be deleted. InfoType naming patterns are strictly enforced when using this
+ // feature. Note that the findings will be persisted in Cloud Data Catalog
+ // storage and are governed by Data Catalog service-specific policy, see
+ // https://cloud.google.com/terms/service-terms
+ // Only a single instance of this action can be specified and only allowed if
+ // all resources being scanned are BigQuery tables.
+ // Compatible with: Inspect
+ message PublishFindingsToCloudDataCatalog {
+
+ }
+
+ // Enable email notification to project owners and editors on jobs's
+ // completion/failure.
+ message JobNotificationEmails {
+
+ }
+
+ // Enable Stackdriver metric dlp.googleapis.com/finding_count. This
+ // will publish a metric to stack driver on each infotype requested and
+ // how many findings were found for it. CustomDetectors will be bucketed
+ // as 'Custom' under the Stackdriver label 'info_type'.
+ message PublishToStackdriver {
+
+ }
+
+ oneof action {
+ // Save resulting findings in a provided location.
+ SaveFindings save_findings = 1;
+
+ // Publish a notification to a pubsub topic.
+ PublishToPubSub pub_sub = 2;
+
+ // Publish summary to Cloud Security Command Center (Alpha).
+ PublishSummaryToCscc publish_summary_to_cscc = 3;
+
+ // Publish findings to Cloud Datahub.
+ PublishFindingsToCloudDataCatalog publish_findings_to_cloud_data_catalog = 5;
+
+ // Enable email notification for project owners and editors on job's
+ // completion/failure.
+ JobNotificationEmails job_notification_emails = 8;
+
+ // Enable Stackdriver metric dlp.googleapis.com/finding_count.
+ PublishToStackdriver publish_to_stackdriver = 9;
+ }
+}
+
+// Request message for CreateInspectTemplate.
+message CreateInspectTemplateRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on the scope of the request
+ // (project or organization) and whether you have [specified a processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ // + Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID
+ // + Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/InspectTemplate"
+ }
+ ];
+
+ // Required. The InspectTemplate to create.
+ InspectTemplate inspect_template = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The template id can contain uppercase and lowercase letters,
+ // numbers, and hyphens; that is, it must match the regular
+ // expression: `[a-zA-Z\d-_]+`. The maximum length is 100
+ // characters. Can be empty to allow the system to generate one.
+ string template_id = 3;
+
+ // Deprecated. This field has no effect.
+ string location_id = 4;
+}
+
+// Request message for UpdateInspectTemplate.
+message UpdateInspectTemplateRequest {
+ // Required. Resource name of organization and inspectTemplate to be updated, for
+ // example `organizations/433245324/inspectTemplates/432452342` or
+ // projects/project-id/inspectTemplates/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/InspectTemplate"
+ }
+ ];
+
+ // New InspectTemplate value.
+ InspectTemplate inspect_template = 2;
+
+ // Mask to control which fields get updated.
+ google.protobuf.FieldMask update_mask = 3;
+}
+
+// Request message for GetInspectTemplate.
+message GetInspectTemplateRequest {
+ // Required. Resource name of the organization and inspectTemplate to be read, for
+ // example `organizations/433245324/inspectTemplates/432452342` or
+ // projects/project-id/inspectTemplates/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/InspectTemplate"
+ }
+ ];
+}
+
+// Request message for ListInspectTemplates.
+message ListInspectTemplatesRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on the scope of the request
+ // (project or organization) and whether you have [specified a processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ // + Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID
+ // + Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/InspectTemplate"
+ }
+ ];
+
+ // Page token to continue retrieval. Comes from previous call
+ // to `ListInspectTemplates`.
+ string page_token = 2;
+
+ // Size of the page, can be limited by server. If zero server returns
+ // a page of max size 100.
+ int32 page_size = 3;
+
+ // Comma separated list of fields to order by,
+ // followed by `asc` or `desc` postfix. This list is case-insensitive,
+ // default sorting order is ascending, redundant space characters are
+ // insignificant.
+ //
+ // Example: `name asc,update_time, create_time desc`
+ //
+ // Supported fields are:
+ //
+ // - `create_time`: corresponds to time the template was created.
+ // - `update_time`: corresponds to time the template was last updated.
+ // - `name`: corresponds to template's name.
+ // - `display_name`: corresponds to template's display name.
+ string order_by = 4;
+
+ // Deprecated. This field has no effect.
+ string location_id = 5;
+}
+
+// Response message for ListInspectTemplates.
+message ListInspectTemplatesResponse {
+ // List of inspectTemplates, up to page_size in ListInspectTemplatesRequest.
+ repeated InspectTemplate inspect_templates = 1;
+
+ // If the next page is available then the next page token to be used
+ // in following ListInspectTemplates request.
+ string next_page_token = 2;
+}
+
+// Request message for DeleteInspectTemplate.
+message DeleteInspectTemplateRequest {
+ // Required. Resource name of the organization and inspectTemplate to be deleted, for
+ // example `organizations/433245324/inspectTemplates/432452342` or
+ // projects/project-id/inspectTemplates/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/InspectTemplate"
+ }
+ ];
+}
+
+// Request message for CreateJobTrigger.
+message CreateJobTriggerRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/JobTrigger"
+ }
+ ];
+
+ // Required. The JobTrigger to create.
+ JobTrigger job_trigger = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The trigger id can contain uppercase and lowercase letters,
+ // numbers, and hyphens; that is, it must match the regular
+ // expression: `[a-zA-Z\d-_]+`. The maximum length is 100
+ // characters. Can be empty to allow the system to generate one.
+ string trigger_id = 3;
+
+ // Deprecated. This field has no effect.
+ string location_id = 4;
+}
+
+// Request message for ActivateJobTrigger.
+message ActivateJobTriggerRequest {
+ // Required. Resource name of the trigger to activate, for example
+ // `projects/dlp-test-project/jobTriggers/53234423`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/JobTrigger"
+ }
+ ];
+}
+
+// Request message for UpdateJobTrigger.
+message UpdateJobTriggerRequest {
+ // Required. Resource name of the project and the triggeredJob, for example
+ // `projects/dlp-test-project/jobTriggers/53234423`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/JobTrigger"
+ }
+ ];
+
+ // New JobTrigger value.
+ JobTrigger job_trigger = 2;
+
+ // Mask to control which fields get updated.
+ google.protobuf.FieldMask update_mask = 3;
+}
+
+// Request message for GetJobTrigger.
+message GetJobTriggerRequest {
+ // Required. Resource name of the project and the triggeredJob, for example
+ // `projects/dlp-test-project/jobTriggers/53234423`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/JobTrigger"
+ }
+ ];
+}
+
+// Request message for CreateDlpJobRequest. Used to initiate long running
+// jobs such as calculating risk metrics or inspecting Google Cloud
+// Storage.
+message CreateDlpJobRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DlpJob"
+ }
+ ];
+
+ // The configuration details for the specific type of job to run.
+ oneof job {
+ // Set to control what and how to inspect.
+ InspectJobConfig inspect_job = 2;
+
+ // Set to choose what metric to calculate.
+ RiskAnalysisJobConfig risk_job = 3;
+ }
+
+ // The job id can contain uppercase and lowercase letters,
+ // numbers, and hyphens; that is, it must match the regular
+ // expression: `[a-zA-Z\d-_]+`. The maximum length is 100
+ // characters. Can be empty to allow the system to generate one.
+ string job_id = 4;
+
+ // Deprecated. This field has no effect.
+ string location_id = 5;
+}
+
+// Request message for ListJobTriggers.
+message ListJobTriggersRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/JobTrigger"
+ }
+ ];
+
+ // Page token to continue retrieval. Comes from previous call
+ // to ListJobTriggers. `order_by` field must not
+ // change for subsequent calls.
+ string page_token = 2;
+
+ // Size of the page, can be limited by a server.
+ int32 page_size = 3;
+
+ // Comma separated list of triggeredJob fields to order by,
+ // followed by `asc` or `desc` postfix. This list is case-insensitive,
+ // default sorting order is ascending, redundant space characters are
+ // insignificant.
+ //
+ // Example: `name asc,update_time, create_time desc`
+ //
+ // Supported fields are:
+ //
+ // - `create_time`: corresponds to time the JobTrigger was created.
+ // - `update_time`: corresponds to time the JobTrigger was last updated.
+ // - `last_run_time`: corresponds to the last time the JobTrigger ran.
+ // - `name`: corresponds to JobTrigger's name.
+ // - `display_name`: corresponds to JobTrigger's display name.
+ // - `status`: corresponds to JobTrigger's status.
+ string order_by = 4;
+
+ // Allows filtering.
+ //
+ // Supported syntax:
+ //
+ // * Filter expressions are made up of one or more restrictions.
+ // * Restrictions can be combined by `AND` or `OR` logical operators. A
+ // sequence of restrictions implicitly uses `AND`.
+ // * A restriction has the form of `{field} {operator} {value}`.
+ // * Supported fields/values for inspect jobs:
+ // - `status` - HEALTHY|PAUSED|CANCELLED
+ // - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
+ // - 'last_run_time` - RFC 3339 formatted timestamp, surrounded by
+ // quotation marks. Nanoseconds are ignored.
+ // - 'error_count' - Number of errors that have occurred while running.
+ // * The operator must be `=` or `!=` for status and inspected_storage.
+ //
+ // Examples:
+ //
+ // * inspected_storage = cloud_storage AND status = HEALTHY
+ // * inspected_storage = cloud_storage OR inspected_storage = bigquery
+ // * inspected_storage = cloud_storage AND (state = PAUSED OR state = HEALTHY)
+ // * last_run_time > \"2017-12-12T00:00:00+00:00\"
+ //
+ // The length of this field should be no more than 500 characters.
+ string filter = 5;
+
+ // Deprecated. This field has no effect.
+ string location_id = 7;
+}
+
+// Response message for ListJobTriggers.
+message ListJobTriggersResponse {
+ // List of triggeredJobs, up to page_size in ListJobTriggersRequest.
+ repeated JobTrigger job_triggers = 1;
+
+ // If the next page is available then the next page token to be used
+ // in following ListJobTriggers request.
+ string next_page_token = 2;
+}
+
+// Request message for DeleteJobTrigger.
+message DeleteJobTriggerRequest {
+ // Required. Resource name of the project and the triggeredJob, for example
+ // `projects/dlp-test-project/jobTriggers/53234423`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/JobTrigger"
+ }
+ ];
+}
+
+// Controls what and how to inspect for findings.
+message InspectJobConfig {
+ // The data to scan.
+ StorageConfig storage_config = 1;
+
+ // How and what to scan for.
+ InspectConfig inspect_config = 2;
+
+ // If provided, will be used as the default for all values in InspectConfig.
+ // `inspect_config` will be merged into the values persisted as part of the
+ // template.
+ string inspect_template_name = 3;
+
+ // Actions to execute at the completion of the job.
+ repeated Action actions = 4;
+}
+
+// Combines all of the information about a DLP job.
+message DlpJob {
+ option (google.api.resource) = {
+ type: "dlp.googleapis.com/DlpJob"
+ pattern: "projects/{project}/dlpJobs/{dlp_job}"
+ pattern: "projects/{project}/locations/{location}/dlpJobs/{dlp_job}"
+ };
+
+ // Possible states of a job. New items may be added.
+ enum JobState {
+ // Unused.
+ JOB_STATE_UNSPECIFIED = 0;
+
+ // The job has not yet started.
+ PENDING = 1;
+
+ // The job is currently running. Once a job has finished it will transition
+ // to FAILED or DONE.
+ RUNNING = 2;
+
+ // The job is no longer running.
+ DONE = 3;
+
+ // The job was canceled before it could complete.
+ CANCELED = 4;
+
+ // The job had an error and did not complete.
+ FAILED = 5;
+
+ // The job is currently accepting findings via hybridInspect.
+ // A hybrid job in ACTIVE state may continue to have findings added to it
+ // through calling of hybridInspect. After the job has finished no more
+ // calls to hybridInspect may be made. ACTIVE jobs can transition to DONE.
+ ACTIVE = 6;
+ }
+
+ // The server-assigned name.
+ string name = 1;
+
+ // The type of job.
+ DlpJobType type = 2;
+
+ // State of a job.
+ JobState state = 3;
+
+ oneof details {
+ // Results from analyzing risk of a data source.
+ AnalyzeDataSourceRiskDetails risk_details = 4;
+
+ // Results from inspecting a data source.
+ InspectDataSourceDetails inspect_details = 5;
+ }
+
+ // Time when the job was created.
+ google.protobuf.Timestamp create_time = 6;
+
+ // Time when the job started.
+ google.protobuf.Timestamp start_time = 7;
+
+ // Time when the job finished.
+ google.protobuf.Timestamp end_time = 8;
+
+ // If created by a job trigger, the resource name of the trigger that
+ // instantiated the job.
+ string job_trigger_name = 10;
+
+ // A stream of errors encountered running the job.
+ repeated Error errors = 11;
+}
+
+// The request message for [DlpJobs.GetDlpJob][].
+message GetDlpJobRequest {
+ // Required. The name of the DlpJob resource.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DlpJob"
+ }
+ ];
+}
+
+// The request message for listing DLP jobs.
+message ListDlpJobsRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 4 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DlpJob"
+ }
+ ];
+
+ // Allows filtering.
+ //
+ // Supported syntax:
+ //
+ // * Filter expressions are made up of one or more restrictions.
+ // * Restrictions can be combined by `AND` or `OR` logical operators. A
+ // sequence of restrictions implicitly uses `AND`.
+ // * A restriction has the form of `{field} {operator} {value}`.
+ // * Supported fields/values for inspect jobs:
+ // - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED
+ // - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
+ // - `trigger_name` - The resource name of the trigger that created job.
+ // - 'end_time` - Corresponds to time the job finished.
+ // - 'start_time` - Corresponds to time the job finished.
+ // * Supported fields for risk analysis jobs:
+ // - `state` - RUNNING|CANCELED|FINISHED|FAILED
+ // - 'end_time` - Corresponds to time the job finished.
+ // - 'start_time` - Corresponds to time the job finished.
+ // * The operator must be `=` or `!=`.
+ //
+ // Examples:
+ //
+ // * inspected_storage = cloud_storage AND state = done
+ // * inspected_storage = cloud_storage OR inspected_storage = bigquery
+ // * inspected_storage = cloud_storage AND (state = done OR state = canceled)
+ // * end_time > \"2017-12-12T00:00:00+00:00\"
+ //
+ // The length of this field should be no more than 500 characters.
+ string filter = 1;
+
+ // The standard list page size.
+ int32 page_size = 2;
+
+ // The standard list page token.
+ string page_token = 3;
+
+ // The type of job. Defaults to `DlpJobType.INSPECT`
+ DlpJobType type = 5;
+
+ // Comma separated list of fields to order by,
+ // followed by `asc` or `desc` postfix. This list is case-insensitive,
+ // default sorting order is ascending, redundant space characters are
+ // insignificant.
+ //
+ // Example: `name asc, end_time asc, create_time desc`
+ //
+ // Supported fields are:
+ //
+ // - `create_time`: corresponds to time the job was created.
+ // - `end_time`: corresponds to time the job ended.
+ // - `name`: corresponds to job's name.
+ // - `state`: corresponds to `state`
+ string order_by = 6;
+
+ // Deprecated. This field has no effect.
+ string location_id = 7;
+}
+
+// The response message for listing DLP jobs.
+message ListDlpJobsResponse {
+ // A list of DlpJobs that matches the specified filter in the request.
+ repeated DlpJob jobs = 1;
+
+ // The standard List next-page token.
+ string next_page_token = 2;
+}
+
+// The request message for canceling a DLP job.
+message CancelDlpJobRequest {
+ // Required. The name of the DlpJob resource to be cancelled.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DlpJob"
+ }
+ ];
+}
+
+// The request message for finishing a DLP hybrid job.
+message FinishDlpJobRequest {
+ // Required. The name of the DlpJob resource to be cancelled.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DlpJob"
+ }
+ ];
+}
+
+// The request message for deleting a DLP job.
+message DeleteDlpJobRequest {
+ // Required. The name of the DlpJob resource to be deleted.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DlpJob"
+ }
+ ];
+}
+
+// Request message for CreateDeidentifyTemplate.
+message CreateDeidentifyTemplateRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on the scope of the request
+ // (project or organization) and whether you have [specified a processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ // + Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID
+ // + Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DeidentifyTemplate"
+ }
+ ];
+
+ // Required. The DeidentifyTemplate to create.
+ DeidentifyTemplate deidentify_template = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The template id can contain uppercase and lowercase letters,
+ // numbers, and hyphens; that is, it must match the regular
+ // expression: `[a-zA-Z\d-_]+`. The maximum length is 100
+ // characters. Can be empty to allow the system to generate one.
+ string template_id = 3;
+
+ // Deprecated. This field has no effect.
+ string location_id = 4;
+}
+
+// Request message for UpdateDeidentifyTemplate.
+message UpdateDeidentifyTemplateRequest {
+ // Required. Resource name of organization and deidentify template to be updated, for
+ // example `organizations/433245324/deidentifyTemplates/432452342` or
+ // projects/project-id/deidentifyTemplates/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DeidentifyTemplate"
+ }
+ ];
+
+ // New DeidentifyTemplate value.
+ DeidentifyTemplate deidentify_template = 2;
+
+ // Mask to control which fields get updated.
+ google.protobuf.FieldMask update_mask = 3;
+}
+
+// Request message for GetDeidentifyTemplate.
+message GetDeidentifyTemplateRequest {
+ // Required. Resource name of the organization and deidentify template to be read, for
+ // example `organizations/433245324/deidentifyTemplates/432452342` or
+ // projects/project-id/deidentifyTemplates/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DeidentifyTemplate"
+ }
+ ];
+}
+
+// Request message for ListDeidentifyTemplates.
+message ListDeidentifyTemplatesRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on the scope of the request
+ // (project or organization) and whether you have [specified a processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ // + Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID
+ // + Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DeidentifyTemplate"
+ }
+ ];
+
+ // Page token to continue retrieval. Comes from previous call
+ // to `ListDeidentifyTemplates`.
+ string page_token = 2;
+
+ // Size of the page, can be limited by server. If zero server returns
+ // a page of max size 100.
+ int32 page_size = 3;
+
+ // Comma separated list of fields to order by,
+ // followed by `asc` or `desc` postfix. This list is case-insensitive,
+ // default sorting order is ascending, redundant space characters are
+ // insignificant.
+ //
+ // Example: `name asc,update_time, create_time desc`
+ //
+ // Supported fields are:
+ //
+ // - `create_time`: corresponds to time the template was created.
+ // - `update_time`: corresponds to time the template was last updated.
+ // - `name`: corresponds to template's name.
+ // - `display_name`: corresponds to template's display name.
+ string order_by = 4;
+
+ // Deprecated. This field has no effect.
+ string location_id = 5;
+}
+
+// Response message for ListDeidentifyTemplates.
+message ListDeidentifyTemplatesResponse {
+ // List of deidentify templates, up to page_size in
+ // ListDeidentifyTemplatesRequest.
+ repeated DeidentifyTemplate deidentify_templates = 1;
+
+ // If the next page is available then the next page token to be used
+ // in following ListDeidentifyTemplates request.
+ string next_page_token = 2;
+}
+
+// Request message for DeleteDeidentifyTemplate.
+message DeleteDeidentifyTemplateRequest {
+ // Required. Resource name of the organization and deidentify template to be deleted,
+ // for example `organizations/433245324/deidentifyTemplates/432452342` or
+ // projects/project-id/deidentifyTemplates/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DeidentifyTemplate"
+ }
+ ];
+}
+
+// Configuration for a custom dictionary created from a data source of any size
+// up to the maximum size defined in the
+// [limits](https://cloud.google.com/dlp/limits) page. The artifacts of
+// dictionary creation are stored in the specified Google Cloud Storage
+// location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries
+// that satisfy the size requirements.
+message LargeCustomDictionaryConfig {
+ // Location to store dictionary artifacts in Google Cloud Storage. These files
+ // will only be accessible by project owners and the DLP API. If any of these
+ // artifacts are modified, the dictionary is considered invalid and can no
+ // longer be used.
+ CloudStoragePath output_path = 1;
+
+ oneof source {
+ // Set of files containing newline-delimited lists of dictionary phrases.
+ CloudStorageFileSet cloud_storage_file_set = 2;
+
+ // Field in a BigQuery table where each cell represents a dictionary phrase.
+ BigQueryField big_query_field = 3;
+ }
+}
+
+// Summary statistics of a custom dictionary.
+message LargeCustomDictionaryStats {
+ // Approximate number of distinct phrases in the dictionary.
+ int64 approx_num_phrases = 1;
+}
+
+// Configuration for stored infoTypes. All fields and subfield are provided
+// by the user. For more information, see
+// https://cloud.google.com/dlp/docs/creating-custom-infotypes.
+message StoredInfoTypeConfig {
+ // Display name of the StoredInfoType (max 256 characters).
+ string display_name = 1;
+
+ // Description of the StoredInfoType (max 256 characters).
+ string description = 2;
+
+ // Stored infotype types.
+ oneof type {
+ // StoredInfoType where findings are defined by a dictionary of phrases.
+ LargeCustomDictionaryConfig large_custom_dictionary = 3;
+
+ // Store dictionary-based CustomInfoType.
+ CustomInfoType.Dictionary dictionary = 4;
+
+ // Store regular expression-based StoredInfoType.
+ CustomInfoType.Regex regex = 5;
+ }
+}
+
+// Statistics for a StoredInfoType.
+message StoredInfoTypeStats {
+ // Stat types
+ oneof type {
+ // StoredInfoType where findings are defined by a dictionary of phrases.
+ LargeCustomDictionaryStats large_custom_dictionary = 1;
+ }
+}
+
+// Version of a StoredInfoType, including the configuration used to build it,
+// create timestamp, and current state.
+message StoredInfoTypeVersion {
+ // StoredInfoType configuration.
+ StoredInfoTypeConfig config = 1;
+
+ // Create timestamp of the version. Read-only, determined by the system
+ // when the version is created.
+ google.protobuf.Timestamp create_time = 2;
+
+ // Stored info type version state. Read-only, updated by the system
+ // during dictionary creation.
+ StoredInfoTypeState state = 3;
+
+ // Errors that occurred when creating this storedInfoType version, or
+ // anomalies detected in the storedInfoType data that render it unusable. Only
+ // the five most recent errors will be displayed, with the most recent error
+ // appearing first.
+ //
+ // For example, some of the data for stored custom dictionaries is put in
+ // the user's Google Cloud Storage bucket, and if this data is modified or
+ // deleted by the user or another system, the dictionary becomes invalid.
+ //
+ // If any errors occur, fix the problem indicated by the error message and
+ // use the UpdateStoredInfoType API method to create another version of the
+ // storedInfoType to continue using it, reusing the same `config` if it was
+ // not the source of the error.
+ repeated Error errors = 4;
+
+ // Statistics about this storedInfoType version.
+ StoredInfoTypeStats stats = 5;
+}
+
+// StoredInfoType resource message that contains information about the current
+// version and any pending updates.
+message StoredInfoType {
+ option (google.api.resource) = {
+ type: "dlp.googleapis.com/StoredInfoType"
+ pattern: "organizations/{organization}/storedInfoTypes/{stored_info_type}"
+ pattern: "projects/{project}/storedInfoTypes/{stored_info_type}"
+ pattern: "organizations/{organization}/locations/{location}/storedInfoTypes/{stored_info_type}"
+ pattern: "projects/{project}/locations/{location}/storedInfoTypes/{stored_info_type}"
+ };
+
+ // Resource name.
+ string name = 1;
+
+ // Current version of the stored info type.
+ StoredInfoTypeVersion current_version = 2;
+
+ // Pending versions of the stored info type. Empty if no versions are
+ // pending.
+ repeated StoredInfoTypeVersion pending_versions = 3;
+}
+
+// Request message for CreateStoredInfoType.
+message CreateStoredInfoTypeRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on the scope of the request
+ // (project or organization) and whether you have [specified a processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ // + Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID
+ // + Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/StoredInfoType"
+ }
+ ];
+
+ // Required. Configuration of the storedInfoType to create.
+ StoredInfoTypeConfig config = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The storedInfoType ID can contain uppercase and lowercase letters,
+ // numbers, and hyphens; that is, it must match the regular
+ // expression: `[a-zA-Z\d-_]+`. The maximum length is 100
+ // characters. Can be empty to allow the system to generate one.
+ string stored_info_type_id = 3;
+
+ // Deprecated. This field has no effect.
+ string location_id = 4;
+}
+
+// Request message for UpdateStoredInfoType.
+message UpdateStoredInfoTypeRequest {
+ // Required. Resource name of organization and storedInfoType to be updated, for
+ // example `organizations/433245324/storedInfoTypes/432452342` or
+ // projects/project-id/storedInfoTypes/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/StoredInfoType"
+ }
+ ];
+
+ // Updated configuration for the storedInfoType. If not provided, a new
+ // version of the storedInfoType will be created with the existing
+ // configuration.
+ StoredInfoTypeConfig config = 2;
+
+ // Mask to control which fields get updated.
+ google.protobuf.FieldMask update_mask = 3;
+}
+
+// Request message for GetStoredInfoType.
+message GetStoredInfoTypeRequest {
+ // Required. Resource name of the organization and storedInfoType to be read, for
+ // example `organizations/433245324/storedInfoTypes/432452342` or
+ // projects/project-id/storedInfoTypes/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/StoredInfoType"
+ }
+ ];
+}
+
+// Request message for ListStoredInfoTypes.
+message ListStoredInfoTypesRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on the scope of the request
+ // (project or organization) and whether you have [specified a processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ // + Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID
+ // + Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/StoredInfoType"
+ }
+ ];
+
+ // Page token to continue retrieval. Comes from previous call
+ // to `ListStoredInfoTypes`.
+ string page_token = 2;
+
+ // Size of the page, can be limited by server. If zero server returns
+ // a page of max size 100.
+ int32 page_size = 3;
+
+ // Comma separated list of fields to order by,
+ // followed by `asc` or `desc` postfix. This list is case-insensitive,
+ // default sorting order is ascending, redundant space characters are
+ // insignificant.
+ //
+ // Example: `name asc, display_name, create_time desc`
+ //
+ // Supported fields are:
+ //
+ // - `create_time`: corresponds to time the most recent version of the
+ // resource was created.
+ // - `state`: corresponds to the state of the resource.
+ // - `name`: corresponds to resource name.
+ // - `display_name`: corresponds to info type's display name.
+ string order_by = 4;
+
+ // Deprecated. This field has no effect.
+ string location_id = 5;
+}
+
+// Response message for ListStoredInfoTypes.
+message ListStoredInfoTypesResponse {
+ // List of storedInfoTypes, up to page_size in ListStoredInfoTypesRequest.
+ repeated StoredInfoType stored_info_types = 1;
+
+ // If the next page is available then the next page token to be used
+ // in following ListStoredInfoTypes request.
+ string next_page_token = 2;
+}
+
+// Request message for DeleteStoredInfoType.
+message DeleteStoredInfoTypeRequest {
+ // Required. Resource name of the organization and storedInfoType to be deleted, for
+ // example `organizations/433245324/storedInfoTypes/432452342` or
+ // projects/project-id/storedInfoTypes/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/StoredInfoType"
+ }
+ ];
+}
+
+// Request to search for potentially sensitive info in a custom location.
+message HybridInspectJobTriggerRequest {
+ // Required. Resource name of the trigger to execute a hybrid inspect on, for example
+ // `projects/dlp-test-project/jobTriggers/53234423`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/JobTrigger"
+ }
+ ];
+
+ // The item to inspect.
+ HybridContentItem hybrid_item = 3;
+}
+
+// Request to search for potentially sensitive info in a custom location.
+message HybridInspectDlpJobRequest {
+ // Required. Resource name of the job to execute a hybrid inspect on, for example
+ // `projects/dlp-test-project/dlpJob/53234423`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DlpJob"
+ }
+ ];
+
+ // The item to inspect.
+ HybridContentItem hybrid_item = 3;
+}
+
+// An individual hybrid item to inspect. Will be stored temporarily during
+// processing.
+message HybridContentItem {
+ // The item to inspect.
+ ContentItem item = 1;
+
+ // Supplementary information that will be added to each finding.
+ HybridFindingDetails finding_details = 2;
+}
+
+// Populate to associate additional data with each finding.
+message HybridFindingDetails {
+ // Details about the container where the content being inspected is from.
+ Container container_details = 1;
+
+ // Offset in bytes of the line, from the beginning of the file, where the
+ // finding is located. Populate if the item being scanned is only part of a
+ // bigger item, such as a shard of a file and you want to track the absolute
+ // position of the finding.
+ int64 file_offset = 2;
+
+ // Offset of the row for tables. Populate if the row(s) being scanned are
+ // part of a bigger dataset and you want to keep track of their absolute
+ // position.
+ int64 row_offset = 3;
+
+ // If the container is a table, additional information to make findings
+ // meaningful such as the columns that are primary keys. If not known ahead
+ // of time, can also be set within each inspect hybrid call and the two
+ // will be merged. Note that identifying_fields will only be stored to
+ // BigQuery, and only if the BigQuery action has been included.
+ TableOptions table_options = 4;
+
+ // Labels to represent user provided metadata about the data being inspected.
+ // If configured by the job, some key values may be required.
+ // The labels associated with `Finding`'s produced by hybrid
+ // inspection.
+ //
+ // Label keys must be between 1 and 63 characters long and must conform
+ // to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
+ //
+ // Label values must be between 0 and 63 characters long and must conform
+ // to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
+ //
+ // No more than 10 labels can be associated with a given finding.
+ //
+ // Examples:
+ // * `"environment" : "production"`
+ // * `"pipeline" : "etl"`
+ map labels = 5;
+}
+
+// Quota exceeded errors will be thrown once quota has been met.
+message HybridInspectResponse {
+
+}
+
+// Operators available for comparing the value of fields.
+enum RelationalOperator {
+ // Unused
+ RELATIONAL_OPERATOR_UNSPECIFIED = 0;
+
+ // Equal. Attempts to match even with incompatible types.
+ EQUAL_TO = 1;
+
+ // Not equal to. Attempts to match even with incompatible types.
+ NOT_EQUAL_TO = 2;
+
+ // Greater than.
+ GREATER_THAN = 3;
+
+ // Less than.
+ LESS_THAN = 4;
+
+ // Greater than or equals.
+ GREATER_THAN_OR_EQUALS = 5;
+
+ // Less than or equals.
+ LESS_THAN_OR_EQUALS = 6;
+
+ // Exists
+ EXISTS = 7;
+}
+
+// Type of the match which can be applied to different ways of matching, like
+// Dictionary, regular expression and intersecting with findings of another
+// info type.
+enum MatchingType {
+ // Invalid.
+ MATCHING_TYPE_UNSPECIFIED = 0;
+
+ // Full match.
+ //
+ // - Dictionary: join of Dictionary results matched complete finding quote
+ // - Regex: all regex matches fill a finding quote start to end
+ // - Exclude info type: completely inside affecting info types findings
+ MATCHING_TYPE_FULL_MATCH = 1;
+
+ // Partial match.
+ //
+ // - Dictionary: at least one of the tokens in the finding matches
+ // - Regex: substring of the finding matches
+ // - Exclude info type: intersects with affecting info types findings
+ MATCHING_TYPE_PARTIAL_MATCH = 2;
+
+ // Inverse match.
+ //
+ // - Dictionary: no tokens in the finding match the dictionary
+ // - Regex: finding doesn't match the regex
+ // - Exclude info type: no intersection with affecting info types findings
+ MATCHING_TYPE_INVERSE_MATCH = 3;
+}
+
+// Options describing which parts of the provided content should be scanned.
+enum ContentOption {
+ // Includes entire content of a file or a data stream.
+ CONTENT_UNSPECIFIED = 0;
+
+ // Text content within the data, excluding any metadata.
+ CONTENT_TEXT = 1;
+
+ // Images found in the data.
+ CONTENT_IMAGE = 2;
+}
+
+// Type of metadata containing the finding.
+enum MetadataType {
+ // Unused
+ METADATATYPE_UNSPECIFIED = 0;
+
+ // General file metadata provided by Cloud Storage.
+ STORAGE_METADATA = 2;
+}
+
+// Parts of the APIs which use certain infoTypes.
+enum InfoTypeSupportedBy {
+ // Unused.
+ ENUM_TYPE_UNSPECIFIED = 0;
+
+ // Supported by the inspect operations.
+ INSPECT = 1;
+
+ // Supported by the risk analysis operations.
+ RISK_ANALYSIS = 2;
+}
+
+// An enum to represent the various types of DLP jobs.
+enum DlpJobType {
+ // Unused
+ DLP_JOB_TYPE_UNSPECIFIED = 0;
+
+ // The job inspected Google Cloud for sensitive data.
+ INSPECT_JOB = 1;
+
+ // The job executed a Risk Analysis computation.
+ RISK_ANALYSIS_JOB = 2;
+}
+
+// State of a StoredInfoType version.
+enum StoredInfoTypeState {
+ // Unused
+ STORED_INFO_TYPE_STATE_UNSPECIFIED = 0;
+
+ // StoredInfoType version is being created.
+ PENDING = 1;
+
+ // StoredInfoType version is ready for use.
+ READY = 2;
+
+ // StoredInfoType creation failed. All relevant error messages are returned in
+ // the `StoredInfoTypeVersion` message.
+ FAILED = 3;
+
+ // StoredInfoType is no longer valid because artifacts stored in
+ // user-controlled storage were modified. To fix an invalid StoredInfoType,
+ // use the `UpdateStoredInfoType` method to create a new version.
+ INVALID = 4;
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/protos/google/privacy/dlp/v2/storage.proto b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/protos/google/privacy/dlp/v2/storage.proto
new file mode 100644
index 000000000..6ded28b16
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/protos/google/privacy/dlp/v2/storage.proto
@@ -0,0 +1,740 @@
+// 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.privacy.dlp.v2;
+
+import "google/api/resource.proto";
+import "google/protobuf/timestamp.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Cloud.Dlp.V2";
+option go_package = "google.golang.org/genproto/googleapis/privacy/dlp/v2;dlp";
+option java_multiple_files = true;
+option java_outer_classname = "DlpStorage";
+option java_package = "com.google.privacy.dlp.v2";
+option php_namespace = "Google\\Cloud\\Dlp\\V2";
+option ruby_package = "Google::Cloud::Dlp::V2";
+
+// Type of information detected by the API.
+message InfoType {
+ // Name of the information type. Either a name of your choosing when
+ // creating a CustomInfoType, or one of the names listed
+ // at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
+ // a built-in type. When sending Cloud DLP results to Data Catalog, infoType
+ // names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.
+ string name = 1;
+}
+
+// A reference to a StoredInfoType to use with scanning.
+message StoredType {
+ // Resource name of the requested `StoredInfoType`, for example
+ // `organizations/433245324/storedInfoTypes/432452342` or
+ // `projects/project-id/storedInfoTypes/432452342`.
+ string name = 1;
+
+ // Timestamp indicating when the version of the `StoredInfoType` used for
+ // inspection was created. Output-only field, populated by the system.
+ google.protobuf.Timestamp create_time = 2;
+}
+
+// Categorization of results based on how likely they are to represent a match,
+// based on the number of elements they contain which imply a match.
+enum Likelihood {
+ // Default value; same as POSSIBLE.
+ LIKELIHOOD_UNSPECIFIED = 0;
+
+ // Few matching elements.
+ VERY_UNLIKELY = 1;
+
+ UNLIKELY = 2;
+
+ // Some matching elements.
+ POSSIBLE = 3;
+
+ LIKELY = 4;
+
+ // Many matching elements.
+ VERY_LIKELY = 5;
+}
+
+// Custom information type provided by the user. Used to find domain-specific
+// sensitive information configurable to the data in question.
+message CustomInfoType {
+ // Custom information type based on a dictionary of words or phrases. This can
+ // be used to match sensitive information specific to the data, such as a list
+ // of employee IDs or job titles.
+ //
+ // Dictionary words are case-insensitive and all characters other than letters
+ // and digits in the unicode [Basic Multilingual
+ // Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
+ // will be replaced with whitespace when scanning for matches, so the
+ // dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
+ // "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
+ // surrounding any match must be of a different type than the adjacent
+ // characters within the word, so letters must be next to non-letters and
+ // digits next to non-digits. For example, the dictionary word "jen" will
+ // match the first three letters of the text "jen123" but will return no
+ // matches for "jennifer".
+ //
+ // Dictionary words containing a large number of characters that are not
+ // letters or digits may result in unexpected findings because such characters
+ // are treated as whitespace. The
+ // [limits](https://cloud.google.com/dlp/limits) page contains details about
+ // the size limits of dictionaries. For dictionaries that do not fit within
+ // these constraints, consider using `LargeCustomDictionaryConfig` in the
+ // `StoredInfoType` API.
+ message Dictionary {
+ // Message defining a list of words or phrases to search for in the data.
+ message WordList {
+ // Words or phrases defining the dictionary. The dictionary must contain
+ // at least one phrase and every phrase must contain at least 2 characters
+ // that are letters or digits. [required]
+ repeated string words = 1;
+ }
+
+ oneof source {
+ // List of words or phrases to search for.
+ WordList word_list = 1;
+
+ // Newline-delimited file of words in Cloud Storage. Only a single file
+ // is accepted.
+ CloudStoragePath cloud_storage_path = 3;
+ }
+ }
+
+ // Message defining a custom regular expression.
+ message Regex {
+ // Pattern defining the regular expression. Its syntax
+ // (https://github.com/google/re2/wiki/Syntax) can be found under the
+ // google/re2 repository on GitHub.
+ string pattern = 1;
+
+ // The index of the submatch to extract as findings. When not
+ // specified, the entire match is returned. No more than 3 may be included.
+ repeated int32 group_indexes = 2;
+ }
+
+ // Message for detecting output from deidentification transformations
+ // such as
+ // [`CryptoReplaceFfxFpeConfig`](https://cloud.google.com/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
+ // These types of transformations are
+ // those that perform pseudonymization, thereby producing a "surrogate" as
+ // output. This should be used in conjunction with a field on the
+ // transformation such as `surrogate_info_type`. This CustomInfoType does
+ // not support the use of `detection_rules`.
+ message SurrogateType {
+
+ }
+
+ // Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
+ // `CustomInfoType` to alter behavior under certain circumstances, depending
+ // on the specific details of the rule. Not supported for the `surrogate_type`
+ // custom infoType.
+ message DetectionRule {
+ // Message for specifying a window around a finding to apply a detection
+ // rule.
+ message Proximity {
+ // Number of characters before the finding to consider.
+ int32 window_before = 1;
+
+ // Number of characters after the finding to consider.
+ int32 window_after = 2;
+ }
+
+ // Message for specifying an adjustment to the likelihood of a finding as
+ // part of a detection rule.
+ message LikelihoodAdjustment {
+ oneof adjustment {
+ // Set the likelihood of a finding to a fixed value.
+ Likelihood fixed_likelihood = 1;
+
+ // Increase or decrease the likelihood by the specified number of
+ // levels. For example, if a finding would be `POSSIBLE` without the
+ // detection rule and `relative_likelihood` is 1, then it is upgraded to
+ // `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
+ // Likelihood may never drop below `VERY_UNLIKELY` or exceed
+ // `VERY_LIKELY`, so applying an adjustment of 1 followed by an
+ // adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
+ // a final likelihood of `LIKELY`.
+ int32 relative_likelihood = 2;
+ }
+ }
+
+ // The rule that adjusts the likelihood of findings within a certain
+ // proximity of hotwords.
+ message HotwordRule {
+ // Regular expression pattern defining what qualifies as a hotword.
+ Regex hotword_regex = 1;
+
+ // Proximity of the finding within which the entire hotword must reside.
+ // The total length of the window cannot exceed 1000 characters. Note that
+ // the finding itself will be included in the window, so that hotwords may
+ // be used to match substrings of the finding itself. For example, the
+ // certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
+ // adjusted upwards if the area code is known to be the local area code of
+ // a company office using the hotword regex "\(xxx\)", where "xxx"
+ // is the area code in question.
+ Proximity proximity = 2;
+
+ // Likelihood adjustment to apply to all matching findings.
+ LikelihoodAdjustment likelihood_adjustment = 3;
+ }
+
+ oneof type {
+ // Hotword-based detection rule.
+ HotwordRule hotword_rule = 1;
+ }
+ }
+
+ enum ExclusionType {
+ // A finding of this custom info type will not be excluded from results.
+ EXCLUSION_TYPE_UNSPECIFIED = 0;
+
+ // A finding of this custom info type will be excluded from final results,
+ // but can still affect rule execution.
+ EXCLUSION_TYPE_EXCLUDE = 1;
+ }
+
+ // CustomInfoType can either be a new infoType, or an extension of built-in
+ // infoType, when the name matches one of existing infoTypes and that infoType
+ // is specified in `InspectContent.info_types` field. Specifying the latter
+ // adds findings to the one detected by the system. If built-in info type is
+ // not specified in `InspectContent.info_types` list then the name is treated
+ // as a custom info type.
+ InfoType info_type = 1;
+
+ // Likelihood to return for this CustomInfoType. This base value can be
+ // altered by a detection rule if the finding meets the criteria specified by
+ // the rule. Defaults to `VERY_LIKELY` if not specified.
+ Likelihood likelihood = 6;
+
+ oneof type {
+ // A list of phrases to detect as a CustomInfoType.
+ Dictionary dictionary = 2;
+
+ // Regular expression based CustomInfoType.
+ Regex regex = 3;
+
+ // Message for detecting output from deidentification transformations that
+ // support reversing.
+ SurrogateType surrogate_type = 4;
+
+ // Load an existing `StoredInfoType` resource for use in
+ // `InspectDataSource`. Not currently supported in `InspectContent`.
+ StoredType stored_type = 5;
+ }
+
+ // Set of detection rules to apply to all findings of this CustomInfoType.
+ // Rules are applied in order that they are specified. Not supported for the
+ // `surrogate_type` CustomInfoType.
+ repeated DetectionRule detection_rules = 7;
+
+ // If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
+ // to be returned. It still can be used for rules matching.
+ ExclusionType exclusion_type = 8;
+}
+
+// General identifier of a data field in a storage service.
+message FieldId {
+ // Name describing the field.
+ string name = 1;
+}
+
+// Datastore partition ID.
+// A partition ID identifies a grouping of entities. The grouping is always
+// by project and namespace, however the namespace ID may be empty.
+//
+// A partition ID contains several dimensions:
+// project ID and namespace ID.
+message PartitionId {
+ // The ID of the project to which the entities belong.
+ string project_id = 2;
+
+ // If not empty, the ID of the namespace to which the entities belong.
+ string namespace_id = 4;
+}
+
+// A representation of a Datastore kind.
+message KindExpression {
+ // The name of the kind.
+ string name = 1;
+}
+
+// Options defining a data set within Google Cloud Datastore.
+message DatastoreOptions {
+ // A partition ID identifies a grouping of entities. The grouping is always
+ // by project and namespace, however the namespace ID may be empty.
+ PartitionId partition_id = 1;
+
+ // The kind to process.
+ KindExpression kind = 2;
+}
+
+// Message representing a set of files in a Cloud Storage bucket. Regular
+// expressions are used to allow fine-grained control over which files in the
+// bucket to include.
+//
+// Included files are those that match at least one item in `include_regex` and
+// do not match any items in `exclude_regex`. Note that a file that matches
+// items from both lists will _not_ be included. For a match to occur, the
+// entire file path (i.e., everything in the url after the bucket name) must
+// match the regular expression.
+//
+// For example, given the input `{bucket_name: "mybucket", include_regex:
+// ["directory1/.*"], exclude_regex:
+// ["directory1/excluded.*"]}`:
+//
+// * `gs://mybucket/directory1/myfile` will be included
+// * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
+// across `/`)
+// * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
+// full path doesn't match any items in `include_regex`)
+// * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
+// matches an item in `exclude_regex`)
+//
+// If `include_regex` is left empty, it will match all files by default
+// (this is equivalent to setting `include_regex: [".*"]`).
+//
+// Some other common use cases:
+//
+// * `{bucket_name: "mybucket", exclude_regex: [".*\.pdf"]}` will include all
+// files in `mybucket` except for .pdf files
+// * `{bucket_name: "mybucket", include_regex: ["directory/[^/]+"]}` will
+// include all files directly under `gs://mybucket/directory/`, without matching
+// across `/`
+message CloudStorageRegexFileSet {
+ // The name of a Cloud Storage bucket. Required.
+ string bucket_name = 1;
+
+ // A list of regular expressions matching file paths to include. All files in
+ // the bucket that match at least one of these regular expressions will be
+ // included in the set of files, except for those that also match an item in
+ // `exclude_regex`. Leaving this field empty will match all files by default
+ // (this is equivalent to including `.*` in the list).
+ //
+ // Regular expressions use RE2
+ // [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
+ // under the google/re2 repository on GitHub.
+ repeated string include_regex = 2;
+
+ // A list of regular expressions matching file paths to exclude. All files in
+ // the bucket that match at least one of these regular expressions will be
+ // excluded from the scan.
+ //
+ // Regular expressions use RE2
+ // [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
+ // under the google/re2 repository on GitHub.
+ repeated string exclude_regex = 3;
+}
+
+// Options defining a file or a set of files within a Google Cloud Storage
+// bucket.
+message CloudStorageOptions {
+ // Set of files to scan.
+ message FileSet {
+ // The Cloud Storage url of the file(s) to scan, in the format
+ // `gs:///`. Trailing wildcard in the path is allowed.
+ //
+ // If the url ends in a trailing slash, the bucket or directory represented
+ // by the url will be scanned non-recursively (content in sub-directories
+ // will not be scanned). This means that `gs://mybucket/` is equivalent to
+ // `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
+ // `gs://mybucket/directory/*`.
+ //
+ // Exactly one of `url` or `regex_file_set` must be set.
+ string url = 1;
+
+ // The regex-filtered set of files to scan. Exactly one of `url` or
+ // `regex_file_set` must be set.
+ CloudStorageRegexFileSet regex_file_set = 2;
+ }
+
+ // How to sample bytes if not all bytes are scanned. Meaningful only when used
+ // in conjunction with bytes_limit_per_file. If not specified, scanning would
+ // start from the top.
+ enum SampleMethod {
+ SAMPLE_METHOD_UNSPECIFIED = 0;
+
+ // Scan from the top (default).
+ TOP = 1;
+
+ // For each file larger than bytes_limit_per_file, randomly pick the offset
+ // to start scanning. The scanned bytes are contiguous.
+ RANDOM_START = 2;
+ }
+
+ // The set of one or more files to scan.
+ FileSet file_set = 1;
+
+ // Max number of bytes to scan from a file. If a scanned file's size is bigger
+ // than this value then the rest of the bytes are omitted. Only one
+ // of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
+ int64 bytes_limit_per_file = 4;
+
+ // Max percentage of bytes to scan from a file. The rest are omitted. The
+ // number of bytes scanned is rounded down. Must be between 0 and 100,
+ // inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
+ // of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
+ int32 bytes_limit_per_file_percent = 8;
+
+ // List of file type groups to include in the scan.
+ // If empty, all files are scanned and available data format processors
+ // are applied. In addition, the binary content of the selected files
+ // is always scanned as well.
+ // Images are scanned only as binary if the specified region
+ // does not support image inspection and no file_types were specified.
+ // Image inspection is restricted to 'global', 'us', 'asia', and 'europe'.
+ repeated FileType file_types = 5;
+
+ SampleMethod sample_method = 6;
+
+ // Limits the number of files to scan to this percentage of the input FileSet.
+ // Number of files scanned is rounded down. Must be between 0 and 100,
+ // inclusively. Both 0 and 100 means no limit. Defaults to 0.
+ int32 files_limit_percent = 7;
+}
+
+// Message representing a set of files in Cloud Storage.
+message CloudStorageFileSet {
+ // The url, in the format `gs:///`. Trailing wildcard in the
+ // path is allowed.
+ string url = 1;
+}
+
+// Message representing a single file or path in Cloud Storage.
+message CloudStoragePath {
+ // A url representing a file or path (no wildcards) in Cloud Storage.
+ // Example: gs://[BUCKET_NAME]/dictionary.txt
+ string path = 1;
+}
+
+// Options defining BigQuery table and row identifiers.
+message BigQueryOptions {
+ // How to sample rows if not all rows are scanned. Meaningful only when used
+ // in conjunction with either rows_limit or rows_limit_percent. If not
+ // specified, rows are scanned in the order BigQuery reads them.
+ enum SampleMethod {
+ SAMPLE_METHOD_UNSPECIFIED = 0;
+
+ // Scan groups of rows in the order BigQuery provides (default). Multiple
+ // groups of rows may be scanned in parallel, so results may not appear in
+ // the same order the rows are read.
+ TOP = 1;
+
+ // Randomly pick groups of rows to scan.
+ RANDOM_START = 2;
+ }
+
+ // Complete BigQuery table reference.
+ BigQueryTable table_reference = 1;
+
+ // Table fields that may uniquely identify a row within the table. When
+ // `actions.saveFindings.outputConfig.table` is specified, the values of
+ // columns specified here are available in the output table under
+ // `location.content_locations.record_location.record_key.id_values`. Nested
+ // fields such as `person.birthdate.year` are allowed.
+ repeated FieldId identifying_fields = 2;
+
+ // Max number of rows to scan. If the table has more rows than this value, the
+ // rest of the rows are omitted. If not set, or if set to 0, all rows will be
+ // scanned. Only one of rows_limit and rows_limit_percent can be specified.
+ // Cannot be used in conjunction with TimespanConfig.
+ int64 rows_limit = 3;
+
+ // Max percentage of rows to scan. The rest are omitted. The number of rows
+ // scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
+ // 100 means no limit. Defaults to 0. Only one of rows_limit and
+ // rows_limit_percent can be specified. Cannot be used in conjunction with
+ // TimespanConfig.
+ int32 rows_limit_percent = 6;
+
+ SampleMethod sample_method = 4;
+
+ // References to fields excluded from scanning. This allows you to skip
+ // inspection of entire columns which you know have no findings.
+ repeated FieldId excluded_fields = 5;
+}
+
+// Shared message indicating Cloud storage type.
+message StorageConfig {
+ // Configuration of the timespan of the items to include in scanning.
+ // Currently only supported when inspecting Google Cloud Storage and BigQuery.
+ message TimespanConfig {
+ // Exclude files, tables, or rows older than this value.
+ // If not set, no lower time limit is applied.
+ google.protobuf.Timestamp start_time = 1;
+
+ // Exclude files, tables, or rows newer than this value.
+ // If not set, no upper time limit is applied.
+ google.protobuf.Timestamp end_time = 2;
+
+ // Specification of the field containing the timestamp of scanned items.
+ // Used for data sources like Datastore and BigQuery.
+ //
+ // For BigQuery:
+ // If this value is not specified and the table was modified between the
+ // given start and end times, the entire table will be scanned. If this
+ // value is specified, then rows are filtered based on the given start and
+ // end times. Rows with a `NULL` value in the provided BigQuery column are
+ // skipped.
+ // Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
+ // `TIMESTAMP`, and `DATETIME`.
+ //
+ // For Datastore:
+ // If this value is specified, then entities are filtered based on the given
+ // start and end times. If an entity does not contain the provided timestamp
+ // property or contains empty or invalid values, then it is included.
+ // Valid data types of the provided timestamp property are: `TIMESTAMP`.
+ FieldId timestamp_field = 3;
+
+ // When the job is started by a JobTrigger we will automatically figure out
+ // a valid start_time to avoid scanning files that have not been modified
+ // since the last time the JobTrigger executed. This will be based on the
+ // time of the execution of the last run of the JobTrigger.
+ bool enable_auto_population_of_timespan_config = 4;
+ }
+
+ oneof type {
+ // Google Cloud Datastore options.
+ DatastoreOptions datastore_options = 2;
+
+ // Google Cloud Storage options.
+ CloudStorageOptions cloud_storage_options = 3;
+
+ // BigQuery options.
+ BigQueryOptions big_query_options = 4;
+
+ // Hybrid inspection options.
+ // Early access feature is in a pre-release state and might change or have
+ // limited support. For more information, see
+ // https://cloud.google.com/products#product-launch-stages.
+ HybridOptions hybrid_options = 9;
+ }
+
+ TimespanConfig timespan_config = 6;
+}
+
+// Definitions of file type groups to scan. New types will be added to this
+// list.
+enum FileType {
+ // Includes all files.
+ FILE_TYPE_UNSPECIFIED = 0;
+
+ // Includes all file extensions not covered by another entry. Binary
+ // scanning attempts to convert the content of the file to utf_8 to scan
+ // the file.
+ // If you wish to avoid this fall back, specify one or more of the other
+ // FileType's in your storage scan.
+ BINARY_FILE = 1;
+
+ // Included file extensions:
+ // asc, brf, c, cc, cpp, csv, cxx, c++, cs, css, dart, eml, go, h, hh, hpp,
+ // hxx, h++, hs, html, htm, shtml, shtm, xhtml, lhs, ini, java, js, json,
+ // ocaml, md, mkd, markdown, m, ml, mli, pl, pm, php, phtml, pht, py, pyw,
+ // rb, rbw, rs, rc, scala, sh, sql, tex, txt, text, tsv, vcard, vcs, wml,
+ // xml, xsl, xsd, yml, yaml.
+ TEXT_FILE = 2;
+
+ // Included file extensions:
+ // bmp, gif, jpg, jpeg, jpe, png.
+ // bytes_limit_per_file has no effect on image files.
+ // Image inspection is restricted to 'global', 'us', 'asia', and 'europe'.
+ IMAGE = 3;
+
+ // Word files >30 MB will be scanned as binary files.
+ // Included file extensions:
+ // docx, dotx, docm, dotm
+ WORD = 5;
+
+ // PDF files >30 MB will be scanned as binary files.
+ // Included file extensions:
+ // pdf
+ PDF = 6;
+
+ // Included file extensions:
+ // avro
+ AVRO = 7;
+
+ // Included file extensions:
+ // csv
+ CSV = 8;
+
+ // Included file extensions:
+ // tsv
+ TSV = 9;
+}
+
+// Configuration to control jobs where the content being inspected is outside
+// of Google Cloud Platform.
+message HybridOptions {
+ // A short description of where the data is coming from. Will be stored once
+ // in the job. 256 max length.
+ string description = 1;
+
+ // These are labels that each inspection request must include within their
+ // 'finding_labels' map. Request may contain others, but any missing one of
+ // these will be rejected.
+ //
+ // Label keys must be between 1 and 63 characters long and must conform
+ // to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
+ //
+ // No more than 10 keys can be required.
+ repeated string required_finding_label_keys = 2;
+
+ // To organize findings, these labels will be added to each finding.
+ //
+ // Label keys must be between 1 and 63 characters long and must conform
+ // to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
+ //
+ // Label values must be between 0 and 63 characters long and must conform
+ // to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
+ //
+ // No more than 10 labels can be associated with a given finding.
+ //
+ // Examples:
+ // * `"environment" : "production"`
+ // * `"pipeline" : "etl"`
+ map labels = 3;
+
+ // If the container is a table, additional information to make findings
+ // meaningful such as the columns that are primary keys.
+ TableOptions table_options = 4;
+}
+
+// Row key for identifying a record in BigQuery table.
+message BigQueryKey {
+ // Complete BigQuery table reference.
+ BigQueryTable table_reference = 1;
+
+ // Row number inferred at the time the table was scanned. This value is
+ // nondeterministic, cannot be queried, and may be null for inspection
+ // jobs. To locate findings within a table, specify
+ // `inspect_job.storage_config.big_query_options.identifying_fields` in
+ // `CreateDlpJobRequest`.
+ int64 row_number = 2;
+}
+
+// Record key for a finding in Cloud Datastore.
+message DatastoreKey {
+ // Datastore entity key.
+ Key entity_key = 1;
+}
+
+// A unique identifier for a Datastore entity.
+// If a key's partition ID or any of its path kinds or names are
+// reserved/read-only, the key is reserved/read-only.
+// A reserved/read-only key is forbidden in certain documented contexts.
+message Key {
+ // A (kind, ID/name) pair used to construct a key path.
+ //
+ // If either name or ID is set, the element is complete.
+ // If neither is set, the element is incomplete.
+ message PathElement {
+ // The kind of the entity.
+ // A kind matching regex `__.*__` is reserved/read-only.
+ // A kind must not contain more than 1500 bytes when UTF-8 encoded.
+ // Cannot be `""`.
+ string kind = 1;
+
+ // The type of ID.
+ oneof id_type {
+ // The auto-allocated ID of the entity.
+ // Never equal to zero. Values less than zero are discouraged and may not
+ // be supported in the future.
+ int64 id = 2;
+
+ // The name of the entity.
+ // A name matching regex `__.*__` is reserved/read-only.
+ // A name must not be more than 1500 bytes when UTF-8 encoded.
+ // Cannot be `""`.
+ string name = 3;
+ }
+ }
+
+ // Entities are partitioned into subsets, currently identified by a project
+ // ID and namespace ID.
+ // Queries are scoped to a single partition.
+ PartitionId partition_id = 1;
+
+ // The entity path.
+ // An entity path consists of one or more elements composed of a kind and a
+ // string or numerical identifier, which identify entities. The first
+ // element identifies a _root entity_, the second element identifies
+ // a _child_ of the root entity, the third element identifies a child of the
+ // second entity, and so forth. The entities identified by all prefixes of
+ // the path are called the element's _ancestors_.
+ //
+ // A path can never be empty, and a path can have at most 100 elements.
+ repeated PathElement path = 2;
+}
+
+// Message for a unique key indicating a record that contains a finding.
+message RecordKey {
+ oneof type {
+ DatastoreKey datastore_key = 2;
+
+ BigQueryKey big_query_key = 3;
+ }
+
+ // Values of identifying columns in the given row. Order of values matches
+ // the order of `identifying_fields` specified in the scanning request.
+ repeated string id_values = 5;
+}
+
+// Message defining the location of a BigQuery table. A table is uniquely
+// identified by its project_id, dataset_id, and table_name. Within a query
+// a table is often referenced with a string in the format of:
+// `:.` or
+// `..`.
+message BigQueryTable {
+ // The Google Cloud Platform project ID of the project containing the table.
+ // If omitted, project ID is inferred from the API call.
+ string project_id = 1;
+
+ // Dataset ID of the table.
+ string dataset_id = 2;
+
+ // Name of the table.
+ string table_id = 3;
+}
+
+// Message defining a field of a BigQuery table.
+message BigQueryField {
+ // Source table of the field.
+ BigQueryTable table = 1;
+
+ // Designated field in the BigQuery table.
+ FieldId field = 2;
+}
+
+// An entity in a dataset is a field or set of fields that correspond to a
+// single person. For example, in medical records the `EntityId` might be a
+// patient identifier, or for financial records it might be an account
+// identifier. This message is used when generalizations or analysis must take
+// into account that multiple rows correspond to the same entity.
+message EntityId {
+ // Composite key indicating which field contains the entity identifier.
+ FieldId field = 1;
+}
+
+// Instructions regarding the table content being inspected.
+message TableOptions {
+ // The columns that are the primary keys for table objects included in
+ // ContentItem. A copy of this cell's value will stored alongside alongside
+ // each finding so that the finding can be traced to the specific row it came
+ // from. No more than 3 may be provided.
+ repeated FieldId identifying_fields = 1;
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/index.ts b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/index.ts
new file mode 100644
index 000000000..13be31a28
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/index.ts
@@ -0,0 +1,27 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// ** This file is automatically generated by gapic-generator-typescript. **
+// ** https://github.com/googleapis/gapic-generator-typescript **
+// ** All changes to this file may be overwritten. **
+
+import * as v2 from './v2';
+const DlpServiceClient = v2.DlpServiceClient;
+type DlpServiceClient = v2.DlpServiceClient;
+export {v2, DlpServiceClient};
+export default {v2, DlpServiceClient};
+import * as protos from '../protos/protos';
+export {protos}
+
+// This file originated in the staging directory.
\ No newline at end of file
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/v2/dlp_service_client.ts b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/v2/dlp_service_client.ts
new file mode 100644
index 000000000..43fc2bba1
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/v2/dlp_service_client.ts
@@ -0,0 +1,5246 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// ** This file is automatically generated by gapic-generator-typescript. **
+// ** https://github.com/googleapis/gapic-generator-typescript **
+// ** All changes to this file may be overwritten. **
+
+/* global window */
+import * as gax from 'google-gax';
+import {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall} from 'google-gax';
+import * as path from 'path';
+
+import { Transform } from 'stream';
+import { RequestType } from 'google-gax/build/src/apitypes';
+import * as protos from '../../protos/protos';
+/**
+ * Client JSON configuration object, loaded from
+ * `src/v2/dlp_service_client_config.json`.
+ * This file defines retry strategy and timeouts for all API methods in this library.
+ */
+import * as gapicConfig from './dlp_service_client_config.json';
+
+const version = require('../../../package.json').version;
+
+/**
+ * The Cloud Data Loss Prevention (DLP) API is a service that allows clients
+ * to detect the presence of Personally Identifiable Information (PII) and other
+ * privacy-sensitive data in user-supplied, unstructured data streams, like text
+ * blocks or images.
+ * The service also includes methods for sensitive data redaction and
+ * scheduling of data scans on Google Cloud Platform based data sets.
+ *
+ * To learn more about concepts and find how-to guides see
+ * https://cloud.google.com/dlp/docs/.
+ * @class
+ * @memberof v2
+ */
+export class DlpServiceClient {
+ private _terminated = false;
+ private _opts: ClientOptions;
+ private _gaxModule: typeof gax | typeof gax.fallback;
+ private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
+ private _protos: {};
+ private _defaults: {[method: string]: gax.CallSettings};
+ auth: gax.GoogleAuth;
+ descriptors: Descriptors = {
+ page: {},
+ stream: {},
+ longrunning: {},
+ batching: {},
+ };
+ innerApiCalls: {[name: string]: Function};
+ pathTemplates: {[name: string]: gax.PathTemplate};
+ dlpServiceStub?: Promise<{[name: string]: Function}>;
+
+ /**
+ * Construct an instance of DlpServiceClient.
+ *
+ * @param {object} [options] - The configuration object.
+ * The options accepted by the constructor are described in detail
+ * in [this document](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#creating-the-client-instance).
+ * The common options are:
+ * @param {object} [options.credentials] - Credentials object.
+ * @param {string} [options.credentials.client_email]
+ * @param {string} [options.credentials.private_key]
+ * @param {string} [options.email] - Account email address. Required when
+ * using a .pem or .p12 keyFilename.
+ * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or
+ * .p12 key downloaded from the Google Developers Console. If you provide
+ * a path to a JSON file, the projectId option below is not necessary.
+ * NOTE: .pem and .p12 require you to specify options.email as well.
+ * @param {number} [options.port] - The port on which to connect to
+ * the remote host.
+ * @param {string} [options.projectId] - The project ID from the Google
+ * Developer's Console, e.g. 'grape-spaceship-123'. We will also check
+ * the environment variable GCLOUD_PROJECT for your project ID. If your
+ * app is running in an environment which supports
+ * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials},
+ * your project ID will be detected automatically.
+ * @param {string} [options.apiEndpoint] - The domain name of the
+ * API remote host.
+ * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override.
+ * Follows the structure of {@link gapicConfig}.
+ * @param {boolean} [options.fallback] - Use HTTP fallback mode.
+ * In fallback mode, a special browser-compatible transport implementation is used
+ * instead of gRPC transport. In browser context (if the `window` object is defined)
+ * the fallback mode is enabled automatically; set `options.fallback` to `false`
+ * if you need to override this behavior.
+ */
+ constructor(opts?: ClientOptions) {
+ // Ensure that options include all the required fields.
+ const staticMembers = this.constructor as typeof DlpServiceClient;
+ const servicePath = opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath;
+ const port = opts?.port || staticMembers.port;
+ const clientConfig = opts?.clientConfig ?? {};
+ const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+ opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+
+ // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case.
+ if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) {
+ opts['scopes'] = staticMembers.scopes;
+ }
+
+ // Choose either gRPC or proto-over-HTTP implementation of google-gax.
+ this._gaxModule = opts.fallback ? gax.fallback : gax;
+
+ // Create a `gaxGrpc` object, with any grpc-specific options sent to the client.
+ this._gaxGrpc = new this._gaxModule.GrpcClient(opts);
+
+ // Save options to use in initialize() method.
+ this._opts = opts;
+
+ // Save the auth object to the client, for use by other methods.
+ this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+
+ // Set the default scopes in auth client if needed.
+ if (servicePath === staticMembers.servicePath) {
+ this.auth.defaultScopes = staticMembers.scopes;
+ }
+
+ // Determine the client header string.
+ const clientHeader = [
+ `gax/${this._gaxModule.version}`,
+ `gapic/${version}`,
+ ];
+ if (typeof process !== 'undefined' && 'versions' in process) {
+ clientHeader.push(`gl-node/${process.versions.node}`);
+ } else {
+ clientHeader.push(`gl-web/${this._gaxModule.version}`);
+ }
+ if (!opts.fallback) {
+ clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`);
+ }
+ if (opts.libName && opts.libVersion) {
+ clientHeader.push(`${opts.libName}/${opts.libVersion}`);
+ }
+ // Load the applicable protos.
+ // For Node.js, pass the path to JSON proto file.
+ // For browsers, pass the JSON content.
+
+ const nodejsProtoPath = path.join(__dirname, '..', '..', 'protos', 'protos.json');
+ this._protos = this._gaxGrpc.loadProto(
+ opts.fallback ?
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
+ require("../../protos/protos.json") :
+ nodejsProtoPath
+ );
+
+ // This API contains "path templates"; forward-slash-separated
+ // identifiers to uniquely identify resources within the API.
+ // Create useful helper objects for these.
+ this.pathTemplates = {
+ findingPathTemplate: new this._gaxModule.PathTemplate(
+ 'projects/{project}/locations/{location}/findings/{finding}'
+ ),
+ organizationPathTemplate: new this._gaxModule.PathTemplate(
+ 'organizations/{organization}'
+ ),
+ organizationDeidentifyTemplatePathTemplate: new this._gaxModule.PathTemplate(
+ 'organizations/{organization}/deidentifyTemplates/{deidentify_template}'
+ ),
+ organizationInspectTemplatePathTemplate: new this._gaxModule.PathTemplate(
+ 'organizations/{organization}/inspectTemplates/{inspect_template}'
+ ),
+ organizationLocationDeidentifyTemplatePathTemplate: new this._gaxModule.PathTemplate(
+ 'organizations/{organization}/locations/{location}/deidentifyTemplates/{deidentify_template}'
+ ),
+ organizationLocationInspectTemplatePathTemplate: new this._gaxModule.PathTemplate(
+ 'organizations/{organization}/locations/{location}/inspectTemplates/{inspect_template}'
+ ),
+ organizationLocationStoredInfoTypePathTemplate: new this._gaxModule.PathTemplate(
+ 'organizations/{organization}/locations/{location}/storedInfoTypes/{stored_info_type}'
+ ),
+ organizationStoredInfoTypePathTemplate: new this._gaxModule.PathTemplate(
+ 'organizations/{organization}/storedInfoTypes/{stored_info_type}'
+ ),
+ projectPathTemplate: new this._gaxModule.PathTemplate(
+ 'projects/{project}'
+ ),
+ projectDeidentifyTemplatePathTemplate: new this._gaxModule.PathTemplate(
+ 'projects/{project}/deidentifyTemplates/{deidentify_template}'
+ ),
+ projectDlpContentPathTemplate: new this._gaxModule.PathTemplate(
+ 'projects/{project}/dlpContent'
+ ),
+ projectDlpJobPathTemplate: new this._gaxModule.PathTemplate(
+ 'projects/{project}/dlpJobs/{dlp_job}'
+ ),
+ projectInspectTemplatePathTemplate: new this._gaxModule.PathTemplate(
+ 'projects/{project}/inspectTemplates/{inspect_template}'
+ ),
+ projectJobTriggerPathTemplate: new this._gaxModule.PathTemplate(
+ 'projects/{project}/jobTriggers/{job_trigger}'
+ ),
+ projectLocationDeidentifyTemplatePathTemplate: new this._gaxModule.PathTemplate(
+ 'projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}'
+ ),
+ projectLocationDlpJobPathTemplate: new this._gaxModule.PathTemplate(
+ 'projects/{project}/locations/{location}/dlpJobs/{dlp_job}'
+ ),
+ projectLocationInspectTemplatePathTemplate: new this._gaxModule.PathTemplate(
+ 'projects/{project}/locations/{location}/inspectTemplates/{inspect_template}'
+ ),
+ projectLocationJobTriggerPathTemplate: new this._gaxModule.PathTemplate(
+ 'projects/{project}/locations/{location}/jobTriggers/{job_trigger}'
+ ),
+ projectLocationStoredInfoTypePathTemplate: new this._gaxModule.PathTemplate(
+ 'projects/{project}/locations/{location}/storedInfoTypes/{stored_info_type}'
+ ),
+ projectStoredInfoTypePathTemplate: new this._gaxModule.PathTemplate(
+ 'projects/{project}/storedInfoTypes/{stored_info_type}'
+ ),
+ };
+
+ // Some of the methods on this service return "paged" results,
+ // (e.g. 50 results at a time, with tokens to get subsequent
+ // pages). Denote the keys used for pagination and results.
+ this.descriptors.page = {
+ listInspectTemplates:
+ new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'inspectTemplates'),
+ listDeidentifyTemplates:
+ new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'deidentifyTemplates'),
+ listJobTriggers:
+ new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'jobTriggers'),
+ listDlpJobs:
+ new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'jobs'),
+ listStoredInfoTypes:
+ new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'storedInfoTypes')
+ };
+
+ // Put together the default options sent with requests.
+ this._defaults = this._gaxGrpc.constructSettings(
+ 'google.privacy.dlp.v2.DlpService', gapicConfig as gax.ClientConfig,
+ opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+
+ // Set up a dictionary of "inner API calls"; the core implementation
+ // of calling the API is handled in `google-gax`, with this code
+ // merely providing the destination and request information.
+ this.innerApiCalls = {};
+ }
+
+ /**
+ * Initialize the client.
+ * Performs asynchronous operations (such as authentication) and prepares the client.
+ * This function will be called automatically when any class method is called for the
+ * first time, but if you need to initialize it before calling an actual method,
+ * feel free to call initialize() directly.
+ *
+ * You can await on this method if you want to make sure the client is initialized.
+ *
+ * @returns {Promise} A promise that resolves to an authenticated service stub.
+ */
+ initialize() {
+ // If the client stub promise is already initialized, return immediately.
+ if (this.dlpServiceStub) {
+ return this.dlpServiceStub;
+ }
+
+ // Put together the "service stub" for
+ // google.privacy.dlp.v2.DlpService.
+ this.dlpServiceStub = this._gaxGrpc.createStub(
+ this._opts.fallback ?
+ (this._protos as protobuf.Root).lookupService('google.privacy.dlp.v2.DlpService') :
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ (this._protos as any).google.privacy.dlp.v2.DlpService,
+ this._opts) as Promise<{[method: string]: Function}>;
+
+ // Iterate over each of the methods that the service provides
+ // and create an API call method for each.
+ const dlpServiceStubMethods =
+ ['inspectContent', 'redactImage', 'deidentifyContent', 'reidentifyContent', 'listInfoTypes', 'createInspectTemplate', 'updateInspectTemplate', 'getInspectTemplate', 'listInspectTemplates', 'deleteInspectTemplate', 'createDeidentifyTemplate', 'updateDeidentifyTemplate', 'getDeidentifyTemplate', 'listDeidentifyTemplates', 'deleteDeidentifyTemplate', 'createJobTrigger', 'updateJobTrigger', 'hybridInspectJobTrigger', 'getJobTrigger', 'listJobTriggers', 'deleteJobTrigger', 'activateJobTrigger', 'createDlpJob', 'listDlpJobs', 'getDlpJob', 'deleteDlpJob', 'cancelDlpJob', 'createStoredInfoType', 'updateStoredInfoType', 'getStoredInfoType', 'listStoredInfoTypes', 'deleteStoredInfoType', 'hybridInspectDlpJob', 'finishDlpJob'];
+ for (const methodName of dlpServiceStubMethods) {
+ const callPromise = this.dlpServiceStub.then(
+ stub => (...args: Array<{}>) => {
+ if (this._terminated) {
+ return Promise.reject('The client has already been closed.');
+ }
+ const func = stub[methodName];
+ return func.apply(stub, args);
+ },
+ (err: Error|null|undefined) => () => {
+ throw err;
+ });
+
+ const descriptor =
+ this.descriptors.page[methodName] ||
+ undefined;
+ const apiCall = this._gaxModule.createApiCall(
+ callPromise,
+ this._defaults[methodName],
+ descriptor
+ );
+
+ this.innerApiCalls[methodName] = apiCall;
+ }
+
+ return this.dlpServiceStub;
+ }
+
+ /**
+ * The DNS address for this API service.
+ * @returns {string} The DNS address for this service.
+ */
+ static get servicePath() {
+ return 'dlp.googleapis.com';
+ }
+
+ /**
+ * The DNS address for this API service - same as servicePath(),
+ * exists for compatibility reasons.
+ * @returns {string} The DNS address for this service.
+ */
+ static get apiEndpoint() {
+ return 'dlp.googleapis.com';
+ }
+
+ /**
+ * The port for this API service.
+ * @returns {number} The default port for this service.
+ */
+ static get port() {
+ return 443;
+ }
+
+ /**
+ * The scopes needed to make gRPC calls for every method defined
+ * in this service.
+ * @returns {string[]} List of default scopes.
+ */
+ static get scopes() {
+ return [
+ 'https://www.googleapis.com/auth/cloud-platform'
+ ];
+ }
+
+ getProjectId(): Promise;
+ getProjectId(callback: Callback): void;
+ /**
+ * Return the project ID used by this class.
+ * @returns {Promise} A promise that resolves to string containing the project ID.
+ */
+ getProjectId(callback?: Callback):
+ Promise|void {
+ if (callback) {
+ this.auth.getProjectId(callback);
+ return;
+ }
+ return this.auth.getProjectId();
+ }
+
+ // -------------------
+ // -- Service calls --
+ // -------------------
+ inspectContent(
+ request: protos.google.privacy.dlp.v2.IInspectContentRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IInspectContentResponse,
+ protos.google.privacy.dlp.v2.IInspectContentRequest|undefined, {}|undefined
+ ]>;
+ inspectContent(
+ request: protos.google.privacy.dlp.v2.IInspectContentRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IInspectContentResponse,
+ protos.google.privacy.dlp.v2.IInspectContentRequest|null|undefined,
+ {}|null|undefined>): void;
+ inspectContent(
+ request: protos.google.privacy.dlp.v2.IInspectContentRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IInspectContentResponse,
+ protos.google.privacy.dlp.v2.IInspectContentRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Finds potentially sensitive info in content.
+ * This method has limits on input size, processing time, and output size.
+ *
+ * When no InfoTypes or CustomInfoTypes are specified in this request, the
+ * system will automatically choose what detectors to run. By default this may
+ * be all types, but may change over time as detectors are updated.
+ *
+ * For how to guides, see https://cloud.google.com/dlp/docs/inspecting-images
+ * and https://cloud.google.com/dlp/docs/inspecting-text,
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Parent resource name.
+ *
+ * The format of this value varies depending on whether you have [specified a
+ * processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {google.privacy.dlp.v2.InspectConfig} request.inspectConfig
+ * Configuration for the inspector. What specified here will override
+ * the template referenced by the inspect_template_name argument.
+ * @param {google.privacy.dlp.v2.ContentItem} request.item
+ * The item to inspect.
+ * @param {string} request.inspectTemplateName
+ * Template to use. Any configuration directly specified in
+ * inspect_config will override those set in the template. Singular fields
+ * that are set in this request will replace their corresponding fields in the
+ * template. Repeated fields are appended. Singular sub-messages and groups
+ * are recursively merged.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [InspectContentResponse]{@link google.privacy.dlp.v2.InspectContentResponse}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.inspectContent(request);
+ */
+ inspectContent(
+ request: protos.google.privacy.dlp.v2.IInspectContentRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IInspectContentResponse,
+ protos.google.privacy.dlp.v2.IInspectContentRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IInspectContentResponse,
+ protos.google.privacy.dlp.v2.IInspectContentRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IInspectContentResponse,
+ protos.google.privacy.dlp.v2.IInspectContentRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.inspectContent(request, options, callback);
+ }
+ redactImage(
+ request: protos.google.privacy.dlp.v2.IRedactImageRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IRedactImageResponse,
+ protos.google.privacy.dlp.v2.IRedactImageRequest|undefined, {}|undefined
+ ]>;
+ redactImage(
+ request: protos.google.privacy.dlp.v2.IRedactImageRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IRedactImageResponse,
+ protos.google.privacy.dlp.v2.IRedactImageRequest|null|undefined,
+ {}|null|undefined>): void;
+ redactImage(
+ request: protos.google.privacy.dlp.v2.IRedactImageRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IRedactImageResponse,
+ protos.google.privacy.dlp.v2.IRedactImageRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Redacts potentially sensitive info from an image.
+ * This method has limits on input size, processing time, and output size.
+ * See https://cloud.google.com/dlp/docs/redacting-sensitive-data-images to
+ * learn more.
+ *
+ * When no InfoTypes or CustomInfoTypes are specified in this request, the
+ * system will automatically choose what detectors to run. By default this may
+ * be all types, but may change over time as detectors are updated.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Parent resource name.
+ *
+ * The format of this value varies depending on whether you have [specified a
+ * processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {google.privacy.dlp.v2.InspectConfig} request.inspectConfig
+ * Configuration for the inspector.
+ * @param {number[]} request.imageRedactionConfigs
+ * The configuration for specifying what content to redact from images.
+ * @param {boolean} request.includeFindings
+ * Whether the response should include findings along with the redacted
+ * image.
+ * @param {google.privacy.dlp.v2.ByteContentItem} request.byteItem
+ * The content must be PNG, JPEG, SVG or BMP.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [RedactImageResponse]{@link google.privacy.dlp.v2.RedactImageResponse}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.redactImage(request);
+ */
+ redactImage(
+ request: protos.google.privacy.dlp.v2.IRedactImageRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IRedactImageResponse,
+ protos.google.privacy.dlp.v2.IRedactImageRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IRedactImageResponse,
+ protos.google.privacy.dlp.v2.IRedactImageRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IRedactImageResponse,
+ protos.google.privacy.dlp.v2.IRedactImageRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.redactImage(request, options, callback);
+ }
+ deidentifyContent(
+ request: protos.google.privacy.dlp.v2.IDeidentifyContentRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDeidentifyContentResponse,
+ protos.google.privacy.dlp.v2.IDeidentifyContentRequest|undefined, {}|undefined
+ ]>;
+ deidentifyContent(
+ request: protos.google.privacy.dlp.v2.IDeidentifyContentRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyContentResponse,
+ protos.google.privacy.dlp.v2.IDeidentifyContentRequest|null|undefined,
+ {}|null|undefined>): void;
+ deidentifyContent(
+ request: protos.google.privacy.dlp.v2.IDeidentifyContentRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyContentResponse,
+ protos.google.privacy.dlp.v2.IDeidentifyContentRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * De-identifies potentially sensitive info from a ContentItem.
+ * This method has limits on input size and output size.
+ * See https://cloud.google.com/dlp/docs/deidentify-sensitive-data to
+ * learn more.
+ *
+ * When no InfoTypes or CustomInfoTypes are specified in this request, the
+ * system will automatically choose what detectors to run. By default this may
+ * be all types, but may change over time as detectors are updated.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Parent resource name.
+ *
+ * The format of this value varies depending on whether you have [specified a
+ * processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {google.privacy.dlp.v2.DeidentifyConfig} request.deidentifyConfig
+ * Configuration for the de-identification of the content item.
+ * Items specified here will override the template referenced by the
+ * deidentify_template_name argument.
+ * @param {google.privacy.dlp.v2.InspectConfig} request.inspectConfig
+ * Configuration for the inspector.
+ * Items specified here will override the template referenced by the
+ * inspect_template_name argument.
+ * @param {google.privacy.dlp.v2.ContentItem} request.item
+ * The item to de-identify. Will be treated as text.
+ * @param {string} request.inspectTemplateName
+ * Template to use. Any configuration directly specified in
+ * inspect_config will override those set in the template. Singular fields
+ * that are set in this request will replace their corresponding fields in the
+ * template. Repeated fields are appended. Singular sub-messages and groups
+ * are recursively merged.
+ * @param {string} request.deidentifyTemplateName
+ * Template to use. Any configuration directly specified in
+ * deidentify_config will override those set in the template. Singular fields
+ * that are set in this request will replace their corresponding fields in the
+ * template. Repeated fields are appended. Singular sub-messages and groups
+ * are recursively merged.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [DeidentifyContentResponse]{@link google.privacy.dlp.v2.DeidentifyContentResponse}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.deidentifyContent(request);
+ */
+ deidentifyContent(
+ request: protos.google.privacy.dlp.v2.IDeidentifyContentRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyContentResponse,
+ protos.google.privacy.dlp.v2.IDeidentifyContentRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyContentResponse,
+ protos.google.privacy.dlp.v2.IDeidentifyContentRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDeidentifyContentResponse,
+ protos.google.privacy.dlp.v2.IDeidentifyContentRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.deidentifyContent(request, options, callback);
+ }
+ reidentifyContent(
+ request: protos.google.privacy.dlp.v2.IReidentifyContentRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IReidentifyContentResponse,
+ protos.google.privacy.dlp.v2.IReidentifyContentRequest|undefined, {}|undefined
+ ]>;
+ reidentifyContent(
+ request: protos.google.privacy.dlp.v2.IReidentifyContentRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IReidentifyContentResponse,
+ protos.google.privacy.dlp.v2.IReidentifyContentRequest|null|undefined,
+ {}|null|undefined>): void;
+ reidentifyContent(
+ request: protos.google.privacy.dlp.v2.IReidentifyContentRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IReidentifyContentResponse,
+ protos.google.privacy.dlp.v2.IReidentifyContentRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Re-identifies content that has been de-identified.
+ * See
+ * https://cloud.google.com/dlp/docs/pseudonymization#re-identification_in_free_text_code_example
+ * to learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on whether you have [specified a
+ * processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {google.privacy.dlp.v2.DeidentifyConfig} request.reidentifyConfig
+ * Configuration for the re-identification of the content item.
+ * This field shares the same proto message type that is used for
+ * de-identification, however its usage here is for the reversal of the
+ * previous de-identification. Re-identification is performed by examining
+ * the transformations used to de-identify the items and executing the
+ * reverse. This requires that only reversible transformations
+ * be provided here. The reversible transformations are:
+ *
+ * - `CryptoDeterministicConfig`
+ * - `CryptoReplaceFfxFpeConfig`
+ * @param {google.privacy.dlp.v2.InspectConfig} request.inspectConfig
+ * Configuration for the inspector.
+ * @param {google.privacy.dlp.v2.ContentItem} request.item
+ * The item to re-identify. Will be treated as text.
+ * @param {string} request.inspectTemplateName
+ * Template to use. Any configuration directly specified in
+ * `inspect_config` will override those set in the template. Singular fields
+ * that are set in this request will replace their corresponding fields in the
+ * template. Repeated fields are appended. Singular sub-messages and groups
+ * are recursively merged.
+ * @param {string} request.reidentifyTemplateName
+ * Template to use. References an instance of `DeidentifyTemplate`.
+ * Any configuration directly specified in `reidentify_config` or
+ * `inspect_config` will override those set in the template. The
+ * `DeidentifyTemplate` used must include only reversible transformations.
+ * Singular fields that are set in this request will replace their
+ * corresponding fields in the template. Repeated fields are appended.
+ * Singular sub-messages and groups are recursively merged.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [ReidentifyContentResponse]{@link google.privacy.dlp.v2.ReidentifyContentResponse}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.reidentifyContent(request);
+ */
+ reidentifyContent(
+ request: protos.google.privacy.dlp.v2.IReidentifyContentRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IReidentifyContentResponse,
+ protos.google.privacy.dlp.v2.IReidentifyContentRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IReidentifyContentResponse,
+ protos.google.privacy.dlp.v2.IReidentifyContentRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IReidentifyContentResponse,
+ protos.google.privacy.dlp.v2.IReidentifyContentRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.reidentifyContent(request, options, callback);
+ }
+ listInfoTypes(
+ request: protos.google.privacy.dlp.v2.IListInfoTypesRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IListInfoTypesResponse,
+ protos.google.privacy.dlp.v2.IListInfoTypesRequest|undefined, {}|undefined
+ ]>;
+ listInfoTypes(
+ request: protos.google.privacy.dlp.v2.IListInfoTypesRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IListInfoTypesResponse,
+ protos.google.privacy.dlp.v2.IListInfoTypesRequest|null|undefined,
+ {}|null|undefined>): void;
+ listInfoTypes(
+ request: protos.google.privacy.dlp.v2.IListInfoTypesRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IListInfoTypesResponse,
+ protos.google.privacy.dlp.v2.IListInfoTypesRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Returns a list of the sensitive information types that the DLP API
+ * supports. See https://cloud.google.com/dlp/docs/infotypes-reference to
+ * learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * The parent resource name.
+ *
+ * The format of this value is as follows:
+ *
+ * locations/LOCATION_ID
+ * @param {string} request.languageCode
+ * BCP-47 language code for localized infoType friendly
+ * names. If omitted, or if localized strings are not available,
+ * en-US strings will be returned.
+ * @param {string} request.filter
+ * filter to only return infoTypes supported by certain parts of the
+ * API. Defaults to supported_by=INSPECT.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [ListInfoTypesResponse]{@link google.privacy.dlp.v2.ListInfoTypesResponse}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.listInfoTypes(request);
+ */
+ listInfoTypes(
+ request: protos.google.privacy.dlp.v2.IListInfoTypesRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IListInfoTypesResponse,
+ protos.google.privacy.dlp.v2.IListInfoTypesRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IListInfoTypesResponse,
+ protos.google.privacy.dlp.v2.IListInfoTypesRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IListInfoTypesResponse,
+ protos.google.privacy.dlp.v2.IListInfoTypesRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.listInfoTypes(request, options, callback);
+ }
+ createInspectTemplate(
+ request: protos.google.privacy.dlp.v2.ICreateInspectTemplateRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.ICreateInspectTemplateRequest|undefined, {}|undefined
+ ]>;
+ createInspectTemplate(
+ request: protos.google.privacy.dlp.v2.ICreateInspectTemplateRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.ICreateInspectTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+ createInspectTemplate(
+ request: protos.google.privacy.dlp.v2.ICreateInspectTemplateRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.ICreateInspectTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Creates an InspectTemplate for re-using frequently used configuration
+ * for inspecting content, images, and storage.
+ * See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on the scope of the request
+ * (project or organization) and whether you have [specified a processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ * + Organizations scope, location specified:
+ * `organizations/`ORG_ID`/locations/`LOCATION_ID
+ * + Organizations scope, no location specified (defaults to global):
+ * `organizations/`ORG_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {google.privacy.dlp.v2.InspectTemplate} request.inspectTemplate
+ * Required. The InspectTemplate to create.
+ * @param {string} request.templateId
+ * The template id can contain uppercase and lowercase letters,
+ * numbers, and hyphens; that is, it must match the regular
+ * expression: `[a-zA-Z\d-_]+`. The maximum length is 100
+ * characters. Can be empty to allow the system to generate one.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [InspectTemplate]{@link google.privacy.dlp.v2.InspectTemplate}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.createInspectTemplate(request);
+ */
+ createInspectTemplate(
+ request: protos.google.privacy.dlp.v2.ICreateInspectTemplateRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.ICreateInspectTemplateRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.ICreateInspectTemplateRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.ICreateInspectTemplateRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.createInspectTemplate(request, options, callback);
+ }
+ updateInspectTemplate(
+ request: protos.google.privacy.dlp.v2.IUpdateInspectTemplateRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.IUpdateInspectTemplateRequest|undefined, {}|undefined
+ ]>;
+ updateInspectTemplate(
+ request: protos.google.privacy.dlp.v2.IUpdateInspectTemplateRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.IUpdateInspectTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+ updateInspectTemplate(
+ request: protos.google.privacy.dlp.v2.IUpdateInspectTemplateRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.IUpdateInspectTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Updates the InspectTemplate.
+ * See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. Resource name of organization and inspectTemplate to be updated, for
+ * example `organizations/433245324/inspectTemplates/432452342` or
+ * projects/project-id/inspectTemplates/432452342.
+ * @param {google.privacy.dlp.v2.InspectTemplate} request.inspectTemplate
+ * New InspectTemplate value.
+ * @param {google.protobuf.FieldMask} request.updateMask
+ * Mask to control which fields get updated.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [InspectTemplate]{@link google.privacy.dlp.v2.InspectTemplate}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.updateInspectTemplate(request);
+ */
+ updateInspectTemplate(
+ request: protos.google.privacy.dlp.v2.IUpdateInspectTemplateRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.IUpdateInspectTemplateRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.IUpdateInspectTemplateRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.IUpdateInspectTemplateRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.updateInspectTemplate(request, options, callback);
+ }
+ getInspectTemplate(
+ request: protos.google.privacy.dlp.v2.IGetInspectTemplateRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.IGetInspectTemplateRequest|undefined, {}|undefined
+ ]>;
+ getInspectTemplate(
+ request: protos.google.privacy.dlp.v2.IGetInspectTemplateRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.IGetInspectTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+ getInspectTemplate(
+ request: protos.google.privacy.dlp.v2.IGetInspectTemplateRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.IGetInspectTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Gets an InspectTemplate.
+ * See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. Resource name of the organization and inspectTemplate to be read, for
+ * example `organizations/433245324/inspectTemplates/432452342` or
+ * projects/project-id/inspectTemplates/432452342.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [InspectTemplate]{@link google.privacy.dlp.v2.InspectTemplate}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.getInspectTemplate(request);
+ */
+ getInspectTemplate(
+ request: protos.google.privacy.dlp.v2.IGetInspectTemplateRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.IGetInspectTemplateRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.IGetInspectTemplateRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IInspectTemplate,
+ protos.google.privacy.dlp.v2.IGetInspectTemplateRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.getInspectTemplate(request, options, callback);
+ }
+ deleteInspectTemplate(
+ request: protos.google.privacy.dlp.v2.IDeleteInspectTemplateRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteInspectTemplateRequest|undefined, {}|undefined
+ ]>;
+ deleteInspectTemplate(
+ request: protos.google.privacy.dlp.v2.IDeleteInspectTemplateRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteInspectTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+ deleteInspectTemplate(
+ request: protos.google.privacy.dlp.v2.IDeleteInspectTemplateRequest,
+ callback: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteInspectTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Deletes an InspectTemplate.
+ * See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. Resource name of the organization and inspectTemplate to be deleted, for
+ * example `organizations/433245324/inspectTemplates/432452342` or
+ * projects/project-id/inspectTemplates/432452342.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.deleteInspectTemplate(request);
+ */
+ deleteInspectTemplate(
+ request: protos.google.privacy.dlp.v2.IDeleteInspectTemplateRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteInspectTemplateRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteInspectTemplateRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteInspectTemplateRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.deleteInspectTemplate(request, options, callback);
+ }
+ createDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest|undefined, {}|undefined
+ ]>;
+ createDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+ createDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Creates a DeidentifyTemplate for re-using frequently used configuration
+ * for de-identifying content, images, and storage.
+ * See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
+ * more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on the scope of the request
+ * (project or organization) and whether you have [specified a processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ * + Organizations scope, location specified:
+ * `organizations/`ORG_ID`/locations/`LOCATION_ID
+ * + Organizations scope, no location specified (defaults to global):
+ * `organizations/`ORG_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {google.privacy.dlp.v2.DeidentifyTemplate} request.deidentifyTemplate
+ * Required. The DeidentifyTemplate to create.
+ * @param {string} request.templateId
+ * The template id can contain uppercase and lowercase letters,
+ * numbers, and hyphens; that is, it must match the regular
+ * expression: `[a-zA-Z\d-_]+`. The maximum length is 100
+ * characters. Can be empty to allow the system to generate one.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [DeidentifyTemplate]{@link google.privacy.dlp.v2.DeidentifyTemplate}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.createDeidentifyTemplate(request);
+ */
+ createDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.createDeidentifyTemplate(request, options, callback);
+ }
+ updateDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest|undefined, {}|undefined
+ ]>;
+ updateDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+ updateDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Updates the DeidentifyTemplate.
+ * See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
+ * more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. Resource name of organization and deidentify template to be updated, for
+ * example `organizations/433245324/deidentifyTemplates/432452342` or
+ * projects/project-id/deidentifyTemplates/432452342.
+ * @param {google.privacy.dlp.v2.DeidentifyTemplate} request.deidentifyTemplate
+ * New DeidentifyTemplate value.
+ * @param {google.protobuf.FieldMask} request.updateMask
+ * Mask to control which fields get updated.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [DeidentifyTemplate]{@link google.privacy.dlp.v2.DeidentifyTemplate}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.updateDeidentifyTemplate(request);
+ */
+ updateDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.updateDeidentifyTemplate(request, options, callback);
+ }
+ getDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.IGetDeidentifyTemplateRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.IGetDeidentifyTemplateRequest|undefined, {}|undefined
+ ]>;
+ getDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.IGetDeidentifyTemplateRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.IGetDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+ getDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.IGetDeidentifyTemplateRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.IGetDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Gets a DeidentifyTemplate.
+ * See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
+ * more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. Resource name of the organization and deidentify template to be read, for
+ * example `organizations/433245324/deidentifyTemplates/432452342` or
+ * projects/project-id/deidentifyTemplates/432452342.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [DeidentifyTemplate]{@link google.privacy.dlp.v2.DeidentifyTemplate}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.getDeidentifyTemplate(request);
+ */
+ getDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.IGetDeidentifyTemplateRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.IGetDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.IGetDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate,
+ protos.google.privacy.dlp.v2.IGetDeidentifyTemplateRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.getDeidentifyTemplate(request, options, callback);
+ }
+ deleteDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest|undefined, {}|undefined
+ ]>;
+ deleteDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+ deleteDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest,
+ callback: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Deletes a DeidentifyTemplate.
+ * See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
+ * more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. Resource name of the organization and deidentify template to be deleted,
+ * for example `organizations/433245324/deidentifyTemplates/432452342` or
+ * projects/project-id/deidentifyTemplates/432452342.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.deleteDeidentifyTemplate(request);
+ */
+ deleteDeidentifyTemplate(
+ request: protos.google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.deleteDeidentifyTemplate(request, options, callback);
+ }
+ createJobTrigger(
+ request: protos.google.privacy.dlp.v2.ICreateJobTriggerRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.ICreateJobTriggerRequest|undefined, {}|undefined
+ ]>;
+ createJobTrigger(
+ request: protos.google.privacy.dlp.v2.ICreateJobTriggerRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.ICreateJobTriggerRequest|null|undefined,
+ {}|null|undefined>): void;
+ createJobTrigger(
+ request: protos.google.privacy.dlp.v2.ICreateJobTriggerRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.ICreateJobTriggerRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Creates a job trigger to run DLP actions such as scanning storage for
+ * sensitive information on a set schedule.
+ * See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on whether you have [specified a
+ * processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {google.privacy.dlp.v2.JobTrigger} request.jobTrigger
+ * Required. The JobTrigger to create.
+ * @param {string} request.triggerId
+ * The trigger id can contain uppercase and lowercase letters,
+ * numbers, and hyphens; that is, it must match the regular
+ * expression: `[a-zA-Z\d-_]+`. The maximum length is 100
+ * characters. Can be empty to allow the system to generate one.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [JobTrigger]{@link google.privacy.dlp.v2.JobTrigger}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.createJobTrigger(request);
+ */
+ createJobTrigger(
+ request: protos.google.privacy.dlp.v2.ICreateJobTriggerRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.ICreateJobTriggerRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.ICreateJobTriggerRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.ICreateJobTriggerRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.createJobTrigger(request, options, callback);
+ }
+ updateJobTrigger(
+ request: protos.google.privacy.dlp.v2.IUpdateJobTriggerRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.IUpdateJobTriggerRequest|undefined, {}|undefined
+ ]>;
+ updateJobTrigger(
+ request: protos.google.privacy.dlp.v2.IUpdateJobTriggerRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.IUpdateJobTriggerRequest|null|undefined,
+ {}|null|undefined>): void;
+ updateJobTrigger(
+ request: protos.google.privacy.dlp.v2.IUpdateJobTriggerRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.IUpdateJobTriggerRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Updates a job trigger.
+ * See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. Resource name of the project and the triggeredJob, for example
+ * `projects/dlp-test-project/jobTriggers/53234423`.
+ * @param {google.privacy.dlp.v2.JobTrigger} request.jobTrigger
+ * New JobTrigger value.
+ * @param {google.protobuf.FieldMask} request.updateMask
+ * Mask to control which fields get updated.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [JobTrigger]{@link google.privacy.dlp.v2.JobTrigger}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.updateJobTrigger(request);
+ */
+ updateJobTrigger(
+ request: protos.google.privacy.dlp.v2.IUpdateJobTriggerRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.IUpdateJobTriggerRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.IUpdateJobTriggerRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.IUpdateJobTriggerRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.updateJobTrigger(request, options, callback);
+ }
+ hybridInspectJobTrigger(
+ request: protos.google.privacy.dlp.v2.IHybridInspectJobTriggerRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IHybridInspectResponse,
+ protos.google.privacy.dlp.v2.IHybridInspectJobTriggerRequest|undefined, {}|undefined
+ ]>;
+ hybridInspectJobTrigger(
+ request: protos.google.privacy.dlp.v2.IHybridInspectJobTriggerRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IHybridInspectResponse,
+ protos.google.privacy.dlp.v2.IHybridInspectJobTriggerRequest|null|undefined,
+ {}|null|undefined>): void;
+ hybridInspectJobTrigger(
+ request: protos.google.privacy.dlp.v2.IHybridInspectJobTriggerRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IHybridInspectResponse,
+ protos.google.privacy.dlp.v2.IHybridInspectJobTriggerRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Inspect hybrid content and store findings to a trigger. The inspection
+ * will be processed asynchronously. To review the findings monitor the
+ * jobs within the trigger.
+ * Early access feature is in a pre-release state and might change or have
+ * limited support. For more information, see
+ * https://cloud.google.com/products#product-launch-stages.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. Resource name of the trigger to execute a hybrid inspect on, for example
+ * `projects/dlp-test-project/jobTriggers/53234423`.
+ * @param {google.privacy.dlp.v2.HybridContentItem} request.hybridItem
+ * The item to inspect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [HybridInspectResponse]{@link google.privacy.dlp.v2.HybridInspectResponse}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.hybridInspectJobTrigger(request);
+ */
+ hybridInspectJobTrigger(
+ request: protos.google.privacy.dlp.v2.IHybridInspectJobTriggerRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IHybridInspectResponse,
+ protos.google.privacy.dlp.v2.IHybridInspectJobTriggerRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IHybridInspectResponse,
+ protos.google.privacy.dlp.v2.IHybridInspectJobTriggerRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IHybridInspectResponse,
+ protos.google.privacy.dlp.v2.IHybridInspectJobTriggerRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.hybridInspectJobTrigger(request, options, callback);
+ }
+ getJobTrigger(
+ request: protos.google.privacy.dlp.v2.IGetJobTriggerRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.IGetJobTriggerRequest|undefined, {}|undefined
+ ]>;
+ getJobTrigger(
+ request: protos.google.privacy.dlp.v2.IGetJobTriggerRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.IGetJobTriggerRequest|null|undefined,
+ {}|null|undefined>): void;
+ getJobTrigger(
+ request: protos.google.privacy.dlp.v2.IGetJobTriggerRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.IGetJobTriggerRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Gets a job trigger.
+ * See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. Resource name of the project and the triggeredJob, for example
+ * `projects/dlp-test-project/jobTriggers/53234423`.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [JobTrigger]{@link google.privacy.dlp.v2.JobTrigger}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.getJobTrigger(request);
+ */
+ getJobTrigger(
+ request: protos.google.privacy.dlp.v2.IGetJobTriggerRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.IGetJobTriggerRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.IGetJobTriggerRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IJobTrigger,
+ protos.google.privacy.dlp.v2.IGetJobTriggerRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.getJobTrigger(request, options, callback);
+ }
+ deleteJobTrigger(
+ request: protos.google.privacy.dlp.v2.IDeleteJobTriggerRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteJobTriggerRequest|undefined, {}|undefined
+ ]>;
+ deleteJobTrigger(
+ request: protos.google.privacy.dlp.v2.IDeleteJobTriggerRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteJobTriggerRequest|null|undefined,
+ {}|null|undefined>): void;
+ deleteJobTrigger(
+ request: protos.google.privacy.dlp.v2.IDeleteJobTriggerRequest,
+ callback: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteJobTriggerRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Deletes a job trigger.
+ * See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. Resource name of the project and the triggeredJob, for example
+ * `projects/dlp-test-project/jobTriggers/53234423`.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.deleteJobTrigger(request);
+ */
+ deleteJobTrigger(
+ request: protos.google.privacy.dlp.v2.IDeleteJobTriggerRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteJobTriggerRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteJobTriggerRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteJobTriggerRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.deleteJobTrigger(request, options, callback);
+ }
+ activateJobTrigger(
+ request: protos.google.privacy.dlp.v2.IActivateJobTriggerRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.IActivateJobTriggerRequest|undefined, {}|undefined
+ ]>;
+ activateJobTrigger(
+ request: protos.google.privacy.dlp.v2.IActivateJobTriggerRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.IActivateJobTriggerRequest|null|undefined,
+ {}|null|undefined>): void;
+ activateJobTrigger(
+ request: protos.google.privacy.dlp.v2.IActivateJobTriggerRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.IActivateJobTriggerRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Activate a job trigger. Causes the immediate execute of a trigger
+ * instead of waiting on the trigger event to occur.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. Resource name of the trigger to activate, for example
+ * `projects/dlp-test-project/jobTriggers/53234423`.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [DlpJob]{@link google.privacy.dlp.v2.DlpJob}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.activateJobTrigger(request);
+ */
+ activateJobTrigger(
+ request: protos.google.privacy.dlp.v2.IActivateJobTriggerRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.IActivateJobTriggerRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.IActivateJobTriggerRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.IActivateJobTriggerRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.activateJobTrigger(request, options, callback);
+ }
+ createDlpJob(
+ request: protos.google.privacy.dlp.v2.ICreateDlpJobRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.ICreateDlpJobRequest|undefined, {}|undefined
+ ]>;
+ createDlpJob(
+ request: protos.google.privacy.dlp.v2.ICreateDlpJobRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.ICreateDlpJobRequest|null|undefined,
+ {}|null|undefined>): void;
+ createDlpJob(
+ request: protos.google.privacy.dlp.v2.ICreateDlpJobRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.ICreateDlpJobRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Creates a new job to inspect storage or calculate risk metrics.
+ * See https://cloud.google.com/dlp/docs/inspecting-storage and
+ * https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+ *
+ * When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the
+ * system will automatically choose what detectors to run. By default this may
+ * be all types, but may change over time as detectors are updated.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on whether you have [specified a
+ * processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {google.privacy.dlp.v2.InspectJobConfig} request.inspectJob
+ * Set to control what and how to inspect.
+ * @param {google.privacy.dlp.v2.RiskAnalysisJobConfig} request.riskJob
+ * Set to choose what metric to calculate.
+ * @param {string} request.jobId
+ * The job id can contain uppercase and lowercase letters,
+ * numbers, and hyphens; that is, it must match the regular
+ * expression: `[a-zA-Z\d-_]+`. The maximum length is 100
+ * characters. Can be empty to allow the system to generate one.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [DlpJob]{@link google.privacy.dlp.v2.DlpJob}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.createDlpJob(request);
+ */
+ createDlpJob(
+ request: protos.google.privacy.dlp.v2.ICreateDlpJobRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.ICreateDlpJobRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.ICreateDlpJobRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.ICreateDlpJobRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.createDlpJob(request, options, callback);
+ }
+ getDlpJob(
+ request: protos.google.privacy.dlp.v2.IGetDlpJobRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.IGetDlpJobRequest|undefined, {}|undefined
+ ]>;
+ getDlpJob(
+ request: protos.google.privacy.dlp.v2.IGetDlpJobRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.IGetDlpJobRequest|null|undefined,
+ {}|null|undefined>): void;
+ getDlpJob(
+ request: protos.google.privacy.dlp.v2.IGetDlpJobRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.IGetDlpJobRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Gets the latest state of a long-running DlpJob.
+ * See https://cloud.google.com/dlp/docs/inspecting-storage and
+ * https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. The name of the DlpJob resource.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [DlpJob]{@link google.privacy.dlp.v2.DlpJob}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.getDlpJob(request);
+ */
+ getDlpJob(
+ request: protos.google.privacy.dlp.v2.IGetDlpJobRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.IGetDlpJobRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.IGetDlpJobRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDlpJob,
+ protos.google.privacy.dlp.v2.IGetDlpJobRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.getDlpJob(request, options, callback);
+ }
+ deleteDlpJob(
+ request: protos.google.privacy.dlp.v2.IDeleteDlpJobRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteDlpJobRequest|undefined, {}|undefined
+ ]>;
+ deleteDlpJob(
+ request: protos.google.privacy.dlp.v2.IDeleteDlpJobRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteDlpJobRequest|null|undefined,
+ {}|null|undefined>): void;
+ deleteDlpJob(
+ request: protos.google.privacy.dlp.v2.IDeleteDlpJobRequest,
+ callback: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteDlpJobRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Deletes a long-running DlpJob. This method indicates that the client is
+ * no longer interested in the DlpJob result. The job will be cancelled if
+ * possible.
+ * See https://cloud.google.com/dlp/docs/inspecting-storage and
+ * https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. The name of the DlpJob resource to be deleted.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.deleteDlpJob(request);
+ */
+ deleteDlpJob(
+ request: protos.google.privacy.dlp.v2.IDeleteDlpJobRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteDlpJobRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteDlpJobRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteDlpJobRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.deleteDlpJob(request, options, callback);
+ }
+ cancelDlpJob(
+ request: protos.google.privacy.dlp.v2.ICancelDlpJobRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.ICancelDlpJobRequest|undefined, {}|undefined
+ ]>;
+ cancelDlpJob(
+ request: protos.google.privacy.dlp.v2.ICancelDlpJobRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.ICancelDlpJobRequest|null|undefined,
+ {}|null|undefined>): void;
+ cancelDlpJob(
+ request: protos.google.privacy.dlp.v2.ICancelDlpJobRequest,
+ callback: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.ICancelDlpJobRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Starts asynchronous cancellation on a long-running DlpJob. The server
+ * makes a best effort to cancel the DlpJob, but success is not
+ * guaranteed.
+ * See https://cloud.google.com/dlp/docs/inspecting-storage and
+ * https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. The name of the DlpJob resource to be cancelled.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.cancelDlpJob(request);
+ */
+ cancelDlpJob(
+ request: protos.google.privacy.dlp.v2.ICancelDlpJobRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.ICancelDlpJobRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.ICancelDlpJobRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.ICancelDlpJobRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.cancelDlpJob(request, options, callback);
+ }
+ createStoredInfoType(
+ request: protos.google.privacy.dlp.v2.ICreateStoredInfoTypeRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.ICreateStoredInfoTypeRequest|undefined, {}|undefined
+ ]>;
+ createStoredInfoType(
+ request: protos.google.privacy.dlp.v2.ICreateStoredInfoTypeRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.ICreateStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>): void;
+ createStoredInfoType(
+ request: protos.google.privacy.dlp.v2.ICreateStoredInfoTypeRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.ICreateStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Creates a pre-built stored infoType to be used for inspection.
+ * See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
+ * learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on the scope of the request
+ * (project or organization) and whether you have [specified a processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ * + Organizations scope, location specified:
+ * `organizations/`ORG_ID`/locations/`LOCATION_ID
+ * + Organizations scope, no location specified (defaults to global):
+ * `organizations/`ORG_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {google.privacy.dlp.v2.StoredInfoTypeConfig} request.config
+ * Required. Configuration of the storedInfoType to create.
+ * @param {string} request.storedInfoTypeId
+ * The storedInfoType ID can contain uppercase and lowercase letters,
+ * numbers, and hyphens; that is, it must match the regular
+ * expression: `[a-zA-Z\d-_]+`. The maximum length is 100
+ * characters. Can be empty to allow the system to generate one.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [StoredInfoType]{@link google.privacy.dlp.v2.StoredInfoType}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.createStoredInfoType(request);
+ */
+ createStoredInfoType(
+ request: protos.google.privacy.dlp.v2.ICreateStoredInfoTypeRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.ICreateStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.ICreateStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.ICreateStoredInfoTypeRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.createStoredInfoType(request, options, callback);
+ }
+ updateStoredInfoType(
+ request: protos.google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest|undefined, {}|undefined
+ ]>;
+ updateStoredInfoType(
+ request: protos.google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>): void;
+ updateStoredInfoType(
+ request: protos.google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Updates the stored infoType by creating a new version. The existing version
+ * will continue to be used until the new version is ready.
+ * See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
+ * learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. Resource name of organization and storedInfoType to be updated, for
+ * example `organizations/433245324/storedInfoTypes/432452342` or
+ * projects/project-id/storedInfoTypes/432452342.
+ * @param {google.privacy.dlp.v2.StoredInfoTypeConfig} request.config
+ * Updated configuration for the storedInfoType. If not provided, a new
+ * version of the storedInfoType will be created with the existing
+ * configuration.
+ * @param {google.protobuf.FieldMask} request.updateMask
+ * Mask to control which fields get updated.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [StoredInfoType]{@link google.privacy.dlp.v2.StoredInfoType}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.updateStoredInfoType(request);
+ */
+ updateStoredInfoType(
+ request: protos.google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.updateStoredInfoType(request, options, callback);
+ }
+ getStoredInfoType(
+ request: protos.google.privacy.dlp.v2.IGetStoredInfoTypeRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.IGetStoredInfoTypeRequest|undefined, {}|undefined
+ ]>;
+ getStoredInfoType(
+ request: protos.google.privacy.dlp.v2.IGetStoredInfoTypeRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.IGetStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>): void;
+ getStoredInfoType(
+ request: protos.google.privacy.dlp.v2.IGetStoredInfoTypeRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.IGetStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Gets a stored infoType.
+ * See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
+ * learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. Resource name of the organization and storedInfoType to be read, for
+ * example `organizations/433245324/storedInfoTypes/432452342` or
+ * projects/project-id/storedInfoTypes/432452342.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [StoredInfoType]{@link google.privacy.dlp.v2.StoredInfoType}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.getStoredInfoType(request);
+ */
+ getStoredInfoType(
+ request: protos.google.privacy.dlp.v2.IGetStoredInfoTypeRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.IGetStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.IGetStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IStoredInfoType,
+ protos.google.privacy.dlp.v2.IGetStoredInfoTypeRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.getStoredInfoType(request, options, callback);
+ }
+ deleteStoredInfoType(
+ request: protos.google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest|undefined, {}|undefined
+ ]>;
+ deleteStoredInfoType(
+ request: protos.google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>): void;
+ deleteStoredInfoType(
+ request: protos.google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest,
+ callback: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Deletes a stored infoType.
+ * See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
+ * learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. Resource name of the organization and storedInfoType to be deleted, for
+ * example `organizations/433245324/storedInfoTypes/432452342` or
+ * projects/project-id/storedInfoTypes/432452342.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.deleteStoredInfoType(request);
+ */
+ deleteStoredInfoType(
+ request: protos.google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.deleteStoredInfoType(request, options, callback);
+ }
+ hybridInspectDlpJob(
+ request: protos.google.privacy.dlp.v2.IHybridInspectDlpJobRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IHybridInspectResponse,
+ protos.google.privacy.dlp.v2.IHybridInspectDlpJobRequest|undefined, {}|undefined
+ ]>;
+ hybridInspectDlpJob(
+ request: protos.google.privacy.dlp.v2.IHybridInspectDlpJobRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IHybridInspectResponse,
+ protos.google.privacy.dlp.v2.IHybridInspectDlpJobRequest|null|undefined,
+ {}|null|undefined>): void;
+ hybridInspectDlpJob(
+ request: protos.google.privacy.dlp.v2.IHybridInspectDlpJobRequest,
+ callback: Callback<
+ protos.google.privacy.dlp.v2.IHybridInspectResponse,
+ protos.google.privacy.dlp.v2.IHybridInspectDlpJobRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Inspect hybrid content and store findings to a job.
+ * To review the findings inspect the job. Inspection will occur
+ * asynchronously.
+ * Early access feature is in a pre-release state and might change or have
+ * limited support. For more information, see
+ * https://cloud.google.com/products#product-launch-stages.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. Resource name of the job to execute a hybrid inspect on, for example
+ * `projects/dlp-test-project/dlpJob/53234423`.
+ * @param {google.privacy.dlp.v2.HybridContentItem} request.hybridItem
+ * The item to inspect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [HybridInspectResponse]{@link google.privacy.dlp.v2.HybridInspectResponse}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.hybridInspectDlpJob(request);
+ */
+ hybridInspectDlpJob(
+ request: protos.google.privacy.dlp.v2.IHybridInspectDlpJobRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.privacy.dlp.v2.IHybridInspectResponse,
+ protos.google.privacy.dlp.v2.IHybridInspectDlpJobRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.privacy.dlp.v2.IHybridInspectResponse,
+ protos.google.privacy.dlp.v2.IHybridInspectDlpJobRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IHybridInspectResponse,
+ protos.google.privacy.dlp.v2.IHybridInspectDlpJobRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.hybridInspectDlpJob(request, options, callback);
+ }
+ finishDlpJob(
+ request: protos.google.privacy.dlp.v2.IFinishDlpJobRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IFinishDlpJobRequest|undefined, {}|undefined
+ ]>;
+ finishDlpJob(
+ request: protos.google.privacy.dlp.v2.IFinishDlpJobRequest,
+ options: CallOptions,
+ callback: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IFinishDlpJobRequest|null|undefined,
+ {}|null|undefined>): void;
+ finishDlpJob(
+ request: protos.google.privacy.dlp.v2.IFinishDlpJobRequest,
+ callback: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IFinishDlpJobRequest|null|undefined,
+ {}|null|undefined>): void;
+/**
+ * Finish a running hybrid DlpJob. Triggers the finalization steps and running
+ * of any enabled actions that have not yet run.
+ * Early access feature is in a pre-release state and might change or have
+ * limited support. For more information, see
+ * https://cloud.google.com/products#product-launch-stages.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.name
+ * Required. The name of the DlpJob resource to be cancelled.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is an object representing [Empty]{@link google.protobuf.Empty}.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods)
+ * for more details and examples.
+ * @example
+ * const [response] = await client.finishDlpJob(request);
+ */
+ finishDlpJob(
+ request: protos.google.privacy.dlp.v2.IFinishDlpJobRequest,
+ optionsOrCallback?: CallOptions|Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IFinishDlpJobRequest|null|undefined,
+ {}|null|undefined>,
+ callback?: Callback<
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IFinishDlpJobRequest|null|undefined,
+ {}|null|undefined>):
+ Promise<[
+ protos.google.protobuf.IEmpty,
+ protos.google.privacy.dlp.v2.IFinishDlpJobRequest|undefined, {}|undefined
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'name': request.name || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.finishDlpJob(request, options, callback);
+ }
+
+ listInspectTemplates(
+ request: protos.google.privacy.dlp.v2.IListInspectTemplatesRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IInspectTemplate[],
+ protos.google.privacy.dlp.v2.IListInspectTemplatesRequest|null,
+ protos.google.privacy.dlp.v2.IListInspectTemplatesResponse
+ ]>;
+ listInspectTemplates(
+ request: protos.google.privacy.dlp.v2.IListInspectTemplatesRequest,
+ options: CallOptions,
+ callback: PaginationCallback<
+ protos.google.privacy.dlp.v2.IListInspectTemplatesRequest,
+ protos.google.privacy.dlp.v2.IListInspectTemplatesResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IInspectTemplate>): void;
+ listInspectTemplates(
+ request: protos.google.privacy.dlp.v2.IListInspectTemplatesRequest,
+ callback: PaginationCallback<
+ protos.google.privacy.dlp.v2.IListInspectTemplatesRequest,
+ protos.google.privacy.dlp.v2.IListInspectTemplatesResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IInspectTemplate>): void;
+/**
+ * Lists InspectTemplates.
+ * See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on the scope of the request
+ * (project or organization) and whether you have [specified a processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ * + Organizations scope, location specified:
+ * `organizations/`ORG_ID`/locations/`LOCATION_ID
+ * + Organizations scope, no location specified (defaults to global):
+ * `organizations/`ORG_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.pageToken
+ * Page token to continue retrieval. Comes from previous call
+ * to `ListInspectTemplates`.
+ * @param {number} request.pageSize
+ * Size of the page, can be limited by server. If zero server returns
+ * a page of max size 100.
+ * @param {string} request.orderBy
+ * Comma separated list of fields to order by,
+ * followed by `asc` or `desc` postfix. This list is case-insensitive,
+ * default sorting order is ascending, redundant space characters are
+ * insignificant.
+ *
+ * Example: `name asc,update_time, create_time desc`
+ *
+ * Supported fields are:
+ *
+ * - `create_time`: corresponds to time the template was created.
+ * - `update_time`: corresponds to time the template was last updated.
+ * - `name`: corresponds to template's name.
+ * - `display_name`: corresponds to template's display name.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is Array of [InspectTemplate]{@link google.privacy.dlp.v2.InspectTemplate}.
+ * The client library will perform auto-pagination by default: it will call the API as many
+ * times as needed and will merge results from all the pages into this array.
+ * Note that it can affect your quota.
+ * We recommend using `listInspectTemplatesAsync()`
+ * method described below for async iteration which you can stop as needed.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination)
+ * for more details and examples.
+ */
+ listInspectTemplates(
+ request: protos.google.privacy.dlp.v2.IListInspectTemplatesRequest,
+ optionsOrCallback?: CallOptions|PaginationCallback<
+ protos.google.privacy.dlp.v2.IListInspectTemplatesRequest,
+ protos.google.privacy.dlp.v2.IListInspectTemplatesResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IInspectTemplate>,
+ callback?: PaginationCallback<
+ protos.google.privacy.dlp.v2.IListInspectTemplatesRequest,
+ protos.google.privacy.dlp.v2.IListInspectTemplatesResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IInspectTemplate>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IInspectTemplate[],
+ protos.google.privacy.dlp.v2.IListInspectTemplatesRequest|null,
+ protos.google.privacy.dlp.v2.IListInspectTemplatesResponse
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.listInspectTemplates(request, options, callback);
+ }
+
+/**
+ * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on the scope of the request
+ * (project or organization) and whether you have [specified a processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ * + Organizations scope, location specified:
+ * `organizations/`ORG_ID`/locations/`LOCATION_ID
+ * + Organizations scope, no location specified (defaults to global):
+ * `organizations/`ORG_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.pageToken
+ * Page token to continue retrieval. Comes from previous call
+ * to `ListInspectTemplates`.
+ * @param {number} request.pageSize
+ * Size of the page, can be limited by server. If zero server returns
+ * a page of max size 100.
+ * @param {string} request.orderBy
+ * Comma separated list of fields to order by,
+ * followed by `asc` or `desc` postfix. This list is case-insensitive,
+ * default sorting order is ascending, redundant space characters are
+ * insignificant.
+ *
+ * Example: `name asc,update_time, create_time desc`
+ *
+ * Supported fields are:
+ *
+ * - `create_time`: corresponds to time the template was created.
+ * - `update_time`: corresponds to time the template was last updated.
+ * - `name`: corresponds to template's name.
+ * - `display_name`: corresponds to template's display name.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Stream}
+ * An object stream which emits an object representing [InspectTemplate]{@link google.privacy.dlp.v2.InspectTemplate} on 'data' event.
+ * The client library will perform auto-pagination by default: it will call the API as many
+ * times as needed. Note that it can affect your quota.
+ * We recommend using `listInspectTemplatesAsync()`
+ * method described below for async iteration which you can stop as needed.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination)
+ * for more details and examples.
+ */
+ listInspectTemplatesStream(
+ request?: protos.google.privacy.dlp.v2.IListInspectTemplatesRequest,
+ options?: CallOptions):
+ Transform{
+ request = request || {};
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ const callSettings = new gax.CallSettings(options);
+ this.initialize();
+ return this.descriptors.page.listInspectTemplates.createStream(
+ this.innerApiCalls.listInspectTemplates as gax.GaxCall,
+ request,
+ callSettings
+ );
+ }
+
+/**
+ * Equivalent to `listInspectTemplates`, but returns an iterable object.
+ *
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on the scope of the request
+ * (project or organization) and whether you have [specified a processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ * + Organizations scope, location specified:
+ * `organizations/`ORG_ID`/locations/`LOCATION_ID
+ * + Organizations scope, no location specified (defaults to global):
+ * `organizations/`ORG_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.pageToken
+ * Page token to continue retrieval. Comes from previous call
+ * to `ListInspectTemplates`.
+ * @param {number} request.pageSize
+ * Size of the page, can be limited by server. If zero server returns
+ * a page of max size 100.
+ * @param {string} request.orderBy
+ * Comma separated list of fields to order by,
+ * followed by `asc` or `desc` postfix. This list is case-insensitive,
+ * default sorting order is ascending, redundant space characters are
+ * insignificant.
+ *
+ * Example: `name asc,update_time, create_time desc`
+ *
+ * Supported fields are:
+ *
+ * - `create_time`: corresponds to time the template was created.
+ * - `update_time`: corresponds to time the template was last updated.
+ * - `name`: corresponds to template's name.
+ * - `display_name`: corresponds to template's display name.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Object}
+ * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols).
+ * When you iterate the returned iterable, each element will be an object representing
+ * [InspectTemplate]{@link google.privacy.dlp.v2.InspectTemplate}. The API will be called under the hood as needed, once per the page,
+ * so you can stop the iteration when you don't need more results.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination)
+ * for more details and examples.
+ * @example
+ * const iterable = client.listInspectTemplatesAsync(request);
+ * for await (const response of iterable) {
+ * // process response
+ * }
+ */
+ listInspectTemplatesAsync(
+ request?: protos.google.privacy.dlp.v2.IListInspectTemplatesRequest,
+ options?: CallOptions):
+ AsyncIterable{
+ request = request || {};
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ options = options || {};
+ const callSettings = new gax.CallSettings(options);
+ this.initialize();
+ return this.descriptors.page.listInspectTemplates.asyncIterate(
+ this.innerApiCalls['listInspectTemplates'] as GaxCall,
+ request as unknown as RequestType,
+ callSettings
+ ) as AsyncIterable;
+ }
+ listDeidentifyTemplates(
+ request: protos.google.privacy.dlp.v2.IListDeidentifyTemplatesRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate[],
+ protos.google.privacy.dlp.v2.IListDeidentifyTemplatesRequest|null,
+ protos.google.privacy.dlp.v2.IListDeidentifyTemplatesResponse
+ ]>;
+ listDeidentifyTemplates(
+ request: protos.google.privacy.dlp.v2.IListDeidentifyTemplatesRequest,
+ options: CallOptions,
+ callback: PaginationCallback<
+ protos.google.privacy.dlp.v2.IListDeidentifyTemplatesRequest,
+ protos.google.privacy.dlp.v2.IListDeidentifyTemplatesResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate>): void;
+ listDeidentifyTemplates(
+ request: protos.google.privacy.dlp.v2.IListDeidentifyTemplatesRequest,
+ callback: PaginationCallback<
+ protos.google.privacy.dlp.v2.IListDeidentifyTemplatesRequest,
+ protos.google.privacy.dlp.v2.IListDeidentifyTemplatesResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate>): void;
+/**
+ * Lists DeidentifyTemplates.
+ * See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
+ * more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on the scope of the request
+ * (project or organization) and whether you have [specified a processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ * + Organizations scope, location specified:
+ * `organizations/`ORG_ID`/locations/`LOCATION_ID
+ * + Organizations scope, no location specified (defaults to global):
+ * `organizations/`ORG_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.pageToken
+ * Page token to continue retrieval. Comes from previous call
+ * to `ListDeidentifyTemplates`.
+ * @param {number} request.pageSize
+ * Size of the page, can be limited by server. If zero server returns
+ * a page of max size 100.
+ * @param {string} request.orderBy
+ * Comma separated list of fields to order by,
+ * followed by `asc` or `desc` postfix. This list is case-insensitive,
+ * default sorting order is ascending, redundant space characters are
+ * insignificant.
+ *
+ * Example: `name asc,update_time, create_time desc`
+ *
+ * Supported fields are:
+ *
+ * - `create_time`: corresponds to time the template was created.
+ * - `update_time`: corresponds to time the template was last updated.
+ * - `name`: corresponds to template's name.
+ * - `display_name`: corresponds to template's display name.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is Array of [DeidentifyTemplate]{@link google.privacy.dlp.v2.DeidentifyTemplate}.
+ * The client library will perform auto-pagination by default: it will call the API as many
+ * times as needed and will merge results from all the pages into this array.
+ * Note that it can affect your quota.
+ * We recommend using `listDeidentifyTemplatesAsync()`
+ * method described below for async iteration which you can stop as needed.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination)
+ * for more details and examples.
+ */
+ listDeidentifyTemplates(
+ request: protos.google.privacy.dlp.v2.IListDeidentifyTemplatesRequest,
+ optionsOrCallback?: CallOptions|PaginationCallback<
+ protos.google.privacy.dlp.v2.IListDeidentifyTemplatesRequest,
+ protos.google.privacy.dlp.v2.IListDeidentifyTemplatesResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate>,
+ callback?: PaginationCallback<
+ protos.google.privacy.dlp.v2.IListDeidentifyTemplatesRequest,
+ protos.google.privacy.dlp.v2.IListDeidentifyTemplatesResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDeidentifyTemplate[],
+ protos.google.privacy.dlp.v2.IListDeidentifyTemplatesRequest|null,
+ protos.google.privacy.dlp.v2.IListDeidentifyTemplatesResponse
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.listDeidentifyTemplates(request, options, callback);
+ }
+
+/**
+ * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on the scope of the request
+ * (project or organization) and whether you have [specified a processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ * + Organizations scope, location specified:
+ * `organizations/`ORG_ID`/locations/`LOCATION_ID
+ * + Organizations scope, no location specified (defaults to global):
+ * `organizations/`ORG_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.pageToken
+ * Page token to continue retrieval. Comes from previous call
+ * to `ListDeidentifyTemplates`.
+ * @param {number} request.pageSize
+ * Size of the page, can be limited by server. If zero server returns
+ * a page of max size 100.
+ * @param {string} request.orderBy
+ * Comma separated list of fields to order by,
+ * followed by `asc` or `desc` postfix. This list is case-insensitive,
+ * default sorting order is ascending, redundant space characters are
+ * insignificant.
+ *
+ * Example: `name asc,update_time, create_time desc`
+ *
+ * Supported fields are:
+ *
+ * - `create_time`: corresponds to time the template was created.
+ * - `update_time`: corresponds to time the template was last updated.
+ * - `name`: corresponds to template's name.
+ * - `display_name`: corresponds to template's display name.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Stream}
+ * An object stream which emits an object representing [DeidentifyTemplate]{@link google.privacy.dlp.v2.DeidentifyTemplate} on 'data' event.
+ * The client library will perform auto-pagination by default: it will call the API as many
+ * times as needed. Note that it can affect your quota.
+ * We recommend using `listDeidentifyTemplatesAsync()`
+ * method described below for async iteration which you can stop as needed.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination)
+ * for more details and examples.
+ */
+ listDeidentifyTemplatesStream(
+ request?: protos.google.privacy.dlp.v2.IListDeidentifyTemplatesRequest,
+ options?: CallOptions):
+ Transform{
+ request = request || {};
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ const callSettings = new gax.CallSettings(options);
+ this.initialize();
+ return this.descriptors.page.listDeidentifyTemplates.createStream(
+ this.innerApiCalls.listDeidentifyTemplates as gax.GaxCall,
+ request,
+ callSettings
+ );
+ }
+
+/**
+ * Equivalent to `listDeidentifyTemplates`, but returns an iterable object.
+ *
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on the scope of the request
+ * (project or organization) and whether you have [specified a processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ * + Organizations scope, location specified:
+ * `organizations/`ORG_ID`/locations/`LOCATION_ID
+ * + Organizations scope, no location specified (defaults to global):
+ * `organizations/`ORG_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.pageToken
+ * Page token to continue retrieval. Comes from previous call
+ * to `ListDeidentifyTemplates`.
+ * @param {number} request.pageSize
+ * Size of the page, can be limited by server. If zero server returns
+ * a page of max size 100.
+ * @param {string} request.orderBy
+ * Comma separated list of fields to order by,
+ * followed by `asc` or `desc` postfix. This list is case-insensitive,
+ * default sorting order is ascending, redundant space characters are
+ * insignificant.
+ *
+ * Example: `name asc,update_time, create_time desc`
+ *
+ * Supported fields are:
+ *
+ * - `create_time`: corresponds to time the template was created.
+ * - `update_time`: corresponds to time the template was last updated.
+ * - `name`: corresponds to template's name.
+ * - `display_name`: corresponds to template's display name.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Object}
+ * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols).
+ * When you iterate the returned iterable, each element will be an object representing
+ * [DeidentifyTemplate]{@link google.privacy.dlp.v2.DeidentifyTemplate}. The API will be called under the hood as needed, once per the page,
+ * so you can stop the iteration when you don't need more results.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination)
+ * for more details and examples.
+ * @example
+ * const iterable = client.listDeidentifyTemplatesAsync(request);
+ * for await (const response of iterable) {
+ * // process response
+ * }
+ */
+ listDeidentifyTemplatesAsync(
+ request?: protos.google.privacy.dlp.v2.IListDeidentifyTemplatesRequest,
+ options?: CallOptions):
+ AsyncIterable{
+ request = request || {};
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ options = options || {};
+ const callSettings = new gax.CallSettings(options);
+ this.initialize();
+ return this.descriptors.page.listDeidentifyTemplates.asyncIterate(
+ this.innerApiCalls['listDeidentifyTemplates'] as GaxCall,
+ request as unknown as RequestType,
+ callSettings
+ ) as AsyncIterable;
+ }
+ listJobTriggers(
+ request: protos.google.privacy.dlp.v2.IListJobTriggersRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IJobTrigger[],
+ protos.google.privacy.dlp.v2.IListJobTriggersRequest|null,
+ protos.google.privacy.dlp.v2.IListJobTriggersResponse
+ ]>;
+ listJobTriggers(
+ request: protos.google.privacy.dlp.v2.IListJobTriggersRequest,
+ options: CallOptions,
+ callback: PaginationCallback<
+ protos.google.privacy.dlp.v2.IListJobTriggersRequest,
+ protos.google.privacy.dlp.v2.IListJobTriggersResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IJobTrigger>): void;
+ listJobTriggers(
+ request: protos.google.privacy.dlp.v2.IListJobTriggersRequest,
+ callback: PaginationCallback<
+ protos.google.privacy.dlp.v2.IListJobTriggersRequest,
+ protos.google.privacy.dlp.v2.IListJobTriggersResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IJobTrigger>): void;
+/**
+ * Lists job triggers.
+ * See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on whether you have [specified a
+ * processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.pageToken
+ * Page token to continue retrieval. Comes from previous call
+ * to ListJobTriggers. `order_by` field must not
+ * change for subsequent calls.
+ * @param {number} request.pageSize
+ * Size of the page, can be limited by a server.
+ * @param {string} request.orderBy
+ * Comma separated list of triggeredJob fields to order by,
+ * followed by `asc` or `desc` postfix. This list is case-insensitive,
+ * default sorting order is ascending, redundant space characters are
+ * insignificant.
+ *
+ * Example: `name asc,update_time, create_time desc`
+ *
+ * Supported fields are:
+ *
+ * - `create_time`: corresponds to time the JobTrigger was created.
+ * - `update_time`: corresponds to time the JobTrigger was last updated.
+ * - `last_run_time`: corresponds to the last time the JobTrigger ran.
+ * - `name`: corresponds to JobTrigger's name.
+ * - `display_name`: corresponds to JobTrigger's display name.
+ * - `status`: corresponds to JobTrigger's status.
+ * @param {string} request.filter
+ * Allows filtering.
+ *
+ * Supported syntax:
+ *
+ * * Filter expressions are made up of one or more restrictions.
+ * * Restrictions can be combined by `AND` or `OR` logical operators. A
+ * sequence of restrictions implicitly uses `AND`.
+ * * A restriction has the form of `{field} {operator} {value}`.
+ * * Supported fields/values for inspect jobs:
+ * - `status` - HEALTHY|PAUSED|CANCELLED
+ * - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
+ * - 'last_run_time` - RFC 3339 formatted timestamp, surrounded by
+ * quotation marks. Nanoseconds are ignored.
+ * - 'error_count' - Number of errors that have occurred while running.
+ * * The operator must be `=` or `!=` for status and inspected_storage.
+ *
+ * Examples:
+ *
+ * * inspected_storage = cloud_storage AND status = HEALTHY
+ * * inspected_storage = cloud_storage OR inspected_storage = bigquery
+ * * inspected_storage = cloud_storage AND (state = PAUSED OR state = HEALTHY)
+ * * last_run_time > \"2017-12-12T00:00:00+00:00\"
+ *
+ * The length of this field should be no more than 500 characters.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is Array of [JobTrigger]{@link google.privacy.dlp.v2.JobTrigger}.
+ * The client library will perform auto-pagination by default: it will call the API as many
+ * times as needed and will merge results from all the pages into this array.
+ * Note that it can affect your quota.
+ * We recommend using `listJobTriggersAsync()`
+ * method described below for async iteration which you can stop as needed.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination)
+ * for more details and examples.
+ */
+ listJobTriggers(
+ request: protos.google.privacy.dlp.v2.IListJobTriggersRequest,
+ optionsOrCallback?: CallOptions|PaginationCallback<
+ protos.google.privacy.dlp.v2.IListJobTriggersRequest,
+ protos.google.privacy.dlp.v2.IListJobTriggersResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IJobTrigger>,
+ callback?: PaginationCallback<
+ protos.google.privacy.dlp.v2.IListJobTriggersRequest,
+ protos.google.privacy.dlp.v2.IListJobTriggersResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IJobTrigger>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IJobTrigger[],
+ protos.google.privacy.dlp.v2.IListJobTriggersRequest|null,
+ protos.google.privacy.dlp.v2.IListJobTriggersResponse
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.listJobTriggers(request, options, callback);
+ }
+
+/**
+ * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on whether you have [specified a
+ * processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.pageToken
+ * Page token to continue retrieval. Comes from previous call
+ * to ListJobTriggers. `order_by` field must not
+ * change for subsequent calls.
+ * @param {number} request.pageSize
+ * Size of the page, can be limited by a server.
+ * @param {string} request.orderBy
+ * Comma separated list of triggeredJob fields to order by,
+ * followed by `asc` or `desc` postfix. This list is case-insensitive,
+ * default sorting order is ascending, redundant space characters are
+ * insignificant.
+ *
+ * Example: `name asc,update_time, create_time desc`
+ *
+ * Supported fields are:
+ *
+ * - `create_time`: corresponds to time the JobTrigger was created.
+ * - `update_time`: corresponds to time the JobTrigger was last updated.
+ * - `last_run_time`: corresponds to the last time the JobTrigger ran.
+ * - `name`: corresponds to JobTrigger's name.
+ * - `display_name`: corresponds to JobTrigger's display name.
+ * - `status`: corresponds to JobTrigger's status.
+ * @param {string} request.filter
+ * Allows filtering.
+ *
+ * Supported syntax:
+ *
+ * * Filter expressions are made up of one or more restrictions.
+ * * Restrictions can be combined by `AND` or `OR` logical operators. A
+ * sequence of restrictions implicitly uses `AND`.
+ * * A restriction has the form of `{field} {operator} {value}`.
+ * * Supported fields/values for inspect jobs:
+ * - `status` - HEALTHY|PAUSED|CANCELLED
+ * - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
+ * - 'last_run_time` - RFC 3339 formatted timestamp, surrounded by
+ * quotation marks. Nanoseconds are ignored.
+ * - 'error_count' - Number of errors that have occurred while running.
+ * * The operator must be `=` or `!=` for status and inspected_storage.
+ *
+ * Examples:
+ *
+ * * inspected_storage = cloud_storage AND status = HEALTHY
+ * * inspected_storage = cloud_storage OR inspected_storage = bigquery
+ * * inspected_storage = cloud_storage AND (state = PAUSED OR state = HEALTHY)
+ * * last_run_time > \"2017-12-12T00:00:00+00:00\"
+ *
+ * The length of this field should be no more than 500 characters.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Stream}
+ * An object stream which emits an object representing [JobTrigger]{@link google.privacy.dlp.v2.JobTrigger} on 'data' event.
+ * The client library will perform auto-pagination by default: it will call the API as many
+ * times as needed. Note that it can affect your quota.
+ * We recommend using `listJobTriggersAsync()`
+ * method described below for async iteration which you can stop as needed.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination)
+ * for more details and examples.
+ */
+ listJobTriggersStream(
+ request?: protos.google.privacy.dlp.v2.IListJobTriggersRequest,
+ options?: CallOptions):
+ Transform{
+ request = request || {};
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ const callSettings = new gax.CallSettings(options);
+ this.initialize();
+ return this.descriptors.page.listJobTriggers.createStream(
+ this.innerApiCalls.listJobTriggers as gax.GaxCall,
+ request,
+ callSettings
+ );
+ }
+
+/**
+ * Equivalent to `listJobTriggers`, but returns an iterable object.
+ *
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on whether you have [specified a
+ * processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.pageToken
+ * Page token to continue retrieval. Comes from previous call
+ * to ListJobTriggers. `order_by` field must not
+ * change for subsequent calls.
+ * @param {number} request.pageSize
+ * Size of the page, can be limited by a server.
+ * @param {string} request.orderBy
+ * Comma separated list of triggeredJob fields to order by,
+ * followed by `asc` or `desc` postfix. This list is case-insensitive,
+ * default sorting order is ascending, redundant space characters are
+ * insignificant.
+ *
+ * Example: `name asc,update_time, create_time desc`
+ *
+ * Supported fields are:
+ *
+ * - `create_time`: corresponds to time the JobTrigger was created.
+ * - `update_time`: corresponds to time the JobTrigger was last updated.
+ * - `last_run_time`: corresponds to the last time the JobTrigger ran.
+ * - `name`: corresponds to JobTrigger's name.
+ * - `display_name`: corresponds to JobTrigger's display name.
+ * - `status`: corresponds to JobTrigger's status.
+ * @param {string} request.filter
+ * Allows filtering.
+ *
+ * Supported syntax:
+ *
+ * * Filter expressions are made up of one or more restrictions.
+ * * Restrictions can be combined by `AND` or `OR` logical operators. A
+ * sequence of restrictions implicitly uses `AND`.
+ * * A restriction has the form of `{field} {operator} {value}`.
+ * * Supported fields/values for inspect jobs:
+ * - `status` - HEALTHY|PAUSED|CANCELLED
+ * - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
+ * - 'last_run_time` - RFC 3339 formatted timestamp, surrounded by
+ * quotation marks. Nanoseconds are ignored.
+ * - 'error_count' - Number of errors that have occurred while running.
+ * * The operator must be `=` or `!=` for status and inspected_storage.
+ *
+ * Examples:
+ *
+ * * inspected_storage = cloud_storage AND status = HEALTHY
+ * * inspected_storage = cloud_storage OR inspected_storage = bigquery
+ * * inspected_storage = cloud_storage AND (state = PAUSED OR state = HEALTHY)
+ * * last_run_time > \"2017-12-12T00:00:00+00:00\"
+ *
+ * The length of this field should be no more than 500 characters.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Object}
+ * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols).
+ * When you iterate the returned iterable, each element will be an object representing
+ * [JobTrigger]{@link google.privacy.dlp.v2.JobTrigger}. The API will be called under the hood as needed, once per the page,
+ * so you can stop the iteration when you don't need more results.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination)
+ * for more details and examples.
+ * @example
+ * const iterable = client.listJobTriggersAsync(request);
+ * for await (const response of iterable) {
+ * // process response
+ * }
+ */
+ listJobTriggersAsync(
+ request?: protos.google.privacy.dlp.v2.IListJobTriggersRequest,
+ options?: CallOptions):
+ AsyncIterable{
+ request = request || {};
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ options = options || {};
+ const callSettings = new gax.CallSettings(options);
+ this.initialize();
+ return this.descriptors.page.listJobTriggers.asyncIterate(
+ this.innerApiCalls['listJobTriggers'] as GaxCall,
+ request as unknown as RequestType,
+ callSettings
+ ) as AsyncIterable;
+ }
+ listDlpJobs(
+ request: protos.google.privacy.dlp.v2.IListDlpJobsRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDlpJob[],
+ protos.google.privacy.dlp.v2.IListDlpJobsRequest|null,
+ protos.google.privacy.dlp.v2.IListDlpJobsResponse
+ ]>;
+ listDlpJobs(
+ request: protos.google.privacy.dlp.v2.IListDlpJobsRequest,
+ options: CallOptions,
+ callback: PaginationCallback<
+ protos.google.privacy.dlp.v2.IListDlpJobsRequest,
+ protos.google.privacy.dlp.v2.IListDlpJobsResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IDlpJob>): void;
+ listDlpJobs(
+ request: protos.google.privacy.dlp.v2.IListDlpJobsRequest,
+ callback: PaginationCallback<
+ protos.google.privacy.dlp.v2.IListDlpJobsRequest,
+ protos.google.privacy.dlp.v2.IListDlpJobsResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IDlpJob>): void;
+/**
+ * Lists DlpJobs that match the specified filter in the request.
+ * See https://cloud.google.com/dlp/docs/inspecting-storage and
+ * https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on whether you have [specified a
+ * processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.filter
+ * Allows filtering.
+ *
+ * Supported syntax:
+ *
+ * * Filter expressions are made up of one or more restrictions.
+ * * Restrictions can be combined by `AND` or `OR` logical operators. A
+ * sequence of restrictions implicitly uses `AND`.
+ * * A restriction has the form of `{field} {operator} {value}`.
+ * * Supported fields/values for inspect jobs:
+ * - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED
+ * - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
+ * - `trigger_name` - The resource name of the trigger that created job.
+ * - 'end_time` - Corresponds to time the job finished.
+ * - 'start_time` - Corresponds to time the job finished.
+ * * Supported fields for risk analysis jobs:
+ * - `state` - RUNNING|CANCELED|FINISHED|FAILED
+ * - 'end_time` - Corresponds to time the job finished.
+ * - 'start_time` - Corresponds to time the job finished.
+ * * The operator must be `=` or `!=`.
+ *
+ * Examples:
+ *
+ * * inspected_storage = cloud_storage AND state = done
+ * * inspected_storage = cloud_storage OR inspected_storage = bigquery
+ * * inspected_storage = cloud_storage AND (state = done OR state = canceled)
+ * * end_time > \"2017-12-12T00:00:00+00:00\"
+ *
+ * The length of this field should be no more than 500 characters.
+ * @param {number} request.pageSize
+ * The standard list page size.
+ * @param {string} request.pageToken
+ * The standard list page token.
+ * @param {google.privacy.dlp.v2.DlpJobType} request.type
+ * The type of job. Defaults to `DlpJobType.INSPECT`
+ * @param {string} request.orderBy
+ * Comma separated list of fields to order by,
+ * followed by `asc` or `desc` postfix. This list is case-insensitive,
+ * default sorting order is ascending, redundant space characters are
+ * insignificant.
+ *
+ * Example: `name asc, end_time asc, create_time desc`
+ *
+ * Supported fields are:
+ *
+ * - `create_time`: corresponds to time the job was created.
+ * - `end_time`: corresponds to time the job ended.
+ * - `name`: corresponds to job's name.
+ * - `state`: corresponds to `state`
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is Array of [DlpJob]{@link google.privacy.dlp.v2.DlpJob}.
+ * The client library will perform auto-pagination by default: it will call the API as many
+ * times as needed and will merge results from all the pages into this array.
+ * Note that it can affect your quota.
+ * We recommend using `listDlpJobsAsync()`
+ * method described below for async iteration which you can stop as needed.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination)
+ * for more details and examples.
+ */
+ listDlpJobs(
+ request: protos.google.privacy.dlp.v2.IListDlpJobsRequest,
+ optionsOrCallback?: CallOptions|PaginationCallback<
+ protos.google.privacy.dlp.v2.IListDlpJobsRequest,
+ protos.google.privacy.dlp.v2.IListDlpJobsResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IDlpJob>,
+ callback?: PaginationCallback<
+ protos.google.privacy.dlp.v2.IListDlpJobsRequest,
+ protos.google.privacy.dlp.v2.IListDlpJobsResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IDlpJob>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IDlpJob[],
+ protos.google.privacy.dlp.v2.IListDlpJobsRequest|null,
+ protos.google.privacy.dlp.v2.IListDlpJobsResponse
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.listDlpJobs(request, options, callback);
+ }
+
+/**
+ * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on whether you have [specified a
+ * processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.filter
+ * Allows filtering.
+ *
+ * Supported syntax:
+ *
+ * * Filter expressions are made up of one or more restrictions.
+ * * Restrictions can be combined by `AND` or `OR` logical operators. A
+ * sequence of restrictions implicitly uses `AND`.
+ * * A restriction has the form of `{field} {operator} {value}`.
+ * * Supported fields/values for inspect jobs:
+ * - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED
+ * - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
+ * - `trigger_name` - The resource name of the trigger that created job.
+ * - 'end_time` - Corresponds to time the job finished.
+ * - 'start_time` - Corresponds to time the job finished.
+ * * Supported fields for risk analysis jobs:
+ * - `state` - RUNNING|CANCELED|FINISHED|FAILED
+ * - 'end_time` - Corresponds to time the job finished.
+ * - 'start_time` - Corresponds to time the job finished.
+ * * The operator must be `=` or `!=`.
+ *
+ * Examples:
+ *
+ * * inspected_storage = cloud_storage AND state = done
+ * * inspected_storage = cloud_storage OR inspected_storage = bigquery
+ * * inspected_storage = cloud_storage AND (state = done OR state = canceled)
+ * * end_time > \"2017-12-12T00:00:00+00:00\"
+ *
+ * The length of this field should be no more than 500 characters.
+ * @param {number} request.pageSize
+ * The standard list page size.
+ * @param {string} request.pageToken
+ * The standard list page token.
+ * @param {google.privacy.dlp.v2.DlpJobType} request.type
+ * The type of job. Defaults to `DlpJobType.INSPECT`
+ * @param {string} request.orderBy
+ * Comma separated list of fields to order by,
+ * followed by `asc` or `desc` postfix. This list is case-insensitive,
+ * default sorting order is ascending, redundant space characters are
+ * insignificant.
+ *
+ * Example: `name asc, end_time asc, create_time desc`
+ *
+ * Supported fields are:
+ *
+ * - `create_time`: corresponds to time the job was created.
+ * - `end_time`: corresponds to time the job ended.
+ * - `name`: corresponds to job's name.
+ * - `state`: corresponds to `state`
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Stream}
+ * An object stream which emits an object representing [DlpJob]{@link google.privacy.dlp.v2.DlpJob} on 'data' event.
+ * The client library will perform auto-pagination by default: it will call the API as many
+ * times as needed. Note that it can affect your quota.
+ * We recommend using `listDlpJobsAsync()`
+ * method described below for async iteration which you can stop as needed.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination)
+ * for more details and examples.
+ */
+ listDlpJobsStream(
+ request?: protos.google.privacy.dlp.v2.IListDlpJobsRequest,
+ options?: CallOptions):
+ Transform{
+ request = request || {};
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ const callSettings = new gax.CallSettings(options);
+ this.initialize();
+ return this.descriptors.page.listDlpJobs.createStream(
+ this.innerApiCalls.listDlpJobs as gax.GaxCall,
+ request,
+ callSettings
+ );
+ }
+
+/**
+ * Equivalent to `listDlpJobs`, but returns an iterable object.
+ *
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on whether you have [specified a
+ * processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.filter
+ * Allows filtering.
+ *
+ * Supported syntax:
+ *
+ * * Filter expressions are made up of one or more restrictions.
+ * * Restrictions can be combined by `AND` or `OR` logical operators. A
+ * sequence of restrictions implicitly uses `AND`.
+ * * A restriction has the form of `{field} {operator} {value}`.
+ * * Supported fields/values for inspect jobs:
+ * - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED
+ * - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
+ * - `trigger_name` - The resource name of the trigger that created job.
+ * - 'end_time` - Corresponds to time the job finished.
+ * - 'start_time` - Corresponds to time the job finished.
+ * * Supported fields for risk analysis jobs:
+ * - `state` - RUNNING|CANCELED|FINISHED|FAILED
+ * - 'end_time` - Corresponds to time the job finished.
+ * - 'start_time` - Corresponds to time the job finished.
+ * * The operator must be `=` or `!=`.
+ *
+ * Examples:
+ *
+ * * inspected_storage = cloud_storage AND state = done
+ * * inspected_storage = cloud_storage OR inspected_storage = bigquery
+ * * inspected_storage = cloud_storage AND (state = done OR state = canceled)
+ * * end_time > \"2017-12-12T00:00:00+00:00\"
+ *
+ * The length of this field should be no more than 500 characters.
+ * @param {number} request.pageSize
+ * The standard list page size.
+ * @param {string} request.pageToken
+ * The standard list page token.
+ * @param {google.privacy.dlp.v2.DlpJobType} request.type
+ * The type of job. Defaults to `DlpJobType.INSPECT`
+ * @param {string} request.orderBy
+ * Comma separated list of fields to order by,
+ * followed by `asc` or `desc` postfix. This list is case-insensitive,
+ * default sorting order is ascending, redundant space characters are
+ * insignificant.
+ *
+ * Example: `name asc, end_time asc, create_time desc`
+ *
+ * Supported fields are:
+ *
+ * - `create_time`: corresponds to time the job was created.
+ * - `end_time`: corresponds to time the job ended.
+ * - `name`: corresponds to job's name.
+ * - `state`: corresponds to `state`
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Object}
+ * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols).
+ * When you iterate the returned iterable, each element will be an object representing
+ * [DlpJob]{@link google.privacy.dlp.v2.DlpJob}. The API will be called under the hood as needed, once per the page,
+ * so you can stop the iteration when you don't need more results.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination)
+ * for more details and examples.
+ * @example
+ * const iterable = client.listDlpJobsAsync(request);
+ * for await (const response of iterable) {
+ * // process response
+ * }
+ */
+ listDlpJobsAsync(
+ request?: protos.google.privacy.dlp.v2.IListDlpJobsRequest,
+ options?: CallOptions):
+ AsyncIterable{
+ request = request || {};
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ options = options || {};
+ const callSettings = new gax.CallSettings(options);
+ this.initialize();
+ return this.descriptors.page.listDlpJobs.asyncIterate(
+ this.innerApiCalls['listDlpJobs'] as GaxCall,
+ request as unknown as RequestType,
+ callSettings
+ ) as AsyncIterable;
+ }
+ listStoredInfoTypes(
+ request: protos.google.privacy.dlp.v2.IListStoredInfoTypesRequest,
+ options?: CallOptions):
+ Promise<[
+ protos.google.privacy.dlp.v2.IStoredInfoType[],
+ protos.google.privacy.dlp.v2.IListStoredInfoTypesRequest|null,
+ protos.google.privacy.dlp.v2.IListStoredInfoTypesResponse
+ ]>;
+ listStoredInfoTypes(
+ request: protos.google.privacy.dlp.v2.IListStoredInfoTypesRequest,
+ options: CallOptions,
+ callback: PaginationCallback<
+ protos.google.privacy.dlp.v2.IListStoredInfoTypesRequest,
+ protos.google.privacy.dlp.v2.IListStoredInfoTypesResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IStoredInfoType>): void;
+ listStoredInfoTypes(
+ request: protos.google.privacy.dlp.v2.IListStoredInfoTypesRequest,
+ callback: PaginationCallback<
+ protos.google.privacy.dlp.v2.IListStoredInfoTypesRequest,
+ protos.google.privacy.dlp.v2.IListStoredInfoTypesResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IStoredInfoType>): void;
+/**
+ * Lists stored infoTypes.
+ * See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
+ * learn more.
+ *
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on the scope of the request
+ * (project or organization) and whether you have [specified a processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ * + Organizations scope, location specified:
+ * `organizations/`ORG_ID`/locations/`LOCATION_ID
+ * + Organizations scope, no location specified (defaults to global):
+ * `organizations/`ORG_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.pageToken
+ * Page token to continue retrieval. Comes from previous call
+ * to `ListStoredInfoTypes`.
+ * @param {number} request.pageSize
+ * Size of the page, can be limited by server. If zero server returns
+ * a page of max size 100.
+ * @param {string} request.orderBy
+ * Comma separated list of fields to order by,
+ * followed by `asc` or `desc` postfix. This list is case-insensitive,
+ * default sorting order is ascending, redundant space characters are
+ * insignificant.
+ *
+ * Example: `name asc, display_name, create_time desc`
+ *
+ * Supported fields are:
+ *
+ * - `create_time`: corresponds to time the most recent version of the
+ * resource was created.
+ * - `state`: corresponds to the state of the resource.
+ * - `name`: corresponds to resource name.
+ * - `display_name`: corresponds to info type's display name.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Promise} - The promise which resolves to an array.
+ * The first element of the array is Array of [StoredInfoType]{@link google.privacy.dlp.v2.StoredInfoType}.
+ * The client library will perform auto-pagination by default: it will call the API as many
+ * times as needed and will merge results from all the pages into this array.
+ * Note that it can affect your quota.
+ * We recommend using `listStoredInfoTypesAsync()`
+ * method described below for async iteration which you can stop as needed.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination)
+ * for more details and examples.
+ */
+ listStoredInfoTypes(
+ request: protos.google.privacy.dlp.v2.IListStoredInfoTypesRequest,
+ optionsOrCallback?: CallOptions|PaginationCallback<
+ protos.google.privacy.dlp.v2.IListStoredInfoTypesRequest,
+ protos.google.privacy.dlp.v2.IListStoredInfoTypesResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IStoredInfoType>,
+ callback?: PaginationCallback<
+ protos.google.privacy.dlp.v2.IListStoredInfoTypesRequest,
+ protos.google.privacy.dlp.v2.IListStoredInfoTypesResponse|null|undefined,
+ protos.google.privacy.dlp.v2.IStoredInfoType>):
+ Promise<[
+ protos.google.privacy.dlp.v2.IStoredInfoType[],
+ protos.google.privacy.dlp.v2.IListStoredInfoTypesRequest|null,
+ protos.google.privacy.dlp.v2.IListStoredInfoTypesResponse
+ ]>|void {
+ request = request || {};
+ let options: CallOptions;
+ if (typeof optionsOrCallback === 'function' && callback === undefined) {
+ callback = optionsOrCallback;
+ options = {};
+ }
+ else {
+ options = optionsOrCallback as CallOptions;
+ }
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ this.initialize();
+ return this.innerApiCalls.listStoredInfoTypes(request, options, callback);
+ }
+
+/**
+ * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on the scope of the request
+ * (project or organization) and whether you have [specified a processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ * + Organizations scope, location specified:
+ * `organizations/`ORG_ID`/locations/`LOCATION_ID
+ * + Organizations scope, no location specified (defaults to global):
+ * `organizations/`ORG_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.pageToken
+ * Page token to continue retrieval. Comes from previous call
+ * to `ListStoredInfoTypes`.
+ * @param {number} request.pageSize
+ * Size of the page, can be limited by server. If zero server returns
+ * a page of max size 100.
+ * @param {string} request.orderBy
+ * Comma separated list of fields to order by,
+ * followed by `asc` or `desc` postfix. This list is case-insensitive,
+ * default sorting order is ascending, redundant space characters are
+ * insignificant.
+ *
+ * Example: `name asc, display_name, create_time desc`
+ *
+ * Supported fields are:
+ *
+ * - `create_time`: corresponds to time the most recent version of the
+ * resource was created.
+ * - `state`: corresponds to the state of the resource.
+ * - `name`: corresponds to resource name.
+ * - `display_name`: corresponds to info type's display name.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Stream}
+ * An object stream which emits an object representing [StoredInfoType]{@link google.privacy.dlp.v2.StoredInfoType} on 'data' event.
+ * The client library will perform auto-pagination by default: it will call the API as many
+ * times as needed. Note that it can affect your quota.
+ * We recommend using `listStoredInfoTypesAsync()`
+ * method described below for async iteration which you can stop as needed.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination)
+ * for more details and examples.
+ */
+ listStoredInfoTypesStream(
+ request?: protos.google.privacy.dlp.v2.IListStoredInfoTypesRequest,
+ options?: CallOptions):
+ Transform{
+ request = request || {};
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ const callSettings = new gax.CallSettings(options);
+ this.initialize();
+ return this.descriptors.page.listStoredInfoTypes.createStream(
+ this.innerApiCalls.listStoredInfoTypes as gax.GaxCall,
+ request,
+ callSettings
+ );
+ }
+
+/**
+ * Equivalent to `listStoredInfoTypes`, but returns an iterable object.
+ *
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
+ * @param {Object} request
+ * The request object that will be sent.
+ * @param {string} request.parent
+ * Required. Parent resource name.
+ *
+ * The format of this value varies depending on the scope of the request
+ * (project or organization) and whether you have [specified a processing
+ * location](https://cloud.google.com/dlp/docs/specifying-location):
+ *
+ * + Projects scope, location specified:
+ * `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ * + Projects scope, no location specified (defaults to global):
+ * `projects/`PROJECT_ID
+ * + Organizations scope, location specified:
+ * `organizations/`ORG_ID`/locations/`LOCATION_ID
+ * + Organizations scope, no location specified (defaults to global):
+ * `organizations/`ORG_ID
+ *
+ * The following example `parent` string specifies a parent project with the
+ * identifier `example-project`, and specifies the `europe-west3` location
+ * for processing data:
+ *
+ * parent=projects/example-project/locations/europe-west3
+ * @param {string} request.pageToken
+ * Page token to continue retrieval. Comes from previous call
+ * to `ListStoredInfoTypes`.
+ * @param {number} request.pageSize
+ * Size of the page, can be limited by server. If zero server returns
+ * a page of max size 100.
+ * @param {string} request.orderBy
+ * Comma separated list of fields to order by,
+ * followed by `asc` or `desc` postfix. This list is case-insensitive,
+ * default sorting order is ascending, redundant space characters are
+ * insignificant.
+ *
+ * Example: `name asc, display_name, create_time desc`
+ *
+ * Supported fields are:
+ *
+ * - `create_time`: corresponds to time the most recent version of the
+ * resource was created.
+ * - `state`: corresponds to the state of the resource.
+ * - `name`: corresponds to resource name.
+ * - `display_name`: corresponds to info type's display name.
+ * @param {string} request.locationId
+ * Deprecated. This field has no effect.
+ * @param {object} [options]
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+ * @returns {Object}
+ * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols).
+ * When you iterate the returned iterable, each element will be an object representing
+ * [StoredInfoType]{@link google.privacy.dlp.v2.StoredInfoType}. The API will be called under the hood as needed, once per the page,
+ * so you can stop the iteration when you don't need more results.
+ * Please see the
+ * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination)
+ * for more details and examples.
+ * @example
+ * const iterable = client.listStoredInfoTypesAsync(request);
+ * for await (const response of iterable) {
+ * // process response
+ * }
+ */
+ listStoredInfoTypesAsync(
+ request?: protos.google.privacy.dlp.v2.IListStoredInfoTypesRequest,
+ options?: CallOptions):
+ AsyncIterable{
+ request = request || {};
+ options = options || {};
+ options.otherArgs = options.otherArgs || {};
+ options.otherArgs.headers = options.otherArgs.headers || {};
+ options.otherArgs.headers[
+ 'x-goog-request-params'
+ ] = gax.routingHeader.fromParams({
+ 'parent': request.parent || '',
+ });
+ options = options || {};
+ const callSettings = new gax.CallSettings(options);
+ this.initialize();
+ return this.descriptors.page.listStoredInfoTypes.asyncIterate(
+ this.innerApiCalls['listStoredInfoTypes'] as GaxCall,
+ request as unknown as RequestType,
+ callSettings
+ ) as AsyncIterable;
+ }
+ // --------------------
+ // -- Path templates --
+ // --------------------
+
+ /**
+ * Return a fully-qualified finding resource name string.
+ *
+ * @param {string} project
+ * @param {string} location
+ * @param {string} finding
+ * @returns {string} Resource name string.
+ */
+ findingPath(project:string,location:string,finding:string) {
+ return this.pathTemplates.findingPathTemplate.render({
+ project: project,
+ location: location,
+ finding: finding,
+ });
+ }
+
+ /**
+ * Parse the project from Finding resource.
+ *
+ * @param {string} findingName
+ * A fully-qualified path representing Finding resource.
+ * @returns {string} A string representing the project.
+ */
+ matchProjectFromFindingName(findingName: string) {
+ return this.pathTemplates.findingPathTemplate.match(findingName).project;
+ }
+
+ /**
+ * Parse the location from Finding resource.
+ *
+ * @param {string} findingName
+ * A fully-qualified path representing Finding resource.
+ * @returns {string} A string representing the location.
+ */
+ matchLocationFromFindingName(findingName: string) {
+ return this.pathTemplates.findingPathTemplate.match(findingName).location;
+ }
+
+ /**
+ * Parse the finding from Finding resource.
+ *
+ * @param {string} findingName
+ * A fully-qualified path representing Finding resource.
+ * @returns {string} A string representing the finding.
+ */
+ matchFindingFromFindingName(findingName: string) {
+ return this.pathTemplates.findingPathTemplate.match(findingName).finding;
+ }
+
+ /**
+ * Return a fully-qualified organization resource name string.
+ *
+ * @param {string} organization
+ * @returns {string} Resource name string.
+ */
+ organizationPath(organization:string) {
+ return this.pathTemplates.organizationPathTemplate.render({
+ organization: organization,
+ });
+ }
+
+ /**
+ * Parse the organization from Organization resource.
+ *
+ * @param {string} organizationName
+ * A fully-qualified path representing Organization resource.
+ * @returns {string} A string representing the organization.
+ */
+ matchOrganizationFromOrganizationName(organizationName: string) {
+ return this.pathTemplates.organizationPathTemplate.match(organizationName).organization;
+ }
+
+ /**
+ * Return a fully-qualified organizationDeidentifyTemplate resource name string.
+ *
+ * @param {string} organization
+ * @param {string} deidentify_template
+ * @returns {string} Resource name string.
+ */
+ organizationDeidentifyTemplatePath(organization:string,deidentifyTemplate:string) {
+ return this.pathTemplates.organizationDeidentifyTemplatePathTemplate.render({
+ organization: organization,
+ deidentify_template: deidentifyTemplate,
+ });
+ }
+
+ /**
+ * Parse the organization from OrganizationDeidentifyTemplate resource.
+ *
+ * @param {string} organizationDeidentifyTemplateName
+ * A fully-qualified path representing organization_deidentify_template resource.
+ * @returns {string} A string representing the organization.
+ */
+ matchOrganizationFromOrganizationDeidentifyTemplateName(organizationDeidentifyTemplateName: string) {
+ return this.pathTemplates.organizationDeidentifyTemplatePathTemplate.match(organizationDeidentifyTemplateName).organization;
+ }
+
+ /**
+ * Parse the deidentify_template from OrganizationDeidentifyTemplate resource.
+ *
+ * @param {string} organizationDeidentifyTemplateName
+ * A fully-qualified path representing organization_deidentify_template resource.
+ * @returns {string} A string representing the deidentify_template.
+ */
+ matchDeidentifyTemplateFromOrganizationDeidentifyTemplateName(organizationDeidentifyTemplateName: string) {
+ return this.pathTemplates.organizationDeidentifyTemplatePathTemplate.match(organizationDeidentifyTemplateName).deidentify_template;
+ }
+
+ /**
+ * Return a fully-qualified organizationInspectTemplate resource name string.
+ *
+ * @param {string} organization
+ * @param {string} inspect_template
+ * @returns {string} Resource name string.
+ */
+ organizationInspectTemplatePath(organization:string,inspectTemplate:string) {
+ return this.pathTemplates.organizationInspectTemplatePathTemplate.render({
+ organization: organization,
+ inspect_template: inspectTemplate,
+ });
+ }
+
+ /**
+ * Parse the organization from OrganizationInspectTemplate resource.
+ *
+ * @param {string} organizationInspectTemplateName
+ * A fully-qualified path representing organization_inspect_template resource.
+ * @returns {string} A string representing the organization.
+ */
+ matchOrganizationFromOrganizationInspectTemplateName(organizationInspectTemplateName: string) {
+ return this.pathTemplates.organizationInspectTemplatePathTemplate.match(organizationInspectTemplateName).organization;
+ }
+
+ /**
+ * Parse the inspect_template from OrganizationInspectTemplate resource.
+ *
+ * @param {string} organizationInspectTemplateName
+ * A fully-qualified path representing organization_inspect_template resource.
+ * @returns {string} A string representing the inspect_template.
+ */
+ matchInspectTemplateFromOrganizationInspectTemplateName(organizationInspectTemplateName: string) {
+ return this.pathTemplates.organizationInspectTemplatePathTemplate.match(organizationInspectTemplateName).inspect_template;
+ }
+
+ /**
+ * Return a fully-qualified organizationLocationDeidentifyTemplate resource name string.
+ *
+ * @param {string} organization
+ * @param {string} location
+ * @param {string} deidentify_template
+ * @returns {string} Resource name string.
+ */
+ organizationLocationDeidentifyTemplatePath(organization:string,location:string,deidentifyTemplate:string) {
+ return this.pathTemplates.organizationLocationDeidentifyTemplatePathTemplate.render({
+ organization: organization,
+ location: location,
+ deidentify_template: deidentifyTemplate,
+ });
+ }
+
+ /**
+ * Parse the organization from OrganizationLocationDeidentifyTemplate resource.
+ *
+ * @param {string} organizationLocationDeidentifyTemplateName
+ * A fully-qualified path representing organization_location_deidentify_template resource.
+ * @returns {string} A string representing the organization.
+ */
+ matchOrganizationFromOrganizationLocationDeidentifyTemplateName(organizationLocationDeidentifyTemplateName: string) {
+ return this.pathTemplates.organizationLocationDeidentifyTemplatePathTemplate.match(organizationLocationDeidentifyTemplateName).organization;
+ }
+
+ /**
+ * Parse the location from OrganizationLocationDeidentifyTemplate resource.
+ *
+ * @param {string} organizationLocationDeidentifyTemplateName
+ * A fully-qualified path representing organization_location_deidentify_template resource.
+ * @returns {string} A string representing the location.
+ */
+ matchLocationFromOrganizationLocationDeidentifyTemplateName(organizationLocationDeidentifyTemplateName: string) {
+ return this.pathTemplates.organizationLocationDeidentifyTemplatePathTemplate.match(organizationLocationDeidentifyTemplateName).location;
+ }
+
+ /**
+ * Parse the deidentify_template from OrganizationLocationDeidentifyTemplate resource.
+ *
+ * @param {string} organizationLocationDeidentifyTemplateName
+ * A fully-qualified path representing organization_location_deidentify_template resource.
+ * @returns {string} A string representing the deidentify_template.
+ */
+ matchDeidentifyTemplateFromOrganizationLocationDeidentifyTemplateName(organizationLocationDeidentifyTemplateName: string) {
+ return this.pathTemplates.organizationLocationDeidentifyTemplatePathTemplate.match(organizationLocationDeidentifyTemplateName).deidentify_template;
+ }
+
+ /**
+ * Return a fully-qualified organizationLocationInspectTemplate resource name string.
+ *
+ * @param {string} organization
+ * @param {string} location
+ * @param {string} inspect_template
+ * @returns {string} Resource name string.
+ */
+ organizationLocationInspectTemplatePath(organization:string,location:string,inspectTemplate:string) {
+ return this.pathTemplates.organizationLocationInspectTemplatePathTemplate.render({
+ organization: organization,
+ location: location,
+ inspect_template: inspectTemplate,
+ });
+ }
+
+ /**
+ * Parse the organization from OrganizationLocationInspectTemplate resource.
+ *
+ * @param {string} organizationLocationInspectTemplateName
+ * A fully-qualified path representing organization_location_inspect_template resource.
+ * @returns {string} A string representing the organization.
+ */
+ matchOrganizationFromOrganizationLocationInspectTemplateName(organizationLocationInspectTemplateName: string) {
+ return this.pathTemplates.organizationLocationInspectTemplatePathTemplate.match(organizationLocationInspectTemplateName).organization;
+ }
+
+ /**
+ * Parse the location from OrganizationLocationInspectTemplate resource.
+ *
+ * @param {string} organizationLocationInspectTemplateName
+ * A fully-qualified path representing organization_location_inspect_template resource.
+ * @returns {string} A string representing the location.
+ */
+ matchLocationFromOrganizationLocationInspectTemplateName(organizationLocationInspectTemplateName: string) {
+ return this.pathTemplates.organizationLocationInspectTemplatePathTemplate.match(organizationLocationInspectTemplateName).location;
+ }
+
+ /**
+ * Parse the inspect_template from OrganizationLocationInspectTemplate resource.
+ *
+ * @param {string} organizationLocationInspectTemplateName
+ * A fully-qualified path representing organization_location_inspect_template resource.
+ * @returns {string} A string representing the inspect_template.
+ */
+ matchInspectTemplateFromOrganizationLocationInspectTemplateName(organizationLocationInspectTemplateName: string) {
+ return this.pathTemplates.organizationLocationInspectTemplatePathTemplate.match(organizationLocationInspectTemplateName).inspect_template;
+ }
+
+ /**
+ * Return a fully-qualified organizationLocationStoredInfoType resource name string.
+ *
+ * @param {string} organization
+ * @param {string} location
+ * @param {string} stored_info_type
+ * @returns {string} Resource name string.
+ */
+ organizationLocationStoredInfoTypePath(organization:string,location:string,storedInfoType:string) {
+ return this.pathTemplates.organizationLocationStoredInfoTypePathTemplate.render({
+ organization: organization,
+ location: location,
+ stored_info_type: storedInfoType,
+ });
+ }
+
+ /**
+ * Parse the organization from OrganizationLocationStoredInfoType resource.
+ *
+ * @param {string} organizationLocationStoredInfoTypeName
+ * A fully-qualified path representing organization_location_stored_info_type resource.
+ * @returns {string} A string representing the organization.
+ */
+ matchOrganizationFromOrganizationLocationStoredInfoTypeName(organizationLocationStoredInfoTypeName: string) {
+ return this.pathTemplates.organizationLocationStoredInfoTypePathTemplate.match(organizationLocationStoredInfoTypeName).organization;
+ }
+
+ /**
+ * Parse the location from OrganizationLocationStoredInfoType resource.
+ *
+ * @param {string} organizationLocationStoredInfoTypeName
+ * A fully-qualified path representing organization_location_stored_info_type resource.
+ * @returns {string} A string representing the location.
+ */
+ matchLocationFromOrganizationLocationStoredInfoTypeName(organizationLocationStoredInfoTypeName: string) {
+ return this.pathTemplates.organizationLocationStoredInfoTypePathTemplate.match(organizationLocationStoredInfoTypeName).location;
+ }
+
+ /**
+ * Parse the stored_info_type from OrganizationLocationStoredInfoType resource.
+ *
+ * @param {string} organizationLocationStoredInfoTypeName
+ * A fully-qualified path representing organization_location_stored_info_type resource.
+ * @returns {string} A string representing the stored_info_type.
+ */
+ matchStoredInfoTypeFromOrganizationLocationStoredInfoTypeName(organizationLocationStoredInfoTypeName: string) {
+ return this.pathTemplates.organizationLocationStoredInfoTypePathTemplate.match(organizationLocationStoredInfoTypeName).stored_info_type;
+ }
+
+ /**
+ * Return a fully-qualified organizationStoredInfoType resource name string.
+ *
+ * @param {string} organization
+ * @param {string} stored_info_type
+ * @returns {string} Resource name string.
+ */
+ organizationStoredInfoTypePath(organization:string,storedInfoType:string) {
+ return this.pathTemplates.organizationStoredInfoTypePathTemplate.render({
+ organization: organization,
+ stored_info_type: storedInfoType,
+ });
+ }
+
+ /**
+ * Parse the organization from OrganizationStoredInfoType resource.
+ *
+ * @param {string} organizationStoredInfoTypeName
+ * A fully-qualified path representing organization_stored_info_type resource.
+ * @returns {string} A string representing the organization.
+ */
+ matchOrganizationFromOrganizationStoredInfoTypeName(organizationStoredInfoTypeName: string) {
+ return this.pathTemplates.organizationStoredInfoTypePathTemplate.match(organizationStoredInfoTypeName).organization;
+ }
+
+ /**
+ * Parse the stored_info_type from OrganizationStoredInfoType resource.
+ *
+ * @param {string} organizationStoredInfoTypeName
+ * A fully-qualified path representing organization_stored_info_type resource.
+ * @returns {string} A string representing the stored_info_type.
+ */
+ matchStoredInfoTypeFromOrganizationStoredInfoTypeName(organizationStoredInfoTypeName: string) {
+ return this.pathTemplates.organizationStoredInfoTypePathTemplate.match(organizationStoredInfoTypeName).stored_info_type;
+ }
+
+ /**
+ * Return a fully-qualified project resource name string.
+ *
+ * @param {string} project
+ * @returns {string} Resource name string.
+ */
+ projectPath(project:string) {
+ return this.pathTemplates.projectPathTemplate.render({
+ project: project,
+ });
+ }
+
+ /**
+ * Parse the project from Project resource.
+ *
+ * @param {string} projectName
+ * A fully-qualified path representing Project resource.
+ * @returns {string} A string representing the project.
+ */
+ matchProjectFromProjectName(projectName: string) {
+ return this.pathTemplates.projectPathTemplate.match(projectName).project;
+ }
+
+ /**
+ * Return a fully-qualified projectDeidentifyTemplate resource name string.
+ *
+ * @param {string} project
+ * @param {string} deidentify_template
+ * @returns {string} Resource name string.
+ */
+ projectDeidentifyTemplatePath(project:string,deidentifyTemplate:string) {
+ return this.pathTemplates.projectDeidentifyTemplatePathTemplate.render({
+ project: project,
+ deidentify_template: deidentifyTemplate,
+ });
+ }
+
+ /**
+ * Parse the project from ProjectDeidentifyTemplate resource.
+ *
+ * @param {string} projectDeidentifyTemplateName
+ * A fully-qualified path representing project_deidentify_template resource.
+ * @returns {string} A string representing the project.
+ */
+ matchProjectFromProjectDeidentifyTemplateName(projectDeidentifyTemplateName: string) {
+ return this.pathTemplates.projectDeidentifyTemplatePathTemplate.match(projectDeidentifyTemplateName).project;
+ }
+
+ /**
+ * Parse the deidentify_template from ProjectDeidentifyTemplate resource.
+ *
+ * @param {string} projectDeidentifyTemplateName
+ * A fully-qualified path representing project_deidentify_template resource.
+ * @returns {string} A string representing the deidentify_template.
+ */
+ matchDeidentifyTemplateFromProjectDeidentifyTemplateName(projectDeidentifyTemplateName: string) {
+ return this.pathTemplates.projectDeidentifyTemplatePathTemplate.match(projectDeidentifyTemplateName).deidentify_template;
+ }
+
+ /**
+ * Return a fully-qualified projectDlpContent resource name string.
+ *
+ * @param {string} project
+ * @returns {string} Resource name string.
+ */
+ projectDlpContentPath(project:string) {
+ return this.pathTemplates.projectDlpContentPathTemplate.render({
+ project: project,
+ });
+ }
+
+ /**
+ * Parse the project from ProjectDlpContent resource.
+ *
+ * @param {string} projectDlpContentName
+ * A fully-qualified path representing project_dlpContent resource.
+ * @returns {string} A string representing the project.
+ */
+ matchProjectFromProjectDlpContentName(projectDlpContentName: string) {
+ return this.pathTemplates.projectDlpContentPathTemplate.match(projectDlpContentName).project;
+ }
+
+ /**
+ * Return a fully-qualified projectDlpJob resource name string.
+ *
+ * @param {string} project
+ * @param {string} dlp_job
+ * @returns {string} Resource name string.
+ */
+ projectDlpJobPath(project:string,dlpJob:string) {
+ return this.pathTemplates.projectDlpJobPathTemplate.render({
+ project: project,
+ dlp_job: dlpJob,
+ });
+ }
+
+ /**
+ * Parse the project from ProjectDlpJob resource.
+ *
+ * @param {string} projectDlpJobName
+ * A fully-qualified path representing project_dlp_job resource.
+ * @returns {string} A string representing the project.
+ */
+ matchProjectFromProjectDlpJobName(projectDlpJobName: string) {
+ return this.pathTemplates.projectDlpJobPathTemplate.match(projectDlpJobName).project;
+ }
+
+ /**
+ * Parse the dlp_job from ProjectDlpJob resource.
+ *
+ * @param {string} projectDlpJobName
+ * A fully-qualified path representing project_dlp_job resource.
+ * @returns {string} A string representing the dlp_job.
+ */
+ matchDlpJobFromProjectDlpJobName(projectDlpJobName: string) {
+ return this.pathTemplates.projectDlpJobPathTemplate.match(projectDlpJobName).dlp_job;
+ }
+
+ /**
+ * Return a fully-qualified projectInspectTemplate resource name string.
+ *
+ * @param {string} project
+ * @param {string} inspect_template
+ * @returns {string} Resource name string.
+ */
+ projectInspectTemplatePath(project:string,inspectTemplate:string) {
+ return this.pathTemplates.projectInspectTemplatePathTemplate.render({
+ project: project,
+ inspect_template: inspectTemplate,
+ });
+ }
+
+ /**
+ * Parse the project from ProjectInspectTemplate resource.
+ *
+ * @param {string} projectInspectTemplateName
+ * A fully-qualified path representing project_inspect_template resource.
+ * @returns {string} A string representing the project.
+ */
+ matchProjectFromProjectInspectTemplateName(projectInspectTemplateName: string) {
+ return this.pathTemplates.projectInspectTemplatePathTemplate.match(projectInspectTemplateName).project;
+ }
+
+ /**
+ * Parse the inspect_template from ProjectInspectTemplate resource.
+ *
+ * @param {string} projectInspectTemplateName
+ * A fully-qualified path representing project_inspect_template resource.
+ * @returns {string} A string representing the inspect_template.
+ */
+ matchInspectTemplateFromProjectInspectTemplateName(projectInspectTemplateName: string) {
+ return this.pathTemplates.projectInspectTemplatePathTemplate.match(projectInspectTemplateName).inspect_template;
+ }
+
+ /**
+ * Return a fully-qualified projectJobTrigger resource name string.
+ *
+ * @param {string} project
+ * @param {string} job_trigger
+ * @returns {string} Resource name string.
+ */
+ projectJobTriggerPath(project:string,jobTrigger:string) {
+ return this.pathTemplates.projectJobTriggerPathTemplate.render({
+ project: project,
+ job_trigger: jobTrigger,
+ });
+ }
+
+ /**
+ * Parse the project from ProjectJobTrigger resource.
+ *
+ * @param {string} projectJobTriggerName
+ * A fully-qualified path representing project_job_trigger resource.
+ * @returns {string} A string representing the project.
+ */
+ matchProjectFromProjectJobTriggerName(projectJobTriggerName: string) {
+ return this.pathTemplates.projectJobTriggerPathTemplate.match(projectJobTriggerName).project;
+ }
+
+ /**
+ * Parse the job_trigger from ProjectJobTrigger resource.
+ *
+ * @param {string} projectJobTriggerName
+ * A fully-qualified path representing project_job_trigger resource.
+ * @returns {string} A string representing the job_trigger.
+ */
+ matchJobTriggerFromProjectJobTriggerName(projectJobTriggerName: string) {
+ return this.pathTemplates.projectJobTriggerPathTemplate.match(projectJobTriggerName).job_trigger;
+ }
+
+ /**
+ * Return a fully-qualified projectLocationDeidentifyTemplate resource name string.
+ *
+ * @param {string} project
+ * @param {string} location
+ * @param {string} deidentify_template
+ * @returns {string} Resource name string.
+ */
+ projectLocationDeidentifyTemplatePath(project:string,location:string,deidentifyTemplate:string) {
+ return this.pathTemplates.projectLocationDeidentifyTemplatePathTemplate.render({
+ project: project,
+ location: location,
+ deidentify_template: deidentifyTemplate,
+ });
+ }
+
+ /**
+ * Parse the project from ProjectLocationDeidentifyTemplate resource.
+ *
+ * @param {string} projectLocationDeidentifyTemplateName
+ * A fully-qualified path representing project_location_deidentify_template resource.
+ * @returns {string} A string representing the project.
+ */
+ matchProjectFromProjectLocationDeidentifyTemplateName(projectLocationDeidentifyTemplateName: string) {
+ return this.pathTemplates.projectLocationDeidentifyTemplatePathTemplate.match(projectLocationDeidentifyTemplateName).project;
+ }
+
+ /**
+ * Parse the location from ProjectLocationDeidentifyTemplate resource.
+ *
+ * @param {string} projectLocationDeidentifyTemplateName
+ * A fully-qualified path representing project_location_deidentify_template resource.
+ * @returns {string} A string representing the location.
+ */
+ matchLocationFromProjectLocationDeidentifyTemplateName(projectLocationDeidentifyTemplateName: string) {
+ return this.pathTemplates.projectLocationDeidentifyTemplatePathTemplate.match(projectLocationDeidentifyTemplateName).location;
+ }
+
+ /**
+ * Parse the deidentify_template from ProjectLocationDeidentifyTemplate resource.
+ *
+ * @param {string} projectLocationDeidentifyTemplateName
+ * A fully-qualified path representing project_location_deidentify_template resource.
+ * @returns {string} A string representing the deidentify_template.
+ */
+ matchDeidentifyTemplateFromProjectLocationDeidentifyTemplateName(projectLocationDeidentifyTemplateName: string) {
+ return this.pathTemplates.projectLocationDeidentifyTemplatePathTemplate.match(projectLocationDeidentifyTemplateName).deidentify_template;
+ }
+
+ /**
+ * Return a fully-qualified projectLocationDlpJob resource name string.
+ *
+ * @param {string} project
+ * @param {string} location
+ * @param {string} dlp_job
+ * @returns {string} Resource name string.
+ */
+ projectLocationDlpJobPath(project:string,location:string,dlpJob:string) {
+ return this.pathTemplates.projectLocationDlpJobPathTemplate.render({
+ project: project,
+ location: location,
+ dlp_job: dlpJob,
+ });
+ }
+
+ /**
+ * Parse the project from ProjectLocationDlpJob resource.
+ *
+ * @param {string} projectLocationDlpJobName
+ * A fully-qualified path representing project_location_dlp_job resource.
+ * @returns {string} A string representing the project.
+ */
+ matchProjectFromProjectLocationDlpJobName(projectLocationDlpJobName: string) {
+ return this.pathTemplates.projectLocationDlpJobPathTemplate.match(projectLocationDlpJobName).project;
+ }
+
+ /**
+ * Parse the location from ProjectLocationDlpJob resource.
+ *
+ * @param {string} projectLocationDlpJobName
+ * A fully-qualified path representing project_location_dlp_job resource.
+ * @returns {string} A string representing the location.
+ */
+ matchLocationFromProjectLocationDlpJobName(projectLocationDlpJobName: string) {
+ return this.pathTemplates.projectLocationDlpJobPathTemplate.match(projectLocationDlpJobName).location;
+ }
+
+ /**
+ * Parse the dlp_job from ProjectLocationDlpJob resource.
+ *
+ * @param {string} projectLocationDlpJobName
+ * A fully-qualified path representing project_location_dlp_job resource.
+ * @returns {string} A string representing the dlp_job.
+ */
+ matchDlpJobFromProjectLocationDlpJobName(projectLocationDlpJobName: string) {
+ return this.pathTemplates.projectLocationDlpJobPathTemplate.match(projectLocationDlpJobName).dlp_job;
+ }
+
+ /**
+ * Return a fully-qualified projectLocationInspectTemplate resource name string.
+ *
+ * @param {string} project
+ * @param {string} location
+ * @param {string} inspect_template
+ * @returns {string} Resource name string.
+ */
+ projectLocationInspectTemplatePath(project:string,location:string,inspectTemplate:string) {
+ return this.pathTemplates.projectLocationInspectTemplatePathTemplate.render({
+ project: project,
+ location: location,
+ inspect_template: inspectTemplate,
+ });
+ }
+
+ /**
+ * Parse the project from ProjectLocationInspectTemplate resource.
+ *
+ * @param {string} projectLocationInspectTemplateName
+ * A fully-qualified path representing project_location_inspect_template resource.
+ * @returns {string} A string representing the project.
+ */
+ matchProjectFromProjectLocationInspectTemplateName(projectLocationInspectTemplateName: string) {
+ return this.pathTemplates.projectLocationInspectTemplatePathTemplate.match(projectLocationInspectTemplateName).project;
+ }
+
+ /**
+ * Parse the location from ProjectLocationInspectTemplate resource.
+ *
+ * @param {string} projectLocationInspectTemplateName
+ * A fully-qualified path representing project_location_inspect_template resource.
+ * @returns {string} A string representing the location.
+ */
+ matchLocationFromProjectLocationInspectTemplateName(projectLocationInspectTemplateName: string) {
+ return this.pathTemplates.projectLocationInspectTemplatePathTemplate.match(projectLocationInspectTemplateName).location;
+ }
+
+ /**
+ * Parse the inspect_template from ProjectLocationInspectTemplate resource.
+ *
+ * @param {string} projectLocationInspectTemplateName
+ * A fully-qualified path representing project_location_inspect_template resource.
+ * @returns {string} A string representing the inspect_template.
+ */
+ matchInspectTemplateFromProjectLocationInspectTemplateName(projectLocationInspectTemplateName: string) {
+ return this.pathTemplates.projectLocationInspectTemplatePathTemplate.match(projectLocationInspectTemplateName).inspect_template;
+ }
+
+ /**
+ * Return a fully-qualified projectLocationJobTrigger resource name string.
+ *
+ * @param {string} project
+ * @param {string} location
+ * @param {string} job_trigger
+ * @returns {string} Resource name string.
+ */
+ projectLocationJobTriggerPath(project:string,location:string,jobTrigger:string) {
+ return this.pathTemplates.projectLocationJobTriggerPathTemplate.render({
+ project: project,
+ location: location,
+ job_trigger: jobTrigger,
+ });
+ }
+
+ /**
+ * Parse the project from ProjectLocationJobTrigger resource.
+ *
+ * @param {string} projectLocationJobTriggerName
+ * A fully-qualified path representing project_location_job_trigger resource.
+ * @returns {string} A string representing the project.
+ */
+ matchProjectFromProjectLocationJobTriggerName(projectLocationJobTriggerName: string) {
+ return this.pathTemplates.projectLocationJobTriggerPathTemplate.match(projectLocationJobTriggerName).project;
+ }
+
+ /**
+ * Parse the location from ProjectLocationJobTrigger resource.
+ *
+ * @param {string} projectLocationJobTriggerName
+ * A fully-qualified path representing project_location_job_trigger resource.
+ * @returns {string} A string representing the location.
+ */
+ matchLocationFromProjectLocationJobTriggerName(projectLocationJobTriggerName: string) {
+ return this.pathTemplates.projectLocationJobTriggerPathTemplate.match(projectLocationJobTriggerName).location;
+ }
+
+ /**
+ * Parse the job_trigger from ProjectLocationJobTrigger resource.
+ *
+ * @param {string} projectLocationJobTriggerName
+ * A fully-qualified path representing project_location_job_trigger resource.
+ * @returns {string} A string representing the job_trigger.
+ */
+ matchJobTriggerFromProjectLocationJobTriggerName(projectLocationJobTriggerName: string) {
+ return this.pathTemplates.projectLocationJobTriggerPathTemplate.match(projectLocationJobTriggerName).job_trigger;
+ }
+
+ /**
+ * Return a fully-qualified projectLocationStoredInfoType resource name string.
+ *
+ * @param {string} project
+ * @param {string} location
+ * @param {string} stored_info_type
+ * @returns {string} Resource name string.
+ */
+ projectLocationStoredInfoTypePath(project:string,location:string,storedInfoType:string) {
+ return this.pathTemplates.projectLocationStoredInfoTypePathTemplate.render({
+ project: project,
+ location: location,
+ stored_info_type: storedInfoType,
+ });
+ }
+
+ /**
+ * Parse the project from ProjectLocationStoredInfoType resource.
+ *
+ * @param {string} projectLocationStoredInfoTypeName
+ * A fully-qualified path representing project_location_stored_info_type resource.
+ * @returns {string} A string representing the project.
+ */
+ matchProjectFromProjectLocationStoredInfoTypeName(projectLocationStoredInfoTypeName: string) {
+ return this.pathTemplates.projectLocationStoredInfoTypePathTemplate.match(projectLocationStoredInfoTypeName).project;
+ }
+
+ /**
+ * Parse the location from ProjectLocationStoredInfoType resource.
+ *
+ * @param {string} projectLocationStoredInfoTypeName
+ * A fully-qualified path representing project_location_stored_info_type resource.
+ * @returns {string} A string representing the location.
+ */
+ matchLocationFromProjectLocationStoredInfoTypeName(projectLocationStoredInfoTypeName: string) {
+ return this.pathTemplates.projectLocationStoredInfoTypePathTemplate.match(projectLocationStoredInfoTypeName).location;
+ }
+
+ /**
+ * Parse the stored_info_type from ProjectLocationStoredInfoType resource.
+ *
+ * @param {string} projectLocationStoredInfoTypeName
+ * A fully-qualified path representing project_location_stored_info_type resource.
+ * @returns {string} A string representing the stored_info_type.
+ */
+ matchStoredInfoTypeFromProjectLocationStoredInfoTypeName(projectLocationStoredInfoTypeName: string) {
+ return this.pathTemplates.projectLocationStoredInfoTypePathTemplate.match(projectLocationStoredInfoTypeName).stored_info_type;
+ }
+
+ /**
+ * Return a fully-qualified projectStoredInfoType resource name string.
+ *
+ * @param {string} project
+ * @param {string} stored_info_type
+ * @returns {string} Resource name string.
+ */
+ projectStoredInfoTypePath(project:string,storedInfoType:string) {
+ return this.pathTemplates.projectStoredInfoTypePathTemplate.render({
+ project: project,
+ stored_info_type: storedInfoType,
+ });
+ }
+
+ /**
+ * Parse the project from ProjectStoredInfoType resource.
+ *
+ * @param {string} projectStoredInfoTypeName
+ * A fully-qualified path representing project_stored_info_type resource.
+ * @returns {string} A string representing the project.
+ */
+ matchProjectFromProjectStoredInfoTypeName(projectStoredInfoTypeName: string) {
+ return this.pathTemplates.projectStoredInfoTypePathTemplate.match(projectStoredInfoTypeName).project;
+ }
+
+ /**
+ * Parse the stored_info_type from ProjectStoredInfoType resource.
+ *
+ * @param {string} projectStoredInfoTypeName
+ * A fully-qualified path representing project_stored_info_type resource.
+ * @returns {string} A string representing the stored_info_type.
+ */
+ matchStoredInfoTypeFromProjectStoredInfoTypeName(projectStoredInfoTypeName: string) {
+ return this.pathTemplates.projectStoredInfoTypePathTemplate.match(projectStoredInfoTypeName).stored_info_type;
+ }
+
+ /**
+ * Terminate the gRPC channel and close the client.
+ *
+ * The client will no longer be usable and all future behavior is undefined.
+ * @returns {Promise} A promise that resolves when the client is closed.
+ */
+ close(): Promise {
+ this.initialize();
+ if (!this._terminated) {
+ return this.dlpServiceStub!.then(stub => {
+ this._terminated = true;
+ stub.close();
+ });
+ }
+ return Promise.resolve();
+ }
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/v2/dlp_service_client_config.json b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/v2/dlp_service_client_config.json
new file mode 100644
index 000000000..bcdbe63fe
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/v2/dlp_service_client_config.json
@@ -0,0 +1,196 @@
+{
+ "interfaces": {
+ "google.privacy.dlp.v2.DlpService": {
+ "retry_codes": {
+ "non_idempotent": [],
+ "idempotent": [
+ "DEADLINE_EXCEEDED",
+ "UNAVAILABLE"
+ ]
+ },
+ "retry_params": {
+ "default": {
+ "initial_retry_delay_millis": 100,
+ "retry_delay_multiplier": 1.3,
+ "max_retry_delay_millis": 60000,
+ "initial_rpc_timeout_millis": 60000,
+ "rpc_timeout_multiplier": 1,
+ "max_rpc_timeout_millis": 60000,
+ "total_timeout_millis": 600000
+ }
+ },
+ "methods": {
+ "InspectContent": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "RedactImage": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "DeidentifyContent": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "ReidentifyContent": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "ListInfoTypes": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "CreateInspectTemplate": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "UpdateInspectTemplate": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "GetInspectTemplate": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "ListInspectTemplates": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "DeleteInspectTemplate": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "CreateDeidentifyTemplate": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "UpdateDeidentifyTemplate": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "GetDeidentifyTemplate": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "ListDeidentifyTemplates": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "DeleteDeidentifyTemplate": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "CreateJobTrigger": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "UpdateJobTrigger": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "HybridInspectJobTrigger": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "GetJobTrigger": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "ListJobTriggers": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "DeleteJobTrigger": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "ActivateJobTrigger": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "CreateDlpJob": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "ListDlpJobs": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "GetDlpJob": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "DeleteDlpJob": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "CancelDlpJob": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "CreateStoredInfoType": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "UpdateStoredInfoType": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "GetStoredInfoType": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "ListStoredInfoTypes": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "DeleteStoredInfoType": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "idempotent",
+ "retry_params_name": "default"
+ },
+ "HybridInspectDlpJob": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ },
+ "FinishDlpJob": {
+ "timeout_millis": 300000,
+ "retry_codes_name": "non_idempotent",
+ "retry_params_name": "default"
+ }
+ }
+ }
+ }
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/v2/dlp_service_proto_list.json b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/v2/dlp_service_proto_list.json
new file mode 100644
index 000000000..482924bde
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/v2/dlp_service_proto_list.json
@@ -0,0 +1,4 @@
+[
+ "../../protos/google/privacy/dlp/v2/dlp.proto",
+ "../../protos/google/privacy/dlp/v2/storage.proto"
+]
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/v2/gapic_metadata.json b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/v2/gapic_metadata.json
new file mode 100644
index 000000000..e82d006d6
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/v2/gapic_metadata.json
@@ -0,0 +1,383 @@
+{
+ "schema": "1.0",
+ "comment": "This file maps proto services/RPCs to the corresponding library clients/methods",
+ "language": "typescript",
+ "protoPackage": "google.privacy.dlp.v2",
+ "libraryPackage": "@google-cloud/dlp",
+ "services": {
+ "DlpService": {
+ "clients": {
+ "grpc": {
+ "libraryClient": "DlpServiceClient",
+ "rpcs": {
+ "InspectContent": {
+ "methods": [
+ "inspectContent"
+ ]
+ },
+ "RedactImage": {
+ "methods": [
+ "redactImage"
+ ]
+ },
+ "DeidentifyContent": {
+ "methods": [
+ "deidentifyContent"
+ ]
+ },
+ "ReidentifyContent": {
+ "methods": [
+ "reidentifyContent"
+ ]
+ },
+ "ListInfoTypes": {
+ "methods": [
+ "listInfoTypes"
+ ]
+ },
+ "CreateInspectTemplate": {
+ "methods": [
+ "createInspectTemplate"
+ ]
+ },
+ "UpdateInspectTemplate": {
+ "methods": [
+ "updateInspectTemplate"
+ ]
+ },
+ "GetInspectTemplate": {
+ "methods": [
+ "getInspectTemplate"
+ ]
+ },
+ "DeleteInspectTemplate": {
+ "methods": [
+ "deleteInspectTemplate"
+ ]
+ },
+ "CreateDeidentifyTemplate": {
+ "methods": [
+ "createDeidentifyTemplate"
+ ]
+ },
+ "UpdateDeidentifyTemplate": {
+ "methods": [
+ "updateDeidentifyTemplate"
+ ]
+ },
+ "GetDeidentifyTemplate": {
+ "methods": [
+ "getDeidentifyTemplate"
+ ]
+ },
+ "DeleteDeidentifyTemplate": {
+ "methods": [
+ "deleteDeidentifyTemplate"
+ ]
+ },
+ "CreateJobTrigger": {
+ "methods": [
+ "createJobTrigger"
+ ]
+ },
+ "UpdateJobTrigger": {
+ "methods": [
+ "updateJobTrigger"
+ ]
+ },
+ "HybridInspectJobTrigger": {
+ "methods": [
+ "hybridInspectJobTrigger"
+ ]
+ },
+ "GetJobTrigger": {
+ "methods": [
+ "getJobTrigger"
+ ]
+ },
+ "DeleteJobTrigger": {
+ "methods": [
+ "deleteJobTrigger"
+ ]
+ },
+ "ActivateJobTrigger": {
+ "methods": [
+ "activateJobTrigger"
+ ]
+ },
+ "CreateDlpJob": {
+ "methods": [
+ "createDlpJob"
+ ]
+ },
+ "GetDlpJob": {
+ "methods": [
+ "getDlpJob"
+ ]
+ },
+ "DeleteDlpJob": {
+ "methods": [
+ "deleteDlpJob"
+ ]
+ },
+ "CancelDlpJob": {
+ "methods": [
+ "cancelDlpJob"
+ ]
+ },
+ "CreateStoredInfoType": {
+ "methods": [
+ "createStoredInfoType"
+ ]
+ },
+ "UpdateStoredInfoType": {
+ "methods": [
+ "updateStoredInfoType"
+ ]
+ },
+ "GetStoredInfoType": {
+ "methods": [
+ "getStoredInfoType"
+ ]
+ },
+ "DeleteStoredInfoType": {
+ "methods": [
+ "deleteStoredInfoType"
+ ]
+ },
+ "HybridInspectDlpJob": {
+ "methods": [
+ "hybridInspectDlpJob"
+ ]
+ },
+ "FinishDlpJob": {
+ "methods": [
+ "finishDlpJob"
+ ]
+ },
+ "ListInspectTemplates": {
+ "methods": [
+ "listInspectTemplates",
+ "listInspectTemplatesStream",
+ "listInspectTemplatesAsync"
+ ]
+ },
+ "ListDeidentifyTemplates": {
+ "methods": [
+ "listDeidentifyTemplates",
+ "listDeidentifyTemplatesStream",
+ "listDeidentifyTemplatesAsync"
+ ]
+ },
+ "ListJobTriggers": {
+ "methods": [
+ "listJobTriggers",
+ "listJobTriggersStream",
+ "listJobTriggersAsync"
+ ]
+ },
+ "ListDlpJobs": {
+ "methods": [
+ "listDlpJobs",
+ "listDlpJobsStream",
+ "listDlpJobsAsync"
+ ]
+ },
+ "ListStoredInfoTypes": {
+ "methods": [
+ "listStoredInfoTypes",
+ "listStoredInfoTypesStream",
+ "listStoredInfoTypesAsync"
+ ]
+ }
+ }
+ },
+ "grpc-fallback": {
+ "libraryClient": "DlpServiceClient",
+ "rpcs": {
+ "InspectContent": {
+ "methods": [
+ "inspectContent"
+ ]
+ },
+ "RedactImage": {
+ "methods": [
+ "redactImage"
+ ]
+ },
+ "DeidentifyContent": {
+ "methods": [
+ "deidentifyContent"
+ ]
+ },
+ "ReidentifyContent": {
+ "methods": [
+ "reidentifyContent"
+ ]
+ },
+ "ListInfoTypes": {
+ "methods": [
+ "listInfoTypes"
+ ]
+ },
+ "CreateInspectTemplate": {
+ "methods": [
+ "createInspectTemplate"
+ ]
+ },
+ "UpdateInspectTemplate": {
+ "methods": [
+ "updateInspectTemplate"
+ ]
+ },
+ "GetInspectTemplate": {
+ "methods": [
+ "getInspectTemplate"
+ ]
+ },
+ "DeleteInspectTemplate": {
+ "methods": [
+ "deleteInspectTemplate"
+ ]
+ },
+ "CreateDeidentifyTemplate": {
+ "methods": [
+ "createDeidentifyTemplate"
+ ]
+ },
+ "UpdateDeidentifyTemplate": {
+ "methods": [
+ "updateDeidentifyTemplate"
+ ]
+ },
+ "GetDeidentifyTemplate": {
+ "methods": [
+ "getDeidentifyTemplate"
+ ]
+ },
+ "DeleteDeidentifyTemplate": {
+ "methods": [
+ "deleteDeidentifyTemplate"
+ ]
+ },
+ "CreateJobTrigger": {
+ "methods": [
+ "createJobTrigger"
+ ]
+ },
+ "UpdateJobTrigger": {
+ "methods": [
+ "updateJobTrigger"
+ ]
+ },
+ "HybridInspectJobTrigger": {
+ "methods": [
+ "hybridInspectJobTrigger"
+ ]
+ },
+ "GetJobTrigger": {
+ "methods": [
+ "getJobTrigger"
+ ]
+ },
+ "DeleteJobTrigger": {
+ "methods": [
+ "deleteJobTrigger"
+ ]
+ },
+ "ActivateJobTrigger": {
+ "methods": [
+ "activateJobTrigger"
+ ]
+ },
+ "CreateDlpJob": {
+ "methods": [
+ "createDlpJob"
+ ]
+ },
+ "GetDlpJob": {
+ "methods": [
+ "getDlpJob"
+ ]
+ },
+ "DeleteDlpJob": {
+ "methods": [
+ "deleteDlpJob"
+ ]
+ },
+ "CancelDlpJob": {
+ "methods": [
+ "cancelDlpJob"
+ ]
+ },
+ "CreateStoredInfoType": {
+ "methods": [
+ "createStoredInfoType"
+ ]
+ },
+ "UpdateStoredInfoType": {
+ "methods": [
+ "updateStoredInfoType"
+ ]
+ },
+ "GetStoredInfoType": {
+ "methods": [
+ "getStoredInfoType"
+ ]
+ },
+ "DeleteStoredInfoType": {
+ "methods": [
+ "deleteStoredInfoType"
+ ]
+ },
+ "HybridInspectDlpJob": {
+ "methods": [
+ "hybridInspectDlpJob"
+ ]
+ },
+ "FinishDlpJob": {
+ "methods": [
+ "finishDlpJob"
+ ]
+ },
+ "ListInspectTemplates": {
+ "methods": [
+ "listInspectTemplates",
+ "listInspectTemplatesStream",
+ "listInspectTemplatesAsync"
+ ]
+ },
+ "ListDeidentifyTemplates": {
+ "methods": [
+ "listDeidentifyTemplates",
+ "listDeidentifyTemplatesStream",
+ "listDeidentifyTemplatesAsync"
+ ]
+ },
+ "ListJobTriggers": {
+ "methods": [
+ "listJobTriggers",
+ "listJobTriggersStream",
+ "listJobTriggersAsync"
+ ]
+ },
+ "ListDlpJobs": {
+ "methods": [
+ "listDlpJobs",
+ "listDlpJobsStream",
+ "listDlpJobsAsync"
+ ]
+ },
+ "ListStoredInfoTypes": {
+ "methods": [
+ "listStoredInfoTypes",
+ "listStoredInfoTypesStream",
+ "listStoredInfoTypesAsync"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/v2/index.ts b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/v2/index.ts
new file mode 100644
index 000000000..2e558b1cf
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/src/v2/index.ts
@@ -0,0 +1,19 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// ** This file is automatically generated by gapic-generator-typescript. **
+// ** https://github.com/googleapis/gapic-generator-typescript **
+// ** All changes to this file may be overwritten. **
+
+export {DlpServiceClient} from './dlp_service_client';
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/system-test/fixtures/sample/src/index.js b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/system-test/fixtures/sample/src/index.js
new file mode 100644
index 000000000..e29c33569
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/system-test/fixtures/sample/src/index.js
@@ -0,0 +1,27 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// ** This file is automatically generated by gapic-generator-typescript. **
+// ** https://github.com/googleapis/gapic-generator-typescript **
+// ** All changes to this file may be overwritten. **
+
+
+/* eslint-disable node/no-missing-require, no-unused-vars */
+const dlp = require('@google-cloud/dlp');
+
+function main() {
+ const dlpServiceClient = new dlp.DlpServiceClient();
+}
+
+main();
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/system-test/fixtures/sample/src/index.ts b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/system-test/fixtures/sample/src/index.ts
new file mode 100644
index 000000000..56e734bc1
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/system-test/fixtures/sample/src/index.ts
@@ -0,0 +1,32 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// ** This file is automatically generated by gapic-generator-typescript. **
+// ** https://github.com/googleapis/gapic-generator-typescript **
+// ** All changes to this file may be overwritten. **
+
+import {DlpServiceClient} from '@google-cloud/dlp';
+
+// check that the client class type name can be used
+function doStuffWithDlpServiceClient(client: DlpServiceClient) {
+ client.close();
+}
+
+function main() {
+ // check that the client instance can be created
+ const dlpServiceClient = new DlpServiceClient();
+ doStuffWithDlpServiceClient(dlpServiceClient);
+}
+
+main();
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/system-test/install.ts b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/system-test/install.ts
new file mode 100644
index 000000000..1f850b522
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/system-test/install.ts
@@ -0,0 +1,49 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// ** This file is automatically generated by gapic-generator-typescript. **
+// ** https://github.com/googleapis/gapic-generator-typescript **
+// ** All changes to this file may be overwritten. **
+
+import { packNTest } from 'pack-n-play';
+import { readFileSync } from 'fs';
+import { describe, it } from 'mocha';
+
+describe('📦 pack-n-play test', () => {
+
+ it('TypeScript code', async function() {
+ this.timeout(300000);
+ const options = {
+ packageDir: process.cwd(),
+ sample: {
+ description: 'TypeScript user can use the type definitions',
+ ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString()
+ }
+ };
+ await packNTest(options);
+ });
+
+ it('JavaScript code', async function() {
+ this.timeout(300000);
+ const options = {
+ packageDir: process.cwd(),
+ sample: {
+ description: 'JavaScript user can use the library',
+ ts: readFileSync('./system-test/fixtures/sample/src/index.js').toString()
+ }
+ };
+ await packNTest(options);
+ });
+
+});
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/test/gapic_dlp_service_v2.ts b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/test/gapic_dlp_service_v2.ts
new file mode 100644
index 000000000..c4c610fc1
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/test/gapic_dlp_service_v2.ts
@@ -0,0 +1,4524 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// ** This file is automatically generated by gapic-generator-typescript. **
+// ** https://github.com/googleapis/gapic-generator-typescript **
+// ** All changes to this file may be overwritten. **
+
+import * as protos from '../protos/protos';
+import * as assert from 'assert';
+import * as sinon from 'sinon';
+import {SinonStub} from 'sinon';
+import { describe, it } from 'mocha';
+import * as dlpserviceModule from '../src';
+
+import {PassThrough} from 'stream';
+
+import {protobuf} from 'google-gax';
+
+function generateSampleMessage(instance: T) {
+ const filledObject = (instance.constructor as typeof protobuf.Message)
+ .toObject(instance as protobuf.Message, {defaults: true});
+ return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+}
+
+function stubSimpleCall(response?: ResponseType, error?: Error) {
+ return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+}
+
+function stubSimpleCallWithCallback(response?: ResponseType, error?: Error) {
+ return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+}
+
+function stubPageStreamingCall(responses?: ResponseType[], error?: Error) {
+ const pagingStub = sinon.stub();
+ if (responses) {
+ for (let i = 0; i < responses.length; ++i) {
+ pagingStub.onCall(i).callsArgWith(2, null, responses[i]);
+ }
+ }
+ const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub;
+ const mockStream = new PassThrough({
+ objectMode: true,
+ transform: transformStub,
+ });
+ // trigger as many responses as needed
+ if (responses) {
+ for (let i = 0; i < responses.length; ++i) {
+ setImmediate(() => { mockStream.write({}); });
+ }
+ setImmediate(() => { mockStream.end(); });
+ } else {
+ setImmediate(() => { mockStream.write({}); });
+ setImmediate(() => { mockStream.end(); });
+ }
+ return sinon.stub().returns(mockStream);
+}
+
+function stubAsyncIterationCall(responses?: ResponseType[], error?: Error) {
+ let counter = 0;
+ const asyncIterable = {
+ [Symbol.asyncIterator]() {
+ return {
+ async next() {
+ if (error) {
+ return Promise.reject(error);
+ }
+ if (counter >= responses!.length) {
+ return Promise.resolve({done: true, value: undefined});
+ }
+ return Promise.resolve({done: false, value: responses![counter++]});
+ }
+ };
+ }
+ };
+ return sinon.stub().returns(asyncIterable);
+}
+
+describe('v2.DlpServiceClient', () => {
+ it('has servicePath', () => {
+ const servicePath = dlpserviceModule.v2.DlpServiceClient.servicePath;
+ assert(servicePath);
+ });
+
+ it('has apiEndpoint', () => {
+ const apiEndpoint = dlpserviceModule.v2.DlpServiceClient.apiEndpoint;
+ assert(apiEndpoint);
+ });
+
+ it('has port', () => {
+ const port = dlpserviceModule.v2.DlpServiceClient.port;
+ assert(port);
+ assert(typeof port === 'number');
+ });
+
+ it('should create a client with no option', () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient();
+ assert(client);
+ });
+
+ it('should create a client with gRPC fallback', () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ fallback: true,
+ });
+ assert(client);
+ });
+
+ it('has initialize method and supports deferred initialization', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: { client_email: 'bogus', private_key: 'bogus' },
+ projectId: 'bogus',
+ });
+ assert.strictEqual(client.dlpServiceStub, undefined);
+ await client.initialize();
+ assert(client.dlpServiceStub);
+ });
+
+ it('has close method', () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: { client_email: 'bogus', private_key: 'bogus' },
+ projectId: 'bogus',
+ });
+ client.close();
+ });
+
+ it('has getProjectId method', async () => {
+ const fakeProjectId = 'fake-project-id';
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: { client_email: 'bogus', private_key: 'bogus' },
+ projectId: 'bogus',
+ });
+ client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+ const result = await client.getProjectId();
+ assert.strictEqual(result, fakeProjectId);
+ assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+ });
+
+ it('has getProjectId method with callback', async () => {
+ const fakeProjectId = 'fake-project-id';
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: { client_email: 'bogus', private_key: 'bogus' },
+ projectId: 'bogus',
+ });
+ client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
+ const promise = new Promise((resolve, reject) => {
+ client.getProjectId((err?: Error|null, projectId?: string|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(projectId);
+ }
+ });
+ });
+ const result = await promise;
+ assert.strictEqual(result, fakeProjectId);
+ });
+
+ describe('inspectContent', () => {
+ it('invokes inspectContent without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.InspectContentRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.InspectContentResponse());
+ client.innerApiCalls.inspectContent = stubSimpleCall(expectedResponse);
+ const [response] = await client.inspectContent(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.inspectContent as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes inspectContent without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.InspectContentRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.InspectContentResponse());
+ client.innerApiCalls.inspectContent = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.inspectContent(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IInspectContentResponse|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.inspectContent as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes inspectContent with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.InspectContentRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.inspectContent = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.inspectContent(request), expectedError);
+ assert((client.innerApiCalls.inspectContent as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('redactImage', () => {
+ it('invokes redactImage without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.RedactImageRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.RedactImageResponse());
+ client.innerApiCalls.redactImage = stubSimpleCall(expectedResponse);
+ const [response] = await client.redactImage(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.redactImage as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes redactImage without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.RedactImageRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.RedactImageResponse());
+ client.innerApiCalls.redactImage = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.redactImage(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IRedactImageResponse|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.redactImage as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes redactImage with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.RedactImageRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.redactImage = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.redactImage(request), expectedError);
+ assert((client.innerApiCalls.redactImage as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('deidentifyContent', () => {
+ it('invokes deidentifyContent without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyContentRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyContentResponse());
+ client.innerApiCalls.deidentifyContent = stubSimpleCall(expectedResponse);
+ const [response] = await client.deidentifyContent(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.deidentifyContent as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes deidentifyContent without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyContentRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyContentResponse());
+ client.innerApiCalls.deidentifyContent = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.deidentifyContent(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IDeidentifyContentResponse|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.deidentifyContent as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes deidentifyContent with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyContentRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.deidentifyContent = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.deidentifyContent(request), expectedError);
+ assert((client.innerApiCalls.deidentifyContent as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('reidentifyContent', () => {
+ it('invokes reidentifyContent without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ReidentifyContentRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.ReidentifyContentResponse());
+ client.innerApiCalls.reidentifyContent = stubSimpleCall(expectedResponse);
+ const [response] = await client.reidentifyContent(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.reidentifyContent as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes reidentifyContent without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ReidentifyContentRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.ReidentifyContentResponse());
+ client.innerApiCalls.reidentifyContent = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.reidentifyContent(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IReidentifyContentResponse|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.reidentifyContent as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes reidentifyContent with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ReidentifyContentRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.reidentifyContent = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.reidentifyContent(request), expectedError);
+ assert((client.innerApiCalls.reidentifyContent as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('listInfoTypes', () => {
+ it('invokes listInfoTypes without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListInfoTypesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.ListInfoTypesResponse());
+ client.innerApiCalls.listInfoTypes = stubSimpleCall(expectedResponse);
+ const [response] = await client.listInfoTypes(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.listInfoTypes as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes listInfoTypes without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListInfoTypesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.ListInfoTypesResponse());
+ client.innerApiCalls.listInfoTypes = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.listInfoTypes(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IListInfoTypesResponse|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.listInfoTypes as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes listInfoTypes with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListInfoTypesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.listInfoTypes = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.listInfoTypes(request), expectedError);
+ assert((client.innerApiCalls.listInfoTypes as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('createInspectTemplate', () => {
+ it('invokes createInspectTemplate without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CreateInspectTemplateRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate());
+ client.innerApiCalls.createInspectTemplate = stubSimpleCall(expectedResponse);
+ const [response] = await client.createInspectTemplate(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.createInspectTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes createInspectTemplate without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CreateInspectTemplateRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate());
+ client.innerApiCalls.createInspectTemplate = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.createInspectTemplate(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IInspectTemplate|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.createInspectTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes createInspectTemplate with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CreateInspectTemplateRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.createInspectTemplate = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.createInspectTemplate(request), expectedError);
+ assert((client.innerApiCalls.createInspectTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('updateInspectTemplate', () => {
+ it('invokes updateInspectTemplate without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.UpdateInspectTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate());
+ client.innerApiCalls.updateInspectTemplate = stubSimpleCall(expectedResponse);
+ const [response] = await client.updateInspectTemplate(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.updateInspectTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes updateInspectTemplate without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.UpdateInspectTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate());
+ client.innerApiCalls.updateInspectTemplate = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.updateInspectTemplate(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IInspectTemplate|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.updateInspectTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes updateInspectTemplate with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.UpdateInspectTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.updateInspectTemplate = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.updateInspectTemplate(request), expectedError);
+ assert((client.innerApiCalls.updateInspectTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('getInspectTemplate', () => {
+ it('invokes getInspectTemplate without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.GetInspectTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate());
+ client.innerApiCalls.getInspectTemplate = stubSimpleCall(expectedResponse);
+ const [response] = await client.getInspectTemplate(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.getInspectTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes getInspectTemplate without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.GetInspectTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate());
+ client.innerApiCalls.getInspectTemplate = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.getInspectTemplate(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IInspectTemplate|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.getInspectTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes getInspectTemplate with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.GetInspectTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.getInspectTemplate = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.getInspectTemplate(request), expectedError);
+ assert((client.innerApiCalls.getInspectTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('deleteInspectTemplate', () => {
+ it('invokes deleteInspectTemplate without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeleteInspectTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty());
+ client.innerApiCalls.deleteInspectTemplate = stubSimpleCall(expectedResponse);
+ const [response] = await client.deleteInspectTemplate(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.deleteInspectTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes deleteInspectTemplate without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeleteInspectTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty());
+ client.innerApiCalls.deleteInspectTemplate = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.deleteInspectTemplate(
+ request,
+ (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.deleteInspectTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes deleteInspectTemplate with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeleteInspectTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.deleteInspectTemplate = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.deleteInspectTemplate(request), expectedError);
+ assert((client.innerApiCalls.deleteInspectTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('createDeidentifyTemplate', () => {
+ it('invokes createDeidentifyTemplate without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CreateDeidentifyTemplateRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate());
+ client.innerApiCalls.createDeidentifyTemplate = stubSimpleCall(expectedResponse);
+ const [response] = await client.createDeidentifyTemplate(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.createDeidentifyTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes createDeidentifyTemplate without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CreateDeidentifyTemplateRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate());
+ client.innerApiCalls.createDeidentifyTemplate = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.createDeidentifyTemplate(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IDeidentifyTemplate|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.createDeidentifyTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes createDeidentifyTemplate with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CreateDeidentifyTemplateRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.createDeidentifyTemplate = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.createDeidentifyTemplate(request), expectedError);
+ assert((client.innerApiCalls.createDeidentifyTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('updateDeidentifyTemplate', () => {
+ it('invokes updateDeidentifyTemplate without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate());
+ client.innerApiCalls.updateDeidentifyTemplate = stubSimpleCall(expectedResponse);
+ const [response] = await client.updateDeidentifyTemplate(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.updateDeidentifyTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes updateDeidentifyTemplate without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate());
+ client.innerApiCalls.updateDeidentifyTemplate = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.updateDeidentifyTemplate(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IDeidentifyTemplate|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.updateDeidentifyTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes updateDeidentifyTemplate with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.updateDeidentifyTemplate = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.updateDeidentifyTemplate(request), expectedError);
+ assert((client.innerApiCalls.updateDeidentifyTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('getDeidentifyTemplate', () => {
+ it('invokes getDeidentifyTemplate without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.GetDeidentifyTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate());
+ client.innerApiCalls.getDeidentifyTemplate = stubSimpleCall(expectedResponse);
+ const [response] = await client.getDeidentifyTemplate(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.getDeidentifyTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes getDeidentifyTemplate without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.GetDeidentifyTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate());
+ client.innerApiCalls.getDeidentifyTemplate = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.getDeidentifyTemplate(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IDeidentifyTemplate|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.getDeidentifyTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes getDeidentifyTemplate with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.GetDeidentifyTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.getDeidentifyTemplate = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.getDeidentifyTemplate(request), expectedError);
+ assert((client.innerApiCalls.getDeidentifyTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('deleteDeidentifyTemplate', () => {
+ it('invokes deleteDeidentifyTemplate without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty());
+ client.innerApiCalls.deleteDeidentifyTemplate = stubSimpleCall(expectedResponse);
+ const [response] = await client.deleteDeidentifyTemplate(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.deleteDeidentifyTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes deleteDeidentifyTemplate without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty());
+ client.innerApiCalls.deleteDeidentifyTemplate = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.deleteDeidentifyTemplate(
+ request,
+ (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.deleteDeidentifyTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes deleteDeidentifyTemplate with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.deleteDeidentifyTemplate = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.deleteDeidentifyTemplate(request), expectedError);
+ assert((client.innerApiCalls.deleteDeidentifyTemplate as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('createJobTrigger', () => {
+ it('invokes createJobTrigger without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CreateJobTriggerRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger());
+ client.innerApiCalls.createJobTrigger = stubSimpleCall(expectedResponse);
+ const [response] = await client.createJobTrigger(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.createJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes createJobTrigger without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CreateJobTriggerRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger());
+ client.innerApiCalls.createJobTrigger = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.createJobTrigger(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IJobTrigger|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.createJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes createJobTrigger with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CreateJobTriggerRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.createJobTrigger = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.createJobTrigger(request), expectedError);
+ assert((client.innerApiCalls.createJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('updateJobTrigger', () => {
+ it('invokes updateJobTrigger without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.UpdateJobTriggerRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger());
+ client.innerApiCalls.updateJobTrigger = stubSimpleCall(expectedResponse);
+ const [response] = await client.updateJobTrigger(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.updateJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes updateJobTrigger without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.UpdateJobTriggerRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger());
+ client.innerApiCalls.updateJobTrigger = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.updateJobTrigger(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IJobTrigger|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.updateJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes updateJobTrigger with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.UpdateJobTriggerRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.updateJobTrigger = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.updateJobTrigger(request), expectedError);
+ assert((client.innerApiCalls.updateJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('hybridInspectJobTrigger', () => {
+ it('invokes hybridInspectJobTrigger without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.HybridInspectJobTriggerRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.HybridInspectResponse());
+ client.innerApiCalls.hybridInspectJobTrigger = stubSimpleCall(expectedResponse);
+ const [response] = await client.hybridInspectJobTrigger(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.hybridInspectJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes hybridInspectJobTrigger without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.HybridInspectJobTriggerRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.HybridInspectResponse());
+ client.innerApiCalls.hybridInspectJobTrigger = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.hybridInspectJobTrigger(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IHybridInspectResponse|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.hybridInspectJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes hybridInspectJobTrigger with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.HybridInspectJobTriggerRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.hybridInspectJobTrigger = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.hybridInspectJobTrigger(request), expectedError);
+ assert((client.innerApiCalls.hybridInspectJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('getJobTrigger', () => {
+ it('invokes getJobTrigger without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.GetJobTriggerRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger());
+ client.innerApiCalls.getJobTrigger = stubSimpleCall(expectedResponse);
+ const [response] = await client.getJobTrigger(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.getJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes getJobTrigger without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.GetJobTriggerRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger());
+ client.innerApiCalls.getJobTrigger = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.getJobTrigger(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IJobTrigger|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.getJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes getJobTrigger with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.GetJobTriggerRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.getJobTrigger = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.getJobTrigger(request), expectedError);
+ assert((client.innerApiCalls.getJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('deleteJobTrigger', () => {
+ it('invokes deleteJobTrigger without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeleteJobTriggerRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty());
+ client.innerApiCalls.deleteJobTrigger = stubSimpleCall(expectedResponse);
+ const [response] = await client.deleteJobTrigger(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.deleteJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes deleteJobTrigger without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeleteJobTriggerRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty());
+ client.innerApiCalls.deleteJobTrigger = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.deleteJobTrigger(
+ request,
+ (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.deleteJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes deleteJobTrigger with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeleteJobTriggerRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.deleteJobTrigger = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.deleteJobTrigger(request), expectedError);
+ assert((client.innerApiCalls.deleteJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('activateJobTrigger', () => {
+ it('invokes activateJobTrigger without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ActivateJobTriggerRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob());
+ client.innerApiCalls.activateJobTrigger = stubSimpleCall(expectedResponse);
+ const [response] = await client.activateJobTrigger(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.activateJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes activateJobTrigger without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ActivateJobTriggerRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob());
+ client.innerApiCalls.activateJobTrigger = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.activateJobTrigger(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IDlpJob|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.activateJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes activateJobTrigger with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ActivateJobTriggerRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.activateJobTrigger = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.activateJobTrigger(request), expectedError);
+ assert((client.innerApiCalls.activateJobTrigger as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('createDlpJob', () => {
+ it('invokes createDlpJob without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CreateDlpJobRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob());
+ client.innerApiCalls.createDlpJob = stubSimpleCall(expectedResponse);
+ const [response] = await client.createDlpJob(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.createDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes createDlpJob without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CreateDlpJobRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob());
+ client.innerApiCalls.createDlpJob = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.createDlpJob(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IDlpJob|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.createDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes createDlpJob with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CreateDlpJobRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.createDlpJob = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.createDlpJob(request), expectedError);
+ assert((client.innerApiCalls.createDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('getDlpJob', () => {
+ it('invokes getDlpJob without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.GetDlpJobRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob());
+ client.innerApiCalls.getDlpJob = stubSimpleCall(expectedResponse);
+ const [response] = await client.getDlpJob(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.getDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes getDlpJob without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.GetDlpJobRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob());
+ client.innerApiCalls.getDlpJob = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.getDlpJob(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IDlpJob|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.getDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes getDlpJob with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.GetDlpJobRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.getDlpJob = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.getDlpJob(request), expectedError);
+ assert((client.innerApiCalls.getDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('deleteDlpJob', () => {
+ it('invokes deleteDlpJob without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeleteDlpJobRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty());
+ client.innerApiCalls.deleteDlpJob = stubSimpleCall(expectedResponse);
+ const [response] = await client.deleteDlpJob(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.deleteDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes deleteDlpJob without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeleteDlpJobRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty());
+ client.innerApiCalls.deleteDlpJob = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.deleteDlpJob(
+ request,
+ (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.deleteDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes deleteDlpJob with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeleteDlpJobRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.deleteDlpJob = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.deleteDlpJob(request), expectedError);
+ assert((client.innerApiCalls.deleteDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('cancelDlpJob', () => {
+ it('invokes cancelDlpJob without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CancelDlpJobRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty());
+ client.innerApiCalls.cancelDlpJob = stubSimpleCall(expectedResponse);
+ const [response] = await client.cancelDlpJob(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.cancelDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes cancelDlpJob without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CancelDlpJobRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty());
+ client.innerApiCalls.cancelDlpJob = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.cancelDlpJob(
+ request,
+ (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.cancelDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes cancelDlpJob with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CancelDlpJobRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.cancelDlpJob = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.cancelDlpJob(request), expectedError);
+ assert((client.innerApiCalls.cancelDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('createStoredInfoType', () => {
+ it('invokes createStoredInfoType without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CreateStoredInfoTypeRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType());
+ client.innerApiCalls.createStoredInfoType = stubSimpleCall(expectedResponse);
+ const [response] = await client.createStoredInfoType(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.createStoredInfoType as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes createStoredInfoType without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CreateStoredInfoTypeRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType());
+ client.innerApiCalls.createStoredInfoType = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.createStoredInfoType(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IStoredInfoType|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.createStoredInfoType as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes createStoredInfoType with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.CreateStoredInfoTypeRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.createStoredInfoType = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.createStoredInfoType(request), expectedError);
+ assert((client.innerApiCalls.createStoredInfoType as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('updateStoredInfoType', () => {
+ it('invokes updateStoredInfoType without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.UpdateStoredInfoTypeRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType());
+ client.innerApiCalls.updateStoredInfoType = stubSimpleCall(expectedResponse);
+ const [response] = await client.updateStoredInfoType(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.updateStoredInfoType as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes updateStoredInfoType without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.UpdateStoredInfoTypeRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType());
+ client.innerApiCalls.updateStoredInfoType = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.updateStoredInfoType(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IStoredInfoType|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.updateStoredInfoType as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes updateStoredInfoType with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.UpdateStoredInfoTypeRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.updateStoredInfoType = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.updateStoredInfoType(request), expectedError);
+ assert((client.innerApiCalls.updateStoredInfoType as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('getStoredInfoType', () => {
+ it('invokes getStoredInfoType without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.GetStoredInfoTypeRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType());
+ client.innerApiCalls.getStoredInfoType = stubSimpleCall(expectedResponse);
+ const [response] = await client.getStoredInfoType(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.getStoredInfoType as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes getStoredInfoType without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.GetStoredInfoTypeRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType());
+ client.innerApiCalls.getStoredInfoType = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.getStoredInfoType(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IStoredInfoType|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.getStoredInfoType as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes getStoredInfoType with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.GetStoredInfoTypeRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.getStoredInfoType = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.getStoredInfoType(request), expectedError);
+ assert((client.innerApiCalls.getStoredInfoType as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('deleteStoredInfoType', () => {
+ it('invokes deleteStoredInfoType without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeleteStoredInfoTypeRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty());
+ client.innerApiCalls.deleteStoredInfoType = stubSimpleCall(expectedResponse);
+ const [response] = await client.deleteStoredInfoType(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.deleteStoredInfoType as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes deleteStoredInfoType without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeleteStoredInfoTypeRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty());
+ client.innerApiCalls.deleteStoredInfoType = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.deleteStoredInfoType(
+ request,
+ (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.deleteStoredInfoType as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes deleteStoredInfoType with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.DeleteStoredInfoTypeRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.deleteStoredInfoType = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.deleteStoredInfoType(request), expectedError);
+ assert((client.innerApiCalls.deleteStoredInfoType as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('hybridInspectDlpJob', () => {
+ it('invokes hybridInspectDlpJob without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.HybridInspectDlpJobRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.HybridInspectResponse());
+ client.innerApiCalls.hybridInspectDlpJob = stubSimpleCall(expectedResponse);
+ const [response] = await client.hybridInspectDlpJob(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.hybridInspectDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes hybridInspectDlpJob without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.HybridInspectDlpJobRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.privacy.dlp.v2.HybridInspectResponse());
+ client.innerApiCalls.hybridInspectDlpJob = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.hybridInspectDlpJob(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IHybridInspectResponse|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.hybridInspectDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes hybridInspectDlpJob with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.HybridInspectDlpJobRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.hybridInspectDlpJob = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.hybridInspectDlpJob(request), expectedError);
+ assert((client.innerApiCalls.hybridInspectDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('finishDlpJob', () => {
+ it('invokes finishDlpJob without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.FinishDlpJobRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty());
+ client.innerApiCalls.finishDlpJob = stubSimpleCall(expectedResponse);
+ const [response] = await client.finishDlpJob(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.finishDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes finishDlpJob without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.FinishDlpJobRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = generateSampleMessage(new protos.google.protobuf.Empty());
+ client.innerApiCalls.finishDlpJob = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.finishDlpJob(
+ request,
+ (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.finishDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes finishDlpJob with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.FinishDlpJobRequest());
+ request.name = '';
+ const expectedHeaderRequestParams = "name=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.finishDlpJob = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.finishDlpJob(request), expectedError);
+ assert((client.innerApiCalls.finishDlpJob as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+ });
+
+ describe('listInspectTemplates', () => {
+ it('invokes listInspectTemplates without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListInspectTemplatesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate()),
+ ];
+ client.innerApiCalls.listInspectTemplates = stubSimpleCall(expectedResponse);
+ const [response] = await client.listInspectTemplates(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.listInspectTemplates as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes listInspectTemplates without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListInspectTemplatesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate()),
+ ];
+ client.innerApiCalls.listInspectTemplates = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.listInspectTemplates(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IInspectTemplate[]|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.listInspectTemplates as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes listInspectTemplates with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListInspectTemplatesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.listInspectTemplates = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.listInspectTemplates(request), expectedError);
+ assert((client.innerApiCalls.listInspectTemplates as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes listInspectTemplatesStream without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListInspectTemplatesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate()),
+ ];
+ client.descriptors.page.listInspectTemplates.createStream = stubPageStreamingCall(expectedResponse);
+ const stream = client.listInspectTemplatesStream(request);
+ const promise = new Promise((resolve, reject) => {
+ const responses: protos.google.privacy.dlp.v2.InspectTemplate[] = [];
+ stream.on('data', (response: protos.google.privacy.dlp.v2.InspectTemplate) => {
+ responses.push(response);
+ });
+ stream.on('end', () => {
+ resolve(responses);
+ });
+ stream.on('error', (err: Error) => {
+ reject(err);
+ });
+ });
+ const responses = await promise;
+ assert.deepStrictEqual(responses, expectedResponse);
+ assert((client.descriptors.page.listInspectTemplates.createStream as SinonStub)
+ .getCall(0).calledWith(client.innerApiCalls.listInspectTemplates, request));
+ assert.strictEqual(
+ (client.descriptors.page.listInspectTemplates.createStream as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+
+ it('invokes listInspectTemplatesStream with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListInspectTemplatesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedError = new Error('expected');
+ client.descriptors.page.listInspectTemplates.createStream = stubPageStreamingCall(undefined, expectedError);
+ const stream = client.listInspectTemplatesStream(request);
+ const promise = new Promise((resolve, reject) => {
+ const responses: protos.google.privacy.dlp.v2.InspectTemplate[] = [];
+ stream.on('data', (response: protos.google.privacy.dlp.v2.InspectTemplate) => {
+ responses.push(response);
+ });
+ stream.on('end', () => {
+ resolve(responses);
+ });
+ stream.on('error', (err: Error) => {
+ reject(err);
+ });
+ });
+ await assert.rejects(promise, expectedError);
+ assert((client.descriptors.page.listInspectTemplates.createStream as SinonStub)
+ .getCall(0).calledWith(client.innerApiCalls.listInspectTemplates, request));
+ assert.strictEqual(
+ (client.descriptors.page.listInspectTemplates.createStream as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+
+ it('uses async iteration with listInspectTemplates without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListInspectTemplatesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.InspectTemplate()),
+ ];
+ client.descriptors.page.listInspectTemplates.asyncIterate = stubAsyncIterationCall(expectedResponse);
+ const responses: protos.google.privacy.dlp.v2.IInspectTemplate[] = [];
+ const iterable = client.listInspectTemplatesAsync(request);
+ for await (const resource of iterable) {
+ responses.push(resource!);
+ }
+ assert.deepStrictEqual(responses, expectedResponse);
+ assert.deepStrictEqual(
+ (client.descriptors.page.listInspectTemplates.asyncIterate as SinonStub)
+ .getCall(0).args[1], request);
+ assert.strictEqual(
+ (client.descriptors.page.listInspectTemplates.asyncIterate as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+
+ it('uses async iteration with listInspectTemplates with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListInspectTemplatesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";const expectedError = new Error('expected');
+ client.descriptors.page.listInspectTemplates.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
+ const iterable = client.listInspectTemplatesAsync(request);
+ await assert.rejects(async () => {
+ const responses: protos.google.privacy.dlp.v2.IInspectTemplate[] = [];
+ for await (const resource of iterable) {
+ responses.push(resource!);
+ }
+ });
+ assert.deepStrictEqual(
+ (client.descriptors.page.listInspectTemplates.asyncIterate as SinonStub)
+ .getCall(0).args[1], request);
+ assert.strictEqual(
+ (client.descriptors.page.listInspectTemplates.asyncIterate as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+ });
+
+ describe('listDeidentifyTemplates', () => {
+ it('invokes listDeidentifyTemplates without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListDeidentifyTemplatesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate()),
+ ];
+ client.innerApiCalls.listDeidentifyTemplates = stubSimpleCall(expectedResponse);
+ const [response] = await client.listDeidentifyTemplates(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.listDeidentifyTemplates as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes listDeidentifyTemplates without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListDeidentifyTemplatesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate()),
+ ];
+ client.innerApiCalls.listDeidentifyTemplates = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.listDeidentifyTemplates(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IDeidentifyTemplate[]|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.listDeidentifyTemplates as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes listDeidentifyTemplates with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListDeidentifyTemplatesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.listDeidentifyTemplates = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.listDeidentifyTemplates(request), expectedError);
+ assert((client.innerApiCalls.listDeidentifyTemplates as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes listDeidentifyTemplatesStream without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListDeidentifyTemplatesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate()),
+ ];
+ client.descriptors.page.listDeidentifyTemplates.createStream = stubPageStreamingCall(expectedResponse);
+ const stream = client.listDeidentifyTemplatesStream(request);
+ const promise = new Promise((resolve, reject) => {
+ const responses: protos.google.privacy.dlp.v2.DeidentifyTemplate[] = [];
+ stream.on('data', (response: protos.google.privacy.dlp.v2.DeidentifyTemplate) => {
+ responses.push(response);
+ });
+ stream.on('end', () => {
+ resolve(responses);
+ });
+ stream.on('error', (err: Error) => {
+ reject(err);
+ });
+ });
+ const responses = await promise;
+ assert.deepStrictEqual(responses, expectedResponse);
+ assert((client.descriptors.page.listDeidentifyTemplates.createStream as SinonStub)
+ .getCall(0).calledWith(client.innerApiCalls.listDeidentifyTemplates, request));
+ assert.strictEqual(
+ (client.descriptors.page.listDeidentifyTemplates.createStream as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+
+ it('invokes listDeidentifyTemplatesStream with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListDeidentifyTemplatesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedError = new Error('expected');
+ client.descriptors.page.listDeidentifyTemplates.createStream = stubPageStreamingCall(undefined, expectedError);
+ const stream = client.listDeidentifyTemplatesStream(request);
+ const promise = new Promise((resolve, reject) => {
+ const responses: protos.google.privacy.dlp.v2.DeidentifyTemplate[] = [];
+ stream.on('data', (response: protos.google.privacy.dlp.v2.DeidentifyTemplate) => {
+ responses.push(response);
+ });
+ stream.on('end', () => {
+ resolve(responses);
+ });
+ stream.on('error', (err: Error) => {
+ reject(err);
+ });
+ });
+ await assert.rejects(promise, expectedError);
+ assert((client.descriptors.page.listDeidentifyTemplates.createStream as SinonStub)
+ .getCall(0).calledWith(client.innerApiCalls.listDeidentifyTemplates, request));
+ assert.strictEqual(
+ (client.descriptors.page.listDeidentifyTemplates.createStream as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+
+ it('uses async iteration with listDeidentifyTemplates without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListDeidentifyTemplatesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DeidentifyTemplate()),
+ ];
+ client.descriptors.page.listDeidentifyTemplates.asyncIterate = stubAsyncIterationCall(expectedResponse);
+ const responses: protos.google.privacy.dlp.v2.IDeidentifyTemplate[] = [];
+ const iterable = client.listDeidentifyTemplatesAsync(request);
+ for await (const resource of iterable) {
+ responses.push(resource!);
+ }
+ assert.deepStrictEqual(responses, expectedResponse);
+ assert.deepStrictEqual(
+ (client.descriptors.page.listDeidentifyTemplates.asyncIterate as SinonStub)
+ .getCall(0).args[1], request);
+ assert.strictEqual(
+ (client.descriptors.page.listDeidentifyTemplates.asyncIterate as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+
+ it('uses async iteration with listDeidentifyTemplates with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListDeidentifyTemplatesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";const expectedError = new Error('expected');
+ client.descriptors.page.listDeidentifyTemplates.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
+ const iterable = client.listDeidentifyTemplatesAsync(request);
+ await assert.rejects(async () => {
+ const responses: protos.google.privacy.dlp.v2.IDeidentifyTemplate[] = [];
+ for await (const resource of iterable) {
+ responses.push(resource!);
+ }
+ });
+ assert.deepStrictEqual(
+ (client.descriptors.page.listDeidentifyTemplates.asyncIterate as SinonStub)
+ .getCall(0).args[1], request);
+ assert.strictEqual(
+ (client.descriptors.page.listDeidentifyTemplates.asyncIterate as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+ });
+
+ describe('listJobTriggers', () => {
+ it('invokes listJobTriggers without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListJobTriggersRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger()),
+ ];
+ client.innerApiCalls.listJobTriggers = stubSimpleCall(expectedResponse);
+ const [response] = await client.listJobTriggers(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.listJobTriggers as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes listJobTriggers without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListJobTriggersRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger()),
+ ];
+ client.innerApiCalls.listJobTriggers = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.listJobTriggers(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IJobTrigger[]|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.listJobTriggers as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes listJobTriggers with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListJobTriggersRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.listJobTriggers = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.listJobTriggers(request), expectedError);
+ assert((client.innerApiCalls.listJobTriggers as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes listJobTriggersStream without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListJobTriggersRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger()),
+ ];
+ client.descriptors.page.listJobTriggers.createStream = stubPageStreamingCall(expectedResponse);
+ const stream = client.listJobTriggersStream(request);
+ const promise = new Promise((resolve, reject) => {
+ const responses: protos.google.privacy.dlp.v2.JobTrigger[] = [];
+ stream.on('data', (response: protos.google.privacy.dlp.v2.JobTrigger) => {
+ responses.push(response);
+ });
+ stream.on('end', () => {
+ resolve(responses);
+ });
+ stream.on('error', (err: Error) => {
+ reject(err);
+ });
+ });
+ const responses = await promise;
+ assert.deepStrictEqual(responses, expectedResponse);
+ assert((client.descriptors.page.listJobTriggers.createStream as SinonStub)
+ .getCall(0).calledWith(client.innerApiCalls.listJobTriggers, request));
+ assert.strictEqual(
+ (client.descriptors.page.listJobTriggers.createStream as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+
+ it('invokes listJobTriggersStream with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListJobTriggersRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedError = new Error('expected');
+ client.descriptors.page.listJobTriggers.createStream = stubPageStreamingCall(undefined, expectedError);
+ const stream = client.listJobTriggersStream(request);
+ const promise = new Promise((resolve, reject) => {
+ const responses: protos.google.privacy.dlp.v2.JobTrigger[] = [];
+ stream.on('data', (response: protos.google.privacy.dlp.v2.JobTrigger) => {
+ responses.push(response);
+ });
+ stream.on('end', () => {
+ resolve(responses);
+ });
+ stream.on('error', (err: Error) => {
+ reject(err);
+ });
+ });
+ await assert.rejects(promise, expectedError);
+ assert((client.descriptors.page.listJobTriggers.createStream as SinonStub)
+ .getCall(0).calledWith(client.innerApiCalls.listJobTriggers, request));
+ assert.strictEqual(
+ (client.descriptors.page.listJobTriggers.createStream as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+
+ it('uses async iteration with listJobTriggers without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListJobTriggersRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.JobTrigger()),
+ ];
+ client.descriptors.page.listJobTriggers.asyncIterate = stubAsyncIterationCall(expectedResponse);
+ const responses: protos.google.privacy.dlp.v2.IJobTrigger[] = [];
+ const iterable = client.listJobTriggersAsync(request);
+ for await (const resource of iterable) {
+ responses.push(resource!);
+ }
+ assert.deepStrictEqual(responses, expectedResponse);
+ assert.deepStrictEqual(
+ (client.descriptors.page.listJobTriggers.asyncIterate as SinonStub)
+ .getCall(0).args[1], request);
+ assert.strictEqual(
+ (client.descriptors.page.listJobTriggers.asyncIterate as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+
+ it('uses async iteration with listJobTriggers with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListJobTriggersRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";const expectedError = new Error('expected');
+ client.descriptors.page.listJobTriggers.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
+ const iterable = client.listJobTriggersAsync(request);
+ await assert.rejects(async () => {
+ const responses: protos.google.privacy.dlp.v2.IJobTrigger[] = [];
+ for await (const resource of iterable) {
+ responses.push(resource!);
+ }
+ });
+ assert.deepStrictEqual(
+ (client.descriptors.page.listJobTriggers.asyncIterate as SinonStub)
+ .getCall(0).args[1], request);
+ assert.strictEqual(
+ (client.descriptors.page.listJobTriggers.asyncIterate as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+ });
+
+ describe('listDlpJobs', () => {
+ it('invokes listDlpJobs without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListDlpJobsRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob()),
+ ];
+ client.innerApiCalls.listDlpJobs = stubSimpleCall(expectedResponse);
+ const [response] = await client.listDlpJobs(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.listDlpJobs as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes listDlpJobs without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListDlpJobsRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob()),
+ ];
+ client.innerApiCalls.listDlpJobs = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.listDlpJobs(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IDlpJob[]|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.listDlpJobs as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes listDlpJobs with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListDlpJobsRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.listDlpJobs = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.listDlpJobs(request), expectedError);
+ assert((client.innerApiCalls.listDlpJobs as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes listDlpJobsStream without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListDlpJobsRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob()),
+ ];
+ client.descriptors.page.listDlpJobs.createStream = stubPageStreamingCall(expectedResponse);
+ const stream = client.listDlpJobsStream(request);
+ const promise = new Promise((resolve, reject) => {
+ const responses: protos.google.privacy.dlp.v2.DlpJob[] = [];
+ stream.on('data', (response: protos.google.privacy.dlp.v2.DlpJob) => {
+ responses.push(response);
+ });
+ stream.on('end', () => {
+ resolve(responses);
+ });
+ stream.on('error', (err: Error) => {
+ reject(err);
+ });
+ });
+ const responses = await promise;
+ assert.deepStrictEqual(responses, expectedResponse);
+ assert((client.descriptors.page.listDlpJobs.createStream as SinonStub)
+ .getCall(0).calledWith(client.innerApiCalls.listDlpJobs, request));
+ assert.strictEqual(
+ (client.descriptors.page.listDlpJobs.createStream as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+
+ it('invokes listDlpJobsStream with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListDlpJobsRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedError = new Error('expected');
+ client.descriptors.page.listDlpJobs.createStream = stubPageStreamingCall(undefined, expectedError);
+ const stream = client.listDlpJobsStream(request);
+ const promise = new Promise((resolve, reject) => {
+ const responses: protos.google.privacy.dlp.v2.DlpJob[] = [];
+ stream.on('data', (response: protos.google.privacy.dlp.v2.DlpJob) => {
+ responses.push(response);
+ });
+ stream.on('end', () => {
+ resolve(responses);
+ });
+ stream.on('error', (err: Error) => {
+ reject(err);
+ });
+ });
+ await assert.rejects(promise, expectedError);
+ assert((client.descriptors.page.listDlpJobs.createStream as SinonStub)
+ .getCall(0).calledWith(client.innerApiCalls.listDlpJobs, request));
+ assert.strictEqual(
+ (client.descriptors.page.listDlpJobs.createStream as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+
+ it('uses async iteration with listDlpJobs without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListDlpJobsRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.DlpJob()),
+ ];
+ client.descriptors.page.listDlpJobs.asyncIterate = stubAsyncIterationCall(expectedResponse);
+ const responses: protos.google.privacy.dlp.v2.IDlpJob[] = [];
+ const iterable = client.listDlpJobsAsync(request);
+ for await (const resource of iterable) {
+ responses.push(resource!);
+ }
+ assert.deepStrictEqual(responses, expectedResponse);
+ assert.deepStrictEqual(
+ (client.descriptors.page.listDlpJobs.asyncIterate as SinonStub)
+ .getCall(0).args[1], request);
+ assert.strictEqual(
+ (client.descriptors.page.listDlpJobs.asyncIterate as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+
+ it('uses async iteration with listDlpJobs with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListDlpJobsRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";const expectedError = new Error('expected');
+ client.descriptors.page.listDlpJobs.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
+ const iterable = client.listDlpJobsAsync(request);
+ await assert.rejects(async () => {
+ const responses: protos.google.privacy.dlp.v2.IDlpJob[] = [];
+ for await (const resource of iterable) {
+ responses.push(resource!);
+ }
+ });
+ assert.deepStrictEqual(
+ (client.descriptors.page.listDlpJobs.asyncIterate as SinonStub)
+ .getCall(0).args[1], request);
+ assert.strictEqual(
+ (client.descriptors.page.listDlpJobs.asyncIterate as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+ });
+
+ describe('listStoredInfoTypes', () => {
+ it('invokes listStoredInfoTypes without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListStoredInfoTypesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType()),
+ ];
+ client.innerApiCalls.listStoredInfoTypes = stubSimpleCall(expectedResponse);
+ const [response] = await client.listStoredInfoTypes(request);
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.listStoredInfoTypes as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes listStoredInfoTypes without error using callback', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListStoredInfoTypesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType()),
+ ];
+ client.innerApiCalls.listStoredInfoTypes = stubSimpleCallWithCallback(expectedResponse);
+ const promise = new Promise((resolve, reject) => {
+ client.listStoredInfoTypes(
+ request,
+ (err?: Error|null, result?: protos.google.privacy.dlp.v2.IStoredInfoType[]|null) => {
+ if (err) {
+ reject(err);
+ } else {
+ resolve(result);
+ }
+ });
+ });
+ const response = await promise;
+ assert.deepStrictEqual(response, expectedResponse);
+ assert((client.innerApiCalls.listStoredInfoTypes as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions /*, callback defined above */));
+ });
+
+ it('invokes listStoredInfoTypes with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListStoredInfoTypesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedOptions = {
+ otherArgs: {
+ headers: {
+ 'x-goog-request-params': expectedHeaderRequestParams,
+ },
+ },
+ };
+ const expectedError = new Error('expected');
+ client.innerApiCalls.listStoredInfoTypes = stubSimpleCall(undefined, expectedError);
+ await assert.rejects(client.listStoredInfoTypes(request), expectedError);
+ assert((client.innerApiCalls.listStoredInfoTypes as SinonStub)
+ .getCall(0).calledWith(request, expectedOptions, undefined));
+ });
+
+ it('invokes listStoredInfoTypesStream without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListStoredInfoTypesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType()),
+ ];
+ client.descriptors.page.listStoredInfoTypes.createStream = stubPageStreamingCall(expectedResponse);
+ const stream = client.listStoredInfoTypesStream(request);
+ const promise = new Promise((resolve, reject) => {
+ const responses: protos.google.privacy.dlp.v2.StoredInfoType[] = [];
+ stream.on('data', (response: protos.google.privacy.dlp.v2.StoredInfoType) => {
+ responses.push(response);
+ });
+ stream.on('end', () => {
+ resolve(responses);
+ });
+ stream.on('error', (err: Error) => {
+ reject(err);
+ });
+ });
+ const responses = await promise;
+ assert.deepStrictEqual(responses, expectedResponse);
+ assert((client.descriptors.page.listStoredInfoTypes.createStream as SinonStub)
+ .getCall(0).calledWith(client.innerApiCalls.listStoredInfoTypes, request));
+ assert.strictEqual(
+ (client.descriptors.page.listStoredInfoTypes.createStream as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+
+ it('invokes listStoredInfoTypesStream with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListStoredInfoTypesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";
+ const expectedError = new Error('expected');
+ client.descriptors.page.listStoredInfoTypes.createStream = stubPageStreamingCall(undefined, expectedError);
+ const stream = client.listStoredInfoTypesStream(request);
+ const promise = new Promise((resolve, reject) => {
+ const responses: protos.google.privacy.dlp.v2.StoredInfoType[] = [];
+ stream.on('data', (response: protos.google.privacy.dlp.v2.StoredInfoType) => {
+ responses.push(response);
+ });
+ stream.on('end', () => {
+ resolve(responses);
+ });
+ stream.on('error', (err: Error) => {
+ reject(err);
+ });
+ });
+ await assert.rejects(promise, expectedError);
+ assert((client.descriptors.page.listStoredInfoTypes.createStream as SinonStub)
+ .getCall(0).calledWith(client.innerApiCalls.listStoredInfoTypes, request));
+ assert.strictEqual(
+ (client.descriptors.page.listStoredInfoTypes.createStream as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+
+ it('uses async iteration with listStoredInfoTypes without error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListStoredInfoTypesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";const expectedResponse = [
+ generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType()),
+ generateSampleMessage(new protos.google.privacy.dlp.v2.StoredInfoType()),
+ ];
+ client.descriptors.page.listStoredInfoTypes.asyncIterate = stubAsyncIterationCall(expectedResponse);
+ const responses: protos.google.privacy.dlp.v2.IStoredInfoType[] = [];
+ const iterable = client.listStoredInfoTypesAsync(request);
+ for await (const resource of iterable) {
+ responses.push(resource!);
+ }
+ assert.deepStrictEqual(responses, expectedResponse);
+ assert.deepStrictEqual(
+ (client.descriptors.page.listStoredInfoTypes.asyncIterate as SinonStub)
+ .getCall(0).args[1], request);
+ assert.strictEqual(
+ (client.descriptors.page.listStoredInfoTypes.asyncIterate as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+
+ it('uses async iteration with listStoredInfoTypes with error', async () => {
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ const request = generateSampleMessage(new protos.google.privacy.dlp.v2.ListStoredInfoTypesRequest());
+ request.parent = '';
+ const expectedHeaderRequestParams = "parent=";const expectedError = new Error('expected');
+ client.descriptors.page.listStoredInfoTypes.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
+ const iterable = client.listStoredInfoTypesAsync(request);
+ await assert.rejects(async () => {
+ const responses: protos.google.privacy.dlp.v2.IStoredInfoType[] = [];
+ for await (const resource of iterable) {
+ responses.push(resource!);
+ }
+ });
+ assert.deepStrictEqual(
+ (client.descriptors.page.listStoredInfoTypes.asyncIterate as SinonStub)
+ .getCall(0).args[1], request);
+ assert.strictEqual(
+ (client.descriptors.page.listStoredInfoTypes.asyncIterate as SinonStub)
+ .getCall(0).args[2].otherArgs.headers['x-goog-request-params'],
+ expectedHeaderRequestParams
+ );
+ });
+ });
+
+ describe('Path templates', () => {
+
+ describe('finding', () => {
+ const fakePath = "/rendered/path/finding";
+ const expectedParameters = {
+ project: "projectValue",
+ location: "locationValue",
+ finding: "findingValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.findingPathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.findingPathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('findingPath', () => {
+ const result = client.findingPath("projectValue", "locationValue", "findingValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.findingPathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchProjectFromFindingName', () => {
+ const result = client.matchProjectFromFindingName(fakePath);
+ assert.strictEqual(result, "projectValue");
+ assert((client.pathTemplates.findingPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchLocationFromFindingName', () => {
+ const result = client.matchLocationFromFindingName(fakePath);
+ assert.strictEqual(result, "locationValue");
+ assert((client.pathTemplates.findingPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchFindingFromFindingName', () => {
+ const result = client.matchFindingFromFindingName(fakePath);
+ assert.strictEqual(result, "findingValue");
+ assert((client.pathTemplates.findingPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('organization', () => {
+ const fakePath = "/rendered/path/organization";
+ const expectedParameters = {
+ organization: "organizationValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.organizationPathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.organizationPathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('organizationPath', () => {
+ const result = client.organizationPath("organizationValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.organizationPathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchOrganizationFromOrganizationName', () => {
+ const result = client.matchOrganizationFromOrganizationName(fakePath);
+ assert.strictEqual(result, "organizationValue");
+ assert((client.pathTemplates.organizationPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('organizationDeidentifyTemplate', () => {
+ const fakePath = "/rendered/path/organizationDeidentifyTemplate";
+ const expectedParameters = {
+ organization: "organizationValue",
+ deidentify_template: "deidentifyTemplateValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.organizationDeidentifyTemplatePathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.organizationDeidentifyTemplatePathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('organizationDeidentifyTemplatePath', () => {
+ const result = client.organizationDeidentifyTemplatePath("organizationValue", "deidentifyTemplateValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.organizationDeidentifyTemplatePathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchOrganizationFromOrganizationDeidentifyTemplateName', () => {
+ const result = client.matchOrganizationFromOrganizationDeidentifyTemplateName(fakePath);
+ assert.strictEqual(result, "organizationValue");
+ assert((client.pathTemplates.organizationDeidentifyTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchDeidentifyTemplateFromOrganizationDeidentifyTemplateName', () => {
+ const result = client.matchDeidentifyTemplateFromOrganizationDeidentifyTemplateName(fakePath);
+ assert.strictEqual(result, "deidentifyTemplateValue");
+ assert((client.pathTemplates.organizationDeidentifyTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('organizationInspectTemplate', () => {
+ const fakePath = "/rendered/path/organizationInspectTemplate";
+ const expectedParameters = {
+ organization: "organizationValue",
+ inspect_template: "inspectTemplateValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.organizationInspectTemplatePathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.organizationInspectTemplatePathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('organizationInspectTemplatePath', () => {
+ const result = client.organizationInspectTemplatePath("organizationValue", "inspectTemplateValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.organizationInspectTemplatePathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchOrganizationFromOrganizationInspectTemplateName', () => {
+ const result = client.matchOrganizationFromOrganizationInspectTemplateName(fakePath);
+ assert.strictEqual(result, "organizationValue");
+ assert((client.pathTemplates.organizationInspectTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchInspectTemplateFromOrganizationInspectTemplateName', () => {
+ const result = client.matchInspectTemplateFromOrganizationInspectTemplateName(fakePath);
+ assert.strictEqual(result, "inspectTemplateValue");
+ assert((client.pathTemplates.organizationInspectTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('organizationLocationDeidentifyTemplate', () => {
+ const fakePath = "/rendered/path/organizationLocationDeidentifyTemplate";
+ const expectedParameters = {
+ organization: "organizationValue",
+ location: "locationValue",
+ deidentify_template: "deidentifyTemplateValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.organizationLocationDeidentifyTemplatePathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.organizationLocationDeidentifyTemplatePathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('organizationLocationDeidentifyTemplatePath', () => {
+ const result = client.organizationLocationDeidentifyTemplatePath("organizationValue", "locationValue", "deidentifyTemplateValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.organizationLocationDeidentifyTemplatePathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchOrganizationFromOrganizationLocationDeidentifyTemplateName', () => {
+ const result = client.matchOrganizationFromOrganizationLocationDeidentifyTemplateName(fakePath);
+ assert.strictEqual(result, "organizationValue");
+ assert((client.pathTemplates.organizationLocationDeidentifyTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchLocationFromOrganizationLocationDeidentifyTemplateName', () => {
+ const result = client.matchLocationFromOrganizationLocationDeidentifyTemplateName(fakePath);
+ assert.strictEqual(result, "locationValue");
+ assert((client.pathTemplates.organizationLocationDeidentifyTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchDeidentifyTemplateFromOrganizationLocationDeidentifyTemplateName', () => {
+ const result = client.matchDeidentifyTemplateFromOrganizationLocationDeidentifyTemplateName(fakePath);
+ assert.strictEqual(result, "deidentifyTemplateValue");
+ assert((client.pathTemplates.organizationLocationDeidentifyTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('organizationLocationInspectTemplate', () => {
+ const fakePath = "/rendered/path/organizationLocationInspectTemplate";
+ const expectedParameters = {
+ organization: "organizationValue",
+ location: "locationValue",
+ inspect_template: "inspectTemplateValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.organizationLocationInspectTemplatePathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.organizationLocationInspectTemplatePathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('organizationLocationInspectTemplatePath', () => {
+ const result = client.organizationLocationInspectTemplatePath("organizationValue", "locationValue", "inspectTemplateValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.organizationLocationInspectTemplatePathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchOrganizationFromOrganizationLocationInspectTemplateName', () => {
+ const result = client.matchOrganizationFromOrganizationLocationInspectTemplateName(fakePath);
+ assert.strictEqual(result, "organizationValue");
+ assert((client.pathTemplates.organizationLocationInspectTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchLocationFromOrganizationLocationInspectTemplateName', () => {
+ const result = client.matchLocationFromOrganizationLocationInspectTemplateName(fakePath);
+ assert.strictEqual(result, "locationValue");
+ assert((client.pathTemplates.organizationLocationInspectTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchInspectTemplateFromOrganizationLocationInspectTemplateName', () => {
+ const result = client.matchInspectTemplateFromOrganizationLocationInspectTemplateName(fakePath);
+ assert.strictEqual(result, "inspectTemplateValue");
+ assert((client.pathTemplates.organizationLocationInspectTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('organizationLocationStoredInfoType', () => {
+ const fakePath = "/rendered/path/organizationLocationStoredInfoType";
+ const expectedParameters = {
+ organization: "organizationValue",
+ location: "locationValue",
+ stored_info_type: "storedInfoTypeValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.organizationLocationStoredInfoTypePathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.organizationLocationStoredInfoTypePathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('organizationLocationStoredInfoTypePath', () => {
+ const result = client.organizationLocationStoredInfoTypePath("organizationValue", "locationValue", "storedInfoTypeValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.organizationLocationStoredInfoTypePathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchOrganizationFromOrganizationLocationStoredInfoTypeName', () => {
+ const result = client.matchOrganizationFromOrganizationLocationStoredInfoTypeName(fakePath);
+ assert.strictEqual(result, "organizationValue");
+ assert((client.pathTemplates.organizationLocationStoredInfoTypePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchLocationFromOrganizationLocationStoredInfoTypeName', () => {
+ const result = client.matchLocationFromOrganizationLocationStoredInfoTypeName(fakePath);
+ assert.strictEqual(result, "locationValue");
+ assert((client.pathTemplates.organizationLocationStoredInfoTypePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchStoredInfoTypeFromOrganizationLocationStoredInfoTypeName', () => {
+ const result = client.matchStoredInfoTypeFromOrganizationLocationStoredInfoTypeName(fakePath);
+ assert.strictEqual(result, "storedInfoTypeValue");
+ assert((client.pathTemplates.organizationLocationStoredInfoTypePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('organizationStoredInfoType', () => {
+ const fakePath = "/rendered/path/organizationStoredInfoType";
+ const expectedParameters = {
+ organization: "organizationValue",
+ stored_info_type: "storedInfoTypeValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.organizationStoredInfoTypePathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.organizationStoredInfoTypePathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('organizationStoredInfoTypePath', () => {
+ const result = client.organizationStoredInfoTypePath("organizationValue", "storedInfoTypeValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.organizationStoredInfoTypePathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchOrganizationFromOrganizationStoredInfoTypeName', () => {
+ const result = client.matchOrganizationFromOrganizationStoredInfoTypeName(fakePath);
+ assert.strictEqual(result, "organizationValue");
+ assert((client.pathTemplates.organizationStoredInfoTypePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchStoredInfoTypeFromOrganizationStoredInfoTypeName', () => {
+ const result = client.matchStoredInfoTypeFromOrganizationStoredInfoTypeName(fakePath);
+ assert.strictEqual(result, "storedInfoTypeValue");
+ assert((client.pathTemplates.organizationStoredInfoTypePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('project', () => {
+ const fakePath = "/rendered/path/project";
+ const expectedParameters = {
+ project: "projectValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.projectPathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.projectPathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('projectPath', () => {
+ const result = client.projectPath("projectValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.projectPathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchProjectFromProjectName', () => {
+ const result = client.matchProjectFromProjectName(fakePath);
+ assert.strictEqual(result, "projectValue");
+ assert((client.pathTemplates.projectPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('projectDeidentifyTemplate', () => {
+ const fakePath = "/rendered/path/projectDeidentifyTemplate";
+ const expectedParameters = {
+ project: "projectValue",
+ deidentify_template: "deidentifyTemplateValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.projectDeidentifyTemplatePathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.projectDeidentifyTemplatePathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('projectDeidentifyTemplatePath', () => {
+ const result = client.projectDeidentifyTemplatePath("projectValue", "deidentifyTemplateValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.projectDeidentifyTemplatePathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchProjectFromProjectDeidentifyTemplateName', () => {
+ const result = client.matchProjectFromProjectDeidentifyTemplateName(fakePath);
+ assert.strictEqual(result, "projectValue");
+ assert((client.pathTemplates.projectDeidentifyTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchDeidentifyTemplateFromProjectDeidentifyTemplateName', () => {
+ const result = client.matchDeidentifyTemplateFromProjectDeidentifyTemplateName(fakePath);
+ assert.strictEqual(result, "deidentifyTemplateValue");
+ assert((client.pathTemplates.projectDeidentifyTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('projectDlpContent', () => {
+ const fakePath = "/rendered/path/projectDlpContent";
+ const expectedParameters = {
+ project: "projectValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.projectDlpContentPathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.projectDlpContentPathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('projectDlpContentPath', () => {
+ const result = client.projectDlpContentPath("projectValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.projectDlpContentPathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchProjectFromProjectDlpContentName', () => {
+ const result = client.matchProjectFromProjectDlpContentName(fakePath);
+ assert.strictEqual(result, "projectValue");
+ assert((client.pathTemplates.projectDlpContentPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('projectDlpJob', () => {
+ const fakePath = "/rendered/path/projectDlpJob";
+ const expectedParameters = {
+ project: "projectValue",
+ dlp_job: "dlpJobValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.projectDlpJobPathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.projectDlpJobPathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('projectDlpJobPath', () => {
+ const result = client.projectDlpJobPath("projectValue", "dlpJobValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.projectDlpJobPathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchProjectFromProjectDlpJobName', () => {
+ const result = client.matchProjectFromProjectDlpJobName(fakePath);
+ assert.strictEqual(result, "projectValue");
+ assert((client.pathTemplates.projectDlpJobPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchDlpJobFromProjectDlpJobName', () => {
+ const result = client.matchDlpJobFromProjectDlpJobName(fakePath);
+ assert.strictEqual(result, "dlpJobValue");
+ assert((client.pathTemplates.projectDlpJobPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('projectInspectTemplate', () => {
+ const fakePath = "/rendered/path/projectInspectTemplate";
+ const expectedParameters = {
+ project: "projectValue",
+ inspect_template: "inspectTemplateValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.projectInspectTemplatePathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.projectInspectTemplatePathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('projectInspectTemplatePath', () => {
+ const result = client.projectInspectTemplatePath("projectValue", "inspectTemplateValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.projectInspectTemplatePathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchProjectFromProjectInspectTemplateName', () => {
+ const result = client.matchProjectFromProjectInspectTemplateName(fakePath);
+ assert.strictEqual(result, "projectValue");
+ assert((client.pathTemplates.projectInspectTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchInspectTemplateFromProjectInspectTemplateName', () => {
+ const result = client.matchInspectTemplateFromProjectInspectTemplateName(fakePath);
+ assert.strictEqual(result, "inspectTemplateValue");
+ assert((client.pathTemplates.projectInspectTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('projectJobTrigger', () => {
+ const fakePath = "/rendered/path/projectJobTrigger";
+ const expectedParameters = {
+ project: "projectValue",
+ job_trigger: "jobTriggerValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.projectJobTriggerPathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.projectJobTriggerPathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('projectJobTriggerPath', () => {
+ const result = client.projectJobTriggerPath("projectValue", "jobTriggerValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.projectJobTriggerPathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchProjectFromProjectJobTriggerName', () => {
+ const result = client.matchProjectFromProjectJobTriggerName(fakePath);
+ assert.strictEqual(result, "projectValue");
+ assert((client.pathTemplates.projectJobTriggerPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchJobTriggerFromProjectJobTriggerName', () => {
+ const result = client.matchJobTriggerFromProjectJobTriggerName(fakePath);
+ assert.strictEqual(result, "jobTriggerValue");
+ assert((client.pathTemplates.projectJobTriggerPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('projectLocationDeidentifyTemplate', () => {
+ const fakePath = "/rendered/path/projectLocationDeidentifyTemplate";
+ const expectedParameters = {
+ project: "projectValue",
+ location: "locationValue",
+ deidentify_template: "deidentifyTemplateValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.projectLocationDeidentifyTemplatePathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.projectLocationDeidentifyTemplatePathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('projectLocationDeidentifyTemplatePath', () => {
+ const result = client.projectLocationDeidentifyTemplatePath("projectValue", "locationValue", "deidentifyTemplateValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.projectLocationDeidentifyTemplatePathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchProjectFromProjectLocationDeidentifyTemplateName', () => {
+ const result = client.matchProjectFromProjectLocationDeidentifyTemplateName(fakePath);
+ assert.strictEqual(result, "projectValue");
+ assert((client.pathTemplates.projectLocationDeidentifyTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchLocationFromProjectLocationDeidentifyTemplateName', () => {
+ const result = client.matchLocationFromProjectLocationDeidentifyTemplateName(fakePath);
+ assert.strictEqual(result, "locationValue");
+ assert((client.pathTemplates.projectLocationDeidentifyTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchDeidentifyTemplateFromProjectLocationDeidentifyTemplateName', () => {
+ const result = client.matchDeidentifyTemplateFromProjectLocationDeidentifyTemplateName(fakePath);
+ assert.strictEqual(result, "deidentifyTemplateValue");
+ assert((client.pathTemplates.projectLocationDeidentifyTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('projectLocationDlpJob', () => {
+ const fakePath = "/rendered/path/projectLocationDlpJob";
+ const expectedParameters = {
+ project: "projectValue",
+ location: "locationValue",
+ dlp_job: "dlpJobValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.projectLocationDlpJobPathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.projectLocationDlpJobPathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('projectLocationDlpJobPath', () => {
+ const result = client.projectLocationDlpJobPath("projectValue", "locationValue", "dlpJobValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.projectLocationDlpJobPathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchProjectFromProjectLocationDlpJobName', () => {
+ const result = client.matchProjectFromProjectLocationDlpJobName(fakePath);
+ assert.strictEqual(result, "projectValue");
+ assert((client.pathTemplates.projectLocationDlpJobPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchLocationFromProjectLocationDlpJobName', () => {
+ const result = client.matchLocationFromProjectLocationDlpJobName(fakePath);
+ assert.strictEqual(result, "locationValue");
+ assert((client.pathTemplates.projectLocationDlpJobPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchDlpJobFromProjectLocationDlpJobName', () => {
+ const result = client.matchDlpJobFromProjectLocationDlpJobName(fakePath);
+ assert.strictEqual(result, "dlpJobValue");
+ assert((client.pathTemplates.projectLocationDlpJobPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('projectLocationInspectTemplate', () => {
+ const fakePath = "/rendered/path/projectLocationInspectTemplate";
+ const expectedParameters = {
+ project: "projectValue",
+ location: "locationValue",
+ inspect_template: "inspectTemplateValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.projectLocationInspectTemplatePathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.projectLocationInspectTemplatePathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('projectLocationInspectTemplatePath', () => {
+ const result = client.projectLocationInspectTemplatePath("projectValue", "locationValue", "inspectTemplateValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.projectLocationInspectTemplatePathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchProjectFromProjectLocationInspectTemplateName', () => {
+ const result = client.matchProjectFromProjectLocationInspectTemplateName(fakePath);
+ assert.strictEqual(result, "projectValue");
+ assert((client.pathTemplates.projectLocationInspectTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchLocationFromProjectLocationInspectTemplateName', () => {
+ const result = client.matchLocationFromProjectLocationInspectTemplateName(fakePath);
+ assert.strictEqual(result, "locationValue");
+ assert((client.pathTemplates.projectLocationInspectTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchInspectTemplateFromProjectLocationInspectTemplateName', () => {
+ const result = client.matchInspectTemplateFromProjectLocationInspectTemplateName(fakePath);
+ assert.strictEqual(result, "inspectTemplateValue");
+ assert((client.pathTemplates.projectLocationInspectTemplatePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('projectLocationJobTrigger', () => {
+ const fakePath = "/rendered/path/projectLocationJobTrigger";
+ const expectedParameters = {
+ project: "projectValue",
+ location: "locationValue",
+ job_trigger: "jobTriggerValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.projectLocationJobTriggerPathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.projectLocationJobTriggerPathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('projectLocationJobTriggerPath', () => {
+ const result = client.projectLocationJobTriggerPath("projectValue", "locationValue", "jobTriggerValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.projectLocationJobTriggerPathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchProjectFromProjectLocationJobTriggerName', () => {
+ const result = client.matchProjectFromProjectLocationJobTriggerName(fakePath);
+ assert.strictEqual(result, "projectValue");
+ assert((client.pathTemplates.projectLocationJobTriggerPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchLocationFromProjectLocationJobTriggerName', () => {
+ const result = client.matchLocationFromProjectLocationJobTriggerName(fakePath);
+ assert.strictEqual(result, "locationValue");
+ assert((client.pathTemplates.projectLocationJobTriggerPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchJobTriggerFromProjectLocationJobTriggerName', () => {
+ const result = client.matchJobTriggerFromProjectLocationJobTriggerName(fakePath);
+ assert.strictEqual(result, "jobTriggerValue");
+ assert((client.pathTemplates.projectLocationJobTriggerPathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('projectLocationStoredInfoType', () => {
+ const fakePath = "/rendered/path/projectLocationStoredInfoType";
+ const expectedParameters = {
+ project: "projectValue",
+ location: "locationValue",
+ stored_info_type: "storedInfoTypeValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.projectLocationStoredInfoTypePathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.projectLocationStoredInfoTypePathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('projectLocationStoredInfoTypePath', () => {
+ const result = client.projectLocationStoredInfoTypePath("projectValue", "locationValue", "storedInfoTypeValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.projectLocationStoredInfoTypePathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchProjectFromProjectLocationStoredInfoTypeName', () => {
+ const result = client.matchProjectFromProjectLocationStoredInfoTypeName(fakePath);
+ assert.strictEqual(result, "projectValue");
+ assert((client.pathTemplates.projectLocationStoredInfoTypePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchLocationFromProjectLocationStoredInfoTypeName', () => {
+ const result = client.matchLocationFromProjectLocationStoredInfoTypeName(fakePath);
+ assert.strictEqual(result, "locationValue");
+ assert((client.pathTemplates.projectLocationStoredInfoTypePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchStoredInfoTypeFromProjectLocationStoredInfoTypeName', () => {
+ const result = client.matchStoredInfoTypeFromProjectLocationStoredInfoTypeName(fakePath);
+ assert.strictEqual(result, "storedInfoTypeValue");
+ assert((client.pathTemplates.projectLocationStoredInfoTypePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+
+ describe('projectStoredInfoType', () => {
+ const fakePath = "/rendered/path/projectStoredInfoType";
+ const expectedParameters = {
+ project: "projectValue",
+ stored_info_type: "storedInfoTypeValue",
+ };
+ const client = new dlpserviceModule.v2.DlpServiceClient({
+ credentials: {client_email: 'bogus', private_key: 'bogus'},
+ projectId: 'bogus',
+ });
+ client.initialize();
+ client.pathTemplates.projectStoredInfoTypePathTemplate.render =
+ sinon.stub().returns(fakePath);
+ client.pathTemplates.projectStoredInfoTypePathTemplate.match =
+ sinon.stub().returns(expectedParameters);
+
+ it('projectStoredInfoTypePath', () => {
+ const result = client.projectStoredInfoTypePath("projectValue", "storedInfoTypeValue");
+ assert.strictEqual(result, fakePath);
+ assert((client.pathTemplates.projectStoredInfoTypePathTemplate.render as SinonStub)
+ .getCall(-1).calledWith(expectedParameters));
+ });
+
+ it('matchProjectFromProjectStoredInfoTypeName', () => {
+ const result = client.matchProjectFromProjectStoredInfoTypeName(fakePath);
+ assert.strictEqual(result, "projectValue");
+ assert((client.pathTemplates.projectStoredInfoTypePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+
+ it('matchStoredInfoTypeFromProjectStoredInfoTypeName', () => {
+ const result = client.matchStoredInfoTypeFromProjectStoredInfoTypeName(fakePath);
+ assert.strictEqual(result, "storedInfoTypeValue");
+ assert((client.pathTemplates.projectStoredInfoTypePathTemplate.match as SinonStub)
+ .getCall(-1).calledWith(fakePath));
+ });
+ });
+ });
+});
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/tsconfig.json b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/tsconfig.json
new file mode 100644
index 000000000..c78f1c884
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/tsconfig.json
@@ -0,0 +1,19 @@
+{
+ "extends": "./node_modules/gts/tsconfig-google.json",
+ "compilerOptions": {
+ "rootDir": ".",
+ "outDir": "build",
+ "resolveJsonModule": true,
+ "lib": [
+ "es2018",
+ "dom"
+ ]
+ },
+ "include": [
+ "src/*.ts",
+ "src/**/*.ts",
+ "test/*.ts",
+ "test/**/*.ts",
+ "system-test/*.ts"
+ ]
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/webpack.config.js b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/webpack.config.js
new file mode 100644
index 000000000..4eaa37156
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/owl-bot-staging/dlp/v2/webpack.config.js
@@ -0,0 +1,64 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+const path = require('path');
+
+module.exports = {
+ entry: './src/index.ts',
+ output: {
+ library: 'DlpService',
+ filename: './dlp-service.js',
+ },
+ node: {
+ child_process: 'empty',
+ fs: 'empty',
+ crypto: 'empty',
+ },
+ resolve: {
+ alias: {
+ '../../../package.json': path.resolve(__dirname, 'package.json'),
+ },
+ extensions: ['.js', '.json', '.ts'],
+ },
+ module: {
+ rules: [
+ {
+ test: /\.tsx?$/,
+ use: 'ts-loader',
+ exclude: /node_modules/
+ },
+ {
+ test: /node_modules[\\/]@grpc[\\/]grpc-js/,
+ use: 'null-loader'
+ },
+ {
+ test: /node_modules[\\/]grpc/,
+ use: 'null-loader'
+ },
+ {
+ test: /node_modules[\\/]retry-request/,
+ use: 'null-loader'
+ },
+ {
+ test: /node_modules[\\/]https?-proxy-agent/,
+ use: 'null-loader'
+ },
+ {
+ test: /node_modules[\\/]gtoken/,
+ use: 'null-loader'
+ },
+ ],
+ },
+ mode: 'production',
+};
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.OwlBot.yaml b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.OwlBot.yaml
new file mode 100644
index 000000000..8e121ba68
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.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/repo-automation-bots/owlbot-nodejs:latest
+
+deep-remove-regex:
+ - /owl-bot-staging
+
+deep-copy-regex:
+ - source: /google/privacy/dlp/(.*)/.*-nodejs/(.*)
+ dest: /owl-bot-staging/dlp/$1/$2
+
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.eslintignore b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.eslintignore
new file mode 100644
index 000000000..9340ad9b8
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.eslintignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.eslintrc.json b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.eslintrc.json
new file mode 100644
index 000000000..782153495
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.gitattributes b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.gitattributes
new file mode 100644
index 000000000..33739cb74
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.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/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.gitignore b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.gitignore
new file mode 100644
index 000000000..5d32b2378
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.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/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.jsdoc.js b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.jsdoc.js
new file mode 100644
index 000000000..797d40d19
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.jsdoc.js
@@ -0,0 +1,55 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+// ** This file is automatically generated by gapic-generator-typescript. **
+// ** https://github.com/googleapis/gapic-generator-typescript **
+// ** All changes to this file may be overwritten. **
+
+'use strict';
+
+module.exports = {
+ opts: {
+ readme: './README.md',
+ package: './package.json',
+ template: './node_modules/jsdoc-fresh',
+ recurse: true,
+ verbose: true,
+ destination: './docs/'
+ },
+ plugins: [
+ 'plugins/markdown',
+ 'jsdoc-region-tag'
+ ],
+ source: {
+ excludePattern: '(^|\\/|\\\\)[._]',
+ include: [
+ 'build/src',
+ 'protos'
+ ],
+ includePattern: '\\.js$'
+ },
+ templates: {
+ copyright: 'Copyright 2021 Google LLC',
+ includeDate: false,
+ sourceFiles: false,
+ systemName: '@google-cloud/dlp',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.mocharc.js b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.mocharc.js
new file mode 100644
index 000000000..0b600509b
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.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/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.nycrc b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.nycrc
new file mode 100644
index 000000000..b18d5472b
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.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/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.prettierignore b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.prettierignore
new file mode 100644
index 000000000..9340ad9b8
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.prettierrc.js b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.prettierrc.js
new file mode 100644
index 000000000..d1b95106f
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.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/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.readme-partials.yml b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.readme-partials.yml
new file mode 100644
index 000000000..99f553664
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.readme-partials.yml
@@ -0,0 +1,4 @@
+introduction: |-
+ The [Data Loss Prevention API](https://cloud.google.com/dlp/docs/) provides programmatic access to a
+ powerful detection engine for personally identifiable information and other privacy-sensitive
+ data in unstructured data streams.
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.repo-metadata.json b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.repo-metadata.json
new file mode 100644
index 000000000..9ec11a208
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.repo-metadata.json
@@ -0,0 +1,14 @@
+{
+ "client_documentation": "https://googleapis.dev/nodejs/dlp/latest",
+ "api_id": "dlp.googleapis.com",
+ "distribution_name": "@google-cloud/dlp",
+ "release_level": "stable",
+ "default_version": "v2",
+ "language": "nodejs",
+ "name_pretty": "Cloud Data Loss Prevention",
+ "repo": "googleapis/nodejs-dlp",
+ "product_documentation": "https://cloud.google.com/dlp/docs/",
+ "requires_billing": true,
+ "name": "dlp",
+ "issue_tracker": "https://issuetracker.google.com/savedsearches/5548083"
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.trampolinerc b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.trampolinerc
new file mode 100644
index 000000000..164613b9e
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/.trampolinerc
@@ -0,0 +1,51 @@
+# 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.
+
+# Template for .trampolinerc
+
+# Add required env vars here.
+required_envvars+=(
+)
+
+# Add env vars which are passed down into the container here.
+pass_down_envvars+=(
+ "AUTORELEASE_PR"
+)
+
+# Prevent unintentional override on the default image.
+if [[ "${TRAMPOLINE_IMAGE_UPLOAD:-false}" == "true" ]] && \
+ [[ -z "${TRAMPOLINE_IMAGE:-}" ]]; then
+ echo "Please set TRAMPOLINE_IMAGE if you want to upload the Docker image."
+ exit 1
+fi
+
+# Define the default value if it makes sense.
+if [[ -z "${TRAMPOLINE_IMAGE_UPLOAD:-}" ]]; then
+ TRAMPOLINE_IMAGE_UPLOAD=""
+fi
+
+if [[ -z "${TRAMPOLINE_IMAGE:-}" ]]; then
+ TRAMPOLINE_IMAGE=""
+fi
+
+if [[ -z "${TRAMPOLINE_DOCKERFILE:-}" ]]; then
+ TRAMPOLINE_DOCKERFILE=""
+fi
+
+if [[ -z "${TRAMPOLINE_BUILD_FILE:-}" ]]; then
+ TRAMPOLINE_BUILD_FILE=""
+fi
+
+# Secret Manager secrets.
+source ${PROJECT_ROOT}/.kokoro/populate-secrets.sh
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/CHANGELOG.md b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/CHANGELOG.md
new file mode 100644
index 000000000..b20038d83
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/CHANGELOG.md
@@ -0,0 +1,399 @@
+# Changelog
+
+[npm history][1]
+
+[1]: https://www.npmjs.com/package/PACKAGE NAME?activeTab=versions
+
+## [3.1.0](https://www.github.com/googleapis/nodejs-dlp/compare/v3.0.6...v3.1.0) (2021-01-09)
+
+
+### Features
+
+* adds style enumeration ([#569](https://www.github.com/googleapis/nodejs-dlp/issues/569)) ([3c8acf2](https://www.github.com/googleapis/nodejs-dlp/commit/3c8acf24523f2b130abc48bb18927ccac6cb6c3a))
+
+### [3.0.6](https://www.github.com/googleapis/nodejs-dlp/compare/v3.0.5...v3.0.6) (2020-11-25)
+
+
+### Bug Fixes
+
+* **window:** check for fetch on window ([8d9d49f](https://www.github.com/googleapis/nodejs-dlp/commit/8d9d49f9d9fbfec291ca0c3cf1bef64870cc8e3d))
+
+### [3.0.5](https://www.github.com/googleapis/nodejs-dlp/compare/v3.0.4...v3.0.5) (2020-11-07)
+
+
+### Bug Fixes
+
+* do not modify options object, use defaultScopes ([#560](https://www.github.com/googleapis/nodejs-dlp/issues/560)) ([5b29b1d](https://www.github.com/googleapis/nodejs-dlp/commit/5b29b1df9205e4f59a48c31f9ce6a2e2a9f18936))
+
+### [3.0.4](https://www.github.com/googleapis/nodejs-dlp/compare/v3.0.3...v3.0.4) (2020-10-15)
+
+
+### Bug Fixes
+
+* retrieve job config for risk analysis jobs; docs: clarify timespan config for BigQuery and Datastore. ([#547](https://www.github.com/googleapis/nodejs-dlp/issues/547)) ([3b25dd6](https://www.github.com/googleapis/nodejs-dlp/commit/3b25dd66350ca5729ddebe48f0a3718b756633ae))
+
+### [3.0.3](https://www.github.com/googleapis/nodejs-dlp/compare/v3.0.2...v3.0.3) (2020-09-12)
+
+
+### Bug Fixes
+
+* **deps:** update dependency yargs to v16 ([#536](https://www.github.com/googleapis/nodejs-dlp/issues/536)) ([39db29a](https://www.github.com/googleapis/nodejs-dlp/commit/39db29adcef20b7baed4b8a4351d12bcf2bc605f))
+
+### [3.0.2](https://www.github.com/googleapis/nodejs-dlp/compare/v3.0.1...v3.0.2) (2020-07-15)
+
+
+### Bug Fixes
+
+* **samples:** include locations/global in parent field ([#488](https://www.github.com/googleapis/nodejs-dlp/issues/488)) ([a5ec2f3](https://www.github.com/googleapis/nodejs-dlp/commit/a5ec2f3baafbc770336596bdfe4737b61aba947e))
+
+### [3.0.1](https://www.github.com/googleapis/nodejs-dlp/compare/v3.0.0...v3.0.1) (2020-06-15)
+
+
+### Bug Fixes
+
+* proper fallback option handling ([#486](https://www.github.com/googleapis/nodejs-dlp/issues/486)) ([11cd656](https://www.github.com/googleapis/nodejs-dlp/commit/11cd656e3d980d8bf87f045f4cd22379134b6e44))
+
+## [3.0.0](https://www.github.com/googleapis/nodejs-dlp/compare/v2.2.0...v3.0.0) (2020-05-26)
+
+
+### ⚠ BREAKING CHANGES
+
+* The library now supports Node.js v10+. The last version to support Node.js v8 is tagged legacy-8 on NPM.
+
+### Features
+
+* adds missing fields to Finding and adds support for hybrid jobs ([#435](https://www.github.com/googleapis/nodejs-dlp/issues/435)) ([3643d02](https://www.github.com/googleapis/nodejs-dlp/commit/3643d0218cabecd40bd04c86bc51d3fa3be21666))
+* drop node8 support, support for async iterators ([#440](https://www.github.com/googleapis/nodejs-dlp/issues/440)) ([82a2091](https://www.github.com/googleapis/nodejs-dlp/commit/82a2091f8c948b303c03629ecf77dc8cefb3248c))
+
+
+### Bug Fixes
+
+* embedding location into parent ([#476](https://www.github.com/googleapis/nodejs-dlp/issues/476)) ([9308a6a](https://www.github.com/googleapis/nodejs-dlp/commit/9308a6ace48a4128def4a408f18a75b0d74a359a)), closes [#474](https://www.github.com/googleapis/nodejs-dlp/issues/474)
+* regen protos and tests, fix formatting ([#467](https://www.github.com/googleapis/nodejs-dlp/issues/467)) ([9924817](https://www.github.com/googleapis/nodejs-dlp/commit/9924817d39a4eec302d461092c3d8f3c292dcc17))
+* remove eslint, update gax, fix generated protos, run the generator ([#449](https://www.github.com/googleapis/nodejs-dlp/issues/449)) ([e00c5da](https://www.github.com/googleapis/nodejs-dlp/commit/e00c5dac055785dd361bf51d587e2a174f3d40a6))
+* sample inspect customInfoTypes infoType name ([#439](https://www.github.com/googleapis/nodejs-dlp/issues/439)) ([07ef721](https://www.github.com/googleapis/nodejs-dlp/commit/07ef72156567d3fe8318fc95fe187dd2f3868516))
+* support request params {key} with no =value ([#463](https://www.github.com/googleapis/nodejs-dlp/issues/463)) ([e3ef1c6](https://www.github.com/googleapis/nodejs-dlp/commit/e3ef1c69529775d16984fc381e6af47a13264b99))
+* synth.py clean up for multiple version ([#469](https://www.github.com/googleapis/nodejs-dlp/issues/469)) ([5f2cb9b](https://www.github.com/googleapis/nodejs-dlp/commit/5f2cb9ba9e6d8957cda0bd8495a72f96dcabd9c2))
+* **deps:** update dependency @google-cloud/pubsub to v2 ([#475](https://www.github.com/googleapis/nodejs-dlp/issues/475)) ([b6ce129](https://www.github.com/googleapis/nodejs-dlp/commit/b6ce1297fa179dc0a8cc9b97797acb2e05d22574))
+
+## [2.2.0](https://www.github.com/googleapis/nodejs-dlp/compare/v2.1.0...v2.2.0) (2020-03-06)
+
+
+### Features
+
+* deferred client initialization ([#420](https://www.github.com/googleapis/nodejs-dlp/issues/420)) ([a37da40](https://www.github.com/googleapis/nodejs-dlp/commit/a37da4095bab94a8d3539c67e9fcda4620d6e3a1))
+
+## [2.1.0](https://www.github.com/googleapis/nodejs-dlp/compare/v2.0.1...v2.1.0) (2020-02-29)
+
+
+### Features
+
+* export protos in src/index.ts ([dc75b9e](https://www.github.com/googleapis/nodejs-dlp/commit/dc75b9e104378f001f819086c434f574341e5b92))
+
+### [2.0.1](https://www.github.com/googleapis/nodejs-dlp/compare/v2.0.0...v2.0.1) (2020-02-12)
+
+
+### Bug Fixes
+
+* pass x-goog-request-params header for streaming calls ([ad49a5b](https://www.github.com/googleapis/nodejs-dlp/commit/ad49a5b645e65d256f7db5804e4410692952dc3a))
+
+## [2.0.0](https://www.github.com/googleapis/nodejs-dlp/compare/v1.9.0...v2.0.0) (2020-01-28)
+
+
+### ⚠ BREAKING CHANGES
+
+* move to typescript code generation (#393)
+
+### Features
+
+* move to typescript code generation ([#393](https://www.github.com/googleapis/nodejs-dlp/issues/393)) ([67e0811](https://www.github.com/googleapis/nodejs-dlp/commit/67e08118c6c64e525b9ac1e7363353acf1cb0875))
+
+## [1.9.0](https://www.github.com/googleapis/nodejs-dlp/compare/v1.8.0...v1.9.0) (2019-12-30)
+
+
+### Features
+
+* introduces locationId ([745f3c1](https://www.github.com/googleapis/nodejs-dlp/commit/745f3c1112e8968dd088e8c5cd90863ecbad6679))
+
+## [1.8.0](https://www.github.com/googleapis/nodejs-dlp/compare/v1.7.1...v1.8.0) (2019-12-05)
+
+
+### Features
+
+* add plural and singular resource descriptor ([#365](https://www.github.com/googleapis/nodejs-dlp/issues/365)) ([29e876b](https://www.github.com/googleapis/nodejs-dlp/commit/29e876b70c39d0e4533d151132139c52ad8767fe))
+
+
+### Bug Fixes
+
+* **deps:** pin TypeScript below 3.7.0 ([346b756](https://www.github.com/googleapis/nodejs-dlp/commit/346b7564e7b97c77ede1483207b83faef3aae6c1))
+* **docs:** bump release level to GA ([#363](https://www.github.com/googleapis/nodejs-dlp/issues/363)) ([67dfc81](https://www.github.com/googleapis/nodejs-dlp/commit/67dfc816ec097b91248a0a9f63e39d25c90c5647))
+
+### [1.7.1](https://www.github.com/googleapis/nodejs-dlp/compare/v1.7.0...v1.7.1) (2019-11-18)
+
+
+### Bug Fixes
+
+* **deps:** update dependency yargs to v15 ([#361](https://www.github.com/googleapis/nodejs-dlp/issues/361)) ([884c89e](https://www.github.com/googleapis/nodejs-dlp/commit/884c89e4f01fa66fe86c33a6d1d5b5fa4c9c94e2))
+
+## [1.7.0](https://www.github.com/googleapis/nodejs-dlp/compare/v1.6.1...v1.7.0) (2019-11-14)
+
+
+### Features
+
+* add support for publishToStackdriver field ([#358](https://www.github.com/googleapis/nodejs-dlp/issues/358)) ([5e5a384](https://www.github.com/googleapis/nodejs-dlp/commit/5e5a384a6ee122f7fd3bf07e04892dd70d748897))
+
+
+### Bug Fixes
+
+* **docs:** snippets are now replaced in jsdoc comments ([#357](https://www.github.com/googleapis/nodejs-dlp/issues/357)) ([678fad7](https://www.github.com/googleapis/nodejs-dlp/commit/678fad7dbe3d0c3255de61edd253b02947e2f9ab))
+
+### [1.6.1](https://www.github.com/googleapis/nodejs-dlp/compare/v1.6.0...v1.6.1) (2019-10-22)
+
+
+### Bug Fixes
+
+* **deps:** bump google-gax to 1.7.5 ([#351](https://www.github.com/googleapis/nodejs-dlp/issues/351)) ([bd3d7de](https://www.github.com/googleapis/nodejs-dlp/commit/bd3d7de8bbaa8d3ce88420fd6ecf7d0483283bf8))
+
+## [1.6.0](https://www.github.com/googleapis/nodejs-dlp/compare/v1.5.0...v1.6.0) (2019-10-08)
+
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/pubsub to v1 ([#339](https://www.github.com/googleapis/nodejs-dlp/issues/339)) ([7b44459](https://www.github.com/googleapis/nodejs-dlp/commit/7b44459))
+* use compatible version of google-gax ([37f3b5b](https://www.github.com/googleapis/nodejs-dlp/commit/37f3b5b))
+
+
+### Features
+
+* .d.ts for protos ([#342](https://www.github.com/googleapis/nodejs-dlp/issues/342)) ([1eea5f5](https://www.github.com/googleapis/nodejs-dlp/commit/1eea5f5))
+
+## [1.5.0](https://www.github.com/googleapis/nodejs-dlp/compare/v1.4.0...v1.5.0) (2019-09-12)
+
+
+### Bug Fixes
+
+* **deps:** update dependency yargs to v14 ([#328](https://www.github.com/googleapis/nodejs-dlp/issues/328)) ([92e53b9](https://www.github.com/googleapis/nodejs-dlp/commit/92e53b9))
+
+
+### Features
+
+* load protos from JSON, grpc-fallback support ([#330](https://www.github.com/googleapis/nodejs-dlp/issues/330)) ([9403ebe](https://www.github.com/googleapis/nodejs-dlp/commit/9403ebe))
+
+## [1.4.0](https://www.github.com/googleapis/nodejs-dlp/compare/v1.3.1...v1.4.0) (2019-07-09)
+
+
+### Features
+
+* add DataCatalog action to DlpJobs ([#317](https://www.github.com/googleapis/nodejs-dlp/issues/317)) ([92d0252](https://www.github.com/googleapis/nodejs-dlp/commit/92d0252))
+
+### [1.3.1](https://www.github.com/googleapis/nodejs-dlp/compare/v1.3.0...v1.3.1) (2019-06-26)
+
+
+### Bug Fixes
+
+* **docs:** link to reference docs section on googleapis.dev ([#313](https://www.github.com/googleapis/nodejs-dlp/issues/313)) ([3a7b991](https://www.github.com/googleapis/nodejs-dlp/commit/3a7b991))
+
+## [1.3.0](https://www.github.com/googleapis/nodejs-dlp/compare/v1.2.1...v1.3.0) (2019-06-19)
+
+
+### Features
+
+* add avro support ([#310](https://www.github.com/googleapis/nodejs-dlp/issues/310)) ([ac4f6d9](https://www.github.com/googleapis/nodejs-dlp/commit/ac4f6d9))
+
+### [1.2.1](https://www.github.com/googleapis/nodejs-dlp/compare/v1.2.0...v1.2.1) (2019-06-16)
+
+
+### Bug Fixes
+
+* **docs:** move to new client docs URL ([#306](https://www.github.com/googleapis/nodejs-dlp/issues/306)) ([c2c018d](https://www.github.com/googleapis/nodejs-dlp/commit/c2c018d))
+
+## [1.2.0](https://www.github.com/googleapis/nodejs-dlp/compare/v1.1.0...v1.2.0) (2019-06-06)
+
+
+### Features
+
+* add statistics about storedInfoType version ([#301](https://www.github.com/googleapis/nodejs-dlp/issues/301)) ([4482d02](https://www.github.com/googleapis/nodejs-dlp/commit/4482d02))
+* support apiEndpoint override in client constructor ([#299](https://www.github.com/googleapis/nodejs-dlp/issues/299)) ([663545c](https://www.github.com/googleapis/nodejs-dlp/commit/663545c))
+
+## [1.1.0](https://www.github.com/googleapis/nodejs-dlp/compare/v1.0.0...v1.1.0) (2019-05-28)
+
+
+### Features
+
+* auto-generate READMEs, add .repo-metdata.json ([#293](https://www.github.com/googleapis/nodejs-dlp/issues/293)) ([6895e23](https://www.github.com/googleapis/nodejs-dlp/commit/6895e23))
+
+## [1.0.0](https://www.github.com/googleapis/nodejs-dlp/compare/v0.12.0...v1.0.0) (2019-05-20)
+
+
+### ⚠ BREAKING CHANGES
+
+* upgrade engines field to >=8.10.0 (#272)
+
+### Bug Fixes
+
+* DEADLINE_EXCEEDED no longer treated as idempotent and retried ([1a0000c](https://www.github.com/googleapis/nodejs-dlp/commit/1a0000c))
+* DEADLINE_EXCEEDED retry code is idempotent ([#281](https://www.github.com/googleapis/nodejs-dlp/issues/281)) ([9c00cf6](https://www.github.com/googleapis/nodejs-dlp/commit/9c00cf6))
+* **deps:** update dependency @google-cloud/pubsub to ^0.29.0 ([#283](https://www.github.com/googleapis/nodejs-dlp/issues/283)) ([b1f9ee1](https://www.github.com/googleapis/nodejs-dlp/commit/b1f9ee1))
+* **deps:** update dependency google-gax to ^0.26.0 ([#270](https://www.github.com/googleapis/nodejs-dlp/issues/270)) ([68258a6](https://www.github.com/googleapis/nodejs-dlp/commit/68258a6))
+* **deps:** update dependency google-gax to v1 ([#280](https://www.github.com/googleapis/nodejs-dlp/issues/280)) ([2cbb997](https://www.github.com/googleapis/nodejs-dlp/commit/2cbb997))
+
+
+### Build System
+
+* upgrade engines field to >=8.10.0 ([#272](https://www.github.com/googleapis/nodejs-dlp/issues/272)) ([233e814](https://www.github.com/googleapis/nodejs-dlp/commit/233e814))
+
+## v0.12.0
+
+04-26-2019 12:39 PDT
+
+### New Features
+
+- feat: add x-goog-request-params header
+- feat: add deterministic encryption ([#263](https://github.com/googleapis/nodejs-dlp/pull/263))
+
+## v0.11.0
+
+03-12-2019 15:22 PDT
+
+Greetings! This release has a few new features, bug fixes, and doc updates. Enjoy!
+
+### New Features
+- feat: add support for triggers and matching types ([#243](https://github.com/googleapis/nodejs-dlp/pull/243))
+
+### Bug Fixes
+- fix: throw on invalid credentials ([#238](https://github.com/googleapis/nodejs-dlp/pull/238))
+
+### Dependencies
+- fix(deps): update dependency google-gax to ^0.25.0 ([#226](https://github.com/googleapis/nodejs-dlp/pull/226))
+
+### Documentation
+- docs: update links in contrib guide ([#240](https://github.com/googleapis/nodejs-dlp/pull/240))
+- docs: move CONTRIBUTING.md to root ([#231](https://github.com/googleapis/nodejs-dlp/pull/231))
+- docs: update samples in comments ([#230](https://github.com/googleapis/nodejs-dlp/pull/230))
+- docs: update contributing path in README ([#232](https://github.com/googleapis/nodejs-dlp/pull/232))
+- docs: add lint/fix example to contributing guide ([#228](https://github.com/googleapis/nodejs-dlp/pull/228))
+
+### Internal / Testing Changes
+- fix(deps): update dependency @google-cloud/pubsub to ^0.28.0 ([#253](https://github.com/googleapis/nodejs-dlp/pull/253))
+- refactor: update json import paths ([#254](https://github.com/googleapis/nodejs-dlp/pull/254))
+- build: Add docuploader credentials to node publish jobs ([#251](https://github.com/googleapis/nodejs-dlp/pull/251))
+- build: use node10 to run samples-test, system-test etc ([#250](https://github.com/googleapis/nodejs-dlp/pull/250))
+- chore: update release config and proto formatting
+- chore: sync latest proto docs ([#245](https://github.com/googleapis/nodejs-dlp/pull/245))
+- fix(test): increase minLikelihood option threshold to VERY_LIKELY ([#248](https://github.com/googleapis/nodejs-dlp/pull/248))
+- chore(deps): update dependency mocha to v6
+- fix(deps): update dependency yargs to v13 ([#235](https://github.com/googleapis/nodejs-dlp/pull/235))
+- build: use linkinator for docs test ([#239](https://github.com/googleapis/nodejs-dlp/pull/239))
+- refactor: modernize the sample tests ([#237](https://github.com/googleapis/nodejs-dlp/pull/237))
+- build: create docs test npm scripts ([#234](https://github.com/googleapis/nodejs-dlp/pull/234))
+- build: test using @grpc/grpc-js in CI ([#233](https://github.com/googleapis/nodejs-dlp/pull/233))
+- chore(deps): update dependency eslint-config-prettier to v4 ([#223](https://github.com/googleapis/nodejs-dlp/pull/223))
+- chore: update the copyright date in the header. ([#224](https://github.com/googleapis/nodejs-dlp/pull/224))
+- build: ignore googleapis.com in doc link check ([#220](https://github.com/googleapis/nodejs-dlp/pull/220))
+- build: check broken links in generated docs ([#213](https://github.com/googleapis/nodejs-dlp/pull/213))
+- fix(samples-test): increase likelihood threshold ([#222](https://github.com/googleapis/nodejs-dlp/pull/222))
+
+## v0.10.0
+
+01-04-2019 15:04 PST
+
+### New Features
+- feat: add excluded field field for storage ([#169](https://github.com/googleapis/nodejs-dlp/pull/169))
+- feat: add support for storedInfoTypes ([#157](https://github.com/googleapis/nodejs-dlp/pull/157))
+- feat: add CloudStorageRegexFileSet ([#153](https://github.com/googleapis/nodejs-dlp/pull/153))
+- feat: add sorting and ordering of results ([#147](https://github.com/googleapis/nodejs-dlp/pull/147))
+
+### Dependencies
+- fix(deps): update dependency @google-cloud/pubsub to ^0.22.0 ([#192](https://github.com/googleapis/nodejs-dlp/pull/192))
+- fix(deps): update dependency @google-cloud/pubsub to ^0.21.0 ([#183](https://github.com/googleapis/nodejs-dlp/pull/183))
+- fix(deps): update dependency google-gax to ^0.22.0 ([#182](https://github.com/googleapis/nodejs-dlp/pull/182))
+- chore(deps): update dependency @google-cloud/nodejs-repo-tools to v3 ([#180](https://github.com/googleapis/nodejs-dlp/pull/180))
+- chore(deps): update dependency eslint-plugin-node to v8 ([#170](https://github.com/googleapis/nodejs-dlp/pull/170))
+- chore(deps): update dependency eslint-plugin-prettier to v3 ([#151](https://github.com/googleapis/nodejs-dlp/pull/151))
+- fix(deps): update dependency @google-cloud/pubsub to ^0.20.0 ([#137](https://github.com/googleapis/nodejs-dlp/pull/137))
+- fix(deps): update dependency google-gax to ^0.20.0 ([#138](https://github.com/googleapis/nodejs-dlp/pull/138))
+
+### Documentation
+- samples: Added custom dictionary and regex code samples ([#204](https://github.com/googleapis/nodejs-dlp/pull/204))
+- refactor(samples): convert sample tests from ava to mocha ([#186](https://github.com/googleapis/nodejs-dlp/pull/186))
+- docs: update readme badges ([#194](https://github.com/googleapis/nodejs-dlp/pull/194))
+- docs(samples): samples to use async/await ([#190](https://github.com/googleapis/nodejs-dlp/pull/190))
+
+### Internal / Testing Changes
+- nit: reordered gRPC message types ([#214](https://github.com/googleapis/nodejs-dlp/pull/214))
+- tests: construct pubsub properly ([#143](https://github.com/googleapis/nodejs-dlp/pull/143))
+- chore(build): inject yoshi automation key ([#209](https://github.com/googleapis/nodejs-dlp/pull/209))
+- chore: update nyc and eslint configs ([#208](https://github.com/googleapis/nodejs-dlp/pull/208))
+- chore: fix publish.sh permission +x ([#206](https://github.com/googleapis/nodejs-dlp/pull/206))
+- fix(build): fix Kokoro release script ([#205](https://github.com/googleapis/nodejs-dlp/pull/205))
+- build: add Kokoro configs for autorelease ([#203](https://github.com/googleapis/nodejs-dlp/pull/203))
+- chore: add synth.metadata ([#201](https://github.com/googleapis/nodejs-dlp/pull/201))
+- chore: always nyc report before calling codecov ([#199](https://github.com/googleapis/nodejs-dlp/pull/199))
+- chore: nyc ignore build/test by default ([#198](https://github.com/googleapis/nodejs-dlp/pull/198))
+- chore: update license file ([#196](https://github.com/googleapis/nodejs-dlp/pull/196))
+- fix(build): fix system key decryption ([#191](https://github.com/googleapis/nodejs-dlp/pull/191))
+- build: fix the lint rules ([#187](https://github.com/googleapis/nodejs-dlp/pull/187))
+- chore: update eslintignore config ([#181](https://github.com/googleapis/nodejs-dlp/pull/181))
+- chore: drop contributors from multiple places ([#179](https://github.com/googleapis/nodejs-dlp/pull/179))
+- chore: use latest npm on Windows ([#178](https://github.com/googleapis/nodejs-dlp/pull/178))
+- chore: update CircleCI config ([#177](https://github.com/googleapis/nodejs-dlp/pull/177))
+- chore: include build in eslintignore ([#174](https://github.com/googleapis/nodejs-dlp/pull/174))
+- chore: update issue templates ([#168](https://github.com/googleapis/nodejs-dlp/pull/168))
+- chore: remove old issue template ([#166](https://github.com/googleapis/nodejs-dlp/pull/166))
+- build: run tests on node11 ([#165](https://github.com/googleapis/nodejs-dlp/pull/165))
+- chores(build): do not collect sponge.xml from windows builds ([#164](https://github.com/googleapis/nodejs-dlp/pull/164))
+- chores(build): run codecov on continuous builds ([#163](https://github.com/googleapis/nodejs-dlp/pull/163))
+- chore: update new issue template ([#162](https://github.com/googleapis/nodejs-dlp/pull/162))
+- build: fix codecov uploading on Kokoro ([#156](https://github.com/googleapis/nodejs-dlp/pull/156))
+- Update kokoro config ([#152](https://github.com/googleapis/nodejs-dlp/pull/152))
+- build: prevent system/sample-test from leaking credentials
+- test: remove appveyor config ([#146](https://github.com/googleapis/nodejs-dlp/pull/146))
+- Update the kokoro config ([#145](https://github.com/googleapis/nodejs-dlp/pull/145))
+- Fix the linter ([#142](https://github.com/googleapis/nodejs-dlp/pull/142))
+- Enable prefer-const in the eslint config ([#141](https://github.com/googleapis/nodejs-dlp/pull/141))
+- Enable no-var in eslint ([#140](https://github.com/googleapis/nodejs-dlp/pull/140))
+- Switch to let/const ([#139](https://github.com/googleapis/nodejs-dlp/pull/139))
+
+## v0.9.0
+
+### New Features
+- Bring in new feature:
+ - StoredInfoTypes
+
+### Dependencies
+- chore(deps): update dependency eslint-config-prettier to v3 (#110)
+- chore(deps): lock file maintenance (#104)
+- chore(deps): lock file maintenance (#103)
+- fix(deps): update dependency google-gax to ^0.18.0 (#100)
+- chore(deps): lock file maintenance (#99)
+- chore(deps): lock file maintenance (#94)
+- chore(deps): update dependency eslint-plugin-node to v7 (#91)
+- chore(deps): lock file maintenance (#90)
+
+### Documentation
+- doc: add missing namespace (#108)
+- DLP sample: Add autoPopulateTimespan option for creating job triggers. (#64)
+- feat: Add code samples for DLP text redaction (#61)
+
+### Internal / Testing Changes
+- Update synth.py (#112)
+- test: use strictEqual in tests (#92)
+- chore: do not use npm ci (#107)
+- chore: ignore package-lock.json (#105)
+- chore: update renovate config (#102)
+- remove that whitespace (#101)
+- chore: move mocha options to mocha.opts (#97)
+- chore: add node templates to synth.py (#95)
+- fix: requiring samples/ node engine >7.6 because async/await was used (#93)
+
+## v0.8.0
+
+### BREAKING CHANGE
+- fix: drop support for node.js 4.x and 9.x (#81)
+
+### Documentation
+- docs: export google.privacy.* namespace instead of google.cloud.* so rpc doc links work (#80)
+
+### Internal / Testing Changes
+- chore(build): use `npm ci` instead of `npm install` (#86)
+- chore: really delete node4 and node9 (#83)
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/CODE_OF_CONDUCT.md b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/CODE_OF_CONDUCT.md
new file mode 100644
index 000000000..2add2547a
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/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/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/CONTRIBUTING.md b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/CONTRIBUTING.md
new file mode 100644
index 000000000..167fbe1bc
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/CONTRIBUTING.md
@@ -0,0 +1,76 @@
+# How to become a contributor and submit your own code
+
+**Table of contents**
+
+* [Contributor License Agreements](#contributor-license-agreements)
+* [Contributing a patch](#contributing-a-patch)
+* [Running the tests](#running-the-tests)
+* [Releasing the library](#releasing-the-library)
+
+## Contributor License Agreements
+
+We'd love to accept your sample apps and patches! Before we can take them, we
+have to jump a couple of legal hurdles.
+
+Please fill out either the individual or corporate Contributor License Agreement
+(CLA).
+
+ * If you are an individual writing original source code and you're sure you
+ own the intellectual property, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual).
+ * If you work for a company that wants to allow you to contribute your work,
+ then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate).
+
+Follow either of the two links above to access the appropriate CLA and
+instructions for how to sign and return it. Once we receive it, we'll be able to
+accept your pull requests.
+
+## Contributing A Patch
+
+1. Submit an issue describing your proposed change to the repo in question.
+1. The repo owner will respond to your issue promptly.
+1. If your proposed change is accepted, and you haven't already done so, sign a
+ Contributor License Agreement (see details above).
+1. Fork the desired repo, develop and test your code changes.
+1. Ensure that your code adheres to the existing style in the code to which
+ you are contributing.
+1. Ensure that your code has an appropriate set of tests which all pass.
+1. Title your pull request following [Conventional Commits](https://www.conventionalcommits.org/) styling.
+1. Submit a pull request.
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Cloud Data Loss Prevention 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=dlp.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/LICENSE b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/LICENSE
new file mode 100644
index 000000000..d64569567
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/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/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/README.md b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/README.md
new file mode 100644
index 000000000..52019f59e
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/README.md
@@ -0,0 +1,226 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Cloud Data Loss Prevention: Node.js Client](https://github.com/googleapis/nodejs-dlp)
+
+[![release level](https://img.shields.io/badge/release%20level-general%20availability%20%28GA%29-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages)
+[![npm version](https://img.shields.io/npm/v/@google-cloud/dlp.svg)](https://www.npmjs.org/package/@google-cloud/dlp)
+[![codecov](https://img.shields.io/codecov/c/github/googleapis/nodejs-dlp/master.svg?style=flat)](https://codecov.io/gh/googleapis/nodejs-dlp)
+
+
+
+
+The [Data Loss Prevention API](https://cloud.google.com/dlp/docs/) provides programmatic access to a
+powerful detection engine for personally identifiable information and other privacy-sensitive
+data in unstructured data streams.
+
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/googleapis/nodejs-dlp/blob/master/CHANGELOG.md).
+
+* [Cloud Data Loss Prevention Node.js Client API Reference][client-docs]
+* [Cloud Data Loss Prevention Documentation][product-docs]
+* [github.com/googleapis/nodejs-dlp](https://github.com/googleapis/nodejs-dlp)
+
+Read more about the client libraries for Cloud APIs, including the older
+Google APIs Client Libraries, in [Client Libraries Explained][explained].
+
+[explained]: https://cloud.google.com/apis/docs/client-libraries-explained
+
+**Table of contents:**
+
+
+* [Quickstart](#quickstart)
+ * [Before you begin](#before-you-begin)
+ * [Installing the client library](#installing-the-client-library)
+ * [Using the client library](#using-the-client-library)
+* [Samples](#samples)
+* [Versioning](#versioning)
+* [Contributing](#contributing)
+* [License](#license)
+
+## Quickstart
+
+### Before you begin
+
+1. [Select or create a Cloud Platform project][projects].
+1. [Enable billing for your project][billing].
+1. [Enable the Cloud Data Loss Prevention 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/dlp
+```
+
+
+### Using the client library
+
+```javascript
+
+// Instantiates a client
+const dlp = new DLP.DlpServiceClient();
+
+// The string to inspect
+const string = 'Robert Frost';
+
+// The project ID to run the API call under
+// const projectId = 'my-project';
+
+async function quickStart() {
+ // The minimum likelihood required before returning a match
+ const minLikelihood = 'LIKELIHOOD_UNSPECIFIED';
+
+ // The maximum number of findings to report (0 = server maximum)
+ const maxFindings = 0;
+
+ // The infoTypes of information to match
+ const infoTypes = [{name: 'PERSON_NAME'}, {name: 'US_STATE'}];
+
+ // Whether to include the matching string
+ const includeQuote = true;
+
+ // Construct item to inspect
+ const item = {value: string};
+
+ // Construct request
+ const request = {
+ parent: `projects/${projectId}/locations/global`,
+ inspectConfig: {
+ infoTypes: infoTypes,
+ minLikelihood: minLikelihood,
+ limits: {
+ maxFindingsPerRequest: maxFindings,
+ },
+ includeQuote: includeQuote,
+ },
+ item: item,
+ };
+
+ // Run request
+ const [response] = await dlp.inspectContent(request);
+ const findings = response.result.findings;
+ if (findings.length > 0) {
+ console.log('Findings:');
+ findings.forEach(finding => {
+ if (includeQuote) {
+ console.log(`\tQuote: ${finding.quote}`);
+ }
+ console.log(`\tInfo type: ${finding.infoType.name}`);
+ console.log(`\tLikelihood: ${finding.likelihood}`);
+ });
+ } else {
+ console.log('No findings.');
+ }
+}
+quickStart();
+
+```
+
+
+
+## Samples
+
+Samples are in the [`samples/`](https://github.com/googleapis/nodejs-dlp/tree/master/samples) directory. Each sample's `README.md` has instructions for running its sample.
+
+| Sample | Source Code | Try it |
+| --------------------------- | --------------------------------- | ------ |
+| Categorical Risk Analysis | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/categoricalRiskAnalysis.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/categoricalRiskAnalysis.js,samples/README.md) |
+| Inspect Templates | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/createInspectTemplate.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/createInspectTemplate.js,samples/README.md) |
+| Job Triggers | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/createTrigger.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/createTrigger.js,samples/README.md) |
+| Deidentify with Date Shift | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/deidentifyWithDateShift.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/deidentifyWithDateShift.js,samples/README.md) |
+| Deidentify with FPE | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/deidentifyWithFpe.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/deidentifyWithFpe.js,samples/README.md) |
+| Deidentify with Mask | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/deidentifyWithMask.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/deidentifyWithMask.js,samples/README.md) |
+| Deidentify with Replacement | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/deidentifyWithReplacement.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/deidentifyWithReplacement.js,samples/README.md) |
+| Delete Inspect Templates | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/deleteInspectTemplate.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/deleteInspectTemplate.js,samples/README.md) |
+| Delete Job | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/deleteJob.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/deleteJob.js,samples/README.md) |
+| Delete Trigger | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/deleteTrigger.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/deleteTrigger.js,samples/README.md) |
+| Inspect Bigquery | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/inspectBigQuery.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/inspectBigQuery.js,samples/README.md) |
+| Inspect Datastore | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/inspectDatastore.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/inspectDatastore.js,samples/README.md) |
+| Inspect File | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/inspectFile.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/inspectFile.js,samples/README.md) |
+| Inspect GCS File | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/inspectGCSFile.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/inspectGCSFile.js,samples/README.md) |
+| Inspects strings | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/inspectString.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/inspectString.js,samples/README.md) |
+| kAnonymity Analysis | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/kAnonymityAnalysis.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/kAnonymityAnalysis.js,samples/README.md) |
+| kMap Estimation Analysis | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/kMapEstimationAnalysis.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/kMapEstimationAnalysis.js,samples/README.md) |
+| l Diversity Analysis | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/lDiversityAnalysis.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/lDiversityAnalysis.js,samples/README.md) |
+| List Inspect Templates | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/listInspectTemplates.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/listInspectTemplates.js,samples/README.md) |
+| List jobs | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/listJobs.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/listJobs.js,samples/README.md) |
+| List Triggers | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/listTriggers.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/listTriggers.js,samples/README.md) |
+| Metadata | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/metadata.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/metadata.js,samples/README.md) |
+| Numerical Risk Analysis | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/numericalRiskAnalysis.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/numericalRiskAnalysis.js,samples/README.md) |
+| Quickstart | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) |
+| Redact Image | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/redactImage.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/redactImage.js,samples/README.md) |
+| Redact Text | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/redactText.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/redactText.js,samples/README.md) |
+| Reidentify with FPE | [source code](https://github.com/googleapis/nodejs-dlp/blob/master/samples/reidentifyWithFpe.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-dlp&page=editor&open_in_editor=samples/reidentifyWithFpe.js,samples/README.md) |
+
+
+
+The [Cloud Data Loss Prevention 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.
+
+Client libraries targeting some end-of-life versions of Node.js are available, and
+can be installed via npm [dist-tags](https://docs.npmjs.com/cli/dist-tag).
+The dist-tags follow the naming convention `legacy-(version)`.
+
+_Legacy Node.js versions are supported as a best effort:_
+
+* Legacy versions will not be tested in continuous integration.
+* Some security patches may not be able to be backported.
+* Dependencies will not be kept up-to-date, and features will not be backported.
+
+#### Legacy tags available
+
+* `legacy-8`: install client libraries from this dist-tag for versions
+ compatible with Node.js 8.
+
+## Versioning
+
+This library follows [Semantic Versioning](http://semver.org/).
+
+
+This library is considered to be **General Availability (GA)**. This means it
+is 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 **GA** 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-dlp/blob/master/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 template in this
+[directory](https://github.com/googleapis/synthtool/tree/master/synthtool/gcp/templates/node_library).
+
+## License
+
+Apache Version 2.0
+
+See [LICENSE](https://github.com/googleapis/nodejs-dlp/blob/master/LICENSE)
+
+[client-docs]: https://googleapis.dev/nodejs/dlp/latest
+[product-docs]: https://cloud.google.com/dlp/docs/
+[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png
+[projects]: https://console.cloud.google.com/project
+[billing]: https://support.google.com/cloud/answer/6293499#enable-billing
+[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=dlp.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/api-extractor.json b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/api-extractor.json
new file mode 100644
index 000000000..de228294b
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/api-extractor.json
@@ -0,0 +1,369 @@
+/**
+ * Config file for API Extractor. For more info, please visit: https://api-extractor.com
+ */
+{
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
+
+ /**
+ * Optionally specifies another JSON config file that this file extends from. This provides a way for
+ * standard settings to be shared across multiple projects.
+ *
+ * If the path starts with "./" or "../", the path is resolved relative to the folder of the file that contains
+ * the "extends" field. Otherwise, the first path segment is interpreted as an NPM package name, and will be
+ * resolved using NodeJS require().
+ *
+ * SUPPORTED TOKENS: none
+ * DEFAULT VALUE: ""
+ */
+ // "extends": "./shared/api-extractor-base.json"
+ // "extends": "my-package/include/api-extractor-base.json"
+
+ /**
+ * Determines the "" token that can be used with other config file settings. The project folder
+ * typically contains the tsconfig.json and package.json config files, but the path is user-defined.
+ *
+ * The path is resolved relative to the folder of the config file that contains the setting.
+ *
+ * The default value for "projectFolder" is the token "", which means the folder is determined by traversing
+ * parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder
+ * that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error
+ * will be reported.
+ *
+ * SUPPORTED TOKENS:
+ * DEFAULT VALUE: ""
+ */
+ // "projectFolder": "..",
+
+ /**
+ * (REQUIRED) Specifies the .d.ts file to be used as the starting point for analysis. API Extractor
+ * analyzes the symbols exported by this module.
+ *
+ * The file extension must be ".d.ts" and not ".ts".
+ *
+ * The path is resolved relative to the folder of the config file that contains the setting; to change this,
+ * prepend a folder token such as "".
+ *
+ * SUPPORTED TOKENS: , ,
+ */
+ "mainEntryPointFilePath": "/protos/protos.d.ts",
+
+ /**
+ * A list of NPM package names whose exports should be treated as part of this package.
+ *
+ * For example, suppose that Webpack is used to generate a distributed bundle for the project "library1",
+ * and another NPM package "library2" is embedded in this bundle. Some types from library2 may become part
+ * of the exported API for library1, but by default API Extractor would generate a .d.ts rollup that explicitly
+ * imports library2. To avoid this, we can specify:
+ *
+ * "bundledPackages": [ "library2" ],
+ *
+ * This would direct API Extractor to embed those types directly in the .d.ts rollup, as if they had been
+ * local files for library1.
+ */
+ "bundledPackages": [ ],
+
+ /**
+ * Determines how the TypeScript compiler engine will be invoked by API Extractor.
+ */
+ "compiler": {
+ /**
+ * Specifies the path to the tsconfig.json file to be used by API Extractor when analyzing the project.
+ *
+ * The path is resolved relative to the folder of the config file that contains the setting; to change this,
+ * prepend a folder token such as "".
+ *
+ * Note: This setting will be ignored if "overrideTsconfig" is used.
+ *
+ * SUPPORTED TOKENS: , ,
+ * DEFAULT VALUE: "/tsconfig.json"
+ */
+ // "tsconfigFilePath": "/tsconfig.json",
+
+ /**
+ * Provides a compiler configuration that will be used instead of reading the tsconfig.json file from disk.
+ * The object must conform to the TypeScript tsconfig schema:
+ *
+ * http://json.schemastore.org/tsconfig
+ *
+ * If omitted, then the tsconfig.json file will be read from the "projectFolder".
+ *
+ * DEFAULT VALUE: no overrideTsconfig section
+ */
+ // "overrideTsconfig": {
+ // . . .
+ // }
+
+ /**
+ * This option causes the compiler to be invoked with the --skipLibCheck option. This option is not recommended
+ * and may cause API Extractor to produce incomplete or incorrect declarations, but it may be required when
+ * dependencies contain declarations that are incompatible with the TypeScript engine that API Extractor uses
+ * for its analysis. Where possible, the underlying issue should be fixed rather than relying on skipLibCheck.
+ *
+ * DEFAULT VALUE: false
+ */
+ // "skipLibCheck": true,
+ },
+
+ /**
+ * Configures how the API report file (*.api.md) will be generated.
+ */
+ "apiReport": {
+ /**
+ * (REQUIRED) Whether to generate an API report.
+ */
+ "enabled": true,
+
+ /**
+ * The filename for the API report files. It will be combined with "reportFolder" or "reportTempFolder" to produce
+ * a full file path.
+ *
+ * The file extension should be ".api.md", and the string should not contain a path separator such as "\" or "/".
+ *
+ * SUPPORTED TOKENS: ,
+ * DEFAULT VALUE: ".api.md"
+ */
+ // "reportFileName": ".api.md",
+
+ /**
+ * Specifies the folder where the API report file is written. The file name portion is determined by
+ * the "reportFileName" setting.
+ *
+ * The API report file is normally tracked by Git. Changes to it can be used to trigger a branch policy,
+ * e.g. for an API review.
+ *
+ * The path is resolved relative to the folder of the config file that contains the setting; to change this,
+ * prepend a folder token such as "".
+ *
+ * SUPPORTED TOKENS: , ,
+ * DEFAULT VALUE: "/etc/"
+ */
+ // "reportFolder": "/etc/",
+
+ /**
+ * Specifies the folder where the temporary report file is written. The file name portion is determined by
+ * the "reportFileName" setting.
+ *
+ * After the temporary file is written to disk, it is compared with the file in the "reportFolder".
+ * If they are different, a production build will fail.
+ *
+ * The path is resolved relative to the folder of the config file that contains the setting; to change this,
+ * prepend a folder token such as "".
+ *
+ * SUPPORTED TOKENS: , ,
+ * DEFAULT VALUE: "/temp/"
+ */
+ // "reportTempFolder": "/temp/"
+ },
+
+ /**
+ * Configures how the doc model file (*.api.json) will be generated.
+ */
+ "docModel": {
+ /**
+ * (REQUIRED) Whether to generate a doc model file.
+ */
+ "enabled": true,
+
+ /**
+ * The output path for the doc model file. The file extension should be ".api.json".
+ *
+ * The path is resolved relative to the folder of the config file that contains the setting; to change this,
+ * prepend a folder token such as "".
+ *
+ * SUPPORTED TOKENS: , ,
+ * DEFAULT VALUE: "/temp/.api.json"
+ */
+ // "apiJsonFilePath": "/temp/.api.json"
+ },
+
+ /**
+ * Configures how the .d.ts rollup file will be generated.
+ */
+ "dtsRollup": {
+ /**
+ * (REQUIRED) Whether to generate the .d.ts rollup file.
+ */
+ "enabled": true,
+
+ /**
+ * Specifies the output path for a .d.ts rollup file to be generated without any trimming.
+ * This file will include all declarations that are exported by the main entry point.
+ *
+ * If the path is an empty string, then this file will not be written.
+ *
+ * The path is resolved relative to the folder of the config file that contains the setting; to change this,
+ * prepend a folder token such as "".
+ *
+ * SUPPORTED TOKENS: , ,
+ * DEFAULT VALUE: "/dist/.d.ts"
+ */
+ // "untrimmedFilePath": "/dist/.d.ts",
+
+ /**
+ * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "beta" release.
+ * This file will include only declarations that are marked as "@public" or "@beta".
+ *
+ * The path is resolved relative to the folder of the config file that contains the setting; to change this,
+ * prepend a folder token such as "".
+ *
+ * SUPPORTED TOKENS: , ,
+ * DEFAULT VALUE: ""
+ */
+ // "betaTrimmedFilePath": "/dist/-beta.d.ts",
+
+
+ /**
+ * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "public" release.
+ * This file will include only declarations that are marked as "@public".
+ *
+ * If the path is an empty string, then this file will not be written.
+ *
+ * The path is resolved relative to the folder of the config file that contains the setting; to change this,
+ * prepend a folder token such as "".
+ *
+ * SUPPORTED TOKENS: , ,
+ * DEFAULT VALUE: ""
+ */
+ // "publicTrimmedFilePath": "/dist/-public.d.ts",
+
+ /**
+ * When a declaration is trimmed, by default it will be replaced by a code comment such as
+ * "Excluded from this release type: exampleMember". Set "omitTrimmingComments" to true to remove the
+ * declaration completely.
+ *
+ * DEFAULT VALUE: false
+ */
+ // "omitTrimmingComments": true
+ },
+
+ /**
+ * Configures how the tsdoc-metadata.json file will be generated.
+ */
+ "tsdocMetadata": {
+ /**
+ * Whether to generate the tsdoc-metadata.json file.
+ *
+ * DEFAULT VALUE: true
+ */
+ // "enabled": true,
+
+ /**
+ * Specifies where the TSDoc metadata file should be written.
+ *
+ * The path is resolved relative to the folder of the config file that contains the setting; to change this,
+ * prepend a folder token such as "".
+ *
+ * The default value is "", which causes the path to be automatically inferred from the "tsdocMetadata",
+ * "typings" or "main" fields of the project's package.json. If none of these fields are set, the lookup
+ * falls back to "tsdoc-metadata.json" in the package folder.
+ *
+ * SUPPORTED TOKENS: , ,
+ * DEFAULT VALUE: ""
+ */
+ // "tsdocMetadataFilePath": "/dist/tsdoc-metadata.json"
+ },
+
+ /**
+ * Specifies what type of newlines API Extractor should use when writing output files. By default, the output files
+ * will be written with Windows-style newlines. To use POSIX-style newlines, specify "lf" instead.
+ * To use the OS's default newline kind, specify "os".
+ *
+ * DEFAULT VALUE: "crlf"
+ */
+ // "newlineKind": "crlf",
+
+ /**
+ * Configures how API Extractor reports error and warning messages produced during analysis.
+ *
+ * There are three sources of messages: compiler messages, API Extractor messages, and TSDoc messages.
+ */
+ "messages": {
+ /**
+ * Configures handling of diagnostic messages reported by the TypeScript compiler engine while analyzing
+ * the input .d.ts files.
+ *
+ * TypeScript message identifiers start with "TS" followed by an integer. For example: "TS2551"
+ *
+ * DEFAULT VALUE: A single "default" entry with logLevel=warning.
+ */
+ "compilerMessageReporting": {
+ /**
+ * Configures the default routing for messages that don't match an explicit rule in this table.
+ */
+ "default": {
+ /**
+ * Specifies whether the message should be written to the the tool's output log. Note that
+ * the "addToApiReportFile" property may supersede this option.
+ *
+ * Possible values: "error", "warning", "none"
+ *
+ * Errors cause the build to fail and return a nonzero exit code. Warnings cause a production build fail
+ * and return a nonzero exit code. For a non-production build (e.g. when "api-extractor run" includes
+ * the "--local" option), the warning is displayed but the build will not fail.
+ *
+ * DEFAULT VALUE: "warning"
+ */
+ "logLevel": "warning",
+
+ /**
+ * When addToApiReportFile is true: If API Extractor is configured to write an API report file (.api.md),
+ * then the message will be written inside that file; otherwise, the message is instead logged according to
+ * the "logLevel" option.
+ *
+ * DEFAULT VALUE: false
+ */
+ // "addToApiReportFile": false
+ },
+
+ // "TS2551": {
+ // "logLevel": "warning",
+ // "addToApiReportFile": true
+ // },
+ //
+ // . . .
+ },
+
+ /**
+ * Configures handling of messages reported by API Extractor during its analysis.
+ *
+ * API Extractor message identifiers start with "ae-". For example: "ae-extra-release-tag"
+ *
+ * DEFAULT VALUE: See api-extractor-defaults.json for the complete table of extractorMessageReporting mappings
+ */
+ "extractorMessageReporting": {
+ "default": {
+ "logLevel": "warning",
+ // "addToApiReportFile": false
+ },
+
+ // "ae-extra-release-tag": {
+ // "logLevel": "warning",
+ // "addToApiReportFile": true
+ // },
+ //
+ // . . .
+ },
+
+ /**
+ * Configures handling of messages reported by the TSDoc parser when analyzing code comments.
+ *
+ * TSDoc message identifiers start with "tsdoc-". For example: "tsdoc-link-tag-unescaped-text"
+ *
+ * DEFAULT VALUE: A single "default" entry with logLevel=warning.
+ */
+ "tsdocMessageReporting": {
+ "default": {
+ "logLevel": "warning",
+ // "addToApiReportFile": false
+ }
+
+ // "tsdoc-link-tag-unescaped-text": {
+ // "logLevel": "warning",
+ // "addToApiReportFile": true
+ // },
+ //
+ // . . .
+ }
+ }
+
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/linkinator.config.json b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/linkinator.config.json
new file mode 100644
index 000000000..29a223b6d
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/linkinator.config.json
@@ -0,0 +1,10 @@
+{
+ "recurse": true,
+ "skip": [
+ "https://codecov.io/gh/googleapis/",
+ "www.googleapis.com",
+ "img.shields.io"
+ ],
+ "silent": true,
+ "concurrency": 10
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/package.json b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/package.json
new file mode 100644
index 000000000..cad6b92c5
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/package.json
@@ -0,0 +1,72 @@
+{
+ "name": "@google-cloud/dlp",
+ "description": "DLP API client for Node.js",
+ "version": "3.1.0",
+ "license": "Apache-2.0",
+ "author": "Google Inc",
+ "engines": {
+ "node": ">=10"
+ },
+ "repository": "googleapis/nodejs-dlp",
+ "main": "build/src/index.js",
+ "files": [
+ "build/protos",
+ "build/src"
+ ],
+ "keywords": [
+ "google apis client",
+ "google api client",
+ "google apis",
+ "google api",
+ "google",
+ "google cloud platform",
+ "google cloud",
+ "cloud",
+ "google dlp",
+ "dlp",
+ "DLP API"
+ ],
+ "scripts": {
+ "test": "c8 mocha build/test",
+ "samples-test": "cd samples/ && npm link ../ && npm install && npm test && cd ../",
+ "system-test": "mocha build/system-test",
+ "docs": "jsdoc -c .jsdoc.js",
+ "lint": "gts check",
+ "fix": "gts fix",
+ "docs-test": "linkinator docs",
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "predocs-test": "npm run docs",
+ "prepare": "npm run compile-protos && npm run compile",
+ "prelint": "cd samples; npm link ../; npm install",
+ "precompile": "gts clean",
+ "api-extractor": "api-extractor run --local",
+ "api-documenter": "api-documenter yaml --input-folder=temp"
+ },
+ "dependencies": {
+ "google-gax": "^2.9.2",
+ "protobufjs": "^6.8.0"
+ },
+ "devDependencies": {
+ "@types/mocha": "^8.0.0",
+ "@types/node": "^12.0.0",
+ "@types/sinon": "^9.0.0",
+ "c8": "^7.0.0",
+ "gts": "^2.0.0",
+ "jsdoc": "^3.5.5",
+ "jsdoc-fresh": "^1.0.1",
+ "jsdoc-region-tag": "^1.0.2",
+ "linkinator": "^2.0.0",
+ "mocha": "^8.0.0",
+ "null-loader": "^4.0.0",
+ "pack-n-play": "^1.0.0-2",
+ "sinon": "^10.0.0",
+ "ts-loader": "^8.0.0",
+ "typescript": "^3.8.3",
+ "webpack": "^5.0.0",
+ "webpack-cli": "^4.0.0",
+ "@microsoft/api-documenter": "^7.8.10",
+ "@microsoft/api-extractor": "^7.8.10"
+ }
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/protos/google/cloud/common_resources.proto b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/protos/google/cloud/common_resources.proto
new file mode 100644
index 000000000..56c9f800d
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/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/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/protos/google/privacy/dlp/v2/dlp.proto b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/protos/google/privacy/dlp/v2/dlp.proto
new file mode 100644
index 000000000..3fb0c2193
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/protos/google/privacy/dlp/v2/dlp.proto
@@ -0,0 +1,4379 @@
+// 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.privacy.dlp.v2;
+
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/privacy/dlp/v2/storage.proto";
+import "google/protobuf/duration.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/timestamp.proto";
+import "google/rpc/status.proto";
+import "google/type/date.proto";
+import "google/type/dayofweek.proto";
+import "google/type/timeofday.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Cloud.Dlp.V2";
+option go_package = "google.golang.org/genproto/googleapis/privacy/dlp/v2;dlp";
+option java_multiple_files = true;
+option java_outer_classname = "DlpProto";
+option java_package = "com.google.privacy.dlp.v2";
+option php_namespace = "Google\\Cloud\\Dlp\\V2";
+option ruby_package = "Google::Cloud::Dlp::V2";
+option (google.api.resource_definition) = {
+ type: "dlp.googleapis.com/DlpContent"
+ pattern: "projects/{project}/dlpContent"
+ pattern: "projects/{project}/locations/{location}/dlpContent"
+};
+option (google.api.resource_definition) = {
+ type: "dlp.googleapis.com/OrganizationLocation"
+ pattern: "organizations/{organization}/locations/{location}"
+};
+
+// The Cloud Data Loss Prevention (DLP) API is a service that allows clients
+// to detect the presence of Personally Identifiable Information (PII) and other
+// privacy-sensitive data in user-supplied, unstructured data streams, like text
+// blocks or images.
+// The service also includes methods for sensitive data redaction and
+// scheduling of data scans on Google Cloud Platform based data sets.
+//
+// To learn more about concepts and find how-to guides see
+// https://cloud.google.com/dlp/docs/.
+service DlpService {
+ option (google.api.default_host) = "dlp.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
+
+ // Finds potentially sensitive info in content.
+ // This method has limits on input size, processing time, and output size.
+ //
+ // When no InfoTypes or CustomInfoTypes are specified in this request, the
+ // system will automatically choose what detectors to run. By default this may
+ // be all types, but may change over time as detectors are updated.
+ //
+ // For how to guides, see https://cloud.google.com/dlp/docs/inspecting-images
+ // and https://cloud.google.com/dlp/docs/inspecting-text,
+ rpc InspectContent(InspectContentRequest) returns (InspectContentResponse) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/content:inspect"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/content:inspect"
+ body: "*"
+ }
+ };
+ }
+
+ // Redacts potentially sensitive info from an image.
+ // This method has limits on input size, processing time, and output size.
+ // See https://cloud.google.com/dlp/docs/redacting-sensitive-data-images to
+ // learn more.
+ //
+ // When no InfoTypes or CustomInfoTypes are specified in this request, the
+ // system will automatically choose what detectors to run. By default this may
+ // be all types, but may change over time as detectors are updated.
+ rpc RedactImage(RedactImageRequest) returns (RedactImageResponse) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/image:redact"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/image:redact"
+ body: "*"
+ }
+ };
+ }
+
+ // De-identifies potentially sensitive info from a ContentItem.
+ // This method has limits on input size and output size.
+ // See https://cloud.google.com/dlp/docs/deidentify-sensitive-data to
+ // learn more.
+ //
+ // When no InfoTypes or CustomInfoTypes are specified in this request, the
+ // system will automatically choose what detectors to run. By default this may
+ // be all types, but may change over time as detectors are updated.
+ rpc DeidentifyContent(DeidentifyContentRequest) returns (DeidentifyContentResponse) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/content:deidentify"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/content:deidentify"
+ body: "*"
+ }
+ };
+ }
+
+ // Re-identifies content that has been de-identified.
+ // See
+ // https://cloud.google.com/dlp/docs/pseudonymization#re-identification_in_free_text_code_example
+ // to learn more.
+ rpc ReidentifyContent(ReidentifyContentRequest) returns (ReidentifyContentResponse) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/content:reidentify"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/content:reidentify"
+ body: "*"
+ }
+ };
+ }
+
+ // Returns a list of the sensitive information types that the DLP API
+ // supports. See https://cloud.google.com/dlp/docs/infotypes-reference to
+ // learn more.
+ rpc ListInfoTypes(ListInfoTypesRequest) returns (ListInfoTypesResponse) {
+ option (google.api.http) = {
+ get: "/v2/infoTypes"
+ additional_bindings {
+ get: "/v2/{parent=locations/*}/infoTypes"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Creates an InspectTemplate for re-using frequently used configuration
+ // for inspecting content, images, and storage.
+ // See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+ rpc CreateInspectTemplate(CreateInspectTemplateRequest) returns (InspectTemplate) {
+ option (google.api.http) = {
+ post: "/v2/{parent=organizations/*}/inspectTemplates"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=organizations/*/locations/*}/inspectTemplates"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{parent=projects/*}/inspectTemplates"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/inspectTemplates"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,inspect_template";
+ }
+
+ // Updates the InspectTemplate.
+ // See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+ rpc UpdateInspectTemplate(UpdateInspectTemplateRequest) returns (InspectTemplate) {
+ option (google.api.http) = {
+ patch: "/v2/{name=organizations/*/inspectTemplates/*}"
+ body: "*"
+ additional_bindings {
+ patch: "/v2/{name=organizations/*/locations/*/inspectTemplates/*}"
+ body: "*"
+ }
+ additional_bindings {
+ patch: "/v2/{name=projects/*/inspectTemplates/*}"
+ body: "*"
+ }
+ additional_bindings {
+ patch: "/v2/{name=projects/*/locations/*/inspectTemplates/*}"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "name,inspect_template,update_mask";
+ }
+
+ // Gets an InspectTemplate.
+ // See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+ rpc GetInspectTemplate(GetInspectTemplateRequest) returns (InspectTemplate) {
+ option (google.api.http) = {
+ get: "/v2/{name=organizations/*/inspectTemplates/*}"
+ additional_bindings {
+ get: "/v2/{name=organizations/*/locations/*/inspectTemplates/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=projects/*/inspectTemplates/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/inspectTemplates/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists InspectTemplates.
+ // See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+ rpc ListInspectTemplates(ListInspectTemplatesRequest) returns (ListInspectTemplatesResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=organizations/*}/inspectTemplates"
+ additional_bindings {
+ get: "/v2/{parent=organizations/*/locations/*}/inspectTemplates"
+ }
+ additional_bindings {
+ get: "/v2/{parent=projects/*}/inspectTemplates"
+ }
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/inspectTemplates"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Deletes an InspectTemplate.
+ // See https://cloud.google.com/dlp/docs/creating-templates to learn more.
+ rpc DeleteInspectTemplate(DeleteInspectTemplateRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=organizations/*/inspectTemplates/*}"
+ additional_bindings {
+ delete: "/v2/{name=organizations/*/locations/*/inspectTemplates/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=projects/*/inspectTemplates/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/inspectTemplates/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a DeidentifyTemplate for re-using frequently used configuration
+ // for de-identifying content, images, and storage.
+ // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
+ // more.
+ rpc CreateDeidentifyTemplate(CreateDeidentifyTemplateRequest) returns (DeidentifyTemplate) {
+ option (google.api.http) = {
+ post: "/v2/{parent=organizations/*}/deidentifyTemplates"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=organizations/*/locations/*}/deidentifyTemplates"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{parent=projects/*}/deidentifyTemplates"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/deidentifyTemplates"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,deidentify_template";
+ }
+
+ // Updates the DeidentifyTemplate.
+ // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
+ // more.
+ rpc UpdateDeidentifyTemplate(UpdateDeidentifyTemplateRequest) returns (DeidentifyTemplate) {
+ option (google.api.http) = {
+ patch: "/v2/{name=organizations/*/deidentifyTemplates/*}"
+ body: "*"
+ additional_bindings {
+ patch: "/v2/{name=organizations/*/locations/*/deidentifyTemplates/*}"
+ body: "*"
+ }
+ additional_bindings {
+ patch: "/v2/{name=projects/*/deidentifyTemplates/*}"
+ body: "*"
+ }
+ additional_bindings {
+ patch: "/v2/{name=projects/*/locations/*/deidentifyTemplates/*}"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "name,deidentify_template,update_mask";
+ }
+
+ // Gets a DeidentifyTemplate.
+ // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
+ // more.
+ rpc GetDeidentifyTemplate(GetDeidentifyTemplateRequest) returns (DeidentifyTemplate) {
+ option (google.api.http) = {
+ get: "/v2/{name=organizations/*/deidentifyTemplates/*}"
+ additional_bindings {
+ get: "/v2/{name=organizations/*/locations/*/deidentifyTemplates/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=projects/*/deidentifyTemplates/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/deidentifyTemplates/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists DeidentifyTemplates.
+ // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
+ // more.
+ rpc ListDeidentifyTemplates(ListDeidentifyTemplatesRequest) returns (ListDeidentifyTemplatesResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=organizations/*}/deidentifyTemplates"
+ additional_bindings {
+ get: "/v2/{parent=organizations/*/locations/*}/deidentifyTemplates"
+ }
+ additional_bindings {
+ get: "/v2/{parent=projects/*}/deidentifyTemplates"
+ }
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/deidentifyTemplates"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Deletes a DeidentifyTemplate.
+ // See https://cloud.google.com/dlp/docs/creating-templates-deid to learn
+ // more.
+ rpc DeleteDeidentifyTemplate(DeleteDeidentifyTemplateRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=organizations/*/deidentifyTemplates/*}"
+ additional_bindings {
+ delete: "/v2/{name=organizations/*/locations/*/deidentifyTemplates/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=projects/*/deidentifyTemplates/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/deidentifyTemplates/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Creates a job trigger to run DLP actions such as scanning storage for
+ // sensitive information on a set schedule.
+ // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
+ rpc CreateJobTrigger(CreateJobTriggerRequest) returns (JobTrigger) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/jobTriggers"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/jobTriggers"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,job_trigger";
+ }
+
+ // Updates a job trigger.
+ // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
+ rpc UpdateJobTrigger(UpdateJobTriggerRequest) returns (JobTrigger) {
+ option (google.api.http) = {
+ patch: "/v2/{name=projects/*/jobTriggers/*}"
+ body: "*"
+ additional_bindings {
+ patch: "/v2/{name=projects/*/locations/*/jobTriggers/*}"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "name,job_trigger,update_mask";
+ }
+
+ // Inspect hybrid content and store findings to a trigger. The inspection
+ // will be processed asynchronously. To review the findings monitor the
+ // jobs within the trigger.
+ // Early access feature is in a pre-release state and might change or have
+ // limited support. For more information, see
+ // https://cloud.google.com/products#product-launch-stages.
+ rpc HybridInspectJobTrigger(HybridInspectJobTriggerRequest) returns (HybridInspectResponse) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/locations/*/jobTriggers/*}:hybridInspect"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets a job trigger.
+ // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
+ rpc GetJobTrigger(GetJobTriggerRequest) returns (JobTrigger) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/jobTriggers/*}"
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/jobTriggers/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists job triggers.
+ // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
+ rpc ListJobTriggers(ListJobTriggersRequest) returns (ListJobTriggersResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*}/jobTriggers"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/jobTriggers"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Deletes a job trigger.
+ // See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
+ rpc DeleteJobTrigger(DeleteJobTriggerRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=projects/*/jobTriggers/*}"
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/jobTriggers/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Activate a job trigger. Causes the immediate execute of a trigger
+ // instead of waiting on the trigger event to occur.
+ rpc ActivateJobTrigger(ActivateJobTriggerRequest) returns (DlpJob) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/jobTriggers/*}:activate"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{name=projects/*/locations/*/jobTriggers/*}:activate"
+ body: "*"
+ }
+ };
+ }
+
+ // Creates a new job to inspect storage or calculate risk metrics.
+ // See https://cloud.google.com/dlp/docs/inspecting-storage and
+ // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+ //
+ // When no InfoTypes or CustomInfoTypes are specified in inspect jobs, the
+ // system will automatically choose what detectors to run. By default this may
+ // be all types, but may change over time as detectors are updated.
+ rpc CreateDlpJob(CreateDlpJobRequest) returns (DlpJob) {
+ option (google.api.http) = {
+ post: "/v2/{parent=projects/*}/dlpJobs"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/dlpJobs"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,inspect_job";
+ option (google.api.method_signature) = "parent,risk_job";
+ }
+
+ // Lists DlpJobs that match the specified filter in the request.
+ // See https://cloud.google.com/dlp/docs/inspecting-storage and
+ // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+ rpc ListDlpJobs(ListDlpJobsRequest) returns (ListDlpJobsResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=projects/*}/dlpJobs"
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/dlpJobs"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Gets the latest state of a long-running DlpJob.
+ // See https://cloud.google.com/dlp/docs/inspecting-storage and
+ // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+ rpc GetDlpJob(GetDlpJobRequest) returns (DlpJob) {
+ option (google.api.http) = {
+ get: "/v2/{name=projects/*/dlpJobs/*}"
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/dlpJobs/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Deletes a long-running DlpJob. This method indicates that the client is
+ // no longer interested in the DlpJob result. The job will be cancelled if
+ // possible.
+ // See https://cloud.google.com/dlp/docs/inspecting-storage and
+ // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+ rpc DeleteDlpJob(DeleteDlpJobRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=projects/*/dlpJobs/*}"
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/dlpJobs/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Starts asynchronous cancellation on a long-running DlpJob. The server
+ // makes a best effort to cancel the DlpJob, but success is not
+ // guaranteed.
+ // See https://cloud.google.com/dlp/docs/inspecting-storage and
+ // https://cloud.google.com/dlp/docs/compute-risk-analysis to learn more.
+ rpc CancelDlpJob(CancelDlpJobRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/dlpJobs/*}:cancel"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{name=projects/*/locations/*/dlpJobs/*}:cancel"
+ body: "*"
+ }
+ };
+ }
+
+ // Creates a pre-built stored infoType to be used for inspection.
+ // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
+ // learn more.
+ rpc CreateStoredInfoType(CreateStoredInfoTypeRequest) returns (StoredInfoType) {
+ option (google.api.http) = {
+ post: "/v2/{parent=organizations/*}/storedInfoTypes"
+ body: "*"
+ additional_bindings {
+ post: "/v2/{parent=organizations/*/locations/*}/storedInfoTypes"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{parent=projects/*}/storedInfoTypes"
+ body: "*"
+ }
+ additional_bindings {
+ post: "/v2/{parent=projects/*/locations/*}/storedInfoTypes"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "parent,config";
+ }
+
+ // Updates the stored infoType by creating a new version. The existing version
+ // will continue to be used until the new version is ready.
+ // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
+ // learn more.
+ rpc UpdateStoredInfoType(UpdateStoredInfoTypeRequest) returns (StoredInfoType) {
+ option (google.api.http) = {
+ patch: "/v2/{name=organizations/*/storedInfoTypes/*}"
+ body: "*"
+ additional_bindings {
+ patch: "/v2/{name=organizations/*/locations/*/storedInfoTypes/*}"
+ body: "*"
+ }
+ additional_bindings {
+ patch: "/v2/{name=projects/*/storedInfoTypes/*}"
+ body: "*"
+ }
+ additional_bindings {
+ patch: "/v2/{name=projects/*/locations/*/storedInfoTypes/*}"
+ body: "*"
+ }
+ };
+ option (google.api.method_signature) = "name,config,update_mask";
+ }
+
+ // Gets a stored infoType.
+ // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
+ // learn more.
+ rpc GetStoredInfoType(GetStoredInfoTypeRequest) returns (StoredInfoType) {
+ option (google.api.http) = {
+ get: "/v2/{name=organizations/*/storedInfoTypes/*}"
+ additional_bindings {
+ get: "/v2/{name=organizations/*/locations/*/storedInfoTypes/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=projects/*/storedInfoTypes/*}"
+ }
+ additional_bindings {
+ get: "/v2/{name=projects/*/locations/*/storedInfoTypes/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists stored infoTypes.
+ // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
+ // learn more.
+ rpc ListStoredInfoTypes(ListStoredInfoTypesRequest) returns (ListStoredInfoTypesResponse) {
+ option (google.api.http) = {
+ get: "/v2/{parent=organizations/*}/storedInfoTypes"
+ additional_bindings {
+ get: "/v2/{parent=organizations/*/locations/*}/storedInfoTypes"
+ }
+ additional_bindings {
+ get: "/v2/{parent=projects/*}/storedInfoTypes"
+ }
+ additional_bindings {
+ get: "/v2/{parent=projects/*/locations/*}/storedInfoTypes"
+ }
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Deletes a stored infoType.
+ // See https://cloud.google.com/dlp/docs/creating-stored-infotypes to
+ // learn more.
+ rpc DeleteStoredInfoType(DeleteStoredInfoTypeRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v2/{name=organizations/*/storedInfoTypes/*}"
+ additional_bindings {
+ delete: "/v2/{name=organizations/*/locations/*/storedInfoTypes/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=projects/*/storedInfoTypes/*}"
+ }
+ additional_bindings {
+ delete: "/v2/{name=projects/*/locations/*/storedInfoTypes/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Inspect hybrid content and store findings to a job.
+ // To review the findings inspect the job. Inspection will occur
+ // asynchronously.
+ // Early access feature is in a pre-release state and might change or have
+ // limited support. For more information, see
+ // https://cloud.google.com/products#product-launch-stages.
+ rpc HybridInspectDlpJob(HybridInspectDlpJobRequest) returns (HybridInspectResponse) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/locations/*/dlpJobs/*}:hybridInspect"
+ body: "*"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Finish a running hybrid DlpJob. Triggers the finalization steps and running
+ // of any enabled actions that have not yet run.
+ // Early access feature is in a pre-release state and might change or have
+ // limited support. For more information, see
+ // https://cloud.google.com/products#product-launch-stages.
+ rpc FinishDlpJob(FinishDlpJobRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ post: "/v2/{name=projects/*/locations/*/dlpJobs/*}:finish"
+ body: "*"
+ };
+ }
+}
+
+// List of exclude infoTypes.
+message ExcludeInfoTypes {
+ // InfoType list in ExclusionRule rule drops a finding when it overlaps or
+ // contained within with a finding of an infoType from this list. For
+ // example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and
+ // `exclusion_rule` containing `exclude_info_types.info_types` with
+ // "EMAIL_ADDRESS" the phone number findings are dropped if they overlap
+ // with EMAIL_ADDRESS finding.
+ // That leads to "555-222-2222@example.org" to generate only a single
+ // finding, namely email address.
+ repeated InfoType info_types = 1;
+}
+
+// The rule that specifies conditions when findings of infoTypes specified in
+// `InspectionRuleSet` are removed from results.
+message ExclusionRule {
+ // Exclusion rule types.
+ oneof type {
+ // Dictionary which defines the rule.
+ CustomInfoType.Dictionary dictionary = 1;
+
+ // Regular expression which defines the rule.
+ CustomInfoType.Regex regex = 2;
+
+ // Set of infoTypes for which findings would affect this rule.
+ ExcludeInfoTypes exclude_info_types = 3;
+ }
+
+ // How the rule is applied, see MatchingType documentation for details.
+ MatchingType matching_type = 4;
+}
+
+// A single inspection rule to be applied to infoTypes, specified in
+// `InspectionRuleSet`.
+message InspectionRule {
+ // Inspection rule types.
+ oneof type {
+ // Hotword-based detection rule.
+ CustomInfoType.DetectionRule.HotwordRule hotword_rule = 1;
+
+ // Exclusion rule.
+ ExclusionRule exclusion_rule = 2;
+ }
+}
+
+// Rule set for modifying a set of infoTypes to alter behavior under certain
+// circumstances, depending on the specific details of the rules within the set.
+message InspectionRuleSet {
+ // List of infoTypes this rule set is applied to.
+ repeated InfoType info_types = 1;
+
+ // Set of rules to be applied to infoTypes. The rules are applied in order.
+ repeated InspectionRule rules = 2;
+}
+
+// Configuration description of the scanning process.
+// When used with redactContent only info_types and min_likelihood are currently
+// used.
+message InspectConfig {
+ // Configuration to control the number of findings returned.
+ message FindingLimits {
+ // Max findings configuration per infoType, per content item or long
+ // running DlpJob.
+ message InfoTypeLimit {
+ // Type of information the findings limit applies to. Only one limit per
+ // info_type should be provided. If InfoTypeLimit does not have an
+ // info_type, the DLP API applies the limit against all info_types that
+ // are found but not specified in another InfoTypeLimit.
+ InfoType info_type = 1;
+
+ // Max findings limit for the given infoType.
+ int32 max_findings = 2;
+ }
+
+ // Max number of findings that will be returned for each item scanned.
+ // When set within `InspectJobConfig`,
+ // the maximum returned is 2000 regardless if this is set higher.
+ // When set within `InspectContentRequest`, this field is ignored.
+ int32 max_findings_per_item = 1;
+
+ // Max number of findings that will be returned per request/job.
+ // When set within `InspectContentRequest`, the maximum returned is 2000
+ // regardless if this is set higher.
+ int32 max_findings_per_request = 2;
+
+ // Configuration of findings limit given for specified infoTypes.
+ repeated InfoTypeLimit max_findings_per_info_type = 3;
+ }
+
+ // Restricts what info_types to look for. The values must correspond to
+ // InfoType values returned by ListInfoTypes or listed at
+ // https://cloud.google.com/dlp/docs/infotypes-reference.
+ //
+ // When no InfoTypes or CustomInfoTypes are specified in a request, the
+ // system may automatically choose what detectors to run. By default this may
+ // be all types, but may change over time as detectors are updated.
+ //
+ // If you need precise control and predictability as to what detectors are
+ // run you should specify specific InfoTypes listed in the reference,
+ // otherwise a default list will be used, which may change over time.
+ repeated InfoType info_types = 1;
+
+ // Only returns findings equal or above this threshold. The default is
+ // POSSIBLE.
+ // See https://cloud.google.com/dlp/docs/likelihood to learn more.
+ Likelihood min_likelihood = 2;
+
+ // Configuration to control the number of findings returned.
+ FindingLimits limits = 3;
+
+ // When true, a contextual quote from the data that triggered a finding is
+ // included in the response; see Finding.quote.
+ bool include_quote = 4;
+
+ // When true, excludes type information of the findings.
+ bool exclude_info_types = 5;
+
+ // CustomInfoTypes provided by the user. See
+ // https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
+ repeated CustomInfoType custom_info_types = 6;
+
+ // List of options defining data content to scan.
+ // If empty, text, images, and other content will be included.
+ repeated ContentOption content_options = 8;
+
+ // Set of rules to apply to the findings for this InspectConfig.
+ // Exclusion rules, contained in the set are executed in the end, other
+ // rules are executed in the order they are specified for each info type.
+ repeated InspectionRuleSet rule_set = 10;
+}
+
+// Container for bytes to inspect or redact.
+message ByteContentItem {
+ // The type of data being sent for inspection.
+ enum BytesType {
+ // Unused
+ BYTES_TYPE_UNSPECIFIED = 0;
+
+ // Any image type.
+ IMAGE = 6;
+
+ // jpeg
+ IMAGE_JPEG = 1;
+
+ // bmp
+ IMAGE_BMP = 2;
+
+ // png
+ IMAGE_PNG = 3;
+
+ // svg
+ IMAGE_SVG = 4;
+
+ // plain text
+ TEXT_UTF8 = 5;
+
+ // docx, docm, dotx, dotm
+ WORD_DOCUMENT = 7;
+
+ // pdf
+ PDF = 8;
+
+ // avro
+ AVRO = 11;
+
+ // csv
+ CSV = 12;
+
+ // tsv
+ TSV = 13;
+ }
+
+ // The type of data stored in the bytes string. Default will be TEXT_UTF8.
+ BytesType type = 1;
+
+ // Content data to inspect or redact.
+ bytes data = 2;
+}
+
+// Container structure for the content to inspect.
+message ContentItem {
+ // Data of the item either in the byte array or UTF-8 string form, or table.
+ oneof data_item {
+ // String data to inspect or redact.
+ string value = 3;
+
+ // Structured content for inspection. See
+ // https://cloud.google.com/dlp/docs/inspecting-text#inspecting_a_table to
+ // learn more.
+ Table table = 4;
+
+ // Content data to inspect or redact. Replaces `type` and `data`.
+ ByteContentItem byte_item = 5;
+ }
+}
+
+// Structured content to inspect. Up to 50,000 `Value`s per request allowed.
+// See https://cloud.google.com/dlp/docs/inspecting-text#inspecting_a_table to
+// learn more.
+message Table {
+ // Values of the row.
+ message Row {
+ // Individual cells.
+ repeated Value values = 1;
+ }
+
+ // Headers of the table.
+ repeated FieldId headers = 1;
+
+ // Rows of the table.
+ repeated Row rows = 2;
+}
+
+// All the findings for a single scanned item.
+message InspectResult {
+ // List of findings for an item.
+ repeated Finding findings = 1;
+
+ // If true, then this item might have more findings than were returned,
+ // and the findings returned are an arbitrary subset of all findings.
+ // The findings list might be truncated because the input items were too
+ // large, or because the server reached the maximum amount of resources
+ // allowed for a single API call. For best results, divide the input into
+ // smaller batches.
+ bool findings_truncated = 2;
+}
+
+// Represents a piece of potentially sensitive content.
+message Finding {
+ option (google.api.resource) = {
+ type: "dlp.googleapis.com/Finding"
+ pattern: "projects/{project}/locations/{location}/findings/{finding}"
+ };
+
+ // Resource name in format
+ // projects/{project}/locations/{location}/findings/{finding} Populated only
+ // when viewing persisted findings.
+ string name = 14;
+
+ // The content that was found. Even if the content is not textual, it
+ // may be converted to a textual representation here.
+ // Provided if `include_quote` is true and the finding is
+ // less than or equal to 4096 bytes long. If the finding exceeds 4096 bytes
+ // in length, the quote may be omitted.
+ string quote = 1;
+
+ // The type of content that might have been found.
+ // Provided if `excluded_types` is false.
+ InfoType info_type = 2;
+
+ // Confidence of how likely it is that the `info_type` is correct.
+ Likelihood likelihood = 3;
+
+ // Where the content was found.
+ Location location = 4;
+
+ // Timestamp when finding was detected.
+ google.protobuf.Timestamp create_time = 6;
+
+ // Contains data parsed from quotes. Only populated if include_quote was set
+ // to true and a supported infoType was requested. Currently supported
+ // infoTypes: DATE, DATE_OF_BIRTH and TIME.
+ QuoteInfo quote_info = 7;
+
+ // The job that stored the finding.
+ string resource_name = 8 [(google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DlpJob"
+ }];
+
+ // Job trigger name, if applicable, for this finding.
+ string trigger_name = 9 [(google.api.resource_reference) = {
+ type: "dlp.googleapis.com/JobTrigger"
+ }];
+
+ // The labels associated with this `Finding`.
+ //
+ // Label keys must be between 1 and 63 characters long and must conform
+ // to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
+ //
+ // Label values must be between 0 and 63 characters long and must conform
+ // to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
+ //
+ // No more than 10 labels can be associated with a given finding.
+ //
+ // Examples:
+ // * `"environment" : "production"`
+ // * `"pipeline" : "etl"`
+ map labels = 10;
+
+ // Time the job started that produced this finding.
+ google.protobuf.Timestamp job_create_time = 11;
+
+ // The job that stored the finding.
+ string job_name = 13 [(google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DlpJob"
+ }];
+}
+
+// Specifies the location of the finding.
+message Location {
+ // Zero-based byte offsets delimiting the finding.
+ // These are relative to the finding's containing element.
+ // Note that when the content is not textual, this references
+ // the UTF-8 encoded textual representation of the content.
+ // Omitted if content is an image.
+ Range byte_range = 1;
+
+ // Unicode character offsets delimiting the finding.
+ // These are relative to the finding's containing element.
+ // Provided when the content is text.
+ Range codepoint_range = 2;
+
+ // List of nested objects pointing to the precise location of the finding
+ // within the file or record.
+ repeated ContentLocation content_locations = 7;
+
+ // Information about the container where this finding occurred, if available.
+ Container container = 8;
+}
+
+// Precise location of the finding within a document, record, image, or metadata
+// container.
+message ContentLocation {
+ // Name of the container where the finding is located.
+ // The top level name is the source file name or table name. Names of some
+ // common storage containers are formatted as follows:
+ //
+ // * BigQuery tables: `{project_id}:{dataset_id}.{table_id}`
+ // * Cloud Storage files: `gs://{bucket}/{path}`
+ // * Datastore namespace: {namespace}
+ //
+ // Nested names could be absent if the embedded object has no string
+ // identifier (for an example an image contained within a document).
+ string container_name = 1;
+
+ // Type of the container within the file with location of the finding.
+ oneof location {
+ // Location within a row or record of a database table.
+ RecordLocation record_location = 2;
+
+ // Location within an image's pixels.
+ ImageLocation image_location = 3;
+
+ // Location data for document files.
+ DocumentLocation document_location = 5;
+
+ // Location within the metadata for inspected content.
+ MetadataLocation metadata_location = 8;
+ }
+
+ // Findings container modification timestamp, if applicable.
+ // For Google Cloud Storage contains last file modification timestamp.
+ // For BigQuery table contains last_modified_time property.
+ // For Datastore - not populated.
+ google.protobuf.Timestamp container_timestamp = 6;
+
+ // Findings container version, if available
+ // ("generation" for Google Cloud Storage).
+ string container_version = 7;
+}
+
+// Metadata Location
+message MetadataLocation {
+ // Type of metadata containing the finding.
+ MetadataType type = 1;
+
+ // Label of the piece of metadata containing the finding, for example -
+ // latitude, author, caption.
+ oneof label {
+ // Storage metadata.
+ StorageMetadataLabel storage_label = 3;
+ }
+}
+
+// Storage metadata label to indicate which metadata entry contains findings.
+message StorageMetadataLabel {
+ string key = 1;
+}
+
+// Location of a finding within a document.
+message DocumentLocation {
+ // Offset of the line, from the beginning of the file, where the finding
+ // is located.
+ int64 file_offset = 1;
+}
+
+// Location of a finding within a row or record.
+message RecordLocation {
+ // Key of the finding.
+ RecordKey record_key = 1;
+
+ // Field id of the field containing the finding.
+ FieldId field_id = 2;
+
+ // Location within a `ContentItem.Table`.
+ TableLocation table_location = 3;
+}
+
+// Location of a finding within a table.
+message TableLocation {
+ // The zero-based index of the row where the finding is located. Only
+ // populated for resources that have a natural ordering, not BigQuery. In
+ // BigQuery, to identify the row a finding came from, populate
+ // BigQueryOptions.identifying_fields with your primary key column names and
+ // when you store the findings the value of those columns will be stored
+ // inside of Finding.
+ int64 row_index = 1;
+}
+
+// Represents a container that may contain DLP findings.
+// Examples of a container include a file, table, or database record.
+message Container {
+ // Container type, for example BigQuery or Google Cloud Storage.
+ string type = 1;
+
+ // Project where the finding was found.
+ // Can be different from the project that owns the finding.
+ string project_id = 2;
+
+ // A string representation of the full container name.
+ // Examples:
+ // - BigQuery: 'Project:DataSetId.TableId'
+ // - Google Cloud Storage: 'gs://Bucket/folders/filename.txt'
+ string full_path = 3;
+
+ // The root of the container.
+ // Examples:
+ // - For BigQuery table `project_id:dataset_id.table_id`, the root is
+ // `dataset_id`
+ // - For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root
+ // is `gs://bucket`
+ string root_path = 4;
+
+ // The rest of the path after the root.
+ // Examples:
+ // - For BigQuery table `project_id:dataset_id.table_id`, the relative path is
+ // `table_id`
+ // - Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative
+ // path is `folder/filename.txt`
+ string relative_path = 5;
+
+ // Findings container modification timestamp, if applicable.
+ // For Google Cloud Storage contains last file modification timestamp.
+ // For BigQuery table contains last_modified_time property.
+ // For Datastore - not populated.
+ google.protobuf.Timestamp update_time = 6;
+
+ // Findings container version, if available
+ // ("generation" for Google Cloud Storage).
+ string version = 7;
+}
+
+// Generic half-open interval [start, end)
+message Range {
+ // Index of the first character of the range (inclusive).
+ int64 start = 1;
+
+ // Index of the last character of the range (exclusive).
+ int64 end = 2;
+}
+
+// Location of the finding within an image.
+message ImageLocation {
+ // Bounding boxes locating the pixels within the image containing the finding.
+ repeated BoundingBox bounding_boxes = 1;
+}
+
+// Bounding box encompassing detected text within an image.
+message BoundingBox {
+ // Top coordinate of the bounding box. (0,0) is upper left.
+ int32 top = 1;
+
+ // Left coordinate of the bounding box. (0,0) is upper left.
+ int32 left = 2;
+
+ // Width of the bounding box in pixels.
+ int32 width = 3;
+
+ // Height of the bounding box in pixels.
+ int32 height = 4;
+}
+
+// Request to search for potentially sensitive info in an image and redact it
+// by covering it with a colored rectangle.
+message RedactImageRequest {
+ // Configuration for determining how redaction of images should occur.
+ message ImageRedactionConfig {
+ // Type of information to redact from images.
+ oneof target {
+ // Only one per info_type should be provided per request. If not
+ // specified, and redact_all_text is false, the DLP API will redact all
+ // text that it matches against all info_types that are found, but not
+ // specified in another ImageRedactionConfig.
+ InfoType info_type = 1;
+
+ // If true, all text found in the image, regardless whether it matches an
+ // info_type, is redacted. Only one should be provided.
+ bool redact_all_text = 2;
+ }
+
+ // The color to use when redacting content from an image. If not specified,
+ // the default is black.
+ Color redaction_color = 3;
+ }
+
+ // Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [(google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DlpContent"
+ }];
+
+ // Deprecated. This field has no effect.
+ string location_id = 8;
+
+ // Configuration for the inspector.
+ InspectConfig inspect_config = 2;
+
+ // The configuration for specifying what content to redact from images.
+ repeated ImageRedactionConfig image_redaction_configs = 5;
+
+ // Whether the response should include findings along with the redacted
+ // image.
+ bool include_findings = 6;
+
+ // The content must be PNG, JPEG, SVG or BMP.
+ ByteContentItem byte_item = 7;
+}
+
+// Represents a color in the RGB color space.
+message Color {
+ // The amount of red in the color as a value in the interval [0, 1].
+ float red = 1;
+
+ // The amount of green in the color as a value in the interval [0, 1].
+ float green = 2;
+
+ // The amount of blue in the color as a value in the interval [0, 1].
+ float blue = 3;
+}
+
+// Results of redacting an image.
+message RedactImageResponse {
+ // The redacted image. The type will be the same as the original image.
+ bytes redacted_image = 1;
+
+ // If an image was being inspected and the InspectConfig's include_quote was
+ // set to true, then this field will include all text, if any, that was found
+ // in the image.
+ string extracted_text = 2;
+
+ // The findings. Populated when include_findings in the request is true.
+ InspectResult inspect_result = 3;
+}
+
+// Request to de-identify a list of items.
+message DeidentifyContentRequest {
+ // Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [(google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DlpContent"
+ }];
+
+ // Configuration for the de-identification of the content item.
+ // Items specified here will override the template referenced by the
+ // deidentify_template_name argument.
+ DeidentifyConfig deidentify_config = 2;
+
+ // Configuration for the inspector.
+ // Items specified here will override the template referenced by the
+ // inspect_template_name argument.
+ InspectConfig inspect_config = 3;
+
+ // The item to de-identify. Will be treated as text.
+ ContentItem item = 4;
+
+ // Template to use. Any configuration directly specified in
+ // inspect_config will override those set in the template. Singular fields
+ // that are set in this request will replace their corresponding fields in the
+ // template. Repeated fields are appended. Singular sub-messages and groups
+ // are recursively merged.
+ string inspect_template_name = 5;
+
+ // Template to use. Any configuration directly specified in
+ // deidentify_config will override those set in the template. Singular fields
+ // that are set in this request will replace their corresponding fields in the
+ // template. Repeated fields are appended. Singular sub-messages and groups
+ // are recursively merged.
+ string deidentify_template_name = 6;
+
+ // Deprecated. This field has no effect.
+ string location_id = 7;
+}
+
+// Results of de-identifying a ContentItem.
+message DeidentifyContentResponse {
+ // The de-identified item.
+ ContentItem item = 1;
+
+ // An overview of the changes that were made on the `item`.
+ TransformationOverview overview = 2;
+}
+
+// Request to re-identify an item.
+message ReidentifyContentRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DlpContent"
+ }
+ ];
+
+ // Configuration for the re-identification of the content item.
+ // This field shares the same proto message type that is used for
+ // de-identification, however its usage here is for the reversal of the
+ // previous de-identification. Re-identification is performed by examining
+ // the transformations used to de-identify the items and executing the
+ // reverse. This requires that only reversible transformations
+ // be provided here. The reversible transformations are:
+ //
+ // - `CryptoDeterministicConfig`
+ // - `CryptoReplaceFfxFpeConfig`
+ DeidentifyConfig reidentify_config = 2;
+
+ // Configuration for the inspector.
+ InspectConfig inspect_config = 3;
+
+ // The item to re-identify. Will be treated as text.
+ ContentItem item = 4;
+
+ // Template to use. Any configuration directly specified in
+ // `inspect_config` will override those set in the template. Singular fields
+ // that are set in this request will replace their corresponding fields in the
+ // template. Repeated fields are appended. Singular sub-messages and groups
+ // are recursively merged.
+ string inspect_template_name = 5;
+
+ // Template to use. References an instance of `DeidentifyTemplate`.
+ // Any configuration directly specified in `reidentify_config` or
+ // `inspect_config` will override those set in the template. The
+ // `DeidentifyTemplate` used must include only reversible transformations.
+ // Singular fields that are set in this request will replace their
+ // corresponding fields in the template. Repeated fields are appended.
+ // Singular sub-messages and groups are recursively merged.
+ string reidentify_template_name = 6;
+
+ // Deprecated. This field has no effect.
+ string location_id = 7;
+}
+
+// Results of re-identifying a item.
+message ReidentifyContentResponse {
+ // The re-identified item.
+ ContentItem item = 1;
+
+ // An overview of the changes that were made to the `item`.
+ TransformationOverview overview = 2;
+}
+
+// Request to search for potentially sensitive info in a ContentItem.
+message InspectContentRequest {
+ // Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [(google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DlpContent"
+ }];
+
+ // Configuration for the inspector. What specified here will override
+ // the template referenced by the inspect_template_name argument.
+ InspectConfig inspect_config = 2;
+
+ // The item to inspect.
+ ContentItem item = 3;
+
+ // Template to use. Any configuration directly specified in
+ // inspect_config will override those set in the template. Singular fields
+ // that are set in this request will replace their corresponding fields in the
+ // template. Repeated fields are appended. Singular sub-messages and groups
+ // are recursively merged.
+ string inspect_template_name = 4;
+
+ // Deprecated. This field has no effect.
+ string location_id = 5;
+}
+
+// Results of inspecting an item.
+message InspectContentResponse {
+ // The findings.
+ InspectResult result = 1;
+}
+
+// Cloud repository for storing output.
+message OutputStorageConfig {
+ // Predefined schemas for storing findings.
+ // Only for use with external storage.
+ enum OutputSchema {
+ // Unused.
+ OUTPUT_SCHEMA_UNSPECIFIED = 0;
+
+ // Basic schema including only `info_type`, `quote`, `certainty`, and
+ // `timestamp`.
+ BASIC_COLUMNS = 1;
+
+ // Schema tailored to findings from scanning Google Cloud Storage.
+ GCS_COLUMNS = 2;
+
+ // Schema tailored to findings from scanning Google Datastore.
+ DATASTORE_COLUMNS = 3;
+
+ // Schema tailored to findings from scanning Google BigQuery.
+ BIG_QUERY_COLUMNS = 4;
+
+ // Schema containing all columns.
+ ALL_COLUMNS = 5;
+ }
+
+ // Output storage types.
+ oneof type {
+ // Store findings in an existing table or a new table in an existing
+ // dataset. If table_id is not set a new one will be generated
+ // for you with the following format:
+ // dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
+ // generating the date details.
+ //
+ // For Inspect, each column in an existing output table must have the same
+ // name, type, and mode of a field in the `Finding` object.
+ //
+ // For Risk, an existing output table should be the output of a previous
+ // Risk analysis job run on the same source table, with the same privacy
+ // metric and quasi-identifiers. Risk jobs that analyze the same table but
+ // compute a different privacy metric, or use different sets of
+ // quasi-identifiers, cannot store their results in the same table.
+ BigQueryTable table = 1;
+ }
+
+ // Schema used for writing the findings for Inspect jobs. This field is only
+ // used for Inspect and must be unspecified for Risk jobs. Columns are derived
+ // from the `Finding` object. If appending to an existing table, any columns
+ // from the predefined schema that are missing will be added. No columns in
+ // the existing table will be deleted.
+ //
+ // If unspecified, then all available columns will be used for a new table or
+ // an (existing) table with no schema, and no changes will be made to an
+ // existing table that has a schema.
+ // Only for use with external storage.
+ OutputSchema output_schema = 3;
+}
+
+// Statistics regarding a specific InfoType.
+message InfoTypeStats {
+ // The type of finding this stat is for.
+ InfoType info_type = 1;
+
+ // Number of findings for this infoType.
+ int64 count = 2;
+}
+
+// The results of an inspect DataSource job.
+message InspectDataSourceDetails {
+ // Snapshot of the inspection configuration.
+ message RequestedOptions {
+ // If run with an InspectTemplate, a snapshot of its state at the time of
+ // this run.
+ InspectTemplate snapshot_inspect_template = 1;
+
+ // Inspect config.
+ InspectJobConfig job_config = 3;
+ }
+
+ // All result fields mentioned below are updated while the job is processing.
+ message Result {
+ // Total size in bytes that were processed.
+ int64 processed_bytes = 1;
+
+ // Estimate of the number of bytes to process.
+ int64 total_estimated_bytes = 2;
+
+ // Statistics of how many instances of each info type were found during
+ // inspect job.
+ repeated InfoTypeStats info_type_stats = 3;
+
+ // Statistics related to the processing of hybrid inspect.
+ // Early access feature is in a pre-release state and might change or have
+ // limited support. For more information, see
+ // https://cloud.google.com/products#product-launch-stages.
+ HybridInspectStatistics hybrid_stats = 7;
+ }
+
+ // The configuration used for this job.
+ RequestedOptions requested_options = 2;
+
+ // A summary of the outcome of this inspect job.
+ Result result = 3;
+}
+
+// Statistics related to processing hybrid inspect requests.
+message HybridInspectStatistics {
+ // The number of hybrid inspection requests processed within this job.
+ int64 processed_count = 1;
+
+ // The number of hybrid inspection requests aborted because the job ran
+ // out of quota or was ended before they could be processed.
+ int64 aborted_count = 2;
+
+ // The number of hybrid requests currently being processed. Only populated
+ // when called via method `getDlpJob`.
+ // A burst of traffic may cause hybrid inspect requests to be enqueued.
+ // Processing will take place as quickly as possible, but resource limitations
+ // may impact how long a request is enqueued for.
+ int64 pending_count = 3;
+}
+
+// InfoType description.
+message InfoTypeDescription {
+ // Internal name of the infoType.
+ string name = 1;
+
+ // Human readable form of the infoType name.
+ string display_name = 2;
+
+ // Which parts of the API supports this InfoType.
+ repeated InfoTypeSupportedBy supported_by = 3;
+
+ // Description of the infotype. Translated when language is provided in the
+ // request.
+ string description = 4;
+}
+
+// Request for the list of infoTypes.
+message ListInfoTypesRequest {
+ // The parent resource name.
+ //
+ // The format of this value is as follows:
+ //
+ // locations/LOCATION_ID
+ string parent = 4;
+
+ // BCP-47 language code for localized infoType friendly
+ // names. If omitted, or if localized strings are not available,
+ // en-US strings will be returned.
+ string language_code = 1;
+
+ // filter to only return infoTypes supported by certain parts of the
+ // API. Defaults to supported_by=INSPECT.
+ string filter = 2;
+
+ // Deprecated. This field has no effect.
+ string location_id = 3;
+}
+
+// Response to the ListInfoTypes request.
+message ListInfoTypesResponse {
+ // Set of sensitive infoTypes.
+ repeated InfoTypeDescription info_types = 1;
+}
+
+// Configuration for a risk analysis job. See
+// https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more.
+message RiskAnalysisJobConfig {
+ // Privacy metric to compute.
+ PrivacyMetric privacy_metric = 1;
+
+ // Input dataset to compute metrics over.
+ BigQueryTable source_table = 2;
+
+ // Actions to execute at the completion of the job. Are executed in the order
+ // provided.
+ repeated Action actions = 3;
+}
+
+// A column with a semantic tag attached.
+message QuasiId {
+ // Required. Identifies the column.
+ FieldId field = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Semantic tag that identifies what a column contains, to determine which
+ // statistical model to use to estimate the reidentifiability of each
+ // value. [required]
+ oneof tag {
+ // A column can be tagged with a InfoType to use the relevant public
+ // dataset as a statistical model of population, if available. We
+ // currently support US ZIP codes, region codes, ages and genders.
+ // To programmatically obtain the list of supported InfoTypes, use
+ // ListInfoTypes with the supported_by=RISK_ANALYSIS filter.
+ InfoType info_type = 2;
+
+ // A column can be tagged with a custom tag. In this case, the user must
+ // indicate an auxiliary table that contains statistical information on
+ // the possible values of this column (below).
+ string custom_tag = 3;
+
+ // If no semantic tag is indicated, we infer the statistical model from
+ // the distribution of values in the input data
+ google.protobuf.Empty inferred = 4;
+ }
+}
+
+// An auxiliary table containing statistical information on the relative
+// frequency of different quasi-identifiers values. It has one or several
+// quasi-identifiers columns, and one column that indicates the relative
+// frequency of each quasi-identifier tuple.
+// If a tuple is present in the data but not in the auxiliary table, the
+// corresponding relative frequency is assumed to be zero (and thus, the
+// tuple is highly reidentifiable).
+message StatisticalTable {
+ // A quasi-identifier column has a custom_tag, used to know which column
+ // in the data corresponds to which column in the statistical model.
+ message QuasiIdentifierField {
+ // Identifies the column.
+ FieldId field = 1;
+
+ // A column can be tagged with a custom tag. In this case, the user must
+ // indicate an auxiliary table that contains statistical information on
+ // the possible values of this column (below).
+ string custom_tag = 2;
+ }
+
+ // Required. Auxiliary table location.
+ BigQueryTable table = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Quasi-identifier columns.
+ repeated QuasiIdentifierField quasi_ids = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The relative frequency column must contain a floating-point number
+ // between 0 and 1 (inclusive). Null values are assumed to be zero.
+ FieldId relative_frequency = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Privacy metric to compute for reidentification risk analysis.
+message PrivacyMetric {
+ // Compute numerical stats over an individual column, including
+ // min, max, and quantiles.
+ message NumericalStatsConfig {
+ // Field to compute numerical stats on. Supported types are
+ // integer, float, date, datetime, timestamp, time.
+ FieldId field = 1;
+ }
+
+ // Compute numerical stats over an individual column, including
+ // number of distinct values and value count distribution.
+ message CategoricalStatsConfig {
+ // Field to compute categorical stats on. All column types are
+ // supported except for arrays and structs. However, it may be more
+ // informative to use NumericalStats when the field type is supported,
+ // depending on the data.
+ FieldId field = 1;
+ }
+
+ // k-anonymity metric, used for analysis of reidentification risk.
+ message KAnonymityConfig {
+ // Set of fields to compute k-anonymity over. When multiple fields are
+ // specified, they are considered a single composite key. Structs and
+ // repeated data types are not supported; however, nested fields are
+ // supported so long as they are not structs themselves or nested within
+ // a repeated field.
+ repeated FieldId quasi_ids = 1;
+
+ // Message indicating that multiple rows might be associated to a
+ // single individual. If the same entity_id is associated to multiple
+ // quasi-identifier tuples over distinct rows, we consider the entire
+ // collection of tuples as the composite quasi-identifier. This collection
+ // is a multiset: the order in which the different tuples appear in the
+ // dataset is ignored, but their frequency is taken into account.
+ //
+ // Important note: a maximum of 1000 rows can be associated to a single
+ // entity ID. If more rows are associated with the same entity ID, some
+ // might be ignored.
+ EntityId entity_id = 2;
+ }
+
+ // l-diversity metric, used for analysis of reidentification risk.
+ message LDiversityConfig {
+ // Set of quasi-identifiers indicating how equivalence classes are
+ // defined for the l-diversity computation. When multiple fields are
+ // specified, they are considered a single composite key.
+ repeated FieldId quasi_ids = 1;
+
+ // Sensitive field for computing the l-value.
+ FieldId sensitive_attribute = 2;
+ }
+
+ // Reidentifiability metric. This corresponds to a risk model similar to what
+ // is called "journalist risk" in the literature, except the attack dataset is
+ // statistically modeled instead of being perfectly known. This can be done
+ // using publicly available data (like the US Census), or using a custom
+ // statistical model (indicated as one or several BigQuery tables), or by
+ // extrapolating from the distribution of values in the input dataset.
+ message KMapEstimationConfig {
+ // A column with a semantic tag attached.
+ message TaggedField {
+ // Required. Identifies the column.
+ FieldId field = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Semantic tag that identifies what a column contains, to determine which
+ // statistical model to use to estimate the reidentifiability of each
+ // value. [required]
+ oneof tag {
+ // A column can be tagged with a InfoType to use the relevant public
+ // dataset as a statistical model of population, if available. We
+ // currently support US ZIP codes, region codes, ages and genders.
+ // To programmatically obtain the list of supported InfoTypes, use
+ // ListInfoTypes with the supported_by=RISK_ANALYSIS filter.
+ InfoType info_type = 2;
+
+ // A column can be tagged with a custom tag. In this case, the user must
+ // indicate an auxiliary table that contains statistical information on
+ // the possible values of this column (below).
+ string custom_tag = 3;
+
+ // If no semantic tag is indicated, we infer the statistical model from
+ // the distribution of values in the input data
+ google.protobuf.Empty inferred = 4;
+ }
+ }
+
+ // An auxiliary table contains statistical information on the relative
+ // frequency of different quasi-identifiers values. It has one or several
+ // quasi-identifiers columns, and one column that indicates the relative
+ // frequency of each quasi-identifier tuple.
+ // If a tuple is present in the data but not in the auxiliary table, the
+ // corresponding relative frequency is assumed to be zero (and thus, the
+ // tuple is highly reidentifiable).
+ message AuxiliaryTable {
+ // A quasi-identifier column has a custom_tag, used to know which column
+ // in the data corresponds to which column in the statistical model.
+ message QuasiIdField {
+ // Identifies the column.
+ FieldId field = 1;
+
+ // A auxiliary field.
+ string custom_tag = 2;
+ }
+
+ // Required. Auxiliary table location.
+ BigQueryTable table = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Quasi-identifier columns.
+ repeated QuasiIdField quasi_ids = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The relative frequency column must contain a floating-point number
+ // between 0 and 1 (inclusive). Null values are assumed to be zero.
+ FieldId relative_frequency = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Required. Fields considered to be quasi-identifiers. No two columns can have the
+ // same tag.
+ repeated TaggedField quasi_ids = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // ISO 3166-1 alpha-2 region code to use in the statistical modeling.
+ // Set if no column is tagged with a region-specific InfoType (like
+ // US_ZIP_5) or a region code.
+ string region_code = 2;
+
+ // Several auxiliary tables can be used in the analysis. Each custom_tag
+ // used to tag a quasi-identifiers column must appear in exactly one column
+ // of one auxiliary table.
+ repeated AuxiliaryTable auxiliary_tables = 3;
+ }
+
+ // δ-presence metric, used to estimate how likely it is for an attacker to
+ // figure out that one given individual appears in a de-identified dataset.
+ // Similarly to the k-map metric, we cannot compute δ-presence exactly without
+ // knowing the attack dataset, so we use a statistical model instead.
+ message DeltaPresenceEstimationConfig {
+ // Required. Fields considered to be quasi-identifiers. No two fields can have the
+ // same tag.
+ repeated QuasiId quasi_ids = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // ISO 3166-1 alpha-2 region code to use in the statistical modeling.
+ // Set if no column is tagged with a region-specific InfoType (like
+ // US_ZIP_5) or a region code.
+ string region_code = 2;
+
+ // Several auxiliary tables can be used in the analysis. Each custom_tag
+ // used to tag a quasi-identifiers field must appear in exactly one
+ // field of one auxiliary table.
+ repeated StatisticalTable auxiliary_tables = 3;
+ }
+
+ // Types of analysis.
+ oneof type {
+ // Numerical stats
+ NumericalStatsConfig numerical_stats_config = 1;
+
+ // Categorical stats
+ CategoricalStatsConfig categorical_stats_config = 2;
+
+ // K-anonymity
+ KAnonymityConfig k_anonymity_config = 3;
+
+ // l-diversity
+ LDiversityConfig l_diversity_config = 4;
+
+ // k-map
+ KMapEstimationConfig k_map_estimation_config = 5;
+
+ // delta-presence
+ DeltaPresenceEstimationConfig delta_presence_estimation_config = 6;
+ }
+}
+
+// Result of a risk analysis operation request.
+message AnalyzeDataSourceRiskDetails {
+ // Result of the numerical stats computation.
+ message NumericalStatsResult {
+ // Minimum value appearing in the column.
+ Value min_value = 1;
+
+ // Maximum value appearing in the column.
+ Value max_value = 2;
+
+ // List of 99 values that partition the set of field values into 100 equal
+ // sized buckets.
+ repeated Value quantile_values = 4;
+ }
+
+ // Result of the categorical stats computation.
+ message CategoricalStatsResult {
+ // Histogram of value frequencies in the column.
+ message CategoricalStatsHistogramBucket {
+ // Lower bound on the value frequency of the values in this bucket.
+ int64 value_frequency_lower_bound = 1;
+
+ // Upper bound on the value frequency of the values in this bucket.
+ int64 value_frequency_upper_bound = 2;
+
+ // Total number of values in this bucket.
+ int64 bucket_size = 3;
+
+ // Sample of value frequencies in this bucket. The total number of
+ // values returned per bucket is capped at 20.
+ repeated ValueFrequency bucket_values = 4;
+
+ // Total number of distinct values in this bucket.
+ int64 bucket_value_count = 5;
+ }
+
+ // Histogram of value frequencies in the column.
+ repeated CategoricalStatsHistogramBucket value_frequency_histogram_buckets = 5;
+ }
+
+ // Result of the k-anonymity computation.
+ message KAnonymityResult {
+ // The set of columns' values that share the same ldiversity value
+ message KAnonymityEquivalenceClass {
+ // Set of values defining the equivalence class. One value per
+ // quasi-identifier column in the original KAnonymity metric message.
+ // The order is always the same as the original request.
+ repeated Value quasi_ids_values = 1;
+
+ // Size of the equivalence class, for example number of rows with the
+ // above set of values.
+ int64 equivalence_class_size = 2;
+ }
+
+ // Histogram of k-anonymity equivalence classes.
+ message KAnonymityHistogramBucket {
+ // Lower bound on the size of the equivalence classes in this bucket.
+ int64 equivalence_class_size_lower_bound = 1;
+
+ // Upper bound on the size of the equivalence classes in this bucket.
+ int64 equivalence_class_size_upper_bound = 2;
+
+ // Total number of equivalence classes in this bucket.
+ int64 bucket_size = 3;
+
+ // Sample of equivalence classes in this bucket. The total number of
+ // classes returned per bucket is capped at 20.
+ repeated KAnonymityEquivalenceClass bucket_values = 4;
+
+ // Total number of distinct equivalence classes in this bucket.
+ int64 bucket_value_count = 5;
+ }
+
+ // Histogram of k-anonymity equivalence classes.
+ repeated KAnonymityHistogramBucket equivalence_class_histogram_buckets = 5;
+ }
+
+ // Result of the l-diversity computation.
+ message LDiversityResult {
+ // The set of columns' values that share the same ldiversity value.
+ message LDiversityEquivalenceClass {
+ // Quasi-identifier values defining the k-anonymity equivalence
+ // class. The order is always the same as the original request.
+ repeated Value quasi_ids_values = 1;
+
+ // Size of the k-anonymity equivalence class.
+ int64 equivalence_class_size = 2;
+
+ // Number of distinct sensitive values in this equivalence class.
+ int64 num_distinct_sensitive_values = 3;
+
+ // Estimated frequencies of top sensitive values.
+ repeated ValueFrequency top_sensitive_values = 4;
+ }
+
+ // Histogram of l-diversity equivalence class sensitive value frequencies.
+ message LDiversityHistogramBucket {
+ // Lower bound on the sensitive value frequencies of the equivalence
+ // classes in this bucket.
+ int64 sensitive_value_frequency_lower_bound = 1;
+
+ // Upper bound on the sensitive value frequencies of the equivalence
+ // classes in this bucket.
+ int64 sensitive_value_frequency_upper_bound = 2;
+
+ // Total number of equivalence classes in this bucket.
+ int64 bucket_size = 3;
+
+ // Sample of equivalence classes in this bucket. The total number of
+ // classes returned per bucket is capped at 20.
+ repeated LDiversityEquivalenceClass bucket_values = 4;
+
+ // Total number of distinct equivalence classes in this bucket.
+ int64 bucket_value_count = 5;
+ }
+
+ // Histogram of l-diversity equivalence class sensitive value frequencies.
+ repeated LDiversityHistogramBucket sensitive_value_frequency_histogram_buckets = 5;
+ }
+
+ // Result of the reidentifiability analysis. Note that these results are an
+ // estimation, not exact values.
+ message KMapEstimationResult {
+ // A tuple of values for the quasi-identifier columns.
+ message KMapEstimationQuasiIdValues {
+ // The quasi-identifier values.
+ repeated Value quasi_ids_values = 1;
+
+ // The estimated anonymity for these quasi-identifier values.
+ int64 estimated_anonymity = 2;
+ }
+
+ // A KMapEstimationHistogramBucket message with the following values:
+ // min_anonymity: 3
+ // max_anonymity: 5
+ // frequency: 42
+ // means that there are 42 records whose quasi-identifier values correspond
+ // to 3, 4 or 5 people in the overlying population. An important particular
+ // case is when min_anonymity = max_anonymity = 1: the frequency field then
+ // corresponds to the number of uniquely identifiable records.
+ message KMapEstimationHistogramBucket {
+ // Always positive.
+ int64 min_anonymity = 1;
+
+ // Always greater than or equal to min_anonymity.
+ int64 max_anonymity = 2;
+
+ // Number of records within these anonymity bounds.
+ int64 bucket_size = 5;
+
+ // Sample of quasi-identifier tuple values in this bucket. The total
+ // number of classes returned per bucket is capped at 20.
+ repeated KMapEstimationQuasiIdValues bucket_values = 6;
+
+ // Total number of distinct quasi-identifier tuple values in this bucket.
+ int64 bucket_value_count = 7;
+ }
+
+ // The intervals [min_anonymity, max_anonymity] do not overlap. If a value
+ // doesn't correspond to any such interval, the associated frequency is
+ // zero. For example, the following records:
+ // {min_anonymity: 1, max_anonymity: 1, frequency: 17}
+ // {min_anonymity: 2, max_anonymity: 3, frequency: 42}
+ // {min_anonymity: 5, max_anonymity: 10, frequency: 99}
+ // mean that there are no record with an estimated anonymity of 4, 5, or
+ // larger than 10.
+ repeated KMapEstimationHistogramBucket k_map_estimation_histogram = 1;
+ }
+
+ // Result of the δ-presence computation. Note that these results are an
+ // estimation, not exact values.
+ message DeltaPresenceEstimationResult {
+ // A tuple of values for the quasi-identifier columns.
+ message DeltaPresenceEstimationQuasiIdValues {
+ // The quasi-identifier values.
+ repeated Value quasi_ids_values = 1;
+
+ // The estimated probability that a given individual sharing these
+ // quasi-identifier values is in the dataset. This value, typically called
+ // δ, is the ratio between the number of records in the dataset with these
+ // quasi-identifier values, and the total number of individuals (inside
+ // *and* outside the dataset) with these quasi-identifier values.
+ // For example, if there are 15 individuals in the dataset who share the
+ // same quasi-identifier values, and an estimated 100 people in the entire
+ // population with these values, then δ is 0.15.
+ double estimated_probability = 2;
+ }
+
+ // A DeltaPresenceEstimationHistogramBucket message with the following
+ // values:
+ // min_probability: 0.1
+ // max_probability: 0.2
+ // frequency: 42
+ // means that there are 42 records for which δ is in [0.1, 0.2). An
+ // important particular case is when min_probability = max_probability = 1:
+ // then, every individual who shares this quasi-identifier combination is in
+ // the dataset.
+ message DeltaPresenceEstimationHistogramBucket {
+ // Between 0 and 1.
+ double min_probability = 1;
+
+ // Always greater than or equal to min_probability.
+ double max_probability = 2;
+
+ // Number of records within these probability bounds.
+ int64 bucket_size = 5;
+
+ // Sample of quasi-identifier tuple values in this bucket. The total
+ // number of classes returned per bucket is capped at 20.
+ repeated DeltaPresenceEstimationQuasiIdValues bucket_values = 6;
+
+ // Total number of distinct quasi-identifier tuple values in this bucket.
+ int64 bucket_value_count = 7;
+ }
+
+ // The intervals [min_probability, max_probability) do not overlap. If a
+ // value doesn't correspond to any such interval, the associated frequency
+ // is zero. For example, the following records:
+ // {min_probability: 0, max_probability: 0.1, frequency: 17}
+ // {min_probability: 0.2, max_probability: 0.3, frequency: 42}
+ // {min_probability: 0.3, max_probability: 0.4, frequency: 99}
+ // mean that there are no record with an estimated probability in [0.1, 0.2)
+ // nor larger or equal to 0.4.
+ repeated DeltaPresenceEstimationHistogramBucket delta_presence_estimation_histogram = 1;
+ }
+
+ // Risk analysis options.
+ message RequestedRiskAnalysisOptions {
+ // The job config for the risk job.
+ RiskAnalysisJobConfig job_config = 1;
+ }
+
+ // Privacy metric to compute.
+ PrivacyMetric requested_privacy_metric = 1;
+
+ // Input dataset to compute metrics over.
+ BigQueryTable requested_source_table = 2;
+
+ // Values associated with this metric.
+ oneof result {
+ // Numerical stats result
+ NumericalStatsResult numerical_stats_result = 3;
+
+ // Categorical stats result
+ CategoricalStatsResult categorical_stats_result = 4;
+
+ // K-anonymity result
+ KAnonymityResult k_anonymity_result = 5;
+
+ // L-divesity result
+ LDiversityResult l_diversity_result = 6;
+
+ // K-map result
+ KMapEstimationResult k_map_estimation_result = 7;
+
+ // Delta-presence result
+ DeltaPresenceEstimationResult delta_presence_estimation_result = 9;
+ }
+
+ // The configuration used for this job.
+ RequestedRiskAnalysisOptions requested_options = 10;
+}
+
+// A value of a field, including its frequency.
+message ValueFrequency {
+ // A value contained in the field in question.
+ Value value = 1;
+
+ // How many times the value is contained in the field.
+ int64 count = 2;
+}
+
+// Set of primitive values supported by the system.
+// Note that for the purposes of inspection or transformation, the number
+// of bytes considered to comprise a 'Value' is based on its representation
+// as a UTF-8 encoded string. For example, if 'integer_value' is set to
+// 123456789, the number of bytes would be counted as 9, even though an
+// int64 only holds up to 8 bytes of data.
+message Value {
+ // Value types
+ oneof type {
+ // integer
+ int64 integer_value = 1;
+
+ // float
+ double float_value = 2;
+
+ // string
+ string string_value = 3;
+
+ // boolean
+ bool boolean_value = 4;
+
+ // timestamp
+ google.protobuf.Timestamp timestamp_value = 5;
+
+ // time of day
+ google.type.TimeOfDay time_value = 6;
+
+ // date
+ google.type.Date date_value = 7;
+
+ // day of week
+ google.type.DayOfWeek day_of_week_value = 8;
+ }
+}
+
+// Message for infoType-dependent details parsed from quote.
+message QuoteInfo {
+ // Object representation of the quote.
+ oneof parsed_quote {
+ // The date time indicated by the quote.
+ DateTime date_time = 2;
+ }
+}
+
+// Message for a date time object.
+// e.g. 2018-01-01, 5th August.
+message DateTime {
+ // Time zone of the date time object.
+ message TimeZone {
+ // Set only if the offset can be determined. Positive for time ahead of UTC.
+ // E.g. For "UTC-9", this value is -540.
+ int32 offset_minutes = 1;
+ }
+
+ // One or more of the following must be set.
+ // Must be a valid date or time value.
+ google.type.Date date = 1;
+
+ // Day of week
+ google.type.DayOfWeek day_of_week = 2;
+
+ // Time of day
+ google.type.TimeOfDay time = 3;
+
+ // Time zone
+ TimeZone time_zone = 4;
+}
+
+// The configuration that controls how the data will change.
+message DeidentifyConfig {
+ oneof transformation {
+ // Treat the dataset as free-form text and apply the same free text
+ // transformation everywhere.
+ InfoTypeTransformations info_type_transformations = 1;
+
+ // Treat the dataset as structured. Transformations can be applied to
+ // specific locations within structured datasets, such as transforming
+ // a column within a table.
+ RecordTransformations record_transformations = 2;
+ }
+
+ // Mode for handling transformation errors. If left unspecified, the default
+ // mode is `TransformationErrorHandling.ThrowError`.
+ TransformationErrorHandling transformation_error_handling = 3;
+}
+
+// How to handle transformation errors during de-identification. A
+// transformation error occurs when the requested transformation is incompatible
+// with the data. For example, trying to de-identify an IP address using a
+// `DateShift` transformation would result in a transformation error, since date
+// info cannot be extracted from an IP address.
+// Information about any incompatible transformations, and how they were
+// handled, is returned in the response as part of the
+// `TransformationOverviews`.
+message TransformationErrorHandling {
+ // Throw an error and fail the request when a transformation error occurs.
+ message ThrowError {
+
+ }
+
+ // Skips the data without modifying it if the requested transformation would
+ // cause an error. For example, if a `DateShift` transformation were applied
+ // an an IP address, this mode would leave the IP address unchanged in the
+ // response.
+ message LeaveUntransformed {
+
+ }
+
+ // How transformation errors should be handled.
+ oneof mode {
+ // Throw an error
+ ThrowError throw_error = 1;
+
+ // Ignore errors
+ LeaveUntransformed leave_untransformed = 2;
+ }
+}
+
+// A rule for transforming a value.
+message PrimitiveTransformation {
+ oneof transformation {
+ // Replace
+ ReplaceValueConfig replace_config = 1;
+
+ // Redact
+ RedactConfig redact_config = 2;
+
+ // Mask
+ CharacterMaskConfig character_mask_config = 3;
+
+ // Ffx-Fpe
+ CryptoReplaceFfxFpeConfig crypto_replace_ffx_fpe_config = 4;
+
+ // Fixed size bucketing
+ FixedSizeBucketingConfig fixed_size_bucketing_config = 5;
+
+ // Bucketing
+ BucketingConfig bucketing_config = 6;
+
+ // Replace with infotype
+ ReplaceWithInfoTypeConfig replace_with_info_type_config = 7;
+
+ // Time extraction
+ TimePartConfig time_part_config = 8;
+
+ // Crypto
+ CryptoHashConfig crypto_hash_config = 9;
+
+ // Date Shift
+ DateShiftConfig date_shift_config = 11;
+
+ // Deterministic Crypto
+ CryptoDeterministicConfig crypto_deterministic_config = 12;
+ }
+}
+
+// For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a
+// portion of the value.
+message TimePartConfig {
+ // Components that make up time.
+ enum TimePart {
+ // Unused
+ TIME_PART_UNSPECIFIED = 0;
+
+ // [0-9999]
+ YEAR = 1;
+
+ // [1-12]
+ MONTH = 2;
+
+ // [1-31]
+ DAY_OF_MONTH = 3;
+
+ // [1-7]
+ DAY_OF_WEEK = 4;
+
+ // [1-53]
+ WEEK_OF_YEAR = 5;
+
+ // [0-23]
+ HOUR_OF_DAY = 6;
+ }
+
+ // The part of the time to keep.
+ TimePart part_to_extract = 1;
+}
+
+// Pseudonymization method that generates surrogates via cryptographic hashing.
+// Uses SHA-256.
+// The key size must be either 32 or 64 bytes.
+// Outputs a base64 encoded representation of the hashed output
+// (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=).
+// Currently, only string and integer values can be hashed.
+// See https://cloud.google.com/dlp/docs/pseudonymization to learn more.
+message CryptoHashConfig {
+ // The key used by the hash function.
+ CryptoKey crypto_key = 1;
+}
+
+// Pseudonymization method that generates deterministic encryption for the given
+// input. Outputs a base64 encoded representation of the encrypted output.
+// Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297.
+message CryptoDeterministicConfig {
+ // The key used by the encryption function.
+ CryptoKey crypto_key = 1;
+
+ // The custom info type to annotate the surrogate with.
+ // This annotation will be applied to the surrogate by prefixing it with
+ // the name of the custom info type followed by the number of
+ // characters comprising the surrogate. The following scheme defines the
+ // format: {info type name}({surrogate character count}):{surrogate}
+ //
+ // For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
+ // the surrogate is 'abc', the full replacement value
+ // will be: 'MY_TOKEN_INFO_TYPE(3):abc'
+ //
+ // This annotation identifies the surrogate when inspecting content using the
+ // custom info type 'Surrogate'. This facilitates reversal of the
+ // surrogate when it occurs in free text.
+ //
+ // Note: For record transformations where the entire cell in a table is being
+ // transformed, surrogates are not mandatory. Surrogates are used to denote
+ // the location of the token and are necessary for re-identification in free
+ // form text.
+ //
+ // In order for inspection to work properly, the name of this info type must
+ // not occur naturally anywhere in your data; otherwise, inspection may either
+ //
+ // - reverse a surrogate that does not correspond to an actual identifier
+ // - be unable to parse the surrogate and result in an error
+ //
+ // Therefore, choose your custom info type name carefully after considering
+ // what your data looks like. One way to select a name that has a high chance
+ // of yielding reliable detection is to include one or more unicode characters
+ // that are highly improbable to exist in your data.
+ // For example, assuming your data is entered from a regular ASCII keyboard,
+ // the symbol with the hex code point 29DD might be used like so:
+ // ⧝MY_TOKEN_TYPE.
+ InfoType surrogate_info_type = 2;
+
+ // A context may be used for higher security and maintaining
+ // referential integrity such that the same identifier in two different
+ // contexts will be given a distinct surrogate. The context is appended to
+ // plaintext value being encrypted. On decryption the provided context is
+ // validated against the value used during encryption. If a context was
+ // provided during encryption, same context must be provided during decryption
+ // as well.
+ //
+ // If the context is not set, plaintext would be used as is for encryption.
+ // If the context is set but:
+ //
+ // 1. there is no record present when transforming a given value or
+ // 2. the field is not present when transforming a given value,
+ //
+ // plaintext would be used as is for encryption.
+ //
+ // Note that case (1) is expected when an `InfoTypeTransformation` is
+ // applied to both structured and non-structured `ContentItem`s.
+ FieldId context = 3;
+}
+
+// Replace each input value with a given `Value`.
+message ReplaceValueConfig {
+ // Value to replace it with.
+ Value new_value = 1;
+}
+
+// Replace each matching finding with the name of the info_type.
+message ReplaceWithInfoTypeConfig {
+
+}
+
+// Redact a given value. For example, if used with an `InfoTypeTransformation`
+// transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the
+// output would be 'My phone number is '.
+message RedactConfig {
+
+}
+
+// Characters to skip when doing deidentification of a value. These will be left
+// alone and skipped.
+message CharsToIgnore {
+ // Convenience enum for indication common characters to not transform.
+ enum CommonCharsToIgnore {
+ // Unused.
+ COMMON_CHARS_TO_IGNORE_UNSPECIFIED = 0;
+
+ // 0-9
+ NUMERIC = 1;
+
+ // A-Z
+ ALPHA_UPPER_CASE = 2;
+
+ // a-z
+ ALPHA_LOWER_CASE = 3;
+
+ // US Punctuation, one of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
+ PUNCTUATION = 4;
+
+ // Whitespace character, one of [ \t\n\x0B\f\r]
+ WHITESPACE = 5;
+ }
+
+ oneof characters {
+ // Characters to not transform when masking.
+ string characters_to_skip = 1;
+
+ // Common characters to not transform when masking. Useful to avoid removing
+ // punctuation.
+ CommonCharsToIgnore common_characters_to_ignore = 2;
+ }
+}
+
+// Partially mask a string by replacing a given number of characters with a
+// fixed character. Masking can start from the beginning or end of the string.
+// This can be used on data of any type (numbers, longs, and so on) and when
+// de-identifying structured data we'll attempt to preserve the original data's
+// type. (This allows you to take a long like 123 and modify it to a string like
+// **3.
+message CharacterMaskConfig {
+ // Character to use to mask the sensitive values—for example, `*` for an
+ // alphabetic string such as a name, or `0` for a numeric string such as ZIP
+ // code or credit card number. This string must have a length of 1. If not
+ // supplied, this value defaults to `*` for strings, and `0` for digits.
+ string masking_character = 1;
+
+ // Number of characters to mask. If not set, all matching chars will be
+ // masked. Skipped characters do not count towards this tally.
+ int32 number_to_mask = 2;
+
+ // Mask characters in reverse order. For example, if `masking_character` is
+ // `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the
+ // input string `1234-5678-9012-3456` is masked as `00000000000000-3456`.
+ // If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order`
+ // is `true`, then the string `12345` is masked as `12***`.
+ bool reverse_order = 3;
+
+ // When masking a string, items in this list will be skipped when replacing
+ // characters. For example, if the input string is `555-555-5555` and you
+ // instruct Cloud DLP to skip `-` and mask 5 characters with `*`, Cloud DLP
+ // returns `***-**5-5555`.
+ repeated CharsToIgnore characters_to_ignore = 4;
+}
+
+// Buckets values based on fixed size ranges. The
+// Bucketing transformation can provide all of this functionality,
+// but requires more configuration. This message is provided as a convenience to
+// the user for simple bucketing strategies.
+//
+// The transformed value will be a hyphenated string of
+// {lower_bound}-{upper_bound}, i.e if lower_bound = 10 and upper_bound = 20
+// all values that are within this bucket will be replaced with "10-20".
+//
+// This can be used on data of type: double, long.
+//
+// If the bound Value type differs from the type of data
+// being transformed, we will first attempt converting the type of the data to
+// be transformed to match the type of the bound before comparing.
+//
+// See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more.
+message FixedSizeBucketingConfig {
+ // Required. Lower bound value of buckets. All values less than `lower_bound` are
+ // grouped together into a single bucket; for example if `lower_bound` = 10,
+ // then all values less than 10 are replaced with the value "-10".
+ Value lower_bound = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Upper bound value of buckets. All values greater than upper_bound are
+ // grouped together into a single bucket; for example if `upper_bound` = 89,
+ // then all values greater than 89 are replaced with the value "89+".
+ Value upper_bound = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Size of each bucket (except for minimum and maximum buckets). So if
+ // `lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the
+ // following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60,
+ // 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
+ double bucket_size = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Generalization function that buckets values based on ranges. The ranges and
+// replacement values are dynamically provided by the user for custom behavior,
+// such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH
+// This can be used on
+// data of type: number, long, string, timestamp.
+// If the bound `Value` type differs from the type of data being transformed, we
+// will first attempt converting the type of the data to be transformed to match
+// the type of the bound before comparing.
+// See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more.
+message BucketingConfig {
+ // Bucket is represented as a range, along with replacement values.
+ message Bucket {
+ // Lower bound of the range, inclusive. Type should be the same as max if
+ // used.
+ Value min = 1;
+
+ // Upper bound of the range, exclusive; type must match min.
+ Value max = 2;
+
+ // Required. Replacement value for this bucket.
+ Value replacement_value = 3 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Set of buckets. Ranges must be non-overlapping.
+ repeated Bucket buckets = 1;
+}
+
+// Replaces an identifier with a surrogate using Format Preserving Encryption
+// (FPE) with the FFX mode of operation; however when used in the
+// `ReidentifyContent` API method, it serves the opposite function by reversing
+// the surrogate back into the original identifier. The identifier must be
+// encoded as ASCII. For a given crypto key and context, the same identifier
+// will be replaced with the same surrogate. Identifiers must be at least two
+// characters long. In the case that the identifier is the empty string, it will
+// be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn
+// more.
+//
+// Note: We recommend using CryptoDeterministicConfig for all use cases which
+// do not require preserving the input alphabet space and size, plus warrant
+// referential integrity.
+message CryptoReplaceFfxFpeConfig {
+ // These are commonly used subsets of the alphabet that the FFX mode
+ // natively supports. In the algorithm, the alphabet is selected using
+ // the "radix". Therefore each corresponds to particular radix.
+ enum FfxCommonNativeAlphabet {
+ // Unused.
+ FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED = 0;
+
+ // `[0-9]` (radix of 10)
+ NUMERIC = 1;
+
+ // `[0-9A-F]` (radix of 16)
+ HEXADECIMAL = 2;
+
+ // `[0-9A-Z]` (radix of 36)
+ UPPER_CASE_ALPHA_NUMERIC = 3;
+
+ // `[0-9A-Za-z]` (radix of 62)
+ ALPHA_NUMERIC = 4;
+ }
+
+ // Required. The key used by the encryption algorithm.
+ CryptoKey crypto_key = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The 'tweak', a context may be used for higher security since the same
+ // identifier in two different contexts won't be given the same surrogate. If
+ // the context is not set, a default tweak will be used.
+ //
+ // If the context is set but:
+ //
+ // 1. there is no record present when transforming a given value or
+ // 1. the field is not present when transforming a given value,
+ //
+ // a default tweak will be used.
+ //
+ // Note that case (1) is expected when an `InfoTypeTransformation` is
+ // applied to both structured and non-structured `ContentItem`s.
+ // Currently, the referenced field may be of value type integer or string.
+ //
+ // The tweak is constructed as a sequence of bytes in big endian byte order
+ // such that:
+ //
+ // - a 64 bit integer is encoded followed by a single byte of value 1
+ // - a string is encoded in UTF-8 format followed by a single byte of value 2
+ FieldId context = 2;
+
+ // Choose an alphabet which the data being transformed will be made up of.
+ oneof alphabet {
+ // Common alphabets.
+ FfxCommonNativeAlphabet common_alphabet = 4;
+
+ // This is supported by mapping these to the alphanumeric characters
+ // that the FFX mode natively supports. This happens before/after
+ // encryption/decryption.
+ // Each character listed must appear only once.
+ // Number of characters must be in the range [2, 95].
+ // This must be encoded as ASCII.
+ // The order of characters does not matter.
+ // The full list of allowed characters is:
+ // 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+ // ~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/
+ string custom_alphabet = 5;
+
+ // The native way to select the alphabet. Must be in the range [2, 95].
+ int32 radix = 6;
+ }
+
+ // The custom infoType to annotate the surrogate with.
+ // This annotation will be applied to the surrogate by prefixing it with
+ // the name of the custom infoType followed by the number of
+ // characters comprising the surrogate. The following scheme defines the
+ // format: info_type_name(surrogate_character_count):surrogate
+ //
+ // For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and
+ // the surrogate is 'abc', the full replacement value
+ // will be: 'MY_TOKEN_INFO_TYPE(3):abc'
+ //
+ // This annotation identifies the surrogate when inspecting content using the
+ // custom infoType
+ // [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).
+ // This facilitates reversal of the surrogate when it occurs in free text.
+ //
+ // In order for inspection to work properly, the name of this infoType must
+ // not occur naturally anywhere in your data; otherwise, inspection may
+ // find a surrogate that does not correspond to an actual identifier.
+ // Therefore, choose your custom infoType name carefully after considering
+ // what your data looks like. One way to select a name that has a high chance
+ // of yielding reliable detection is to include one or more unicode characters
+ // that are highly improbable to exist in your data.
+ // For example, assuming your data is entered from a regular ASCII keyboard,
+ // the symbol with the hex code point 29DD might be used like so:
+ // ⧝MY_TOKEN_TYPE
+ InfoType surrogate_info_type = 8;
+}
+
+// This is a data encryption key (DEK) (as opposed to
+// a key encryption key (KEK) stored by KMS).
+// When using KMS to wrap/unwrap DEKs, be sure to set an appropriate
+// IAM policy on the KMS CryptoKey (KEK) to ensure an attacker cannot
+// unwrap the data crypto key.
+message CryptoKey {
+ // Sources of crypto keys.
+ oneof source {
+ // Transient crypto key
+ TransientCryptoKey transient = 1;
+
+ // Unwrapped crypto key
+ UnwrappedCryptoKey unwrapped = 2;
+
+ // Kms wrapped key
+ KmsWrappedCryptoKey kms_wrapped = 3;
+ }
+}
+
+// Use this to have a random data crypto key generated.
+// It will be discarded after the request finishes.
+message TransientCryptoKey {
+ // Required. Name of the key.
+ // This is an arbitrary string used to differentiate different keys.
+ // A unique key is generated per name: two separate `TransientCryptoKey`
+ // protos share the same generated key if their names are the same.
+ // When the data crypto key is generated, this name is not used in any way
+ // (repeating the api call will result in a different key being generated).
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Using raw keys is prone to security risks due to accidentally
+// leaking the key. Choose another type of key if possible.
+message UnwrappedCryptoKey {
+ // Required. A 128/192/256 bit key.
+ bytes key = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Include to use an existing data crypto key wrapped by KMS.
+// The wrapped key must be a 128/192/256 bit key.
+// Authorization requires the following IAM permissions when sending a request
+// to perform a crypto transformation using a kms-wrapped crypto key:
+// dlp.kms.encrypt
+message KmsWrappedCryptoKey {
+ // Required. The wrapped data crypto key.
+ bytes wrapped_key = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The resource name of the KMS CryptoKey to use for unwrapping.
+ string crypto_key_name = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Shifts dates by random number of days, with option to be consistent for the
+// same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting
+// to learn more.
+message DateShiftConfig {
+ // Required. Range of shift in days. Actual shift will be selected at random within this
+ // range (inclusive ends). Negative means shift to earlier in time. Must not
+ // be more than 365250 days (1000 years) each direction.
+ //
+ // For example, 3 means shift date to at most 3 days into the future.
+ int32 upper_bound_days = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. For example, -5 means shift date to at most 5 days back in the past.
+ int32 lower_bound_days = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Points to the field that contains the context, for example, an entity id.
+ // If set, must also set cryptoKey. If set, shift will be consistent for the
+ // given context.
+ FieldId context = 3;
+
+ // Method for calculating shift that takes context into consideration. If
+ // set, must also set context. Can only be applied to table items.
+ oneof method {
+ // Causes the shift to be computed based on this key and the context. This
+ // results in the same shift for the same context and crypto_key. If
+ // set, must also set context. Can only be applied to table items.
+ CryptoKey crypto_key = 4;
+ }
+}
+
+// A type of transformation that will scan unstructured text and
+// apply various `PrimitiveTransformation`s to each finding, where the
+// transformation is applied to only values that were identified as a specific
+// info_type.
+message InfoTypeTransformations {
+ // A transformation to apply to text that is identified as a specific
+ // info_type.
+ message InfoTypeTransformation {
+ // InfoTypes to apply the transformation to. An empty list will cause
+ // this transformation to apply to all findings that correspond to
+ // infoTypes that were requested in `InspectConfig`.
+ repeated InfoType info_types = 1;
+
+ // Required. Primitive transformation to apply to the infoType.
+ PrimitiveTransformation primitive_transformation = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Required. Transformation for each infoType. Cannot specify more than one
+ // for a given infoType.
+ repeated InfoTypeTransformation transformations = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// The transformation to apply to the field.
+message FieldTransformation {
+ // Required. Input field(s) to apply the transformation to.
+ repeated FieldId fields = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Only apply the transformation if the condition evaluates to true for the
+ // given `RecordCondition`. The conditions are allowed to reference fields
+ // that are not used in the actual transformation.
+ //
+ // Example Use Cases:
+ //
+ // - Apply a different bucket transformation to an age column if the zip code
+ // column for the same record is within a specific range.
+ // - Redact a field if the date of birth field is greater than 85.
+ RecordCondition condition = 3;
+
+ // Transformation to apply. [required]
+ oneof transformation {
+ // Apply the transformation to the entire field.
+ PrimitiveTransformation primitive_transformation = 4;
+
+ // Treat the contents of the field as free text, and selectively
+ // transform content that matches an `InfoType`.
+ InfoTypeTransformations info_type_transformations = 5;
+ }
+}
+
+// A type of transformation that is applied over structured data such as a
+// table.
+message RecordTransformations {
+ // Transform the record by applying various field transformations.
+ repeated FieldTransformation field_transformations = 1;
+
+ // Configuration defining which records get suppressed entirely. Records that
+ // match any suppression rule are omitted from the output.
+ repeated RecordSuppression record_suppressions = 2;
+}
+
+// Configuration to suppress records whose suppression conditions evaluate to
+// true.
+message RecordSuppression {
+ // A condition that when it evaluates to true will result in the record being
+ // evaluated to be suppressed from the transformed content.
+ RecordCondition condition = 1;
+}
+
+// A condition for determining whether a transformation should be applied to
+// a field.
+message RecordCondition {
+ // The field type of `value` and `field` do not need to match to be
+ // considered equal, but not all comparisons are possible.
+ // EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types,
+ // but all other comparisons are invalid with incompatible types.
+ // A `value` of type:
+ //
+ // - `string` can be compared against all other types
+ // - `boolean` can only be compared against other booleans
+ // - `integer` can be compared against doubles or a string if the string value
+ // can be parsed as an integer.
+ // - `double` can be compared against integers or a string if the string can
+ // be parsed as a double.
+ // - `Timestamp` can be compared against strings in RFC 3339 date string
+ // format.
+ // - `TimeOfDay` can be compared against timestamps and strings in the format
+ // of 'HH:mm:ss'.
+ //
+ // If we fail to compare do to type mismatch, a warning will be given and
+ // the condition will evaluate to false.
+ message Condition {
+ // Required. Field within the record this condition is evaluated against.
+ FieldId field = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Operator used to compare the field or infoType to the value.
+ RelationalOperator operator = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Value to compare against. [Mandatory, except for `EXISTS` tests.]
+ Value value = 4;
+ }
+
+ // A collection of conditions.
+ message Conditions {
+ // A collection of conditions.
+ repeated Condition conditions = 1;
+ }
+
+ // An expression, consisting or an operator and conditions.
+ message Expressions {
+ // Logical operators for conditional checks.
+ enum LogicalOperator {
+ // Unused
+ LOGICAL_OPERATOR_UNSPECIFIED = 0;
+
+ // Conditional AND
+ AND = 1;
+ }
+
+ // The operator to apply to the result of conditions. Default and currently
+ // only supported value is `AND`.
+ LogicalOperator logical_operator = 1;
+
+ // Expression types.
+ oneof type {
+ // Conditions to apply to the expression.
+ Conditions conditions = 3;
+ }
+ }
+
+ // An expression.
+ Expressions expressions = 3;
+}
+
+// Overview of the modifications that occurred.
+message TransformationOverview {
+ // Total size in bytes that were transformed in some way.
+ int64 transformed_bytes = 2;
+
+ // Transformations applied to the dataset.
+ repeated TransformationSummary transformation_summaries = 3;
+}
+
+// Summary of a single transformation.
+// Only one of 'transformation', 'field_transformation', or 'record_suppress'
+// will be set.
+message TransformationSummary {
+ // A collection that informs the user the number of times a particular
+ // `TransformationResultCode` and error details occurred.
+ message SummaryResult {
+ // Number of transformations counted by this result.
+ int64 count = 1;
+
+ // Outcome of the transformation.
+ TransformationResultCode code = 2;
+
+ // A place for warnings or errors to show up if a transformation didn't
+ // work as expected.
+ string details = 3;
+ }
+
+ // Possible outcomes of transformations.
+ enum TransformationResultCode {
+ // Unused
+ TRANSFORMATION_RESULT_CODE_UNSPECIFIED = 0;
+
+ // Transformation completed without an error.
+ SUCCESS = 1;
+
+ // Transformation had an error.
+ ERROR = 2;
+ }
+
+ // Set if the transformation was limited to a specific InfoType.
+ InfoType info_type = 1;
+
+ // Set if the transformation was limited to a specific FieldId.
+ FieldId field = 2;
+
+ // The specific transformation these stats apply to.
+ PrimitiveTransformation transformation = 3;
+
+ // The field transformation that was applied.
+ // If multiple field transformations are requested for a single field,
+ // this list will contain all of them; otherwise, only one is supplied.
+ repeated FieldTransformation field_transformations = 5;
+
+ // The specific suppression option these stats apply to.
+ RecordSuppression record_suppress = 6;
+
+ // Collection of all transformations that took place or had an error.
+ repeated SummaryResult results = 4;
+
+ // Total size in bytes that were transformed in some way.
+ int64 transformed_bytes = 7;
+}
+
+// Schedule for triggeredJobs.
+message Schedule {
+ oneof option {
+ // With this option a job is started a regular periodic basis. For
+ // example: every day (86400 seconds).
+ //
+ // A scheduled start time will be skipped if the previous
+ // execution has not ended when its scheduled time occurs.
+ //
+ // This value must be set to a time duration greater than or equal
+ // to 1 day and can be no longer than 60 days.
+ google.protobuf.Duration recurrence_period_duration = 1;
+ }
+}
+
+// Job trigger option for hybrid jobs. Jobs must be manually created
+// and finished.
+message Manual {
+
+}
+
+// The inspectTemplate contains a configuration (set of types of sensitive data
+// to be detected) to be used anywhere you otherwise would normally specify
+// InspectConfig. See https://cloud.google.com/dlp/docs/concepts-templates
+// to learn more.
+message InspectTemplate {
+ option (google.api.resource) = {
+ type: "dlp.googleapis.com/InspectTemplate"
+ pattern: "organizations/{organization}/inspectTemplates/{inspect_template}"
+ pattern: "projects/{project}/inspectTemplates/{inspect_template}"
+ pattern: "organizations/{organization}/locations/{location}/inspectTemplates/{inspect_template}"
+ pattern: "projects/{project}/locations/{location}/inspectTemplates/{inspect_template}"
+ };
+
+ // Output only. The template name.
+ //
+ // The template will have one of the following formats:
+ // `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR
+ // `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID`;
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Display name (max 256 chars).
+ string display_name = 2;
+
+ // Short description (max 256 chars).
+ string description = 3;
+
+ // Output only. The creation timestamp of an inspectTemplate.
+ google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The last update timestamp of an inspectTemplate.
+ google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The core content of the template. Configuration of the scanning process.
+ InspectConfig inspect_config = 6;
+}
+
+// DeidentifyTemplates contains instructions on how to de-identify content.
+// See https://cloud.google.com/dlp/docs/concepts-templates to learn more.
+message DeidentifyTemplate {
+ option (google.api.resource) = {
+ type: "dlp.googleapis.com/DeidentifyTemplate"
+ pattern: "organizations/{organization}/deidentifyTemplates/{deidentify_template}"
+ pattern: "projects/{project}/deidentifyTemplates/{deidentify_template}"
+ pattern: "organizations/{organization}/locations/{location}/deidentifyTemplates/{deidentify_template}"
+ pattern: "projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}"
+ };
+
+ // Output only. The template name.
+ //
+ // The template will have one of the following formats:
+ // `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID` OR
+ // `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID`
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Display name (max 256 chars).
+ string display_name = 2;
+
+ // Short description (max 256 chars).
+ string description = 3;
+
+ // Output only. The creation timestamp of an inspectTemplate.
+ google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The last update timestamp of an inspectTemplate.
+ google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // ///////////// // The core content of the template // ///////////////
+ DeidentifyConfig deidentify_config = 6;
+}
+
+// Details information about an error encountered during job execution or
+// the results of an unsuccessful activation of the JobTrigger.
+message Error {
+ // Detailed error codes and messages.
+ google.rpc.Status details = 1;
+
+ // The times the error occurred.
+ repeated google.protobuf.Timestamp timestamps = 2;
+}
+
+// Contains a configuration to make dlp api calls on a repeating basis.
+// See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
+message JobTrigger {
+ option (google.api.resource) = {
+ type: "dlp.googleapis.com/JobTrigger"
+ pattern: "projects/{project}/jobTriggers/{job_trigger}"
+ pattern: "projects/{project}/locations/{location}/jobTriggers/{job_trigger}"
+ };
+
+ // What event needs to occur for a new job to be started.
+ message Trigger {
+ oneof trigger {
+ // Create a job on a repeating basis based on the elapse of time.
+ Schedule schedule = 1;
+
+ // For use with hybrid jobs. Jobs must be manually created and finished.
+ // Early access feature is in a pre-release state and might change or have
+ // limited support. For more information, see
+ // https://cloud.google.com/products#product-launch-stages.
+ Manual manual = 2;
+ }
+ }
+
+ // Whether the trigger is currently active. If PAUSED or CANCELLED, no jobs
+ // will be created with this configuration. The service may automatically
+ // pause triggers experiencing frequent errors. To restart a job, set the
+ // status to HEALTHY after correcting user errors.
+ enum Status {
+ // Unused.
+ STATUS_UNSPECIFIED = 0;
+
+ // Trigger is healthy.
+ HEALTHY = 1;
+
+ // Trigger is temporarily paused.
+ PAUSED = 2;
+
+ // Trigger is cancelled and can not be resumed.
+ CANCELLED = 3;
+ }
+
+ // Unique resource name for the triggeredJob, assigned by the service when the
+ // triggeredJob is created, for example
+ // `projects/dlp-test-project/jobTriggers/53234423`.
+ string name = 1;
+
+ // Display name (max 100 chars)
+ string display_name = 2;
+
+ // User provided description (max 256 chars)
+ string description = 3;
+
+ // The configuration details for the specific type of job to run.
+ oneof job {
+ // For inspect jobs, a snapshot of the configuration.
+ InspectJobConfig inspect_job = 4;
+ }
+
+ // A list of triggers which will be OR'ed together. Only one in the list
+ // needs to trigger for a job to be started. The list may contain only
+ // a single Schedule trigger and must have at least one object.
+ repeated Trigger triggers = 5;
+
+ // Output only. A stream of errors encountered when the trigger was activated. Repeated
+ // errors may result in the JobTrigger automatically being paused.
+ // Will return the last 100 errors. Whenever the JobTrigger is modified
+ // this list will be cleared.
+ repeated Error errors = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The creation timestamp of a triggeredJob.
+ google.protobuf.Timestamp create_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The last update timestamp of a triggeredJob.
+ google.protobuf.Timestamp update_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The timestamp of the last time this trigger executed.
+ google.protobuf.Timestamp last_run_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. A status for this trigger.
+ Status status = 10 [(google.api.field_behavior) = REQUIRED];
+}
+
+// A task to execute on the completion of a job.
+// See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
+message Action {
+ // If set, the detailed findings will be persisted to the specified
+ // OutputStorageConfig. Only a single instance of this action can be
+ // specified.
+ // Compatible with: Inspect, Risk
+ message SaveFindings {
+ // Location to store findings outside of DLP.
+ OutputStorageConfig output_config = 1;
+ }
+
+ // Publish a message into given Pub/Sub topic when DlpJob has completed. The
+ // message contains a single field, `DlpJobName`, which is equal to the
+ // finished job's
+ // [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
+ // Compatible with: Inspect, Risk
+ message PublishToPubSub {
+ // Cloud Pub/Sub topic to send notifications to. The topic must have given
+ // publishing access rights to the DLP API service account executing
+ // the long running DlpJob sending the notifications.
+ // Format is projects/{project}/topics/{topic}.
+ string topic = 1;
+ }
+
+ // Publish the result summary of a DlpJob to the Cloud Security
+ // Command Center (CSCC Alpha).
+ // This action is only available for projects which are parts of
+ // an organization and whitelisted for the alpha Cloud Security Command
+ // Center.
+ // The action will publish count of finding instances and their info types.
+ // The summary of findings will be persisted in CSCC and are governed by CSCC
+ // service-specific policy, see https://cloud.google.com/terms/service-terms
+ // Only a single instance of this action can be specified.
+ // Compatible with: Inspect
+ message PublishSummaryToCscc {
+
+ }
+
+ // Publish findings of a DlpJob to Cloud Data Catalog. Labels summarizing the
+ // results of the DlpJob will be applied to the entry for the resource scanned
+ // in Cloud Data Catalog. Any labels previously written by another DlpJob will
+ // be deleted. InfoType naming patterns are strictly enforced when using this
+ // feature. Note that the findings will be persisted in Cloud Data Catalog
+ // storage and are governed by Data Catalog service-specific policy, see
+ // https://cloud.google.com/terms/service-terms
+ // Only a single instance of this action can be specified and only allowed if
+ // all resources being scanned are BigQuery tables.
+ // Compatible with: Inspect
+ message PublishFindingsToCloudDataCatalog {
+
+ }
+
+ // Enable email notification to project owners and editors on jobs's
+ // completion/failure.
+ message JobNotificationEmails {
+
+ }
+
+ // Enable Stackdriver metric dlp.googleapis.com/finding_count. This
+ // will publish a metric to stack driver on each infotype requested and
+ // how many findings were found for it. CustomDetectors will be bucketed
+ // as 'Custom' under the Stackdriver label 'info_type'.
+ message PublishToStackdriver {
+
+ }
+
+ oneof action {
+ // Save resulting findings in a provided location.
+ SaveFindings save_findings = 1;
+
+ // Publish a notification to a pubsub topic.
+ PublishToPubSub pub_sub = 2;
+
+ // Publish summary to Cloud Security Command Center (Alpha).
+ PublishSummaryToCscc publish_summary_to_cscc = 3;
+
+ // Publish findings to Cloud Datahub.
+ PublishFindingsToCloudDataCatalog publish_findings_to_cloud_data_catalog = 5;
+
+ // Enable email notification for project owners and editors on job's
+ // completion/failure.
+ JobNotificationEmails job_notification_emails = 8;
+
+ // Enable Stackdriver metric dlp.googleapis.com/finding_count.
+ PublishToStackdriver publish_to_stackdriver = 9;
+ }
+}
+
+// Request message for CreateInspectTemplate.
+message CreateInspectTemplateRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on the scope of the request
+ // (project or organization) and whether you have [specified a processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ // + Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID
+ // + Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/InspectTemplate"
+ }
+ ];
+
+ // Required. The InspectTemplate to create.
+ InspectTemplate inspect_template = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The template id can contain uppercase and lowercase letters,
+ // numbers, and hyphens; that is, it must match the regular
+ // expression: `[a-zA-Z\d-_]+`. The maximum length is 100
+ // characters. Can be empty to allow the system to generate one.
+ string template_id = 3;
+
+ // Deprecated. This field has no effect.
+ string location_id = 4;
+}
+
+// Request message for UpdateInspectTemplate.
+message UpdateInspectTemplateRequest {
+ // Required. Resource name of organization and inspectTemplate to be updated, for
+ // example `organizations/433245324/inspectTemplates/432452342` or
+ // projects/project-id/inspectTemplates/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/InspectTemplate"
+ }
+ ];
+
+ // New InspectTemplate value.
+ InspectTemplate inspect_template = 2;
+
+ // Mask to control which fields get updated.
+ google.protobuf.FieldMask update_mask = 3;
+}
+
+// Request message for GetInspectTemplate.
+message GetInspectTemplateRequest {
+ // Required. Resource name of the organization and inspectTemplate to be read, for
+ // example `organizations/433245324/inspectTemplates/432452342` or
+ // projects/project-id/inspectTemplates/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/InspectTemplate"
+ }
+ ];
+}
+
+// Request message for ListInspectTemplates.
+message ListInspectTemplatesRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on the scope of the request
+ // (project or organization) and whether you have [specified a processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ // + Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID
+ // + Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/InspectTemplate"
+ }
+ ];
+
+ // Page token to continue retrieval. Comes from previous call
+ // to `ListInspectTemplates`.
+ string page_token = 2;
+
+ // Size of the page, can be limited by server. If zero server returns
+ // a page of max size 100.
+ int32 page_size = 3;
+
+ // Comma separated list of fields to order by,
+ // followed by `asc` or `desc` postfix. This list is case-insensitive,
+ // default sorting order is ascending, redundant space characters are
+ // insignificant.
+ //
+ // Example: `name asc,update_time, create_time desc`
+ //
+ // Supported fields are:
+ //
+ // - `create_time`: corresponds to time the template was created.
+ // - `update_time`: corresponds to time the template was last updated.
+ // - `name`: corresponds to template's name.
+ // - `display_name`: corresponds to template's display name.
+ string order_by = 4;
+
+ // Deprecated. This field has no effect.
+ string location_id = 5;
+}
+
+// Response message for ListInspectTemplates.
+message ListInspectTemplatesResponse {
+ // List of inspectTemplates, up to page_size in ListInspectTemplatesRequest.
+ repeated InspectTemplate inspect_templates = 1;
+
+ // If the next page is available then the next page token to be used
+ // in following ListInspectTemplates request.
+ string next_page_token = 2;
+}
+
+// Request message for DeleteInspectTemplate.
+message DeleteInspectTemplateRequest {
+ // Required. Resource name of the organization and inspectTemplate to be deleted, for
+ // example `organizations/433245324/inspectTemplates/432452342` or
+ // projects/project-id/inspectTemplates/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/InspectTemplate"
+ }
+ ];
+}
+
+// Request message for CreateJobTrigger.
+message CreateJobTriggerRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/JobTrigger"
+ }
+ ];
+
+ // Required. The JobTrigger to create.
+ JobTrigger job_trigger = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The trigger id can contain uppercase and lowercase letters,
+ // numbers, and hyphens; that is, it must match the regular
+ // expression: `[a-zA-Z\d-_]+`. The maximum length is 100
+ // characters. Can be empty to allow the system to generate one.
+ string trigger_id = 3;
+
+ // Deprecated. This field has no effect.
+ string location_id = 4;
+}
+
+// Request message for ActivateJobTrigger.
+message ActivateJobTriggerRequest {
+ // Required. Resource name of the trigger to activate, for example
+ // `projects/dlp-test-project/jobTriggers/53234423`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/JobTrigger"
+ }
+ ];
+}
+
+// Request message for UpdateJobTrigger.
+message UpdateJobTriggerRequest {
+ // Required. Resource name of the project and the triggeredJob, for example
+ // `projects/dlp-test-project/jobTriggers/53234423`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/JobTrigger"
+ }
+ ];
+
+ // New JobTrigger value.
+ JobTrigger job_trigger = 2;
+
+ // Mask to control which fields get updated.
+ google.protobuf.FieldMask update_mask = 3;
+}
+
+// Request message for GetJobTrigger.
+message GetJobTriggerRequest {
+ // Required. Resource name of the project and the triggeredJob, for example
+ // `projects/dlp-test-project/jobTriggers/53234423`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/JobTrigger"
+ }
+ ];
+}
+
+// Request message for CreateDlpJobRequest. Used to initiate long running
+// jobs such as calculating risk metrics or inspecting Google Cloud
+// Storage.
+message CreateDlpJobRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DlpJob"
+ }
+ ];
+
+ // The configuration details for the specific type of job to run.
+ oneof job {
+ // Set to control what and how to inspect.
+ InspectJobConfig inspect_job = 2;
+
+ // Set to choose what metric to calculate.
+ RiskAnalysisJobConfig risk_job = 3;
+ }
+
+ // The job id can contain uppercase and lowercase letters,
+ // numbers, and hyphens; that is, it must match the regular
+ // expression: `[a-zA-Z\d-_]+`. The maximum length is 100
+ // characters. Can be empty to allow the system to generate one.
+ string job_id = 4;
+
+ // Deprecated. This field has no effect.
+ string location_id = 5;
+}
+
+// Request message for ListJobTriggers.
+message ListJobTriggersRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/JobTrigger"
+ }
+ ];
+
+ // Page token to continue retrieval. Comes from previous call
+ // to ListJobTriggers. `order_by` field must not
+ // change for subsequent calls.
+ string page_token = 2;
+
+ // Size of the page, can be limited by a server.
+ int32 page_size = 3;
+
+ // Comma separated list of triggeredJob fields to order by,
+ // followed by `asc` or `desc` postfix. This list is case-insensitive,
+ // default sorting order is ascending, redundant space characters are
+ // insignificant.
+ //
+ // Example: `name asc,update_time, create_time desc`
+ //
+ // Supported fields are:
+ //
+ // - `create_time`: corresponds to time the JobTrigger was created.
+ // - `update_time`: corresponds to time the JobTrigger was last updated.
+ // - `last_run_time`: corresponds to the last time the JobTrigger ran.
+ // - `name`: corresponds to JobTrigger's name.
+ // - `display_name`: corresponds to JobTrigger's display name.
+ // - `status`: corresponds to JobTrigger's status.
+ string order_by = 4;
+
+ // Allows filtering.
+ //
+ // Supported syntax:
+ //
+ // * Filter expressions are made up of one or more restrictions.
+ // * Restrictions can be combined by `AND` or `OR` logical operators. A
+ // sequence of restrictions implicitly uses `AND`.
+ // * A restriction has the form of `{field} {operator} {value}`.
+ // * Supported fields/values for inspect jobs:
+ // - `status` - HEALTHY|PAUSED|CANCELLED
+ // - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
+ // - 'last_run_time` - RFC 3339 formatted timestamp, surrounded by
+ // quotation marks. Nanoseconds are ignored.
+ // - 'error_count' - Number of errors that have occurred while running.
+ // * The operator must be `=` or `!=` for status and inspected_storage.
+ //
+ // Examples:
+ //
+ // * inspected_storage = cloud_storage AND status = HEALTHY
+ // * inspected_storage = cloud_storage OR inspected_storage = bigquery
+ // * inspected_storage = cloud_storage AND (state = PAUSED OR state = HEALTHY)
+ // * last_run_time > \"2017-12-12T00:00:00+00:00\"
+ //
+ // The length of this field should be no more than 500 characters.
+ string filter = 5;
+
+ // Deprecated. This field has no effect.
+ string location_id = 7;
+}
+
+// Response message for ListJobTriggers.
+message ListJobTriggersResponse {
+ // List of triggeredJobs, up to page_size in ListJobTriggersRequest.
+ repeated JobTrigger job_triggers = 1;
+
+ // If the next page is available then the next page token to be used
+ // in following ListJobTriggers request.
+ string next_page_token = 2;
+}
+
+// Request message for DeleteJobTrigger.
+message DeleteJobTriggerRequest {
+ // Required. Resource name of the project and the triggeredJob, for example
+ // `projects/dlp-test-project/jobTriggers/53234423`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/JobTrigger"
+ }
+ ];
+}
+
+// Controls what and how to inspect for findings.
+message InspectJobConfig {
+ // The data to scan.
+ StorageConfig storage_config = 1;
+
+ // How and what to scan for.
+ InspectConfig inspect_config = 2;
+
+ // If provided, will be used as the default for all values in InspectConfig.
+ // `inspect_config` will be merged into the values persisted as part of the
+ // template.
+ string inspect_template_name = 3;
+
+ // Actions to execute at the completion of the job.
+ repeated Action actions = 4;
+}
+
+// Combines all of the information about a DLP job.
+message DlpJob {
+ option (google.api.resource) = {
+ type: "dlp.googleapis.com/DlpJob"
+ pattern: "projects/{project}/dlpJobs/{dlp_job}"
+ pattern: "projects/{project}/locations/{location}/dlpJobs/{dlp_job}"
+ };
+
+ // Possible states of a job. New items may be added.
+ enum JobState {
+ // Unused.
+ JOB_STATE_UNSPECIFIED = 0;
+
+ // The job has not yet started.
+ PENDING = 1;
+
+ // The job is currently running. Once a job has finished it will transition
+ // to FAILED or DONE.
+ RUNNING = 2;
+
+ // The job is no longer running.
+ DONE = 3;
+
+ // The job was canceled before it could complete.
+ CANCELED = 4;
+
+ // The job had an error and did not complete.
+ FAILED = 5;
+
+ // The job is currently accepting findings via hybridInspect.
+ // A hybrid job in ACTIVE state may continue to have findings added to it
+ // through calling of hybridInspect. After the job has finished no more
+ // calls to hybridInspect may be made. ACTIVE jobs can transition to DONE.
+ ACTIVE = 6;
+ }
+
+ // The server-assigned name.
+ string name = 1;
+
+ // The type of job.
+ DlpJobType type = 2;
+
+ // State of a job.
+ JobState state = 3;
+
+ oneof details {
+ // Results from analyzing risk of a data source.
+ AnalyzeDataSourceRiskDetails risk_details = 4;
+
+ // Results from inspecting a data source.
+ InspectDataSourceDetails inspect_details = 5;
+ }
+
+ // Time when the job was created.
+ google.protobuf.Timestamp create_time = 6;
+
+ // Time when the job started.
+ google.protobuf.Timestamp start_time = 7;
+
+ // Time when the job finished.
+ google.protobuf.Timestamp end_time = 8;
+
+ // If created by a job trigger, the resource name of the trigger that
+ // instantiated the job.
+ string job_trigger_name = 10;
+
+ // A stream of errors encountered running the job.
+ repeated Error errors = 11;
+}
+
+// The request message for [DlpJobs.GetDlpJob][].
+message GetDlpJobRequest {
+ // Required. The name of the DlpJob resource.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DlpJob"
+ }
+ ];
+}
+
+// The request message for listing DLP jobs.
+message ListDlpJobsRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on whether you have [specified a
+ // processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 4 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DlpJob"
+ }
+ ];
+
+ // Allows filtering.
+ //
+ // Supported syntax:
+ //
+ // * Filter expressions are made up of one or more restrictions.
+ // * Restrictions can be combined by `AND` or `OR` logical operators. A
+ // sequence of restrictions implicitly uses `AND`.
+ // * A restriction has the form of `{field} {operator} {value}`.
+ // * Supported fields/values for inspect jobs:
+ // - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED
+ // - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
+ // - `trigger_name` - The resource name of the trigger that created job.
+ // - 'end_time` - Corresponds to time the job finished.
+ // - 'start_time` - Corresponds to time the job finished.
+ // * Supported fields for risk analysis jobs:
+ // - `state` - RUNNING|CANCELED|FINISHED|FAILED
+ // - 'end_time` - Corresponds to time the job finished.
+ // - 'start_time` - Corresponds to time the job finished.
+ // * The operator must be `=` or `!=`.
+ //
+ // Examples:
+ //
+ // * inspected_storage = cloud_storage AND state = done
+ // * inspected_storage = cloud_storage OR inspected_storage = bigquery
+ // * inspected_storage = cloud_storage AND (state = done OR state = canceled)
+ // * end_time > \"2017-12-12T00:00:00+00:00\"
+ //
+ // The length of this field should be no more than 500 characters.
+ string filter = 1;
+
+ // The standard list page size.
+ int32 page_size = 2;
+
+ // The standard list page token.
+ string page_token = 3;
+
+ // The type of job. Defaults to `DlpJobType.INSPECT`
+ DlpJobType type = 5;
+
+ // Comma separated list of fields to order by,
+ // followed by `asc` or `desc` postfix. This list is case-insensitive,
+ // default sorting order is ascending, redundant space characters are
+ // insignificant.
+ //
+ // Example: `name asc, end_time asc, create_time desc`
+ //
+ // Supported fields are:
+ //
+ // - `create_time`: corresponds to time the job was created.
+ // - `end_time`: corresponds to time the job ended.
+ // - `name`: corresponds to job's name.
+ // - `state`: corresponds to `state`
+ string order_by = 6;
+
+ // Deprecated. This field has no effect.
+ string location_id = 7;
+}
+
+// The response message for listing DLP jobs.
+message ListDlpJobsResponse {
+ // A list of DlpJobs that matches the specified filter in the request.
+ repeated DlpJob jobs = 1;
+
+ // The standard List next-page token.
+ string next_page_token = 2;
+}
+
+// The request message for canceling a DLP job.
+message CancelDlpJobRequest {
+ // Required. The name of the DlpJob resource to be cancelled.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DlpJob"
+ }
+ ];
+}
+
+// The request message for finishing a DLP hybrid job.
+message FinishDlpJobRequest {
+ // Required. The name of the DlpJob resource to be cancelled.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DlpJob"
+ }
+ ];
+}
+
+// The request message for deleting a DLP job.
+message DeleteDlpJobRequest {
+ // Required. The name of the DlpJob resource to be deleted.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DlpJob"
+ }
+ ];
+}
+
+// Request message for CreateDeidentifyTemplate.
+message CreateDeidentifyTemplateRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on the scope of the request
+ // (project or organization) and whether you have [specified a processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ // + Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID
+ // + Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DeidentifyTemplate"
+ }
+ ];
+
+ // Required. The DeidentifyTemplate to create.
+ DeidentifyTemplate deidentify_template = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The template id can contain uppercase and lowercase letters,
+ // numbers, and hyphens; that is, it must match the regular
+ // expression: `[a-zA-Z\d-_]+`. The maximum length is 100
+ // characters. Can be empty to allow the system to generate one.
+ string template_id = 3;
+
+ // Deprecated. This field has no effect.
+ string location_id = 4;
+}
+
+// Request message for UpdateDeidentifyTemplate.
+message UpdateDeidentifyTemplateRequest {
+ // Required. Resource name of organization and deidentify template to be updated, for
+ // example `organizations/433245324/deidentifyTemplates/432452342` or
+ // projects/project-id/deidentifyTemplates/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DeidentifyTemplate"
+ }
+ ];
+
+ // New DeidentifyTemplate value.
+ DeidentifyTemplate deidentify_template = 2;
+
+ // Mask to control which fields get updated.
+ google.protobuf.FieldMask update_mask = 3;
+}
+
+// Request message for GetDeidentifyTemplate.
+message GetDeidentifyTemplateRequest {
+ // Required. Resource name of the organization and deidentify template to be read, for
+ // example `organizations/433245324/deidentifyTemplates/432452342` or
+ // projects/project-id/deidentifyTemplates/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DeidentifyTemplate"
+ }
+ ];
+}
+
+// Request message for ListDeidentifyTemplates.
+message ListDeidentifyTemplatesRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on the scope of the request
+ // (project or organization) and whether you have [specified a processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ // + Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID
+ // + Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/DeidentifyTemplate"
+ }
+ ];
+
+ // Page token to continue retrieval. Comes from previous call
+ // to `ListDeidentifyTemplates`.
+ string page_token = 2;
+
+ // Size of the page, can be limited by server. If zero server returns
+ // a page of max size 100.
+ int32 page_size = 3;
+
+ // Comma separated list of fields to order by,
+ // followed by `asc` or `desc` postfix. This list is case-insensitive,
+ // default sorting order is ascending, redundant space characters are
+ // insignificant.
+ //
+ // Example: `name asc,update_time, create_time desc`
+ //
+ // Supported fields are:
+ //
+ // - `create_time`: corresponds to time the template was created.
+ // - `update_time`: corresponds to time the template was last updated.
+ // - `name`: corresponds to template's name.
+ // - `display_name`: corresponds to template's display name.
+ string order_by = 4;
+
+ // Deprecated. This field has no effect.
+ string location_id = 5;
+}
+
+// Response message for ListDeidentifyTemplates.
+message ListDeidentifyTemplatesResponse {
+ // List of deidentify templates, up to page_size in
+ // ListDeidentifyTemplatesRequest.
+ repeated DeidentifyTemplate deidentify_templates = 1;
+
+ // If the next page is available then the next page token to be used
+ // in following ListDeidentifyTemplates request.
+ string next_page_token = 2;
+}
+
+// Request message for DeleteDeidentifyTemplate.
+message DeleteDeidentifyTemplateRequest {
+ // Required. Resource name of the organization and deidentify template to be deleted,
+ // for example `organizations/433245324/deidentifyTemplates/432452342` or
+ // projects/project-id/deidentifyTemplates/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DeidentifyTemplate"
+ }
+ ];
+}
+
+// Configuration for a custom dictionary created from a data source of any size
+// up to the maximum size defined in the
+// [limits](https://cloud.google.com/dlp/limits) page. The artifacts of
+// dictionary creation are stored in the specified Google Cloud Storage
+// location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries
+// that satisfy the size requirements.
+message LargeCustomDictionaryConfig {
+ // Location to store dictionary artifacts in Google Cloud Storage. These files
+ // will only be accessible by project owners and the DLP API. If any of these
+ // artifacts are modified, the dictionary is considered invalid and can no
+ // longer be used.
+ CloudStoragePath output_path = 1;
+
+ oneof source {
+ // Set of files containing newline-delimited lists of dictionary phrases.
+ CloudStorageFileSet cloud_storage_file_set = 2;
+
+ // Field in a BigQuery table where each cell represents a dictionary phrase.
+ BigQueryField big_query_field = 3;
+ }
+}
+
+// Summary statistics of a custom dictionary.
+message LargeCustomDictionaryStats {
+ // Approximate number of distinct phrases in the dictionary.
+ int64 approx_num_phrases = 1;
+}
+
+// Configuration for stored infoTypes. All fields and subfield are provided
+// by the user. For more information, see
+// https://cloud.google.com/dlp/docs/creating-custom-infotypes.
+message StoredInfoTypeConfig {
+ // Display name of the StoredInfoType (max 256 characters).
+ string display_name = 1;
+
+ // Description of the StoredInfoType (max 256 characters).
+ string description = 2;
+
+ // Stored infotype types.
+ oneof type {
+ // StoredInfoType where findings are defined by a dictionary of phrases.
+ LargeCustomDictionaryConfig large_custom_dictionary = 3;
+
+ // Store dictionary-based CustomInfoType.
+ CustomInfoType.Dictionary dictionary = 4;
+
+ // Store regular expression-based StoredInfoType.
+ CustomInfoType.Regex regex = 5;
+ }
+}
+
+// Statistics for a StoredInfoType.
+message StoredInfoTypeStats {
+ // Stat types
+ oneof type {
+ // StoredInfoType where findings are defined by a dictionary of phrases.
+ LargeCustomDictionaryStats large_custom_dictionary = 1;
+ }
+}
+
+// Version of a StoredInfoType, including the configuration used to build it,
+// create timestamp, and current state.
+message StoredInfoTypeVersion {
+ // StoredInfoType configuration.
+ StoredInfoTypeConfig config = 1;
+
+ // Create timestamp of the version. Read-only, determined by the system
+ // when the version is created.
+ google.protobuf.Timestamp create_time = 2;
+
+ // Stored info type version state. Read-only, updated by the system
+ // during dictionary creation.
+ StoredInfoTypeState state = 3;
+
+ // Errors that occurred when creating this storedInfoType version, or
+ // anomalies detected in the storedInfoType data that render it unusable. Only
+ // the five most recent errors will be displayed, with the most recent error
+ // appearing first.
+ //
+ // For example, some of the data for stored custom dictionaries is put in
+ // the user's Google Cloud Storage bucket, and if this data is modified or
+ // deleted by the user or another system, the dictionary becomes invalid.
+ //
+ // If any errors occur, fix the problem indicated by the error message and
+ // use the UpdateStoredInfoType API method to create another version of the
+ // storedInfoType to continue using it, reusing the same `config` if it was
+ // not the source of the error.
+ repeated Error errors = 4;
+
+ // Statistics about this storedInfoType version.
+ StoredInfoTypeStats stats = 5;
+}
+
+// StoredInfoType resource message that contains information about the current
+// version and any pending updates.
+message StoredInfoType {
+ option (google.api.resource) = {
+ type: "dlp.googleapis.com/StoredInfoType"
+ pattern: "organizations/{organization}/storedInfoTypes/{stored_info_type}"
+ pattern: "projects/{project}/storedInfoTypes/{stored_info_type}"
+ pattern: "organizations/{organization}/locations/{location}/storedInfoTypes/{stored_info_type}"
+ pattern: "projects/{project}/locations/{location}/storedInfoTypes/{stored_info_type}"
+ };
+
+ // Resource name.
+ string name = 1;
+
+ // Current version of the stored info type.
+ StoredInfoTypeVersion current_version = 2;
+
+ // Pending versions of the stored info type. Empty if no versions are
+ // pending.
+ repeated StoredInfoTypeVersion pending_versions = 3;
+}
+
+// Request message for CreateStoredInfoType.
+message CreateStoredInfoTypeRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on the scope of the request
+ // (project or organization) and whether you have [specified a processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ // + Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID
+ // + Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/StoredInfoType"
+ }
+ ];
+
+ // Required. Configuration of the storedInfoType to create.
+ StoredInfoTypeConfig config = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The storedInfoType ID can contain uppercase and lowercase letters,
+ // numbers, and hyphens; that is, it must match the regular
+ // expression: `[a-zA-Z\d-_]+`. The maximum length is 100
+ // characters. Can be empty to allow the system to generate one.
+ string stored_info_type_id = 3;
+
+ // Deprecated. This field has no effect.
+ string location_id = 4;
+}
+
+// Request message for UpdateStoredInfoType.
+message UpdateStoredInfoTypeRequest {
+ // Required. Resource name of organization and storedInfoType to be updated, for
+ // example `organizations/433245324/storedInfoTypes/432452342` or
+ // projects/project-id/storedInfoTypes/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/StoredInfoType"
+ }
+ ];
+
+ // Updated configuration for the storedInfoType. If not provided, a new
+ // version of the storedInfoType will be created with the existing
+ // configuration.
+ StoredInfoTypeConfig config = 2;
+
+ // Mask to control which fields get updated.
+ google.protobuf.FieldMask update_mask = 3;
+}
+
+// Request message for GetStoredInfoType.
+message GetStoredInfoTypeRequest {
+ // Required. Resource name of the organization and storedInfoType to be read, for
+ // example `organizations/433245324/storedInfoTypes/432452342` or
+ // projects/project-id/storedInfoTypes/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/StoredInfoType"
+ }
+ ];
+}
+
+// Request message for ListStoredInfoTypes.
+message ListStoredInfoTypesRequest {
+ // Required. Parent resource name.
+ //
+ // The format of this value varies depending on the scope of the request
+ // (project or organization) and whether you have [specified a processing
+ // location](https://cloud.google.com/dlp/docs/specifying-location):
+ //
+ // + Projects scope, location specified:
+ // `projects/`PROJECT_ID`/locations/`LOCATION_ID
+ // + Projects scope, no location specified (defaults to global):
+ // `projects/`PROJECT_ID
+ // + Organizations scope, location specified:
+ // `organizations/`ORG_ID`/locations/`LOCATION_ID
+ // + Organizations scope, no location specified (defaults to global):
+ // `organizations/`ORG_ID
+ //
+ // The following example `parent` string specifies a parent project with the
+ // identifier `example-project`, and specifies the `europe-west3` location
+ // for processing data:
+ //
+ // parent=projects/example-project/locations/europe-west3
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ child_type: "dlp.googleapis.com/StoredInfoType"
+ }
+ ];
+
+ // Page token to continue retrieval. Comes from previous call
+ // to `ListStoredInfoTypes`.
+ string page_token = 2;
+
+ // Size of the page, can be limited by server. If zero server returns
+ // a page of max size 100.
+ int32 page_size = 3;
+
+ // Comma separated list of fields to order by,
+ // followed by `asc` or `desc` postfix. This list is case-insensitive,
+ // default sorting order is ascending, redundant space characters are
+ // insignificant.
+ //
+ // Example: `name asc, display_name, create_time desc`
+ //
+ // Supported fields are:
+ //
+ // - `create_time`: corresponds to time the most recent version of the
+ // resource was created.
+ // - `state`: corresponds to the state of the resource.
+ // - `name`: corresponds to resource name.
+ // - `display_name`: corresponds to info type's display name.
+ string order_by = 4;
+
+ // Deprecated. This field has no effect.
+ string location_id = 5;
+}
+
+// Response message for ListStoredInfoTypes.
+message ListStoredInfoTypesResponse {
+ // List of storedInfoTypes, up to page_size in ListStoredInfoTypesRequest.
+ repeated StoredInfoType stored_info_types = 1;
+
+ // If the next page is available then the next page token to be used
+ // in following ListStoredInfoTypes request.
+ string next_page_token = 2;
+}
+
+// Request message for DeleteStoredInfoType.
+message DeleteStoredInfoTypeRequest {
+ // Required. Resource name of the organization and storedInfoType to be deleted, for
+ // example `organizations/433245324/storedInfoTypes/432452342` or
+ // projects/project-id/storedInfoTypes/432452342.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/StoredInfoType"
+ }
+ ];
+}
+
+// Request to search for potentially sensitive info in a custom location.
+message HybridInspectJobTriggerRequest {
+ // Required. Resource name of the trigger to execute a hybrid inspect on, for example
+ // `projects/dlp-test-project/jobTriggers/53234423`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/JobTrigger"
+ }
+ ];
+
+ // The item to inspect.
+ HybridContentItem hybrid_item = 3;
+}
+
+// Request to search for potentially sensitive info in a custom location.
+message HybridInspectDlpJobRequest {
+ // Required. Resource name of the job to execute a hybrid inspect on, for example
+ // `projects/dlp-test-project/dlpJob/53234423`.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "dlp.googleapis.com/DlpJob"
+ }
+ ];
+
+ // The item to inspect.
+ HybridContentItem hybrid_item = 3;
+}
+
+// An individual hybrid item to inspect. Will be stored temporarily during
+// processing.
+message HybridContentItem {
+ // The item to inspect.
+ ContentItem item = 1;
+
+ // Supplementary information that will be added to each finding.
+ HybridFindingDetails finding_details = 2;
+}
+
+// Populate to associate additional data with each finding.
+message HybridFindingDetails {
+ // Details about the container where the content being inspected is from.
+ Container container_details = 1;
+
+ // Offset in bytes of the line, from the beginning of the file, where the
+ // finding is located. Populate if the item being scanned is only part of a
+ // bigger item, such as a shard of a file and you want to track the absolute
+ // position of the finding.
+ int64 file_offset = 2;
+
+ // Offset of the row for tables. Populate if the row(s) being scanned are
+ // part of a bigger dataset and you want to keep track of their absolute
+ // position.
+ int64 row_offset = 3;
+
+ // If the container is a table, additional information to make findings
+ // meaningful such as the columns that are primary keys. If not known ahead
+ // of time, can also be set within each inspect hybrid call and the two
+ // will be merged. Note that identifying_fields will only be stored to
+ // BigQuery, and only if the BigQuery action has been included.
+ TableOptions table_options = 4;
+
+ // Labels to represent user provided metadata about the data being inspected.
+ // If configured by the job, some key values may be required.
+ // The labels associated with `Finding`'s produced by hybrid
+ // inspection.
+ //
+ // Label keys must be between 1 and 63 characters long and must conform
+ // to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
+ //
+ // Label values must be between 0 and 63 characters long and must conform
+ // to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
+ //
+ // No more than 10 labels can be associated with a given finding.
+ //
+ // Examples:
+ // * `"environment" : "production"`
+ // * `"pipeline" : "etl"`
+ map labels = 5;
+}
+
+// Quota exceeded errors will be thrown once quota has been met.
+message HybridInspectResponse {
+
+}
+
+// Operators available for comparing the value of fields.
+enum RelationalOperator {
+ // Unused
+ RELATIONAL_OPERATOR_UNSPECIFIED = 0;
+
+ // Equal. Attempts to match even with incompatible types.
+ EQUAL_TO = 1;
+
+ // Not equal to. Attempts to match even with incompatible types.
+ NOT_EQUAL_TO = 2;
+
+ // Greater than.
+ GREATER_THAN = 3;
+
+ // Less than.
+ LESS_THAN = 4;
+
+ // Greater than or equals.
+ GREATER_THAN_OR_EQUALS = 5;
+
+ // Less than or equals.
+ LESS_THAN_OR_EQUALS = 6;
+
+ // Exists
+ EXISTS = 7;
+}
+
+// Type of the match which can be applied to different ways of matching, like
+// Dictionary, regular expression and intersecting with findings of another
+// info type.
+enum MatchingType {
+ // Invalid.
+ MATCHING_TYPE_UNSPECIFIED = 0;
+
+ // Full match.
+ //
+ // - Dictionary: join of Dictionary results matched complete finding quote
+ // - Regex: all regex matches fill a finding quote start to end
+ // - Exclude info type: completely inside affecting info types findings
+ MATCHING_TYPE_FULL_MATCH = 1;
+
+ // Partial match.
+ //
+ // - Dictionary: at least one of the tokens in the finding matches
+ // - Regex: substring of the finding matches
+ // - Exclude info type: intersects with affecting info types findings
+ MATCHING_TYPE_PARTIAL_MATCH = 2;
+
+ // Inverse match.
+ //
+ // - Dictionary: no tokens in the finding match the dictionary
+ // - Regex: finding doesn't match the regex
+ // - Exclude info type: no intersection with affecting info types findings
+ MATCHING_TYPE_INVERSE_MATCH = 3;
+}
+
+// Options describing which parts of the provided content should be scanned.
+enum ContentOption {
+ // Includes entire content of a file or a data stream.
+ CONTENT_UNSPECIFIED = 0;
+
+ // Text content within the data, excluding any metadata.
+ CONTENT_TEXT = 1;
+
+ // Images found in the data.
+ CONTENT_IMAGE = 2;
+}
+
+// Type of metadata containing the finding.
+enum MetadataType {
+ // Unused
+ METADATATYPE_UNSPECIFIED = 0;
+
+ // General file metadata provided by Cloud Storage.
+ STORAGE_METADATA = 2;
+}
+
+// Parts of the APIs which use certain infoTypes.
+enum InfoTypeSupportedBy {
+ // Unused.
+ ENUM_TYPE_UNSPECIFIED = 0;
+
+ // Supported by the inspect operations.
+ INSPECT = 1;
+
+ // Supported by the risk analysis operations.
+ RISK_ANALYSIS = 2;
+}
+
+// An enum to represent the various types of DLP jobs.
+enum DlpJobType {
+ // Unused
+ DLP_JOB_TYPE_UNSPECIFIED = 0;
+
+ // The job inspected Google Cloud for sensitive data.
+ INSPECT_JOB = 1;
+
+ // The job executed a Risk Analysis computation.
+ RISK_ANALYSIS_JOB = 2;
+}
+
+// State of a StoredInfoType version.
+enum StoredInfoTypeState {
+ // Unused
+ STORED_INFO_TYPE_STATE_UNSPECIFIED = 0;
+
+ // StoredInfoType version is being created.
+ PENDING = 1;
+
+ // StoredInfoType version is ready for use.
+ READY = 2;
+
+ // StoredInfoType creation failed. All relevant error messages are returned in
+ // the `StoredInfoTypeVersion` message.
+ FAILED = 3;
+
+ // StoredInfoType is no longer valid because artifacts stored in
+ // user-controlled storage were modified. To fix an invalid StoredInfoType,
+ // use the `UpdateStoredInfoType` method to create a new version.
+ INVALID = 4;
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/protos/google/privacy/dlp/v2/storage.proto b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/protos/google/privacy/dlp/v2/storage.proto
new file mode 100644
index 000000000..6ded28b16
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/protos/google/privacy/dlp/v2/storage.proto
@@ -0,0 +1,740 @@
+// 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.privacy.dlp.v2;
+
+import "google/api/resource.proto";
+import "google/protobuf/timestamp.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Cloud.Dlp.V2";
+option go_package = "google.golang.org/genproto/googleapis/privacy/dlp/v2;dlp";
+option java_multiple_files = true;
+option java_outer_classname = "DlpStorage";
+option java_package = "com.google.privacy.dlp.v2";
+option php_namespace = "Google\\Cloud\\Dlp\\V2";
+option ruby_package = "Google::Cloud::Dlp::V2";
+
+// Type of information detected by the API.
+message InfoType {
+ // Name of the information type. Either a name of your choosing when
+ // creating a CustomInfoType, or one of the names listed
+ // at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
+ // a built-in type. When sending Cloud DLP results to Data Catalog, infoType
+ // names should conform to the pattern `[A-Za-z0-9$-_]{1,64}`.
+ string name = 1;
+}
+
+// A reference to a StoredInfoType to use with scanning.
+message StoredType {
+ // Resource name of the requested `StoredInfoType`, for example
+ // `organizations/433245324/storedInfoTypes/432452342` or
+ // `projects/project-id/storedInfoTypes/432452342`.
+ string name = 1;
+
+ // Timestamp indicating when the version of the `StoredInfoType` used for
+ // inspection was created. Output-only field, populated by the system.
+ google.protobuf.Timestamp create_time = 2;
+}
+
+// Categorization of results based on how likely they are to represent a match,
+// based on the number of elements they contain which imply a match.
+enum Likelihood {
+ // Default value; same as POSSIBLE.
+ LIKELIHOOD_UNSPECIFIED = 0;
+
+ // Few matching elements.
+ VERY_UNLIKELY = 1;
+
+ UNLIKELY = 2;
+
+ // Some matching elements.
+ POSSIBLE = 3;
+
+ LIKELY = 4;
+
+ // Many matching elements.
+ VERY_LIKELY = 5;
+}
+
+// Custom information type provided by the user. Used to find domain-specific
+// sensitive information configurable to the data in question.
+message CustomInfoType {
+ // Custom information type based on a dictionary of words or phrases. This can
+ // be used to match sensitive information specific to the data, such as a list
+ // of employee IDs or job titles.
+ //
+ // Dictionary words are case-insensitive and all characters other than letters
+ // and digits in the unicode [Basic Multilingual
+ // Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
+ // will be replaced with whitespace when scanning for matches, so the
+ // dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
+ // "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
+ // surrounding any match must be of a different type than the adjacent
+ // characters within the word, so letters must be next to non-letters and
+ // digits next to non-digits. For example, the dictionary word "jen" will
+ // match the first three letters of the text "jen123" but will return no
+ // matches for "jennifer".
+ //
+ // Dictionary words containing a large number of characters that are not
+ // letters or digits may result in unexpected findings because such characters
+ // are treated as whitespace. The
+ // [limits](https://cloud.google.com/dlp/limits) page contains details about
+ // the size limits of dictionaries. For dictionaries that do not fit within
+ // these constraints, consider using `LargeCustomDictionaryConfig` in the
+ // `StoredInfoType` API.
+ message Dictionary {
+ // Message defining a list of words or phrases to search for in the data.
+ message WordList {
+ // Words or phrases defining the dictionary. The dictionary must contain
+ // at least one phrase and every phrase must contain at least 2 characters
+ // that are letters or digits. [required]
+ repeated string words = 1;
+ }
+
+ oneof source {
+ // List of words or phrases to search for.
+ WordList word_list = 1;
+
+ // Newline-delimited file of words in Cloud Storage. Only a single file
+ // is accepted.
+ CloudStoragePath cloud_storage_path = 3;
+ }
+ }
+
+ // Message defining a custom regular expression.
+ message Regex {
+ // Pattern defining the regular expression. Its syntax
+ // (https://github.com/google/re2/wiki/Syntax) can be found under the
+ // google/re2 repository on GitHub.
+ string pattern = 1;
+
+ // The index of the submatch to extract as findings. When not
+ // specified, the entire match is returned. No more than 3 may be included.
+ repeated int32 group_indexes = 2;
+ }
+
+ // Message for detecting output from deidentification transformations
+ // such as
+ // [`CryptoReplaceFfxFpeConfig`](https://cloud.google.com/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
+ // These types of transformations are
+ // those that perform pseudonymization, thereby producing a "surrogate" as
+ // output. This should be used in conjunction with a field on the
+ // transformation such as `surrogate_info_type`. This CustomInfoType does
+ // not support the use of `detection_rules`.
+ message SurrogateType {
+
+ }
+
+ // Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
+ // `CustomInfoType` to alter behavior under certain circumstances, depending
+ // on the specific details of the rule. Not supported for the `surrogate_type`
+ // custom infoType.
+ message DetectionRule {
+ // Message for specifying a window around a finding to apply a detection
+ // rule.
+ message Proximity {
+ // Number of characters before the finding to consider.
+ int32 window_before = 1;
+
+ // Number of characters after the finding to consider.
+ int32 window_after = 2;
+ }
+
+ // Message for specifying an adjustment to the likelihood of a finding as
+ // part of a detection rule.
+ message LikelihoodAdjustment {
+ oneof adjustment {
+ // Set the likelihood of a finding to a fixed value.
+ Likelihood fixed_likelihood = 1;
+
+ // Increase or decrease the likelihood by the specified number of
+ // levels. For example, if a finding would be `POSSIBLE` without the
+ // detection rule and `relative_likelihood` is 1, then it is upgraded to
+ // `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
+ // Likelihood may never drop below `VERY_UNLIKELY` or exceed
+ // `VERY_LIKELY`, so applying an adjustment of 1 followed by an
+ // adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
+ // a final likelihood of `LIKELY`.
+ int32 relative_likelihood = 2;
+ }
+ }
+
+ // The rule that adjusts the likelihood of findings within a certain
+ // proximity of hotwords.
+ message HotwordRule {
+ // Regular expression pattern defining what qualifies as a hotword.
+ Regex hotword_regex = 1;
+
+ // Proximity of the finding within which the entire hotword must reside.
+ // The total length of the window cannot exceed 1000 characters. Note that
+ // the finding itself will be included in the window, so that hotwords may
+ // be used to match substrings of the finding itself. For example, the
+ // certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
+ // adjusted upwards if the area code is known to be the local area code of
+ // a company office using the hotword regex "\(xxx\)", where "xxx"
+ // is the area code in question.
+ Proximity proximity = 2;
+
+ // Likelihood adjustment to apply to all matching findings.
+ LikelihoodAdjustment likelihood_adjustment = 3;
+ }
+
+ oneof type {
+ // Hotword-based detection rule.
+ HotwordRule hotword_rule = 1;
+ }
+ }
+
+ enum ExclusionType {
+ // A finding of this custom info type will not be excluded from results.
+ EXCLUSION_TYPE_UNSPECIFIED = 0;
+
+ // A finding of this custom info type will be excluded from final results,
+ // but can still affect rule execution.
+ EXCLUSION_TYPE_EXCLUDE = 1;
+ }
+
+ // CustomInfoType can either be a new infoType, or an extension of built-in
+ // infoType, when the name matches one of existing infoTypes and that infoType
+ // is specified in `InspectContent.info_types` field. Specifying the latter
+ // adds findings to the one detected by the system. If built-in info type is
+ // not specified in `InspectContent.info_types` list then the name is treated
+ // as a custom info type.
+ InfoType info_type = 1;
+
+ // Likelihood to return for this CustomInfoType. This base value can be
+ // altered by a detection rule if the finding meets the criteria specified by
+ // the rule. Defaults to `VERY_LIKELY` if not specified.
+ Likelihood likelihood = 6;
+
+ oneof type {
+ // A list of phrases to detect as a CustomInfoType.
+ Dictionary dictionary = 2;
+
+ // Regular expression based CustomInfoType.
+ Regex regex = 3;
+
+ // Message for detecting output from deidentification transformations that
+ // support reversing.
+ SurrogateType surrogate_type = 4;
+
+ // Load an existing `StoredInfoType` resource for use in
+ // `InspectDataSource`. Not currently supported in `InspectContent`.
+ StoredType stored_type = 5;
+ }
+
+ // Set of detection rules to apply to all findings of this CustomInfoType.
+ // Rules are applied in order that they are specified. Not supported for the
+ // `surrogate_type` CustomInfoType.
+ repeated DetectionRule detection_rules = 7;
+
+ // If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
+ // to be returned. It still can be used for rules matching.
+ ExclusionType exclusion_type = 8;
+}
+
+// General identifier of a data field in a storage service.
+message FieldId {
+ // Name describing the field.
+ string name = 1;
+}
+
+// Datastore partition ID.
+// A partition ID identifies a grouping of entities. The grouping is always
+// by project and namespace, however the namespace ID may be empty.
+//
+// A partition ID contains several dimensions:
+// project ID and namespace ID.
+message PartitionId {
+ // The ID of the project to which the entities belong.
+ string project_id = 2;
+
+ // If not empty, the ID of the namespace to which the entities belong.
+ string namespace_id = 4;
+}
+
+// A representation of a Datastore kind.
+message KindExpression {
+ // The name of the kind.
+ string name = 1;
+}
+
+// Options defining a data set within Google Cloud Datastore.
+message DatastoreOptions {
+ // A partition ID identifies a grouping of entities. The grouping is always
+ // by project and namespace, however the namespace ID may be empty.
+ PartitionId partition_id = 1;
+
+ // The kind to process.
+ KindExpression kind = 2;
+}
+
+// Message representing a set of files in a Cloud Storage bucket. Regular
+// expressions are used to allow fine-grained control over which files in the
+// bucket to include.
+//
+// Included files are those that match at least one item in `include_regex` and
+// do not match any items in `exclude_regex`. Note that a file that matches
+// items from both lists will _not_ be included. For a match to occur, the
+// entire file path (i.e., everything in the url after the bucket name) must
+// match the regular expression.
+//
+// For example, given the input `{bucket_name: "mybucket", include_regex:
+// ["directory1/.*"], exclude_regex:
+// ["directory1/excluded.*"]}`:
+//
+// * `gs://mybucket/directory1/myfile` will be included
+// * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
+// across `/`)
+// * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
+// full path doesn't match any items in `include_regex`)
+// * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
+// matches an item in `exclude_regex`)
+//
+// If `include_regex` is left empty, it will match all files by default
+// (this is equivalent to setting `include_regex: [".*"]`).
+//
+// Some other common use cases:
+//
+// * `{bucket_name: "mybucket", exclude_regex: [".*\.pdf"]}` will include all
+// files in `mybucket` except for .pdf files
+// * `{bucket_name: "mybucket", include_regex: ["directory/[^/]+"]}` will
+// include all files directly under `gs://mybucket/directory/`, without matching
+// across `/`
+message CloudStorageRegexFileSet {
+ // The name of a Cloud Storage bucket. Required.
+ string bucket_name = 1;
+
+ // A list of regular expressions matching file paths to include. All files in
+ // the bucket that match at least one of these regular expressions will be
+ // included in the set of files, except for those that also match an item in
+ // `exclude_regex`. Leaving this field empty will match all files by default
+ // (this is equivalent to including `.*` in the list).
+ //
+ // Regular expressions use RE2
+ // [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
+ // under the google/re2 repository on GitHub.
+ repeated string include_regex = 2;
+
+ // A list of regular expressions matching file paths to exclude. All files in
+ // the bucket that match at least one of these regular expressions will be
+ // excluded from the scan.
+ //
+ // Regular expressions use RE2
+ // [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
+ // under the google/re2 repository on GitHub.
+ repeated string exclude_regex = 3;
+}
+
+// Options defining a file or a set of files within a Google Cloud Storage
+// bucket.
+message CloudStorageOptions {
+ // Set of files to scan.
+ message FileSet {
+ // The Cloud Storage url of the file(s) to scan, in the format
+ // `gs:///`. Trailing wildcard in the path is allowed.
+ //
+ // If the url ends in a trailing slash, the bucket or directory represented
+ // by the url will be scanned non-recursively (content in sub-directories
+ // will not be scanned). This means that `gs://mybucket/` is equivalent to
+ // `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
+ // `gs://mybucket/directory/*`.
+ //
+ // Exactly one of `url` or `regex_file_set` must be set.
+ string url = 1;
+
+ // The regex-filtered set of files to scan. Exactly one of `url` or
+ // `regex_file_set` must be set.
+ CloudStorageRegexFileSet regex_file_set = 2;
+ }
+
+ // How to sample bytes if not all bytes are scanned. Meaningful only when used
+ // in conjunction with bytes_limit_per_file. If not specified, scanning would
+ // start from the top.
+ enum SampleMethod {
+ SAMPLE_METHOD_UNSPECIFIED = 0;
+
+ // Scan from the top (default).
+ TOP = 1;
+
+ // For each file larger than bytes_limit_per_file, randomly pick the offset
+ // to start scanning. The scanned bytes are contiguous.
+ RANDOM_START = 2;
+ }
+
+ // The set of one or more files to scan.
+ FileSet file_set = 1;
+
+ // Max number of bytes to scan from a file. If a scanned file's size is bigger
+ // than this value then the rest of the bytes are omitted. Only one
+ // of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
+ int64 bytes_limit_per_file = 4;
+
+ // Max percentage of bytes to scan from a file. The rest are omitted. The
+ // number of bytes scanned is rounded down. Must be between 0 and 100,
+ // inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
+ // of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
+ int32 bytes_limit_per_file_percent = 8;
+
+ // List of file type groups to include in the scan.
+ // If empty, all files are scanned and available data format processors
+ // are applied. In addition, the binary content of the selected files
+ // is always scanned as well.
+ // Images are scanned only as binary if the specified region
+ // does not support image inspection and no file_types were specified.
+ // Image inspection is restricted to 'global', 'us', 'asia', and 'europe'.
+ repeated FileType file_types = 5;
+
+ SampleMethod sample_method = 6;
+
+ // Limits the number of files to scan to this percentage of the input FileSet.
+ // Number of files scanned is rounded down. Must be between 0 and 100,
+ // inclusively. Both 0 and 100 means no limit. Defaults to 0.
+ int32 files_limit_percent = 7;
+}
+
+// Message representing a set of files in Cloud Storage.
+message CloudStorageFileSet {
+ // The url, in the format `gs:///`. Trailing wildcard in the
+ // path is allowed.
+ string url = 1;
+}
+
+// Message representing a single file or path in Cloud Storage.
+message CloudStoragePath {
+ // A url representing a file or path (no wildcards) in Cloud Storage.
+ // Example: gs://[BUCKET_NAME]/dictionary.txt
+ string path = 1;
+}
+
+// Options defining BigQuery table and row identifiers.
+message BigQueryOptions {
+ // How to sample rows if not all rows are scanned. Meaningful only when used
+ // in conjunction with either rows_limit or rows_limit_percent. If not
+ // specified, rows are scanned in the order BigQuery reads them.
+ enum SampleMethod {
+ SAMPLE_METHOD_UNSPECIFIED = 0;
+
+ // Scan groups of rows in the order BigQuery provides (default). Multiple
+ // groups of rows may be scanned in parallel, so results may not appear in
+ // the same order the rows are read.
+ TOP = 1;
+
+ // Randomly pick groups of rows to scan.
+ RANDOM_START = 2;
+ }
+
+ // Complete BigQuery table reference.
+ BigQueryTable table_reference = 1;
+
+ // Table fields that may uniquely identify a row within the table. When
+ // `actions.saveFindings.outputConfig.table` is specified, the values of
+ // columns specified here are available in the output table under
+ // `location.content_locations.record_location.record_key.id_values`. Nested
+ // fields such as `person.birthdate.year` are allowed.
+ repeated FieldId identifying_fields = 2;
+
+ // Max number of rows to scan. If the table has more rows than this value, the
+ // rest of the rows are omitted. If not set, or if set to 0, all rows will be
+ // scanned. Only one of rows_limit and rows_limit_percent can be specified.
+ // Cannot be used in conjunction with TimespanConfig.
+ int64 rows_limit = 3;
+
+ // Max percentage of rows to scan. The rest are omitted. The number of rows
+ // scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
+ // 100 means no limit. Defaults to 0. Only one of rows_limit and
+ // rows_limit_percent can be specified. Cannot be used in conjunction with
+ // TimespanConfig.
+ int32 rows_limit_percent = 6;
+
+ SampleMethod sample_method = 4;
+
+ // References to fields excluded from scanning. This allows you to skip
+ // inspection of entire columns which you know have no findings.
+ repeated FieldId excluded_fields = 5;
+}
+
+// Shared message indicating Cloud storage type.
+message StorageConfig {
+ // Configuration of the timespan of the items to include in scanning.
+ // Currently only supported when inspecting Google Cloud Storage and BigQuery.
+ message TimespanConfig {
+ // Exclude files, tables, or rows older than this value.
+ // If not set, no lower time limit is applied.
+ google.protobuf.Timestamp start_time = 1;
+
+ // Exclude files, tables, or rows newer than this value.
+ // If not set, no upper time limit is applied.
+ google.protobuf.Timestamp end_time = 2;
+
+ // Specification of the field containing the timestamp of scanned items.
+ // Used for data sources like Datastore and BigQuery.
+ //
+ // For BigQuery:
+ // If this value is not specified and the table was modified between the
+ // given start and end times, the entire table will be scanned. If this
+ // value is specified, then rows are filtered based on the given start and
+ // end times. Rows with a `NULL` value in the provided BigQuery column are
+ // skipped.
+ // Valid data types of the provided BigQuery column are: `INTEGER`, `DATE`,
+ // `TIMESTAMP`, and `DATETIME`.
+ //
+ // For Datastore:
+ // If this value is specified, then entities are filtered based on the given
+ // start and end times. If an entity does not contain the provided timestamp
+ // property or contains empty or invalid values, then it is included.
+ // Valid data types of the provided timestamp property are: `TIMESTAMP`.
+ FieldId timestamp_field = 3;
+
+ // When the job is started by a JobTrigger we will automatically figure out
+ // a valid start_time to avoid scanning files that have not been modified
+ // since the last time the JobTrigger executed. This will be based on the
+ // time of the execution of the last run of the JobTrigger.
+ bool enable_auto_population_of_timespan_config = 4;
+ }
+
+ oneof type {
+ // Google Cloud Datastore options.
+ DatastoreOptions datastore_options = 2;
+
+ // Google Cloud Storage options.
+ CloudStorageOptions cloud_storage_options = 3;
+
+ // BigQuery options.
+ BigQueryOptions big_query_options = 4;
+
+ // Hybrid inspection options.
+ // Early access feature is in a pre-release state and might change or have
+ // limited support. For more information, see
+ // https://cloud.google.com/products#product-launch-stages.
+ HybridOptions hybrid_options = 9;
+ }
+
+ TimespanConfig timespan_config = 6;
+}
+
+// Definitions of file type groups to scan. New types will be added to this
+// list.
+enum FileType {
+ // Includes all files.
+ FILE_TYPE_UNSPECIFIED = 0;
+
+ // Includes all file extensions not covered by another entry. Binary
+ // scanning attempts to convert the content of the file to utf_8 to scan
+ // the file.
+ // If you wish to avoid this fall back, specify one or more of the other
+ // FileType's in your storage scan.
+ BINARY_FILE = 1;
+
+ // Included file extensions:
+ // asc, brf, c, cc, cpp, csv, cxx, c++, cs, css, dart, eml, go, h, hh, hpp,
+ // hxx, h++, hs, html, htm, shtml, shtm, xhtml, lhs, ini, java, js, json,
+ // ocaml, md, mkd, markdown, m, ml, mli, pl, pm, php, phtml, pht, py, pyw,
+ // rb, rbw, rs, rc, scala, sh, sql, tex, txt, text, tsv, vcard, vcs, wml,
+ // xml, xsl, xsd, yml, yaml.
+ TEXT_FILE = 2;
+
+ // Included file extensions:
+ // bmp, gif, jpg, jpeg, jpe, png.
+ // bytes_limit_per_file has no effect on image files.
+ // Image inspection is restricted to 'global', 'us', 'asia', and 'europe'.
+ IMAGE = 3;
+
+ // Word files >30 MB will be scanned as binary files.
+ // Included file extensions:
+ // docx, dotx, docm, dotm
+ WORD = 5;
+
+ // PDF files >30 MB will be scanned as binary files.
+ // Included file extensions:
+ // pdf
+ PDF = 6;
+
+ // Included file extensions:
+ // avro
+ AVRO = 7;
+
+ // Included file extensions:
+ // csv
+ CSV = 8;
+
+ // Included file extensions:
+ // tsv
+ TSV = 9;
+}
+
+// Configuration to control jobs where the content being inspected is outside
+// of Google Cloud Platform.
+message HybridOptions {
+ // A short description of where the data is coming from. Will be stored once
+ // in the job. 256 max length.
+ string description = 1;
+
+ // These are labels that each inspection request must include within their
+ // 'finding_labels' map. Request may contain others, but any missing one of
+ // these will be rejected.
+ //
+ // Label keys must be between 1 and 63 characters long and must conform
+ // to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
+ //
+ // No more than 10 keys can be required.
+ repeated string required_finding_label_keys = 2;
+
+ // To organize findings, these labels will be added to each finding.
+ //
+ // Label keys must be between 1 and 63 characters long and must conform
+ // to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
+ //
+ // Label values must be between 0 and 63 characters long and must conform
+ // to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
+ //
+ // No more than 10 labels can be associated with a given finding.
+ //
+ // Examples:
+ // * `"environment" : "production"`
+ // * `"pipeline" : "etl"`
+ map labels = 3;
+
+ // If the container is a table, additional information to make findings
+ // meaningful such as the columns that are primary keys.
+ TableOptions table_options = 4;
+}
+
+// Row key for identifying a record in BigQuery table.
+message BigQueryKey {
+ // Complete BigQuery table reference.
+ BigQueryTable table_reference = 1;
+
+ // Row number inferred at the time the table was scanned. This value is
+ // nondeterministic, cannot be queried, and may be null for inspection
+ // jobs. To locate findings within a table, specify
+ // `inspect_job.storage_config.big_query_options.identifying_fields` in
+ // `CreateDlpJobRequest`.
+ int64 row_number = 2;
+}
+
+// Record key for a finding in Cloud Datastore.
+message DatastoreKey {
+ // Datastore entity key.
+ Key entity_key = 1;
+}
+
+// A unique identifier for a Datastore entity.
+// If a key's partition ID or any of its path kinds or names are
+// reserved/read-only, the key is reserved/read-only.
+// A reserved/read-only key is forbidden in certain documented contexts.
+message Key {
+ // A (kind, ID/name) pair used to construct a key path.
+ //
+ // If either name or ID is set, the element is complete.
+ // If neither is set, the element is incomplete.
+ message PathElement {
+ // The kind of the entity.
+ // A kind matching regex `__.*__` is reserved/read-only.
+ // A kind must not contain more than 1500 bytes when UTF-8 encoded.
+ // Cannot be `""`.
+ string kind = 1;
+
+ // The type of ID.
+ oneof id_type {
+ // The auto-allocated ID of the entity.
+ // Never equal to zero. Values less than zero are discouraged and may not
+ // be supported in the future.
+ int64 id = 2;
+
+ // The name of the entity.
+ // A name matching regex `__.*__` is reserved/read-only.
+ // A name must not be more than 1500 bytes when UTF-8 encoded.
+ // Cannot be `""`.
+ string name = 3;
+ }
+ }
+
+ // Entities are partitioned into subsets, currently identified by a project
+ // ID and namespace ID.
+ // Queries are scoped to a single partition.
+ PartitionId partition_id = 1;
+
+ // The entity path.
+ // An entity path consists of one or more elements composed of a kind and a
+ // string or numerical identifier, which identify entities. The first
+ // element identifies a _root entity_, the second element identifies
+ // a _child_ of the root entity, the third element identifies a child of the
+ // second entity, and so forth. The entities identified by all prefixes of
+ // the path are called the element's _ancestors_.
+ //
+ // A path can never be empty, and a path can have at most 100 elements.
+ repeated PathElement path = 2;
+}
+
+// Message for a unique key indicating a record that contains a finding.
+message RecordKey {
+ oneof type {
+ DatastoreKey datastore_key = 2;
+
+ BigQueryKey big_query_key = 3;
+ }
+
+ // Values of identifying columns in the given row. Order of values matches
+ // the order of `identifying_fields` specified in the scanning request.
+ repeated string id_values = 5;
+}
+
+// Message defining the location of a BigQuery table. A table is uniquely
+// identified by its project_id, dataset_id, and table_name. Within a query
+// a table is often referenced with a string in the format of:
+// `:.` or
+// `..`.
+message BigQueryTable {
+ // The Google Cloud Platform project ID of the project containing the table.
+ // If omitted, project ID is inferred from the API call.
+ string project_id = 1;
+
+ // Dataset ID of the table.
+ string dataset_id = 2;
+
+ // Name of the table.
+ string table_id = 3;
+}
+
+// Message defining a field of a BigQuery table.
+message BigQueryField {
+ // Source table of the field.
+ BigQueryTable table = 1;
+
+ // Designated field in the BigQuery table.
+ FieldId field = 2;
+}
+
+// An entity in a dataset is a field or set of fields that correspond to a
+// single person. For example, in medical records the `EntityId` might be a
+// patient identifier, or for financial records it might be an account
+// identifier. This message is used when generalizations or analysis must take
+// into account that multiple rows correspond to the same entity.
+message EntityId {
+ // Composite key indicating which field contains the entity identifier.
+ FieldId field = 1;
+}
+
+// Instructions regarding the table content being inspected.
+message TableOptions {
+ // The columns that are the primary keys for table objects included in
+ // ContentItem. A copy of this cell's value will stored alongside alongside
+ // each finding so that the finding can be traced to the specific row it came
+ // from. No more than 3 may be provided.
+ repeated FieldId identifying_fields = 1;
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/protos/protos.d.ts b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/protos/protos.d.ts
new file mode 100644
index 000000000..adb842f3b
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/protos/protos.d.ts
@@ -0,0 +1,26343 @@
+// 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.
+
+import * as Long from "long";
+import {protobuf as $protobuf} from "google-gax";
+/** Namespace google. */
+export namespace google {
+
+ /** Namespace privacy. */
+ namespace privacy {
+
+ /** Namespace dlp. */
+ namespace dlp {
+
+ /** Namespace v2. */
+ namespace v2 {
+
+ /** Represents a DlpService */
+ class DlpService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new DlpService 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 DlpService 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): DlpService;
+
+ /**
+ * Calls InspectContent.
+ * @param request InspectContentRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and InspectContentResponse
+ */
+ public inspectContent(request: google.privacy.dlp.v2.IInspectContentRequest, callback: google.privacy.dlp.v2.DlpService.InspectContentCallback): void;
+
+ /**
+ * Calls InspectContent.
+ * @param request InspectContentRequest message or plain object
+ * @returns Promise
+ */
+ public inspectContent(request: google.privacy.dlp.v2.IInspectContentRequest): Promise;
+
+ /**
+ * Calls RedactImage.
+ * @param request RedactImageRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and RedactImageResponse
+ */
+ public redactImage(request: google.privacy.dlp.v2.IRedactImageRequest, callback: google.privacy.dlp.v2.DlpService.RedactImageCallback): void;
+
+ /**
+ * Calls RedactImage.
+ * @param request RedactImageRequest message or plain object
+ * @returns Promise
+ */
+ public redactImage(request: google.privacy.dlp.v2.IRedactImageRequest): Promise;
+
+ /**
+ * Calls DeidentifyContent.
+ * @param request DeidentifyContentRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and DeidentifyContentResponse
+ */
+ public deidentifyContent(request: google.privacy.dlp.v2.IDeidentifyContentRequest, callback: google.privacy.dlp.v2.DlpService.DeidentifyContentCallback): void;
+
+ /**
+ * Calls DeidentifyContent.
+ * @param request DeidentifyContentRequest message or plain object
+ * @returns Promise
+ */
+ public deidentifyContent(request: google.privacy.dlp.v2.IDeidentifyContentRequest): Promise;
+
+ /**
+ * Calls ReidentifyContent.
+ * @param request ReidentifyContentRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ReidentifyContentResponse
+ */
+ public reidentifyContent(request: google.privacy.dlp.v2.IReidentifyContentRequest, callback: google.privacy.dlp.v2.DlpService.ReidentifyContentCallback): void;
+
+ /**
+ * Calls ReidentifyContent.
+ * @param request ReidentifyContentRequest message or plain object
+ * @returns Promise
+ */
+ public reidentifyContent(request: google.privacy.dlp.v2.IReidentifyContentRequest): Promise;
+
+ /**
+ * Calls ListInfoTypes.
+ * @param request ListInfoTypesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListInfoTypesResponse
+ */
+ public listInfoTypes(request: google.privacy.dlp.v2.IListInfoTypesRequest, callback: google.privacy.dlp.v2.DlpService.ListInfoTypesCallback): void;
+
+ /**
+ * Calls ListInfoTypes.
+ * @param request ListInfoTypesRequest message or plain object
+ * @returns Promise
+ */
+ public listInfoTypes(request: google.privacy.dlp.v2.IListInfoTypesRequest): Promise;
+
+ /**
+ * Calls CreateInspectTemplate.
+ * @param request CreateInspectTemplateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and InspectTemplate
+ */
+ public createInspectTemplate(request: google.privacy.dlp.v2.ICreateInspectTemplateRequest, callback: google.privacy.dlp.v2.DlpService.CreateInspectTemplateCallback): void;
+
+ /**
+ * Calls CreateInspectTemplate.
+ * @param request CreateInspectTemplateRequest message or plain object
+ * @returns Promise
+ */
+ public createInspectTemplate(request: google.privacy.dlp.v2.ICreateInspectTemplateRequest): Promise;
+
+ /**
+ * Calls UpdateInspectTemplate.
+ * @param request UpdateInspectTemplateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and InspectTemplate
+ */
+ public updateInspectTemplate(request: google.privacy.dlp.v2.IUpdateInspectTemplateRequest, callback: google.privacy.dlp.v2.DlpService.UpdateInspectTemplateCallback): void;
+
+ /**
+ * Calls UpdateInspectTemplate.
+ * @param request UpdateInspectTemplateRequest message or plain object
+ * @returns Promise
+ */
+ public updateInspectTemplate(request: google.privacy.dlp.v2.IUpdateInspectTemplateRequest): Promise;
+
+ /**
+ * Calls GetInspectTemplate.
+ * @param request GetInspectTemplateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and InspectTemplate
+ */
+ public getInspectTemplate(request: google.privacy.dlp.v2.IGetInspectTemplateRequest, callback: google.privacy.dlp.v2.DlpService.GetInspectTemplateCallback): void;
+
+ /**
+ * Calls GetInspectTemplate.
+ * @param request GetInspectTemplateRequest message or plain object
+ * @returns Promise
+ */
+ public getInspectTemplate(request: google.privacy.dlp.v2.IGetInspectTemplateRequest): Promise;
+
+ /**
+ * Calls ListInspectTemplates.
+ * @param request ListInspectTemplatesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListInspectTemplatesResponse
+ */
+ public listInspectTemplates(request: google.privacy.dlp.v2.IListInspectTemplatesRequest, callback: google.privacy.dlp.v2.DlpService.ListInspectTemplatesCallback): void;
+
+ /**
+ * Calls ListInspectTemplates.
+ * @param request ListInspectTemplatesRequest message or plain object
+ * @returns Promise
+ */
+ public listInspectTemplates(request: google.privacy.dlp.v2.IListInspectTemplatesRequest): Promise;
+
+ /**
+ * Calls DeleteInspectTemplate.
+ * @param request DeleteInspectTemplateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteInspectTemplate(request: google.privacy.dlp.v2.IDeleteInspectTemplateRequest, callback: google.privacy.dlp.v2.DlpService.DeleteInspectTemplateCallback): void;
+
+ /**
+ * Calls DeleteInspectTemplate.
+ * @param request DeleteInspectTemplateRequest message or plain object
+ * @returns Promise
+ */
+ public deleteInspectTemplate(request: google.privacy.dlp.v2.IDeleteInspectTemplateRequest): Promise;
+
+ /**
+ * Calls CreateDeidentifyTemplate.
+ * @param request CreateDeidentifyTemplateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and DeidentifyTemplate
+ */
+ public createDeidentifyTemplate(request: google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest, callback: google.privacy.dlp.v2.DlpService.CreateDeidentifyTemplateCallback): void;
+
+ /**
+ * Calls CreateDeidentifyTemplate.
+ * @param request CreateDeidentifyTemplateRequest message or plain object
+ * @returns Promise
+ */
+ public createDeidentifyTemplate(request: google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest): Promise;
+
+ /**
+ * Calls UpdateDeidentifyTemplate.
+ * @param request UpdateDeidentifyTemplateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and DeidentifyTemplate
+ */
+ public updateDeidentifyTemplate(request: google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest, callback: google.privacy.dlp.v2.DlpService.UpdateDeidentifyTemplateCallback): void;
+
+ /**
+ * Calls UpdateDeidentifyTemplate.
+ * @param request UpdateDeidentifyTemplateRequest message or plain object
+ * @returns Promise
+ */
+ public updateDeidentifyTemplate(request: google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest): Promise;
+
+ /**
+ * Calls GetDeidentifyTemplate.
+ * @param request GetDeidentifyTemplateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and DeidentifyTemplate
+ */
+ public getDeidentifyTemplate(request: google.privacy.dlp.v2.IGetDeidentifyTemplateRequest, callback: google.privacy.dlp.v2.DlpService.GetDeidentifyTemplateCallback): void;
+
+ /**
+ * Calls GetDeidentifyTemplate.
+ * @param request GetDeidentifyTemplateRequest message or plain object
+ * @returns Promise
+ */
+ public getDeidentifyTemplate(request: google.privacy.dlp.v2.IGetDeidentifyTemplateRequest): Promise;
+
+ /**
+ * Calls ListDeidentifyTemplates.
+ * @param request ListDeidentifyTemplatesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListDeidentifyTemplatesResponse
+ */
+ public listDeidentifyTemplates(request: google.privacy.dlp.v2.IListDeidentifyTemplatesRequest, callback: google.privacy.dlp.v2.DlpService.ListDeidentifyTemplatesCallback): void;
+
+ /**
+ * Calls ListDeidentifyTemplates.
+ * @param request ListDeidentifyTemplatesRequest message or plain object
+ * @returns Promise
+ */
+ public listDeidentifyTemplates(request: google.privacy.dlp.v2.IListDeidentifyTemplatesRequest): Promise;
+
+ /**
+ * Calls DeleteDeidentifyTemplate.
+ * @param request DeleteDeidentifyTemplateRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteDeidentifyTemplate(request: google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest, callback: google.privacy.dlp.v2.DlpService.DeleteDeidentifyTemplateCallback): void;
+
+ /**
+ * Calls DeleteDeidentifyTemplate.
+ * @param request DeleteDeidentifyTemplateRequest message or plain object
+ * @returns Promise
+ */
+ public deleteDeidentifyTemplate(request: google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest): Promise;
+
+ /**
+ * Calls CreateJobTrigger.
+ * @param request CreateJobTriggerRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and JobTrigger
+ */
+ public createJobTrigger(request: google.privacy.dlp.v2.ICreateJobTriggerRequest, callback: google.privacy.dlp.v2.DlpService.CreateJobTriggerCallback): void;
+
+ /**
+ * Calls CreateJobTrigger.
+ * @param request CreateJobTriggerRequest message or plain object
+ * @returns Promise
+ */
+ public createJobTrigger(request: google.privacy.dlp.v2.ICreateJobTriggerRequest): Promise;
+
+ /**
+ * Calls UpdateJobTrigger.
+ * @param request UpdateJobTriggerRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and JobTrigger
+ */
+ public updateJobTrigger(request: google.privacy.dlp.v2.IUpdateJobTriggerRequest, callback: google.privacy.dlp.v2.DlpService.UpdateJobTriggerCallback): void;
+
+ /**
+ * Calls UpdateJobTrigger.
+ * @param request UpdateJobTriggerRequest message or plain object
+ * @returns Promise
+ */
+ public updateJobTrigger(request: google.privacy.dlp.v2.IUpdateJobTriggerRequest): Promise;
+
+ /**
+ * Calls HybridInspectJobTrigger.
+ * @param request HybridInspectJobTriggerRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and HybridInspectResponse
+ */
+ public hybridInspectJobTrigger(request: google.privacy.dlp.v2.IHybridInspectJobTriggerRequest, callback: google.privacy.dlp.v2.DlpService.HybridInspectJobTriggerCallback): void;
+
+ /**
+ * Calls HybridInspectJobTrigger.
+ * @param request HybridInspectJobTriggerRequest message or plain object
+ * @returns Promise
+ */
+ public hybridInspectJobTrigger(request: google.privacy.dlp.v2.IHybridInspectJobTriggerRequest): Promise;
+
+ /**
+ * Calls GetJobTrigger.
+ * @param request GetJobTriggerRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and JobTrigger
+ */
+ public getJobTrigger(request: google.privacy.dlp.v2.IGetJobTriggerRequest, callback: google.privacy.dlp.v2.DlpService.GetJobTriggerCallback): void;
+
+ /**
+ * Calls GetJobTrigger.
+ * @param request GetJobTriggerRequest message or plain object
+ * @returns Promise
+ */
+ public getJobTrigger(request: google.privacy.dlp.v2.IGetJobTriggerRequest): Promise;
+
+ /**
+ * Calls ListJobTriggers.
+ * @param request ListJobTriggersRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListJobTriggersResponse
+ */
+ public listJobTriggers(request: google.privacy.dlp.v2.IListJobTriggersRequest, callback: google.privacy.dlp.v2.DlpService.ListJobTriggersCallback): void;
+
+ /**
+ * Calls ListJobTriggers.
+ * @param request ListJobTriggersRequest message or plain object
+ * @returns Promise
+ */
+ public listJobTriggers(request: google.privacy.dlp.v2.IListJobTriggersRequest): Promise;
+
+ /**
+ * Calls DeleteJobTrigger.
+ * @param request DeleteJobTriggerRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteJobTrigger(request: google.privacy.dlp.v2.IDeleteJobTriggerRequest, callback: google.privacy.dlp.v2.DlpService.DeleteJobTriggerCallback): void;
+
+ /**
+ * Calls DeleteJobTrigger.
+ * @param request DeleteJobTriggerRequest message or plain object
+ * @returns Promise
+ */
+ public deleteJobTrigger(request: google.privacy.dlp.v2.IDeleteJobTriggerRequest): Promise;
+
+ /**
+ * Calls ActivateJobTrigger.
+ * @param request ActivateJobTriggerRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and DlpJob
+ */
+ public activateJobTrigger(request: google.privacy.dlp.v2.IActivateJobTriggerRequest, callback: google.privacy.dlp.v2.DlpService.ActivateJobTriggerCallback): void;
+
+ /**
+ * Calls ActivateJobTrigger.
+ * @param request ActivateJobTriggerRequest message or plain object
+ * @returns Promise
+ */
+ public activateJobTrigger(request: google.privacy.dlp.v2.IActivateJobTriggerRequest): Promise;
+
+ /**
+ * Calls CreateDlpJob.
+ * @param request CreateDlpJobRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and DlpJob
+ */
+ public createDlpJob(request: google.privacy.dlp.v2.ICreateDlpJobRequest, callback: google.privacy.dlp.v2.DlpService.CreateDlpJobCallback): void;
+
+ /**
+ * Calls CreateDlpJob.
+ * @param request CreateDlpJobRequest message or plain object
+ * @returns Promise
+ */
+ public createDlpJob(request: google.privacy.dlp.v2.ICreateDlpJobRequest): Promise;
+
+ /**
+ * Calls ListDlpJobs.
+ * @param request ListDlpJobsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListDlpJobsResponse
+ */
+ public listDlpJobs(request: google.privacy.dlp.v2.IListDlpJobsRequest, callback: google.privacy.dlp.v2.DlpService.ListDlpJobsCallback): void;
+
+ /**
+ * Calls ListDlpJobs.
+ * @param request ListDlpJobsRequest message or plain object
+ * @returns Promise
+ */
+ public listDlpJobs(request: google.privacy.dlp.v2.IListDlpJobsRequest): Promise;
+
+ /**
+ * Calls GetDlpJob.
+ * @param request GetDlpJobRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and DlpJob
+ */
+ public getDlpJob(request: google.privacy.dlp.v2.IGetDlpJobRequest, callback: google.privacy.dlp.v2.DlpService.GetDlpJobCallback): void;
+
+ /**
+ * Calls GetDlpJob.
+ * @param request GetDlpJobRequest message or plain object
+ * @returns Promise
+ */
+ public getDlpJob(request: google.privacy.dlp.v2.IGetDlpJobRequest): Promise;
+
+ /**
+ * Calls DeleteDlpJob.
+ * @param request DeleteDlpJobRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteDlpJob(request: google.privacy.dlp.v2.IDeleteDlpJobRequest, callback: google.privacy.dlp.v2.DlpService.DeleteDlpJobCallback): void;
+
+ /**
+ * Calls DeleteDlpJob.
+ * @param request DeleteDlpJobRequest message or plain object
+ * @returns Promise
+ */
+ public deleteDlpJob(request: google.privacy.dlp.v2.IDeleteDlpJobRequest): Promise;
+
+ /**
+ * Calls CancelDlpJob.
+ * @param request CancelDlpJobRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public cancelDlpJob(request: google.privacy.dlp.v2.ICancelDlpJobRequest, callback: google.privacy.dlp.v2.DlpService.CancelDlpJobCallback): void;
+
+ /**
+ * Calls CancelDlpJob.
+ * @param request CancelDlpJobRequest message or plain object
+ * @returns Promise
+ */
+ public cancelDlpJob(request: google.privacy.dlp.v2.ICancelDlpJobRequest): Promise;
+
+ /**
+ * Calls CreateStoredInfoType.
+ * @param request CreateStoredInfoTypeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and StoredInfoType
+ */
+ public createStoredInfoType(request: google.privacy.dlp.v2.ICreateStoredInfoTypeRequest, callback: google.privacy.dlp.v2.DlpService.CreateStoredInfoTypeCallback): void;
+
+ /**
+ * Calls CreateStoredInfoType.
+ * @param request CreateStoredInfoTypeRequest message or plain object
+ * @returns Promise
+ */
+ public createStoredInfoType(request: google.privacy.dlp.v2.ICreateStoredInfoTypeRequest): Promise;
+
+ /**
+ * Calls UpdateStoredInfoType.
+ * @param request UpdateStoredInfoTypeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and StoredInfoType
+ */
+ public updateStoredInfoType(request: google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest, callback: google.privacy.dlp.v2.DlpService.UpdateStoredInfoTypeCallback): void;
+
+ /**
+ * Calls UpdateStoredInfoType.
+ * @param request UpdateStoredInfoTypeRequest message or plain object
+ * @returns Promise
+ */
+ public updateStoredInfoType(request: google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest): Promise;
+
+ /**
+ * Calls GetStoredInfoType.
+ * @param request GetStoredInfoTypeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and StoredInfoType
+ */
+ public getStoredInfoType(request: google.privacy.dlp.v2.IGetStoredInfoTypeRequest, callback: google.privacy.dlp.v2.DlpService.GetStoredInfoTypeCallback): void;
+
+ /**
+ * Calls GetStoredInfoType.
+ * @param request GetStoredInfoTypeRequest message or plain object
+ * @returns Promise
+ */
+ public getStoredInfoType(request: google.privacy.dlp.v2.IGetStoredInfoTypeRequest): Promise;
+
+ /**
+ * Calls ListStoredInfoTypes.
+ * @param request ListStoredInfoTypesRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListStoredInfoTypesResponse
+ */
+ public listStoredInfoTypes(request: google.privacy.dlp.v2.IListStoredInfoTypesRequest, callback: google.privacy.dlp.v2.DlpService.ListStoredInfoTypesCallback): void;
+
+ /**
+ * Calls ListStoredInfoTypes.
+ * @param request ListStoredInfoTypesRequest message or plain object
+ * @returns Promise
+ */
+ public listStoredInfoTypes(request: google.privacy.dlp.v2.IListStoredInfoTypesRequest): Promise;
+
+ /**
+ * Calls DeleteStoredInfoType.
+ * @param request DeleteStoredInfoTypeRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteStoredInfoType(request: google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest, callback: google.privacy.dlp.v2.DlpService.DeleteStoredInfoTypeCallback): void;
+
+ /**
+ * Calls DeleteStoredInfoType.
+ * @param request DeleteStoredInfoTypeRequest message or plain object
+ * @returns Promise
+ */
+ public deleteStoredInfoType(request: google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest): Promise;
+
+ /**
+ * Calls HybridInspectDlpJob.
+ * @param request HybridInspectDlpJobRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and HybridInspectResponse
+ */
+ public hybridInspectDlpJob(request: google.privacy.dlp.v2.IHybridInspectDlpJobRequest, callback: google.privacy.dlp.v2.DlpService.HybridInspectDlpJobCallback): void;
+
+ /**
+ * Calls HybridInspectDlpJob.
+ * @param request HybridInspectDlpJobRequest message or plain object
+ * @returns Promise
+ */
+ public hybridInspectDlpJob(request: google.privacy.dlp.v2.IHybridInspectDlpJobRequest): Promise;
+
+ /**
+ * Calls FinishDlpJob.
+ * @param request FinishDlpJobRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public finishDlpJob(request: google.privacy.dlp.v2.IFinishDlpJobRequest, callback: google.privacy.dlp.v2.DlpService.FinishDlpJobCallback): void;
+
+ /**
+ * Calls FinishDlpJob.
+ * @param request FinishDlpJobRequest message or plain object
+ * @returns Promise
+ */
+ public finishDlpJob(request: google.privacy.dlp.v2.IFinishDlpJobRequest): Promise;
+ }
+
+ namespace DlpService {
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#inspectContent}.
+ * @param error Error, if any
+ * @param [response] InspectContentResponse
+ */
+ type InspectContentCallback = (error: (Error|null), response?: google.privacy.dlp.v2.InspectContentResponse) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#redactImage}.
+ * @param error Error, if any
+ * @param [response] RedactImageResponse
+ */
+ type RedactImageCallback = (error: (Error|null), response?: google.privacy.dlp.v2.RedactImageResponse) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#deidentifyContent}.
+ * @param error Error, if any
+ * @param [response] DeidentifyContentResponse
+ */
+ type DeidentifyContentCallback = (error: (Error|null), response?: google.privacy.dlp.v2.DeidentifyContentResponse) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#reidentifyContent}.
+ * @param error Error, if any
+ * @param [response] ReidentifyContentResponse
+ */
+ type ReidentifyContentCallback = (error: (Error|null), response?: google.privacy.dlp.v2.ReidentifyContentResponse) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#listInfoTypes}.
+ * @param error Error, if any
+ * @param [response] ListInfoTypesResponse
+ */
+ type ListInfoTypesCallback = (error: (Error|null), response?: google.privacy.dlp.v2.ListInfoTypesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#createInspectTemplate}.
+ * @param error Error, if any
+ * @param [response] InspectTemplate
+ */
+ type CreateInspectTemplateCallback = (error: (Error|null), response?: google.privacy.dlp.v2.InspectTemplate) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#updateInspectTemplate}.
+ * @param error Error, if any
+ * @param [response] InspectTemplate
+ */
+ type UpdateInspectTemplateCallback = (error: (Error|null), response?: google.privacy.dlp.v2.InspectTemplate) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#getInspectTemplate}.
+ * @param error Error, if any
+ * @param [response] InspectTemplate
+ */
+ type GetInspectTemplateCallback = (error: (Error|null), response?: google.privacy.dlp.v2.InspectTemplate) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#listInspectTemplates}.
+ * @param error Error, if any
+ * @param [response] ListInspectTemplatesResponse
+ */
+ type ListInspectTemplatesCallback = (error: (Error|null), response?: google.privacy.dlp.v2.ListInspectTemplatesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#deleteInspectTemplate}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteInspectTemplateCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#createDeidentifyTemplate}.
+ * @param error Error, if any
+ * @param [response] DeidentifyTemplate
+ */
+ type CreateDeidentifyTemplateCallback = (error: (Error|null), response?: google.privacy.dlp.v2.DeidentifyTemplate) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#updateDeidentifyTemplate}.
+ * @param error Error, if any
+ * @param [response] DeidentifyTemplate
+ */
+ type UpdateDeidentifyTemplateCallback = (error: (Error|null), response?: google.privacy.dlp.v2.DeidentifyTemplate) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#getDeidentifyTemplate}.
+ * @param error Error, if any
+ * @param [response] DeidentifyTemplate
+ */
+ type GetDeidentifyTemplateCallback = (error: (Error|null), response?: google.privacy.dlp.v2.DeidentifyTemplate) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#listDeidentifyTemplates}.
+ * @param error Error, if any
+ * @param [response] ListDeidentifyTemplatesResponse
+ */
+ type ListDeidentifyTemplatesCallback = (error: (Error|null), response?: google.privacy.dlp.v2.ListDeidentifyTemplatesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#deleteDeidentifyTemplate}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteDeidentifyTemplateCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#createJobTrigger}.
+ * @param error Error, if any
+ * @param [response] JobTrigger
+ */
+ type CreateJobTriggerCallback = (error: (Error|null), response?: google.privacy.dlp.v2.JobTrigger) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#updateJobTrigger}.
+ * @param error Error, if any
+ * @param [response] JobTrigger
+ */
+ type UpdateJobTriggerCallback = (error: (Error|null), response?: google.privacy.dlp.v2.JobTrigger) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#hybridInspectJobTrigger}.
+ * @param error Error, if any
+ * @param [response] HybridInspectResponse
+ */
+ type HybridInspectJobTriggerCallback = (error: (Error|null), response?: google.privacy.dlp.v2.HybridInspectResponse) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#getJobTrigger}.
+ * @param error Error, if any
+ * @param [response] JobTrigger
+ */
+ type GetJobTriggerCallback = (error: (Error|null), response?: google.privacy.dlp.v2.JobTrigger) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#listJobTriggers}.
+ * @param error Error, if any
+ * @param [response] ListJobTriggersResponse
+ */
+ type ListJobTriggersCallback = (error: (Error|null), response?: google.privacy.dlp.v2.ListJobTriggersResponse) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#deleteJobTrigger}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteJobTriggerCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#activateJobTrigger}.
+ * @param error Error, if any
+ * @param [response] DlpJob
+ */
+ type ActivateJobTriggerCallback = (error: (Error|null), response?: google.privacy.dlp.v2.DlpJob) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#createDlpJob}.
+ * @param error Error, if any
+ * @param [response] DlpJob
+ */
+ type CreateDlpJobCallback = (error: (Error|null), response?: google.privacy.dlp.v2.DlpJob) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#listDlpJobs}.
+ * @param error Error, if any
+ * @param [response] ListDlpJobsResponse
+ */
+ type ListDlpJobsCallback = (error: (Error|null), response?: google.privacy.dlp.v2.ListDlpJobsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#getDlpJob}.
+ * @param error Error, if any
+ * @param [response] DlpJob
+ */
+ type GetDlpJobCallback = (error: (Error|null), response?: google.privacy.dlp.v2.DlpJob) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#deleteDlpJob}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteDlpJobCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#cancelDlpJob}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type CancelDlpJobCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#createStoredInfoType}.
+ * @param error Error, if any
+ * @param [response] StoredInfoType
+ */
+ type CreateStoredInfoTypeCallback = (error: (Error|null), response?: google.privacy.dlp.v2.StoredInfoType) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#updateStoredInfoType}.
+ * @param error Error, if any
+ * @param [response] StoredInfoType
+ */
+ type UpdateStoredInfoTypeCallback = (error: (Error|null), response?: google.privacy.dlp.v2.StoredInfoType) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#getStoredInfoType}.
+ * @param error Error, if any
+ * @param [response] StoredInfoType
+ */
+ type GetStoredInfoTypeCallback = (error: (Error|null), response?: google.privacy.dlp.v2.StoredInfoType) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#listStoredInfoTypes}.
+ * @param error Error, if any
+ * @param [response] ListStoredInfoTypesResponse
+ */
+ type ListStoredInfoTypesCallback = (error: (Error|null), response?: google.privacy.dlp.v2.ListStoredInfoTypesResponse) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#deleteStoredInfoType}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteStoredInfoTypeCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#hybridInspectDlpJob}.
+ * @param error Error, if any
+ * @param [response] HybridInspectResponse
+ */
+ type HybridInspectDlpJobCallback = (error: (Error|null), response?: google.privacy.dlp.v2.HybridInspectResponse) => void;
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#finishDlpJob}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type FinishDlpJobCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+ }
+
+ /** Properties of an ExcludeInfoTypes. */
+ interface IExcludeInfoTypes {
+
+ /** ExcludeInfoTypes infoTypes */
+ infoTypes?: (google.privacy.dlp.v2.IInfoType[]|null);
+ }
+
+ /** Represents an ExcludeInfoTypes. */
+ class ExcludeInfoTypes implements IExcludeInfoTypes {
+
+ /**
+ * Constructs a new ExcludeInfoTypes.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IExcludeInfoTypes);
+
+ /** ExcludeInfoTypes infoTypes. */
+ public infoTypes: google.privacy.dlp.v2.IInfoType[];
+
+ /**
+ * Creates a new ExcludeInfoTypes instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExcludeInfoTypes instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IExcludeInfoTypes): google.privacy.dlp.v2.ExcludeInfoTypes;
+
+ /**
+ * Encodes the specified ExcludeInfoTypes message. Does not implicitly {@link google.privacy.dlp.v2.ExcludeInfoTypes.verify|verify} messages.
+ * @param message ExcludeInfoTypes message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IExcludeInfoTypes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExcludeInfoTypes message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ExcludeInfoTypes.verify|verify} messages.
+ * @param message ExcludeInfoTypes message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IExcludeInfoTypes, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExcludeInfoTypes message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExcludeInfoTypes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ExcludeInfoTypes;
+
+ /**
+ * Decodes an ExcludeInfoTypes message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExcludeInfoTypes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ExcludeInfoTypes;
+
+ /**
+ * Verifies an ExcludeInfoTypes message.
+ * @param message Plain 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 ExcludeInfoTypes message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExcludeInfoTypes
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ExcludeInfoTypes;
+
+ /**
+ * Creates a plain object from an ExcludeInfoTypes message. Also converts values to other types if specified.
+ * @param message ExcludeInfoTypes
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ExcludeInfoTypes, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExcludeInfoTypes to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an ExclusionRule. */
+ interface IExclusionRule {
+
+ /** ExclusionRule dictionary */
+ dictionary?: (google.privacy.dlp.v2.CustomInfoType.IDictionary|null);
+
+ /** ExclusionRule regex */
+ regex?: (google.privacy.dlp.v2.CustomInfoType.IRegex|null);
+
+ /** ExclusionRule excludeInfoTypes */
+ excludeInfoTypes?: (google.privacy.dlp.v2.IExcludeInfoTypes|null);
+
+ /** ExclusionRule matchingType */
+ matchingType?: (google.privacy.dlp.v2.MatchingType|keyof typeof google.privacy.dlp.v2.MatchingType|null);
+ }
+
+ /** Represents an ExclusionRule. */
+ class ExclusionRule implements IExclusionRule {
+
+ /**
+ * Constructs a new ExclusionRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IExclusionRule);
+
+ /** ExclusionRule dictionary. */
+ public dictionary?: (google.privacy.dlp.v2.CustomInfoType.IDictionary|null);
+
+ /** ExclusionRule regex. */
+ public regex?: (google.privacy.dlp.v2.CustomInfoType.IRegex|null);
+
+ /** ExclusionRule excludeInfoTypes. */
+ public excludeInfoTypes?: (google.privacy.dlp.v2.IExcludeInfoTypes|null);
+
+ /** ExclusionRule matchingType. */
+ public matchingType: (google.privacy.dlp.v2.MatchingType|keyof typeof google.privacy.dlp.v2.MatchingType);
+
+ /** ExclusionRule type. */
+ public type?: ("dictionary"|"regex"|"excludeInfoTypes");
+
+ /**
+ * Creates a new ExclusionRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ExclusionRule instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IExclusionRule): google.privacy.dlp.v2.ExclusionRule;
+
+ /**
+ * Encodes the specified ExclusionRule message. Does not implicitly {@link google.privacy.dlp.v2.ExclusionRule.verify|verify} messages.
+ * @param message ExclusionRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IExclusionRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ExclusionRule message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ExclusionRule.verify|verify} messages.
+ * @param message ExclusionRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IExclusionRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ExclusionRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ExclusionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ExclusionRule;
+
+ /**
+ * Decodes an ExclusionRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ExclusionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ExclusionRule;
+
+ /**
+ * Verifies an ExclusionRule message.
+ * @param message Plain 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 ExclusionRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ExclusionRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ExclusionRule;
+
+ /**
+ * Creates a plain object from an ExclusionRule message. Also converts values to other types if specified.
+ * @param message ExclusionRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ExclusionRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ExclusionRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an InspectionRule. */
+ interface IInspectionRule {
+
+ /** InspectionRule hotwordRule */
+ hotwordRule?: (google.privacy.dlp.v2.CustomInfoType.DetectionRule.IHotwordRule|null);
+
+ /** InspectionRule exclusionRule */
+ exclusionRule?: (google.privacy.dlp.v2.IExclusionRule|null);
+ }
+
+ /** Represents an InspectionRule. */
+ class InspectionRule implements IInspectionRule {
+
+ /**
+ * Constructs a new InspectionRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IInspectionRule);
+
+ /** InspectionRule hotwordRule. */
+ public hotwordRule?: (google.privacy.dlp.v2.CustomInfoType.DetectionRule.IHotwordRule|null);
+
+ /** InspectionRule exclusionRule. */
+ public exclusionRule?: (google.privacy.dlp.v2.IExclusionRule|null);
+
+ /** InspectionRule type. */
+ public type?: ("hotwordRule"|"exclusionRule");
+
+ /**
+ * Creates a new InspectionRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InspectionRule instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IInspectionRule): google.privacy.dlp.v2.InspectionRule;
+
+ /**
+ * Encodes the specified InspectionRule message. Does not implicitly {@link google.privacy.dlp.v2.InspectionRule.verify|verify} messages.
+ * @param message InspectionRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IInspectionRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InspectionRule message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectionRule.verify|verify} messages.
+ * @param message InspectionRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IInspectionRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InspectionRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InspectionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InspectionRule;
+
+ /**
+ * Decodes an InspectionRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InspectionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InspectionRule;
+
+ /**
+ * Verifies an InspectionRule message.
+ * @param message Plain 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 InspectionRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InspectionRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InspectionRule;
+
+ /**
+ * Creates a plain object from an InspectionRule message. Also converts values to other types if specified.
+ * @param message InspectionRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InspectionRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InspectionRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an InspectionRuleSet. */
+ interface IInspectionRuleSet {
+
+ /** InspectionRuleSet infoTypes */
+ infoTypes?: (google.privacy.dlp.v2.IInfoType[]|null);
+
+ /** InspectionRuleSet rules */
+ rules?: (google.privacy.dlp.v2.IInspectionRule[]|null);
+ }
+
+ /** Represents an InspectionRuleSet. */
+ class InspectionRuleSet implements IInspectionRuleSet {
+
+ /**
+ * Constructs a new InspectionRuleSet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IInspectionRuleSet);
+
+ /** InspectionRuleSet infoTypes. */
+ public infoTypes: google.privacy.dlp.v2.IInfoType[];
+
+ /** InspectionRuleSet rules. */
+ public rules: google.privacy.dlp.v2.IInspectionRule[];
+
+ /**
+ * Creates a new InspectionRuleSet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InspectionRuleSet instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IInspectionRuleSet): google.privacy.dlp.v2.InspectionRuleSet;
+
+ /**
+ * Encodes the specified InspectionRuleSet message. Does not implicitly {@link google.privacy.dlp.v2.InspectionRuleSet.verify|verify} messages.
+ * @param message InspectionRuleSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IInspectionRuleSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InspectionRuleSet message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectionRuleSet.verify|verify} messages.
+ * @param message InspectionRuleSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IInspectionRuleSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InspectionRuleSet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InspectionRuleSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InspectionRuleSet;
+
+ /**
+ * Decodes an InspectionRuleSet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InspectionRuleSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InspectionRuleSet;
+
+ /**
+ * Verifies an InspectionRuleSet message.
+ * @param message Plain 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 InspectionRuleSet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InspectionRuleSet
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InspectionRuleSet;
+
+ /**
+ * Creates a plain object from an InspectionRuleSet message. Also converts values to other types if specified.
+ * @param message InspectionRuleSet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InspectionRuleSet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InspectionRuleSet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an InspectConfig. */
+ interface IInspectConfig {
+
+ /** InspectConfig infoTypes */
+ infoTypes?: (google.privacy.dlp.v2.IInfoType[]|null);
+
+ /** InspectConfig minLikelihood */
+ minLikelihood?: (google.privacy.dlp.v2.Likelihood|keyof typeof google.privacy.dlp.v2.Likelihood|null);
+
+ /** InspectConfig limits */
+ limits?: (google.privacy.dlp.v2.InspectConfig.IFindingLimits|null);
+
+ /** InspectConfig includeQuote */
+ includeQuote?: (boolean|null);
+
+ /** InspectConfig excludeInfoTypes */
+ excludeInfoTypes?: (boolean|null);
+
+ /** InspectConfig customInfoTypes */
+ customInfoTypes?: (google.privacy.dlp.v2.ICustomInfoType[]|null);
+
+ /** InspectConfig contentOptions */
+ contentOptions?: (google.privacy.dlp.v2.ContentOption[]|null);
+
+ /** InspectConfig ruleSet */
+ ruleSet?: (google.privacy.dlp.v2.IInspectionRuleSet[]|null);
+ }
+
+ /** Represents an InspectConfig. */
+ class InspectConfig implements IInspectConfig {
+
+ /**
+ * Constructs a new InspectConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IInspectConfig);
+
+ /** InspectConfig infoTypes. */
+ public infoTypes: google.privacy.dlp.v2.IInfoType[];
+
+ /** InspectConfig minLikelihood. */
+ public minLikelihood: (google.privacy.dlp.v2.Likelihood|keyof typeof google.privacy.dlp.v2.Likelihood);
+
+ /** InspectConfig limits. */
+ public limits?: (google.privacy.dlp.v2.InspectConfig.IFindingLimits|null);
+
+ /** InspectConfig includeQuote. */
+ public includeQuote: boolean;
+
+ /** InspectConfig excludeInfoTypes. */
+ public excludeInfoTypes: boolean;
+
+ /** InspectConfig customInfoTypes. */
+ public customInfoTypes: google.privacy.dlp.v2.ICustomInfoType[];
+
+ /** InspectConfig contentOptions. */
+ public contentOptions: google.privacy.dlp.v2.ContentOption[];
+
+ /** InspectConfig ruleSet. */
+ public ruleSet: google.privacy.dlp.v2.IInspectionRuleSet[];
+
+ /**
+ * Creates a new InspectConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InspectConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IInspectConfig): google.privacy.dlp.v2.InspectConfig;
+
+ /**
+ * Encodes the specified InspectConfig message. Does not implicitly {@link google.privacy.dlp.v2.InspectConfig.verify|verify} messages.
+ * @param message InspectConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IInspectConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InspectConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectConfig.verify|verify} messages.
+ * @param message InspectConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IInspectConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InspectConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InspectConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InspectConfig;
+
+ /**
+ * Decodes an InspectConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InspectConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InspectConfig;
+
+ /**
+ * Verifies an InspectConfig message.
+ * @param message Plain 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 InspectConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InspectConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InspectConfig;
+
+ /**
+ * Creates a plain object from an InspectConfig message. Also converts values to other types if specified.
+ * @param message InspectConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InspectConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InspectConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace InspectConfig {
+
+ /** Properties of a FindingLimits. */
+ interface IFindingLimits {
+
+ /** FindingLimits maxFindingsPerItem */
+ maxFindingsPerItem?: (number|null);
+
+ /** FindingLimits maxFindingsPerRequest */
+ maxFindingsPerRequest?: (number|null);
+
+ /** FindingLimits maxFindingsPerInfoType */
+ maxFindingsPerInfoType?: (google.privacy.dlp.v2.InspectConfig.FindingLimits.IInfoTypeLimit[]|null);
+ }
+
+ /** Represents a FindingLimits. */
+ class FindingLimits implements IFindingLimits {
+
+ /**
+ * Constructs a new FindingLimits.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.InspectConfig.IFindingLimits);
+
+ /** FindingLimits maxFindingsPerItem. */
+ public maxFindingsPerItem: number;
+
+ /** FindingLimits maxFindingsPerRequest. */
+ public maxFindingsPerRequest: number;
+
+ /** FindingLimits maxFindingsPerInfoType. */
+ public maxFindingsPerInfoType: google.privacy.dlp.v2.InspectConfig.FindingLimits.IInfoTypeLimit[];
+
+ /**
+ * Creates a new FindingLimits instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FindingLimits instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.InspectConfig.IFindingLimits): google.privacy.dlp.v2.InspectConfig.FindingLimits;
+
+ /**
+ * Encodes the specified FindingLimits message. Does not implicitly {@link google.privacy.dlp.v2.InspectConfig.FindingLimits.verify|verify} messages.
+ * @param message FindingLimits message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.InspectConfig.IFindingLimits, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FindingLimits message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectConfig.FindingLimits.verify|verify} messages.
+ * @param message FindingLimits message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.InspectConfig.IFindingLimits, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FindingLimits message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FindingLimits
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InspectConfig.FindingLimits;
+
+ /**
+ * Decodes a FindingLimits message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FindingLimits
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InspectConfig.FindingLimits;
+
+ /**
+ * Verifies a FindingLimits message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FindingLimits message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FindingLimits
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InspectConfig.FindingLimits;
+
+ /**
+ * Creates a plain object from a FindingLimits message. Also converts values to other types if specified.
+ * @param message FindingLimits
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InspectConfig.FindingLimits, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FindingLimits to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace FindingLimits {
+
+ /** Properties of an InfoTypeLimit. */
+ interface IInfoTypeLimit {
+
+ /** InfoTypeLimit infoType */
+ infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** InfoTypeLimit maxFindings */
+ maxFindings?: (number|null);
+ }
+
+ /** Represents an InfoTypeLimit. */
+ class InfoTypeLimit implements IInfoTypeLimit {
+
+ /**
+ * Constructs a new InfoTypeLimit.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.InspectConfig.FindingLimits.IInfoTypeLimit);
+
+ /** InfoTypeLimit infoType. */
+ public infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** InfoTypeLimit maxFindings. */
+ public maxFindings: number;
+
+ /**
+ * Creates a new InfoTypeLimit instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InfoTypeLimit instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.InspectConfig.FindingLimits.IInfoTypeLimit): google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit;
+
+ /**
+ * Encodes the specified InfoTypeLimit message. Does not implicitly {@link google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit.verify|verify} messages.
+ * @param message InfoTypeLimit message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.InspectConfig.FindingLimits.IInfoTypeLimit, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InfoTypeLimit message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit.verify|verify} messages.
+ * @param message InfoTypeLimit message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.InspectConfig.FindingLimits.IInfoTypeLimit, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InfoTypeLimit message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InfoTypeLimit
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit;
+
+ /**
+ * Decodes an InfoTypeLimit message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InfoTypeLimit
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit;
+
+ /**
+ * Verifies an InfoTypeLimit message.
+ * @param message Plain 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 InfoTypeLimit message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InfoTypeLimit
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit;
+
+ /**
+ * Creates a plain object from an InfoTypeLimit message. Also converts values to other types if specified.
+ * @param message InfoTypeLimit
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InfoTypeLimit to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+ }
+
+ /** Properties of a ByteContentItem. */
+ interface IByteContentItem {
+
+ /** ByteContentItem type */
+ type?: (google.privacy.dlp.v2.ByteContentItem.BytesType|keyof typeof google.privacy.dlp.v2.ByteContentItem.BytesType|null);
+
+ /** ByteContentItem data */
+ data?: (Uint8Array|string|null);
+ }
+
+ /** Represents a ByteContentItem. */
+ class ByteContentItem implements IByteContentItem {
+
+ /**
+ * Constructs a new ByteContentItem.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IByteContentItem);
+
+ /** ByteContentItem type. */
+ public type: (google.privacy.dlp.v2.ByteContentItem.BytesType|keyof typeof google.privacy.dlp.v2.ByteContentItem.BytesType);
+
+ /** ByteContentItem data. */
+ public data: (Uint8Array|string);
+
+ /**
+ * Creates a new ByteContentItem instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ByteContentItem instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IByteContentItem): google.privacy.dlp.v2.ByteContentItem;
+
+ /**
+ * Encodes the specified ByteContentItem message. Does not implicitly {@link google.privacy.dlp.v2.ByteContentItem.verify|verify} messages.
+ * @param message ByteContentItem message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IByteContentItem, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ByteContentItem message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ByteContentItem.verify|verify} messages.
+ * @param message ByteContentItem message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IByteContentItem, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ByteContentItem message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ByteContentItem
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ByteContentItem;
+
+ /**
+ * Decodes a ByteContentItem message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ByteContentItem
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ByteContentItem;
+
+ /**
+ * Verifies a ByteContentItem message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ByteContentItem message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ByteContentItem
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ByteContentItem;
+
+ /**
+ * Creates a plain object from a ByteContentItem message. Also converts values to other types if specified.
+ * @param message ByteContentItem
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ByteContentItem, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ByteContentItem to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace ByteContentItem {
+
+ /** BytesType enum. */
+ enum BytesType {
+ BYTES_TYPE_UNSPECIFIED = 0,
+ IMAGE = 6,
+ IMAGE_JPEG = 1,
+ IMAGE_BMP = 2,
+ IMAGE_PNG = 3,
+ IMAGE_SVG = 4,
+ TEXT_UTF8 = 5,
+ WORD_DOCUMENT = 7,
+ PDF = 8,
+ AVRO = 11,
+ CSV = 12,
+ TSV = 13
+ }
+ }
+
+ /** Properties of a ContentItem. */
+ interface IContentItem {
+
+ /** ContentItem value */
+ value?: (string|null);
+
+ /** ContentItem table */
+ table?: (google.privacy.dlp.v2.ITable|null);
+
+ /** ContentItem byteItem */
+ byteItem?: (google.privacy.dlp.v2.IByteContentItem|null);
+ }
+
+ /** Represents a ContentItem. */
+ class ContentItem implements IContentItem {
+
+ /**
+ * Constructs a new ContentItem.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IContentItem);
+
+ /** ContentItem value. */
+ public value: string;
+
+ /** ContentItem table. */
+ public table?: (google.privacy.dlp.v2.ITable|null);
+
+ /** ContentItem byteItem. */
+ public byteItem?: (google.privacy.dlp.v2.IByteContentItem|null);
+
+ /** ContentItem dataItem. */
+ public dataItem?: ("value"|"table"|"byteItem");
+
+ /**
+ * Creates a new ContentItem instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ContentItem instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IContentItem): google.privacy.dlp.v2.ContentItem;
+
+ /**
+ * Encodes the specified ContentItem message. Does not implicitly {@link google.privacy.dlp.v2.ContentItem.verify|verify} messages.
+ * @param message ContentItem message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IContentItem, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ContentItem message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ContentItem.verify|verify} messages.
+ * @param message ContentItem message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IContentItem, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ContentItem message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ContentItem
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ContentItem;
+
+ /**
+ * Decodes a ContentItem message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ContentItem
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ContentItem;
+
+ /**
+ * Verifies a ContentItem message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ContentItem message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ContentItem
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ContentItem;
+
+ /**
+ * Creates a plain object from a ContentItem message. Also converts values to other types if specified.
+ * @param message ContentItem
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ContentItem, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ContentItem to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a Table. */
+ interface ITable {
+
+ /** Table headers */
+ headers?: (google.privacy.dlp.v2.IFieldId[]|null);
+
+ /** Table rows */
+ rows?: (google.privacy.dlp.v2.Table.IRow[]|null);
+ }
+
+ /** Represents a Table. */
+ class Table implements ITable {
+
+ /**
+ * Constructs a new Table.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ITable);
+
+ /** Table headers. */
+ public headers: google.privacy.dlp.v2.IFieldId[];
+
+ /** Table rows. */
+ public rows: google.privacy.dlp.v2.Table.IRow[];
+
+ /**
+ * Creates a new Table instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Table instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ITable): google.privacy.dlp.v2.Table;
+
+ /**
+ * Encodes the specified Table message. Does not implicitly {@link google.privacy.dlp.v2.Table.verify|verify} messages.
+ * @param message Table message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ITable, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Table message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Table.verify|verify} messages.
+ * @param message Table message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ITable, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Table message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Table
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Table;
+
+ /**
+ * Decodes a Table message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Table
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Table;
+
+ /**
+ * Verifies a Table message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Table message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Table
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Table;
+
+ /**
+ * Creates a plain object from a Table message. Also converts values to other types if specified.
+ * @param message Table
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Table, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Table to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace Table {
+
+ /** Properties of a Row. */
+ interface IRow {
+
+ /** Row values */
+ values?: (google.privacy.dlp.v2.IValue[]|null);
+ }
+
+ /** Represents a Row. */
+ class Row implements IRow {
+
+ /**
+ * Constructs a new Row.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.Table.IRow);
+
+ /** Row values. */
+ public values: google.privacy.dlp.v2.IValue[];
+
+ /**
+ * Creates a new Row instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Row instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.Table.IRow): google.privacy.dlp.v2.Table.Row;
+
+ /**
+ * Encodes the specified Row message. Does not implicitly {@link google.privacy.dlp.v2.Table.Row.verify|verify} messages.
+ * @param message Row message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.Table.IRow, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Row message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Table.Row.verify|verify} messages.
+ * @param message Row message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.Table.IRow, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Row message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Row
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Table.Row;
+
+ /**
+ * Decodes a Row message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Row
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Table.Row;
+
+ /**
+ * Verifies a Row message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Row message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Row
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Table.Row;
+
+ /**
+ * Creates a plain object from a Row message. Also converts values to other types if specified.
+ * @param message Row
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Table.Row, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Row to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of an InspectResult. */
+ interface IInspectResult {
+
+ /** InspectResult findings */
+ findings?: (google.privacy.dlp.v2.IFinding[]|null);
+
+ /** InspectResult findingsTruncated */
+ findingsTruncated?: (boolean|null);
+ }
+
+ /** Represents an InspectResult. */
+ class InspectResult implements IInspectResult {
+
+ /**
+ * Constructs a new InspectResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IInspectResult);
+
+ /** InspectResult findings. */
+ public findings: google.privacy.dlp.v2.IFinding[];
+
+ /** InspectResult findingsTruncated. */
+ public findingsTruncated: boolean;
+
+ /**
+ * Creates a new InspectResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InspectResult instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IInspectResult): google.privacy.dlp.v2.InspectResult;
+
+ /**
+ * Encodes the specified InspectResult message. Does not implicitly {@link google.privacy.dlp.v2.InspectResult.verify|verify} messages.
+ * @param message InspectResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IInspectResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InspectResult message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectResult.verify|verify} messages.
+ * @param message InspectResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IInspectResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InspectResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InspectResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InspectResult;
+
+ /**
+ * Decodes an InspectResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InspectResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InspectResult;
+
+ /**
+ * Verifies an InspectResult message.
+ * @param message Plain 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 InspectResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InspectResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InspectResult;
+
+ /**
+ * Creates a plain object from an InspectResult message. Also converts values to other types if specified.
+ * @param message InspectResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InspectResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InspectResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a Finding. */
+ interface IFinding {
+
+ /** Finding name */
+ name?: (string|null);
+
+ /** Finding quote */
+ quote?: (string|null);
+
+ /** Finding infoType */
+ infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** Finding likelihood */
+ likelihood?: (google.privacy.dlp.v2.Likelihood|keyof typeof google.privacy.dlp.v2.Likelihood|null);
+
+ /** Finding location */
+ location?: (google.privacy.dlp.v2.ILocation|null);
+
+ /** Finding createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Finding quoteInfo */
+ quoteInfo?: (google.privacy.dlp.v2.IQuoteInfo|null);
+
+ /** Finding resourceName */
+ resourceName?: (string|null);
+
+ /** Finding triggerName */
+ triggerName?: (string|null);
+
+ /** Finding labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** Finding jobCreateTime */
+ jobCreateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Finding jobName */
+ jobName?: (string|null);
+ }
+
+ /** Represents a Finding. */
+ class Finding implements IFinding {
+
+ /**
+ * Constructs a new Finding.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IFinding);
+
+ /** Finding name. */
+ public name: string;
+
+ /** Finding quote. */
+ public quote: string;
+
+ /** Finding infoType. */
+ public infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** Finding likelihood. */
+ public likelihood: (google.privacy.dlp.v2.Likelihood|keyof typeof google.privacy.dlp.v2.Likelihood);
+
+ /** Finding location. */
+ public location?: (google.privacy.dlp.v2.ILocation|null);
+
+ /** Finding createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Finding quoteInfo. */
+ public quoteInfo?: (google.privacy.dlp.v2.IQuoteInfo|null);
+
+ /** Finding resourceName. */
+ public resourceName: string;
+
+ /** Finding triggerName. */
+ public triggerName: string;
+
+ /** Finding labels. */
+ public labels: { [k: string]: string };
+
+ /** Finding jobCreateTime. */
+ public jobCreateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Finding jobName. */
+ public jobName: string;
+
+ /**
+ * Creates a new Finding instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Finding instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IFinding): google.privacy.dlp.v2.Finding;
+
+ /**
+ * Encodes the specified Finding message. Does not implicitly {@link google.privacy.dlp.v2.Finding.verify|verify} messages.
+ * @param message Finding message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IFinding, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Finding message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Finding.verify|verify} messages.
+ * @param message Finding message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IFinding, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Finding message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Finding
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Finding;
+
+ /**
+ * Decodes a Finding message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Finding
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Finding;
+
+ /**
+ * Verifies a Finding message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Finding message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Finding
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Finding;
+
+ /**
+ * Creates a plain object from a Finding message. Also converts values to other types if specified.
+ * @param message Finding
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Finding, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Finding to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a Location. */
+ interface ILocation {
+
+ /** Location byteRange */
+ byteRange?: (google.privacy.dlp.v2.IRange|null);
+
+ /** Location codepointRange */
+ codepointRange?: (google.privacy.dlp.v2.IRange|null);
+
+ /** Location contentLocations */
+ contentLocations?: (google.privacy.dlp.v2.IContentLocation[]|null);
+
+ /** Location container */
+ container?: (google.privacy.dlp.v2.IContainer|null);
+ }
+
+ /** Represents a Location. */
+ class Location implements ILocation {
+
+ /**
+ * Constructs a new Location.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ILocation);
+
+ /** Location byteRange. */
+ public byteRange?: (google.privacy.dlp.v2.IRange|null);
+
+ /** Location codepointRange. */
+ public codepointRange?: (google.privacy.dlp.v2.IRange|null);
+
+ /** Location contentLocations. */
+ public contentLocations: google.privacy.dlp.v2.IContentLocation[];
+
+ /** Location container. */
+ public container?: (google.privacy.dlp.v2.IContainer|null);
+
+ /**
+ * Creates a new Location instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Location instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ILocation): google.privacy.dlp.v2.Location;
+
+ /**
+ * Encodes the specified Location message. Does not implicitly {@link google.privacy.dlp.v2.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.privacy.dlp.v2.ILocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Location message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.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.privacy.dlp.v2.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.privacy.dlp.v2.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.privacy.dlp.v2.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.privacy.dlp.v2.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.privacy.dlp.v2.Location, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Location to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ContentLocation. */
+ interface IContentLocation {
+
+ /** ContentLocation containerName */
+ containerName?: (string|null);
+
+ /** ContentLocation recordLocation */
+ recordLocation?: (google.privacy.dlp.v2.IRecordLocation|null);
+
+ /** ContentLocation imageLocation */
+ imageLocation?: (google.privacy.dlp.v2.IImageLocation|null);
+
+ /** ContentLocation documentLocation */
+ documentLocation?: (google.privacy.dlp.v2.IDocumentLocation|null);
+
+ /** ContentLocation metadataLocation */
+ metadataLocation?: (google.privacy.dlp.v2.IMetadataLocation|null);
+
+ /** ContentLocation containerTimestamp */
+ containerTimestamp?: (google.protobuf.ITimestamp|null);
+
+ /** ContentLocation containerVersion */
+ containerVersion?: (string|null);
+ }
+
+ /** Represents a ContentLocation. */
+ class ContentLocation implements IContentLocation {
+
+ /**
+ * Constructs a new ContentLocation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IContentLocation);
+
+ /** ContentLocation containerName. */
+ public containerName: string;
+
+ /** ContentLocation recordLocation. */
+ public recordLocation?: (google.privacy.dlp.v2.IRecordLocation|null);
+
+ /** ContentLocation imageLocation. */
+ public imageLocation?: (google.privacy.dlp.v2.IImageLocation|null);
+
+ /** ContentLocation documentLocation. */
+ public documentLocation?: (google.privacy.dlp.v2.IDocumentLocation|null);
+
+ /** ContentLocation metadataLocation. */
+ public metadataLocation?: (google.privacy.dlp.v2.IMetadataLocation|null);
+
+ /** ContentLocation containerTimestamp. */
+ public containerTimestamp?: (google.protobuf.ITimestamp|null);
+
+ /** ContentLocation containerVersion. */
+ public containerVersion: string;
+
+ /** ContentLocation location. */
+ public location?: ("recordLocation"|"imageLocation"|"documentLocation"|"metadataLocation");
+
+ /**
+ * Creates a new ContentLocation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ContentLocation instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IContentLocation): google.privacy.dlp.v2.ContentLocation;
+
+ /**
+ * Encodes the specified ContentLocation message. Does not implicitly {@link google.privacy.dlp.v2.ContentLocation.verify|verify} messages.
+ * @param message ContentLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IContentLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ContentLocation message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ContentLocation.verify|verify} messages.
+ * @param message ContentLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IContentLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ContentLocation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ContentLocation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ContentLocation;
+
+ /**
+ * Decodes a ContentLocation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ContentLocation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ContentLocation;
+
+ /**
+ * Verifies a ContentLocation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ContentLocation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ContentLocation
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ContentLocation;
+
+ /**
+ * Creates a plain object from a ContentLocation message. Also converts values to other types if specified.
+ * @param message ContentLocation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ContentLocation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ContentLocation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a MetadataLocation. */
+ interface IMetadataLocation {
+
+ /** MetadataLocation type */
+ type?: (google.privacy.dlp.v2.MetadataType|keyof typeof google.privacy.dlp.v2.MetadataType|null);
+
+ /** MetadataLocation storageLabel */
+ storageLabel?: (google.privacy.dlp.v2.IStorageMetadataLabel|null);
+ }
+
+ /** Represents a MetadataLocation. */
+ class MetadataLocation implements IMetadataLocation {
+
+ /**
+ * Constructs a new MetadataLocation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IMetadataLocation);
+
+ /** MetadataLocation type. */
+ public type: (google.privacy.dlp.v2.MetadataType|keyof typeof google.privacy.dlp.v2.MetadataType);
+
+ /** MetadataLocation storageLabel. */
+ public storageLabel?: (google.privacy.dlp.v2.IStorageMetadataLabel|null);
+
+ /** MetadataLocation label. */
+ public label?: "storageLabel";
+
+ /**
+ * Creates a new MetadataLocation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MetadataLocation instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IMetadataLocation): google.privacy.dlp.v2.MetadataLocation;
+
+ /**
+ * Encodes the specified MetadataLocation message. Does not implicitly {@link google.privacy.dlp.v2.MetadataLocation.verify|verify} messages.
+ * @param message MetadataLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IMetadataLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MetadataLocation message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.MetadataLocation.verify|verify} messages.
+ * @param message MetadataLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IMetadataLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MetadataLocation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MetadataLocation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.MetadataLocation;
+
+ /**
+ * Decodes a MetadataLocation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MetadataLocation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.MetadataLocation;
+
+ /**
+ * Verifies a MetadataLocation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MetadataLocation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MetadataLocation
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.MetadataLocation;
+
+ /**
+ * Creates a plain object from a MetadataLocation message. Also converts values to other types if specified.
+ * @param message MetadataLocation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.MetadataLocation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MetadataLocation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a StorageMetadataLabel. */
+ interface IStorageMetadataLabel {
+
+ /** StorageMetadataLabel key */
+ key?: (string|null);
+ }
+
+ /** Represents a StorageMetadataLabel. */
+ class StorageMetadataLabel implements IStorageMetadataLabel {
+
+ /**
+ * Constructs a new StorageMetadataLabel.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IStorageMetadataLabel);
+
+ /** StorageMetadataLabel key. */
+ public key: string;
+
+ /**
+ * Creates a new StorageMetadataLabel instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StorageMetadataLabel instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IStorageMetadataLabel): google.privacy.dlp.v2.StorageMetadataLabel;
+
+ /**
+ * Encodes the specified StorageMetadataLabel message. Does not implicitly {@link google.privacy.dlp.v2.StorageMetadataLabel.verify|verify} messages.
+ * @param message StorageMetadataLabel message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IStorageMetadataLabel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StorageMetadataLabel message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.StorageMetadataLabel.verify|verify} messages.
+ * @param message StorageMetadataLabel message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IStorageMetadataLabel, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StorageMetadataLabel message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StorageMetadataLabel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.StorageMetadataLabel;
+
+ /**
+ * Decodes a StorageMetadataLabel message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StorageMetadataLabel
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.StorageMetadataLabel;
+
+ /**
+ * Verifies a StorageMetadataLabel message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StorageMetadataLabel message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StorageMetadataLabel
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.StorageMetadataLabel;
+
+ /**
+ * Creates a plain object from a StorageMetadataLabel message. Also converts values to other types if specified.
+ * @param message StorageMetadataLabel
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.StorageMetadataLabel, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StorageMetadataLabel to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DocumentLocation. */
+ interface IDocumentLocation {
+
+ /** DocumentLocation fileOffset */
+ fileOffset?: (number|Long|string|null);
+ }
+
+ /** Represents a DocumentLocation. */
+ class DocumentLocation implements IDocumentLocation {
+
+ /**
+ * Constructs a new DocumentLocation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IDocumentLocation);
+
+ /** DocumentLocation fileOffset. */
+ public fileOffset: (number|Long|string);
+
+ /**
+ * Creates a new DocumentLocation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DocumentLocation instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IDocumentLocation): google.privacy.dlp.v2.DocumentLocation;
+
+ /**
+ * Encodes the specified DocumentLocation message. Does not implicitly {@link google.privacy.dlp.v2.DocumentLocation.verify|verify} messages.
+ * @param message DocumentLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IDocumentLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DocumentLocation message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DocumentLocation.verify|verify} messages.
+ * @param message DocumentLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IDocumentLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DocumentLocation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DocumentLocation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DocumentLocation;
+
+ /**
+ * Decodes a DocumentLocation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DocumentLocation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DocumentLocation;
+
+ /**
+ * Verifies a DocumentLocation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DocumentLocation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DocumentLocation
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DocumentLocation;
+
+ /**
+ * Creates a plain object from a DocumentLocation message. Also converts values to other types if specified.
+ * @param message DocumentLocation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DocumentLocation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DocumentLocation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a RecordLocation. */
+ interface IRecordLocation {
+
+ /** RecordLocation recordKey */
+ recordKey?: (google.privacy.dlp.v2.IRecordKey|null);
+
+ /** RecordLocation fieldId */
+ fieldId?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** RecordLocation tableLocation */
+ tableLocation?: (google.privacy.dlp.v2.ITableLocation|null);
+ }
+
+ /** Represents a RecordLocation. */
+ class RecordLocation implements IRecordLocation {
+
+ /**
+ * Constructs a new RecordLocation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IRecordLocation);
+
+ /** RecordLocation recordKey. */
+ public recordKey?: (google.privacy.dlp.v2.IRecordKey|null);
+
+ /** RecordLocation fieldId. */
+ public fieldId?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** RecordLocation tableLocation. */
+ public tableLocation?: (google.privacy.dlp.v2.ITableLocation|null);
+
+ /**
+ * Creates a new RecordLocation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RecordLocation instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IRecordLocation): google.privacy.dlp.v2.RecordLocation;
+
+ /**
+ * Encodes the specified RecordLocation message. Does not implicitly {@link google.privacy.dlp.v2.RecordLocation.verify|verify} messages.
+ * @param message RecordLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IRecordLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RecordLocation message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.RecordLocation.verify|verify} messages.
+ * @param message RecordLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IRecordLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RecordLocation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RecordLocation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.RecordLocation;
+
+ /**
+ * Decodes a RecordLocation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RecordLocation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.RecordLocation;
+
+ /**
+ * Verifies a RecordLocation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RecordLocation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RecordLocation
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.RecordLocation;
+
+ /**
+ * Creates a plain object from a RecordLocation message. Also converts values to other types if specified.
+ * @param message RecordLocation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.RecordLocation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RecordLocation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a TableLocation. */
+ interface ITableLocation {
+
+ /** TableLocation rowIndex */
+ rowIndex?: (number|Long|string|null);
+ }
+
+ /** Represents a TableLocation. */
+ class TableLocation implements ITableLocation {
+
+ /**
+ * Constructs a new TableLocation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ITableLocation);
+
+ /** TableLocation rowIndex. */
+ public rowIndex: (number|Long|string);
+
+ /**
+ * Creates a new TableLocation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TableLocation instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ITableLocation): google.privacy.dlp.v2.TableLocation;
+
+ /**
+ * Encodes the specified TableLocation message. Does not implicitly {@link google.privacy.dlp.v2.TableLocation.verify|verify} messages.
+ * @param message TableLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ITableLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TableLocation message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.TableLocation.verify|verify} messages.
+ * @param message TableLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ITableLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TableLocation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TableLocation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.TableLocation;
+
+ /**
+ * Decodes a TableLocation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TableLocation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.TableLocation;
+
+ /**
+ * Verifies a TableLocation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TableLocation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TableLocation
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.TableLocation;
+
+ /**
+ * Creates a plain object from a TableLocation message. Also converts values to other types if specified.
+ * @param message TableLocation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.TableLocation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TableLocation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a Container. */
+ interface IContainer {
+
+ /** Container type */
+ type?: (string|null);
+
+ /** Container projectId */
+ projectId?: (string|null);
+
+ /** Container fullPath */
+ fullPath?: (string|null);
+
+ /** Container rootPath */
+ rootPath?: (string|null);
+
+ /** Container relativePath */
+ relativePath?: (string|null);
+
+ /** Container updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Container version */
+ version?: (string|null);
+ }
+
+ /** Represents a Container. */
+ class Container implements IContainer {
+
+ /**
+ * Constructs a new Container.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IContainer);
+
+ /** Container type. */
+ public type: string;
+
+ /** Container projectId. */
+ public projectId: string;
+
+ /** Container fullPath. */
+ public fullPath: string;
+
+ /** Container rootPath. */
+ public rootPath: string;
+
+ /** Container relativePath. */
+ public relativePath: string;
+
+ /** Container updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Container version. */
+ public version: string;
+
+ /**
+ * Creates a new Container instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Container instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IContainer): google.privacy.dlp.v2.Container;
+
+ /**
+ * Encodes the specified Container message. Does not implicitly {@link google.privacy.dlp.v2.Container.verify|verify} messages.
+ * @param message Container message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IContainer, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Container message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Container.verify|verify} messages.
+ * @param message Container message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IContainer, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Container message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Container
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Container;
+
+ /**
+ * Decodes a Container message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Container
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Container;
+
+ /**
+ * Verifies a Container message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Container message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Container
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Container;
+
+ /**
+ * Creates a plain object from a Container message. Also converts values to other types if specified.
+ * @param message Container
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Container, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Container to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a Range. */
+ interface IRange {
+
+ /** Range start */
+ start?: (number|Long|string|null);
+
+ /** Range end */
+ end?: (number|Long|string|null);
+ }
+
+ /** Represents a Range. */
+ class Range implements IRange {
+
+ /**
+ * Constructs a new Range.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IRange);
+
+ /** Range start. */
+ public start: (number|Long|string);
+
+ /** Range end. */
+ public end: (number|Long|string);
+
+ /**
+ * Creates a new Range instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Range instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IRange): google.privacy.dlp.v2.Range;
+
+ /**
+ * Encodes the specified Range message. Does not implicitly {@link google.privacy.dlp.v2.Range.verify|verify} messages.
+ * @param message Range message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Range message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Range.verify|verify} messages.
+ * @param message Range message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Range message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Range
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Range;
+
+ /**
+ * Decodes a Range message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Range
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Range;
+
+ /**
+ * Verifies a Range message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Range message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Range
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Range;
+
+ /**
+ * Creates a plain object from a Range message. Also converts values to other types if specified.
+ * @param message Range
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Range, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Range to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an ImageLocation. */
+ interface IImageLocation {
+
+ /** ImageLocation boundingBoxes */
+ boundingBoxes?: (google.privacy.dlp.v2.IBoundingBox[]|null);
+ }
+
+ /** Represents an ImageLocation. */
+ class ImageLocation implements IImageLocation {
+
+ /**
+ * Constructs a new ImageLocation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IImageLocation);
+
+ /** ImageLocation boundingBoxes. */
+ public boundingBoxes: google.privacy.dlp.v2.IBoundingBox[];
+
+ /**
+ * Creates a new ImageLocation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImageLocation instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IImageLocation): google.privacy.dlp.v2.ImageLocation;
+
+ /**
+ * Encodes the specified ImageLocation message. Does not implicitly {@link google.privacy.dlp.v2.ImageLocation.verify|verify} messages.
+ * @param message ImageLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IImageLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImageLocation message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ImageLocation.verify|verify} messages.
+ * @param message ImageLocation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IImageLocation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImageLocation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImageLocation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ImageLocation;
+
+ /**
+ * Decodes an ImageLocation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImageLocation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ImageLocation;
+
+ /**
+ * Verifies an ImageLocation message.
+ * @param message Plain 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 ImageLocation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImageLocation
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ImageLocation;
+
+ /**
+ * Creates a plain object from an ImageLocation message. Also converts values to other types if specified.
+ * @param message ImageLocation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ImageLocation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImageLocation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a BoundingBox. */
+ interface IBoundingBox {
+
+ /** BoundingBox top */
+ top?: (number|null);
+
+ /** BoundingBox left */
+ left?: (number|null);
+
+ /** BoundingBox width */
+ width?: (number|null);
+
+ /** BoundingBox height */
+ height?: (number|null);
+ }
+
+ /** Represents a BoundingBox. */
+ class BoundingBox implements IBoundingBox {
+
+ /**
+ * Constructs a new BoundingBox.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IBoundingBox);
+
+ /** BoundingBox top. */
+ public top: number;
+
+ /** BoundingBox left. */
+ public left: number;
+
+ /** BoundingBox width. */
+ public width: number;
+
+ /** BoundingBox height. */
+ public height: number;
+
+ /**
+ * Creates a new BoundingBox instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BoundingBox instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IBoundingBox): google.privacy.dlp.v2.BoundingBox;
+
+ /**
+ * Encodes the specified BoundingBox message. Does not implicitly {@link google.privacy.dlp.v2.BoundingBox.verify|verify} messages.
+ * @param message BoundingBox message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BoundingBox message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.BoundingBox.verify|verify} messages.
+ * @param message BoundingBox message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IBoundingBox, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BoundingBox message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BoundingBox
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.BoundingBox;
+
+ /**
+ * Decodes a BoundingBox message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BoundingBox
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.BoundingBox;
+
+ /**
+ * Verifies a BoundingBox message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BoundingBox message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BoundingBox
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.BoundingBox;
+
+ /**
+ * Creates a plain object from a BoundingBox message. Also converts values to other types if specified.
+ * @param message BoundingBox
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.BoundingBox, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BoundingBox to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a RedactImageRequest. */
+ interface IRedactImageRequest {
+
+ /** RedactImageRequest parent */
+ parent?: (string|null);
+
+ /** RedactImageRequest locationId */
+ locationId?: (string|null);
+
+ /** RedactImageRequest inspectConfig */
+ inspectConfig?: (google.privacy.dlp.v2.IInspectConfig|null);
+
+ /** RedactImageRequest imageRedactionConfigs */
+ imageRedactionConfigs?: (google.privacy.dlp.v2.RedactImageRequest.IImageRedactionConfig[]|null);
+
+ /** RedactImageRequest includeFindings */
+ includeFindings?: (boolean|null);
+
+ /** RedactImageRequest byteItem */
+ byteItem?: (google.privacy.dlp.v2.IByteContentItem|null);
+ }
+
+ /** Represents a RedactImageRequest. */
+ class RedactImageRequest implements IRedactImageRequest {
+
+ /**
+ * Constructs a new RedactImageRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IRedactImageRequest);
+
+ /** RedactImageRequest parent. */
+ public parent: string;
+
+ /** RedactImageRequest locationId. */
+ public locationId: string;
+
+ /** RedactImageRequest inspectConfig. */
+ public inspectConfig?: (google.privacy.dlp.v2.IInspectConfig|null);
+
+ /** RedactImageRequest imageRedactionConfigs. */
+ public imageRedactionConfigs: google.privacy.dlp.v2.RedactImageRequest.IImageRedactionConfig[];
+
+ /** RedactImageRequest includeFindings. */
+ public includeFindings: boolean;
+
+ /** RedactImageRequest byteItem. */
+ public byteItem?: (google.privacy.dlp.v2.IByteContentItem|null);
+
+ /**
+ * Creates a new RedactImageRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RedactImageRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IRedactImageRequest): google.privacy.dlp.v2.RedactImageRequest;
+
+ /**
+ * Encodes the specified RedactImageRequest message. Does not implicitly {@link google.privacy.dlp.v2.RedactImageRequest.verify|verify} messages.
+ * @param message RedactImageRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IRedactImageRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RedactImageRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.RedactImageRequest.verify|verify} messages.
+ * @param message RedactImageRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IRedactImageRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RedactImageRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RedactImageRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.RedactImageRequest;
+
+ /**
+ * Decodes a RedactImageRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RedactImageRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.RedactImageRequest;
+
+ /**
+ * Verifies a RedactImageRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RedactImageRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RedactImageRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.RedactImageRequest;
+
+ /**
+ * Creates a plain object from a RedactImageRequest message. Also converts values to other types if specified.
+ * @param message RedactImageRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.RedactImageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RedactImageRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace RedactImageRequest {
+
+ /** Properties of an ImageRedactionConfig. */
+ interface IImageRedactionConfig {
+
+ /** ImageRedactionConfig infoType */
+ infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** ImageRedactionConfig redactAllText */
+ redactAllText?: (boolean|null);
+
+ /** ImageRedactionConfig redactionColor */
+ redactionColor?: (google.privacy.dlp.v2.IColor|null);
+ }
+
+ /** Represents an ImageRedactionConfig. */
+ class ImageRedactionConfig implements IImageRedactionConfig {
+
+ /**
+ * Constructs a new ImageRedactionConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.RedactImageRequest.IImageRedactionConfig);
+
+ /** ImageRedactionConfig infoType. */
+ public infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** ImageRedactionConfig redactAllText. */
+ public redactAllText: boolean;
+
+ /** ImageRedactionConfig redactionColor. */
+ public redactionColor?: (google.privacy.dlp.v2.IColor|null);
+
+ /** ImageRedactionConfig target. */
+ public target?: ("infoType"|"redactAllText");
+
+ /**
+ * Creates a new ImageRedactionConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImageRedactionConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.RedactImageRequest.IImageRedactionConfig): google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig;
+
+ /**
+ * Encodes the specified ImageRedactionConfig message. Does not implicitly {@link google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig.verify|verify} messages.
+ * @param message ImageRedactionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.RedactImageRequest.IImageRedactionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImageRedactionConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig.verify|verify} messages.
+ * @param message ImageRedactionConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.RedactImageRequest.IImageRedactionConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImageRedactionConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImageRedactionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig;
+
+ /**
+ * Decodes an ImageRedactionConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImageRedactionConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig;
+
+ /**
+ * Verifies an ImageRedactionConfig message.
+ * @param message Plain 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 ImageRedactionConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImageRedactionConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig;
+
+ /**
+ * Creates a plain object from an ImageRedactionConfig message. Also converts values to other types if specified.
+ * @param message ImageRedactionConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.RedactImageRequest.ImageRedactionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImageRedactionConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a Color. */
+ interface IColor {
+
+ /** Color red */
+ red?: (number|null);
+
+ /** Color green */
+ green?: (number|null);
+
+ /** Color blue */
+ blue?: (number|null);
+ }
+
+ /** Represents a Color. */
+ class Color implements IColor {
+
+ /**
+ * Constructs a new Color.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IColor);
+
+ /** Color red. */
+ public red: number;
+
+ /** Color green. */
+ public green: number;
+
+ /** Color blue. */
+ public blue: number;
+
+ /**
+ * Creates a new Color instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Color instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IColor): google.privacy.dlp.v2.Color;
+
+ /**
+ * Encodes the specified Color message. Does not implicitly {@link google.privacy.dlp.v2.Color.verify|verify} messages.
+ * @param message Color message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IColor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Color message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Color.verify|verify} messages.
+ * @param message Color message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IColor, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Color message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Color
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Color;
+
+ /**
+ * Decodes a Color message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Color
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Color;
+
+ /**
+ * Verifies a Color message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Color message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Color
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Color;
+
+ /**
+ * Creates a plain object from a Color message. Also converts values to other types if specified.
+ * @param message Color
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Color, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Color to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a RedactImageResponse. */
+ interface IRedactImageResponse {
+
+ /** RedactImageResponse redactedImage */
+ redactedImage?: (Uint8Array|string|null);
+
+ /** RedactImageResponse extractedText */
+ extractedText?: (string|null);
+
+ /** RedactImageResponse inspectResult */
+ inspectResult?: (google.privacy.dlp.v2.IInspectResult|null);
+ }
+
+ /** Represents a RedactImageResponse. */
+ class RedactImageResponse implements IRedactImageResponse {
+
+ /**
+ * Constructs a new RedactImageResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IRedactImageResponse);
+
+ /** RedactImageResponse redactedImage. */
+ public redactedImage: (Uint8Array|string);
+
+ /** RedactImageResponse extractedText. */
+ public extractedText: string;
+
+ /** RedactImageResponse inspectResult. */
+ public inspectResult?: (google.privacy.dlp.v2.IInspectResult|null);
+
+ /**
+ * Creates a new RedactImageResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RedactImageResponse instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IRedactImageResponse): google.privacy.dlp.v2.RedactImageResponse;
+
+ /**
+ * Encodes the specified RedactImageResponse message. Does not implicitly {@link google.privacy.dlp.v2.RedactImageResponse.verify|verify} messages.
+ * @param message RedactImageResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IRedactImageResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RedactImageResponse message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.RedactImageResponse.verify|verify} messages.
+ * @param message RedactImageResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IRedactImageResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RedactImageResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RedactImageResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.RedactImageResponse;
+
+ /**
+ * Decodes a RedactImageResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RedactImageResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.RedactImageResponse;
+
+ /**
+ * Verifies a RedactImageResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RedactImageResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RedactImageResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.RedactImageResponse;
+
+ /**
+ * Creates a plain object from a RedactImageResponse message. Also converts values to other types if specified.
+ * @param message RedactImageResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.RedactImageResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RedactImageResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DeidentifyContentRequest. */
+ interface IDeidentifyContentRequest {
+
+ /** DeidentifyContentRequest parent */
+ parent?: (string|null);
+
+ /** DeidentifyContentRequest deidentifyConfig */
+ deidentifyConfig?: (google.privacy.dlp.v2.IDeidentifyConfig|null);
+
+ /** DeidentifyContentRequest inspectConfig */
+ inspectConfig?: (google.privacy.dlp.v2.IInspectConfig|null);
+
+ /** DeidentifyContentRequest item */
+ item?: (google.privacy.dlp.v2.IContentItem|null);
+
+ /** DeidentifyContentRequest inspectTemplateName */
+ inspectTemplateName?: (string|null);
+
+ /** DeidentifyContentRequest deidentifyTemplateName */
+ deidentifyTemplateName?: (string|null);
+
+ /** DeidentifyContentRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents a DeidentifyContentRequest. */
+ class DeidentifyContentRequest implements IDeidentifyContentRequest {
+
+ /**
+ * Constructs a new DeidentifyContentRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IDeidentifyContentRequest);
+
+ /** DeidentifyContentRequest parent. */
+ public parent: string;
+
+ /** DeidentifyContentRequest deidentifyConfig. */
+ public deidentifyConfig?: (google.privacy.dlp.v2.IDeidentifyConfig|null);
+
+ /** DeidentifyContentRequest inspectConfig. */
+ public inspectConfig?: (google.privacy.dlp.v2.IInspectConfig|null);
+
+ /** DeidentifyContentRequest item. */
+ public item?: (google.privacy.dlp.v2.IContentItem|null);
+
+ /** DeidentifyContentRequest inspectTemplateName. */
+ public inspectTemplateName: string;
+
+ /** DeidentifyContentRequest deidentifyTemplateName. */
+ public deidentifyTemplateName: string;
+
+ /** DeidentifyContentRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new DeidentifyContentRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeidentifyContentRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IDeidentifyContentRequest): google.privacy.dlp.v2.DeidentifyContentRequest;
+
+ /**
+ * Encodes the specified DeidentifyContentRequest message. Does not implicitly {@link google.privacy.dlp.v2.DeidentifyContentRequest.verify|verify} messages.
+ * @param message DeidentifyContentRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IDeidentifyContentRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeidentifyContentRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DeidentifyContentRequest.verify|verify} messages.
+ * @param message DeidentifyContentRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IDeidentifyContentRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeidentifyContentRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeidentifyContentRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DeidentifyContentRequest;
+
+ /**
+ * Decodes a DeidentifyContentRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeidentifyContentRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DeidentifyContentRequest;
+
+ /**
+ * Verifies a DeidentifyContentRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeidentifyContentRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeidentifyContentRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DeidentifyContentRequest;
+
+ /**
+ * Creates a plain object from a DeidentifyContentRequest message. Also converts values to other types if specified.
+ * @param message DeidentifyContentRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DeidentifyContentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeidentifyContentRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DeidentifyContentResponse. */
+ interface IDeidentifyContentResponse {
+
+ /** DeidentifyContentResponse item */
+ item?: (google.privacy.dlp.v2.IContentItem|null);
+
+ /** DeidentifyContentResponse overview */
+ overview?: (google.privacy.dlp.v2.ITransformationOverview|null);
+ }
+
+ /** Represents a DeidentifyContentResponse. */
+ class DeidentifyContentResponse implements IDeidentifyContentResponse {
+
+ /**
+ * Constructs a new DeidentifyContentResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IDeidentifyContentResponse);
+
+ /** DeidentifyContentResponse item. */
+ public item?: (google.privacy.dlp.v2.IContentItem|null);
+
+ /** DeidentifyContentResponse overview. */
+ public overview?: (google.privacy.dlp.v2.ITransformationOverview|null);
+
+ /**
+ * Creates a new DeidentifyContentResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeidentifyContentResponse instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IDeidentifyContentResponse): google.privacy.dlp.v2.DeidentifyContentResponse;
+
+ /**
+ * Encodes the specified DeidentifyContentResponse message. Does not implicitly {@link google.privacy.dlp.v2.DeidentifyContentResponse.verify|verify} messages.
+ * @param message DeidentifyContentResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IDeidentifyContentResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeidentifyContentResponse message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DeidentifyContentResponse.verify|verify} messages.
+ * @param message DeidentifyContentResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IDeidentifyContentResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeidentifyContentResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeidentifyContentResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DeidentifyContentResponse;
+
+ /**
+ * Decodes a DeidentifyContentResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeidentifyContentResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DeidentifyContentResponse;
+
+ /**
+ * Verifies a DeidentifyContentResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeidentifyContentResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeidentifyContentResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DeidentifyContentResponse;
+
+ /**
+ * Creates a plain object from a DeidentifyContentResponse message. Also converts values to other types if specified.
+ * @param message DeidentifyContentResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DeidentifyContentResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeidentifyContentResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ReidentifyContentRequest. */
+ interface IReidentifyContentRequest {
+
+ /** ReidentifyContentRequest parent */
+ parent?: (string|null);
+
+ /** ReidentifyContentRequest reidentifyConfig */
+ reidentifyConfig?: (google.privacy.dlp.v2.IDeidentifyConfig|null);
+
+ /** ReidentifyContentRequest inspectConfig */
+ inspectConfig?: (google.privacy.dlp.v2.IInspectConfig|null);
+
+ /** ReidentifyContentRequest item */
+ item?: (google.privacy.dlp.v2.IContentItem|null);
+
+ /** ReidentifyContentRequest inspectTemplateName */
+ inspectTemplateName?: (string|null);
+
+ /** ReidentifyContentRequest reidentifyTemplateName */
+ reidentifyTemplateName?: (string|null);
+
+ /** ReidentifyContentRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents a ReidentifyContentRequest. */
+ class ReidentifyContentRequest implements IReidentifyContentRequest {
+
+ /**
+ * Constructs a new ReidentifyContentRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IReidentifyContentRequest);
+
+ /** ReidentifyContentRequest parent. */
+ public parent: string;
+
+ /** ReidentifyContentRequest reidentifyConfig. */
+ public reidentifyConfig?: (google.privacy.dlp.v2.IDeidentifyConfig|null);
+
+ /** ReidentifyContentRequest inspectConfig. */
+ public inspectConfig?: (google.privacy.dlp.v2.IInspectConfig|null);
+
+ /** ReidentifyContentRequest item. */
+ public item?: (google.privacy.dlp.v2.IContentItem|null);
+
+ /** ReidentifyContentRequest inspectTemplateName. */
+ public inspectTemplateName: string;
+
+ /** ReidentifyContentRequest reidentifyTemplateName. */
+ public reidentifyTemplateName: string;
+
+ /** ReidentifyContentRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new ReidentifyContentRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReidentifyContentRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IReidentifyContentRequest): google.privacy.dlp.v2.ReidentifyContentRequest;
+
+ /**
+ * Encodes the specified ReidentifyContentRequest message. Does not implicitly {@link google.privacy.dlp.v2.ReidentifyContentRequest.verify|verify} messages.
+ * @param message ReidentifyContentRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IReidentifyContentRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReidentifyContentRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ReidentifyContentRequest.verify|verify} messages.
+ * @param message ReidentifyContentRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IReidentifyContentRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReidentifyContentRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReidentifyContentRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ReidentifyContentRequest;
+
+ /**
+ * Decodes a ReidentifyContentRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReidentifyContentRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ReidentifyContentRequest;
+
+ /**
+ * Verifies a ReidentifyContentRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReidentifyContentRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReidentifyContentRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ReidentifyContentRequest;
+
+ /**
+ * Creates a plain object from a ReidentifyContentRequest message. Also converts values to other types if specified.
+ * @param message ReidentifyContentRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ReidentifyContentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReidentifyContentRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ReidentifyContentResponse. */
+ interface IReidentifyContentResponse {
+
+ /** ReidentifyContentResponse item */
+ item?: (google.privacy.dlp.v2.IContentItem|null);
+
+ /** ReidentifyContentResponse overview */
+ overview?: (google.privacy.dlp.v2.ITransformationOverview|null);
+ }
+
+ /** Represents a ReidentifyContentResponse. */
+ class ReidentifyContentResponse implements IReidentifyContentResponse {
+
+ /**
+ * Constructs a new ReidentifyContentResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IReidentifyContentResponse);
+
+ /** ReidentifyContentResponse item. */
+ public item?: (google.privacy.dlp.v2.IContentItem|null);
+
+ /** ReidentifyContentResponse overview. */
+ public overview?: (google.privacy.dlp.v2.ITransformationOverview|null);
+
+ /**
+ * Creates a new ReidentifyContentResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReidentifyContentResponse instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IReidentifyContentResponse): google.privacy.dlp.v2.ReidentifyContentResponse;
+
+ /**
+ * Encodes the specified ReidentifyContentResponse message. Does not implicitly {@link google.privacy.dlp.v2.ReidentifyContentResponse.verify|verify} messages.
+ * @param message ReidentifyContentResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IReidentifyContentResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReidentifyContentResponse message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ReidentifyContentResponse.verify|verify} messages.
+ * @param message ReidentifyContentResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IReidentifyContentResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReidentifyContentResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReidentifyContentResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ReidentifyContentResponse;
+
+ /**
+ * Decodes a ReidentifyContentResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReidentifyContentResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ReidentifyContentResponse;
+
+ /**
+ * Verifies a ReidentifyContentResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReidentifyContentResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReidentifyContentResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ReidentifyContentResponse;
+
+ /**
+ * Creates a plain object from a ReidentifyContentResponse message. Also converts values to other types if specified.
+ * @param message ReidentifyContentResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ReidentifyContentResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReidentifyContentResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an InspectContentRequest. */
+ interface IInspectContentRequest {
+
+ /** InspectContentRequest parent */
+ parent?: (string|null);
+
+ /** InspectContentRequest inspectConfig */
+ inspectConfig?: (google.privacy.dlp.v2.IInspectConfig|null);
+
+ /** InspectContentRequest item */
+ item?: (google.privacy.dlp.v2.IContentItem|null);
+
+ /** InspectContentRequest inspectTemplateName */
+ inspectTemplateName?: (string|null);
+
+ /** InspectContentRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents an InspectContentRequest. */
+ class InspectContentRequest implements IInspectContentRequest {
+
+ /**
+ * Constructs a new InspectContentRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IInspectContentRequest);
+
+ /** InspectContentRequest parent. */
+ public parent: string;
+
+ /** InspectContentRequest inspectConfig. */
+ public inspectConfig?: (google.privacy.dlp.v2.IInspectConfig|null);
+
+ /** InspectContentRequest item. */
+ public item?: (google.privacy.dlp.v2.IContentItem|null);
+
+ /** InspectContentRequest inspectTemplateName. */
+ public inspectTemplateName: string;
+
+ /** InspectContentRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new InspectContentRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InspectContentRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IInspectContentRequest): google.privacy.dlp.v2.InspectContentRequest;
+
+ /**
+ * Encodes the specified InspectContentRequest message. Does not implicitly {@link google.privacy.dlp.v2.InspectContentRequest.verify|verify} messages.
+ * @param message InspectContentRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IInspectContentRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InspectContentRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectContentRequest.verify|verify} messages.
+ * @param message InspectContentRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IInspectContentRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InspectContentRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InspectContentRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InspectContentRequest;
+
+ /**
+ * Decodes an InspectContentRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InspectContentRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InspectContentRequest;
+
+ /**
+ * Verifies an InspectContentRequest message.
+ * @param message Plain 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 InspectContentRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InspectContentRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InspectContentRequest;
+
+ /**
+ * Creates a plain object from an InspectContentRequest message. Also converts values to other types if specified.
+ * @param message InspectContentRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InspectContentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InspectContentRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an InspectContentResponse. */
+ interface IInspectContentResponse {
+
+ /** InspectContentResponse result */
+ result?: (google.privacy.dlp.v2.IInspectResult|null);
+ }
+
+ /** Represents an InspectContentResponse. */
+ class InspectContentResponse implements IInspectContentResponse {
+
+ /**
+ * Constructs a new InspectContentResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IInspectContentResponse);
+
+ /** InspectContentResponse result. */
+ public result?: (google.privacy.dlp.v2.IInspectResult|null);
+
+ /**
+ * Creates a new InspectContentResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InspectContentResponse instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IInspectContentResponse): google.privacy.dlp.v2.InspectContentResponse;
+
+ /**
+ * Encodes the specified InspectContentResponse message. Does not implicitly {@link google.privacy.dlp.v2.InspectContentResponse.verify|verify} messages.
+ * @param message InspectContentResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IInspectContentResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InspectContentResponse message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectContentResponse.verify|verify} messages.
+ * @param message InspectContentResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IInspectContentResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InspectContentResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InspectContentResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InspectContentResponse;
+
+ /**
+ * Decodes an InspectContentResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InspectContentResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InspectContentResponse;
+
+ /**
+ * Verifies an InspectContentResponse message.
+ * @param message Plain 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 InspectContentResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InspectContentResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InspectContentResponse;
+
+ /**
+ * Creates a plain object from an InspectContentResponse message. Also converts values to other types if specified.
+ * @param message InspectContentResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InspectContentResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InspectContentResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an OutputStorageConfig. */
+ interface IOutputStorageConfig {
+
+ /** OutputStorageConfig table */
+ table?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** OutputStorageConfig outputSchema */
+ outputSchema?: (google.privacy.dlp.v2.OutputStorageConfig.OutputSchema|keyof typeof google.privacy.dlp.v2.OutputStorageConfig.OutputSchema|null);
+ }
+
+ /** Represents an OutputStorageConfig. */
+ class OutputStorageConfig implements IOutputStorageConfig {
+
+ /**
+ * Constructs a new OutputStorageConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IOutputStorageConfig);
+
+ /** OutputStorageConfig table. */
+ public table?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** OutputStorageConfig outputSchema. */
+ public outputSchema: (google.privacy.dlp.v2.OutputStorageConfig.OutputSchema|keyof typeof google.privacy.dlp.v2.OutputStorageConfig.OutputSchema);
+
+ /** OutputStorageConfig type. */
+ public type?: "table";
+
+ /**
+ * Creates a new OutputStorageConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OutputStorageConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IOutputStorageConfig): google.privacy.dlp.v2.OutputStorageConfig;
+
+ /**
+ * Encodes the specified OutputStorageConfig message. Does not implicitly {@link google.privacy.dlp.v2.OutputStorageConfig.verify|verify} messages.
+ * @param message OutputStorageConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IOutputStorageConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OutputStorageConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.OutputStorageConfig.verify|verify} messages.
+ * @param message OutputStorageConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IOutputStorageConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OutputStorageConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OutputStorageConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.OutputStorageConfig;
+
+ /**
+ * Decodes an OutputStorageConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OutputStorageConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.OutputStorageConfig;
+
+ /**
+ * Verifies an OutputStorageConfig message.
+ * @param message Plain 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 OutputStorageConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OutputStorageConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.OutputStorageConfig;
+
+ /**
+ * Creates a plain object from an OutputStorageConfig message. Also converts values to other types if specified.
+ * @param message OutputStorageConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.OutputStorageConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OutputStorageConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace OutputStorageConfig {
+
+ /** OutputSchema enum. */
+ enum OutputSchema {
+ OUTPUT_SCHEMA_UNSPECIFIED = 0,
+ BASIC_COLUMNS = 1,
+ GCS_COLUMNS = 2,
+ DATASTORE_COLUMNS = 3,
+ BIG_QUERY_COLUMNS = 4,
+ ALL_COLUMNS = 5
+ }
+ }
+
+ /** Properties of an InfoTypeStats. */
+ interface IInfoTypeStats {
+
+ /** InfoTypeStats infoType */
+ infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** InfoTypeStats count */
+ count?: (number|Long|string|null);
+ }
+
+ /** Represents an InfoTypeStats. */
+ class InfoTypeStats implements IInfoTypeStats {
+
+ /**
+ * Constructs a new InfoTypeStats.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IInfoTypeStats);
+
+ /** InfoTypeStats infoType. */
+ public infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** InfoTypeStats count. */
+ public count: (number|Long|string);
+
+ /**
+ * Creates a new InfoTypeStats instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InfoTypeStats instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IInfoTypeStats): google.privacy.dlp.v2.InfoTypeStats;
+
+ /**
+ * Encodes the specified InfoTypeStats message. Does not implicitly {@link google.privacy.dlp.v2.InfoTypeStats.verify|verify} messages.
+ * @param message InfoTypeStats message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IInfoTypeStats, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InfoTypeStats message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InfoTypeStats.verify|verify} messages.
+ * @param message InfoTypeStats message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IInfoTypeStats, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InfoTypeStats message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InfoTypeStats
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InfoTypeStats;
+
+ /**
+ * Decodes an InfoTypeStats message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InfoTypeStats
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InfoTypeStats;
+
+ /**
+ * Verifies an InfoTypeStats message.
+ * @param message Plain 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 InfoTypeStats message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InfoTypeStats
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InfoTypeStats;
+
+ /**
+ * Creates a plain object from an InfoTypeStats message. Also converts values to other types if specified.
+ * @param message InfoTypeStats
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InfoTypeStats, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InfoTypeStats to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an InspectDataSourceDetails. */
+ interface IInspectDataSourceDetails {
+
+ /** InspectDataSourceDetails requestedOptions */
+ requestedOptions?: (google.privacy.dlp.v2.InspectDataSourceDetails.IRequestedOptions|null);
+
+ /** InspectDataSourceDetails result */
+ result?: (google.privacy.dlp.v2.InspectDataSourceDetails.IResult|null);
+ }
+
+ /** Represents an InspectDataSourceDetails. */
+ class InspectDataSourceDetails implements IInspectDataSourceDetails {
+
+ /**
+ * Constructs a new InspectDataSourceDetails.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IInspectDataSourceDetails);
+
+ /** InspectDataSourceDetails requestedOptions. */
+ public requestedOptions?: (google.privacy.dlp.v2.InspectDataSourceDetails.IRequestedOptions|null);
+
+ /** InspectDataSourceDetails result. */
+ public result?: (google.privacy.dlp.v2.InspectDataSourceDetails.IResult|null);
+
+ /**
+ * Creates a new InspectDataSourceDetails instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InspectDataSourceDetails instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IInspectDataSourceDetails): google.privacy.dlp.v2.InspectDataSourceDetails;
+
+ /**
+ * Encodes the specified InspectDataSourceDetails message. Does not implicitly {@link google.privacy.dlp.v2.InspectDataSourceDetails.verify|verify} messages.
+ * @param message InspectDataSourceDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IInspectDataSourceDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InspectDataSourceDetails message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectDataSourceDetails.verify|verify} messages.
+ * @param message InspectDataSourceDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IInspectDataSourceDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InspectDataSourceDetails message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InspectDataSourceDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InspectDataSourceDetails;
+
+ /**
+ * Decodes an InspectDataSourceDetails message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InspectDataSourceDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InspectDataSourceDetails;
+
+ /**
+ * Verifies an InspectDataSourceDetails message.
+ * @param message Plain 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 InspectDataSourceDetails message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InspectDataSourceDetails
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InspectDataSourceDetails;
+
+ /**
+ * Creates a plain object from an InspectDataSourceDetails message. Also converts values to other types if specified.
+ * @param message InspectDataSourceDetails
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InspectDataSourceDetails, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InspectDataSourceDetails to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace InspectDataSourceDetails {
+
+ /** Properties of a RequestedOptions. */
+ interface IRequestedOptions {
+
+ /** RequestedOptions snapshotInspectTemplate */
+ snapshotInspectTemplate?: (google.privacy.dlp.v2.IInspectTemplate|null);
+
+ /** RequestedOptions jobConfig */
+ jobConfig?: (google.privacy.dlp.v2.IInspectJobConfig|null);
+ }
+
+ /** Represents a RequestedOptions. */
+ class RequestedOptions implements IRequestedOptions {
+
+ /**
+ * Constructs a new RequestedOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.InspectDataSourceDetails.IRequestedOptions);
+
+ /** RequestedOptions snapshotInspectTemplate. */
+ public snapshotInspectTemplate?: (google.privacy.dlp.v2.IInspectTemplate|null);
+
+ /** RequestedOptions jobConfig. */
+ public jobConfig?: (google.privacy.dlp.v2.IInspectJobConfig|null);
+
+ /**
+ * Creates a new RequestedOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RequestedOptions instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.InspectDataSourceDetails.IRequestedOptions): google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions;
+
+ /**
+ * Encodes the specified RequestedOptions message. Does not implicitly {@link google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions.verify|verify} messages.
+ * @param message RequestedOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.InspectDataSourceDetails.IRequestedOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RequestedOptions message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions.verify|verify} messages.
+ * @param message RequestedOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.InspectDataSourceDetails.IRequestedOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RequestedOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RequestedOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions;
+
+ /**
+ * Decodes a RequestedOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RequestedOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions;
+
+ /**
+ * Verifies a RequestedOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RequestedOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RequestedOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions;
+
+ /**
+ * Creates a plain object from a RequestedOptions message. Also converts values to other types if specified.
+ * @param message RequestedOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InspectDataSourceDetails.RequestedOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RequestedOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a Result. */
+ interface IResult {
+
+ /** Result processedBytes */
+ processedBytes?: (number|Long|string|null);
+
+ /** Result totalEstimatedBytes */
+ totalEstimatedBytes?: (number|Long|string|null);
+
+ /** Result infoTypeStats */
+ infoTypeStats?: (google.privacy.dlp.v2.IInfoTypeStats[]|null);
+
+ /** Result hybridStats */
+ hybridStats?: (google.privacy.dlp.v2.IHybridInspectStatistics|null);
+ }
+
+ /** Represents a Result. */
+ class Result implements IResult {
+
+ /**
+ * Constructs a new Result.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.InspectDataSourceDetails.IResult);
+
+ /** Result processedBytes. */
+ public processedBytes: (number|Long|string);
+
+ /** Result totalEstimatedBytes. */
+ public totalEstimatedBytes: (number|Long|string);
+
+ /** Result infoTypeStats. */
+ public infoTypeStats: google.privacy.dlp.v2.IInfoTypeStats[];
+
+ /** Result hybridStats. */
+ public hybridStats?: (google.privacy.dlp.v2.IHybridInspectStatistics|null);
+
+ /**
+ * Creates a new Result instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Result instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.InspectDataSourceDetails.IResult): google.privacy.dlp.v2.InspectDataSourceDetails.Result;
+
+ /**
+ * Encodes the specified Result message. Does not implicitly {@link google.privacy.dlp.v2.InspectDataSourceDetails.Result.verify|verify} messages.
+ * @param message Result message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.InspectDataSourceDetails.IResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Result message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectDataSourceDetails.Result.verify|verify} messages.
+ * @param message Result message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.InspectDataSourceDetails.IResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Result message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Result
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InspectDataSourceDetails.Result;
+
+ /**
+ * Decodes a Result message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Result
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InspectDataSourceDetails.Result;
+
+ /**
+ * Verifies a Result message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Result message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Result
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InspectDataSourceDetails.Result;
+
+ /**
+ * Creates a plain object from a Result message. Also converts values to other types if specified.
+ * @param message Result
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InspectDataSourceDetails.Result, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Result to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a HybridInspectStatistics. */
+ interface IHybridInspectStatistics {
+
+ /** HybridInspectStatistics processedCount */
+ processedCount?: (number|Long|string|null);
+
+ /** HybridInspectStatistics abortedCount */
+ abortedCount?: (number|Long|string|null);
+
+ /** HybridInspectStatistics pendingCount */
+ pendingCount?: (number|Long|string|null);
+ }
+
+ /** Represents a HybridInspectStatistics. */
+ class HybridInspectStatistics implements IHybridInspectStatistics {
+
+ /**
+ * Constructs a new HybridInspectStatistics.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IHybridInspectStatistics);
+
+ /** HybridInspectStatistics processedCount. */
+ public processedCount: (number|Long|string);
+
+ /** HybridInspectStatistics abortedCount. */
+ public abortedCount: (number|Long|string);
+
+ /** HybridInspectStatistics pendingCount. */
+ public pendingCount: (number|Long|string);
+
+ /**
+ * Creates a new HybridInspectStatistics instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HybridInspectStatistics instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IHybridInspectStatistics): google.privacy.dlp.v2.HybridInspectStatistics;
+
+ /**
+ * Encodes the specified HybridInspectStatistics message. Does not implicitly {@link google.privacy.dlp.v2.HybridInspectStatistics.verify|verify} messages.
+ * @param message HybridInspectStatistics message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IHybridInspectStatistics, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HybridInspectStatistics message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.HybridInspectStatistics.verify|verify} messages.
+ * @param message HybridInspectStatistics message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IHybridInspectStatistics, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HybridInspectStatistics message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HybridInspectStatistics
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.HybridInspectStatistics;
+
+ /**
+ * Decodes a HybridInspectStatistics message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HybridInspectStatistics
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.HybridInspectStatistics;
+
+ /**
+ * Verifies a HybridInspectStatistics message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HybridInspectStatistics message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HybridInspectStatistics
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.HybridInspectStatistics;
+
+ /**
+ * Creates a plain object from a HybridInspectStatistics message. Also converts values to other types if specified.
+ * @param message HybridInspectStatistics
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.HybridInspectStatistics, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HybridInspectStatistics to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an InfoTypeDescription. */
+ interface IInfoTypeDescription {
+
+ /** InfoTypeDescription name */
+ name?: (string|null);
+
+ /** InfoTypeDescription displayName */
+ displayName?: (string|null);
+
+ /** InfoTypeDescription supportedBy */
+ supportedBy?: (google.privacy.dlp.v2.InfoTypeSupportedBy[]|null);
+
+ /** InfoTypeDescription description */
+ description?: (string|null);
+ }
+
+ /** Represents an InfoTypeDescription. */
+ class InfoTypeDescription implements IInfoTypeDescription {
+
+ /**
+ * Constructs a new InfoTypeDescription.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IInfoTypeDescription);
+
+ /** InfoTypeDescription name. */
+ public name: string;
+
+ /** InfoTypeDescription displayName. */
+ public displayName: string;
+
+ /** InfoTypeDescription supportedBy. */
+ public supportedBy: google.privacy.dlp.v2.InfoTypeSupportedBy[];
+
+ /** InfoTypeDescription description. */
+ public description: string;
+
+ /**
+ * Creates a new InfoTypeDescription instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InfoTypeDescription instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IInfoTypeDescription): google.privacy.dlp.v2.InfoTypeDescription;
+
+ /**
+ * Encodes the specified InfoTypeDescription message. Does not implicitly {@link google.privacy.dlp.v2.InfoTypeDescription.verify|verify} messages.
+ * @param message InfoTypeDescription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IInfoTypeDescription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InfoTypeDescription message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InfoTypeDescription.verify|verify} messages.
+ * @param message InfoTypeDescription message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IInfoTypeDescription, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InfoTypeDescription message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InfoTypeDescription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InfoTypeDescription;
+
+ /**
+ * Decodes an InfoTypeDescription message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InfoTypeDescription
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InfoTypeDescription;
+
+ /**
+ * Verifies an InfoTypeDescription message.
+ * @param message Plain 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 InfoTypeDescription message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InfoTypeDescription
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InfoTypeDescription;
+
+ /**
+ * Creates a plain object from an InfoTypeDescription message. Also converts values to other types if specified.
+ * @param message InfoTypeDescription
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InfoTypeDescription, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InfoTypeDescription to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ListInfoTypesRequest. */
+ interface IListInfoTypesRequest {
+
+ /** ListInfoTypesRequest parent */
+ parent?: (string|null);
+
+ /** ListInfoTypesRequest languageCode */
+ languageCode?: (string|null);
+
+ /** ListInfoTypesRequest filter */
+ filter?: (string|null);
+
+ /** ListInfoTypesRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents a ListInfoTypesRequest. */
+ class ListInfoTypesRequest implements IListInfoTypesRequest {
+
+ /**
+ * Constructs a new ListInfoTypesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IListInfoTypesRequest);
+
+ /** ListInfoTypesRequest parent. */
+ public parent: string;
+
+ /** ListInfoTypesRequest languageCode. */
+ public languageCode: string;
+
+ /** ListInfoTypesRequest filter. */
+ public filter: string;
+
+ /** ListInfoTypesRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new ListInfoTypesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListInfoTypesRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IListInfoTypesRequest): google.privacy.dlp.v2.ListInfoTypesRequest;
+
+ /**
+ * Encodes the specified ListInfoTypesRequest message. Does not implicitly {@link google.privacy.dlp.v2.ListInfoTypesRequest.verify|verify} messages.
+ * @param message ListInfoTypesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IListInfoTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListInfoTypesRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ListInfoTypesRequest.verify|verify} messages.
+ * @param message ListInfoTypesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IListInfoTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListInfoTypesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListInfoTypesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ListInfoTypesRequest;
+
+ /**
+ * Decodes a ListInfoTypesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListInfoTypesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ListInfoTypesRequest;
+
+ /**
+ * Verifies a ListInfoTypesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListInfoTypesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListInfoTypesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ListInfoTypesRequest;
+
+ /**
+ * Creates a plain object from a ListInfoTypesRequest message. Also converts values to other types if specified.
+ * @param message ListInfoTypesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ListInfoTypesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListInfoTypesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ListInfoTypesResponse. */
+ interface IListInfoTypesResponse {
+
+ /** ListInfoTypesResponse infoTypes */
+ infoTypes?: (google.privacy.dlp.v2.IInfoTypeDescription[]|null);
+ }
+
+ /** Represents a ListInfoTypesResponse. */
+ class ListInfoTypesResponse implements IListInfoTypesResponse {
+
+ /**
+ * Constructs a new ListInfoTypesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IListInfoTypesResponse);
+
+ /** ListInfoTypesResponse infoTypes. */
+ public infoTypes: google.privacy.dlp.v2.IInfoTypeDescription[];
+
+ /**
+ * Creates a new ListInfoTypesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListInfoTypesResponse instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IListInfoTypesResponse): google.privacy.dlp.v2.ListInfoTypesResponse;
+
+ /**
+ * Encodes the specified ListInfoTypesResponse message. Does not implicitly {@link google.privacy.dlp.v2.ListInfoTypesResponse.verify|verify} messages.
+ * @param message ListInfoTypesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IListInfoTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListInfoTypesResponse message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ListInfoTypesResponse.verify|verify} messages.
+ * @param message ListInfoTypesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IListInfoTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListInfoTypesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListInfoTypesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ListInfoTypesResponse;
+
+ /**
+ * Decodes a ListInfoTypesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListInfoTypesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ListInfoTypesResponse;
+
+ /**
+ * Verifies a ListInfoTypesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListInfoTypesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListInfoTypesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ListInfoTypesResponse;
+
+ /**
+ * Creates a plain object from a ListInfoTypesResponse message. Also converts values to other types if specified.
+ * @param message ListInfoTypesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ListInfoTypesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListInfoTypesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a RiskAnalysisJobConfig. */
+ interface IRiskAnalysisJobConfig {
+
+ /** RiskAnalysisJobConfig privacyMetric */
+ privacyMetric?: (google.privacy.dlp.v2.IPrivacyMetric|null);
+
+ /** RiskAnalysisJobConfig sourceTable */
+ sourceTable?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** RiskAnalysisJobConfig actions */
+ actions?: (google.privacy.dlp.v2.IAction[]|null);
+ }
+
+ /** Represents a RiskAnalysisJobConfig. */
+ class RiskAnalysisJobConfig implements IRiskAnalysisJobConfig {
+
+ /**
+ * Constructs a new RiskAnalysisJobConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IRiskAnalysisJobConfig);
+
+ /** RiskAnalysisJobConfig privacyMetric. */
+ public privacyMetric?: (google.privacy.dlp.v2.IPrivacyMetric|null);
+
+ /** RiskAnalysisJobConfig sourceTable. */
+ public sourceTable?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** RiskAnalysisJobConfig actions. */
+ public actions: google.privacy.dlp.v2.IAction[];
+
+ /**
+ * Creates a new RiskAnalysisJobConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RiskAnalysisJobConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IRiskAnalysisJobConfig): google.privacy.dlp.v2.RiskAnalysisJobConfig;
+
+ /**
+ * Encodes the specified RiskAnalysisJobConfig message. Does not implicitly {@link google.privacy.dlp.v2.RiskAnalysisJobConfig.verify|verify} messages.
+ * @param message RiskAnalysisJobConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IRiskAnalysisJobConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RiskAnalysisJobConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.RiskAnalysisJobConfig.verify|verify} messages.
+ * @param message RiskAnalysisJobConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IRiskAnalysisJobConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RiskAnalysisJobConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RiskAnalysisJobConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.RiskAnalysisJobConfig;
+
+ /**
+ * Decodes a RiskAnalysisJobConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RiskAnalysisJobConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.RiskAnalysisJobConfig;
+
+ /**
+ * Verifies a RiskAnalysisJobConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RiskAnalysisJobConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RiskAnalysisJobConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.RiskAnalysisJobConfig;
+
+ /**
+ * Creates a plain object from a RiskAnalysisJobConfig message. Also converts values to other types if specified.
+ * @param message RiskAnalysisJobConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.RiskAnalysisJobConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RiskAnalysisJobConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a QuasiId. */
+ interface IQuasiId {
+
+ /** QuasiId field */
+ field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** QuasiId infoType */
+ infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** QuasiId customTag */
+ customTag?: (string|null);
+
+ /** QuasiId inferred */
+ inferred?: (google.protobuf.IEmpty|null);
+ }
+
+ /** Represents a QuasiId. */
+ class QuasiId implements IQuasiId {
+
+ /**
+ * Constructs a new QuasiId.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IQuasiId);
+
+ /** QuasiId field. */
+ public field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** QuasiId infoType. */
+ public infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** QuasiId customTag. */
+ public customTag: string;
+
+ /** QuasiId inferred. */
+ public inferred?: (google.protobuf.IEmpty|null);
+
+ /** QuasiId tag. */
+ public tag?: ("infoType"|"customTag"|"inferred");
+
+ /**
+ * Creates a new QuasiId instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QuasiId instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IQuasiId): google.privacy.dlp.v2.QuasiId;
+
+ /**
+ * Encodes the specified QuasiId message. Does not implicitly {@link google.privacy.dlp.v2.QuasiId.verify|verify} messages.
+ * @param message QuasiId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IQuasiId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QuasiId message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.QuasiId.verify|verify} messages.
+ * @param message QuasiId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IQuasiId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QuasiId message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QuasiId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.QuasiId;
+
+ /**
+ * Decodes a QuasiId message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QuasiId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.QuasiId;
+
+ /**
+ * Verifies a QuasiId message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QuasiId message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QuasiId
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.QuasiId;
+
+ /**
+ * Creates a plain object from a QuasiId message. Also converts values to other types if specified.
+ * @param message QuasiId
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.QuasiId, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QuasiId to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a StatisticalTable. */
+ interface IStatisticalTable {
+
+ /** StatisticalTable table */
+ table?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** StatisticalTable quasiIds */
+ quasiIds?: (google.privacy.dlp.v2.StatisticalTable.IQuasiIdentifierField[]|null);
+
+ /** StatisticalTable relativeFrequency */
+ relativeFrequency?: (google.privacy.dlp.v2.IFieldId|null);
+ }
+
+ /** Represents a StatisticalTable. */
+ class StatisticalTable implements IStatisticalTable {
+
+ /**
+ * Constructs a new StatisticalTable.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IStatisticalTable);
+
+ /** StatisticalTable table. */
+ public table?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** StatisticalTable quasiIds. */
+ public quasiIds: google.privacy.dlp.v2.StatisticalTable.IQuasiIdentifierField[];
+
+ /** StatisticalTable relativeFrequency. */
+ public relativeFrequency?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /**
+ * Creates a new StatisticalTable instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StatisticalTable instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IStatisticalTable): google.privacy.dlp.v2.StatisticalTable;
+
+ /**
+ * Encodes the specified StatisticalTable message. Does not implicitly {@link google.privacy.dlp.v2.StatisticalTable.verify|verify} messages.
+ * @param message StatisticalTable message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IStatisticalTable, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StatisticalTable message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.StatisticalTable.verify|verify} messages.
+ * @param message StatisticalTable message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IStatisticalTable, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StatisticalTable message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StatisticalTable
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.StatisticalTable;
+
+ /**
+ * Decodes a StatisticalTable message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StatisticalTable
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.StatisticalTable;
+
+ /**
+ * Verifies a StatisticalTable message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StatisticalTable message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StatisticalTable
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.StatisticalTable;
+
+ /**
+ * Creates a plain object from a StatisticalTable message. Also converts values to other types if specified.
+ * @param message StatisticalTable
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.StatisticalTable, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StatisticalTable to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace StatisticalTable {
+
+ /** Properties of a QuasiIdentifierField. */
+ interface IQuasiIdentifierField {
+
+ /** QuasiIdentifierField field */
+ field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** QuasiIdentifierField customTag */
+ customTag?: (string|null);
+ }
+
+ /** Represents a QuasiIdentifierField. */
+ class QuasiIdentifierField implements IQuasiIdentifierField {
+
+ /**
+ * Constructs a new QuasiIdentifierField.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.StatisticalTable.IQuasiIdentifierField);
+
+ /** QuasiIdentifierField field. */
+ public field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** QuasiIdentifierField customTag. */
+ public customTag: string;
+
+ /**
+ * Creates a new QuasiIdentifierField instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QuasiIdentifierField instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.StatisticalTable.IQuasiIdentifierField): google.privacy.dlp.v2.StatisticalTable.QuasiIdentifierField;
+
+ /**
+ * Encodes the specified QuasiIdentifierField message. Does not implicitly {@link google.privacy.dlp.v2.StatisticalTable.QuasiIdentifierField.verify|verify} messages.
+ * @param message QuasiIdentifierField message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.StatisticalTable.IQuasiIdentifierField, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QuasiIdentifierField message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.StatisticalTable.QuasiIdentifierField.verify|verify} messages.
+ * @param message QuasiIdentifierField message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.StatisticalTable.IQuasiIdentifierField, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QuasiIdentifierField message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QuasiIdentifierField
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.StatisticalTable.QuasiIdentifierField;
+
+ /**
+ * Decodes a QuasiIdentifierField message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QuasiIdentifierField
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.StatisticalTable.QuasiIdentifierField;
+
+ /**
+ * Verifies a QuasiIdentifierField message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QuasiIdentifierField message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QuasiIdentifierField
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.StatisticalTable.QuasiIdentifierField;
+
+ /**
+ * Creates a plain object from a QuasiIdentifierField message. Also converts values to other types if specified.
+ * @param message QuasiIdentifierField
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.StatisticalTable.QuasiIdentifierField, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QuasiIdentifierField to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a PrivacyMetric. */
+ interface IPrivacyMetric {
+
+ /** PrivacyMetric numericalStatsConfig */
+ numericalStatsConfig?: (google.privacy.dlp.v2.PrivacyMetric.INumericalStatsConfig|null);
+
+ /** PrivacyMetric categoricalStatsConfig */
+ categoricalStatsConfig?: (google.privacy.dlp.v2.PrivacyMetric.ICategoricalStatsConfig|null);
+
+ /** PrivacyMetric kAnonymityConfig */
+ kAnonymityConfig?: (google.privacy.dlp.v2.PrivacyMetric.IKAnonymityConfig|null);
+
+ /** PrivacyMetric lDiversityConfig */
+ lDiversityConfig?: (google.privacy.dlp.v2.PrivacyMetric.ILDiversityConfig|null);
+
+ /** PrivacyMetric kMapEstimationConfig */
+ kMapEstimationConfig?: (google.privacy.dlp.v2.PrivacyMetric.IKMapEstimationConfig|null);
+
+ /** PrivacyMetric deltaPresenceEstimationConfig */
+ deltaPresenceEstimationConfig?: (google.privacy.dlp.v2.PrivacyMetric.IDeltaPresenceEstimationConfig|null);
+ }
+
+ /** Represents a PrivacyMetric. */
+ class PrivacyMetric implements IPrivacyMetric {
+
+ /**
+ * Constructs a new PrivacyMetric.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IPrivacyMetric);
+
+ /** PrivacyMetric numericalStatsConfig. */
+ public numericalStatsConfig?: (google.privacy.dlp.v2.PrivacyMetric.INumericalStatsConfig|null);
+
+ /** PrivacyMetric categoricalStatsConfig. */
+ public categoricalStatsConfig?: (google.privacy.dlp.v2.PrivacyMetric.ICategoricalStatsConfig|null);
+
+ /** PrivacyMetric kAnonymityConfig. */
+ public kAnonymityConfig?: (google.privacy.dlp.v2.PrivacyMetric.IKAnonymityConfig|null);
+
+ /** PrivacyMetric lDiversityConfig. */
+ public lDiversityConfig?: (google.privacy.dlp.v2.PrivacyMetric.ILDiversityConfig|null);
+
+ /** PrivacyMetric kMapEstimationConfig. */
+ public kMapEstimationConfig?: (google.privacy.dlp.v2.PrivacyMetric.IKMapEstimationConfig|null);
+
+ /** PrivacyMetric deltaPresenceEstimationConfig. */
+ public deltaPresenceEstimationConfig?: (google.privacy.dlp.v2.PrivacyMetric.IDeltaPresenceEstimationConfig|null);
+
+ /** PrivacyMetric type. */
+ public type?: ("numericalStatsConfig"|"categoricalStatsConfig"|"kAnonymityConfig"|"lDiversityConfig"|"kMapEstimationConfig"|"deltaPresenceEstimationConfig");
+
+ /**
+ * Creates a new PrivacyMetric instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PrivacyMetric instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IPrivacyMetric): google.privacy.dlp.v2.PrivacyMetric;
+
+ /**
+ * Encodes the specified PrivacyMetric message. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.verify|verify} messages.
+ * @param message PrivacyMetric message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IPrivacyMetric, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PrivacyMetric message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.verify|verify} messages.
+ * @param message PrivacyMetric message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IPrivacyMetric, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PrivacyMetric message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PrivacyMetric
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.PrivacyMetric;
+
+ /**
+ * Decodes a PrivacyMetric message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PrivacyMetric
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.PrivacyMetric;
+
+ /**
+ * Verifies a PrivacyMetric message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PrivacyMetric message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PrivacyMetric
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.PrivacyMetric;
+
+ /**
+ * Creates a plain object from a PrivacyMetric message. Also converts values to other types if specified.
+ * @param message PrivacyMetric
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.PrivacyMetric, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PrivacyMetric to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace PrivacyMetric {
+
+ /** Properties of a NumericalStatsConfig. */
+ interface INumericalStatsConfig {
+
+ /** NumericalStatsConfig field */
+ field?: (google.privacy.dlp.v2.IFieldId|null);
+ }
+
+ /** Represents a NumericalStatsConfig. */
+ class NumericalStatsConfig implements INumericalStatsConfig {
+
+ /**
+ * Constructs a new NumericalStatsConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.PrivacyMetric.INumericalStatsConfig);
+
+ /** NumericalStatsConfig field. */
+ public field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /**
+ * Creates a new NumericalStatsConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NumericalStatsConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.PrivacyMetric.INumericalStatsConfig): google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig;
+
+ /**
+ * Encodes the specified NumericalStatsConfig message. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig.verify|verify} messages.
+ * @param message NumericalStatsConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.PrivacyMetric.INumericalStatsConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NumericalStatsConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig.verify|verify} messages.
+ * @param message NumericalStatsConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.PrivacyMetric.INumericalStatsConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NumericalStatsConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NumericalStatsConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig;
+
+ /**
+ * Decodes a NumericalStatsConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NumericalStatsConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig;
+
+ /**
+ * Verifies a NumericalStatsConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NumericalStatsConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NumericalStatsConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig;
+
+ /**
+ * Creates a plain object from a NumericalStatsConfig message. Also converts values to other types if specified.
+ * @param message NumericalStatsConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.PrivacyMetric.NumericalStatsConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NumericalStatsConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a CategoricalStatsConfig. */
+ interface ICategoricalStatsConfig {
+
+ /** CategoricalStatsConfig field */
+ field?: (google.privacy.dlp.v2.IFieldId|null);
+ }
+
+ /** Represents a CategoricalStatsConfig. */
+ class CategoricalStatsConfig implements ICategoricalStatsConfig {
+
+ /**
+ * Constructs a new CategoricalStatsConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.PrivacyMetric.ICategoricalStatsConfig);
+
+ /** CategoricalStatsConfig field. */
+ public field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /**
+ * Creates a new CategoricalStatsConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CategoricalStatsConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.PrivacyMetric.ICategoricalStatsConfig): google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig;
+
+ /**
+ * Encodes the specified CategoricalStatsConfig message. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig.verify|verify} messages.
+ * @param message CategoricalStatsConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.PrivacyMetric.ICategoricalStatsConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CategoricalStatsConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig.verify|verify} messages.
+ * @param message CategoricalStatsConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.PrivacyMetric.ICategoricalStatsConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CategoricalStatsConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CategoricalStatsConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig;
+
+ /**
+ * Decodes a CategoricalStatsConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CategoricalStatsConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig;
+
+ /**
+ * Verifies a CategoricalStatsConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CategoricalStatsConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CategoricalStatsConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig;
+
+ /**
+ * Creates a plain object from a CategoricalStatsConfig message. Also converts values to other types if specified.
+ * @param message CategoricalStatsConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.PrivacyMetric.CategoricalStatsConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CategoricalStatsConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a KAnonymityConfig. */
+ interface IKAnonymityConfig {
+
+ /** KAnonymityConfig quasiIds */
+ quasiIds?: (google.privacy.dlp.v2.IFieldId[]|null);
+
+ /** KAnonymityConfig entityId */
+ entityId?: (google.privacy.dlp.v2.IEntityId|null);
+ }
+
+ /** Represents a KAnonymityConfig. */
+ class KAnonymityConfig implements IKAnonymityConfig {
+
+ /**
+ * Constructs a new KAnonymityConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.PrivacyMetric.IKAnonymityConfig);
+
+ /** KAnonymityConfig quasiIds. */
+ public quasiIds: google.privacy.dlp.v2.IFieldId[];
+
+ /** KAnonymityConfig entityId. */
+ public entityId?: (google.privacy.dlp.v2.IEntityId|null);
+
+ /**
+ * Creates a new KAnonymityConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KAnonymityConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.PrivacyMetric.IKAnonymityConfig): google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig;
+
+ /**
+ * Encodes the specified KAnonymityConfig message. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig.verify|verify} messages.
+ * @param message KAnonymityConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.PrivacyMetric.IKAnonymityConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KAnonymityConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig.verify|verify} messages.
+ * @param message KAnonymityConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.PrivacyMetric.IKAnonymityConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KAnonymityConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KAnonymityConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig;
+
+ /**
+ * Decodes a KAnonymityConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KAnonymityConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig;
+
+ /**
+ * Verifies a KAnonymityConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KAnonymityConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KAnonymityConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig;
+
+ /**
+ * Creates a plain object from a KAnonymityConfig message. Also converts values to other types if specified.
+ * @param message KAnonymityConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.PrivacyMetric.KAnonymityConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KAnonymityConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a LDiversityConfig. */
+ interface ILDiversityConfig {
+
+ /** LDiversityConfig quasiIds */
+ quasiIds?: (google.privacy.dlp.v2.IFieldId[]|null);
+
+ /** LDiversityConfig sensitiveAttribute */
+ sensitiveAttribute?: (google.privacy.dlp.v2.IFieldId|null);
+ }
+
+ /** Represents a LDiversityConfig. */
+ class LDiversityConfig implements ILDiversityConfig {
+
+ /**
+ * Constructs a new LDiversityConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.PrivacyMetric.ILDiversityConfig);
+
+ /** LDiversityConfig quasiIds. */
+ public quasiIds: google.privacy.dlp.v2.IFieldId[];
+
+ /** LDiversityConfig sensitiveAttribute. */
+ public sensitiveAttribute?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /**
+ * Creates a new LDiversityConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LDiversityConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.PrivacyMetric.ILDiversityConfig): google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig;
+
+ /**
+ * Encodes the specified LDiversityConfig message. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig.verify|verify} messages.
+ * @param message LDiversityConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.PrivacyMetric.ILDiversityConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LDiversityConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig.verify|verify} messages.
+ * @param message LDiversityConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.PrivacyMetric.ILDiversityConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LDiversityConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LDiversityConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig;
+
+ /**
+ * Decodes a LDiversityConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LDiversityConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig;
+
+ /**
+ * Verifies a LDiversityConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LDiversityConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LDiversityConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig;
+
+ /**
+ * Creates a plain object from a LDiversityConfig message. Also converts values to other types if specified.
+ * @param message LDiversityConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.PrivacyMetric.LDiversityConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LDiversityConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a KMapEstimationConfig. */
+ interface IKMapEstimationConfig {
+
+ /** KMapEstimationConfig quasiIds */
+ quasiIds?: (google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.ITaggedField[]|null);
+
+ /** KMapEstimationConfig regionCode */
+ regionCode?: (string|null);
+
+ /** KMapEstimationConfig auxiliaryTables */
+ auxiliaryTables?: (google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.IAuxiliaryTable[]|null);
+ }
+
+ /** Represents a KMapEstimationConfig. */
+ class KMapEstimationConfig implements IKMapEstimationConfig {
+
+ /**
+ * Constructs a new KMapEstimationConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.PrivacyMetric.IKMapEstimationConfig);
+
+ /** KMapEstimationConfig quasiIds. */
+ public quasiIds: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.ITaggedField[];
+
+ /** KMapEstimationConfig regionCode. */
+ public regionCode: string;
+
+ /** KMapEstimationConfig auxiliaryTables. */
+ public auxiliaryTables: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.IAuxiliaryTable[];
+
+ /**
+ * Creates a new KMapEstimationConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KMapEstimationConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.PrivacyMetric.IKMapEstimationConfig): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig;
+
+ /**
+ * Encodes the specified KMapEstimationConfig message. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.verify|verify} messages.
+ * @param message KMapEstimationConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.PrivacyMetric.IKMapEstimationConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KMapEstimationConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.verify|verify} messages.
+ * @param message KMapEstimationConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.PrivacyMetric.IKMapEstimationConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KMapEstimationConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KMapEstimationConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig;
+
+ /**
+ * Decodes a KMapEstimationConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KMapEstimationConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig;
+
+ /**
+ * Verifies a KMapEstimationConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KMapEstimationConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KMapEstimationConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig;
+
+ /**
+ * Creates a plain object from a KMapEstimationConfig message. Also converts values to other types if specified.
+ * @param message KMapEstimationConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KMapEstimationConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace KMapEstimationConfig {
+
+ /** Properties of a TaggedField. */
+ interface ITaggedField {
+
+ /** TaggedField field */
+ field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** TaggedField infoType */
+ infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** TaggedField customTag */
+ customTag?: (string|null);
+
+ /** TaggedField inferred */
+ inferred?: (google.protobuf.IEmpty|null);
+ }
+
+ /** Represents a TaggedField. */
+ class TaggedField implements ITaggedField {
+
+ /**
+ * Constructs a new TaggedField.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.ITaggedField);
+
+ /** TaggedField field. */
+ public field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** TaggedField infoType. */
+ public infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** TaggedField customTag. */
+ public customTag: string;
+
+ /** TaggedField inferred. */
+ public inferred?: (google.protobuf.IEmpty|null);
+
+ /** TaggedField tag. */
+ public tag?: ("infoType"|"customTag"|"inferred");
+
+ /**
+ * Creates a new TaggedField instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TaggedField instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.ITaggedField): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField;
+
+ /**
+ * Encodes the specified TaggedField message. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField.verify|verify} messages.
+ * @param message TaggedField message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.ITaggedField, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TaggedField message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField.verify|verify} messages.
+ * @param message TaggedField message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.ITaggedField, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TaggedField message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TaggedField
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField;
+
+ /**
+ * Decodes a TaggedField message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TaggedField
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField;
+
+ /**
+ * Verifies a TaggedField message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TaggedField message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TaggedField
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField;
+
+ /**
+ * Creates a plain object from a TaggedField message. Also converts values to other types if specified.
+ * @param message TaggedField
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.TaggedField, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TaggedField to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an AuxiliaryTable. */
+ interface IAuxiliaryTable {
+
+ /** AuxiliaryTable table */
+ table?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** AuxiliaryTable quasiIds */
+ quasiIds?: (google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.IQuasiIdField[]|null);
+
+ /** AuxiliaryTable relativeFrequency */
+ relativeFrequency?: (google.privacy.dlp.v2.IFieldId|null);
+ }
+
+ /** Represents an AuxiliaryTable. */
+ class AuxiliaryTable implements IAuxiliaryTable {
+
+ /**
+ * Constructs a new AuxiliaryTable.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.IAuxiliaryTable);
+
+ /** AuxiliaryTable table. */
+ public table?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** AuxiliaryTable quasiIds. */
+ public quasiIds: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.IQuasiIdField[];
+
+ /** AuxiliaryTable relativeFrequency. */
+ public relativeFrequency?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /**
+ * Creates a new AuxiliaryTable instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AuxiliaryTable instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.IAuxiliaryTable): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable;
+
+ /**
+ * Encodes the specified AuxiliaryTable message. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.verify|verify} messages.
+ * @param message AuxiliaryTable message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.IAuxiliaryTable, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AuxiliaryTable message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.verify|verify} messages.
+ * @param message AuxiliaryTable message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.IAuxiliaryTable, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AuxiliaryTable message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AuxiliaryTable
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable;
+
+ /**
+ * Decodes an AuxiliaryTable message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AuxiliaryTable
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable;
+
+ /**
+ * Verifies an AuxiliaryTable message.
+ * @param message Plain 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 AuxiliaryTable message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AuxiliaryTable
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable;
+
+ /**
+ * Creates a plain object from an AuxiliaryTable message. Also converts values to other types if specified.
+ * @param message AuxiliaryTable
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AuxiliaryTable to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace AuxiliaryTable {
+
+ /** Properties of a QuasiIdField. */
+ interface IQuasiIdField {
+
+ /** QuasiIdField field */
+ field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** QuasiIdField customTag */
+ customTag?: (string|null);
+ }
+
+ /** Represents a QuasiIdField. */
+ class QuasiIdField implements IQuasiIdField {
+
+ /**
+ * Constructs a new QuasiIdField.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.IQuasiIdField);
+
+ /** QuasiIdField field. */
+ public field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** QuasiIdField customTag. */
+ public customTag: string;
+
+ /**
+ * Creates a new QuasiIdField instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QuasiIdField instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.IQuasiIdField): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField;
+
+ /**
+ * Encodes the specified QuasiIdField message. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField.verify|verify} messages.
+ * @param message QuasiIdField message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.IQuasiIdField, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QuasiIdField message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField.verify|verify} messages.
+ * @param message QuasiIdField message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.IQuasiIdField, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QuasiIdField message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QuasiIdField
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField;
+
+ /**
+ * Decodes a QuasiIdField message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QuasiIdField
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField;
+
+ /**
+ * Verifies a QuasiIdField message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QuasiIdField message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QuasiIdField
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField;
+
+ /**
+ * Creates a plain object from a QuasiIdField message. Also converts values to other types if specified.
+ * @param message QuasiIdField
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.PrivacyMetric.KMapEstimationConfig.AuxiliaryTable.QuasiIdField, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QuasiIdField to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+ }
+
+ /** Properties of a DeltaPresenceEstimationConfig. */
+ interface IDeltaPresenceEstimationConfig {
+
+ /** DeltaPresenceEstimationConfig quasiIds */
+ quasiIds?: (google.privacy.dlp.v2.IQuasiId[]|null);
+
+ /** DeltaPresenceEstimationConfig regionCode */
+ regionCode?: (string|null);
+
+ /** DeltaPresenceEstimationConfig auxiliaryTables */
+ auxiliaryTables?: (google.privacy.dlp.v2.IStatisticalTable[]|null);
+ }
+
+ /** Represents a DeltaPresenceEstimationConfig. */
+ class DeltaPresenceEstimationConfig implements IDeltaPresenceEstimationConfig {
+
+ /**
+ * Constructs a new DeltaPresenceEstimationConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.PrivacyMetric.IDeltaPresenceEstimationConfig);
+
+ /** DeltaPresenceEstimationConfig quasiIds. */
+ public quasiIds: google.privacy.dlp.v2.IQuasiId[];
+
+ /** DeltaPresenceEstimationConfig regionCode. */
+ public regionCode: string;
+
+ /** DeltaPresenceEstimationConfig auxiliaryTables. */
+ public auxiliaryTables: google.privacy.dlp.v2.IStatisticalTable[];
+
+ /**
+ * Creates a new DeltaPresenceEstimationConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeltaPresenceEstimationConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.PrivacyMetric.IDeltaPresenceEstimationConfig): google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig;
+
+ /**
+ * Encodes the specified DeltaPresenceEstimationConfig message. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig.verify|verify} messages.
+ * @param message DeltaPresenceEstimationConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.PrivacyMetric.IDeltaPresenceEstimationConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeltaPresenceEstimationConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig.verify|verify} messages.
+ * @param message DeltaPresenceEstimationConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.PrivacyMetric.IDeltaPresenceEstimationConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeltaPresenceEstimationConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeltaPresenceEstimationConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig;
+
+ /**
+ * Decodes a DeltaPresenceEstimationConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeltaPresenceEstimationConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig;
+
+ /**
+ * Verifies a DeltaPresenceEstimationConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeltaPresenceEstimationConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeltaPresenceEstimationConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig;
+
+ /**
+ * Creates a plain object from a DeltaPresenceEstimationConfig message. Also converts values to other types if specified.
+ * @param message DeltaPresenceEstimationConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.PrivacyMetric.DeltaPresenceEstimationConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeltaPresenceEstimationConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of an AnalyzeDataSourceRiskDetails. */
+ interface IAnalyzeDataSourceRiskDetails {
+
+ /** AnalyzeDataSourceRiskDetails requestedPrivacyMetric */
+ requestedPrivacyMetric?: (google.privacy.dlp.v2.IPrivacyMetric|null);
+
+ /** AnalyzeDataSourceRiskDetails requestedSourceTable */
+ requestedSourceTable?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** AnalyzeDataSourceRiskDetails numericalStatsResult */
+ numericalStatsResult?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.INumericalStatsResult|null);
+
+ /** AnalyzeDataSourceRiskDetails categoricalStatsResult */
+ categoricalStatsResult?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.ICategoricalStatsResult|null);
+
+ /** AnalyzeDataSourceRiskDetails kAnonymityResult */
+ kAnonymityResult?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IKAnonymityResult|null);
+
+ /** AnalyzeDataSourceRiskDetails lDiversityResult */
+ lDiversityResult?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.ILDiversityResult|null);
+
+ /** AnalyzeDataSourceRiskDetails kMapEstimationResult */
+ kMapEstimationResult?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IKMapEstimationResult|null);
+
+ /** AnalyzeDataSourceRiskDetails deltaPresenceEstimationResult */
+ deltaPresenceEstimationResult?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IDeltaPresenceEstimationResult|null);
+
+ /** AnalyzeDataSourceRiskDetails requestedOptions */
+ requestedOptions?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IRequestedRiskAnalysisOptions|null);
+ }
+
+ /** Represents an AnalyzeDataSourceRiskDetails. */
+ class AnalyzeDataSourceRiskDetails implements IAnalyzeDataSourceRiskDetails {
+
+ /**
+ * Constructs a new AnalyzeDataSourceRiskDetails.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IAnalyzeDataSourceRiskDetails);
+
+ /** AnalyzeDataSourceRiskDetails requestedPrivacyMetric. */
+ public requestedPrivacyMetric?: (google.privacy.dlp.v2.IPrivacyMetric|null);
+
+ /** AnalyzeDataSourceRiskDetails requestedSourceTable. */
+ public requestedSourceTable?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** AnalyzeDataSourceRiskDetails numericalStatsResult. */
+ public numericalStatsResult?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.INumericalStatsResult|null);
+
+ /** AnalyzeDataSourceRiskDetails categoricalStatsResult. */
+ public categoricalStatsResult?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.ICategoricalStatsResult|null);
+
+ /** AnalyzeDataSourceRiskDetails kAnonymityResult. */
+ public kAnonymityResult?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IKAnonymityResult|null);
+
+ /** AnalyzeDataSourceRiskDetails lDiversityResult. */
+ public lDiversityResult?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.ILDiversityResult|null);
+
+ /** AnalyzeDataSourceRiskDetails kMapEstimationResult. */
+ public kMapEstimationResult?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IKMapEstimationResult|null);
+
+ /** AnalyzeDataSourceRiskDetails deltaPresenceEstimationResult. */
+ public deltaPresenceEstimationResult?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IDeltaPresenceEstimationResult|null);
+
+ /** AnalyzeDataSourceRiskDetails requestedOptions. */
+ public requestedOptions?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IRequestedRiskAnalysisOptions|null);
+
+ /** AnalyzeDataSourceRiskDetails result. */
+ public result?: ("numericalStatsResult"|"categoricalStatsResult"|"kAnonymityResult"|"lDiversityResult"|"kMapEstimationResult"|"deltaPresenceEstimationResult");
+
+ /**
+ * Creates a new AnalyzeDataSourceRiskDetails instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AnalyzeDataSourceRiskDetails instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IAnalyzeDataSourceRiskDetails): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails;
+
+ /**
+ * Encodes the specified AnalyzeDataSourceRiskDetails message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.verify|verify} messages.
+ * @param message AnalyzeDataSourceRiskDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IAnalyzeDataSourceRiskDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AnalyzeDataSourceRiskDetails message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.verify|verify} messages.
+ * @param message AnalyzeDataSourceRiskDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IAnalyzeDataSourceRiskDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AnalyzeDataSourceRiskDetails message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AnalyzeDataSourceRiskDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails;
+
+ /**
+ * Decodes an AnalyzeDataSourceRiskDetails message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AnalyzeDataSourceRiskDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails;
+
+ /**
+ * Verifies an AnalyzeDataSourceRiskDetails message.
+ * @param message Plain 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 AnalyzeDataSourceRiskDetails message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AnalyzeDataSourceRiskDetails
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails;
+
+ /**
+ * Creates a plain object from an AnalyzeDataSourceRiskDetails message. Also converts values to other types if specified.
+ * @param message AnalyzeDataSourceRiskDetails
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AnalyzeDataSourceRiskDetails to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace AnalyzeDataSourceRiskDetails {
+
+ /** Properties of a NumericalStatsResult. */
+ interface INumericalStatsResult {
+
+ /** NumericalStatsResult minValue */
+ minValue?: (google.privacy.dlp.v2.IValue|null);
+
+ /** NumericalStatsResult maxValue */
+ maxValue?: (google.privacy.dlp.v2.IValue|null);
+
+ /** NumericalStatsResult quantileValues */
+ quantileValues?: (google.privacy.dlp.v2.IValue[]|null);
+ }
+
+ /** Represents a NumericalStatsResult. */
+ class NumericalStatsResult implements INumericalStatsResult {
+
+ /**
+ * Constructs a new NumericalStatsResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.INumericalStatsResult);
+
+ /** NumericalStatsResult minValue. */
+ public minValue?: (google.privacy.dlp.v2.IValue|null);
+
+ /** NumericalStatsResult maxValue. */
+ public maxValue?: (google.privacy.dlp.v2.IValue|null);
+
+ /** NumericalStatsResult quantileValues. */
+ public quantileValues: google.privacy.dlp.v2.IValue[];
+
+ /**
+ * Creates a new NumericalStatsResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns NumericalStatsResult instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.INumericalStatsResult): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult;
+
+ /**
+ * Encodes the specified NumericalStatsResult message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult.verify|verify} messages.
+ * @param message NumericalStatsResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.INumericalStatsResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified NumericalStatsResult message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult.verify|verify} messages.
+ * @param message NumericalStatsResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.INumericalStatsResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a NumericalStatsResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns NumericalStatsResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult;
+
+ /**
+ * Decodes a NumericalStatsResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns NumericalStatsResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult;
+
+ /**
+ * Verifies a NumericalStatsResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a NumericalStatsResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns NumericalStatsResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult;
+
+ /**
+ * Creates a plain object from a NumericalStatsResult message. Also converts values to other types if specified.
+ * @param message NumericalStatsResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.NumericalStatsResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this NumericalStatsResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a CategoricalStatsResult. */
+ interface ICategoricalStatsResult {
+
+ /** CategoricalStatsResult valueFrequencyHistogramBuckets */
+ valueFrequencyHistogramBuckets?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.ICategoricalStatsHistogramBucket[]|null);
+ }
+
+ /** Represents a CategoricalStatsResult. */
+ class CategoricalStatsResult implements ICategoricalStatsResult {
+
+ /**
+ * Constructs a new CategoricalStatsResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.ICategoricalStatsResult);
+
+ /** CategoricalStatsResult valueFrequencyHistogramBuckets. */
+ public valueFrequencyHistogramBuckets: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.ICategoricalStatsHistogramBucket[];
+
+ /**
+ * Creates a new CategoricalStatsResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CategoricalStatsResult instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.ICategoricalStatsResult): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult;
+
+ /**
+ * Encodes the specified CategoricalStatsResult message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.verify|verify} messages.
+ * @param message CategoricalStatsResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.ICategoricalStatsResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CategoricalStatsResult message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.verify|verify} messages.
+ * @param message CategoricalStatsResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.ICategoricalStatsResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CategoricalStatsResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CategoricalStatsResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult;
+
+ /**
+ * Decodes a CategoricalStatsResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CategoricalStatsResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult;
+
+ /**
+ * Verifies a CategoricalStatsResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CategoricalStatsResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CategoricalStatsResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult;
+
+ /**
+ * Creates a plain object from a CategoricalStatsResult message. Also converts values to other types if specified.
+ * @param message CategoricalStatsResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CategoricalStatsResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace CategoricalStatsResult {
+
+ /** Properties of a CategoricalStatsHistogramBucket. */
+ interface ICategoricalStatsHistogramBucket {
+
+ /** CategoricalStatsHistogramBucket valueFrequencyLowerBound */
+ valueFrequencyLowerBound?: (number|Long|string|null);
+
+ /** CategoricalStatsHistogramBucket valueFrequencyUpperBound */
+ valueFrequencyUpperBound?: (number|Long|string|null);
+
+ /** CategoricalStatsHistogramBucket bucketSize */
+ bucketSize?: (number|Long|string|null);
+
+ /** CategoricalStatsHistogramBucket bucketValues */
+ bucketValues?: (google.privacy.dlp.v2.IValueFrequency[]|null);
+
+ /** CategoricalStatsHistogramBucket bucketValueCount */
+ bucketValueCount?: (number|Long|string|null);
+ }
+
+ /** Represents a CategoricalStatsHistogramBucket. */
+ class CategoricalStatsHistogramBucket implements ICategoricalStatsHistogramBucket {
+
+ /**
+ * Constructs a new CategoricalStatsHistogramBucket.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.ICategoricalStatsHistogramBucket);
+
+ /** CategoricalStatsHistogramBucket valueFrequencyLowerBound. */
+ public valueFrequencyLowerBound: (number|Long|string);
+
+ /** CategoricalStatsHistogramBucket valueFrequencyUpperBound. */
+ public valueFrequencyUpperBound: (number|Long|string);
+
+ /** CategoricalStatsHistogramBucket bucketSize. */
+ public bucketSize: (number|Long|string);
+
+ /** CategoricalStatsHistogramBucket bucketValues. */
+ public bucketValues: google.privacy.dlp.v2.IValueFrequency[];
+
+ /** CategoricalStatsHistogramBucket bucketValueCount. */
+ public bucketValueCount: (number|Long|string);
+
+ /**
+ * Creates a new CategoricalStatsHistogramBucket instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CategoricalStatsHistogramBucket instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.ICategoricalStatsHistogramBucket): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket;
+
+ /**
+ * Encodes the specified CategoricalStatsHistogramBucket message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket.verify|verify} messages.
+ * @param message CategoricalStatsHistogramBucket message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.ICategoricalStatsHistogramBucket, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CategoricalStatsHistogramBucket message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket.verify|verify} messages.
+ * @param message CategoricalStatsHistogramBucket message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.ICategoricalStatsHistogramBucket, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CategoricalStatsHistogramBucket message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CategoricalStatsHistogramBucket
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket;
+
+ /**
+ * Decodes a CategoricalStatsHistogramBucket message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CategoricalStatsHistogramBucket
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket;
+
+ /**
+ * Verifies a CategoricalStatsHistogramBucket message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CategoricalStatsHistogramBucket message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CategoricalStatsHistogramBucket
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket;
+
+ /**
+ * Creates a plain object from a CategoricalStatsHistogramBucket message. Also converts values to other types if specified.
+ * @param message CategoricalStatsHistogramBucket
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.CategoricalStatsResult.CategoricalStatsHistogramBucket, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CategoricalStatsHistogramBucket to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a KAnonymityResult. */
+ interface IKAnonymityResult {
+
+ /** KAnonymityResult equivalenceClassHistogramBuckets */
+ equivalenceClassHistogramBuckets?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.IKAnonymityHistogramBucket[]|null);
+ }
+
+ /** Represents a KAnonymityResult. */
+ class KAnonymityResult implements IKAnonymityResult {
+
+ /**
+ * Constructs a new KAnonymityResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IKAnonymityResult);
+
+ /** KAnonymityResult equivalenceClassHistogramBuckets. */
+ public equivalenceClassHistogramBuckets: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.IKAnonymityHistogramBucket[];
+
+ /**
+ * Creates a new KAnonymityResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KAnonymityResult instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IKAnonymityResult): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult;
+
+ /**
+ * Encodes the specified KAnonymityResult message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.verify|verify} messages.
+ * @param message KAnonymityResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IKAnonymityResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KAnonymityResult message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.verify|verify} messages.
+ * @param message KAnonymityResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IKAnonymityResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KAnonymityResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KAnonymityResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult;
+
+ /**
+ * Decodes a KAnonymityResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KAnonymityResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult;
+
+ /**
+ * Verifies a KAnonymityResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KAnonymityResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KAnonymityResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult;
+
+ /**
+ * Creates a plain object from a KAnonymityResult message. Also converts values to other types if specified.
+ * @param message KAnonymityResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KAnonymityResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace KAnonymityResult {
+
+ /** Properties of a KAnonymityEquivalenceClass. */
+ interface IKAnonymityEquivalenceClass {
+
+ /** KAnonymityEquivalenceClass quasiIdsValues */
+ quasiIdsValues?: (google.privacy.dlp.v2.IValue[]|null);
+
+ /** KAnonymityEquivalenceClass equivalenceClassSize */
+ equivalenceClassSize?: (number|Long|string|null);
+ }
+
+ /** Represents a KAnonymityEquivalenceClass. */
+ class KAnonymityEquivalenceClass implements IKAnonymityEquivalenceClass {
+
+ /**
+ * Constructs a new KAnonymityEquivalenceClass.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.IKAnonymityEquivalenceClass);
+
+ /** KAnonymityEquivalenceClass quasiIdsValues. */
+ public quasiIdsValues: google.privacy.dlp.v2.IValue[];
+
+ /** KAnonymityEquivalenceClass equivalenceClassSize. */
+ public equivalenceClassSize: (number|Long|string);
+
+ /**
+ * Creates a new KAnonymityEquivalenceClass instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KAnonymityEquivalenceClass instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.IKAnonymityEquivalenceClass): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass;
+
+ /**
+ * Encodes the specified KAnonymityEquivalenceClass message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass.verify|verify} messages.
+ * @param message KAnonymityEquivalenceClass message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.IKAnonymityEquivalenceClass, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KAnonymityEquivalenceClass message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass.verify|verify} messages.
+ * @param message KAnonymityEquivalenceClass message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.IKAnonymityEquivalenceClass, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KAnonymityEquivalenceClass message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KAnonymityEquivalenceClass
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass;
+
+ /**
+ * Decodes a KAnonymityEquivalenceClass message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KAnonymityEquivalenceClass
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass;
+
+ /**
+ * Verifies a KAnonymityEquivalenceClass message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KAnonymityEquivalenceClass message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KAnonymityEquivalenceClass
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass;
+
+ /**
+ * Creates a plain object from a KAnonymityEquivalenceClass message. Also converts values to other types if specified.
+ * @param message KAnonymityEquivalenceClass
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityEquivalenceClass, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KAnonymityEquivalenceClass to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a KAnonymityHistogramBucket. */
+ interface IKAnonymityHistogramBucket {
+
+ /** KAnonymityHistogramBucket equivalenceClassSizeLowerBound */
+ equivalenceClassSizeLowerBound?: (number|Long|string|null);
+
+ /** KAnonymityHistogramBucket equivalenceClassSizeUpperBound */
+ equivalenceClassSizeUpperBound?: (number|Long|string|null);
+
+ /** KAnonymityHistogramBucket bucketSize */
+ bucketSize?: (number|Long|string|null);
+
+ /** KAnonymityHistogramBucket bucketValues */
+ bucketValues?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.IKAnonymityEquivalenceClass[]|null);
+
+ /** KAnonymityHistogramBucket bucketValueCount */
+ bucketValueCount?: (number|Long|string|null);
+ }
+
+ /** Represents a KAnonymityHistogramBucket. */
+ class KAnonymityHistogramBucket implements IKAnonymityHistogramBucket {
+
+ /**
+ * Constructs a new KAnonymityHistogramBucket.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.IKAnonymityHistogramBucket);
+
+ /** KAnonymityHistogramBucket equivalenceClassSizeLowerBound. */
+ public equivalenceClassSizeLowerBound: (number|Long|string);
+
+ /** KAnonymityHistogramBucket equivalenceClassSizeUpperBound. */
+ public equivalenceClassSizeUpperBound: (number|Long|string);
+
+ /** KAnonymityHistogramBucket bucketSize. */
+ public bucketSize: (number|Long|string);
+
+ /** KAnonymityHistogramBucket bucketValues. */
+ public bucketValues: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.IKAnonymityEquivalenceClass[];
+
+ /** KAnonymityHistogramBucket bucketValueCount. */
+ public bucketValueCount: (number|Long|string);
+
+ /**
+ * Creates a new KAnonymityHistogramBucket instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KAnonymityHistogramBucket instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.IKAnonymityHistogramBucket): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket;
+
+ /**
+ * Encodes the specified KAnonymityHistogramBucket message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket.verify|verify} messages.
+ * @param message KAnonymityHistogramBucket message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.IKAnonymityHistogramBucket, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KAnonymityHistogramBucket message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket.verify|verify} messages.
+ * @param message KAnonymityHistogramBucket message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.IKAnonymityHistogramBucket, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KAnonymityHistogramBucket message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KAnonymityHistogramBucket
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket;
+
+ /**
+ * Decodes a KAnonymityHistogramBucket message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KAnonymityHistogramBucket
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket;
+
+ /**
+ * Verifies a KAnonymityHistogramBucket message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KAnonymityHistogramBucket message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KAnonymityHistogramBucket
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket;
+
+ /**
+ * Creates a plain object from a KAnonymityHistogramBucket message. Also converts values to other types if specified.
+ * @param message KAnonymityHistogramBucket
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KAnonymityResult.KAnonymityHistogramBucket, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KAnonymityHistogramBucket to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a LDiversityResult. */
+ interface ILDiversityResult {
+
+ /** LDiversityResult sensitiveValueFrequencyHistogramBuckets */
+ sensitiveValueFrequencyHistogramBuckets?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.ILDiversityHistogramBucket[]|null);
+ }
+
+ /** Represents a LDiversityResult. */
+ class LDiversityResult implements ILDiversityResult {
+
+ /**
+ * Constructs a new LDiversityResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.ILDiversityResult);
+
+ /** LDiversityResult sensitiveValueFrequencyHistogramBuckets. */
+ public sensitiveValueFrequencyHistogramBuckets: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.ILDiversityHistogramBucket[];
+
+ /**
+ * Creates a new LDiversityResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LDiversityResult instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.ILDiversityResult): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult;
+
+ /**
+ * Encodes the specified LDiversityResult message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.verify|verify} messages.
+ * @param message LDiversityResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.ILDiversityResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LDiversityResult message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.verify|verify} messages.
+ * @param message LDiversityResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.ILDiversityResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LDiversityResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LDiversityResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult;
+
+ /**
+ * Decodes a LDiversityResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LDiversityResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult;
+
+ /**
+ * Verifies a LDiversityResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LDiversityResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LDiversityResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult;
+
+ /**
+ * Creates a plain object from a LDiversityResult message. Also converts values to other types if specified.
+ * @param message LDiversityResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LDiversityResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace LDiversityResult {
+
+ /** Properties of a LDiversityEquivalenceClass. */
+ interface ILDiversityEquivalenceClass {
+
+ /** LDiversityEquivalenceClass quasiIdsValues */
+ quasiIdsValues?: (google.privacy.dlp.v2.IValue[]|null);
+
+ /** LDiversityEquivalenceClass equivalenceClassSize */
+ equivalenceClassSize?: (number|Long|string|null);
+
+ /** LDiversityEquivalenceClass numDistinctSensitiveValues */
+ numDistinctSensitiveValues?: (number|Long|string|null);
+
+ /** LDiversityEquivalenceClass topSensitiveValues */
+ topSensitiveValues?: (google.privacy.dlp.v2.IValueFrequency[]|null);
+ }
+
+ /** Represents a LDiversityEquivalenceClass. */
+ class LDiversityEquivalenceClass implements ILDiversityEquivalenceClass {
+
+ /**
+ * Constructs a new LDiversityEquivalenceClass.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.ILDiversityEquivalenceClass);
+
+ /** LDiversityEquivalenceClass quasiIdsValues. */
+ public quasiIdsValues: google.privacy.dlp.v2.IValue[];
+
+ /** LDiversityEquivalenceClass equivalenceClassSize. */
+ public equivalenceClassSize: (number|Long|string);
+
+ /** LDiversityEquivalenceClass numDistinctSensitiveValues. */
+ public numDistinctSensitiveValues: (number|Long|string);
+
+ /** LDiversityEquivalenceClass topSensitiveValues. */
+ public topSensitiveValues: google.privacy.dlp.v2.IValueFrequency[];
+
+ /**
+ * Creates a new LDiversityEquivalenceClass instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LDiversityEquivalenceClass instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.ILDiversityEquivalenceClass): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass;
+
+ /**
+ * Encodes the specified LDiversityEquivalenceClass message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass.verify|verify} messages.
+ * @param message LDiversityEquivalenceClass message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.ILDiversityEquivalenceClass, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LDiversityEquivalenceClass message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass.verify|verify} messages.
+ * @param message LDiversityEquivalenceClass message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.ILDiversityEquivalenceClass, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LDiversityEquivalenceClass message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LDiversityEquivalenceClass
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass;
+
+ /**
+ * Decodes a LDiversityEquivalenceClass message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LDiversityEquivalenceClass
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass;
+
+ /**
+ * Verifies a LDiversityEquivalenceClass message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LDiversityEquivalenceClass message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LDiversityEquivalenceClass
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass;
+
+ /**
+ * Creates a plain object from a LDiversityEquivalenceClass message. Also converts values to other types if specified.
+ * @param message LDiversityEquivalenceClass
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityEquivalenceClass, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LDiversityEquivalenceClass to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a LDiversityHistogramBucket. */
+ interface ILDiversityHistogramBucket {
+
+ /** LDiversityHistogramBucket sensitiveValueFrequencyLowerBound */
+ sensitiveValueFrequencyLowerBound?: (number|Long|string|null);
+
+ /** LDiversityHistogramBucket sensitiveValueFrequencyUpperBound */
+ sensitiveValueFrequencyUpperBound?: (number|Long|string|null);
+
+ /** LDiversityHistogramBucket bucketSize */
+ bucketSize?: (number|Long|string|null);
+
+ /** LDiversityHistogramBucket bucketValues */
+ bucketValues?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.ILDiversityEquivalenceClass[]|null);
+
+ /** LDiversityHistogramBucket bucketValueCount */
+ bucketValueCount?: (number|Long|string|null);
+ }
+
+ /** Represents a LDiversityHistogramBucket. */
+ class LDiversityHistogramBucket implements ILDiversityHistogramBucket {
+
+ /**
+ * Constructs a new LDiversityHistogramBucket.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.ILDiversityHistogramBucket);
+
+ /** LDiversityHistogramBucket sensitiveValueFrequencyLowerBound. */
+ public sensitiveValueFrequencyLowerBound: (number|Long|string);
+
+ /** LDiversityHistogramBucket sensitiveValueFrequencyUpperBound. */
+ public sensitiveValueFrequencyUpperBound: (number|Long|string);
+
+ /** LDiversityHistogramBucket bucketSize. */
+ public bucketSize: (number|Long|string);
+
+ /** LDiversityHistogramBucket bucketValues. */
+ public bucketValues: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.ILDiversityEquivalenceClass[];
+
+ /** LDiversityHistogramBucket bucketValueCount. */
+ public bucketValueCount: (number|Long|string);
+
+ /**
+ * Creates a new LDiversityHistogramBucket instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LDiversityHistogramBucket instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.ILDiversityHistogramBucket): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket;
+
+ /**
+ * Encodes the specified LDiversityHistogramBucket message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket.verify|verify} messages.
+ * @param message LDiversityHistogramBucket message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.ILDiversityHistogramBucket, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LDiversityHistogramBucket message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket.verify|verify} messages.
+ * @param message LDiversityHistogramBucket message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.ILDiversityHistogramBucket, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LDiversityHistogramBucket message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LDiversityHistogramBucket
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket;
+
+ /**
+ * Decodes a LDiversityHistogramBucket message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LDiversityHistogramBucket
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket;
+
+ /**
+ * Verifies a LDiversityHistogramBucket message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LDiversityHistogramBucket message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LDiversityHistogramBucket
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket;
+
+ /**
+ * Creates a plain object from a LDiversityHistogramBucket message. Also converts values to other types if specified.
+ * @param message LDiversityHistogramBucket
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.LDiversityResult.LDiversityHistogramBucket, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LDiversityHistogramBucket to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a KMapEstimationResult. */
+ interface IKMapEstimationResult {
+
+ /** KMapEstimationResult kMapEstimationHistogram */
+ kMapEstimationHistogram?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.IKMapEstimationHistogramBucket[]|null);
+ }
+
+ /** Represents a KMapEstimationResult. */
+ class KMapEstimationResult implements IKMapEstimationResult {
+
+ /**
+ * Constructs a new KMapEstimationResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IKMapEstimationResult);
+
+ /** KMapEstimationResult kMapEstimationHistogram. */
+ public kMapEstimationHistogram: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.IKMapEstimationHistogramBucket[];
+
+ /**
+ * Creates a new KMapEstimationResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KMapEstimationResult instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IKMapEstimationResult): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult;
+
+ /**
+ * Encodes the specified KMapEstimationResult message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.verify|verify} messages.
+ * @param message KMapEstimationResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IKMapEstimationResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KMapEstimationResult message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.verify|verify} messages.
+ * @param message KMapEstimationResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IKMapEstimationResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KMapEstimationResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KMapEstimationResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult;
+
+ /**
+ * Decodes a KMapEstimationResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KMapEstimationResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult;
+
+ /**
+ * Verifies a KMapEstimationResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KMapEstimationResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KMapEstimationResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult;
+
+ /**
+ * Creates a plain object from a KMapEstimationResult message. Also converts values to other types if specified.
+ * @param message KMapEstimationResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KMapEstimationResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace KMapEstimationResult {
+
+ /** Properties of a KMapEstimationQuasiIdValues. */
+ interface IKMapEstimationQuasiIdValues {
+
+ /** KMapEstimationQuasiIdValues quasiIdsValues */
+ quasiIdsValues?: (google.privacy.dlp.v2.IValue[]|null);
+
+ /** KMapEstimationQuasiIdValues estimatedAnonymity */
+ estimatedAnonymity?: (number|Long|string|null);
+ }
+
+ /** Represents a KMapEstimationQuasiIdValues. */
+ class KMapEstimationQuasiIdValues implements IKMapEstimationQuasiIdValues {
+
+ /**
+ * Constructs a new KMapEstimationQuasiIdValues.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.IKMapEstimationQuasiIdValues);
+
+ /** KMapEstimationQuasiIdValues quasiIdsValues. */
+ public quasiIdsValues: google.privacy.dlp.v2.IValue[];
+
+ /** KMapEstimationQuasiIdValues estimatedAnonymity. */
+ public estimatedAnonymity: (number|Long|string);
+
+ /**
+ * Creates a new KMapEstimationQuasiIdValues instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KMapEstimationQuasiIdValues instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.IKMapEstimationQuasiIdValues): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues;
+
+ /**
+ * Encodes the specified KMapEstimationQuasiIdValues message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues.verify|verify} messages.
+ * @param message KMapEstimationQuasiIdValues message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.IKMapEstimationQuasiIdValues, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KMapEstimationQuasiIdValues message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues.verify|verify} messages.
+ * @param message KMapEstimationQuasiIdValues message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.IKMapEstimationQuasiIdValues, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KMapEstimationQuasiIdValues message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KMapEstimationQuasiIdValues
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues;
+
+ /**
+ * Decodes a KMapEstimationQuasiIdValues message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KMapEstimationQuasiIdValues
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues;
+
+ /**
+ * Verifies a KMapEstimationQuasiIdValues message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KMapEstimationQuasiIdValues message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KMapEstimationQuasiIdValues
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues;
+
+ /**
+ * Creates a plain object from a KMapEstimationQuasiIdValues message. Also converts values to other types if specified.
+ * @param message KMapEstimationQuasiIdValues
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationQuasiIdValues, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KMapEstimationQuasiIdValues to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a KMapEstimationHistogramBucket. */
+ interface IKMapEstimationHistogramBucket {
+
+ /** KMapEstimationHistogramBucket minAnonymity */
+ minAnonymity?: (number|Long|string|null);
+
+ /** KMapEstimationHistogramBucket maxAnonymity */
+ maxAnonymity?: (number|Long|string|null);
+
+ /** KMapEstimationHistogramBucket bucketSize */
+ bucketSize?: (number|Long|string|null);
+
+ /** KMapEstimationHistogramBucket bucketValues */
+ bucketValues?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.IKMapEstimationQuasiIdValues[]|null);
+
+ /** KMapEstimationHistogramBucket bucketValueCount */
+ bucketValueCount?: (number|Long|string|null);
+ }
+
+ /** Represents a KMapEstimationHistogramBucket. */
+ class KMapEstimationHistogramBucket implements IKMapEstimationHistogramBucket {
+
+ /**
+ * Constructs a new KMapEstimationHistogramBucket.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.IKMapEstimationHistogramBucket);
+
+ /** KMapEstimationHistogramBucket minAnonymity. */
+ public minAnonymity: (number|Long|string);
+
+ /** KMapEstimationHistogramBucket maxAnonymity. */
+ public maxAnonymity: (number|Long|string);
+
+ /** KMapEstimationHistogramBucket bucketSize. */
+ public bucketSize: (number|Long|string);
+
+ /** KMapEstimationHistogramBucket bucketValues. */
+ public bucketValues: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.IKMapEstimationQuasiIdValues[];
+
+ /** KMapEstimationHistogramBucket bucketValueCount. */
+ public bucketValueCount: (number|Long|string);
+
+ /**
+ * Creates a new KMapEstimationHistogramBucket instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KMapEstimationHistogramBucket instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.IKMapEstimationHistogramBucket): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket;
+
+ /**
+ * Encodes the specified KMapEstimationHistogramBucket message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket.verify|verify} messages.
+ * @param message KMapEstimationHistogramBucket message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.IKMapEstimationHistogramBucket, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KMapEstimationHistogramBucket message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket.verify|verify} messages.
+ * @param message KMapEstimationHistogramBucket message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.IKMapEstimationHistogramBucket, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KMapEstimationHistogramBucket message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KMapEstimationHistogramBucket
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket;
+
+ /**
+ * Decodes a KMapEstimationHistogramBucket message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KMapEstimationHistogramBucket
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket;
+
+ /**
+ * Verifies a KMapEstimationHistogramBucket message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KMapEstimationHistogramBucket message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KMapEstimationHistogramBucket
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket;
+
+ /**
+ * Creates a plain object from a KMapEstimationHistogramBucket message. Also converts values to other types if specified.
+ * @param message KMapEstimationHistogramBucket
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.KMapEstimationResult.KMapEstimationHistogramBucket, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KMapEstimationHistogramBucket to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a DeltaPresenceEstimationResult. */
+ interface IDeltaPresenceEstimationResult {
+
+ /** DeltaPresenceEstimationResult deltaPresenceEstimationHistogram */
+ deltaPresenceEstimationHistogram?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.IDeltaPresenceEstimationHistogramBucket[]|null);
+ }
+
+ /** Represents a DeltaPresenceEstimationResult. */
+ class DeltaPresenceEstimationResult implements IDeltaPresenceEstimationResult {
+
+ /**
+ * Constructs a new DeltaPresenceEstimationResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IDeltaPresenceEstimationResult);
+
+ /** DeltaPresenceEstimationResult deltaPresenceEstimationHistogram. */
+ public deltaPresenceEstimationHistogram: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.IDeltaPresenceEstimationHistogramBucket[];
+
+ /**
+ * Creates a new DeltaPresenceEstimationResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeltaPresenceEstimationResult instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IDeltaPresenceEstimationResult): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult;
+
+ /**
+ * Encodes the specified DeltaPresenceEstimationResult message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.verify|verify} messages.
+ * @param message DeltaPresenceEstimationResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IDeltaPresenceEstimationResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeltaPresenceEstimationResult message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.verify|verify} messages.
+ * @param message DeltaPresenceEstimationResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IDeltaPresenceEstimationResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeltaPresenceEstimationResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeltaPresenceEstimationResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult;
+
+ /**
+ * Decodes a DeltaPresenceEstimationResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeltaPresenceEstimationResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult;
+
+ /**
+ * Verifies a DeltaPresenceEstimationResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeltaPresenceEstimationResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeltaPresenceEstimationResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult;
+
+ /**
+ * Creates a plain object from a DeltaPresenceEstimationResult message. Also converts values to other types if specified.
+ * @param message DeltaPresenceEstimationResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeltaPresenceEstimationResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace DeltaPresenceEstimationResult {
+
+ /** Properties of a DeltaPresenceEstimationQuasiIdValues. */
+ interface IDeltaPresenceEstimationQuasiIdValues {
+
+ /** DeltaPresenceEstimationQuasiIdValues quasiIdsValues */
+ quasiIdsValues?: (google.privacy.dlp.v2.IValue[]|null);
+
+ /** DeltaPresenceEstimationQuasiIdValues estimatedProbability */
+ estimatedProbability?: (number|null);
+ }
+
+ /** Represents a DeltaPresenceEstimationQuasiIdValues. */
+ class DeltaPresenceEstimationQuasiIdValues implements IDeltaPresenceEstimationQuasiIdValues {
+
+ /**
+ * Constructs a new DeltaPresenceEstimationQuasiIdValues.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.IDeltaPresenceEstimationQuasiIdValues);
+
+ /** DeltaPresenceEstimationQuasiIdValues quasiIdsValues. */
+ public quasiIdsValues: google.privacy.dlp.v2.IValue[];
+
+ /** DeltaPresenceEstimationQuasiIdValues estimatedProbability. */
+ public estimatedProbability: number;
+
+ /**
+ * Creates a new DeltaPresenceEstimationQuasiIdValues instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeltaPresenceEstimationQuasiIdValues instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.IDeltaPresenceEstimationQuasiIdValues): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationQuasiIdValues;
+
+ /**
+ * Encodes the specified DeltaPresenceEstimationQuasiIdValues message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationQuasiIdValues.verify|verify} messages.
+ * @param message DeltaPresenceEstimationQuasiIdValues message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.IDeltaPresenceEstimationQuasiIdValues, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeltaPresenceEstimationQuasiIdValues message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationQuasiIdValues.verify|verify} messages.
+ * @param message DeltaPresenceEstimationQuasiIdValues message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.IDeltaPresenceEstimationQuasiIdValues, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeltaPresenceEstimationQuasiIdValues message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeltaPresenceEstimationQuasiIdValues
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationQuasiIdValues;
+
+ /**
+ * Decodes a DeltaPresenceEstimationQuasiIdValues message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeltaPresenceEstimationQuasiIdValues
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationQuasiIdValues;
+
+ /**
+ * Verifies a DeltaPresenceEstimationQuasiIdValues message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeltaPresenceEstimationQuasiIdValues message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeltaPresenceEstimationQuasiIdValues
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationQuasiIdValues;
+
+ /**
+ * Creates a plain object from a DeltaPresenceEstimationQuasiIdValues message. Also converts values to other types if specified.
+ * @param message DeltaPresenceEstimationQuasiIdValues
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationQuasiIdValues, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeltaPresenceEstimationQuasiIdValues to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DeltaPresenceEstimationHistogramBucket. */
+ interface IDeltaPresenceEstimationHistogramBucket {
+
+ /** DeltaPresenceEstimationHistogramBucket minProbability */
+ minProbability?: (number|null);
+
+ /** DeltaPresenceEstimationHistogramBucket maxProbability */
+ maxProbability?: (number|null);
+
+ /** DeltaPresenceEstimationHistogramBucket bucketSize */
+ bucketSize?: (number|Long|string|null);
+
+ /** DeltaPresenceEstimationHistogramBucket bucketValues */
+ bucketValues?: (google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.IDeltaPresenceEstimationQuasiIdValues[]|null);
+
+ /** DeltaPresenceEstimationHistogramBucket bucketValueCount */
+ bucketValueCount?: (number|Long|string|null);
+ }
+
+ /** Represents a DeltaPresenceEstimationHistogramBucket. */
+ class DeltaPresenceEstimationHistogramBucket implements IDeltaPresenceEstimationHistogramBucket {
+
+ /**
+ * Constructs a new DeltaPresenceEstimationHistogramBucket.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.IDeltaPresenceEstimationHistogramBucket);
+
+ /** DeltaPresenceEstimationHistogramBucket minProbability. */
+ public minProbability: number;
+
+ /** DeltaPresenceEstimationHistogramBucket maxProbability. */
+ public maxProbability: number;
+
+ /** DeltaPresenceEstimationHistogramBucket bucketSize. */
+ public bucketSize: (number|Long|string);
+
+ /** DeltaPresenceEstimationHistogramBucket bucketValues. */
+ public bucketValues: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.IDeltaPresenceEstimationQuasiIdValues[];
+
+ /** DeltaPresenceEstimationHistogramBucket bucketValueCount. */
+ public bucketValueCount: (number|Long|string);
+
+ /**
+ * Creates a new DeltaPresenceEstimationHistogramBucket instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeltaPresenceEstimationHistogramBucket instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.IDeltaPresenceEstimationHistogramBucket): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationHistogramBucket;
+
+ /**
+ * Encodes the specified DeltaPresenceEstimationHistogramBucket message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationHistogramBucket.verify|verify} messages.
+ * @param message DeltaPresenceEstimationHistogramBucket message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.IDeltaPresenceEstimationHistogramBucket, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeltaPresenceEstimationHistogramBucket message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationHistogramBucket.verify|verify} messages.
+ * @param message DeltaPresenceEstimationHistogramBucket message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.IDeltaPresenceEstimationHistogramBucket, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeltaPresenceEstimationHistogramBucket message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeltaPresenceEstimationHistogramBucket
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationHistogramBucket;
+
+ /**
+ * Decodes a DeltaPresenceEstimationHistogramBucket message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeltaPresenceEstimationHistogramBucket
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationHistogramBucket;
+
+ /**
+ * Verifies a DeltaPresenceEstimationHistogramBucket message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeltaPresenceEstimationHistogramBucket message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeltaPresenceEstimationHistogramBucket
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationHistogramBucket;
+
+ /**
+ * Creates a plain object from a DeltaPresenceEstimationHistogramBucket message. Also converts values to other types if specified.
+ * @param message DeltaPresenceEstimationHistogramBucket
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.DeltaPresenceEstimationResult.DeltaPresenceEstimationHistogramBucket, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeltaPresenceEstimationHistogramBucket to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a RequestedRiskAnalysisOptions. */
+ interface IRequestedRiskAnalysisOptions {
+
+ /** RequestedRiskAnalysisOptions jobConfig */
+ jobConfig?: (google.privacy.dlp.v2.IRiskAnalysisJobConfig|null);
+ }
+
+ /** Represents a RequestedRiskAnalysisOptions. */
+ class RequestedRiskAnalysisOptions implements IRequestedRiskAnalysisOptions {
+
+ /**
+ * Constructs a new RequestedRiskAnalysisOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IRequestedRiskAnalysisOptions);
+
+ /** RequestedRiskAnalysisOptions jobConfig. */
+ public jobConfig?: (google.privacy.dlp.v2.IRiskAnalysisJobConfig|null);
+
+ /**
+ * Creates a new RequestedRiskAnalysisOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RequestedRiskAnalysisOptions instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IRequestedRiskAnalysisOptions): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.RequestedRiskAnalysisOptions;
+
+ /**
+ * Encodes the specified RequestedRiskAnalysisOptions message. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.RequestedRiskAnalysisOptions.verify|verify} messages.
+ * @param message RequestedRiskAnalysisOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IRequestedRiskAnalysisOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RequestedRiskAnalysisOptions message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.RequestedRiskAnalysisOptions.verify|verify} messages.
+ * @param message RequestedRiskAnalysisOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.IRequestedRiskAnalysisOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RequestedRiskAnalysisOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RequestedRiskAnalysisOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.RequestedRiskAnalysisOptions;
+
+ /**
+ * Decodes a RequestedRiskAnalysisOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RequestedRiskAnalysisOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.RequestedRiskAnalysisOptions;
+
+ /**
+ * Verifies a RequestedRiskAnalysisOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RequestedRiskAnalysisOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RequestedRiskAnalysisOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.RequestedRiskAnalysisOptions;
+
+ /**
+ * Creates a plain object from a RequestedRiskAnalysisOptions message. Also converts values to other types if specified.
+ * @param message RequestedRiskAnalysisOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.AnalyzeDataSourceRiskDetails.RequestedRiskAnalysisOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RequestedRiskAnalysisOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a ValueFrequency. */
+ interface IValueFrequency {
+
+ /** ValueFrequency value */
+ value?: (google.privacy.dlp.v2.IValue|null);
+
+ /** ValueFrequency count */
+ count?: (number|Long|string|null);
+ }
+
+ /** Represents a ValueFrequency. */
+ class ValueFrequency implements IValueFrequency {
+
+ /**
+ * Constructs a new ValueFrequency.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IValueFrequency);
+
+ /** ValueFrequency value. */
+ public value?: (google.privacy.dlp.v2.IValue|null);
+
+ /** ValueFrequency count. */
+ public count: (number|Long|string);
+
+ /**
+ * Creates a new ValueFrequency instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ValueFrequency instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IValueFrequency): google.privacy.dlp.v2.ValueFrequency;
+
+ /**
+ * Encodes the specified ValueFrequency message. Does not implicitly {@link google.privacy.dlp.v2.ValueFrequency.verify|verify} messages.
+ * @param message ValueFrequency message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IValueFrequency, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ValueFrequency message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ValueFrequency.verify|verify} messages.
+ * @param message ValueFrequency message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IValueFrequency, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ValueFrequency message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ValueFrequency
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ValueFrequency;
+
+ /**
+ * Decodes a ValueFrequency message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ValueFrequency
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ValueFrequency;
+
+ /**
+ * Verifies a ValueFrequency message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ValueFrequency message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ValueFrequency
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ValueFrequency;
+
+ /**
+ * Creates a plain object from a ValueFrequency message. Also converts values to other types if specified.
+ * @param message ValueFrequency
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ValueFrequency, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ValueFrequency to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a Value. */
+ interface IValue {
+
+ /** Value integerValue */
+ integerValue?: (number|Long|string|null);
+
+ /** Value floatValue */
+ floatValue?: (number|null);
+
+ /** Value stringValue */
+ stringValue?: (string|null);
+
+ /** Value booleanValue */
+ booleanValue?: (boolean|null);
+
+ /** Value timestampValue */
+ timestampValue?: (google.protobuf.ITimestamp|null);
+
+ /** Value timeValue */
+ timeValue?: (google.type.ITimeOfDay|null);
+
+ /** Value dateValue */
+ dateValue?: (google.type.IDate|null);
+
+ /** Value dayOfWeekValue */
+ dayOfWeekValue?: (google.type.DayOfWeek|keyof typeof google.type.DayOfWeek|null);
+ }
+
+ /** Represents a Value. */
+ class Value implements IValue {
+
+ /**
+ * Constructs a new Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IValue);
+
+ /** Value integerValue. */
+ public integerValue: (number|Long|string);
+
+ /** Value floatValue. */
+ public floatValue: number;
+
+ /** Value stringValue. */
+ public stringValue: string;
+
+ /** Value booleanValue. */
+ public booleanValue: boolean;
+
+ /** Value timestampValue. */
+ public timestampValue?: (google.protobuf.ITimestamp|null);
+
+ /** Value timeValue. */
+ public timeValue?: (google.type.ITimeOfDay|null);
+
+ /** Value dateValue. */
+ public dateValue?: (google.type.IDate|null);
+
+ /** Value dayOfWeekValue. */
+ public dayOfWeekValue: (google.type.DayOfWeek|keyof typeof google.type.DayOfWeek);
+
+ /** Value type. */
+ public type?: ("integerValue"|"floatValue"|"stringValue"|"booleanValue"|"timestampValue"|"timeValue"|"dateValue"|"dayOfWeekValue");
+
+ /**
+ * Creates a new Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Value instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IValue): google.privacy.dlp.v2.Value;
+
+ /**
+ * Encodes the specified Value message. Does not implicitly {@link google.privacy.dlp.v2.Value.verify|verify} messages.
+ * @param message Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Value message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Value.verify|verify} messages.
+ * @param message Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Value;
+
+ /**
+ * Decodes a Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Value;
+
+ /**
+ * Verifies a Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Value;
+
+ /**
+ * Creates a plain object from a Value message. Also converts values to other types if specified.
+ * @param message Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a QuoteInfo. */
+ interface IQuoteInfo {
+
+ /** QuoteInfo dateTime */
+ dateTime?: (google.privacy.dlp.v2.IDateTime|null);
+ }
+
+ /** Represents a QuoteInfo. */
+ class QuoteInfo implements IQuoteInfo {
+
+ /**
+ * Constructs a new QuoteInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IQuoteInfo);
+
+ /** QuoteInfo dateTime. */
+ public dateTime?: (google.privacy.dlp.v2.IDateTime|null);
+
+ /** QuoteInfo parsedQuote. */
+ public parsedQuote?: "dateTime";
+
+ /**
+ * Creates a new QuoteInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns QuoteInfo instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IQuoteInfo): google.privacy.dlp.v2.QuoteInfo;
+
+ /**
+ * Encodes the specified QuoteInfo message. Does not implicitly {@link google.privacy.dlp.v2.QuoteInfo.verify|verify} messages.
+ * @param message QuoteInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IQuoteInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified QuoteInfo message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.QuoteInfo.verify|verify} messages.
+ * @param message QuoteInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IQuoteInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a QuoteInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns QuoteInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.QuoteInfo;
+
+ /**
+ * Decodes a QuoteInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns QuoteInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.QuoteInfo;
+
+ /**
+ * Verifies a QuoteInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a QuoteInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns QuoteInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.QuoteInfo;
+
+ /**
+ * Creates a plain object from a QuoteInfo message. Also converts values to other types if specified.
+ * @param message QuoteInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.QuoteInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this QuoteInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DateTime. */
+ interface IDateTime {
+
+ /** DateTime date */
+ date?: (google.type.IDate|null);
+
+ /** DateTime dayOfWeek */
+ dayOfWeek?: (google.type.DayOfWeek|keyof typeof google.type.DayOfWeek|null);
+
+ /** DateTime time */
+ time?: (google.type.ITimeOfDay|null);
+
+ /** DateTime timeZone */
+ timeZone?: (google.privacy.dlp.v2.DateTime.ITimeZone|null);
+ }
+
+ /** Represents a DateTime. */
+ class DateTime implements IDateTime {
+
+ /**
+ * Constructs a new DateTime.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IDateTime);
+
+ /** DateTime date. */
+ public date?: (google.type.IDate|null);
+
+ /** DateTime dayOfWeek. */
+ public dayOfWeek: (google.type.DayOfWeek|keyof typeof google.type.DayOfWeek);
+
+ /** DateTime time. */
+ public time?: (google.type.ITimeOfDay|null);
+
+ /** DateTime timeZone. */
+ public timeZone?: (google.privacy.dlp.v2.DateTime.ITimeZone|null);
+
+ /**
+ * Creates a new DateTime instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DateTime instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IDateTime): google.privacy.dlp.v2.DateTime;
+
+ /**
+ * Encodes the specified DateTime message. Does not implicitly {@link google.privacy.dlp.v2.DateTime.verify|verify} messages.
+ * @param message DateTime message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IDateTime, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DateTime message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DateTime.verify|verify} messages.
+ * @param message DateTime message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IDateTime, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DateTime message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DateTime
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DateTime;
+
+ /**
+ * Decodes a DateTime message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DateTime
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DateTime;
+
+ /**
+ * Verifies a DateTime message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DateTime message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DateTime
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DateTime;
+
+ /**
+ * Creates a plain object from a DateTime message. Also converts values to other types if specified.
+ * @param message DateTime
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DateTime, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DateTime to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace DateTime {
+
+ /** Properties of a TimeZone. */
+ interface ITimeZone {
+
+ /** TimeZone offsetMinutes */
+ offsetMinutes?: (number|null);
+ }
+
+ /** Represents a TimeZone. */
+ class TimeZone implements ITimeZone {
+
+ /**
+ * Constructs a new TimeZone.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.DateTime.ITimeZone);
+
+ /** TimeZone offsetMinutes. */
+ public offsetMinutes: number;
+
+ /**
+ * Creates a new TimeZone instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimeZone instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.DateTime.ITimeZone): google.privacy.dlp.v2.DateTime.TimeZone;
+
+ /**
+ * Encodes the specified TimeZone message. Does not implicitly {@link google.privacy.dlp.v2.DateTime.TimeZone.verify|verify} messages.
+ * @param message TimeZone message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.DateTime.ITimeZone, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimeZone message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DateTime.TimeZone.verify|verify} messages.
+ * @param message TimeZone message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.DateTime.ITimeZone, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimeZone message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimeZone
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DateTime.TimeZone;
+
+ /**
+ * Decodes a TimeZone message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimeZone
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DateTime.TimeZone;
+
+ /**
+ * Verifies a TimeZone message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimeZone message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimeZone
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DateTime.TimeZone;
+
+ /**
+ * Creates a plain object from a TimeZone message. Also converts values to other types if specified.
+ * @param message TimeZone
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DateTime.TimeZone, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimeZone to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a DeidentifyConfig. */
+ interface IDeidentifyConfig {
+
+ /** DeidentifyConfig infoTypeTransformations */
+ infoTypeTransformations?: (google.privacy.dlp.v2.IInfoTypeTransformations|null);
+
+ /** DeidentifyConfig recordTransformations */
+ recordTransformations?: (google.privacy.dlp.v2.IRecordTransformations|null);
+
+ /** DeidentifyConfig transformationErrorHandling */
+ transformationErrorHandling?: (google.privacy.dlp.v2.ITransformationErrorHandling|null);
+ }
+
+ /** Represents a DeidentifyConfig. */
+ class DeidentifyConfig implements IDeidentifyConfig {
+
+ /**
+ * Constructs a new DeidentifyConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IDeidentifyConfig);
+
+ /** DeidentifyConfig infoTypeTransformations. */
+ public infoTypeTransformations?: (google.privacy.dlp.v2.IInfoTypeTransformations|null);
+
+ /** DeidentifyConfig recordTransformations. */
+ public recordTransformations?: (google.privacy.dlp.v2.IRecordTransformations|null);
+
+ /** DeidentifyConfig transformationErrorHandling. */
+ public transformationErrorHandling?: (google.privacy.dlp.v2.ITransformationErrorHandling|null);
+
+ /** DeidentifyConfig transformation. */
+ public transformation?: ("infoTypeTransformations"|"recordTransformations");
+
+ /**
+ * Creates a new DeidentifyConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeidentifyConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IDeidentifyConfig): google.privacy.dlp.v2.DeidentifyConfig;
+
+ /**
+ * Encodes the specified DeidentifyConfig message. Does not implicitly {@link google.privacy.dlp.v2.DeidentifyConfig.verify|verify} messages.
+ * @param message DeidentifyConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IDeidentifyConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeidentifyConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DeidentifyConfig.verify|verify} messages.
+ * @param message DeidentifyConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IDeidentifyConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeidentifyConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeidentifyConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DeidentifyConfig;
+
+ /**
+ * Decodes a DeidentifyConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeidentifyConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DeidentifyConfig;
+
+ /**
+ * Verifies a DeidentifyConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeidentifyConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeidentifyConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DeidentifyConfig;
+
+ /**
+ * Creates a plain object from a DeidentifyConfig message. Also converts values to other types if specified.
+ * @param message DeidentifyConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DeidentifyConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeidentifyConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a TransformationErrorHandling. */
+ interface ITransformationErrorHandling {
+
+ /** TransformationErrorHandling throwError */
+ throwError?: (google.privacy.dlp.v2.TransformationErrorHandling.IThrowError|null);
+
+ /** TransformationErrorHandling leaveUntransformed */
+ leaveUntransformed?: (google.privacy.dlp.v2.TransformationErrorHandling.ILeaveUntransformed|null);
+ }
+
+ /** Represents a TransformationErrorHandling. */
+ class TransformationErrorHandling implements ITransformationErrorHandling {
+
+ /**
+ * Constructs a new TransformationErrorHandling.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ITransformationErrorHandling);
+
+ /** TransformationErrorHandling throwError. */
+ public throwError?: (google.privacy.dlp.v2.TransformationErrorHandling.IThrowError|null);
+
+ /** TransformationErrorHandling leaveUntransformed. */
+ public leaveUntransformed?: (google.privacy.dlp.v2.TransformationErrorHandling.ILeaveUntransformed|null);
+
+ /** TransformationErrorHandling mode. */
+ public mode?: ("throwError"|"leaveUntransformed");
+
+ /**
+ * Creates a new TransformationErrorHandling instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TransformationErrorHandling instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ITransformationErrorHandling): google.privacy.dlp.v2.TransformationErrorHandling;
+
+ /**
+ * Encodes the specified TransformationErrorHandling message. Does not implicitly {@link google.privacy.dlp.v2.TransformationErrorHandling.verify|verify} messages.
+ * @param message TransformationErrorHandling message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ITransformationErrorHandling, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TransformationErrorHandling message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.TransformationErrorHandling.verify|verify} messages.
+ * @param message TransformationErrorHandling message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ITransformationErrorHandling, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TransformationErrorHandling message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TransformationErrorHandling
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.TransformationErrorHandling;
+
+ /**
+ * Decodes a TransformationErrorHandling message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TransformationErrorHandling
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.TransformationErrorHandling;
+
+ /**
+ * Verifies a TransformationErrorHandling message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TransformationErrorHandling message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TransformationErrorHandling
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.TransformationErrorHandling;
+
+ /**
+ * Creates a plain object from a TransformationErrorHandling message. Also converts values to other types if specified.
+ * @param message TransformationErrorHandling
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.TransformationErrorHandling, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TransformationErrorHandling to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace TransformationErrorHandling {
+
+ /** Properties of a ThrowError. */
+ interface IThrowError {
+ }
+
+ /** Represents a ThrowError. */
+ class ThrowError implements IThrowError {
+
+ /**
+ * Constructs a new ThrowError.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.TransformationErrorHandling.IThrowError);
+
+ /**
+ * Creates a new ThrowError instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ThrowError instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.TransformationErrorHandling.IThrowError): google.privacy.dlp.v2.TransformationErrorHandling.ThrowError;
+
+ /**
+ * Encodes the specified ThrowError message. Does not implicitly {@link google.privacy.dlp.v2.TransformationErrorHandling.ThrowError.verify|verify} messages.
+ * @param message ThrowError message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.TransformationErrorHandling.IThrowError, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ThrowError message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.TransformationErrorHandling.ThrowError.verify|verify} messages.
+ * @param message ThrowError message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.TransformationErrorHandling.IThrowError, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ThrowError message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ThrowError
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.TransformationErrorHandling.ThrowError;
+
+ /**
+ * Decodes a ThrowError message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ThrowError
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.TransformationErrorHandling.ThrowError;
+
+ /**
+ * Verifies a ThrowError message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ThrowError message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ThrowError
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.TransformationErrorHandling.ThrowError;
+
+ /**
+ * Creates a plain object from a ThrowError message. Also converts values to other types if specified.
+ * @param message ThrowError
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.TransformationErrorHandling.ThrowError, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ThrowError to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a LeaveUntransformed. */
+ interface ILeaveUntransformed {
+ }
+
+ /** Represents a LeaveUntransformed. */
+ class LeaveUntransformed implements ILeaveUntransformed {
+
+ /**
+ * Constructs a new LeaveUntransformed.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.TransformationErrorHandling.ILeaveUntransformed);
+
+ /**
+ * Creates a new LeaveUntransformed instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LeaveUntransformed instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.TransformationErrorHandling.ILeaveUntransformed): google.privacy.dlp.v2.TransformationErrorHandling.LeaveUntransformed;
+
+ /**
+ * Encodes the specified LeaveUntransformed message. Does not implicitly {@link google.privacy.dlp.v2.TransformationErrorHandling.LeaveUntransformed.verify|verify} messages.
+ * @param message LeaveUntransformed message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.TransformationErrorHandling.ILeaveUntransformed, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LeaveUntransformed message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.TransformationErrorHandling.LeaveUntransformed.verify|verify} messages.
+ * @param message LeaveUntransformed message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.TransformationErrorHandling.ILeaveUntransformed, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LeaveUntransformed message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LeaveUntransformed
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.TransformationErrorHandling.LeaveUntransformed;
+
+ /**
+ * Decodes a LeaveUntransformed message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LeaveUntransformed
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.TransformationErrorHandling.LeaveUntransformed;
+
+ /**
+ * Verifies a LeaveUntransformed message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LeaveUntransformed message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LeaveUntransformed
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.TransformationErrorHandling.LeaveUntransformed;
+
+ /**
+ * Creates a plain object from a LeaveUntransformed message. Also converts values to other types if specified.
+ * @param message LeaveUntransformed
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.TransformationErrorHandling.LeaveUntransformed, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LeaveUntransformed to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a PrimitiveTransformation. */
+ interface IPrimitiveTransformation {
+
+ /** PrimitiveTransformation replaceConfig */
+ replaceConfig?: (google.privacy.dlp.v2.IReplaceValueConfig|null);
+
+ /** PrimitiveTransformation redactConfig */
+ redactConfig?: (google.privacy.dlp.v2.IRedactConfig|null);
+
+ /** PrimitiveTransformation characterMaskConfig */
+ characterMaskConfig?: (google.privacy.dlp.v2.ICharacterMaskConfig|null);
+
+ /** PrimitiveTransformation cryptoReplaceFfxFpeConfig */
+ cryptoReplaceFfxFpeConfig?: (google.privacy.dlp.v2.ICryptoReplaceFfxFpeConfig|null);
+
+ /** PrimitiveTransformation fixedSizeBucketingConfig */
+ fixedSizeBucketingConfig?: (google.privacy.dlp.v2.IFixedSizeBucketingConfig|null);
+
+ /** PrimitiveTransformation bucketingConfig */
+ bucketingConfig?: (google.privacy.dlp.v2.IBucketingConfig|null);
+
+ /** PrimitiveTransformation replaceWithInfoTypeConfig */
+ replaceWithInfoTypeConfig?: (google.privacy.dlp.v2.IReplaceWithInfoTypeConfig|null);
+
+ /** PrimitiveTransformation timePartConfig */
+ timePartConfig?: (google.privacy.dlp.v2.ITimePartConfig|null);
+
+ /** PrimitiveTransformation cryptoHashConfig */
+ cryptoHashConfig?: (google.privacy.dlp.v2.ICryptoHashConfig|null);
+
+ /** PrimitiveTransformation dateShiftConfig */
+ dateShiftConfig?: (google.privacy.dlp.v2.IDateShiftConfig|null);
+
+ /** PrimitiveTransformation cryptoDeterministicConfig */
+ cryptoDeterministicConfig?: (google.privacy.dlp.v2.ICryptoDeterministicConfig|null);
+ }
+
+ /** Represents a PrimitiveTransformation. */
+ class PrimitiveTransformation implements IPrimitiveTransformation {
+
+ /**
+ * Constructs a new PrimitiveTransformation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IPrimitiveTransformation);
+
+ /** PrimitiveTransformation replaceConfig. */
+ public replaceConfig?: (google.privacy.dlp.v2.IReplaceValueConfig|null);
+
+ /** PrimitiveTransformation redactConfig. */
+ public redactConfig?: (google.privacy.dlp.v2.IRedactConfig|null);
+
+ /** PrimitiveTransformation characterMaskConfig. */
+ public characterMaskConfig?: (google.privacy.dlp.v2.ICharacterMaskConfig|null);
+
+ /** PrimitiveTransformation cryptoReplaceFfxFpeConfig. */
+ public cryptoReplaceFfxFpeConfig?: (google.privacy.dlp.v2.ICryptoReplaceFfxFpeConfig|null);
+
+ /** PrimitiveTransformation fixedSizeBucketingConfig. */
+ public fixedSizeBucketingConfig?: (google.privacy.dlp.v2.IFixedSizeBucketingConfig|null);
+
+ /** PrimitiveTransformation bucketingConfig. */
+ public bucketingConfig?: (google.privacy.dlp.v2.IBucketingConfig|null);
+
+ /** PrimitiveTransformation replaceWithInfoTypeConfig. */
+ public replaceWithInfoTypeConfig?: (google.privacy.dlp.v2.IReplaceWithInfoTypeConfig|null);
+
+ /** PrimitiveTransformation timePartConfig. */
+ public timePartConfig?: (google.privacy.dlp.v2.ITimePartConfig|null);
+
+ /** PrimitiveTransformation cryptoHashConfig. */
+ public cryptoHashConfig?: (google.privacy.dlp.v2.ICryptoHashConfig|null);
+
+ /** PrimitiveTransformation dateShiftConfig. */
+ public dateShiftConfig?: (google.privacy.dlp.v2.IDateShiftConfig|null);
+
+ /** PrimitiveTransformation cryptoDeterministicConfig. */
+ public cryptoDeterministicConfig?: (google.privacy.dlp.v2.ICryptoDeterministicConfig|null);
+
+ /** PrimitiveTransformation transformation. */
+ public transformation?: ("replaceConfig"|"redactConfig"|"characterMaskConfig"|"cryptoReplaceFfxFpeConfig"|"fixedSizeBucketingConfig"|"bucketingConfig"|"replaceWithInfoTypeConfig"|"timePartConfig"|"cryptoHashConfig"|"dateShiftConfig"|"cryptoDeterministicConfig");
+
+ /**
+ * Creates a new PrimitiveTransformation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PrimitiveTransformation instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IPrimitiveTransformation): google.privacy.dlp.v2.PrimitiveTransformation;
+
+ /**
+ * Encodes the specified PrimitiveTransformation message. Does not implicitly {@link google.privacy.dlp.v2.PrimitiveTransformation.verify|verify} messages.
+ * @param message PrimitiveTransformation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IPrimitiveTransformation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PrimitiveTransformation message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.PrimitiveTransformation.verify|verify} messages.
+ * @param message PrimitiveTransformation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IPrimitiveTransformation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PrimitiveTransformation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PrimitiveTransformation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.PrimitiveTransformation;
+
+ /**
+ * Decodes a PrimitiveTransformation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PrimitiveTransformation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.PrimitiveTransformation;
+
+ /**
+ * Verifies a PrimitiveTransformation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PrimitiveTransformation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PrimitiveTransformation
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.PrimitiveTransformation;
+
+ /**
+ * Creates a plain object from a PrimitiveTransformation message. Also converts values to other types if specified.
+ * @param message PrimitiveTransformation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.PrimitiveTransformation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PrimitiveTransformation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a TimePartConfig. */
+ interface ITimePartConfig {
+
+ /** TimePartConfig partToExtract */
+ partToExtract?: (google.privacy.dlp.v2.TimePartConfig.TimePart|keyof typeof google.privacy.dlp.v2.TimePartConfig.TimePart|null);
+ }
+
+ /** Represents a TimePartConfig. */
+ class TimePartConfig implements ITimePartConfig {
+
+ /**
+ * Constructs a new TimePartConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ITimePartConfig);
+
+ /** TimePartConfig partToExtract. */
+ public partToExtract: (google.privacy.dlp.v2.TimePartConfig.TimePart|keyof typeof google.privacy.dlp.v2.TimePartConfig.TimePart);
+
+ /**
+ * Creates a new TimePartConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimePartConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ITimePartConfig): google.privacy.dlp.v2.TimePartConfig;
+
+ /**
+ * Encodes the specified TimePartConfig message. Does not implicitly {@link google.privacy.dlp.v2.TimePartConfig.verify|verify} messages.
+ * @param message TimePartConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ITimePartConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimePartConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.TimePartConfig.verify|verify} messages.
+ * @param message TimePartConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ITimePartConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimePartConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimePartConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.TimePartConfig;
+
+ /**
+ * Decodes a TimePartConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimePartConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.TimePartConfig;
+
+ /**
+ * Verifies a TimePartConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimePartConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimePartConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.TimePartConfig;
+
+ /**
+ * Creates a plain object from a TimePartConfig message. Also converts values to other types if specified.
+ * @param message TimePartConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.TimePartConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimePartConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace TimePartConfig {
+
+ /** TimePart enum. */
+ enum TimePart {
+ TIME_PART_UNSPECIFIED = 0,
+ YEAR = 1,
+ MONTH = 2,
+ DAY_OF_MONTH = 3,
+ DAY_OF_WEEK = 4,
+ WEEK_OF_YEAR = 5,
+ HOUR_OF_DAY = 6
+ }
+ }
+
+ /** Properties of a CryptoHashConfig. */
+ interface ICryptoHashConfig {
+
+ /** CryptoHashConfig cryptoKey */
+ cryptoKey?: (google.privacy.dlp.v2.ICryptoKey|null);
+ }
+
+ /** Represents a CryptoHashConfig. */
+ class CryptoHashConfig implements ICryptoHashConfig {
+
+ /**
+ * Constructs a new CryptoHashConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICryptoHashConfig);
+
+ /** CryptoHashConfig cryptoKey. */
+ public cryptoKey?: (google.privacy.dlp.v2.ICryptoKey|null);
+
+ /**
+ * Creates a new CryptoHashConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CryptoHashConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICryptoHashConfig): google.privacy.dlp.v2.CryptoHashConfig;
+
+ /**
+ * Encodes the specified CryptoHashConfig message. Does not implicitly {@link google.privacy.dlp.v2.CryptoHashConfig.verify|verify} messages.
+ * @param message CryptoHashConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICryptoHashConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CryptoHashConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CryptoHashConfig.verify|verify} messages.
+ * @param message CryptoHashConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICryptoHashConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CryptoHashConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CryptoHashConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CryptoHashConfig;
+
+ /**
+ * Decodes a CryptoHashConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CryptoHashConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CryptoHashConfig;
+
+ /**
+ * Verifies a CryptoHashConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CryptoHashConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CryptoHashConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CryptoHashConfig;
+
+ /**
+ * Creates a plain object from a CryptoHashConfig message. Also converts values to other types if specified.
+ * @param message CryptoHashConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CryptoHashConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CryptoHashConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a CryptoDeterministicConfig. */
+ interface ICryptoDeterministicConfig {
+
+ /** CryptoDeterministicConfig cryptoKey */
+ cryptoKey?: (google.privacy.dlp.v2.ICryptoKey|null);
+
+ /** CryptoDeterministicConfig surrogateInfoType */
+ surrogateInfoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** CryptoDeterministicConfig context */
+ context?: (google.privacy.dlp.v2.IFieldId|null);
+ }
+
+ /** Represents a CryptoDeterministicConfig. */
+ class CryptoDeterministicConfig implements ICryptoDeterministicConfig {
+
+ /**
+ * Constructs a new CryptoDeterministicConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICryptoDeterministicConfig);
+
+ /** CryptoDeterministicConfig cryptoKey. */
+ public cryptoKey?: (google.privacy.dlp.v2.ICryptoKey|null);
+
+ /** CryptoDeterministicConfig surrogateInfoType. */
+ public surrogateInfoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** CryptoDeterministicConfig context. */
+ public context?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /**
+ * Creates a new CryptoDeterministicConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CryptoDeterministicConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICryptoDeterministicConfig): google.privacy.dlp.v2.CryptoDeterministicConfig;
+
+ /**
+ * Encodes the specified CryptoDeterministicConfig message. Does not implicitly {@link google.privacy.dlp.v2.CryptoDeterministicConfig.verify|verify} messages.
+ * @param message CryptoDeterministicConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICryptoDeterministicConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CryptoDeterministicConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CryptoDeterministicConfig.verify|verify} messages.
+ * @param message CryptoDeterministicConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICryptoDeterministicConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CryptoDeterministicConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CryptoDeterministicConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CryptoDeterministicConfig;
+
+ /**
+ * Decodes a CryptoDeterministicConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CryptoDeterministicConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CryptoDeterministicConfig;
+
+ /**
+ * Verifies a CryptoDeterministicConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CryptoDeterministicConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CryptoDeterministicConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CryptoDeterministicConfig;
+
+ /**
+ * Creates a plain object from a CryptoDeterministicConfig message. Also converts values to other types if specified.
+ * @param message CryptoDeterministicConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CryptoDeterministicConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CryptoDeterministicConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ReplaceValueConfig. */
+ interface IReplaceValueConfig {
+
+ /** ReplaceValueConfig newValue */
+ newValue?: (google.privacy.dlp.v2.IValue|null);
+ }
+
+ /** Represents a ReplaceValueConfig. */
+ class ReplaceValueConfig implements IReplaceValueConfig {
+
+ /**
+ * Constructs a new ReplaceValueConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IReplaceValueConfig);
+
+ /** ReplaceValueConfig newValue. */
+ public newValue?: (google.privacy.dlp.v2.IValue|null);
+
+ /**
+ * Creates a new ReplaceValueConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReplaceValueConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IReplaceValueConfig): google.privacy.dlp.v2.ReplaceValueConfig;
+
+ /**
+ * Encodes the specified ReplaceValueConfig message. Does not implicitly {@link google.privacy.dlp.v2.ReplaceValueConfig.verify|verify} messages.
+ * @param message ReplaceValueConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IReplaceValueConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReplaceValueConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ReplaceValueConfig.verify|verify} messages.
+ * @param message ReplaceValueConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IReplaceValueConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReplaceValueConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReplaceValueConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ReplaceValueConfig;
+
+ /**
+ * Decodes a ReplaceValueConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReplaceValueConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ReplaceValueConfig;
+
+ /**
+ * Verifies a ReplaceValueConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReplaceValueConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReplaceValueConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ReplaceValueConfig;
+
+ /**
+ * Creates a plain object from a ReplaceValueConfig message. Also converts values to other types if specified.
+ * @param message ReplaceValueConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ReplaceValueConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReplaceValueConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ReplaceWithInfoTypeConfig. */
+ interface IReplaceWithInfoTypeConfig {
+ }
+
+ /** Represents a ReplaceWithInfoTypeConfig. */
+ class ReplaceWithInfoTypeConfig implements IReplaceWithInfoTypeConfig {
+
+ /**
+ * Constructs a new ReplaceWithInfoTypeConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IReplaceWithInfoTypeConfig);
+
+ /**
+ * Creates a new ReplaceWithInfoTypeConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReplaceWithInfoTypeConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IReplaceWithInfoTypeConfig): google.privacy.dlp.v2.ReplaceWithInfoTypeConfig;
+
+ /**
+ * Encodes the specified ReplaceWithInfoTypeConfig message. Does not implicitly {@link google.privacy.dlp.v2.ReplaceWithInfoTypeConfig.verify|verify} messages.
+ * @param message ReplaceWithInfoTypeConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IReplaceWithInfoTypeConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReplaceWithInfoTypeConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ReplaceWithInfoTypeConfig.verify|verify} messages.
+ * @param message ReplaceWithInfoTypeConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IReplaceWithInfoTypeConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReplaceWithInfoTypeConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReplaceWithInfoTypeConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ReplaceWithInfoTypeConfig;
+
+ /**
+ * Decodes a ReplaceWithInfoTypeConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReplaceWithInfoTypeConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ReplaceWithInfoTypeConfig;
+
+ /**
+ * Verifies a ReplaceWithInfoTypeConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReplaceWithInfoTypeConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReplaceWithInfoTypeConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ReplaceWithInfoTypeConfig;
+
+ /**
+ * Creates a plain object from a ReplaceWithInfoTypeConfig message. Also converts values to other types if specified.
+ * @param message ReplaceWithInfoTypeConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ReplaceWithInfoTypeConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReplaceWithInfoTypeConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a RedactConfig. */
+ interface IRedactConfig {
+ }
+
+ /** Represents a RedactConfig. */
+ class RedactConfig implements IRedactConfig {
+
+ /**
+ * Constructs a new RedactConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IRedactConfig);
+
+ /**
+ * Creates a new RedactConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RedactConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IRedactConfig): google.privacy.dlp.v2.RedactConfig;
+
+ /**
+ * Encodes the specified RedactConfig message. Does not implicitly {@link google.privacy.dlp.v2.RedactConfig.verify|verify} messages.
+ * @param message RedactConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IRedactConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RedactConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.RedactConfig.verify|verify} messages.
+ * @param message RedactConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IRedactConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RedactConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RedactConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.RedactConfig;
+
+ /**
+ * Decodes a RedactConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RedactConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.RedactConfig;
+
+ /**
+ * Verifies a RedactConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RedactConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RedactConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.RedactConfig;
+
+ /**
+ * Creates a plain object from a RedactConfig message. Also converts values to other types if specified.
+ * @param message RedactConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.RedactConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RedactConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a CharsToIgnore. */
+ interface ICharsToIgnore {
+
+ /** CharsToIgnore charactersToSkip */
+ charactersToSkip?: (string|null);
+
+ /** CharsToIgnore commonCharactersToIgnore */
+ commonCharactersToIgnore?: (google.privacy.dlp.v2.CharsToIgnore.CommonCharsToIgnore|keyof typeof google.privacy.dlp.v2.CharsToIgnore.CommonCharsToIgnore|null);
+ }
+
+ /** Represents a CharsToIgnore. */
+ class CharsToIgnore implements ICharsToIgnore {
+
+ /**
+ * Constructs a new CharsToIgnore.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICharsToIgnore);
+
+ /** CharsToIgnore charactersToSkip. */
+ public charactersToSkip: string;
+
+ /** CharsToIgnore commonCharactersToIgnore. */
+ public commonCharactersToIgnore: (google.privacy.dlp.v2.CharsToIgnore.CommonCharsToIgnore|keyof typeof google.privacy.dlp.v2.CharsToIgnore.CommonCharsToIgnore);
+
+ /** CharsToIgnore characters. */
+ public characters?: ("charactersToSkip"|"commonCharactersToIgnore");
+
+ /**
+ * Creates a new CharsToIgnore instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CharsToIgnore instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICharsToIgnore): google.privacy.dlp.v2.CharsToIgnore;
+
+ /**
+ * Encodes the specified CharsToIgnore message. Does not implicitly {@link google.privacy.dlp.v2.CharsToIgnore.verify|verify} messages.
+ * @param message CharsToIgnore message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICharsToIgnore, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CharsToIgnore message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CharsToIgnore.verify|verify} messages.
+ * @param message CharsToIgnore message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICharsToIgnore, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CharsToIgnore message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CharsToIgnore
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CharsToIgnore;
+
+ /**
+ * Decodes a CharsToIgnore message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CharsToIgnore
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CharsToIgnore;
+
+ /**
+ * Verifies a CharsToIgnore message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CharsToIgnore message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CharsToIgnore
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CharsToIgnore;
+
+ /**
+ * Creates a plain object from a CharsToIgnore message. Also converts values to other types if specified.
+ * @param message CharsToIgnore
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CharsToIgnore, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CharsToIgnore to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace CharsToIgnore {
+
+ /** CommonCharsToIgnore enum. */
+ enum CommonCharsToIgnore {
+ COMMON_CHARS_TO_IGNORE_UNSPECIFIED = 0,
+ NUMERIC = 1,
+ ALPHA_UPPER_CASE = 2,
+ ALPHA_LOWER_CASE = 3,
+ PUNCTUATION = 4,
+ WHITESPACE = 5
+ }
+ }
+
+ /** Properties of a CharacterMaskConfig. */
+ interface ICharacterMaskConfig {
+
+ /** CharacterMaskConfig maskingCharacter */
+ maskingCharacter?: (string|null);
+
+ /** CharacterMaskConfig numberToMask */
+ numberToMask?: (number|null);
+
+ /** CharacterMaskConfig reverseOrder */
+ reverseOrder?: (boolean|null);
+
+ /** CharacterMaskConfig charactersToIgnore */
+ charactersToIgnore?: (google.privacy.dlp.v2.ICharsToIgnore[]|null);
+ }
+
+ /** Represents a CharacterMaskConfig. */
+ class CharacterMaskConfig implements ICharacterMaskConfig {
+
+ /**
+ * Constructs a new CharacterMaskConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICharacterMaskConfig);
+
+ /** CharacterMaskConfig maskingCharacter. */
+ public maskingCharacter: string;
+
+ /** CharacterMaskConfig numberToMask. */
+ public numberToMask: number;
+
+ /** CharacterMaskConfig reverseOrder. */
+ public reverseOrder: boolean;
+
+ /** CharacterMaskConfig charactersToIgnore. */
+ public charactersToIgnore: google.privacy.dlp.v2.ICharsToIgnore[];
+
+ /**
+ * Creates a new CharacterMaskConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CharacterMaskConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICharacterMaskConfig): google.privacy.dlp.v2.CharacterMaskConfig;
+
+ /**
+ * Encodes the specified CharacterMaskConfig message. Does not implicitly {@link google.privacy.dlp.v2.CharacterMaskConfig.verify|verify} messages.
+ * @param message CharacterMaskConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICharacterMaskConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CharacterMaskConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CharacterMaskConfig.verify|verify} messages.
+ * @param message CharacterMaskConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICharacterMaskConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CharacterMaskConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CharacterMaskConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CharacterMaskConfig;
+
+ /**
+ * Decodes a CharacterMaskConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CharacterMaskConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CharacterMaskConfig;
+
+ /**
+ * Verifies a CharacterMaskConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CharacterMaskConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CharacterMaskConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CharacterMaskConfig;
+
+ /**
+ * Creates a plain object from a CharacterMaskConfig message. Also converts values to other types if specified.
+ * @param message CharacterMaskConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CharacterMaskConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CharacterMaskConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a FixedSizeBucketingConfig. */
+ interface IFixedSizeBucketingConfig {
+
+ /** FixedSizeBucketingConfig lowerBound */
+ lowerBound?: (google.privacy.dlp.v2.IValue|null);
+
+ /** FixedSizeBucketingConfig upperBound */
+ upperBound?: (google.privacy.dlp.v2.IValue|null);
+
+ /** FixedSizeBucketingConfig bucketSize */
+ bucketSize?: (number|null);
+ }
+
+ /** Represents a FixedSizeBucketingConfig. */
+ class FixedSizeBucketingConfig implements IFixedSizeBucketingConfig {
+
+ /**
+ * Constructs a new FixedSizeBucketingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IFixedSizeBucketingConfig);
+
+ /** FixedSizeBucketingConfig lowerBound. */
+ public lowerBound?: (google.privacy.dlp.v2.IValue|null);
+
+ /** FixedSizeBucketingConfig upperBound. */
+ public upperBound?: (google.privacy.dlp.v2.IValue|null);
+
+ /** FixedSizeBucketingConfig bucketSize. */
+ public bucketSize: number;
+
+ /**
+ * Creates a new FixedSizeBucketingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FixedSizeBucketingConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IFixedSizeBucketingConfig): google.privacy.dlp.v2.FixedSizeBucketingConfig;
+
+ /**
+ * Encodes the specified FixedSizeBucketingConfig message. Does not implicitly {@link google.privacy.dlp.v2.FixedSizeBucketingConfig.verify|verify} messages.
+ * @param message FixedSizeBucketingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IFixedSizeBucketingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FixedSizeBucketingConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.FixedSizeBucketingConfig.verify|verify} messages.
+ * @param message FixedSizeBucketingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IFixedSizeBucketingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FixedSizeBucketingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FixedSizeBucketingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.FixedSizeBucketingConfig;
+
+ /**
+ * Decodes a FixedSizeBucketingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FixedSizeBucketingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.FixedSizeBucketingConfig;
+
+ /**
+ * Verifies a FixedSizeBucketingConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FixedSizeBucketingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FixedSizeBucketingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.FixedSizeBucketingConfig;
+
+ /**
+ * Creates a plain object from a FixedSizeBucketingConfig message. Also converts values to other types if specified.
+ * @param message FixedSizeBucketingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.FixedSizeBucketingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FixedSizeBucketingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a BucketingConfig. */
+ interface IBucketingConfig {
+
+ /** BucketingConfig buckets */
+ buckets?: (google.privacy.dlp.v2.BucketingConfig.IBucket[]|null);
+ }
+
+ /** Represents a BucketingConfig. */
+ class BucketingConfig implements IBucketingConfig {
+
+ /**
+ * Constructs a new BucketingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IBucketingConfig);
+
+ /** BucketingConfig buckets. */
+ public buckets: google.privacy.dlp.v2.BucketingConfig.IBucket[];
+
+ /**
+ * Creates a new BucketingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BucketingConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IBucketingConfig): google.privacy.dlp.v2.BucketingConfig;
+
+ /**
+ * Encodes the specified BucketingConfig message. Does not implicitly {@link google.privacy.dlp.v2.BucketingConfig.verify|verify} messages.
+ * @param message BucketingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IBucketingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BucketingConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.BucketingConfig.verify|verify} messages.
+ * @param message BucketingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IBucketingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BucketingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BucketingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.BucketingConfig;
+
+ /**
+ * Decodes a BucketingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BucketingConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.BucketingConfig;
+
+ /**
+ * Verifies a BucketingConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BucketingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BucketingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.BucketingConfig;
+
+ /**
+ * Creates a plain object from a BucketingConfig message. Also converts values to other types if specified.
+ * @param message BucketingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.BucketingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BucketingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace BucketingConfig {
+
+ /** Properties of a Bucket. */
+ interface IBucket {
+
+ /** Bucket min */
+ min?: (google.privacy.dlp.v2.IValue|null);
+
+ /** Bucket max */
+ max?: (google.privacy.dlp.v2.IValue|null);
+
+ /** Bucket replacementValue */
+ replacementValue?: (google.privacy.dlp.v2.IValue|null);
+ }
+
+ /** Represents a Bucket. */
+ class Bucket implements IBucket {
+
+ /**
+ * Constructs a new Bucket.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.BucketingConfig.IBucket);
+
+ /** Bucket min. */
+ public min?: (google.privacy.dlp.v2.IValue|null);
+
+ /** Bucket max. */
+ public max?: (google.privacy.dlp.v2.IValue|null);
+
+ /** Bucket replacementValue. */
+ public replacementValue?: (google.privacy.dlp.v2.IValue|null);
+
+ /**
+ * Creates a new Bucket instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Bucket instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.BucketingConfig.IBucket): google.privacy.dlp.v2.BucketingConfig.Bucket;
+
+ /**
+ * Encodes the specified Bucket message. Does not implicitly {@link google.privacy.dlp.v2.BucketingConfig.Bucket.verify|verify} messages.
+ * @param message Bucket message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.BucketingConfig.IBucket, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Bucket message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.BucketingConfig.Bucket.verify|verify} messages.
+ * @param message Bucket message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.BucketingConfig.IBucket, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Bucket message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Bucket
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.BucketingConfig.Bucket;
+
+ /**
+ * Decodes a Bucket message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Bucket
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.BucketingConfig.Bucket;
+
+ /**
+ * Verifies a Bucket message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Bucket message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Bucket
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.BucketingConfig.Bucket;
+
+ /**
+ * Creates a plain object from a Bucket message. Also converts values to other types if specified.
+ * @param message Bucket
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.BucketingConfig.Bucket, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Bucket to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a CryptoReplaceFfxFpeConfig. */
+ interface ICryptoReplaceFfxFpeConfig {
+
+ /** CryptoReplaceFfxFpeConfig cryptoKey */
+ cryptoKey?: (google.privacy.dlp.v2.ICryptoKey|null);
+
+ /** CryptoReplaceFfxFpeConfig context */
+ context?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** CryptoReplaceFfxFpeConfig commonAlphabet */
+ commonAlphabet?: (google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet|keyof typeof google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet|null);
+
+ /** CryptoReplaceFfxFpeConfig customAlphabet */
+ customAlphabet?: (string|null);
+
+ /** CryptoReplaceFfxFpeConfig radix */
+ radix?: (number|null);
+
+ /** CryptoReplaceFfxFpeConfig surrogateInfoType */
+ surrogateInfoType?: (google.privacy.dlp.v2.IInfoType|null);
+ }
+
+ /** Represents a CryptoReplaceFfxFpeConfig. */
+ class CryptoReplaceFfxFpeConfig implements ICryptoReplaceFfxFpeConfig {
+
+ /**
+ * Constructs a new CryptoReplaceFfxFpeConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICryptoReplaceFfxFpeConfig);
+
+ /** CryptoReplaceFfxFpeConfig cryptoKey. */
+ public cryptoKey?: (google.privacy.dlp.v2.ICryptoKey|null);
+
+ /** CryptoReplaceFfxFpeConfig context. */
+ public context?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** CryptoReplaceFfxFpeConfig commonAlphabet. */
+ public commonAlphabet: (google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet|keyof typeof google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.FfxCommonNativeAlphabet);
+
+ /** CryptoReplaceFfxFpeConfig customAlphabet. */
+ public customAlphabet: string;
+
+ /** CryptoReplaceFfxFpeConfig radix. */
+ public radix: number;
+
+ /** CryptoReplaceFfxFpeConfig surrogateInfoType. */
+ public surrogateInfoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** CryptoReplaceFfxFpeConfig alphabet. */
+ public alphabet?: ("commonAlphabet"|"customAlphabet"|"radix");
+
+ /**
+ * Creates a new CryptoReplaceFfxFpeConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CryptoReplaceFfxFpeConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICryptoReplaceFfxFpeConfig): google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig;
+
+ /**
+ * Encodes the specified CryptoReplaceFfxFpeConfig message. Does not implicitly {@link google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.verify|verify} messages.
+ * @param message CryptoReplaceFfxFpeConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICryptoReplaceFfxFpeConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CryptoReplaceFfxFpeConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig.verify|verify} messages.
+ * @param message CryptoReplaceFfxFpeConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICryptoReplaceFfxFpeConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CryptoReplaceFfxFpeConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CryptoReplaceFfxFpeConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig;
+
+ /**
+ * Decodes a CryptoReplaceFfxFpeConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CryptoReplaceFfxFpeConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig;
+
+ /**
+ * Verifies a CryptoReplaceFfxFpeConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CryptoReplaceFfxFpeConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CryptoReplaceFfxFpeConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig;
+
+ /**
+ * Creates a plain object from a CryptoReplaceFfxFpeConfig message. Also converts values to other types if specified.
+ * @param message CryptoReplaceFfxFpeConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CryptoReplaceFfxFpeConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CryptoReplaceFfxFpeConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace CryptoReplaceFfxFpeConfig {
+
+ /** FfxCommonNativeAlphabet enum. */
+ enum FfxCommonNativeAlphabet {
+ FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED = 0,
+ NUMERIC = 1,
+ HEXADECIMAL = 2,
+ UPPER_CASE_ALPHA_NUMERIC = 3,
+ ALPHA_NUMERIC = 4
+ }
+ }
+
+ /** Properties of a CryptoKey. */
+ interface ICryptoKey {
+
+ /** CryptoKey transient */
+ transient?: (google.privacy.dlp.v2.ITransientCryptoKey|null);
+
+ /** CryptoKey unwrapped */
+ unwrapped?: (google.privacy.dlp.v2.IUnwrappedCryptoKey|null);
+
+ /** CryptoKey kmsWrapped */
+ kmsWrapped?: (google.privacy.dlp.v2.IKmsWrappedCryptoKey|null);
+ }
+
+ /** Represents a CryptoKey. */
+ class CryptoKey implements ICryptoKey {
+
+ /**
+ * Constructs a new CryptoKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICryptoKey);
+
+ /** CryptoKey transient. */
+ public transient?: (google.privacy.dlp.v2.ITransientCryptoKey|null);
+
+ /** CryptoKey unwrapped. */
+ public unwrapped?: (google.privacy.dlp.v2.IUnwrappedCryptoKey|null);
+
+ /** CryptoKey kmsWrapped. */
+ public kmsWrapped?: (google.privacy.dlp.v2.IKmsWrappedCryptoKey|null);
+
+ /** CryptoKey source. */
+ public source?: ("transient"|"unwrapped"|"kmsWrapped");
+
+ /**
+ * Creates a new CryptoKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CryptoKey instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICryptoKey): google.privacy.dlp.v2.CryptoKey;
+
+ /**
+ * Encodes the specified CryptoKey message. Does not implicitly {@link google.privacy.dlp.v2.CryptoKey.verify|verify} messages.
+ * @param message CryptoKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICryptoKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CryptoKey message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CryptoKey.verify|verify} messages.
+ * @param message CryptoKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICryptoKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CryptoKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CryptoKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CryptoKey;
+
+ /**
+ * Decodes a CryptoKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CryptoKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CryptoKey;
+
+ /**
+ * Verifies a CryptoKey message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CryptoKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CryptoKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CryptoKey;
+
+ /**
+ * Creates a plain object from a CryptoKey message. Also converts values to other types if specified.
+ * @param message CryptoKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CryptoKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CryptoKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a TransientCryptoKey. */
+ interface ITransientCryptoKey {
+
+ /** TransientCryptoKey name */
+ name?: (string|null);
+ }
+
+ /** Represents a TransientCryptoKey. */
+ class TransientCryptoKey implements ITransientCryptoKey {
+
+ /**
+ * Constructs a new TransientCryptoKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ITransientCryptoKey);
+
+ /** TransientCryptoKey name. */
+ public name: string;
+
+ /**
+ * Creates a new TransientCryptoKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TransientCryptoKey instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ITransientCryptoKey): google.privacy.dlp.v2.TransientCryptoKey;
+
+ /**
+ * Encodes the specified TransientCryptoKey message. Does not implicitly {@link google.privacy.dlp.v2.TransientCryptoKey.verify|verify} messages.
+ * @param message TransientCryptoKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ITransientCryptoKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TransientCryptoKey message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.TransientCryptoKey.verify|verify} messages.
+ * @param message TransientCryptoKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ITransientCryptoKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TransientCryptoKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TransientCryptoKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.TransientCryptoKey;
+
+ /**
+ * Decodes a TransientCryptoKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TransientCryptoKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.TransientCryptoKey;
+
+ /**
+ * Verifies a TransientCryptoKey message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TransientCryptoKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TransientCryptoKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.TransientCryptoKey;
+
+ /**
+ * Creates a plain object from a TransientCryptoKey message. Also converts values to other types if specified.
+ * @param message TransientCryptoKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.TransientCryptoKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TransientCryptoKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an UnwrappedCryptoKey. */
+ interface IUnwrappedCryptoKey {
+
+ /** UnwrappedCryptoKey key */
+ key?: (Uint8Array|string|null);
+ }
+
+ /** Represents an UnwrappedCryptoKey. */
+ class UnwrappedCryptoKey implements IUnwrappedCryptoKey {
+
+ /**
+ * Constructs a new UnwrappedCryptoKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IUnwrappedCryptoKey);
+
+ /** UnwrappedCryptoKey key. */
+ public key: (Uint8Array|string);
+
+ /**
+ * Creates a new UnwrappedCryptoKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UnwrappedCryptoKey instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IUnwrappedCryptoKey): google.privacy.dlp.v2.UnwrappedCryptoKey;
+
+ /**
+ * Encodes the specified UnwrappedCryptoKey message. Does not implicitly {@link google.privacy.dlp.v2.UnwrappedCryptoKey.verify|verify} messages.
+ * @param message UnwrappedCryptoKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IUnwrappedCryptoKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UnwrappedCryptoKey message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.UnwrappedCryptoKey.verify|verify} messages.
+ * @param message UnwrappedCryptoKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IUnwrappedCryptoKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UnwrappedCryptoKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UnwrappedCryptoKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.UnwrappedCryptoKey;
+
+ /**
+ * Decodes an UnwrappedCryptoKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UnwrappedCryptoKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.UnwrappedCryptoKey;
+
+ /**
+ * Verifies an UnwrappedCryptoKey message.
+ * @param message Plain 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 UnwrappedCryptoKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UnwrappedCryptoKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.UnwrappedCryptoKey;
+
+ /**
+ * Creates a plain object from an UnwrappedCryptoKey message. Also converts values to other types if specified.
+ * @param message UnwrappedCryptoKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.UnwrappedCryptoKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UnwrappedCryptoKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a KmsWrappedCryptoKey. */
+ interface IKmsWrappedCryptoKey {
+
+ /** KmsWrappedCryptoKey wrappedKey */
+ wrappedKey?: (Uint8Array|string|null);
+
+ /** KmsWrappedCryptoKey cryptoKeyName */
+ cryptoKeyName?: (string|null);
+ }
+
+ /** Represents a KmsWrappedCryptoKey. */
+ class KmsWrappedCryptoKey implements IKmsWrappedCryptoKey {
+
+ /**
+ * Constructs a new KmsWrappedCryptoKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IKmsWrappedCryptoKey);
+
+ /** KmsWrappedCryptoKey wrappedKey. */
+ public wrappedKey: (Uint8Array|string);
+
+ /** KmsWrappedCryptoKey cryptoKeyName. */
+ public cryptoKeyName: string;
+
+ /**
+ * Creates a new KmsWrappedCryptoKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KmsWrappedCryptoKey instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IKmsWrappedCryptoKey): google.privacy.dlp.v2.KmsWrappedCryptoKey;
+
+ /**
+ * Encodes the specified KmsWrappedCryptoKey message. Does not implicitly {@link google.privacy.dlp.v2.KmsWrappedCryptoKey.verify|verify} messages.
+ * @param message KmsWrappedCryptoKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IKmsWrappedCryptoKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KmsWrappedCryptoKey message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.KmsWrappedCryptoKey.verify|verify} messages.
+ * @param message KmsWrappedCryptoKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IKmsWrappedCryptoKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KmsWrappedCryptoKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KmsWrappedCryptoKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.KmsWrappedCryptoKey;
+
+ /**
+ * Decodes a KmsWrappedCryptoKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KmsWrappedCryptoKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.KmsWrappedCryptoKey;
+
+ /**
+ * Verifies a KmsWrappedCryptoKey message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KmsWrappedCryptoKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KmsWrappedCryptoKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.KmsWrappedCryptoKey;
+
+ /**
+ * Creates a plain object from a KmsWrappedCryptoKey message. Also converts values to other types if specified.
+ * @param message KmsWrappedCryptoKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.KmsWrappedCryptoKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KmsWrappedCryptoKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DateShiftConfig. */
+ interface IDateShiftConfig {
+
+ /** DateShiftConfig upperBoundDays */
+ upperBoundDays?: (number|null);
+
+ /** DateShiftConfig lowerBoundDays */
+ lowerBoundDays?: (number|null);
+
+ /** DateShiftConfig context */
+ context?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** DateShiftConfig cryptoKey */
+ cryptoKey?: (google.privacy.dlp.v2.ICryptoKey|null);
+ }
+
+ /** Represents a DateShiftConfig. */
+ class DateShiftConfig implements IDateShiftConfig {
+
+ /**
+ * Constructs a new DateShiftConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IDateShiftConfig);
+
+ /** DateShiftConfig upperBoundDays. */
+ public upperBoundDays: number;
+
+ /** DateShiftConfig lowerBoundDays. */
+ public lowerBoundDays: number;
+
+ /** DateShiftConfig context. */
+ public context?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** DateShiftConfig cryptoKey. */
+ public cryptoKey?: (google.privacy.dlp.v2.ICryptoKey|null);
+
+ /** DateShiftConfig method. */
+ public method?: "cryptoKey";
+
+ /**
+ * Creates a new DateShiftConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DateShiftConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IDateShiftConfig): google.privacy.dlp.v2.DateShiftConfig;
+
+ /**
+ * Encodes the specified DateShiftConfig message. Does not implicitly {@link google.privacy.dlp.v2.DateShiftConfig.verify|verify} messages.
+ * @param message DateShiftConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IDateShiftConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DateShiftConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DateShiftConfig.verify|verify} messages.
+ * @param message DateShiftConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IDateShiftConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DateShiftConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DateShiftConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DateShiftConfig;
+
+ /**
+ * Decodes a DateShiftConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DateShiftConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DateShiftConfig;
+
+ /**
+ * Verifies a DateShiftConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DateShiftConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DateShiftConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DateShiftConfig;
+
+ /**
+ * Creates a plain object from a DateShiftConfig message. Also converts values to other types if specified.
+ * @param message DateShiftConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DateShiftConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DateShiftConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an InfoTypeTransformations. */
+ interface IInfoTypeTransformations {
+
+ /** InfoTypeTransformations transformations */
+ transformations?: (google.privacy.dlp.v2.InfoTypeTransformations.IInfoTypeTransformation[]|null);
+ }
+
+ /** Represents an InfoTypeTransformations. */
+ class InfoTypeTransformations implements IInfoTypeTransformations {
+
+ /**
+ * Constructs a new InfoTypeTransformations.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IInfoTypeTransformations);
+
+ /** InfoTypeTransformations transformations. */
+ public transformations: google.privacy.dlp.v2.InfoTypeTransformations.IInfoTypeTransformation[];
+
+ /**
+ * Creates a new InfoTypeTransformations instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InfoTypeTransformations instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IInfoTypeTransformations): google.privacy.dlp.v2.InfoTypeTransformations;
+
+ /**
+ * Encodes the specified InfoTypeTransformations message. Does not implicitly {@link google.privacy.dlp.v2.InfoTypeTransformations.verify|verify} messages.
+ * @param message InfoTypeTransformations message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IInfoTypeTransformations, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InfoTypeTransformations message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InfoTypeTransformations.verify|verify} messages.
+ * @param message InfoTypeTransformations message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IInfoTypeTransformations, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InfoTypeTransformations message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InfoTypeTransformations
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InfoTypeTransformations;
+
+ /**
+ * Decodes an InfoTypeTransformations message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InfoTypeTransformations
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InfoTypeTransformations;
+
+ /**
+ * Verifies an InfoTypeTransformations message.
+ * @param message Plain 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 InfoTypeTransformations message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InfoTypeTransformations
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InfoTypeTransformations;
+
+ /**
+ * Creates a plain object from an InfoTypeTransformations message. Also converts values to other types if specified.
+ * @param message InfoTypeTransformations
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InfoTypeTransformations, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InfoTypeTransformations to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace InfoTypeTransformations {
+
+ /** Properties of an InfoTypeTransformation. */
+ interface IInfoTypeTransformation {
+
+ /** InfoTypeTransformation infoTypes */
+ infoTypes?: (google.privacy.dlp.v2.IInfoType[]|null);
+
+ /** InfoTypeTransformation primitiveTransformation */
+ primitiveTransformation?: (google.privacy.dlp.v2.IPrimitiveTransformation|null);
+ }
+
+ /** Represents an InfoTypeTransformation. */
+ class InfoTypeTransformation implements IInfoTypeTransformation {
+
+ /**
+ * Constructs a new InfoTypeTransformation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.InfoTypeTransformations.IInfoTypeTransformation);
+
+ /** InfoTypeTransformation infoTypes. */
+ public infoTypes: google.privacy.dlp.v2.IInfoType[];
+
+ /** InfoTypeTransformation primitiveTransformation. */
+ public primitiveTransformation?: (google.privacy.dlp.v2.IPrimitiveTransformation|null);
+
+ /**
+ * Creates a new InfoTypeTransformation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InfoTypeTransformation instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.InfoTypeTransformations.IInfoTypeTransformation): google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation;
+
+ /**
+ * Encodes the specified InfoTypeTransformation message. Does not implicitly {@link google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation.verify|verify} messages.
+ * @param message InfoTypeTransformation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.InfoTypeTransformations.IInfoTypeTransformation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InfoTypeTransformation message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation.verify|verify} messages.
+ * @param message InfoTypeTransformation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.InfoTypeTransformations.IInfoTypeTransformation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InfoTypeTransformation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InfoTypeTransformation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation;
+
+ /**
+ * Decodes an InfoTypeTransformation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InfoTypeTransformation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation;
+
+ /**
+ * Verifies an InfoTypeTransformation message.
+ * @param message Plain 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 InfoTypeTransformation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InfoTypeTransformation
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation;
+
+ /**
+ * Creates a plain object from an InfoTypeTransformation message. Also converts values to other types if specified.
+ * @param message InfoTypeTransformation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InfoTypeTransformations.InfoTypeTransformation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InfoTypeTransformation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a FieldTransformation. */
+ interface IFieldTransformation {
+
+ /** FieldTransformation fields */
+ fields?: (google.privacy.dlp.v2.IFieldId[]|null);
+
+ /** FieldTransformation condition */
+ condition?: (google.privacy.dlp.v2.IRecordCondition|null);
+
+ /** FieldTransformation primitiveTransformation */
+ primitiveTransformation?: (google.privacy.dlp.v2.IPrimitiveTransformation|null);
+
+ /** FieldTransformation infoTypeTransformations */
+ infoTypeTransformations?: (google.privacy.dlp.v2.IInfoTypeTransformations|null);
+ }
+
+ /** Represents a FieldTransformation. */
+ class FieldTransformation implements IFieldTransformation {
+
+ /**
+ * Constructs a new FieldTransformation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IFieldTransformation);
+
+ /** FieldTransformation fields. */
+ public fields: google.privacy.dlp.v2.IFieldId[];
+
+ /** FieldTransformation condition. */
+ public condition?: (google.privacy.dlp.v2.IRecordCondition|null);
+
+ /** FieldTransformation primitiveTransformation. */
+ public primitiveTransformation?: (google.privacy.dlp.v2.IPrimitiveTransformation|null);
+
+ /** FieldTransformation infoTypeTransformations. */
+ public infoTypeTransformations?: (google.privacy.dlp.v2.IInfoTypeTransformations|null);
+
+ /** FieldTransformation transformation. */
+ public transformation?: ("primitiveTransformation"|"infoTypeTransformations");
+
+ /**
+ * Creates a new FieldTransformation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldTransformation instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IFieldTransformation): google.privacy.dlp.v2.FieldTransformation;
+
+ /**
+ * Encodes the specified FieldTransformation message. Does not implicitly {@link google.privacy.dlp.v2.FieldTransformation.verify|verify} messages.
+ * @param message FieldTransformation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IFieldTransformation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldTransformation message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.FieldTransformation.verify|verify} messages.
+ * @param message FieldTransformation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IFieldTransformation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldTransformation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldTransformation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.FieldTransformation;
+
+ /**
+ * Decodes a FieldTransformation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldTransformation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.FieldTransformation;
+
+ /**
+ * Verifies a FieldTransformation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldTransformation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldTransformation
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.FieldTransformation;
+
+ /**
+ * Creates a plain object from a FieldTransformation message. Also converts values to other types if specified.
+ * @param message FieldTransformation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.FieldTransformation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldTransformation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a RecordTransformations. */
+ interface IRecordTransformations {
+
+ /** RecordTransformations fieldTransformations */
+ fieldTransformations?: (google.privacy.dlp.v2.IFieldTransformation[]|null);
+
+ /** RecordTransformations recordSuppressions */
+ recordSuppressions?: (google.privacy.dlp.v2.IRecordSuppression[]|null);
+ }
+
+ /** Represents a RecordTransformations. */
+ class RecordTransformations implements IRecordTransformations {
+
+ /**
+ * Constructs a new RecordTransformations.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IRecordTransformations);
+
+ /** RecordTransformations fieldTransformations. */
+ public fieldTransformations: google.privacy.dlp.v2.IFieldTransformation[];
+
+ /** RecordTransformations recordSuppressions. */
+ public recordSuppressions: google.privacy.dlp.v2.IRecordSuppression[];
+
+ /**
+ * Creates a new RecordTransformations instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RecordTransformations instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IRecordTransformations): google.privacy.dlp.v2.RecordTransformations;
+
+ /**
+ * Encodes the specified RecordTransformations message. Does not implicitly {@link google.privacy.dlp.v2.RecordTransformations.verify|verify} messages.
+ * @param message RecordTransformations message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IRecordTransformations, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RecordTransformations message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.RecordTransformations.verify|verify} messages.
+ * @param message RecordTransformations message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IRecordTransformations, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RecordTransformations message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RecordTransformations
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.RecordTransformations;
+
+ /**
+ * Decodes a RecordTransformations message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RecordTransformations
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.RecordTransformations;
+
+ /**
+ * Verifies a RecordTransformations message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RecordTransformations message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RecordTransformations
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.RecordTransformations;
+
+ /**
+ * Creates a plain object from a RecordTransformations message. Also converts values to other types if specified.
+ * @param message RecordTransformations
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.RecordTransformations, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RecordTransformations to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a RecordSuppression. */
+ interface IRecordSuppression {
+
+ /** RecordSuppression condition */
+ condition?: (google.privacy.dlp.v2.IRecordCondition|null);
+ }
+
+ /** Represents a RecordSuppression. */
+ class RecordSuppression implements IRecordSuppression {
+
+ /**
+ * Constructs a new RecordSuppression.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IRecordSuppression);
+
+ /** RecordSuppression condition. */
+ public condition?: (google.privacy.dlp.v2.IRecordCondition|null);
+
+ /**
+ * Creates a new RecordSuppression instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RecordSuppression instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IRecordSuppression): google.privacy.dlp.v2.RecordSuppression;
+
+ /**
+ * Encodes the specified RecordSuppression message. Does not implicitly {@link google.privacy.dlp.v2.RecordSuppression.verify|verify} messages.
+ * @param message RecordSuppression message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IRecordSuppression, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RecordSuppression message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.RecordSuppression.verify|verify} messages.
+ * @param message RecordSuppression message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IRecordSuppression, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RecordSuppression message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RecordSuppression
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.RecordSuppression;
+
+ /**
+ * Decodes a RecordSuppression message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RecordSuppression
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.RecordSuppression;
+
+ /**
+ * Verifies a RecordSuppression message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RecordSuppression message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RecordSuppression
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.RecordSuppression;
+
+ /**
+ * Creates a plain object from a RecordSuppression message. Also converts values to other types if specified.
+ * @param message RecordSuppression
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.RecordSuppression, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RecordSuppression to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a RecordCondition. */
+ interface IRecordCondition {
+
+ /** RecordCondition expressions */
+ expressions?: (google.privacy.dlp.v2.RecordCondition.IExpressions|null);
+ }
+
+ /** Represents a RecordCondition. */
+ class RecordCondition implements IRecordCondition {
+
+ /**
+ * Constructs a new RecordCondition.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IRecordCondition);
+
+ /** RecordCondition expressions. */
+ public expressions?: (google.privacy.dlp.v2.RecordCondition.IExpressions|null);
+
+ /**
+ * Creates a new RecordCondition instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RecordCondition instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IRecordCondition): google.privacy.dlp.v2.RecordCondition;
+
+ /**
+ * Encodes the specified RecordCondition message. Does not implicitly {@link google.privacy.dlp.v2.RecordCondition.verify|verify} messages.
+ * @param message RecordCondition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IRecordCondition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RecordCondition message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.RecordCondition.verify|verify} messages.
+ * @param message RecordCondition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IRecordCondition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RecordCondition message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RecordCondition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.RecordCondition;
+
+ /**
+ * Decodes a RecordCondition message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RecordCondition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.RecordCondition;
+
+ /**
+ * Verifies a RecordCondition message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RecordCondition message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RecordCondition
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.RecordCondition;
+
+ /**
+ * Creates a plain object from a RecordCondition message. Also converts values to other types if specified.
+ * @param message RecordCondition
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.RecordCondition, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RecordCondition to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace RecordCondition {
+
+ /** Properties of a Condition. */
+ interface ICondition {
+
+ /** Condition field */
+ field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** Condition operator */
+ operator?: (google.privacy.dlp.v2.RelationalOperator|keyof typeof google.privacy.dlp.v2.RelationalOperator|null);
+
+ /** Condition value */
+ value?: (google.privacy.dlp.v2.IValue|null);
+ }
+
+ /** Represents a Condition. */
+ class Condition implements ICondition {
+
+ /**
+ * Constructs a new Condition.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.RecordCondition.ICondition);
+
+ /** Condition field. */
+ public field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** Condition operator. */
+ public operator: (google.privacy.dlp.v2.RelationalOperator|keyof typeof google.privacy.dlp.v2.RelationalOperator);
+
+ /** Condition value. */
+ public value?: (google.privacy.dlp.v2.IValue|null);
+
+ /**
+ * Creates a new Condition instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Condition instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.RecordCondition.ICondition): google.privacy.dlp.v2.RecordCondition.Condition;
+
+ /**
+ * Encodes the specified Condition message. Does not implicitly {@link google.privacy.dlp.v2.RecordCondition.Condition.verify|verify} messages.
+ * @param message Condition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.RecordCondition.ICondition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Condition message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.RecordCondition.Condition.verify|verify} messages.
+ * @param message Condition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.RecordCondition.ICondition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Condition message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Condition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.RecordCondition.Condition;
+
+ /**
+ * Decodes a Condition message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Condition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.RecordCondition.Condition;
+
+ /**
+ * Verifies a Condition message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Condition message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Condition
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.RecordCondition.Condition;
+
+ /**
+ * Creates a plain object from a Condition message. Also converts values to other types if specified.
+ * @param message Condition
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.RecordCondition.Condition, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Condition to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a Conditions. */
+ interface IConditions {
+
+ /** Conditions conditions */
+ conditions?: (google.privacy.dlp.v2.RecordCondition.ICondition[]|null);
+ }
+
+ /** Represents a Conditions. */
+ class Conditions implements IConditions {
+
+ /**
+ * Constructs a new Conditions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.RecordCondition.IConditions);
+
+ /** Conditions conditions. */
+ public conditions: google.privacy.dlp.v2.RecordCondition.ICondition[];
+
+ /**
+ * Creates a new Conditions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Conditions instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.RecordCondition.IConditions): google.privacy.dlp.v2.RecordCondition.Conditions;
+
+ /**
+ * Encodes the specified Conditions message. Does not implicitly {@link google.privacy.dlp.v2.RecordCondition.Conditions.verify|verify} messages.
+ * @param message Conditions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.RecordCondition.IConditions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Conditions message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.RecordCondition.Conditions.verify|verify} messages.
+ * @param message Conditions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.RecordCondition.IConditions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Conditions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Conditions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.RecordCondition.Conditions;
+
+ /**
+ * Decodes a Conditions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Conditions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.RecordCondition.Conditions;
+
+ /**
+ * Verifies a Conditions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Conditions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Conditions
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.RecordCondition.Conditions;
+
+ /**
+ * Creates a plain object from a Conditions message. Also converts values to other types if specified.
+ * @param message Conditions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.RecordCondition.Conditions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Conditions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an Expressions. */
+ interface IExpressions {
+
+ /** Expressions logicalOperator */
+ logicalOperator?: (google.privacy.dlp.v2.RecordCondition.Expressions.LogicalOperator|keyof typeof google.privacy.dlp.v2.RecordCondition.Expressions.LogicalOperator|null);
+
+ /** Expressions conditions */
+ conditions?: (google.privacy.dlp.v2.RecordCondition.IConditions|null);
+ }
+
+ /** Represents an Expressions. */
+ class Expressions implements IExpressions {
+
+ /**
+ * Constructs a new Expressions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.RecordCondition.IExpressions);
+
+ /** Expressions logicalOperator. */
+ public logicalOperator: (google.privacy.dlp.v2.RecordCondition.Expressions.LogicalOperator|keyof typeof google.privacy.dlp.v2.RecordCondition.Expressions.LogicalOperator);
+
+ /** Expressions conditions. */
+ public conditions?: (google.privacy.dlp.v2.RecordCondition.IConditions|null);
+
+ /** Expressions type. */
+ public type?: "conditions";
+
+ /**
+ * Creates a new Expressions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Expressions instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.RecordCondition.IExpressions): google.privacy.dlp.v2.RecordCondition.Expressions;
+
+ /**
+ * Encodes the specified Expressions message. Does not implicitly {@link google.privacy.dlp.v2.RecordCondition.Expressions.verify|verify} messages.
+ * @param message Expressions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.RecordCondition.IExpressions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Expressions message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.RecordCondition.Expressions.verify|verify} messages.
+ * @param message Expressions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.RecordCondition.IExpressions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Expressions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Expressions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.RecordCondition.Expressions;
+
+ /**
+ * Decodes an Expressions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Expressions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.RecordCondition.Expressions;
+
+ /**
+ * Verifies an Expressions message.
+ * @param message Plain 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 Expressions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Expressions
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.RecordCondition.Expressions;
+
+ /**
+ * Creates a plain object from an Expressions message. Also converts values to other types if specified.
+ * @param message Expressions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.RecordCondition.Expressions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Expressions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace Expressions {
+
+ /** LogicalOperator enum. */
+ enum LogicalOperator {
+ LOGICAL_OPERATOR_UNSPECIFIED = 0,
+ AND = 1
+ }
+ }
+ }
+
+ /** Properties of a TransformationOverview. */
+ interface ITransformationOverview {
+
+ /** TransformationOverview transformedBytes */
+ transformedBytes?: (number|Long|string|null);
+
+ /** TransformationOverview transformationSummaries */
+ transformationSummaries?: (google.privacy.dlp.v2.ITransformationSummary[]|null);
+ }
+
+ /** Represents a TransformationOverview. */
+ class TransformationOverview implements ITransformationOverview {
+
+ /**
+ * Constructs a new TransformationOverview.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ITransformationOverview);
+
+ /** TransformationOverview transformedBytes. */
+ public transformedBytes: (number|Long|string);
+
+ /** TransformationOverview transformationSummaries. */
+ public transformationSummaries: google.privacy.dlp.v2.ITransformationSummary[];
+
+ /**
+ * Creates a new TransformationOverview instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TransformationOverview instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ITransformationOverview): google.privacy.dlp.v2.TransformationOverview;
+
+ /**
+ * Encodes the specified TransformationOverview message. Does not implicitly {@link google.privacy.dlp.v2.TransformationOverview.verify|verify} messages.
+ * @param message TransformationOverview message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ITransformationOverview, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TransformationOverview message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.TransformationOverview.verify|verify} messages.
+ * @param message TransformationOverview message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ITransformationOverview, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TransformationOverview message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TransformationOverview
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.TransformationOverview;
+
+ /**
+ * Decodes a TransformationOverview message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TransformationOverview
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.TransformationOverview;
+
+ /**
+ * Verifies a TransformationOverview message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TransformationOverview message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TransformationOverview
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.TransformationOverview;
+
+ /**
+ * Creates a plain object from a TransformationOverview message. Also converts values to other types if specified.
+ * @param message TransformationOverview
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.TransformationOverview, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TransformationOverview to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a TransformationSummary. */
+ interface ITransformationSummary {
+
+ /** TransformationSummary infoType */
+ infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** TransformationSummary field */
+ field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** TransformationSummary transformation */
+ transformation?: (google.privacy.dlp.v2.IPrimitiveTransformation|null);
+
+ /** TransformationSummary fieldTransformations */
+ fieldTransformations?: (google.privacy.dlp.v2.IFieldTransformation[]|null);
+
+ /** TransformationSummary recordSuppress */
+ recordSuppress?: (google.privacy.dlp.v2.IRecordSuppression|null);
+
+ /** TransformationSummary results */
+ results?: (google.privacy.dlp.v2.TransformationSummary.ISummaryResult[]|null);
+
+ /** TransformationSummary transformedBytes */
+ transformedBytes?: (number|Long|string|null);
+ }
+
+ /** Represents a TransformationSummary. */
+ class TransformationSummary implements ITransformationSummary {
+
+ /**
+ * Constructs a new TransformationSummary.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ITransformationSummary);
+
+ /** TransformationSummary infoType. */
+ public infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** TransformationSummary field. */
+ public field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** TransformationSummary transformation. */
+ public transformation?: (google.privacy.dlp.v2.IPrimitiveTransformation|null);
+
+ /** TransformationSummary fieldTransformations. */
+ public fieldTransformations: google.privacy.dlp.v2.IFieldTransformation[];
+
+ /** TransformationSummary recordSuppress. */
+ public recordSuppress?: (google.privacy.dlp.v2.IRecordSuppression|null);
+
+ /** TransformationSummary results. */
+ public results: google.privacy.dlp.v2.TransformationSummary.ISummaryResult[];
+
+ /** TransformationSummary transformedBytes. */
+ public transformedBytes: (number|Long|string);
+
+ /**
+ * Creates a new TransformationSummary instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TransformationSummary instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ITransformationSummary): google.privacy.dlp.v2.TransformationSummary;
+
+ /**
+ * Encodes the specified TransformationSummary message. Does not implicitly {@link google.privacy.dlp.v2.TransformationSummary.verify|verify} messages.
+ * @param message TransformationSummary message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ITransformationSummary, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TransformationSummary message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.TransformationSummary.verify|verify} messages.
+ * @param message TransformationSummary message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ITransformationSummary, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TransformationSummary message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TransformationSummary
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.TransformationSummary;
+
+ /**
+ * Decodes a TransformationSummary message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TransformationSummary
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.TransformationSummary;
+
+ /**
+ * Verifies a TransformationSummary message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TransformationSummary message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TransformationSummary
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.TransformationSummary;
+
+ /**
+ * Creates a plain object from a TransformationSummary message. Also converts values to other types if specified.
+ * @param message TransformationSummary
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.TransformationSummary, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TransformationSummary to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace TransformationSummary {
+
+ /** Properties of a SummaryResult. */
+ interface ISummaryResult {
+
+ /** SummaryResult count */
+ count?: (number|Long|string|null);
+
+ /** SummaryResult code */
+ code?: (google.privacy.dlp.v2.TransformationSummary.TransformationResultCode|keyof typeof google.privacy.dlp.v2.TransformationSummary.TransformationResultCode|null);
+
+ /** SummaryResult details */
+ details?: (string|null);
+ }
+
+ /** Represents a SummaryResult. */
+ class SummaryResult implements ISummaryResult {
+
+ /**
+ * Constructs a new SummaryResult.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.TransformationSummary.ISummaryResult);
+
+ /** SummaryResult count. */
+ public count: (number|Long|string);
+
+ /** SummaryResult code. */
+ public code: (google.privacy.dlp.v2.TransformationSummary.TransformationResultCode|keyof typeof google.privacy.dlp.v2.TransformationSummary.TransformationResultCode);
+
+ /** SummaryResult details. */
+ public details: string;
+
+ /**
+ * Creates a new SummaryResult instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SummaryResult instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.TransformationSummary.ISummaryResult): google.privacy.dlp.v2.TransformationSummary.SummaryResult;
+
+ /**
+ * Encodes the specified SummaryResult message. Does not implicitly {@link google.privacy.dlp.v2.TransformationSummary.SummaryResult.verify|verify} messages.
+ * @param message SummaryResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.TransformationSummary.ISummaryResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SummaryResult message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.TransformationSummary.SummaryResult.verify|verify} messages.
+ * @param message SummaryResult message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.TransformationSummary.ISummaryResult, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SummaryResult message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SummaryResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.TransformationSummary.SummaryResult;
+
+ /**
+ * Decodes a SummaryResult message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SummaryResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.TransformationSummary.SummaryResult;
+
+ /**
+ * Verifies a SummaryResult message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SummaryResult message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SummaryResult
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.TransformationSummary.SummaryResult;
+
+ /**
+ * Creates a plain object from a SummaryResult message. Also converts values to other types if specified.
+ * @param message SummaryResult
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.TransformationSummary.SummaryResult, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SummaryResult to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** TransformationResultCode enum. */
+ enum TransformationResultCode {
+ TRANSFORMATION_RESULT_CODE_UNSPECIFIED = 0,
+ SUCCESS = 1,
+ ERROR = 2
+ }
+ }
+
+ /** Properties of a Schedule. */
+ interface ISchedule {
+
+ /** Schedule recurrencePeriodDuration */
+ recurrencePeriodDuration?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a Schedule. */
+ class Schedule implements ISchedule {
+
+ /**
+ * Constructs a new Schedule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ISchedule);
+
+ /** Schedule recurrencePeriodDuration. */
+ public recurrencePeriodDuration?: (google.protobuf.IDuration|null);
+
+ /** Schedule option. */
+ public option?: "recurrencePeriodDuration";
+
+ /**
+ * Creates a new Schedule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Schedule instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ISchedule): google.privacy.dlp.v2.Schedule;
+
+ /**
+ * Encodes the specified Schedule message. Does not implicitly {@link google.privacy.dlp.v2.Schedule.verify|verify} messages.
+ * @param message Schedule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ISchedule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Schedule message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Schedule.verify|verify} messages.
+ * @param message Schedule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ISchedule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Schedule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Schedule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Schedule;
+
+ /**
+ * Decodes a Schedule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Schedule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Schedule;
+
+ /**
+ * Verifies a Schedule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Schedule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Schedule
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Schedule;
+
+ /**
+ * Creates a plain object from a Schedule message. Also converts values to other types if specified.
+ * @param message Schedule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Schedule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Schedule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a Manual. */
+ interface IManual {
+ }
+
+ /** Represents a Manual. */
+ class Manual implements IManual {
+
+ /**
+ * Constructs a new Manual.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IManual);
+
+ /**
+ * Creates a new Manual instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Manual instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IManual): google.privacy.dlp.v2.Manual;
+
+ /**
+ * Encodes the specified Manual message. Does not implicitly {@link google.privacy.dlp.v2.Manual.verify|verify} messages.
+ * @param message Manual message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IManual, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Manual message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Manual.verify|verify} messages.
+ * @param message Manual message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IManual, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Manual message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Manual
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Manual;
+
+ /**
+ * Decodes a Manual message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Manual
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Manual;
+
+ /**
+ * Verifies a Manual message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Manual message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Manual
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Manual;
+
+ /**
+ * Creates a plain object from a Manual message. Also converts values to other types if specified.
+ * @param message Manual
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Manual, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Manual to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an InspectTemplate. */
+ interface IInspectTemplate {
+
+ /** InspectTemplate name */
+ name?: (string|null);
+
+ /** InspectTemplate displayName */
+ displayName?: (string|null);
+
+ /** InspectTemplate description */
+ description?: (string|null);
+
+ /** InspectTemplate createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** InspectTemplate updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** InspectTemplate inspectConfig */
+ inspectConfig?: (google.privacy.dlp.v2.IInspectConfig|null);
+ }
+
+ /** Represents an InspectTemplate. */
+ class InspectTemplate implements IInspectTemplate {
+
+ /**
+ * Constructs a new InspectTemplate.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IInspectTemplate);
+
+ /** InspectTemplate name. */
+ public name: string;
+
+ /** InspectTemplate displayName. */
+ public displayName: string;
+
+ /** InspectTemplate description. */
+ public description: string;
+
+ /** InspectTemplate createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** InspectTemplate updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** InspectTemplate inspectConfig. */
+ public inspectConfig?: (google.privacy.dlp.v2.IInspectConfig|null);
+
+ /**
+ * Creates a new InspectTemplate instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InspectTemplate instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IInspectTemplate): google.privacy.dlp.v2.InspectTemplate;
+
+ /**
+ * Encodes the specified InspectTemplate message. Does not implicitly {@link google.privacy.dlp.v2.InspectTemplate.verify|verify} messages.
+ * @param message InspectTemplate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IInspectTemplate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InspectTemplate message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectTemplate.verify|verify} messages.
+ * @param message InspectTemplate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IInspectTemplate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InspectTemplate message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InspectTemplate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InspectTemplate;
+
+ /**
+ * Decodes an InspectTemplate message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InspectTemplate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InspectTemplate;
+
+ /**
+ * Verifies an InspectTemplate message.
+ * @param message Plain 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 InspectTemplate message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InspectTemplate
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InspectTemplate;
+
+ /**
+ * Creates a plain object from an InspectTemplate message. Also converts values to other types if specified.
+ * @param message InspectTemplate
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InspectTemplate, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InspectTemplate to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DeidentifyTemplate. */
+ interface IDeidentifyTemplate {
+
+ /** DeidentifyTemplate name */
+ name?: (string|null);
+
+ /** DeidentifyTemplate displayName */
+ displayName?: (string|null);
+
+ /** DeidentifyTemplate description */
+ description?: (string|null);
+
+ /** DeidentifyTemplate createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** DeidentifyTemplate updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** DeidentifyTemplate deidentifyConfig */
+ deidentifyConfig?: (google.privacy.dlp.v2.IDeidentifyConfig|null);
+ }
+
+ /** Represents a DeidentifyTemplate. */
+ class DeidentifyTemplate implements IDeidentifyTemplate {
+
+ /**
+ * Constructs a new DeidentifyTemplate.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IDeidentifyTemplate);
+
+ /** DeidentifyTemplate name. */
+ public name: string;
+
+ /** DeidentifyTemplate displayName. */
+ public displayName: string;
+
+ /** DeidentifyTemplate description. */
+ public description: string;
+
+ /** DeidentifyTemplate createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** DeidentifyTemplate updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** DeidentifyTemplate deidentifyConfig. */
+ public deidentifyConfig?: (google.privacy.dlp.v2.IDeidentifyConfig|null);
+
+ /**
+ * Creates a new DeidentifyTemplate instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeidentifyTemplate instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IDeidentifyTemplate): google.privacy.dlp.v2.DeidentifyTemplate;
+
+ /**
+ * Encodes the specified DeidentifyTemplate message. Does not implicitly {@link google.privacy.dlp.v2.DeidentifyTemplate.verify|verify} messages.
+ * @param message DeidentifyTemplate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IDeidentifyTemplate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeidentifyTemplate message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DeidentifyTemplate.verify|verify} messages.
+ * @param message DeidentifyTemplate message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IDeidentifyTemplate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeidentifyTemplate message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeidentifyTemplate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DeidentifyTemplate;
+
+ /**
+ * Decodes a DeidentifyTemplate message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeidentifyTemplate
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DeidentifyTemplate;
+
+ /**
+ * Verifies a DeidentifyTemplate message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeidentifyTemplate message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeidentifyTemplate
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DeidentifyTemplate;
+
+ /**
+ * Creates a plain object from a DeidentifyTemplate message. Also converts values to other types if specified.
+ * @param message DeidentifyTemplate
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DeidentifyTemplate, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeidentifyTemplate to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an Error. */
+ interface IError {
+
+ /** Error details */
+ details?: (google.rpc.IStatus|null);
+
+ /** Error timestamps */
+ timestamps?: (google.protobuf.ITimestamp[]|null);
+ }
+
+ /** Represents an Error. */
+ class Error implements IError {
+
+ /**
+ * Constructs a new Error.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IError);
+
+ /** Error details. */
+ public details?: (google.rpc.IStatus|null);
+
+ /** Error timestamps. */
+ public timestamps: google.protobuf.ITimestamp[];
+
+ /**
+ * Creates a new Error instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Error instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IError): google.privacy.dlp.v2.Error;
+
+ /**
+ * Encodes the specified Error message. Does not implicitly {@link google.privacy.dlp.v2.Error.verify|verify} messages.
+ * @param message Error message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IError, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Error message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Error.verify|verify} messages.
+ * @param message Error message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IError, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Error message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Error
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Error;
+
+ /**
+ * Decodes an Error message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Error
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Error;
+
+ /**
+ * Verifies an Error message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Error message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Error
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Error;
+
+ /**
+ * Creates a plain object from an Error message. Also converts values to other types if specified.
+ * @param message Error
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Error, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Error to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a JobTrigger. */
+ interface IJobTrigger {
+
+ /** JobTrigger name */
+ name?: (string|null);
+
+ /** JobTrigger displayName */
+ displayName?: (string|null);
+
+ /** JobTrigger description */
+ description?: (string|null);
+
+ /** JobTrigger inspectJob */
+ inspectJob?: (google.privacy.dlp.v2.IInspectJobConfig|null);
+
+ /** JobTrigger triggers */
+ triggers?: (google.privacy.dlp.v2.JobTrigger.ITrigger[]|null);
+
+ /** JobTrigger errors */
+ errors?: (google.privacy.dlp.v2.IError[]|null);
+
+ /** JobTrigger createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** JobTrigger updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** JobTrigger lastRunTime */
+ lastRunTime?: (google.protobuf.ITimestamp|null);
+
+ /** JobTrigger status */
+ status?: (google.privacy.dlp.v2.JobTrigger.Status|keyof typeof google.privacy.dlp.v2.JobTrigger.Status|null);
+ }
+
+ /** Represents a JobTrigger. */
+ class JobTrigger implements IJobTrigger {
+
+ /**
+ * Constructs a new JobTrigger.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IJobTrigger);
+
+ /** JobTrigger name. */
+ public name: string;
+
+ /** JobTrigger displayName. */
+ public displayName: string;
+
+ /** JobTrigger description. */
+ public description: string;
+
+ /** JobTrigger inspectJob. */
+ public inspectJob?: (google.privacy.dlp.v2.IInspectJobConfig|null);
+
+ /** JobTrigger triggers. */
+ public triggers: google.privacy.dlp.v2.JobTrigger.ITrigger[];
+
+ /** JobTrigger errors. */
+ public errors: google.privacy.dlp.v2.IError[];
+
+ /** JobTrigger createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** JobTrigger updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** JobTrigger lastRunTime. */
+ public lastRunTime?: (google.protobuf.ITimestamp|null);
+
+ /** JobTrigger status. */
+ public status: (google.privacy.dlp.v2.JobTrigger.Status|keyof typeof google.privacy.dlp.v2.JobTrigger.Status);
+
+ /** JobTrigger job. */
+ public job?: "inspectJob";
+
+ /**
+ * Creates a new JobTrigger instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns JobTrigger instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IJobTrigger): google.privacy.dlp.v2.JobTrigger;
+
+ /**
+ * Encodes the specified JobTrigger message. Does not implicitly {@link google.privacy.dlp.v2.JobTrigger.verify|verify} messages.
+ * @param message JobTrigger message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IJobTrigger, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified JobTrigger message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.JobTrigger.verify|verify} messages.
+ * @param message JobTrigger message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IJobTrigger, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a JobTrigger message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns JobTrigger
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.JobTrigger;
+
+ /**
+ * Decodes a JobTrigger message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns JobTrigger
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.JobTrigger;
+
+ /**
+ * Verifies a JobTrigger message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a JobTrigger message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns JobTrigger
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.JobTrigger;
+
+ /**
+ * Creates a plain object from a JobTrigger message. Also converts values to other types if specified.
+ * @param message JobTrigger
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.JobTrigger, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this JobTrigger to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace JobTrigger {
+
+ /** Properties of a Trigger. */
+ interface ITrigger {
+
+ /** Trigger schedule */
+ schedule?: (google.privacy.dlp.v2.ISchedule|null);
+
+ /** Trigger manual */
+ manual?: (google.privacy.dlp.v2.IManual|null);
+ }
+
+ /** Represents a Trigger. */
+ class Trigger implements ITrigger {
+
+ /**
+ * Constructs a new Trigger.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.JobTrigger.ITrigger);
+
+ /** Trigger schedule. */
+ public schedule?: (google.privacy.dlp.v2.ISchedule|null);
+
+ /** Trigger manual. */
+ public manual?: (google.privacy.dlp.v2.IManual|null);
+
+ /** Trigger trigger. */
+ public trigger?: ("schedule"|"manual");
+
+ /**
+ * Creates a new Trigger instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Trigger instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.JobTrigger.ITrigger): google.privacy.dlp.v2.JobTrigger.Trigger;
+
+ /**
+ * Encodes the specified Trigger message. Does not implicitly {@link google.privacy.dlp.v2.JobTrigger.Trigger.verify|verify} messages.
+ * @param message Trigger message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.JobTrigger.ITrigger, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Trigger message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.JobTrigger.Trigger.verify|verify} messages.
+ * @param message Trigger message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.JobTrigger.ITrigger, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Trigger message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Trigger
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.JobTrigger.Trigger;
+
+ /**
+ * Decodes a Trigger message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Trigger
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.JobTrigger.Trigger;
+
+ /**
+ * Verifies a Trigger message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Trigger message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Trigger
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.JobTrigger.Trigger;
+
+ /**
+ * Creates a plain object from a Trigger message. Also converts values to other types if specified.
+ * @param message Trigger
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.JobTrigger.Trigger, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Trigger to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Status enum. */
+ enum Status {
+ STATUS_UNSPECIFIED = 0,
+ HEALTHY = 1,
+ PAUSED = 2,
+ CANCELLED = 3
+ }
+ }
+
+ /** Properties of an Action. */
+ interface IAction {
+
+ /** Action saveFindings */
+ saveFindings?: (google.privacy.dlp.v2.Action.ISaveFindings|null);
+
+ /** Action pubSub */
+ pubSub?: (google.privacy.dlp.v2.Action.IPublishToPubSub|null);
+
+ /** Action publishSummaryToCscc */
+ publishSummaryToCscc?: (google.privacy.dlp.v2.Action.IPublishSummaryToCscc|null);
+
+ /** Action publishFindingsToCloudDataCatalog */
+ publishFindingsToCloudDataCatalog?: (google.privacy.dlp.v2.Action.IPublishFindingsToCloudDataCatalog|null);
+
+ /** Action jobNotificationEmails */
+ jobNotificationEmails?: (google.privacy.dlp.v2.Action.IJobNotificationEmails|null);
+
+ /** Action publishToStackdriver */
+ publishToStackdriver?: (google.privacy.dlp.v2.Action.IPublishToStackdriver|null);
+ }
+
+ /** Represents an Action. */
+ class Action implements IAction {
+
+ /**
+ * Constructs a new Action.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IAction);
+
+ /** Action saveFindings. */
+ public saveFindings?: (google.privacy.dlp.v2.Action.ISaveFindings|null);
+
+ /** Action pubSub. */
+ public pubSub?: (google.privacy.dlp.v2.Action.IPublishToPubSub|null);
+
+ /** Action publishSummaryToCscc. */
+ public publishSummaryToCscc?: (google.privacy.dlp.v2.Action.IPublishSummaryToCscc|null);
+
+ /** Action publishFindingsToCloudDataCatalog. */
+ public publishFindingsToCloudDataCatalog?: (google.privacy.dlp.v2.Action.IPublishFindingsToCloudDataCatalog|null);
+
+ /** Action jobNotificationEmails. */
+ public jobNotificationEmails?: (google.privacy.dlp.v2.Action.IJobNotificationEmails|null);
+
+ /** Action publishToStackdriver. */
+ public publishToStackdriver?: (google.privacy.dlp.v2.Action.IPublishToStackdriver|null);
+
+ /** Action action. */
+ public action?: ("saveFindings"|"pubSub"|"publishSummaryToCscc"|"publishFindingsToCloudDataCatalog"|"jobNotificationEmails"|"publishToStackdriver");
+
+ /**
+ * Creates a new Action instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Action instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IAction): google.privacy.dlp.v2.Action;
+
+ /**
+ * Encodes the specified Action message. Does not implicitly {@link google.privacy.dlp.v2.Action.verify|verify} messages.
+ * @param message Action message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Action message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Action.verify|verify} messages.
+ * @param message Action message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IAction, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Action message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Action
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Action;
+
+ /**
+ * Decodes an Action message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Action
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Action;
+
+ /**
+ * Verifies an Action message.
+ * @param message Plain 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 Action message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Action
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Action;
+
+ /**
+ * Creates a plain object from an Action message. Also converts values to other types if specified.
+ * @param message Action
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Action, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Action to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace Action {
+
+ /** Properties of a SaveFindings. */
+ interface ISaveFindings {
+
+ /** SaveFindings outputConfig */
+ outputConfig?: (google.privacy.dlp.v2.IOutputStorageConfig|null);
+ }
+
+ /** Represents a SaveFindings. */
+ class SaveFindings implements ISaveFindings {
+
+ /**
+ * Constructs a new SaveFindings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.Action.ISaveFindings);
+
+ /** SaveFindings outputConfig. */
+ public outputConfig?: (google.privacy.dlp.v2.IOutputStorageConfig|null);
+
+ /**
+ * Creates a new SaveFindings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SaveFindings instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.Action.ISaveFindings): google.privacy.dlp.v2.Action.SaveFindings;
+
+ /**
+ * Encodes the specified SaveFindings message. Does not implicitly {@link google.privacy.dlp.v2.Action.SaveFindings.verify|verify} messages.
+ * @param message SaveFindings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.Action.ISaveFindings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SaveFindings message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Action.SaveFindings.verify|verify} messages.
+ * @param message SaveFindings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.Action.ISaveFindings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SaveFindings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SaveFindings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Action.SaveFindings;
+
+ /**
+ * Decodes a SaveFindings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SaveFindings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Action.SaveFindings;
+
+ /**
+ * Verifies a SaveFindings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SaveFindings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SaveFindings
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Action.SaveFindings;
+
+ /**
+ * Creates a plain object from a SaveFindings message. Also converts values to other types if specified.
+ * @param message SaveFindings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Action.SaveFindings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SaveFindings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a PublishToPubSub. */
+ interface IPublishToPubSub {
+
+ /** PublishToPubSub topic */
+ topic?: (string|null);
+ }
+
+ /** Represents a PublishToPubSub. */
+ class PublishToPubSub implements IPublishToPubSub {
+
+ /**
+ * Constructs a new PublishToPubSub.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.Action.IPublishToPubSub);
+
+ /** PublishToPubSub topic. */
+ public topic: string;
+
+ /**
+ * Creates a new PublishToPubSub instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PublishToPubSub instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.Action.IPublishToPubSub): google.privacy.dlp.v2.Action.PublishToPubSub;
+
+ /**
+ * Encodes the specified PublishToPubSub message. Does not implicitly {@link google.privacy.dlp.v2.Action.PublishToPubSub.verify|verify} messages.
+ * @param message PublishToPubSub message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.Action.IPublishToPubSub, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PublishToPubSub message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Action.PublishToPubSub.verify|verify} messages.
+ * @param message PublishToPubSub message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.Action.IPublishToPubSub, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PublishToPubSub message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PublishToPubSub
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Action.PublishToPubSub;
+
+ /**
+ * Decodes a PublishToPubSub message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PublishToPubSub
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Action.PublishToPubSub;
+
+ /**
+ * Verifies a PublishToPubSub message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PublishToPubSub message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PublishToPubSub
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Action.PublishToPubSub;
+
+ /**
+ * Creates a plain object from a PublishToPubSub message. Also converts values to other types if specified.
+ * @param message PublishToPubSub
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Action.PublishToPubSub, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PublishToPubSub to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a PublishSummaryToCscc. */
+ interface IPublishSummaryToCscc {
+ }
+
+ /** Represents a PublishSummaryToCscc. */
+ class PublishSummaryToCscc implements IPublishSummaryToCscc {
+
+ /**
+ * Constructs a new PublishSummaryToCscc.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.Action.IPublishSummaryToCscc);
+
+ /**
+ * Creates a new PublishSummaryToCscc instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PublishSummaryToCscc instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.Action.IPublishSummaryToCscc): google.privacy.dlp.v2.Action.PublishSummaryToCscc;
+
+ /**
+ * Encodes the specified PublishSummaryToCscc message. Does not implicitly {@link google.privacy.dlp.v2.Action.PublishSummaryToCscc.verify|verify} messages.
+ * @param message PublishSummaryToCscc message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.Action.IPublishSummaryToCscc, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PublishSummaryToCscc message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Action.PublishSummaryToCscc.verify|verify} messages.
+ * @param message PublishSummaryToCscc message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.Action.IPublishSummaryToCscc, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PublishSummaryToCscc message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PublishSummaryToCscc
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Action.PublishSummaryToCscc;
+
+ /**
+ * Decodes a PublishSummaryToCscc message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PublishSummaryToCscc
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Action.PublishSummaryToCscc;
+
+ /**
+ * Verifies a PublishSummaryToCscc message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PublishSummaryToCscc message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PublishSummaryToCscc
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Action.PublishSummaryToCscc;
+
+ /**
+ * Creates a plain object from a PublishSummaryToCscc message. Also converts values to other types if specified.
+ * @param message PublishSummaryToCscc
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Action.PublishSummaryToCscc, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PublishSummaryToCscc to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a PublishFindingsToCloudDataCatalog. */
+ interface IPublishFindingsToCloudDataCatalog {
+ }
+
+ /** Represents a PublishFindingsToCloudDataCatalog. */
+ class PublishFindingsToCloudDataCatalog implements IPublishFindingsToCloudDataCatalog {
+
+ /**
+ * Constructs a new PublishFindingsToCloudDataCatalog.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.Action.IPublishFindingsToCloudDataCatalog);
+
+ /**
+ * Creates a new PublishFindingsToCloudDataCatalog instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PublishFindingsToCloudDataCatalog instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.Action.IPublishFindingsToCloudDataCatalog): google.privacy.dlp.v2.Action.PublishFindingsToCloudDataCatalog;
+
+ /**
+ * Encodes the specified PublishFindingsToCloudDataCatalog message. Does not implicitly {@link google.privacy.dlp.v2.Action.PublishFindingsToCloudDataCatalog.verify|verify} messages.
+ * @param message PublishFindingsToCloudDataCatalog message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.Action.IPublishFindingsToCloudDataCatalog, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PublishFindingsToCloudDataCatalog message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Action.PublishFindingsToCloudDataCatalog.verify|verify} messages.
+ * @param message PublishFindingsToCloudDataCatalog message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.Action.IPublishFindingsToCloudDataCatalog, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PublishFindingsToCloudDataCatalog message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PublishFindingsToCloudDataCatalog
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Action.PublishFindingsToCloudDataCatalog;
+
+ /**
+ * Decodes a PublishFindingsToCloudDataCatalog message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PublishFindingsToCloudDataCatalog
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Action.PublishFindingsToCloudDataCatalog;
+
+ /**
+ * Verifies a PublishFindingsToCloudDataCatalog message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PublishFindingsToCloudDataCatalog message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PublishFindingsToCloudDataCatalog
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Action.PublishFindingsToCloudDataCatalog;
+
+ /**
+ * Creates a plain object from a PublishFindingsToCloudDataCatalog message. Also converts values to other types if specified.
+ * @param message PublishFindingsToCloudDataCatalog
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Action.PublishFindingsToCloudDataCatalog, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PublishFindingsToCloudDataCatalog to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a JobNotificationEmails. */
+ interface IJobNotificationEmails {
+ }
+
+ /** Represents a JobNotificationEmails. */
+ class JobNotificationEmails implements IJobNotificationEmails {
+
+ /**
+ * Constructs a new JobNotificationEmails.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.Action.IJobNotificationEmails);
+
+ /**
+ * Creates a new JobNotificationEmails instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns JobNotificationEmails instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.Action.IJobNotificationEmails): google.privacy.dlp.v2.Action.JobNotificationEmails;
+
+ /**
+ * Encodes the specified JobNotificationEmails message. Does not implicitly {@link google.privacy.dlp.v2.Action.JobNotificationEmails.verify|verify} messages.
+ * @param message JobNotificationEmails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.Action.IJobNotificationEmails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified JobNotificationEmails message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Action.JobNotificationEmails.verify|verify} messages.
+ * @param message JobNotificationEmails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.Action.IJobNotificationEmails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a JobNotificationEmails message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns JobNotificationEmails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Action.JobNotificationEmails;
+
+ /**
+ * Decodes a JobNotificationEmails message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns JobNotificationEmails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Action.JobNotificationEmails;
+
+ /**
+ * Verifies a JobNotificationEmails message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a JobNotificationEmails message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns JobNotificationEmails
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Action.JobNotificationEmails;
+
+ /**
+ * Creates a plain object from a JobNotificationEmails message. Also converts values to other types if specified.
+ * @param message JobNotificationEmails
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Action.JobNotificationEmails, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this JobNotificationEmails to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a PublishToStackdriver. */
+ interface IPublishToStackdriver {
+ }
+
+ /** Represents a PublishToStackdriver. */
+ class PublishToStackdriver implements IPublishToStackdriver {
+
+ /**
+ * Constructs a new PublishToStackdriver.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.Action.IPublishToStackdriver);
+
+ /**
+ * Creates a new PublishToStackdriver instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PublishToStackdriver instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.Action.IPublishToStackdriver): google.privacy.dlp.v2.Action.PublishToStackdriver;
+
+ /**
+ * Encodes the specified PublishToStackdriver message. Does not implicitly {@link google.privacy.dlp.v2.Action.PublishToStackdriver.verify|verify} messages.
+ * @param message PublishToStackdriver message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.Action.IPublishToStackdriver, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PublishToStackdriver message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Action.PublishToStackdriver.verify|verify} messages.
+ * @param message PublishToStackdriver message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.Action.IPublishToStackdriver, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PublishToStackdriver message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PublishToStackdriver
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Action.PublishToStackdriver;
+
+ /**
+ * Decodes a PublishToStackdriver message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PublishToStackdriver
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Action.PublishToStackdriver;
+
+ /**
+ * Verifies a PublishToStackdriver message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PublishToStackdriver message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PublishToStackdriver
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Action.PublishToStackdriver;
+
+ /**
+ * Creates a plain object from a PublishToStackdriver message. Also converts values to other types if specified.
+ * @param message PublishToStackdriver
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Action.PublishToStackdriver, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PublishToStackdriver to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a CreateInspectTemplateRequest. */
+ interface ICreateInspectTemplateRequest {
+
+ /** CreateInspectTemplateRequest parent */
+ parent?: (string|null);
+
+ /** CreateInspectTemplateRequest inspectTemplate */
+ inspectTemplate?: (google.privacy.dlp.v2.IInspectTemplate|null);
+
+ /** CreateInspectTemplateRequest templateId */
+ templateId?: (string|null);
+
+ /** CreateInspectTemplateRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents a CreateInspectTemplateRequest. */
+ class CreateInspectTemplateRequest implements ICreateInspectTemplateRequest {
+
+ /**
+ * Constructs a new CreateInspectTemplateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICreateInspectTemplateRequest);
+
+ /** CreateInspectTemplateRequest parent. */
+ public parent: string;
+
+ /** CreateInspectTemplateRequest inspectTemplate. */
+ public inspectTemplate?: (google.privacy.dlp.v2.IInspectTemplate|null);
+
+ /** CreateInspectTemplateRequest templateId. */
+ public templateId: string;
+
+ /** CreateInspectTemplateRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new CreateInspectTemplateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateInspectTemplateRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICreateInspectTemplateRequest): google.privacy.dlp.v2.CreateInspectTemplateRequest;
+
+ /**
+ * Encodes the specified CreateInspectTemplateRequest message. Does not implicitly {@link google.privacy.dlp.v2.CreateInspectTemplateRequest.verify|verify} messages.
+ * @param message CreateInspectTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICreateInspectTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateInspectTemplateRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CreateInspectTemplateRequest.verify|verify} messages.
+ * @param message CreateInspectTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICreateInspectTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateInspectTemplateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateInspectTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CreateInspectTemplateRequest;
+
+ /**
+ * Decodes a CreateInspectTemplateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateInspectTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CreateInspectTemplateRequest;
+
+ /**
+ * Verifies a CreateInspectTemplateRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateInspectTemplateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateInspectTemplateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CreateInspectTemplateRequest;
+
+ /**
+ * Creates a plain object from a CreateInspectTemplateRequest message. Also converts values to other types if specified.
+ * @param message CreateInspectTemplateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CreateInspectTemplateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateInspectTemplateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an UpdateInspectTemplateRequest. */
+ interface IUpdateInspectTemplateRequest {
+
+ /** UpdateInspectTemplateRequest name */
+ name?: (string|null);
+
+ /** UpdateInspectTemplateRequest inspectTemplate */
+ inspectTemplate?: (google.privacy.dlp.v2.IInspectTemplate|null);
+
+ /** UpdateInspectTemplateRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateInspectTemplateRequest. */
+ class UpdateInspectTemplateRequest implements IUpdateInspectTemplateRequest {
+
+ /**
+ * Constructs a new UpdateInspectTemplateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IUpdateInspectTemplateRequest);
+
+ /** UpdateInspectTemplateRequest name. */
+ public name: string;
+
+ /** UpdateInspectTemplateRequest inspectTemplate. */
+ public inspectTemplate?: (google.privacy.dlp.v2.IInspectTemplate|null);
+
+ /** UpdateInspectTemplateRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateInspectTemplateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateInspectTemplateRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IUpdateInspectTemplateRequest): google.privacy.dlp.v2.UpdateInspectTemplateRequest;
+
+ /**
+ * Encodes the specified UpdateInspectTemplateRequest message. Does not implicitly {@link google.privacy.dlp.v2.UpdateInspectTemplateRequest.verify|verify} messages.
+ * @param message UpdateInspectTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IUpdateInspectTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateInspectTemplateRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.UpdateInspectTemplateRequest.verify|verify} messages.
+ * @param message UpdateInspectTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IUpdateInspectTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateInspectTemplateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateInspectTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.UpdateInspectTemplateRequest;
+
+ /**
+ * Decodes an UpdateInspectTemplateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateInspectTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.UpdateInspectTemplateRequest;
+
+ /**
+ * Verifies an UpdateInspectTemplateRequest message.
+ * @param message Plain 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 UpdateInspectTemplateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateInspectTemplateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.UpdateInspectTemplateRequest;
+
+ /**
+ * Creates a plain object from an UpdateInspectTemplateRequest message. Also converts values to other types if specified.
+ * @param message UpdateInspectTemplateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.UpdateInspectTemplateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateInspectTemplateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a GetInspectTemplateRequest. */
+ interface IGetInspectTemplateRequest {
+
+ /** GetInspectTemplateRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetInspectTemplateRequest. */
+ class GetInspectTemplateRequest implements IGetInspectTemplateRequest {
+
+ /**
+ * Constructs a new GetInspectTemplateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IGetInspectTemplateRequest);
+
+ /** GetInspectTemplateRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetInspectTemplateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetInspectTemplateRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IGetInspectTemplateRequest): google.privacy.dlp.v2.GetInspectTemplateRequest;
+
+ /**
+ * Encodes the specified GetInspectTemplateRequest message. Does not implicitly {@link google.privacy.dlp.v2.GetInspectTemplateRequest.verify|verify} messages.
+ * @param message GetInspectTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IGetInspectTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetInspectTemplateRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.GetInspectTemplateRequest.verify|verify} messages.
+ * @param message GetInspectTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IGetInspectTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetInspectTemplateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetInspectTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.GetInspectTemplateRequest;
+
+ /**
+ * Decodes a GetInspectTemplateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetInspectTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.GetInspectTemplateRequest;
+
+ /**
+ * Verifies a GetInspectTemplateRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetInspectTemplateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetInspectTemplateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.GetInspectTemplateRequest;
+
+ /**
+ * Creates a plain object from a GetInspectTemplateRequest message. Also converts values to other types if specified.
+ * @param message GetInspectTemplateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.GetInspectTemplateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetInspectTemplateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ListInspectTemplatesRequest. */
+ interface IListInspectTemplatesRequest {
+
+ /** ListInspectTemplatesRequest parent */
+ parent?: (string|null);
+
+ /** ListInspectTemplatesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListInspectTemplatesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListInspectTemplatesRequest orderBy */
+ orderBy?: (string|null);
+
+ /** ListInspectTemplatesRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents a ListInspectTemplatesRequest. */
+ class ListInspectTemplatesRequest implements IListInspectTemplatesRequest {
+
+ /**
+ * Constructs a new ListInspectTemplatesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IListInspectTemplatesRequest);
+
+ /** ListInspectTemplatesRequest parent. */
+ public parent: string;
+
+ /** ListInspectTemplatesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListInspectTemplatesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListInspectTemplatesRequest orderBy. */
+ public orderBy: string;
+
+ /** ListInspectTemplatesRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new ListInspectTemplatesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListInspectTemplatesRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IListInspectTemplatesRequest): google.privacy.dlp.v2.ListInspectTemplatesRequest;
+
+ /**
+ * Encodes the specified ListInspectTemplatesRequest message. Does not implicitly {@link google.privacy.dlp.v2.ListInspectTemplatesRequest.verify|verify} messages.
+ * @param message ListInspectTemplatesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IListInspectTemplatesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListInspectTemplatesRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ListInspectTemplatesRequest.verify|verify} messages.
+ * @param message ListInspectTemplatesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IListInspectTemplatesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListInspectTemplatesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListInspectTemplatesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ListInspectTemplatesRequest;
+
+ /**
+ * Decodes a ListInspectTemplatesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListInspectTemplatesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ListInspectTemplatesRequest;
+
+ /**
+ * Verifies a ListInspectTemplatesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListInspectTemplatesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListInspectTemplatesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ListInspectTemplatesRequest;
+
+ /**
+ * Creates a plain object from a ListInspectTemplatesRequest message. Also converts values to other types if specified.
+ * @param message ListInspectTemplatesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ListInspectTemplatesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListInspectTemplatesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ListInspectTemplatesResponse. */
+ interface IListInspectTemplatesResponse {
+
+ /** ListInspectTemplatesResponse inspectTemplates */
+ inspectTemplates?: (google.privacy.dlp.v2.IInspectTemplate[]|null);
+
+ /** ListInspectTemplatesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListInspectTemplatesResponse. */
+ class ListInspectTemplatesResponse implements IListInspectTemplatesResponse {
+
+ /**
+ * Constructs a new ListInspectTemplatesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IListInspectTemplatesResponse);
+
+ /** ListInspectTemplatesResponse inspectTemplates. */
+ public inspectTemplates: google.privacy.dlp.v2.IInspectTemplate[];
+
+ /** ListInspectTemplatesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListInspectTemplatesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListInspectTemplatesResponse instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IListInspectTemplatesResponse): google.privacy.dlp.v2.ListInspectTemplatesResponse;
+
+ /**
+ * Encodes the specified ListInspectTemplatesResponse message. Does not implicitly {@link google.privacy.dlp.v2.ListInspectTemplatesResponse.verify|verify} messages.
+ * @param message ListInspectTemplatesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IListInspectTemplatesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListInspectTemplatesResponse message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ListInspectTemplatesResponse.verify|verify} messages.
+ * @param message ListInspectTemplatesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IListInspectTemplatesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListInspectTemplatesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListInspectTemplatesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ListInspectTemplatesResponse;
+
+ /**
+ * Decodes a ListInspectTemplatesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListInspectTemplatesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ListInspectTemplatesResponse;
+
+ /**
+ * Verifies a ListInspectTemplatesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListInspectTemplatesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListInspectTemplatesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ListInspectTemplatesResponse;
+
+ /**
+ * Creates a plain object from a ListInspectTemplatesResponse message. Also converts values to other types if specified.
+ * @param message ListInspectTemplatesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ListInspectTemplatesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListInspectTemplatesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DeleteInspectTemplateRequest. */
+ interface IDeleteInspectTemplateRequest {
+
+ /** DeleteInspectTemplateRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteInspectTemplateRequest. */
+ class DeleteInspectTemplateRequest implements IDeleteInspectTemplateRequest {
+
+ /**
+ * Constructs a new DeleteInspectTemplateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IDeleteInspectTemplateRequest);
+
+ /** DeleteInspectTemplateRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteInspectTemplateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteInspectTemplateRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IDeleteInspectTemplateRequest): google.privacy.dlp.v2.DeleteInspectTemplateRequest;
+
+ /**
+ * Encodes the specified DeleteInspectTemplateRequest message. Does not implicitly {@link google.privacy.dlp.v2.DeleteInspectTemplateRequest.verify|verify} messages.
+ * @param message DeleteInspectTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IDeleteInspectTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteInspectTemplateRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DeleteInspectTemplateRequest.verify|verify} messages.
+ * @param message DeleteInspectTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IDeleteInspectTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteInspectTemplateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteInspectTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DeleteInspectTemplateRequest;
+
+ /**
+ * Decodes a DeleteInspectTemplateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteInspectTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DeleteInspectTemplateRequest;
+
+ /**
+ * Verifies a DeleteInspectTemplateRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteInspectTemplateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteInspectTemplateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DeleteInspectTemplateRequest;
+
+ /**
+ * Creates a plain object from a DeleteInspectTemplateRequest message. Also converts values to other types if specified.
+ * @param message DeleteInspectTemplateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DeleteInspectTemplateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteInspectTemplateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a CreateJobTriggerRequest. */
+ interface ICreateJobTriggerRequest {
+
+ /** CreateJobTriggerRequest parent */
+ parent?: (string|null);
+
+ /** CreateJobTriggerRequest jobTrigger */
+ jobTrigger?: (google.privacy.dlp.v2.IJobTrigger|null);
+
+ /** CreateJobTriggerRequest triggerId */
+ triggerId?: (string|null);
+
+ /** CreateJobTriggerRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents a CreateJobTriggerRequest. */
+ class CreateJobTriggerRequest implements ICreateJobTriggerRequest {
+
+ /**
+ * Constructs a new CreateJobTriggerRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICreateJobTriggerRequest);
+
+ /** CreateJobTriggerRequest parent. */
+ public parent: string;
+
+ /** CreateJobTriggerRequest jobTrigger. */
+ public jobTrigger?: (google.privacy.dlp.v2.IJobTrigger|null);
+
+ /** CreateJobTriggerRequest triggerId. */
+ public triggerId: string;
+
+ /** CreateJobTriggerRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new CreateJobTriggerRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateJobTriggerRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICreateJobTriggerRequest): google.privacy.dlp.v2.CreateJobTriggerRequest;
+
+ /**
+ * Encodes the specified CreateJobTriggerRequest message. Does not implicitly {@link google.privacy.dlp.v2.CreateJobTriggerRequest.verify|verify} messages.
+ * @param message CreateJobTriggerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICreateJobTriggerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateJobTriggerRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CreateJobTriggerRequest.verify|verify} messages.
+ * @param message CreateJobTriggerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICreateJobTriggerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateJobTriggerRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateJobTriggerRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CreateJobTriggerRequest;
+
+ /**
+ * Decodes a CreateJobTriggerRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateJobTriggerRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CreateJobTriggerRequest;
+
+ /**
+ * Verifies a CreateJobTriggerRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateJobTriggerRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateJobTriggerRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CreateJobTriggerRequest;
+
+ /**
+ * Creates a plain object from a CreateJobTriggerRequest message. Also converts values to other types if specified.
+ * @param message CreateJobTriggerRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CreateJobTriggerRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateJobTriggerRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an ActivateJobTriggerRequest. */
+ interface IActivateJobTriggerRequest {
+
+ /** ActivateJobTriggerRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents an ActivateJobTriggerRequest. */
+ class ActivateJobTriggerRequest implements IActivateJobTriggerRequest {
+
+ /**
+ * Constructs a new ActivateJobTriggerRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IActivateJobTriggerRequest);
+
+ /** ActivateJobTriggerRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new ActivateJobTriggerRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ActivateJobTriggerRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IActivateJobTriggerRequest): google.privacy.dlp.v2.ActivateJobTriggerRequest;
+
+ /**
+ * Encodes the specified ActivateJobTriggerRequest message. Does not implicitly {@link google.privacy.dlp.v2.ActivateJobTriggerRequest.verify|verify} messages.
+ * @param message ActivateJobTriggerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IActivateJobTriggerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ActivateJobTriggerRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ActivateJobTriggerRequest.verify|verify} messages.
+ * @param message ActivateJobTriggerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IActivateJobTriggerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ActivateJobTriggerRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ActivateJobTriggerRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ActivateJobTriggerRequest;
+
+ /**
+ * Decodes an ActivateJobTriggerRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ActivateJobTriggerRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ActivateJobTriggerRequest;
+
+ /**
+ * Verifies an ActivateJobTriggerRequest message.
+ * @param message Plain 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 ActivateJobTriggerRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ActivateJobTriggerRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ActivateJobTriggerRequest;
+
+ /**
+ * Creates a plain object from an ActivateJobTriggerRequest message. Also converts values to other types if specified.
+ * @param message ActivateJobTriggerRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ActivateJobTriggerRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ActivateJobTriggerRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an UpdateJobTriggerRequest. */
+ interface IUpdateJobTriggerRequest {
+
+ /** UpdateJobTriggerRequest name */
+ name?: (string|null);
+
+ /** UpdateJobTriggerRequest jobTrigger */
+ jobTrigger?: (google.privacy.dlp.v2.IJobTrigger|null);
+
+ /** UpdateJobTriggerRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateJobTriggerRequest. */
+ class UpdateJobTriggerRequest implements IUpdateJobTriggerRequest {
+
+ /**
+ * Constructs a new UpdateJobTriggerRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IUpdateJobTriggerRequest);
+
+ /** UpdateJobTriggerRequest name. */
+ public name: string;
+
+ /** UpdateJobTriggerRequest jobTrigger. */
+ public jobTrigger?: (google.privacy.dlp.v2.IJobTrigger|null);
+
+ /** UpdateJobTriggerRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateJobTriggerRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateJobTriggerRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IUpdateJobTriggerRequest): google.privacy.dlp.v2.UpdateJobTriggerRequest;
+
+ /**
+ * Encodes the specified UpdateJobTriggerRequest message. Does not implicitly {@link google.privacy.dlp.v2.UpdateJobTriggerRequest.verify|verify} messages.
+ * @param message UpdateJobTriggerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IUpdateJobTriggerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateJobTriggerRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.UpdateJobTriggerRequest.verify|verify} messages.
+ * @param message UpdateJobTriggerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IUpdateJobTriggerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateJobTriggerRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateJobTriggerRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.UpdateJobTriggerRequest;
+
+ /**
+ * Decodes an UpdateJobTriggerRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateJobTriggerRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.UpdateJobTriggerRequest;
+
+ /**
+ * Verifies an UpdateJobTriggerRequest message.
+ * @param message Plain 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 UpdateJobTriggerRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateJobTriggerRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.UpdateJobTriggerRequest;
+
+ /**
+ * Creates a plain object from an UpdateJobTriggerRequest message. Also converts values to other types if specified.
+ * @param message UpdateJobTriggerRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.UpdateJobTriggerRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateJobTriggerRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a GetJobTriggerRequest. */
+ interface IGetJobTriggerRequest {
+
+ /** GetJobTriggerRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetJobTriggerRequest. */
+ class GetJobTriggerRequest implements IGetJobTriggerRequest {
+
+ /**
+ * Constructs a new GetJobTriggerRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IGetJobTriggerRequest);
+
+ /** GetJobTriggerRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetJobTriggerRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetJobTriggerRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IGetJobTriggerRequest): google.privacy.dlp.v2.GetJobTriggerRequest;
+
+ /**
+ * Encodes the specified GetJobTriggerRequest message. Does not implicitly {@link google.privacy.dlp.v2.GetJobTriggerRequest.verify|verify} messages.
+ * @param message GetJobTriggerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IGetJobTriggerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetJobTriggerRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.GetJobTriggerRequest.verify|verify} messages.
+ * @param message GetJobTriggerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IGetJobTriggerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetJobTriggerRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetJobTriggerRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.GetJobTriggerRequest;
+
+ /**
+ * Decodes a GetJobTriggerRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetJobTriggerRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.GetJobTriggerRequest;
+
+ /**
+ * Verifies a GetJobTriggerRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetJobTriggerRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetJobTriggerRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.GetJobTriggerRequest;
+
+ /**
+ * Creates a plain object from a GetJobTriggerRequest message. Also converts values to other types if specified.
+ * @param message GetJobTriggerRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.GetJobTriggerRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetJobTriggerRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a CreateDlpJobRequest. */
+ interface ICreateDlpJobRequest {
+
+ /** CreateDlpJobRequest parent */
+ parent?: (string|null);
+
+ /** CreateDlpJobRequest inspectJob */
+ inspectJob?: (google.privacy.dlp.v2.IInspectJobConfig|null);
+
+ /** CreateDlpJobRequest riskJob */
+ riskJob?: (google.privacy.dlp.v2.IRiskAnalysisJobConfig|null);
+
+ /** CreateDlpJobRequest jobId */
+ jobId?: (string|null);
+
+ /** CreateDlpJobRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents a CreateDlpJobRequest. */
+ class CreateDlpJobRequest implements ICreateDlpJobRequest {
+
+ /**
+ * Constructs a new CreateDlpJobRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICreateDlpJobRequest);
+
+ /** CreateDlpJobRequest parent. */
+ public parent: string;
+
+ /** CreateDlpJobRequest inspectJob. */
+ public inspectJob?: (google.privacy.dlp.v2.IInspectJobConfig|null);
+
+ /** CreateDlpJobRequest riskJob. */
+ public riskJob?: (google.privacy.dlp.v2.IRiskAnalysisJobConfig|null);
+
+ /** CreateDlpJobRequest jobId. */
+ public jobId: string;
+
+ /** CreateDlpJobRequest locationId. */
+ public locationId: string;
+
+ /** CreateDlpJobRequest job. */
+ public job?: ("inspectJob"|"riskJob");
+
+ /**
+ * Creates a new CreateDlpJobRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateDlpJobRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICreateDlpJobRequest): google.privacy.dlp.v2.CreateDlpJobRequest;
+
+ /**
+ * Encodes the specified CreateDlpJobRequest message. Does not implicitly {@link google.privacy.dlp.v2.CreateDlpJobRequest.verify|verify} messages.
+ * @param message CreateDlpJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICreateDlpJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateDlpJobRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CreateDlpJobRequest.verify|verify} messages.
+ * @param message CreateDlpJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICreateDlpJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateDlpJobRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateDlpJobRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CreateDlpJobRequest;
+
+ /**
+ * Decodes a CreateDlpJobRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateDlpJobRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CreateDlpJobRequest;
+
+ /**
+ * Verifies a CreateDlpJobRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateDlpJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateDlpJobRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CreateDlpJobRequest;
+
+ /**
+ * Creates a plain object from a CreateDlpJobRequest message. Also converts values to other types if specified.
+ * @param message CreateDlpJobRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CreateDlpJobRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateDlpJobRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ListJobTriggersRequest. */
+ interface IListJobTriggersRequest {
+
+ /** ListJobTriggersRequest parent */
+ parent?: (string|null);
+
+ /** ListJobTriggersRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListJobTriggersRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListJobTriggersRequest orderBy */
+ orderBy?: (string|null);
+
+ /** ListJobTriggersRequest filter */
+ filter?: (string|null);
+
+ /** ListJobTriggersRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents a ListJobTriggersRequest. */
+ class ListJobTriggersRequest implements IListJobTriggersRequest {
+
+ /**
+ * Constructs a new ListJobTriggersRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IListJobTriggersRequest);
+
+ /** ListJobTriggersRequest parent. */
+ public parent: string;
+
+ /** ListJobTriggersRequest pageToken. */
+ public pageToken: string;
+
+ /** ListJobTriggersRequest pageSize. */
+ public pageSize: number;
+
+ /** ListJobTriggersRequest orderBy. */
+ public orderBy: string;
+
+ /** ListJobTriggersRequest filter. */
+ public filter: string;
+
+ /** ListJobTriggersRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new ListJobTriggersRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListJobTriggersRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IListJobTriggersRequest): google.privacy.dlp.v2.ListJobTriggersRequest;
+
+ /**
+ * Encodes the specified ListJobTriggersRequest message. Does not implicitly {@link google.privacy.dlp.v2.ListJobTriggersRequest.verify|verify} messages.
+ * @param message ListJobTriggersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IListJobTriggersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListJobTriggersRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ListJobTriggersRequest.verify|verify} messages.
+ * @param message ListJobTriggersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IListJobTriggersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListJobTriggersRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListJobTriggersRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ListJobTriggersRequest;
+
+ /**
+ * Decodes a ListJobTriggersRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListJobTriggersRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ListJobTriggersRequest;
+
+ /**
+ * Verifies a ListJobTriggersRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListJobTriggersRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListJobTriggersRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ListJobTriggersRequest;
+
+ /**
+ * Creates a plain object from a ListJobTriggersRequest message. Also converts values to other types if specified.
+ * @param message ListJobTriggersRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ListJobTriggersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListJobTriggersRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ListJobTriggersResponse. */
+ interface IListJobTriggersResponse {
+
+ /** ListJobTriggersResponse jobTriggers */
+ jobTriggers?: (google.privacy.dlp.v2.IJobTrigger[]|null);
+
+ /** ListJobTriggersResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListJobTriggersResponse. */
+ class ListJobTriggersResponse implements IListJobTriggersResponse {
+
+ /**
+ * Constructs a new ListJobTriggersResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IListJobTriggersResponse);
+
+ /** ListJobTriggersResponse jobTriggers. */
+ public jobTriggers: google.privacy.dlp.v2.IJobTrigger[];
+
+ /** ListJobTriggersResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListJobTriggersResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListJobTriggersResponse instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IListJobTriggersResponse): google.privacy.dlp.v2.ListJobTriggersResponse;
+
+ /**
+ * Encodes the specified ListJobTriggersResponse message. Does not implicitly {@link google.privacy.dlp.v2.ListJobTriggersResponse.verify|verify} messages.
+ * @param message ListJobTriggersResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IListJobTriggersResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListJobTriggersResponse message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ListJobTriggersResponse.verify|verify} messages.
+ * @param message ListJobTriggersResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IListJobTriggersResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListJobTriggersResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListJobTriggersResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ListJobTriggersResponse;
+
+ /**
+ * Decodes a ListJobTriggersResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListJobTriggersResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ListJobTriggersResponse;
+
+ /**
+ * Verifies a ListJobTriggersResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListJobTriggersResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListJobTriggersResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ListJobTriggersResponse;
+
+ /**
+ * Creates a plain object from a ListJobTriggersResponse message. Also converts values to other types if specified.
+ * @param message ListJobTriggersResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ListJobTriggersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListJobTriggersResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DeleteJobTriggerRequest. */
+ interface IDeleteJobTriggerRequest {
+
+ /** DeleteJobTriggerRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteJobTriggerRequest. */
+ class DeleteJobTriggerRequest implements IDeleteJobTriggerRequest {
+
+ /**
+ * Constructs a new DeleteJobTriggerRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IDeleteJobTriggerRequest);
+
+ /** DeleteJobTriggerRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteJobTriggerRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteJobTriggerRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IDeleteJobTriggerRequest): google.privacy.dlp.v2.DeleteJobTriggerRequest;
+
+ /**
+ * Encodes the specified DeleteJobTriggerRequest message. Does not implicitly {@link google.privacy.dlp.v2.DeleteJobTriggerRequest.verify|verify} messages.
+ * @param message DeleteJobTriggerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IDeleteJobTriggerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteJobTriggerRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DeleteJobTriggerRequest.verify|verify} messages.
+ * @param message DeleteJobTriggerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IDeleteJobTriggerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteJobTriggerRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteJobTriggerRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DeleteJobTriggerRequest;
+
+ /**
+ * Decodes a DeleteJobTriggerRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteJobTriggerRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DeleteJobTriggerRequest;
+
+ /**
+ * Verifies a DeleteJobTriggerRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteJobTriggerRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteJobTriggerRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DeleteJobTriggerRequest;
+
+ /**
+ * Creates a plain object from a DeleteJobTriggerRequest message. Also converts values to other types if specified.
+ * @param message DeleteJobTriggerRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DeleteJobTriggerRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteJobTriggerRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an InspectJobConfig. */
+ interface IInspectJobConfig {
+
+ /** InspectJobConfig storageConfig */
+ storageConfig?: (google.privacy.dlp.v2.IStorageConfig|null);
+
+ /** InspectJobConfig inspectConfig */
+ inspectConfig?: (google.privacy.dlp.v2.IInspectConfig|null);
+
+ /** InspectJobConfig inspectTemplateName */
+ inspectTemplateName?: (string|null);
+
+ /** InspectJobConfig actions */
+ actions?: (google.privacy.dlp.v2.IAction[]|null);
+ }
+
+ /** Represents an InspectJobConfig. */
+ class InspectJobConfig implements IInspectJobConfig {
+
+ /**
+ * Constructs a new InspectJobConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IInspectJobConfig);
+
+ /** InspectJobConfig storageConfig. */
+ public storageConfig?: (google.privacy.dlp.v2.IStorageConfig|null);
+
+ /** InspectJobConfig inspectConfig. */
+ public inspectConfig?: (google.privacy.dlp.v2.IInspectConfig|null);
+
+ /** InspectJobConfig inspectTemplateName. */
+ public inspectTemplateName: string;
+
+ /** InspectJobConfig actions. */
+ public actions: google.privacy.dlp.v2.IAction[];
+
+ /**
+ * Creates a new InspectJobConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InspectJobConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IInspectJobConfig): google.privacy.dlp.v2.InspectJobConfig;
+
+ /**
+ * Encodes the specified InspectJobConfig message. Does not implicitly {@link google.privacy.dlp.v2.InspectJobConfig.verify|verify} messages.
+ * @param message InspectJobConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IInspectJobConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InspectJobConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectJobConfig.verify|verify} messages.
+ * @param message InspectJobConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IInspectJobConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InspectJobConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InspectJobConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InspectJobConfig;
+
+ /**
+ * Decodes an InspectJobConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InspectJobConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InspectJobConfig;
+
+ /**
+ * Verifies an InspectJobConfig message.
+ * @param message Plain 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 InspectJobConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InspectJobConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InspectJobConfig;
+
+ /**
+ * Creates a plain object from an InspectJobConfig message. Also converts values to other types if specified.
+ * @param message InspectJobConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InspectJobConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InspectJobConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DlpJob. */
+ interface IDlpJob {
+
+ /** DlpJob name */
+ name?: (string|null);
+
+ /** DlpJob type */
+ type?: (google.privacy.dlp.v2.DlpJobType|keyof typeof google.privacy.dlp.v2.DlpJobType|null);
+
+ /** DlpJob state */
+ state?: (google.privacy.dlp.v2.DlpJob.JobState|keyof typeof google.privacy.dlp.v2.DlpJob.JobState|null);
+
+ /** DlpJob riskDetails */
+ riskDetails?: (google.privacy.dlp.v2.IAnalyzeDataSourceRiskDetails|null);
+
+ /** DlpJob inspectDetails */
+ inspectDetails?: (google.privacy.dlp.v2.IInspectDataSourceDetails|null);
+
+ /** DlpJob createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** DlpJob startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** DlpJob endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** DlpJob jobTriggerName */
+ jobTriggerName?: (string|null);
+
+ /** DlpJob errors */
+ errors?: (google.privacy.dlp.v2.IError[]|null);
+ }
+
+ /** Represents a DlpJob. */
+ class DlpJob implements IDlpJob {
+
+ /**
+ * Constructs a new DlpJob.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IDlpJob);
+
+ /** DlpJob name. */
+ public name: string;
+
+ /** DlpJob type. */
+ public type: (google.privacy.dlp.v2.DlpJobType|keyof typeof google.privacy.dlp.v2.DlpJobType);
+
+ /** DlpJob state. */
+ public state: (google.privacy.dlp.v2.DlpJob.JobState|keyof typeof google.privacy.dlp.v2.DlpJob.JobState);
+
+ /** DlpJob riskDetails. */
+ public riskDetails?: (google.privacy.dlp.v2.IAnalyzeDataSourceRiskDetails|null);
+
+ /** DlpJob inspectDetails. */
+ public inspectDetails?: (google.privacy.dlp.v2.IInspectDataSourceDetails|null);
+
+ /** DlpJob createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** DlpJob startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** DlpJob endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** DlpJob jobTriggerName. */
+ public jobTriggerName: string;
+
+ /** DlpJob errors. */
+ public errors: google.privacy.dlp.v2.IError[];
+
+ /** DlpJob details. */
+ public details?: ("riskDetails"|"inspectDetails");
+
+ /**
+ * Creates a new DlpJob instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DlpJob instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IDlpJob): google.privacy.dlp.v2.DlpJob;
+
+ /**
+ * Encodes the specified DlpJob message. Does not implicitly {@link google.privacy.dlp.v2.DlpJob.verify|verify} messages.
+ * @param message DlpJob message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IDlpJob, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DlpJob message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DlpJob.verify|verify} messages.
+ * @param message DlpJob message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IDlpJob, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DlpJob message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DlpJob
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DlpJob;
+
+ /**
+ * Decodes a DlpJob message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DlpJob
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DlpJob;
+
+ /**
+ * Verifies a DlpJob message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DlpJob message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DlpJob
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DlpJob;
+
+ /**
+ * Creates a plain object from a DlpJob message. Also converts values to other types if specified.
+ * @param message DlpJob
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DlpJob, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DlpJob to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace DlpJob {
+
+ /** JobState enum. */
+ enum JobState {
+ JOB_STATE_UNSPECIFIED = 0,
+ PENDING = 1,
+ RUNNING = 2,
+ DONE = 3,
+ CANCELED = 4,
+ FAILED = 5,
+ ACTIVE = 6
+ }
+ }
+
+ /** Properties of a GetDlpJobRequest. */
+ interface IGetDlpJobRequest {
+
+ /** GetDlpJobRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetDlpJobRequest. */
+ class GetDlpJobRequest implements IGetDlpJobRequest {
+
+ /**
+ * Constructs a new GetDlpJobRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IGetDlpJobRequest);
+
+ /** GetDlpJobRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetDlpJobRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetDlpJobRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IGetDlpJobRequest): google.privacy.dlp.v2.GetDlpJobRequest;
+
+ /**
+ * Encodes the specified GetDlpJobRequest message. Does not implicitly {@link google.privacy.dlp.v2.GetDlpJobRequest.verify|verify} messages.
+ * @param message GetDlpJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IGetDlpJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetDlpJobRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.GetDlpJobRequest.verify|verify} messages.
+ * @param message GetDlpJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IGetDlpJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetDlpJobRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetDlpJobRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.GetDlpJobRequest;
+
+ /**
+ * Decodes a GetDlpJobRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetDlpJobRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.GetDlpJobRequest;
+
+ /**
+ * Verifies a GetDlpJobRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetDlpJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetDlpJobRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.GetDlpJobRequest;
+
+ /**
+ * Creates a plain object from a GetDlpJobRequest message. Also converts values to other types if specified.
+ * @param message GetDlpJobRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.GetDlpJobRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetDlpJobRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ListDlpJobsRequest. */
+ interface IListDlpJobsRequest {
+
+ /** ListDlpJobsRequest parent */
+ parent?: (string|null);
+
+ /** ListDlpJobsRequest filter */
+ filter?: (string|null);
+
+ /** ListDlpJobsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListDlpJobsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListDlpJobsRequest type */
+ type?: (google.privacy.dlp.v2.DlpJobType|keyof typeof google.privacy.dlp.v2.DlpJobType|null);
+
+ /** ListDlpJobsRequest orderBy */
+ orderBy?: (string|null);
+
+ /** ListDlpJobsRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents a ListDlpJobsRequest. */
+ class ListDlpJobsRequest implements IListDlpJobsRequest {
+
+ /**
+ * Constructs a new ListDlpJobsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IListDlpJobsRequest);
+
+ /** ListDlpJobsRequest parent. */
+ public parent: string;
+
+ /** ListDlpJobsRequest filter. */
+ public filter: string;
+
+ /** ListDlpJobsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListDlpJobsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListDlpJobsRequest type. */
+ public type: (google.privacy.dlp.v2.DlpJobType|keyof typeof google.privacy.dlp.v2.DlpJobType);
+
+ /** ListDlpJobsRequest orderBy. */
+ public orderBy: string;
+
+ /** ListDlpJobsRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new ListDlpJobsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListDlpJobsRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IListDlpJobsRequest): google.privacy.dlp.v2.ListDlpJobsRequest;
+
+ /**
+ * Encodes the specified ListDlpJobsRequest message. Does not implicitly {@link google.privacy.dlp.v2.ListDlpJobsRequest.verify|verify} messages.
+ * @param message ListDlpJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IListDlpJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListDlpJobsRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ListDlpJobsRequest.verify|verify} messages.
+ * @param message ListDlpJobsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IListDlpJobsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListDlpJobsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListDlpJobsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ListDlpJobsRequest;
+
+ /**
+ * Decodes a ListDlpJobsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListDlpJobsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ListDlpJobsRequest;
+
+ /**
+ * Verifies a ListDlpJobsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListDlpJobsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListDlpJobsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ListDlpJobsRequest;
+
+ /**
+ * Creates a plain object from a ListDlpJobsRequest message. Also converts values to other types if specified.
+ * @param message ListDlpJobsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ListDlpJobsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListDlpJobsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ListDlpJobsResponse. */
+ interface IListDlpJobsResponse {
+
+ /** ListDlpJobsResponse jobs */
+ jobs?: (google.privacy.dlp.v2.IDlpJob[]|null);
+
+ /** ListDlpJobsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListDlpJobsResponse. */
+ class ListDlpJobsResponse implements IListDlpJobsResponse {
+
+ /**
+ * Constructs a new ListDlpJobsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IListDlpJobsResponse);
+
+ /** ListDlpJobsResponse jobs. */
+ public jobs: google.privacy.dlp.v2.IDlpJob[];
+
+ /** ListDlpJobsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListDlpJobsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListDlpJobsResponse instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IListDlpJobsResponse): google.privacy.dlp.v2.ListDlpJobsResponse;
+
+ /**
+ * Encodes the specified ListDlpJobsResponse message. Does not implicitly {@link google.privacy.dlp.v2.ListDlpJobsResponse.verify|verify} messages.
+ * @param message ListDlpJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IListDlpJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListDlpJobsResponse message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ListDlpJobsResponse.verify|verify} messages.
+ * @param message ListDlpJobsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IListDlpJobsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListDlpJobsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListDlpJobsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ListDlpJobsResponse;
+
+ /**
+ * Decodes a ListDlpJobsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListDlpJobsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ListDlpJobsResponse;
+
+ /**
+ * Verifies a ListDlpJobsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListDlpJobsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListDlpJobsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ListDlpJobsResponse;
+
+ /**
+ * Creates a plain object from a ListDlpJobsResponse message. Also converts values to other types if specified.
+ * @param message ListDlpJobsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ListDlpJobsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListDlpJobsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a CancelDlpJobRequest. */
+ interface ICancelDlpJobRequest {
+
+ /** CancelDlpJobRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a CancelDlpJobRequest. */
+ class CancelDlpJobRequest implements ICancelDlpJobRequest {
+
+ /**
+ * Constructs a new CancelDlpJobRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICancelDlpJobRequest);
+
+ /** CancelDlpJobRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new CancelDlpJobRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CancelDlpJobRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICancelDlpJobRequest): google.privacy.dlp.v2.CancelDlpJobRequest;
+
+ /**
+ * Encodes the specified CancelDlpJobRequest message. Does not implicitly {@link google.privacy.dlp.v2.CancelDlpJobRequest.verify|verify} messages.
+ * @param message CancelDlpJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICancelDlpJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CancelDlpJobRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CancelDlpJobRequest.verify|verify} messages.
+ * @param message CancelDlpJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICancelDlpJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CancelDlpJobRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CancelDlpJobRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CancelDlpJobRequest;
+
+ /**
+ * Decodes a CancelDlpJobRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CancelDlpJobRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CancelDlpJobRequest;
+
+ /**
+ * Verifies a CancelDlpJobRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CancelDlpJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CancelDlpJobRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CancelDlpJobRequest;
+
+ /**
+ * Creates a plain object from a CancelDlpJobRequest message. Also converts values to other types if specified.
+ * @param message CancelDlpJobRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CancelDlpJobRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CancelDlpJobRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a FinishDlpJobRequest. */
+ interface IFinishDlpJobRequest {
+
+ /** FinishDlpJobRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a FinishDlpJobRequest. */
+ class FinishDlpJobRequest implements IFinishDlpJobRequest {
+
+ /**
+ * Constructs a new FinishDlpJobRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IFinishDlpJobRequest);
+
+ /** FinishDlpJobRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new FinishDlpJobRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FinishDlpJobRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IFinishDlpJobRequest): google.privacy.dlp.v2.FinishDlpJobRequest;
+
+ /**
+ * Encodes the specified FinishDlpJobRequest message. Does not implicitly {@link google.privacy.dlp.v2.FinishDlpJobRequest.verify|verify} messages.
+ * @param message FinishDlpJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IFinishDlpJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FinishDlpJobRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.FinishDlpJobRequest.verify|verify} messages.
+ * @param message FinishDlpJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IFinishDlpJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FinishDlpJobRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FinishDlpJobRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.FinishDlpJobRequest;
+
+ /**
+ * Decodes a FinishDlpJobRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FinishDlpJobRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.FinishDlpJobRequest;
+
+ /**
+ * Verifies a FinishDlpJobRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FinishDlpJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FinishDlpJobRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.FinishDlpJobRequest;
+
+ /**
+ * Creates a plain object from a FinishDlpJobRequest message. Also converts values to other types if specified.
+ * @param message FinishDlpJobRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.FinishDlpJobRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FinishDlpJobRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DeleteDlpJobRequest. */
+ interface IDeleteDlpJobRequest {
+
+ /** DeleteDlpJobRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteDlpJobRequest. */
+ class DeleteDlpJobRequest implements IDeleteDlpJobRequest {
+
+ /**
+ * Constructs a new DeleteDlpJobRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IDeleteDlpJobRequest);
+
+ /** DeleteDlpJobRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteDlpJobRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteDlpJobRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IDeleteDlpJobRequest): google.privacy.dlp.v2.DeleteDlpJobRequest;
+
+ /**
+ * Encodes the specified DeleteDlpJobRequest message. Does not implicitly {@link google.privacy.dlp.v2.DeleteDlpJobRequest.verify|verify} messages.
+ * @param message DeleteDlpJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IDeleteDlpJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteDlpJobRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DeleteDlpJobRequest.verify|verify} messages.
+ * @param message DeleteDlpJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IDeleteDlpJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteDlpJobRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteDlpJobRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DeleteDlpJobRequest;
+
+ /**
+ * Decodes a DeleteDlpJobRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteDlpJobRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DeleteDlpJobRequest;
+
+ /**
+ * Verifies a DeleteDlpJobRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteDlpJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteDlpJobRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DeleteDlpJobRequest;
+
+ /**
+ * Creates a plain object from a DeleteDlpJobRequest message. Also converts values to other types if specified.
+ * @param message DeleteDlpJobRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DeleteDlpJobRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteDlpJobRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a CreateDeidentifyTemplateRequest. */
+ interface ICreateDeidentifyTemplateRequest {
+
+ /** CreateDeidentifyTemplateRequest parent */
+ parent?: (string|null);
+
+ /** CreateDeidentifyTemplateRequest deidentifyTemplate */
+ deidentifyTemplate?: (google.privacy.dlp.v2.IDeidentifyTemplate|null);
+
+ /** CreateDeidentifyTemplateRequest templateId */
+ templateId?: (string|null);
+
+ /** CreateDeidentifyTemplateRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents a CreateDeidentifyTemplateRequest. */
+ class CreateDeidentifyTemplateRequest implements ICreateDeidentifyTemplateRequest {
+
+ /**
+ * Constructs a new CreateDeidentifyTemplateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest);
+
+ /** CreateDeidentifyTemplateRequest parent. */
+ public parent: string;
+
+ /** CreateDeidentifyTemplateRequest deidentifyTemplate. */
+ public deidentifyTemplate?: (google.privacy.dlp.v2.IDeidentifyTemplate|null);
+
+ /** CreateDeidentifyTemplateRequest templateId. */
+ public templateId: string;
+
+ /** CreateDeidentifyTemplateRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new CreateDeidentifyTemplateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateDeidentifyTemplateRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest): google.privacy.dlp.v2.CreateDeidentifyTemplateRequest;
+
+ /**
+ * Encodes the specified CreateDeidentifyTemplateRequest message. Does not implicitly {@link google.privacy.dlp.v2.CreateDeidentifyTemplateRequest.verify|verify} messages.
+ * @param message CreateDeidentifyTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateDeidentifyTemplateRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CreateDeidentifyTemplateRequest.verify|verify} messages.
+ * @param message CreateDeidentifyTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateDeidentifyTemplateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateDeidentifyTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CreateDeidentifyTemplateRequest;
+
+ /**
+ * Decodes a CreateDeidentifyTemplateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateDeidentifyTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CreateDeidentifyTemplateRequest;
+
+ /**
+ * Verifies a CreateDeidentifyTemplateRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateDeidentifyTemplateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateDeidentifyTemplateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CreateDeidentifyTemplateRequest;
+
+ /**
+ * Creates a plain object from a CreateDeidentifyTemplateRequest message. Also converts values to other types if specified.
+ * @param message CreateDeidentifyTemplateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CreateDeidentifyTemplateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateDeidentifyTemplateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an UpdateDeidentifyTemplateRequest. */
+ interface IUpdateDeidentifyTemplateRequest {
+
+ /** UpdateDeidentifyTemplateRequest name */
+ name?: (string|null);
+
+ /** UpdateDeidentifyTemplateRequest deidentifyTemplate */
+ deidentifyTemplate?: (google.privacy.dlp.v2.IDeidentifyTemplate|null);
+
+ /** UpdateDeidentifyTemplateRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateDeidentifyTemplateRequest. */
+ class UpdateDeidentifyTemplateRequest implements IUpdateDeidentifyTemplateRequest {
+
+ /**
+ * Constructs a new UpdateDeidentifyTemplateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest);
+
+ /** UpdateDeidentifyTemplateRequest name. */
+ public name: string;
+
+ /** UpdateDeidentifyTemplateRequest deidentifyTemplate. */
+ public deidentifyTemplate?: (google.privacy.dlp.v2.IDeidentifyTemplate|null);
+
+ /** UpdateDeidentifyTemplateRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateDeidentifyTemplateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateDeidentifyTemplateRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest): google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest;
+
+ /**
+ * Encodes the specified UpdateDeidentifyTemplateRequest message. Does not implicitly {@link google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest.verify|verify} messages.
+ * @param message UpdateDeidentifyTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateDeidentifyTemplateRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest.verify|verify} messages.
+ * @param message UpdateDeidentifyTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateDeidentifyTemplateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateDeidentifyTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest;
+
+ /**
+ * Decodes an UpdateDeidentifyTemplateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateDeidentifyTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest;
+
+ /**
+ * Verifies an UpdateDeidentifyTemplateRequest message.
+ * @param message Plain 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 UpdateDeidentifyTemplateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateDeidentifyTemplateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest;
+
+ /**
+ * Creates a plain object from an UpdateDeidentifyTemplateRequest message. Also converts values to other types if specified.
+ * @param message UpdateDeidentifyTemplateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateDeidentifyTemplateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a GetDeidentifyTemplateRequest. */
+ interface IGetDeidentifyTemplateRequest {
+
+ /** GetDeidentifyTemplateRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetDeidentifyTemplateRequest. */
+ class GetDeidentifyTemplateRequest implements IGetDeidentifyTemplateRequest {
+
+ /**
+ * Constructs a new GetDeidentifyTemplateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IGetDeidentifyTemplateRequest);
+
+ /** GetDeidentifyTemplateRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetDeidentifyTemplateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetDeidentifyTemplateRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IGetDeidentifyTemplateRequest): google.privacy.dlp.v2.GetDeidentifyTemplateRequest;
+
+ /**
+ * Encodes the specified GetDeidentifyTemplateRequest message. Does not implicitly {@link google.privacy.dlp.v2.GetDeidentifyTemplateRequest.verify|verify} messages.
+ * @param message GetDeidentifyTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IGetDeidentifyTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetDeidentifyTemplateRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.GetDeidentifyTemplateRequest.verify|verify} messages.
+ * @param message GetDeidentifyTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IGetDeidentifyTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetDeidentifyTemplateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetDeidentifyTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.GetDeidentifyTemplateRequest;
+
+ /**
+ * Decodes a GetDeidentifyTemplateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetDeidentifyTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.GetDeidentifyTemplateRequest;
+
+ /**
+ * Verifies a GetDeidentifyTemplateRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetDeidentifyTemplateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetDeidentifyTemplateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.GetDeidentifyTemplateRequest;
+
+ /**
+ * Creates a plain object from a GetDeidentifyTemplateRequest message. Also converts values to other types if specified.
+ * @param message GetDeidentifyTemplateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.GetDeidentifyTemplateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetDeidentifyTemplateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ListDeidentifyTemplatesRequest. */
+ interface IListDeidentifyTemplatesRequest {
+
+ /** ListDeidentifyTemplatesRequest parent */
+ parent?: (string|null);
+
+ /** ListDeidentifyTemplatesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListDeidentifyTemplatesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListDeidentifyTemplatesRequest orderBy */
+ orderBy?: (string|null);
+
+ /** ListDeidentifyTemplatesRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents a ListDeidentifyTemplatesRequest. */
+ class ListDeidentifyTemplatesRequest implements IListDeidentifyTemplatesRequest {
+
+ /**
+ * Constructs a new ListDeidentifyTemplatesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IListDeidentifyTemplatesRequest);
+
+ /** ListDeidentifyTemplatesRequest parent. */
+ public parent: string;
+
+ /** ListDeidentifyTemplatesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListDeidentifyTemplatesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListDeidentifyTemplatesRequest orderBy. */
+ public orderBy: string;
+
+ /** ListDeidentifyTemplatesRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new ListDeidentifyTemplatesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListDeidentifyTemplatesRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IListDeidentifyTemplatesRequest): google.privacy.dlp.v2.ListDeidentifyTemplatesRequest;
+
+ /**
+ * Encodes the specified ListDeidentifyTemplatesRequest message. Does not implicitly {@link google.privacy.dlp.v2.ListDeidentifyTemplatesRequest.verify|verify} messages.
+ * @param message ListDeidentifyTemplatesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IListDeidentifyTemplatesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListDeidentifyTemplatesRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ListDeidentifyTemplatesRequest.verify|verify} messages.
+ * @param message ListDeidentifyTemplatesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IListDeidentifyTemplatesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListDeidentifyTemplatesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListDeidentifyTemplatesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ListDeidentifyTemplatesRequest;
+
+ /**
+ * Decodes a ListDeidentifyTemplatesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListDeidentifyTemplatesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ListDeidentifyTemplatesRequest;
+
+ /**
+ * Verifies a ListDeidentifyTemplatesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListDeidentifyTemplatesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListDeidentifyTemplatesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ListDeidentifyTemplatesRequest;
+
+ /**
+ * Creates a plain object from a ListDeidentifyTemplatesRequest message. Also converts values to other types if specified.
+ * @param message ListDeidentifyTemplatesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ListDeidentifyTemplatesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListDeidentifyTemplatesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ListDeidentifyTemplatesResponse. */
+ interface IListDeidentifyTemplatesResponse {
+
+ /** ListDeidentifyTemplatesResponse deidentifyTemplates */
+ deidentifyTemplates?: (google.privacy.dlp.v2.IDeidentifyTemplate[]|null);
+
+ /** ListDeidentifyTemplatesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListDeidentifyTemplatesResponse. */
+ class ListDeidentifyTemplatesResponse implements IListDeidentifyTemplatesResponse {
+
+ /**
+ * Constructs a new ListDeidentifyTemplatesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IListDeidentifyTemplatesResponse);
+
+ /** ListDeidentifyTemplatesResponse deidentifyTemplates. */
+ public deidentifyTemplates: google.privacy.dlp.v2.IDeidentifyTemplate[];
+
+ /** ListDeidentifyTemplatesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListDeidentifyTemplatesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListDeidentifyTemplatesResponse instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IListDeidentifyTemplatesResponse): google.privacy.dlp.v2.ListDeidentifyTemplatesResponse;
+
+ /**
+ * Encodes the specified ListDeidentifyTemplatesResponse message. Does not implicitly {@link google.privacy.dlp.v2.ListDeidentifyTemplatesResponse.verify|verify} messages.
+ * @param message ListDeidentifyTemplatesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IListDeidentifyTemplatesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListDeidentifyTemplatesResponse message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ListDeidentifyTemplatesResponse.verify|verify} messages.
+ * @param message ListDeidentifyTemplatesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IListDeidentifyTemplatesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListDeidentifyTemplatesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListDeidentifyTemplatesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ListDeidentifyTemplatesResponse;
+
+ /**
+ * Decodes a ListDeidentifyTemplatesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListDeidentifyTemplatesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ListDeidentifyTemplatesResponse;
+
+ /**
+ * Verifies a ListDeidentifyTemplatesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListDeidentifyTemplatesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListDeidentifyTemplatesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ListDeidentifyTemplatesResponse;
+
+ /**
+ * Creates a plain object from a ListDeidentifyTemplatesResponse message. Also converts values to other types if specified.
+ * @param message ListDeidentifyTemplatesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ListDeidentifyTemplatesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListDeidentifyTemplatesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DeleteDeidentifyTemplateRequest. */
+ interface IDeleteDeidentifyTemplateRequest {
+
+ /** DeleteDeidentifyTemplateRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteDeidentifyTemplateRequest. */
+ class DeleteDeidentifyTemplateRequest implements IDeleteDeidentifyTemplateRequest {
+
+ /**
+ * Constructs a new DeleteDeidentifyTemplateRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest);
+
+ /** DeleteDeidentifyTemplateRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteDeidentifyTemplateRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteDeidentifyTemplateRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest): google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest;
+
+ /**
+ * Encodes the specified DeleteDeidentifyTemplateRequest message. Does not implicitly {@link google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest.verify|verify} messages.
+ * @param message DeleteDeidentifyTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteDeidentifyTemplateRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest.verify|verify} messages.
+ * @param message DeleteDeidentifyTemplateRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteDeidentifyTemplateRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteDeidentifyTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest;
+
+ /**
+ * Decodes a DeleteDeidentifyTemplateRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteDeidentifyTemplateRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest;
+
+ /**
+ * Verifies a DeleteDeidentifyTemplateRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteDeidentifyTemplateRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteDeidentifyTemplateRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest;
+
+ /**
+ * Creates a plain object from a DeleteDeidentifyTemplateRequest message. Also converts values to other types if specified.
+ * @param message DeleteDeidentifyTemplateRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteDeidentifyTemplateRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a LargeCustomDictionaryConfig. */
+ interface ILargeCustomDictionaryConfig {
+
+ /** LargeCustomDictionaryConfig outputPath */
+ outputPath?: (google.privacy.dlp.v2.ICloudStoragePath|null);
+
+ /** LargeCustomDictionaryConfig cloudStorageFileSet */
+ cloudStorageFileSet?: (google.privacy.dlp.v2.ICloudStorageFileSet|null);
+
+ /** LargeCustomDictionaryConfig bigQueryField */
+ bigQueryField?: (google.privacy.dlp.v2.IBigQueryField|null);
+ }
+
+ /** Represents a LargeCustomDictionaryConfig. */
+ class LargeCustomDictionaryConfig implements ILargeCustomDictionaryConfig {
+
+ /**
+ * Constructs a new LargeCustomDictionaryConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ILargeCustomDictionaryConfig);
+
+ /** LargeCustomDictionaryConfig outputPath. */
+ public outputPath?: (google.privacy.dlp.v2.ICloudStoragePath|null);
+
+ /** LargeCustomDictionaryConfig cloudStorageFileSet. */
+ public cloudStorageFileSet?: (google.privacy.dlp.v2.ICloudStorageFileSet|null);
+
+ /** LargeCustomDictionaryConfig bigQueryField. */
+ public bigQueryField?: (google.privacy.dlp.v2.IBigQueryField|null);
+
+ /** LargeCustomDictionaryConfig source. */
+ public source?: ("cloudStorageFileSet"|"bigQueryField");
+
+ /**
+ * Creates a new LargeCustomDictionaryConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LargeCustomDictionaryConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ILargeCustomDictionaryConfig): google.privacy.dlp.v2.LargeCustomDictionaryConfig;
+
+ /**
+ * Encodes the specified LargeCustomDictionaryConfig message. Does not implicitly {@link google.privacy.dlp.v2.LargeCustomDictionaryConfig.verify|verify} messages.
+ * @param message LargeCustomDictionaryConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ILargeCustomDictionaryConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LargeCustomDictionaryConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.LargeCustomDictionaryConfig.verify|verify} messages.
+ * @param message LargeCustomDictionaryConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ILargeCustomDictionaryConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LargeCustomDictionaryConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LargeCustomDictionaryConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.LargeCustomDictionaryConfig;
+
+ /**
+ * Decodes a LargeCustomDictionaryConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LargeCustomDictionaryConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.LargeCustomDictionaryConfig;
+
+ /**
+ * Verifies a LargeCustomDictionaryConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LargeCustomDictionaryConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LargeCustomDictionaryConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.LargeCustomDictionaryConfig;
+
+ /**
+ * Creates a plain object from a LargeCustomDictionaryConfig message. Also converts values to other types if specified.
+ * @param message LargeCustomDictionaryConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.LargeCustomDictionaryConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LargeCustomDictionaryConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a LargeCustomDictionaryStats. */
+ interface ILargeCustomDictionaryStats {
+
+ /** LargeCustomDictionaryStats approxNumPhrases */
+ approxNumPhrases?: (number|Long|string|null);
+ }
+
+ /** Represents a LargeCustomDictionaryStats. */
+ class LargeCustomDictionaryStats implements ILargeCustomDictionaryStats {
+
+ /**
+ * Constructs a new LargeCustomDictionaryStats.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ILargeCustomDictionaryStats);
+
+ /** LargeCustomDictionaryStats approxNumPhrases. */
+ public approxNumPhrases: (number|Long|string);
+
+ /**
+ * Creates a new LargeCustomDictionaryStats instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LargeCustomDictionaryStats instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ILargeCustomDictionaryStats): google.privacy.dlp.v2.LargeCustomDictionaryStats;
+
+ /**
+ * Encodes the specified LargeCustomDictionaryStats message. Does not implicitly {@link google.privacy.dlp.v2.LargeCustomDictionaryStats.verify|verify} messages.
+ * @param message LargeCustomDictionaryStats message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ILargeCustomDictionaryStats, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LargeCustomDictionaryStats message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.LargeCustomDictionaryStats.verify|verify} messages.
+ * @param message LargeCustomDictionaryStats message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ILargeCustomDictionaryStats, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LargeCustomDictionaryStats message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LargeCustomDictionaryStats
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.LargeCustomDictionaryStats;
+
+ /**
+ * Decodes a LargeCustomDictionaryStats message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LargeCustomDictionaryStats
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.LargeCustomDictionaryStats;
+
+ /**
+ * Verifies a LargeCustomDictionaryStats message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LargeCustomDictionaryStats message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LargeCustomDictionaryStats
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.LargeCustomDictionaryStats;
+
+ /**
+ * Creates a plain object from a LargeCustomDictionaryStats message. Also converts values to other types if specified.
+ * @param message LargeCustomDictionaryStats
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.LargeCustomDictionaryStats, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LargeCustomDictionaryStats to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a StoredInfoTypeConfig. */
+ interface IStoredInfoTypeConfig {
+
+ /** StoredInfoTypeConfig displayName */
+ displayName?: (string|null);
+
+ /** StoredInfoTypeConfig description */
+ description?: (string|null);
+
+ /** StoredInfoTypeConfig largeCustomDictionary */
+ largeCustomDictionary?: (google.privacy.dlp.v2.ILargeCustomDictionaryConfig|null);
+
+ /** StoredInfoTypeConfig dictionary */
+ dictionary?: (google.privacy.dlp.v2.CustomInfoType.IDictionary|null);
+
+ /** StoredInfoTypeConfig regex */
+ regex?: (google.privacy.dlp.v2.CustomInfoType.IRegex|null);
+ }
+
+ /** Represents a StoredInfoTypeConfig. */
+ class StoredInfoTypeConfig implements IStoredInfoTypeConfig {
+
+ /**
+ * Constructs a new StoredInfoTypeConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IStoredInfoTypeConfig);
+
+ /** StoredInfoTypeConfig displayName. */
+ public displayName: string;
+
+ /** StoredInfoTypeConfig description. */
+ public description: string;
+
+ /** StoredInfoTypeConfig largeCustomDictionary. */
+ public largeCustomDictionary?: (google.privacy.dlp.v2.ILargeCustomDictionaryConfig|null);
+
+ /** StoredInfoTypeConfig dictionary. */
+ public dictionary?: (google.privacy.dlp.v2.CustomInfoType.IDictionary|null);
+
+ /** StoredInfoTypeConfig regex. */
+ public regex?: (google.privacy.dlp.v2.CustomInfoType.IRegex|null);
+
+ /** StoredInfoTypeConfig type. */
+ public type?: ("largeCustomDictionary"|"dictionary"|"regex");
+
+ /**
+ * Creates a new StoredInfoTypeConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StoredInfoTypeConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IStoredInfoTypeConfig): google.privacy.dlp.v2.StoredInfoTypeConfig;
+
+ /**
+ * Encodes the specified StoredInfoTypeConfig message. Does not implicitly {@link google.privacy.dlp.v2.StoredInfoTypeConfig.verify|verify} messages.
+ * @param message StoredInfoTypeConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IStoredInfoTypeConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StoredInfoTypeConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.StoredInfoTypeConfig.verify|verify} messages.
+ * @param message StoredInfoTypeConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IStoredInfoTypeConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StoredInfoTypeConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StoredInfoTypeConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.StoredInfoTypeConfig;
+
+ /**
+ * Decodes a StoredInfoTypeConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StoredInfoTypeConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.StoredInfoTypeConfig;
+
+ /**
+ * Verifies a StoredInfoTypeConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StoredInfoTypeConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StoredInfoTypeConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.StoredInfoTypeConfig;
+
+ /**
+ * Creates a plain object from a StoredInfoTypeConfig message. Also converts values to other types if specified.
+ * @param message StoredInfoTypeConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.StoredInfoTypeConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StoredInfoTypeConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a StoredInfoTypeStats. */
+ interface IStoredInfoTypeStats {
+
+ /** StoredInfoTypeStats largeCustomDictionary */
+ largeCustomDictionary?: (google.privacy.dlp.v2.ILargeCustomDictionaryStats|null);
+ }
+
+ /** Represents a StoredInfoTypeStats. */
+ class StoredInfoTypeStats implements IStoredInfoTypeStats {
+
+ /**
+ * Constructs a new StoredInfoTypeStats.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IStoredInfoTypeStats);
+
+ /** StoredInfoTypeStats largeCustomDictionary. */
+ public largeCustomDictionary?: (google.privacy.dlp.v2.ILargeCustomDictionaryStats|null);
+
+ /** StoredInfoTypeStats type. */
+ public type?: "largeCustomDictionary";
+
+ /**
+ * Creates a new StoredInfoTypeStats instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StoredInfoTypeStats instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IStoredInfoTypeStats): google.privacy.dlp.v2.StoredInfoTypeStats;
+
+ /**
+ * Encodes the specified StoredInfoTypeStats message. Does not implicitly {@link google.privacy.dlp.v2.StoredInfoTypeStats.verify|verify} messages.
+ * @param message StoredInfoTypeStats message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IStoredInfoTypeStats, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StoredInfoTypeStats message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.StoredInfoTypeStats.verify|verify} messages.
+ * @param message StoredInfoTypeStats message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IStoredInfoTypeStats, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StoredInfoTypeStats message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StoredInfoTypeStats
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.StoredInfoTypeStats;
+
+ /**
+ * Decodes a StoredInfoTypeStats message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StoredInfoTypeStats
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.StoredInfoTypeStats;
+
+ /**
+ * Verifies a StoredInfoTypeStats message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StoredInfoTypeStats message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StoredInfoTypeStats
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.StoredInfoTypeStats;
+
+ /**
+ * Creates a plain object from a StoredInfoTypeStats message. Also converts values to other types if specified.
+ * @param message StoredInfoTypeStats
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.StoredInfoTypeStats, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StoredInfoTypeStats to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a StoredInfoTypeVersion. */
+ interface IStoredInfoTypeVersion {
+
+ /** StoredInfoTypeVersion config */
+ config?: (google.privacy.dlp.v2.IStoredInfoTypeConfig|null);
+
+ /** StoredInfoTypeVersion createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** StoredInfoTypeVersion state */
+ state?: (google.privacy.dlp.v2.StoredInfoTypeState|keyof typeof google.privacy.dlp.v2.StoredInfoTypeState|null);
+
+ /** StoredInfoTypeVersion errors */
+ errors?: (google.privacy.dlp.v2.IError[]|null);
+
+ /** StoredInfoTypeVersion stats */
+ stats?: (google.privacy.dlp.v2.IStoredInfoTypeStats|null);
+ }
+
+ /** Represents a StoredInfoTypeVersion. */
+ class StoredInfoTypeVersion implements IStoredInfoTypeVersion {
+
+ /**
+ * Constructs a new StoredInfoTypeVersion.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IStoredInfoTypeVersion);
+
+ /** StoredInfoTypeVersion config. */
+ public config?: (google.privacy.dlp.v2.IStoredInfoTypeConfig|null);
+
+ /** StoredInfoTypeVersion createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** StoredInfoTypeVersion state. */
+ public state: (google.privacy.dlp.v2.StoredInfoTypeState|keyof typeof google.privacy.dlp.v2.StoredInfoTypeState);
+
+ /** StoredInfoTypeVersion errors. */
+ public errors: google.privacy.dlp.v2.IError[];
+
+ /** StoredInfoTypeVersion stats. */
+ public stats?: (google.privacy.dlp.v2.IStoredInfoTypeStats|null);
+
+ /**
+ * Creates a new StoredInfoTypeVersion instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StoredInfoTypeVersion instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IStoredInfoTypeVersion): google.privacy.dlp.v2.StoredInfoTypeVersion;
+
+ /**
+ * Encodes the specified StoredInfoTypeVersion message. Does not implicitly {@link google.privacy.dlp.v2.StoredInfoTypeVersion.verify|verify} messages.
+ * @param message StoredInfoTypeVersion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IStoredInfoTypeVersion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StoredInfoTypeVersion message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.StoredInfoTypeVersion.verify|verify} messages.
+ * @param message StoredInfoTypeVersion message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IStoredInfoTypeVersion, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StoredInfoTypeVersion message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StoredInfoTypeVersion
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.StoredInfoTypeVersion;
+
+ /**
+ * Decodes a StoredInfoTypeVersion message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StoredInfoTypeVersion
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.StoredInfoTypeVersion;
+
+ /**
+ * Verifies a StoredInfoTypeVersion message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StoredInfoTypeVersion message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StoredInfoTypeVersion
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.StoredInfoTypeVersion;
+
+ /**
+ * Creates a plain object from a StoredInfoTypeVersion message. Also converts values to other types if specified.
+ * @param message StoredInfoTypeVersion
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.StoredInfoTypeVersion, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StoredInfoTypeVersion to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a StoredInfoType. */
+ interface IStoredInfoType {
+
+ /** StoredInfoType name */
+ name?: (string|null);
+
+ /** StoredInfoType currentVersion */
+ currentVersion?: (google.privacy.dlp.v2.IStoredInfoTypeVersion|null);
+
+ /** StoredInfoType pendingVersions */
+ pendingVersions?: (google.privacy.dlp.v2.IStoredInfoTypeVersion[]|null);
+ }
+
+ /** Represents a StoredInfoType. */
+ class StoredInfoType implements IStoredInfoType {
+
+ /**
+ * Constructs a new StoredInfoType.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IStoredInfoType);
+
+ /** StoredInfoType name. */
+ public name: string;
+
+ /** StoredInfoType currentVersion. */
+ public currentVersion?: (google.privacy.dlp.v2.IStoredInfoTypeVersion|null);
+
+ /** StoredInfoType pendingVersions. */
+ public pendingVersions: google.privacy.dlp.v2.IStoredInfoTypeVersion[];
+
+ /**
+ * Creates a new StoredInfoType instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StoredInfoType instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IStoredInfoType): google.privacy.dlp.v2.StoredInfoType;
+
+ /**
+ * Encodes the specified StoredInfoType message. Does not implicitly {@link google.privacy.dlp.v2.StoredInfoType.verify|verify} messages.
+ * @param message StoredInfoType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IStoredInfoType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StoredInfoType message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.StoredInfoType.verify|verify} messages.
+ * @param message StoredInfoType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IStoredInfoType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StoredInfoType message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StoredInfoType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.StoredInfoType;
+
+ /**
+ * Decodes a StoredInfoType message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StoredInfoType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.StoredInfoType;
+
+ /**
+ * Verifies a StoredInfoType message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StoredInfoType message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StoredInfoType
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.StoredInfoType;
+
+ /**
+ * Creates a plain object from a StoredInfoType message. Also converts values to other types if specified.
+ * @param message StoredInfoType
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.StoredInfoType, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StoredInfoType to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a CreateStoredInfoTypeRequest. */
+ interface ICreateStoredInfoTypeRequest {
+
+ /** CreateStoredInfoTypeRequest parent */
+ parent?: (string|null);
+
+ /** CreateStoredInfoTypeRequest config */
+ config?: (google.privacy.dlp.v2.IStoredInfoTypeConfig|null);
+
+ /** CreateStoredInfoTypeRequest storedInfoTypeId */
+ storedInfoTypeId?: (string|null);
+
+ /** CreateStoredInfoTypeRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents a CreateStoredInfoTypeRequest. */
+ class CreateStoredInfoTypeRequest implements ICreateStoredInfoTypeRequest {
+
+ /**
+ * Constructs a new CreateStoredInfoTypeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICreateStoredInfoTypeRequest);
+
+ /** CreateStoredInfoTypeRequest parent. */
+ public parent: string;
+
+ /** CreateStoredInfoTypeRequest config. */
+ public config?: (google.privacy.dlp.v2.IStoredInfoTypeConfig|null);
+
+ /** CreateStoredInfoTypeRequest storedInfoTypeId. */
+ public storedInfoTypeId: string;
+
+ /** CreateStoredInfoTypeRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new CreateStoredInfoTypeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateStoredInfoTypeRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICreateStoredInfoTypeRequest): google.privacy.dlp.v2.CreateStoredInfoTypeRequest;
+
+ /**
+ * Encodes the specified CreateStoredInfoTypeRequest message. Does not implicitly {@link google.privacy.dlp.v2.CreateStoredInfoTypeRequest.verify|verify} messages.
+ * @param message CreateStoredInfoTypeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICreateStoredInfoTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateStoredInfoTypeRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CreateStoredInfoTypeRequest.verify|verify} messages.
+ * @param message CreateStoredInfoTypeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICreateStoredInfoTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateStoredInfoTypeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateStoredInfoTypeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CreateStoredInfoTypeRequest;
+
+ /**
+ * Decodes a CreateStoredInfoTypeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateStoredInfoTypeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CreateStoredInfoTypeRequest;
+
+ /**
+ * Verifies a CreateStoredInfoTypeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateStoredInfoTypeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateStoredInfoTypeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CreateStoredInfoTypeRequest;
+
+ /**
+ * Creates a plain object from a CreateStoredInfoTypeRequest message. Also converts values to other types if specified.
+ * @param message CreateStoredInfoTypeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CreateStoredInfoTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateStoredInfoTypeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an UpdateStoredInfoTypeRequest. */
+ interface IUpdateStoredInfoTypeRequest {
+
+ /** UpdateStoredInfoTypeRequest name */
+ name?: (string|null);
+
+ /** UpdateStoredInfoTypeRequest config */
+ config?: (google.privacy.dlp.v2.IStoredInfoTypeConfig|null);
+
+ /** UpdateStoredInfoTypeRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateStoredInfoTypeRequest. */
+ class UpdateStoredInfoTypeRequest implements IUpdateStoredInfoTypeRequest {
+
+ /**
+ * Constructs a new UpdateStoredInfoTypeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest);
+
+ /** UpdateStoredInfoTypeRequest name. */
+ public name: string;
+
+ /** UpdateStoredInfoTypeRequest config. */
+ public config?: (google.privacy.dlp.v2.IStoredInfoTypeConfig|null);
+
+ /** UpdateStoredInfoTypeRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateStoredInfoTypeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateStoredInfoTypeRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest): google.privacy.dlp.v2.UpdateStoredInfoTypeRequest;
+
+ /**
+ * Encodes the specified UpdateStoredInfoTypeRequest message. Does not implicitly {@link google.privacy.dlp.v2.UpdateStoredInfoTypeRequest.verify|verify} messages.
+ * @param message UpdateStoredInfoTypeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateStoredInfoTypeRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.UpdateStoredInfoTypeRequest.verify|verify} messages.
+ * @param message UpdateStoredInfoTypeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateStoredInfoTypeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateStoredInfoTypeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.UpdateStoredInfoTypeRequest;
+
+ /**
+ * Decodes an UpdateStoredInfoTypeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateStoredInfoTypeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.UpdateStoredInfoTypeRequest;
+
+ /**
+ * Verifies an UpdateStoredInfoTypeRequest message.
+ * @param message Plain 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 UpdateStoredInfoTypeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateStoredInfoTypeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.UpdateStoredInfoTypeRequest;
+
+ /**
+ * Creates a plain object from an UpdateStoredInfoTypeRequest message. Also converts values to other types if specified.
+ * @param message UpdateStoredInfoTypeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.UpdateStoredInfoTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateStoredInfoTypeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a GetStoredInfoTypeRequest. */
+ interface IGetStoredInfoTypeRequest {
+
+ /** GetStoredInfoTypeRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetStoredInfoTypeRequest. */
+ class GetStoredInfoTypeRequest implements IGetStoredInfoTypeRequest {
+
+ /**
+ * Constructs a new GetStoredInfoTypeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IGetStoredInfoTypeRequest);
+
+ /** GetStoredInfoTypeRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetStoredInfoTypeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetStoredInfoTypeRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IGetStoredInfoTypeRequest): google.privacy.dlp.v2.GetStoredInfoTypeRequest;
+
+ /**
+ * Encodes the specified GetStoredInfoTypeRequest message. Does not implicitly {@link google.privacy.dlp.v2.GetStoredInfoTypeRequest.verify|verify} messages.
+ * @param message GetStoredInfoTypeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IGetStoredInfoTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetStoredInfoTypeRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.GetStoredInfoTypeRequest.verify|verify} messages.
+ * @param message GetStoredInfoTypeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IGetStoredInfoTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetStoredInfoTypeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetStoredInfoTypeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.GetStoredInfoTypeRequest;
+
+ /**
+ * Decodes a GetStoredInfoTypeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetStoredInfoTypeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.GetStoredInfoTypeRequest;
+
+ /**
+ * Verifies a GetStoredInfoTypeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetStoredInfoTypeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetStoredInfoTypeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.GetStoredInfoTypeRequest;
+
+ /**
+ * Creates a plain object from a GetStoredInfoTypeRequest message. Also converts values to other types if specified.
+ * @param message GetStoredInfoTypeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.GetStoredInfoTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetStoredInfoTypeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ListStoredInfoTypesRequest. */
+ interface IListStoredInfoTypesRequest {
+
+ /** ListStoredInfoTypesRequest parent */
+ parent?: (string|null);
+
+ /** ListStoredInfoTypesRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListStoredInfoTypesRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListStoredInfoTypesRequest orderBy */
+ orderBy?: (string|null);
+
+ /** ListStoredInfoTypesRequest locationId */
+ locationId?: (string|null);
+ }
+
+ /** Represents a ListStoredInfoTypesRequest. */
+ class ListStoredInfoTypesRequest implements IListStoredInfoTypesRequest {
+
+ /**
+ * Constructs a new ListStoredInfoTypesRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IListStoredInfoTypesRequest);
+
+ /** ListStoredInfoTypesRequest parent. */
+ public parent: string;
+
+ /** ListStoredInfoTypesRequest pageToken. */
+ public pageToken: string;
+
+ /** ListStoredInfoTypesRequest pageSize. */
+ public pageSize: number;
+
+ /** ListStoredInfoTypesRequest orderBy. */
+ public orderBy: string;
+
+ /** ListStoredInfoTypesRequest locationId. */
+ public locationId: string;
+
+ /**
+ * Creates a new ListStoredInfoTypesRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListStoredInfoTypesRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IListStoredInfoTypesRequest): google.privacy.dlp.v2.ListStoredInfoTypesRequest;
+
+ /**
+ * Encodes the specified ListStoredInfoTypesRequest message. Does not implicitly {@link google.privacy.dlp.v2.ListStoredInfoTypesRequest.verify|verify} messages.
+ * @param message ListStoredInfoTypesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IListStoredInfoTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListStoredInfoTypesRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ListStoredInfoTypesRequest.verify|verify} messages.
+ * @param message ListStoredInfoTypesRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IListStoredInfoTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListStoredInfoTypesRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListStoredInfoTypesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ListStoredInfoTypesRequest;
+
+ /**
+ * Decodes a ListStoredInfoTypesRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListStoredInfoTypesRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ListStoredInfoTypesRequest;
+
+ /**
+ * Verifies a ListStoredInfoTypesRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListStoredInfoTypesRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListStoredInfoTypesRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ListStoredInfoTypesRequest;
+
+ /**
+ * Creates a plain object from a ListStoredInfoTypesRequest message. Also converts values to other types if specified.
+ * @param message ListStoredInfoTypesRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ListStoredInfoTypesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListStoredInfoTypesRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a ListStoredInfoTypesResponse. */
+ interface IListStoredInfoTypesResponse {
+
+ /** ListStoredInfoTypesResponse storedInfoTypes */
+ storedInfoTypes?: (google.privacy.dlp.v2.IStoredInfoType[]|null);
+
+ /** ListStoredInfoTypesResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListStoredInfoTypesResponse. */
+ class ListStoredInfoTypesResponse implements IListStoredInfoTypesResponse {
+
+ /**
+ * Constructs a new ListStoredInfoTypesResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IListStoredInfoTypesResponse);
+
+ /** ListStoredInfoTypesResponse storedInfoTypes. */
+ public storedInfoTypes: google.privacy.dlp.v2.IStoredInfoType[];
+
+ /** ListStoredInfoTypesResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListStoredInfoTypesResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListStoredInfoTypesResponse instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IListStoredInfoTypesResponse): google.privacy.dlp.v2.ListStoredInfoTypesResponse;
+
+ /**
+ * Encodes the specified ListStoredInfoTypesResponse message. Does not implicitly {@link google.privacy.dlp.v2.ListStoredInfoTypesResponse.verify|verify} messages.
+ * @param message ListStoredInfoTypesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IListStoredInfoTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListStoredInfoTypesResponse message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ListStoredInfoTypesResponse.verify|verify} messages.
+ * @param message ListStoredInfoTypesResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IListStoredInfoTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListStoredInfoTypesResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListStoredInfoTypesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.ListStoredInfoTypesResponse;
+
+ /**
+ * Decodes a ListStoredInfoTypesResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListStoredInfoTypesResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.ListStoredInfoTypesResponse;
+
+ /**
+ * Verifies a ListStoredInfoTypesResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListStoredInfoTypesResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListStoredInfoTypesResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.ListStoredInfoTypesResponse;
+
+ /**
+ * Creates a plain object from a ListStoredInfoTypesResponse message. Also converts values to other types if specified.
+ * @param message ListStoredInfoTypesResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.ListStoredInfoTypesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListStoredInfoTypesResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DeleteStoredInfoTypeRequest. */
+ interface IDeleteStoredInfoTypeRequest {
+
+ /** DeleteStoredInfoTypeRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteStoredInfoTypeRequest. */
+ class DeleteStoredInfoTypeRequest implements IDeleteStoredInfoTypeRequest {
+
+ /**
+ * Constructs a new DeleteStoredInfoTypeRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest);
+
+ /** DeleteStoredInfoTypeRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteStoredInfoTypeRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteStoredInfoTypeRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest): google.privacy.dlp.v2.DeleteStoredInfoTypeRequest;
+
+ /**
+ * Encodes the specified DeleteStoredInfoTypeRequest message. Does not implicitly {@link google.privacy.dlp.v2.DeleteStoredInfoTypeRequest.verify|verify} messages.
+ * @param message DeleteStoredInfoTypeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteStoredInfoTypeRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DeleteStoredInfoTypeRequest.verify|verify} messages.
+ * @param message DeleteStoredInfoTypeRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteStoredInfoTypeRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteStoredInfoTypeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DeleteStoredInfoTypeRequest;
+
+ /**
+ * Decodes a DeleteStoredInfoTypeRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteStoredInfoTypeRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DeleteStoredInfoTypeRequest;
+
+ /**
+ * Verifies a DeleteStoredInfoTypeRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteStoredInfoTypeRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteStoredInfoTypeRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DeleteStoredInfoTypeRequest;
+
+ /**
+ * Creates a plain object from a DeleteStoredInfoTypeRequest message. Also converts values to other types if specified.
+ * @param message DeleteStoredInfoTypeRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DeleteStoredInfoTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteStoredInfoTypeRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a HybridInspectJobTriggerRequest. */
+ interface IHybridInspectJobTriggerRequest {
+
+ /** HybridInspectJobTriggerRequest name */
+ name?: (string|null);
+
+ /** HybridInspectJobTriggerRequest hybridItem */
+ hybridItem?: (google.privacy.dlp.v2.IHybridContentItem|null);
+ }
+
+ /** Represents a HybridInspectJobTriggerRequest. */
+ class HybridInspectJobTriggerRequest implements IHybridInspectJobTriggerRequest {
+
+ /**
+ * Constructs a new HybridInspectJobTriggerRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IHybridInspectJobTriggerRequest);
+
+ /** HybridInspectJobTriggerRequest name. */
+ public name: string;
+
+ /** HybridInspectJobTriggerRequest hybridItem. */
+ public hybridItem?: (google.privacy.dlp.v2.IHybridContentItem|null);
+
+ /**
+ * Creates a new HybridInspectJobTriggerRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HybridInspectJobTriggerRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IHybridInspectJobTriggerRequest): google.privacy.dlp.v2.HybridInspectJobTriggerRequest;
+
+ /**
+ * Encodes the specified HybridInspectJobTriggerRequest message. Does not implicitly {@link google.privacy.dlp.v2.HybridInspectJobTriggerRequest.verify|verify} messages.
+ * @param message HybridInspectJobTriggerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IHybridInspectJobTriggerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HybridInspectJobTriggerRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.HybridInspectJobTriggerRequest.verify|verify} messages.
+ * @param message HybridInspectJobTriggerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IHybridInspectJobTriggerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HybridInspectJobTriggerRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HybridInspectJobTriggerRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.HybridInspectJobTriggerRequest;
+
+ /**
+ * Decodes a HybridInspectJobTriggerRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HybridInspectJobTriggerRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.HybridInspectJobTriggerRequest;
+
+ /**
+ * Verifies a HybridInspectJobTriggerRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HybridInspectJobTriggerRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HybridInspectJobTriggerRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.HybridInspectJobTriggerRequest;
+
+ /**
+ * Creates a plain object from a HybridInspectJobTriggerRequest message. Also converts values to other types if specified.
+ * @param message HybridInspectJobTriggerRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.HybridInspectJobTriggerRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HybridInspectJobTriggerRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a HybridInspectDlpJobRequest. */
+ interface IHybridInspectDlpJobRequest {
+
+ /** HybridInspectDlpJobRequest name */
+ name?: (string|null);
+
+ /** HybridInspectDlpJobRequest hybridItem */
+ hybridItem?: (google.privacy.dlp.v2.IHybridContentItem|null);
+ }
+
+ /** Represents a HybridInspectDlpJobRequest. */
+ class HybridInspectDlpJobRequest implements IHybridInspectDlpJobRequest {
+
+ /**
+ * Constructs a new HybridInspectDlpJobRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IHybridInspectDlpJobRequest);
+
+ /** HybridInspectDlpJobRequest name. */
+ public name: string;
+
+ /** HybridInspectDlpJobRequest hybridItem. */
+ public hybridItem?: (google.privacy.dlp.v2.IHybridContentItem|null);
+
+ /**
+ * Creates a new HybridInspectDlpJobRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HybridInspectDlpJobRequest instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IHybridInspectDlpJobRequest): google.privacy.dlp.v2.HybridInspectDlpJobRequest;
+
+ /**
+ * Encodes the specified HybridInspectDlpJobRequest message. Does not implicitly {@link google.privacy.dlp.v2.HybridInspectDlpJobRequest.verify|verify} messages.
+ * @param message HybridInspectDlpJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IHybridInspectDlpJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HybridInspectDlpJobRequest message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.HybridInspectDlpJobRequest.verify|verify} messages.
+ * @param message HybridInspectDlpJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IHybridInspectDlpJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HybridInspectDlpJobRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HybridInspectDlpJobRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.HybridInspectDlpJobRequest;
+
+ /**
+ * Decodes a HybridInspectDlpJobRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HybridInspectDlpJobRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.HybridInspectDlpJobRequest;
+
+ /**
+ * Verifies a HybridInspectDlpJobRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HybridInspectDlpJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HybridInspectDlpJobRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.HybridInspectDlpJobRequest;
+
+ /**
+ * Creates a plain object from a HybridInspectDlpJobRequest message. Also converts values to other types if specified.
+ * @param message HybridInspectDlpJobRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.HybridInspectDlpJobRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HybridInspectDlpJobRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a HybridContentItem. */
+ interface IHybridContentItem {
+
+ /** HybridContentItem item */
+ item?: (google.privacy.dlp.v2.IContentItem|null);
+
+ /** HybridContentItem findingDetails */
+ findingDetails?: (google.privacy.dlp.v2.IHybridFindingDetails|null);
+ }
+
+ /** Represents a HybridContentItem. */
+ class HybridContentItem implements IHybridContentItem {
+
+ /**
+ * Constructs a new HybridContentItem.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IHybridContentItem);
+
+ /** HybridContentItem item. */
+ public item?: (google.privacy.dlp.v2.IContentItem|null);
+
+ /** HybridContentItem findingDetails. */
+ public findingDetails?: (google.privacy.dlp.v2.IHybridFindingDetails|null);
+
+ /**
+ * Creates a new HybridContentItem instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HybridContentItem instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IHybridContentItem): google.privacy.dlp.v2.HybridContentItem;
+
+ /**
+ * Encodes the specified HybridContentItem message. Does not implicitly {@link google.privacy.dlp.v2.HybridContentItem.verify|verify} messages.
+ * @param message HybridContentItem message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IHybridContentItem, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HybridContentItem message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.HybridContentItem.verify|verify} messages.
+ * @param message HybridContentItem message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IHybridContentItem, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HybridContentItem message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HybridContentItem
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.HybridContentItem;
+
+ /**
+ * Decodes a HybridContentItem message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HybridContentItem
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.HybridContentItem;
+
+ /**
+ * Verifies a HybridContentItem message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HybridContentItem message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HybridContentItem
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.HybridContentItem;
+
+ /**
+ * Creates a plain object from a HybridContentItem message. Also converts values to other types if specified.
+ * @param message HybridContentItem
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.HybridContentItem, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HybridContentItem to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a HybridFindingDetails. */
+ interface IHybridFindingDetails {
+
+ /** HybridFindingDetails containerDetails */
+ containerDetails?: (google.privacy.dlp.v2.IContainer|null);
+
+ /** HybridFindingDetails fileOffset */
+ fileOffset?: (number|Long|string|null);
+
+ /** HybridFindingDetails rowOffset */
+ rowOffset?: (number|Long|string|null);
+
+ /** HybridFindingDetails tableOptions */
+ tableOptions?: (google.privacy.dlp.v2.ITableOptions|null);
+
+ /** HybridFindingDetails labels */
+ labels?: ({ [k: string]: string }|null);
+ }
+
+ /** Represents a HybridFindingDetails. */
+ class HybridFindingDetails implements IHybridFindingDetails {
+
+ /**
+ * Constructs a new HybridFindingDetails.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IHybridFindingDetails);
+
+ /** HybridFindingDetails containerDetails. */
+ public containerDetails?: (google.privacy.dlp.v2.IContainer|null);
+
+ /** HybridFindingDetails fileOffset. */
+ public fileOffset: (number|Long|string);
+
+ /** HybridFindingDetails rowOffset. */
+ public rowOffset: (number|Long|string);
+
+ /** HybridFindingDetails tableOptions. */
+ public tableOptions?: (google.privacy.dlp.v2.ITableOptions|null);
+
+ /** HybridFindingDetails labels. */
+ public labels: { [k: string]: string };
+
+ /**
+ * Creates a new HybridFindingDetails instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HybridFindingDetails instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IHybridFindingDetails): google.privacy.dlp.v2.HybridFindingDetails;
+
+ /**
+ * Encodes the specified HybridFindingDetails message. Does not implicitly {@link google.privacy.dlp.v2.HybridFindingDetails.verify|verify} messages.
+ * @param message HybridFindingDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IHybridFindingDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HybridFindingDetails message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.HybridFindingDetails.verify|verify} messages.
+ * @param message HybridFindingDetails message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IHybridFindingDetails, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HybridFindingDetails message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HybridFindingDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.HybridFindingDetails;
+
+ /**
+ * Decodes a HybridFindingDetails message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HybridFindingDetails
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.HybridFindingDetails;
+
+ /**
+ * Verifies a HybridFindingDetails message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HybridFindingDetails message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HybridFindingDetails
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.HybridFindingDetails;
+
+ /**
+ * Creates a plain object from a HybridFindingDetails message. Also converts values to other types if specified.
+ * @param message HybridFindingDetails
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.HybridFindingDetails, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HybridFindingDetails to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a HybridInspectResponse. */
+ interface IHybridInspectResponse {
+ }
+
+ /** Represents a HybridInspectResponse. */
+ class HybridInspectResponse implements IHybridInspectResponse {
+
+ /**
+ * Constructs a new HybridInspectResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IHybridInspectResponse);
+
+ /**
+ * Creates a new HybridInspectResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HybridInspectResponse instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IHybridInspectResponse): google.privacy.dlp.v2.HybridInspectResponse;
+
+ /**
+ * Encodes the specified HybridInspectResponse message. Does not implicitly {@link google.privacy.dlp.v2.HybridInspectResponse.verify|verify} messages.
+ * @param message HybridInspectResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IHybridInspectResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HybridInspectResponse message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.HybridInspectResponse.verify|verify} messages.
+ * @param message HybridInspectResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IHybridInspectResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HybridInspectResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HybridInspectResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.HybridInspectResponse;
+
+ /**
+ * Decodes a HybridInspectResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HybridInspectResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.HybridInspectResponse;
+
+ /**
+ * Verifies a HybridInspectResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HybridInspectResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HybridInspectResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.HybridInspectResponse;
+
+ /**
+ * Creates a plain object from a HybridInspectResponse message. Also converts values to other types if specified.
+ * @param message HybridInspectResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.HybridInspectResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HybridInspectResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** RelationalOperator enum. */
+ enum RelationalOperator {
+ RELATIONAL_OPERATOR_UNSPECIFIED = 0,
+ EQUAL_TO = 1,
+ NOT_EQUAL_TO = 2,
+ GREATER_THAN = 3,
+ LESS_THAN = 4,
+ GREATER_THAN_OR_EQUALS = 5,
+ LESS_THAN_OR_EQUALS = 6,
+ EXISTS = 7
+ }
+
+ /** MatchingType enum. */
+ enum MatchingType {
+ MATCHING_TYPE_UNSPECIFIED = 0,
+ MATCHING_TYPE_FULL_MATCH = 1,
+ MATCHING_TYPE_PARTIAL_MATCH = 2,
+ MATCHING_TYPE_INVERSE_MATCH = 3
+ }
+
+ /** ContentOption enum. */
+ enum ContentOption {
+ CONTENT_UNSPECIFIED = 0,
+ CONTENT_TEXT = 1,
+ CONTENT_IMAGE = 2
+ }
+
+ /** MetadataType enum. */
+ enum MetadataType {
+ METADATATYPE_UNSPECIFIED = 0,
+ STORAGE_METADATA = 2
+ }
+
+ /** InfoTypeSupportedBy enum. */
+ enum InfoTypeSupportedBy {
+ ENUM_TYPE_UNSPECIFIED = 0,
+ INSPECT = 1,
+ RISK_ANALYSIS = 2
+ }
+
+ /** DlpJobType enum. */
+ enum DlpJobType {
+ DLP_JOB_TYPE_UNSPECIFIED = 0,
+ INSPECT_JOB = 1,
+ RISK_ANALYSIS_JOB = 2
+ }
+
+ /** StoredInfoTypeState enum. */
+ enum StoredInfoTypeState {
+ STORED_INFO_TYPE_STATE_UNSPECIFIED = 0,
+ PENDING = 1,
+ READY = 2,
+ FAILED = 3,
+ INVALID = 4
+ }
+
+ /** Properties of an InfoType. */
+ interface IInfoType {
+
+ /** InfoType name */
+ name?: (string|null);
+ }
+
+ /** Represents an InfoType. */
+ class InfoType implements IInfoType {
+
+ /**
+ * Constructs a new InfoType.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IInfoType);
+
+ /** InfoType name. */
+ public name: string;
+
+ /**
+ * Creates a new InfoType instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns InfoType instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IInfoType): google.privacy.dlp.v2.InfoType;
+
+ /**
+ * Encodes the specified InfoType message. Does not implicitly {@link google.privacy.dlp.v2.InfoType.verify|verify} messages.
+ * @param message InfoType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IInfoType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified InfoType message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InfoType.verify|verify} messages.
+ * @param message InfoType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IInfoType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an InfoType message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns InfoType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.InfoType;
+
+ /**
+ * Decodes an InfoType message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns InfoType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.InfoType;
+
+ /**
+ * Verifies an InfoType message.
+ * @param message Plain 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 InfoType message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns InfoType
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.InfoType;
+
+ /**
+ * Creates a plain object from an InfoType message. Also converts values to other types if specified.
+ * @param message InfoType
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.InfoType, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this InfoType to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a StoredType. */
+ interface IStoredType {
+
+ /** StoredType name */
+ name?: (string|null);
+
+ /** StoredType createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a StoredType. */
+ class StoredType implements IStoredType {
+
+ /**
+ * Constructs a new StoredType.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IStoredType);
+
+ /** StoredType name. */
+ public name: string;
+
+ /** StoredType createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new StoredType instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StoredType instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IStoredType): google.privacy.dlp.v2.StoredType;
+
+ /**
+ * Encodes the specified StoredType message. Does not implicitly {@link google.privacy.dlp.v2.StoredType.verify|verify} messages.
+ * @param message StoredType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IStoredType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StoredType message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.StoredType.verify|verify} messages.
+ * @param message StoredType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IStoredType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StoredType message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StoredType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.StoredType;
+
+ /**
+ * Decodes a StoredType message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StoredType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.StoredType;
+
+ /**
+ * Verifies a StoredType message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StoredType message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StoredType
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.StoredType;
+
+ /**
+ * Creates a plain object from a StoredType message. Also converts values to other types if specified.
+ * @param message StoredType
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.StoredType, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StoredType to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Likelihood enum. */
+ enum Likelihood {
+ LIKELIHOOD_UNSPECIFIED = 0,
+ VERY_UNLIKELY = 1,
+ UNLIKELY = 2,
+ POSSIBLE = 3,
+ LIKELY = 4,
+ VERY_LIKELY = 5
+ }
+
+ /** Properties of a CustomInfoType. */
+ interface ICustomInfoType {
+
+ /** CustomInfoType infoType */
+ infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** CustomInfoType likelihood */
+ likelihood?: (google.privacy.dlp.v2.Likelihood|keyof typeof google.privacy.dlp.v2.Likelihood|null);
+
+ /** CustomInfoType dictionary */
+ dictionary?: (google.privacy.dlp.v2.CustomInfoType.IDictionary|null);
+
+ /** CustomInfoType regex */
+ regex?: (google.privacy.dlp.v2.CustomInfoType.IRegex|null);
+
+ /** CustomInfoType surrogateType */
+ surrogateType?: (google.privacy.dlp.v2.CustomInfoType.ISurrogateType|null);
+
+ /** CustomInfoType storedType */
+ storedType?: (google.privacy.dlp.v2.IStoredType|null);
+
+ /** CustomInfoType detectionRules */
+ detectionRules?: (google.privacy.dlp.v2.CustomInfoType.IDetectionRule[]|null);
+
+ /** CustomInfoType exclusionType */
+ exclusionType?: (google.privacy.dlp.v2.CustomInfoType.ExclusionType|keyof typeof google.privacy.dlp.v2.CustomInfoType.ExclusionType|null);
+ }
+
+ /** Represents a CustomInfoType. */
+ class CustomInfoType implements ICustomInfoType {
+
+ /**
+ * Constructs a new CustomInfoType.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICustomInfoType);
+
+ /** CustomInfoType infoType. */
+ public infoType?: (google.privacy.dlp.v2.IInfoType|null);
+
+ /** CustomInfoType likelihood. */
+ public likelihood: (google.privacy.dlp.v2.Likelihood|keyof typeof google.privacy.dlp.v2.Likelihood);
+
+ /** CustomInfoType dictionary. */
+ public dictionary?: (google.privacy.dlp.v2.CustomInfoType.IDictionary|null);
+
+ /** CustomInfoType regex. */
+ public regex?: (google.privacy.dlp.v2.CustomInfoType.IRegex|null);
+
+ /** CustomInfoType surrogateType. */
+ public surrogateType?: (google.privacy.dlp.v2.CustomInfoType.ISurrogateType|null);
+
+ /** CustomInfoType storedType. */
+ public storedType?: (google.privacy.dlp.v2.IStoredType|null);
+
+ /** CustomInfoType detectionRules. */
+ public detectionRules: google.privacy.dlp.v2.CustomInfoType.IDetectionRule[];
+
+ /** CustomInfoType exclusionType. */
+ public exclusionType: (google.privacy.dlp.v2.CustomInfoType.ExclusionType|keyof typeof google.privacy.dlp.v2.CustomInfoType.ExclusionType);
+
+ /** CustomInfoType type. */
+ public type?: ("dictionary"|"regex"|"surrogateType"|"storedType");
+
+ /**
+ * Creates a new CustomInfoType instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomInfoType instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICustomInfoType): google.privacy.dlp.v2.CustomInfoType;
+
+ /**
+ * Encodes the specified CustomInfoType message. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.verify|verify} messages.
+ * @param message CustomInfoType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICustomInfoType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomInfoType message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.verify|verify} messages.
+ * @param message CustomInfoType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICustomInfoType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomInfoType message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomInfoType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CustomInfoType;
+
+ /**
+ * Decodes a CustomInfoType message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomInfoType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CustomInfoType;
+
+ /**
+ * Verifies a CustomInfoType message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomInfoType message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomInfoType
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CustomInfoType;
+
+ /**
+ * Creates a plain object from a CustomInfoType message. Also converts values to other types if specified.
+ * @param message CustomInfoType
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CustomInfoType, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomInfoType to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace CustomInfoType {
+
+ /** Properties of a Dictionary. */
+ interface IDictionary {
+
+ /** Dictionary wordList */
+ wordList?: (google.privacy.dlp.v2.CustomInfoType.Dictionary.IWordList|null);
+
+ /** Dictionary cloudStoragePath */
+ cloudStoragePath?: (google.privacy.dlp.v2.ICloudStoragePath|null);
+ }
+
+ /** Represents a Dictionary. */
+ class Dictionary implements IDictionary {
+
+ /**
+ * Constructs a new Dictionary.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.CustomInfoType.IDictionary);
+
+ /** Dictionary wordList. */
+ public wordList?: (google.privacy.dlp.v2.CustomInfoType.Dictionary.IWordList|null);
+
+ /** Dictionary cloudStoragePath. */
+ public cloudStoragePath?: (google.privacy.dlp.v2.ICloudStoragePath|null);
+
+ /** Dictionary source. */
+ public source?: ("wordList"|"cloudStoragePath");
+
+ /**
+ * Creates a new Dictionary instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Dictionary instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.CustomInfoType.IDictionary): google.privacy.dlp.v2.CustomInfoType.Dictionary;
+
+ /**
+ * Encodes the specified Dictionary message. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.Dictionary.verify|verify} messages.
+ * @param message Dictionary message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.CustomInfoType.IDictionary, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Dictionary message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.Dictionary.verify|verify} messages.
+ * @param message Dictionary message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.CustomInfoType.IDictionary, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Dictionary message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Dictionary
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CustomInfoType.Dictionary;
+
+ /**
+ * Decodes a Dictionary message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Dictionary
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CustomInfoType.Dictionary;
+
+ /**
+ * Verifies a Dictionary message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Dictionary message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Dictionary
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CustomInfoType.Dictionary;
+
+ /**
+ * Creates a plain object from a Dictionary message. Also converts values to other types if specified.
+ * @param message Dictionary
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CustomInfoType.Dictionary, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Dictionary to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace Dictionary {
+
+ /** Properties of a WordList. */
+ interface IWordList {
+
+ /** WordList words */
+ words?: (string[]|null);
+ }
+
+ /** Represents a WordList. */
+ class WordList implements IWordList {
+
+ /**
+ * Constructs a new WordList.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.CustomInfoType.Dictionary.IWordList);
+
+ /** WordList words. */
+ public words: string[];
+
+ /**
+ * Creates a new WordList instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WordList instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.CustomInfoType.Dictionary.IWordList): google.privacy.dlp.v2.CustomInfoType.Dictionary.WordList;
+
+ /**
+ * Encodes the specified WordList message. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.Dictionary.WordList.verify|verify} messages.
+ * @param message WordList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.CustomInfoType.Dictionary.IWordList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WordList message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.Dictionary.WordList.verify|verify} messages.
+ * @param message WordList message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.CustomInfoType.Dictionary.IWordList, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WordList message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WordList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CustomInfoType.Dictionary.WordList;
+
+ /**
+ * Decodes a WordList message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WordList
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CustomInfoType.Dictionary.WordList;
+
+ /**
+ * Verifies a WordList message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WordList message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WordList
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CustomInfoType.Dictionary.WordList;
+
+ /**
+ * Creates a plain object from a WordList message. Also converts values to other types if specified.
+ * @param message WordList
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CustomInfoType.Dictionary.WordList, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WordList to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a Regex. */
+ interface IRegex {
+
+ /** Regex pattern */
+ pattern?: (string|null);
+
+ /** Regex groupIndexes */
+ groupIndexes?: (number[]|null);
+ }
+
+ /** Represents a Regex. */
+ class Regex implements IRegex {
+
+ /**
+ * Constructs a new Regex.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.CustomInfoType.IRegex);
+
+ /** Regex pattern. */
+ public pattern: string;
+
+ /** Regex groupIndexes. */
+ public groupIndexes: number[];
+
+ /**
+ * Creates a new Regex instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Regex instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.CustomInfoType.IRegex): google.privacy.dlp.v2.CustomInfoType.Regex;
+
+ /**
+ * Encodes the specified Regex message. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.Regex.verify|verify} messages.
+ * @param message Regex message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.CustomInfoType.IRegex, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Regex message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.Regex.verify|verify} messages.
+ * @param message Regex message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.CustomInfoType.IRegex, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Regex message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Regex
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CustomInfoType.Regex;
+
+ /**
+ * Decodes a Regex message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Regex
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CustomInfoType.Regex;
+
+ /**
+ * Verifies a Regex message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Regex message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Regex
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CustomInfoType.Regex;
+
+ /**
+ * Creates a plain object from a Regex message. Also converts values to other types if specified.
+ * @param message Regex
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CustomInfoType.Regex, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Regex to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a SurrogateType. */
+ interface ISurrogateType {
+ }
+
+ /** Represents a SurrogateType. */
+ class SurrogateType implements ISurrogateType {
+
+ /**
+ * Constructs a new SurrogateType.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.CustomInfoType.ISurrogateType);
+
+ /**
+ * Creates a new SurrogateType instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SurrogateType instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.CustomInfoType.ISurrogateType): google.privacy.dlp.v2.CustomInfoType.SurrogateType;
+
+ /**
+ * Encodes the specified SurrogateType message. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.SurrogateType.verify|verify} messages.
+ * @param message SurrogateType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.CustomInfoType.ISurrogateType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SurrogateType message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.SurrogateType.verify|verify} messages.
+ * @param message SurrogateType message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.CustomInfoType.ISurrogateType, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SurrogateType message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SurrogateType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CustomInfoType.SurrogateType;
+
+ /**
+ * Decodes a SurrogateType message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SurrogateType
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CustomInfoType.SurrogateType;
+
+ /**
+ * Verifies a SurrogateType message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SurrogateType message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SurrogateType
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CustomInfoType.SurrogateType;
+
+ /**
+ * Creates a plain object from a SurrogateType message. Also converts values to other types if specified.
+ * @param message SurrogateType
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CustomInfoType.SurrogateType, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SurrogateType to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DetectionRule. */
+ interface IDetectionRule {
+
+ /** DetectionRule hotwordRule */
+ hotwordRule?: (google.privacy.dlp.v2.CustomInfoType.DetectionRule.IHotwordRule|null);
+ }
+
+ /** Represents a DetectionRule. */
+ class DetectionRule implements IDetectionRule {
+
+ /**
+ * Constructs a new DetectionRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.CustomInfoType.IDetectionRule);
+
+ /** DetectionRule hotwordRule. */
+ public hotwordRule?: (google.privacy.dlp.v2.CustomInfoType.DetectionRule.IHotwordRule|null);
+
+ /** DetectionRule type. */
+ public type?: "hotwordRule";
+
+ /**
+ * Creates a new DetectionRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DetectionRule instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.CustomInfoType.IDetectionRule): google.privacy.dlp.v2.CustomInfoType.DetectionRule;
+
+ /**
+ * Encodes the specified DetectionRule message. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.DetectionRule.verify|verify} messages.
+ * @param message DetectionRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.CustomInfoType.IDetectionRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DetectionRule message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.DetectionRule.verify|verify} messages.
+ * @param message DetectionRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.CustomInfoType.IDetectionRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DetectionRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DetectionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CustomInfoType.DetectionRule;
+
+ /**
+ * Decodes a DetectionRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DetectionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CustomInfoType.DetectionRule;
+
+ /**
+ * Verifies a DetectionRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DetectionRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DetectionRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CustomInfoType.DetectionRule;
+
+ /**
+ * Creates a plain object from a DetectionRule message. Also converts values to other types if specified.
+ * @param message DetectionRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CustomInfoType.DetectionRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DetectionRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace DetectionRule {
+
+ /** Properties of a Proximity. */
+ interface IProximity {
+
+ /** Proximity windowBefore */
+ windowBefore?: (number|null);
+
+ /** Proximity windowAfter */
+ windowAfter?: (number|null);
+ }
+
+ /** Represents a Proximity. */
+ class Proximity implements IProximity {
+
+ /**
+ * Constructs a new Proximity.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.CustomInfoType.DetectionRule.IProximity);
+
+ /** Proximity windowBefore. */
+ public windowBefore: number;
+
+ /** Proximity windowAfter. */
+ public windowAfter: number;
+
+ /**
+ * Creates a new Proximity instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Proximity instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.CustomInfoType.DetectionRule.IProximity): google.privacy.dlp.v2.CustomInfoType.DetectionRule.Proximity;
+
+ /**
+ * Encodes the specified Proximity message. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.DetectionRule.Proximity.verify|verify} messages.
+ * @param message Proximity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.CustomInfoType.DetectionRule.IProximity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Proximity message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.DetectionRule.Proximity.verify|verify} messages.
+ * @param message Proximity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.CustomInfoType.DetectionRule.IProximity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Proximity message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Proximity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CustomInfoType.DetectionRule.Proximity;
+
+ /**
+ * Decodes a Proximity message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Proximity
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CustomInfoType.DetectionRule.Proximity;
+
+ /**
+ * Verifies a Proximity message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Proximity message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Proximity
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CustomInfoType.DetectionRule.Proximity;
+
+ /**
+ * Creates a plain object from a Proximity message. Also converts values to other types if specified.
+ * @param message Proximity
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CustomInfoType.DetectionRule.Proximity, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Proximity to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a LikelihoodAdjustment. */
+ interface ILikelihoodAdjustment {
+
+ /** LikelihoodAdjustment fixedLikelihood */
+ fixedLikelihood?: (google.privacy.dlp.v2.Likelihood|keyof typeof google.privacy.dlp.v2.Likelihood|null);
+
+ /** LikelihoodAdjustment relativeLikelihood */
+ relativeLikelihood?: (number|null);
+ }
+
+ /** Represents a LikelihoodAdjustment. */
+ class LikelihoodAdjustment implements ILikelihoodAdjustment {
+
+ /**
+ * Constructs a new LikelihoodAdjustment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.CustomInfoType.DetectionRule.ILikelihoodAdjustment);
+
+ /** LikelihoodAdjustment fixedLikelihood. */
+ public fixedLikelihood: (google.privacy.dlp.v2.Likelihood|keyof typeof google.privacy.dlp.v2.Likelihood);
+
+ /** LikelihoodAdjustment relativeLikelihood. */
+ public relativeLikelihood: number;
+
+ /** LikelihoodAdjustment adjustment. */
+ public adjustment?: ("fixedLikelihood"|"relativeLikelihood");
+
+ /**
+ * Creates a new LikelihoodAdjustment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LikelihoodAdjustment instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.CustomInfoType.DetectionRule.ILikelihoodAdjustment): google.privacy.dlp.v2.CustomInfoType.DetectionRule.LikelihoodAdjustment;
+
+ /**
+ * Encodes the specified LikelihoodAdjustment message. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.DetectionRule.LikelihoodAdjustment.verify|verify} messages.
+ * @param message LikelihoodAdjustment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.CustomInfoType.DetectionRule.ILikelihoodAdjustment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LikelihoodAdjustment message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.DetectionRule.LikelihoodAdjustment.verify|verify} messages.
+ * @param message LikelihoodAdjustment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.CustomInfoType.DetectionRule.ILikelihoodAdjustment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LikelihoodAdjustment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LikelihoodAdjustment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CustomInfoType.DetectionRule.LikelihoodAdjustment;
+
+ /**
+ * Decodes a LikelihoodAdjustment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LikelihoodAdjustment
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CustomInfoType.DetectionRule.LikelihoodAdjustment;
+
+ /**
+ * Verifies a LikelihoodAdjustment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LikelihoodAdjustment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LikelihoodAdjustment
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CustomInfoType.DetectionRule.LikelihoodAdjustment;
+
+ /**
+ * Creates a plain object from a LikelihoodAdjustment message. Also converts values to other types if specified.
+ * @param message LikelihoodAdjustment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CustomInfoType.DetectionRule.LikelihoodAdjustment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LikelihoodAdjustment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a HotwordRule. */
+ interface IHotwordRule {
+
+ /** HotwordRule hotwordRegex */
+ hotwordRegex?: (google.privacy.dlp.v2.CustomInfoType.IRegex|null);
+
+ /** HotwordRule proximity */
+ proximity?: (google.privacy.dlp.v2.CustomInfoType.DetectionRule.IProximity|null);
+
+ /** HotwordRule likelihoodAdjustment */
+ likelihoodAdjustment?: (google.privacy.dlp.v2.CustomInfoType.DetectionRule.ILikelihoodAdjustment|null);
+ }
+
+ /** Represents a HotwordRule. */
+ class HotwordRule implements IHotwordRule {
+
+ /**
+ * Constructs a new HotwordRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.CustomInfoType.DetectionRule.IHotwordRule);
+
+ /** HotwordRule hotwordRegex. */
+ public hotwordRegex?: (google.privacy.dlp.v2.CustomInfoType.IRegex|null);
+
+ /** HotwordRule proximity. */
+ public proximity?: (google.privacy.dlp.v2.CustomInfoType.DetectionRule.IProximity|null);
+
+ /** HotwordRule likelihoodAdjustment. */
+ public likelihoodAdjustment?: (google.privacy.dlp.v2.CustomInfoType.DetectionRule.ILikelihoodAdjustment|null);
+
+ /**
+ * Creates a new HotwordRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HotwordRule instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.CustomInfoType.DetectionRule.IHotwordRule): google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule;
+
+ /**
+ * Encodes the specified HotwordRule message. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule.verify|verify} messages.
+ * @param message HotwordRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.CustomInfoType.DetectionRule.IHotwordRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HotwordRule message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule.verify|verify} messages.
+ * @param message HotwordRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.CustomInfoType.DetectionRule.IHotwordRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HotwordRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HotwordRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule;
+
+ /**
+ * Decodes a HotwordRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HotwordRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule;
+
+ /**
+ * Verifies a HotwordRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HotwordRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HotwordRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule;
+
+ /**
+ * Creates a plain object from a HotwordRule message. Also converts values to other types if specified.
+ * @param message HotwordRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HotwordRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** ExclusionType enum. */
+ enum ExclusionType {
+ EXCLUSION_TYPE_UNSPECIFIED = 0,
+ EXCLUSION_TYPE_EXCLUDE = 1
+ }
+ }
+
+ /** Properties of a FieldId. */
+ interface IFieldId {
+
+ /** FieldId name */
+ name?: (string|null);
+ }
+
+ /** Represents a FieldId. */
+ class FieldId implements IFieldId {
+
+ /**
+ * Constructs a new FieldId.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IFieldId);
+
+ /** FieldId name. */
+ public name: string;
+
+ /**
+ * Creates a new FieldId instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldId instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IFieldId): google.privacy.dlp.v2.FieldId;
+
+ /**
+ * Encodes the specified FieldId message. Does not implicitly {@link google.privacy.dlp.v2.FieldId.verify|verify} messages.
+ * @param message FieldId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IFieldId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldId message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.FieldId.verify|verify} messages.
+ * @param message FieldId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IFieldId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldId message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.FieldId;
+
+ /**
+ * Decodes a FieldId message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.FieldId;
+
+ /**
+ * Verifies a FieldId message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldId message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldId
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.FieldId;
+
+ /**
+ * Creates a plain object from a FieldId message. Also converts values to other types if specified.
+ * @param message FieldId
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.FieldId, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldId to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a PartitionId. */
+ interface IPartitionId {
+
+ /** PartitionId projectId */
+ projectId?: (string|null);
+
+ /** PartitionId namespaceId */
+ namespaceId?: (string|null);
+ }
+
+ /** Represents a PartitionId. */
+ class PartitionId implements IPartitionId {
+
+ /**
+ * Constructs a new PartitionId.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IPartitionId);
+
+ /** PartitionId projectId. */
+ public projectId: string;
+
+ /** PartitionId namespaceId. */
+ public namespaceId: string;
+
+ /**
+ * Creates a new PartitionId instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PartitionId instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IPartitionId): google.privacy.dlp.v2.PartitionId;
+
+ /**
+ * Encodes the specified PartitionId message. Does not implicitly {@link google.privacy.dlp.v2.PartitionId.verify|verify} messages.
+ * @param message PartitionId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IPartitionId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PartitionId message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.PartitionId.verify|verify} messages.
+ * @param message PartitionId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IPartitionId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PartitionId message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PartitionId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.PartitionId;
+
+ /**
+ * Decodes a PartitionId message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PartitionId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.PartitionId;
+
+ /**
+ * Verifies a PartitionId message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PartitionId message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PartitionId
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.PartitionId;
+
+ /**
+ * Creates a plain object from a PartitionId message. Also converts values to other types if specified.
+ * @param message PartitionId
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.PartitionId, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PartitionId to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a KindExpression. */
+ interface IKindExpression {
+
+ /** KindExpression name */
+ name?: (string|null);
+ }
+
+ /** Represents a KindExpression. */
+ class KindExpression implements IKindExpression {
+
+ /**
+ * Constructs a new KindExpression.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IKindExpression);
+
+ /** KindExpression name. */
+ public name: string;
+
+ /**
+ * Creates a new KindExpression instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns KindExpression instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IKindExpression): google.privacy.dlp.v2.KindExpression;
+
+ /**
+ * Encodes the specified KindExpression message. Does not implicitly {@link google.privacy.dlp.v2.KindExpression.verify|verify} messages.
+ * @param message KindExpression message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IKindExpression, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified KindExpression message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.KindExpression.verify|verify} messages.
+ * @param message KindExpression message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IKindExpression, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a KindExpression message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns KindExpression
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.KindExpression;
+
+ /**
+ * Decodes a KindExpression message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns KindExpression
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.KindExpression;
+
+ /**
+ * Verifies a KindExpression message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a KindExpression message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns KindExpression
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.KindExpression;
+
+ /**
+ * Creates a plain object from a KindExpression message. Also converts values to other types if specified.
+ * @param message KindExpression
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.KindExpression, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this KindExpression to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DatastoreOptions. */
+ interface IDatastoreOptions {
+
+ /** DatastoreOptions partitionId */
+ partitionId?: (google.privacy.dlp.v2.IPartitionId|null);
+
+ /** DatastoreOptions kind */
+ kind?: (google.privacy.dlp.v2.IKindExpression|null);
+ }
+
+ /** Represents a DatastoreOptions. */
+ class DatastoreOptions implements IDatastoreOptions {
+
+ /**
+ * Constructs a new DatastoreOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IDatastoreOptions);
+
+ /** DatastoreOptions partitionId. */
+ public partitionId?: (google.privacy.dlp.v2.IPartitionId|null);
+
+ /** DatastoreOptions kind. */
+ public kind?: (google.privacy.dlp.v2.IKindExpression|null);
+
+ /**
+ * Creates a new DatastoreOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DatastoreOptions instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IDatastoreOptions): google.privacy.dlp.v2.DatastoreOptions;
+
+ /**
+ * Encodes the specified DatastoreOptions message. Does not implicitly {@link google.privacy.dlp.v2.DatastoreOptions.verify|verify} messages.
+ * @param message DatastoreOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IDatastoreOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DatastoreOptions message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DatastoreOptions.verify|verify} messages.
+ * @param message DatastoreOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IDatastoreOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DatastoreOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DatastoreOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DatastoreOptions;
+
+ /**
+ * Decodes a DatastoreOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DatastoreOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DatastoreOptions;
+
+ /**
+ * Verifies a DatastoreOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DatastoreOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DatastoreOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DatastoreOptions;
+
+ /**
+ * Creates a plain object from a DatastoreOptions message. Also converts values to other types if specified.
+ * @param message DatastoreOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DatastoreOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DatastoreOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a CloudStorageRegexFileSet. */
+ interface ICloudStorageRegexFileSet {
+
+ /** CloudStorageRegexFileSet bucketName */
+ bucketName?: (string|null);
+
+ /** CloudStorageRegexFileSet includeRegex */
+ includeRegex?: (string[]|null);
+
+ /** CloudStorageRegexFileSet excludeRegex */
+ excludeRegex?: (string[]|null);
+ }
+
+ /** Represents a CloudStorageRegexFileSet. */
+ class CloudStorageRegexFileSet implements ICloudStorageRegexFileSet {
+
+ /**
+ * Constructs a new CloudStorageRegexFileSet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICloudStorageRegexFileSet);
+
+ /** CloudStorageRegexFileSet bucketName. */
+ public bucketName: string;
+
+ /** CloudStorageRegexFileSet includeRegex. */
+ public includeRegex: string[];
+
+ /** CloudStorageRegexFileSet excludeRegex. */
+ public excludeRegex: string[];
+
+ /**
+ * Creates a new CloudStorageRegexFileSet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CloudStorageRegexFileSet instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICloudStorageRegexFileSet): google.privacy.dlp.v2.CloudStorageRegexFileSet;
+
+ /**
+ * Encodes the specified CloudStorageRegexFileSet message. Does not implicitly {@link google.privacy.dlp.v2.CloudStorageRegexFileSet.verify|verify} messages.
+ * @param message CloudStorageRegexFileSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICloudStorageRegexFileSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CloudStorageRegexFileSet message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CloudStorageRegexFileSet.verify|verify} messages.
+ * @param message CloudStorageRegexFileSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICloudStorageRegexFileSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CloudStorageRegexFileSet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CloudStorageRegexFileSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CloudStorageRegexFileSet;
+
+ /**
+ * Decodes a CloudStorageRegexFileSet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CloudStorageRegexFileSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CloudStorageRegexFileSet;
+
+ /**
+ * Verifies a CloudStorageRegexFileSet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CloudStorageRegexFileSet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CloudStorageRegexFileSet
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CloudStorageRegexFileSet;
+
+ /**
+ * Creates a plain object from a CloudStorageRegexFileSet message. Also converts values to other types if specified.
+ * @param message CloudStorageRegexFileSet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CloudStorageRegexFileSet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CloudStorageRegexFileSet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a CloudStorageOptions. */
+ interface ICloudStorageOptions {
+
+ /** CloudStorageOptions fileSet */
+ fileSet?: (google.privacy.dlp.v2.CloudStorageOptions.IFileSet|null);
+
+ /** CloudStorageOptions bytesLimitPerFile */
+ bytesLimitPerFile?: (number|Long|string|null);
+
+ /** CloudStorageOptions bytesLimitPerFilePercent */
+ bytesLimitPerFilePercent?: (number|null);
+
+ /** CloudStorageOptions fileTypes */
+ fileTypes?: (google.privacy.dlp.v2.FileType[]|null);
+
+ /** CloudStorageOptions sampleMethod */
+ sampleMethod?: (google.privacy.dlp.v2.CloudStorageOptions.SampleMethod|keyof typeof google.privacy.dlp.v2.CloudStorageOptions.SampleMethod|null);
+
+ /** CloudStorageOptions filesLimitPercent */
+ filesLimitPercent?: (number|null);
+ }
+
+ /** Represents a CloudStorageOptions. */
+ class CloudStorageOptions implements ICloudStorageOptions {
+
+ /**
+ * Constructs a new CloudStorageOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICloudStorageOptions);
+
+ /** CloudStorageOptions fileSet. */
+ public fileSet?: (google.privacy.dlp.v2.CloudStorageOptions.IFileSet|null);
+
+ /** CloudStorageOptions bytesLimitPerFile. */
+ public bytesLimitPerFile: (number|Long|string);
+
+ /** CloudStorageOptions bytesLimitPerFilePercent. */
+ public bytesLimitPerFilePercent: number;
+
+ /** CloudStorageOptions fileTypes. */
+ public fileTypes: google.privacy.dlp.v2.FileType[];
+
+ /** CloudStorageOptions sampleMethod. */
+ public sampleMethod: (google.privacy.dlp.v2.CloudStorageOptions.SampleMethod|keyof typeof google.privacy.dlp.v2.CloudStorageOptions.SampleMethod);
+
+ /** CloudStorageOptions filesLimitPercent. */
+ public filesLimitPercent: number;
+
+ /**
+ * Creates a new CloudStorageOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CloudStorageOptions instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICloudStorageOptions): google.privacy.dlp.v2.CloudStorageOptions;
+
+ /**
+ * Encodes the specified CloudStorageOptions message. Does not implicitly {@link google.privacy.dlp.v2.CloudStorageOptions.verify|verify} messages.
+ * @param message CloudStorageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICloudStorageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CloudStorageOptions message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CloudStorageOptions.verify|verify} messages.
+ * @param message CloudStorageOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICloudStorageOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CloudStorageOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CloudStorageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CloudStorageOptions;
+
+ /**
+ * Decodes a CloudStorageOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CloudStorageOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CloudStorageOptions;
+
+ /**
+ * Verifies a CloudStorageOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CloudStorageOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CloudStorageOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CloudStorageOptions;
+
+ /**
+ * Creates a plain object from a CloudStorageOptions message. Also converts values to other types if specified.
+ * @param message CloudStorageOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CloudStorageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CloudStorageOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace CloudStorageOptions {
+
+ /** Properties of a FileSet. */
+ interface IFileSet {
+
+ /** FileSet url */
+ url?: (string|null);
+
+ /** FileSet regexFileSet */
+ regexFileSet?: (google.privacy.dlp.v2.ICloudStorageRegexFileSet|null);
+ }
+
+ /** Represents a FileSet. */
+ class FileSet implements IFileSet {
+
+ /**
+ * Constructs a new FileSet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.CloudStorageOptions.IFileSet);
+
+ /** FileSet url. */
+ public url: string;
+
+ /** FileSet regexFileSet. */
+ public regexFileSet?: (google.privacy.dlp.v2.ICloudStorageRegexFileSet|null);
+
+ /**
+ * Creates a new FileSet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FileSet instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.CloudStorageOptions.IFileSet): google.privacy.dlp.v2.CloudStorageOptions.FileSet;
+
+ /**
+ * Encodes the specified FileSet message. Does not implicitly {@link google.privacy.dlp.v2.CloudStorageOptions.FileSet.verify|verify} messages.
+ * @param message FileSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.CloudStorageOptions.IFileSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FileSet message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CloudStorageOptions.FileSet.verify|verify} messages.
+ * @param message FileSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.CloudStorageOptions.IFileSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FileSet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FileSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CloudStorageOptions.FileSet;
+
+ /**
+ * Decodes a FileSet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FileSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CloudStorageOptions.FileSet;
+
+ /**
+ * Verifies a FileSet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FileSet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FileSet
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CloudStorageOptions.FileSet;
+
+ /**
+ * Creates a plain object from a FileSet message. Also converts values to other types if specified.
+ * @param message FileSet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CloudStorageOptions.FileSet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FileSet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** SampleMethod enum. */
+ enum SampleMethod {
+ SAMPLE_METHOD_UNSPECIFIED = 0,
+ TOP = 1,
+ RANDOM_START = 2
+ }
+ }
+
+ /** Properties of a CloudStorageFileSet. */
+ interface ICloudStorageFileSet {
+
+ /** CloudStorageFileSet url */
+ url?: (string|null);
+ }
+
+ /** Represents a CloudStorageFileSet. */
+ class CloudStorageFileSet implements ICloudStorageFileSet {
+
+ /**
+ * Constructs a new CloudStorageFileSet.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICloudStorageFileSet);
+
+ /** CloudStorageFileSet url. */
+ public url: string;
+
+ /**
+ * Creates a new CloudStorageFileSet instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CloudStorageFileSet instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICloudStorageFileSet): google.privacy.dlp.v2.CloudStorageFileSet;
+
+ /**
+ * Encodes the specified CloudStorageFileSet message. Does not implicitly {@link google.privacy.dlp.v2.CloudStorageFileSet.verify|verify} messages.
+ * @param message CloudStorageFileSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICloudStorageFileSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CloudStorageFileSet message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CloudStorageFileSet.verify|verify} messages.
+ * @param message CloudStorageFileSet message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICloudStorageFileSet, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CloudStorageFileSet message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CloudStorageFileSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CloudStorageFileSet;
+
+ /**
+ * Decodes a CloudStorageFileSet message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CloudStorageFileSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CloudStorageFileSet;
+
+ /**
+ * Verifies a CloudStorageFileSet message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CloudStorageFileSet message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CloudStorageFileSet
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CloudStorageFileSet;
+
+ /**
+ * Creates a plain object from a CloudStorageFileSet message. Also converts values to other types if specified.
+ * @param message CloudStorageFileSet
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CloudStorageFileSet, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CloudStorageFileSet to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a CloudStoragePath. */
+ interface ICloudStoragePath {
+
+ /** CloudStoragePath path */
+ path?: (string|null);
+ }
+
+ /** Represents a CloudStoragePath. */
+ class CloudStoragePath implements ICloudStoragePath {
+
+ /**
+ * Constructs a new CloudStoragePath.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ICloudStoragePath);
+
+ /** CloudStoragePath path. */
+ public path: string;
+
+ /**
+ * Creates a new CloudStoragePath instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CloudStoragePath instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ICloudStoragePath): google.privacy.dlp.v2.CloudStoragePath;
+
+ /**
+ * Encodes the specified CloudStoragePath message. Does not implicitly {@link google.privacy.dlp.v2.CloudStoragePath.verify|verify} messages.
+ * @param message CloudStoragePath message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ICloudStoragePath, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CloudStoragePath message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.CloudStoragePath.verify|verify} messages.
+ * @param message CloudStoragePath message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ICloudStoragePath, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CloudStoragePath message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CloudStoragePath
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.CloudStoragePath;
+
+ /**
+ * Decodes a CloudStoragePath message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CloudStoragePath
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.CloudStoragePath;
+
+ /**
+ * Verifies a CloudStoragePath message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CloudStoragePath message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CloudStoragePath
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.CloudStoragePath;
+
+ /**
+ * Creates a plain object from a CloudStoragePath message. Also converts values to other types if specified.
+ * @param message CloudStoragePath
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.CloudStoragePath, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CloudStoragePath to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a BigQueryOptions. */
+ interface IBigQueryOptions {
+
+ /** BigQueryOptions tableReference */
+ tableReference?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** BigQueryOptions identifyingFields */
+ identifyingFields?: (google.privacy.dlp.v2.IFieldId[]|null);
+
+ /** BigQueryOptions rowsLimit */
+ rowsLimit?: (number|Long|string|null);
+
+ /** BigQueryOptions rowsLimitPercent */
+ rowsLimitPercent?: (number|null);
+
+ /** BigQueryOptions sampleMethod */
+ sampleMethod?: (google.privacy.dlp.v2.BigQueryOptions.SampleMethod|keyof typeof google.privacy.dlp.v2.BigQueryOptions.SampleMethod|null);
+
+ /** BigQueryOptions excludedFields */
+ excludedFields?: (google.privacy.dlp.v2.IFieldId[]|null);
+ }
+
+ /** Represents a BigQueryOptions. */
+ class BigQueryOptions implements IBigQueryOptions {
+
+ /**
+ * Constructs a new BigQueryOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IBigQueryOptions);
+
+ /** BigQueryOptions tableReference. */
+ public tableReference?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** BigQueryOptions identifyingFields. */
+ public identifyingFields: google.privacy.dlp.v2.IFieldId[];
+
+ /** BigQueryOptions rowsLimit. */
+ public rowsLimit: (number|Long|string);
+
+ /** BigQueryOptions rowsLimitPercent. */
+ public rowsLimitPercent: number;
+
+ /** BigQueryOptions sampleMethod. */
+ public sampleMethod: (google.privacy.dlp.v2.BigQueryOptions.SampleMethod|keyof typeof google.privacy.dlp.v2.BigQueryOptions.SampleMethod);
+
+ /** BigQueryOptions excludedFields. */
+ public excludedFields: google.privacy.dlp.v2.IFieldId[];
+
+ /**
+ * Creates a new BigQueryOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BigQueryOptions instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IBigQueryOptions): google.privacy.dlp.v2.BigQueryOptions;
+
+ /**
+ * Encodes the specified BigQueryOptions message. Does not implicitly {@link google.privacy.dlp.v2.BigQueryOptions.verify|verify} messages.
+ * @param message BigQueryOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IBigQueryOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BigQueryOptions message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.BigQueryOptions.verify|verify} messages.
+ * @param message BigQueryOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IBigQueryOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BigQueryOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BigQueryOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.BigQueryOptions;
+
+ /**
+ * Decodes a BigQueryOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BigQueryOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.BigQueryOptions;
+
+ /**
+ * Verifies a BigQueryOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BigQueryOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BigQueryOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.BigQueryOptions;
+
+ /**
+ * Creates a plain object from a BigQueryOptions message. Also converts values to other types if specified.
+ * @param message BigQueryOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.BigQueryOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BigQueryOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace BigQueryOptions {
+
+ /** SampleMethod enum. */
+ enum SampleMethod {
+ SAMPLE_METHOD_UNSPECIFIED = 0,
+ TOP = 1,
+ RANDOM_START = 2
+ }
+ }
+
+ /** Properties of a StorageConfig. */
+ interface IStorageConfig {
+
+ /** StorageConfig datastoreOptions */
+ datastoreOptions?: (google.privacy.dlp.v2.IDatastoreOptions|null);
+
+ /** StorageConfig cloudStorageOptions */
+ cloudStorageOptions?: (google.privacy.dlp.v2.ICloudStorageOptions|null);
+
+ /** StorageConfig bigQueryOptions */
+ bigQueryOptions?: (google.privacy.dlp.v2.IBigQueryOptions|null);
+
+ /** StorageConfig hybridOptions */
+ hybridOptions?: (google.privacy.dlp.v2.IHybridOptions|null);
+
+ /** StorageConfig timespanConfig */
+ timespanConfig?: (google.privacy.dlp.v2.StorageConfig.ITimespanConfig|null);
+ }
+
+ /** Represents a StorageConfig. */
+ class StorageConfig implements IStorageConfig {
+
+ /**
+ * Constructs a new StorageConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IStorageConfig);
+
+ /** StorageConfig datastoreOptions. */
+ public datastoreOptions?: (google.privacy.dlp.v2.IDatastoreOptions|null);
+
+ /** StorageConfig cloudStorageOptions. */
+ public cloudStorageOptions?: (google.privacy.dlp.v2.ICloudStorageOptions|null);
+
+ /** StorageConfig bigQueryOptions. */
+ public bigQueryOptions?: (google.privacy.dlp.v2.IBigQueryOptions|null);
+
+ /** StorageConfig hybridOptions. */
+ public hybridOptions?: (google.privacy.dlp.v2.IHybridOptions|null);
+
+ /** StorageConfig timespanConfig. */
+ public timespanConfig?: (google.privacy.dlp.v2.StorageConfig.ITimespanConfig|null);
+
+ /** StorageConfig type. */
+ public type?: ("datastoreOptions"|"cloudStorageOptions"|"bigQueryOptions"|"hybridOptions");
+
+ /**
+ * Creates a new StorageConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StorageConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IStorageConfig): google.privacy.dlp.v2.StorageConfig;
+
+ /**
+ * Encodes the specified StorageConfig message. Does not implicitly {@link google.privacy.dlp.v2.StorageConfig.verify|verify} messages.
+ * @param message StorageConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IStorageConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StorageConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.StorageConfig.verify|verify} messages.
+ * @param message StorageConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IStorageConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StorageConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StorageConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.StorageConfig;
+
+ /**
+ * Decodes a StorageConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StorageConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.StorageConfig;
+
+ /**
+ * Verifies a StorageConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StorageConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StorageConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.StorageConfig;
+
+ /**
+ * Creates a plain object from a StorageConfig message. Also converts values to other types if specified.
+ * @param message StorageConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.StorageConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StorageConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace StorageConfig {
+
+ /** Properties of a TimespanConfig. */
+ interface ITimespanConfig {
+
+ /** TimespanConfig startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimespanConfig endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimespanConfig timestampField */
+ timestampField?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** TimespanConfig enableAutoPopulationOfTimespanConfig */
+ enableAutoPopulationOfTimespanConfig?: (boolean|null);
+ }
+
+ /** Represents a TimespanConfig. */
+ class TimespanConfig implements ITimespanConfig {
+
+ /**
+ * Constructs a new TimespanConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.StorageConfig.ITimespanConfig);
+
+ /** TimespanConfig startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimespanConfig endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** TimespanConfig timestampField. */
+ public timestampField?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /** TimespanConfig enableAutoPopulationOfTimespanConfig. */
+ public enableAutoPopulationOfTimespanConfig: boolean;
+
+ /**
+ * Creates a new TimespanConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimespanConfig instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.StorageConfig.ITimespanConfig): google.privacy.dlp.v2.StorageConfig.TimespanConfig;
+
+ /**
+ * Encodes the specified TimespanConfig message. Does not implicitly {@link google.privacy.dlp.v2.StorageConfig.TimespanConfig.verify|verify} messages.
+ * @param message TimespanConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.StorageConfig.ITimespanConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimespanConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.StorageConfig.TimespanConfig.verify|verify} messages.
+ * @param message TimespanConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.StorageConfig.ITimespanConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimespanConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimespanConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.StorageConfig.TimespanConfig;
+
+ /**
+ * Decodes a TimespanConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimespanConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.StorageConfig.TimespanConfig;
+
+ /**
+ * Verifies a TimespanConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimespanConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimespanConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.StorageConfig.TimespanConfig;
+
+ /**
+ * Creates a plain object from a TimespanConfig message. Also converts values to other types if specified.
+ * @param message TimespanConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.StorageConfig.TimespanConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimespanConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** FileType enum. */
+ enum FileType {
+ FILE_TYPE_UNSPECIFIED = 0,
+ BINARY_FILE = 1,
+ TEXT_FILE = 2,
+ IMAGE = 3,
+ WORD = 5,
+ PDF = 6,
+ AVRO = 7,
+ CSV = 8,
+ TSV = 9
+ }
+
+ /** Properties of a HybridOptions. */
+ interface IHybridOptions {
+
+ /** HybridOptions description */
+ description?: (string|null);
+
+ /** HybridOptions requiredFindingLabelKeys */
+ requiredFindingLabelKeys?: (string[]|null);
+
+ /** HybridOptions labels */
+ labels?: ({ [k: string]: string }|null);
+
+ /** HybridOptions tableOptions */
+ tableOptions?: (google.privacy.dlp.v2.ITableOptions|null);
+ }
+
+ /** Represents a HybridOptions. */
+ class HybridOptions implements IHybridOptions {
+
+ /**
+ * Constructs a new HybridOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IHybridOptions);
+
+ /** HybridOptions description. */
+ public description: string;
+
+ /** HybridOptions requiredFindingLabelKeys. */
+ public requiredFindingLabelKeys: string[];
+
+ /** HybridOptions labels. */
+ public labels: { [k: string]: string };
+
+ /** HybridOptions tableOptions. */
+ public tableOptions?: (google.privacy.dlp.v2.ITableOptions|null);
+
+ /**
+ * Creates a new HybridOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HybridOptions instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IHybridOptions): google.privacy.dlp.v2.HybridOptions;
+
+ /**
+ * Encodes the specified HybridOptions message. Does not implicitly {@link google.privacy.dlp.v2.HybridOptions.verify|verify} messages.
+ * @param message HybridOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IHybridOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HybridOptions message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.HybridOptions.verify|verify} messages.
+ * @param message HybridOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IHybridOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HybridOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HybridOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.HybridOptions;
+
+ /**
+ * Decodes a HybridOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HybridOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.HybridOptions;
+
+ /**
+ * Verifies a HybridOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HybridOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HybridOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.HybridOptions;
+
+ /**
+ * Creates a plain object from a HybridOptions message. Also converts values to other types if specified.
+ * @param message HybridOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.HybridOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HybridOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a BigQueryKey. */
+ interface IBigQueryKey {
+
+ /** BigQueryKey tableReference */
+ tableReference?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** BigQueryKey rowNumber */
+ rowNumber?: (number|Long|string|null);
+ }
+
+ /** Represents a BigQueryKey. */
+ class BigQueryKey implements IBigQueryKey {
+
+ /**
+ * Constructs a new BigQueryKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IBigQueryKey);
+
+ /** BigQueryKey tableReference. */
+ public tableReference?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** BigQueryKey rowNumber. */
+ public rowNumber: (number|Long|string);
+
+ /**
+ * Creates a new BigQueryKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BigQueryKey instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IBigQueryKey): google.privacy.dlp.v2.BigQueryKey;
+
+ /**
+ * Encodes the specified BigQueryKey message. Does not implicitly {@link google.privacy.dlp.v2.BigQueryKey.verify|verify} messages.
+ * @param message BigQueryKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IBigQueryKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BigQueryKey message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.BigQueryKey.verify|verify} messages.
+ * @param message BigQueryKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IBigQueryKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BigQueryKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BigQueryKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.BigQueryKey;
+
+ /**
+ * Decodes a BigQueryKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BigQueryKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.BigQueryKey;
+
+ /**
+ * Verifies a BigQueryKey message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BigQueryKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BigQueryKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.BigQueryKey;
+
+ /**
+ * Creates a plain object from a BigQueryKey message. Also converts values to other types if specified.
+ * @param message BigQueryKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.BigQueryKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BigQueryKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a DatastoreKey. */
+ interface IDatastoreKey {
+
+ /** DatastoreKey entityKey */
+ entityKey?: (google.privacy.dlp.v2.IKey|null);
+ }
+
+ /** Represents a DatastoreKey. */
+ class DatastoreKey implements IDatastoreKey {
+
+ /**
+ * Constructs a new DatastoreKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IDatastoreKey);
+
+ /** DatastoreKey entityKey. */
+ public entityKey?: (google.privacy.dlp.v2.IKey|null);
+
+ /**
+ * Creates a new DatastoreKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DatastoreKey instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IDatastoreKey): google.privacy.dlp.v2.DatastoreKey;
+
+ /**
+ * Encodes the specified DatastoreKey message. Does not implicitly {@link google.privacy.dlp.v2.DatastoreKey.verify|verify} messages.
+ * @param message DatastoreKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IDatastoreKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DatastoreKey message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.DatastoreKey.verify|verify} messages.
+ * @param message DatastoreKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IDatastoreKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DatastoreKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DatastoreKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.DatastoreKey;
+
+ /**
+ * Decodes a DatastoreKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DatastoreKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.DatastoreKey;
+
+ /**
+ * Verifies a DatastoreKey message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DatastoreKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DatastoreKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.DatastoreKey;
+
+ /**
+ * Creates a plain object from a DatastoreKey message. Also converts values to other types if specified.
+ * @param message DatastoreKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.DatastoreKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DatastoreKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a Key. */
+ interface IKey {
+
+ /** Key partitionId */
+ partitionId?: (google.privacy.dlp.v2.IPartitionId|null);
+
+ /** Key path */
+ path?: (google.privacy.dlp.v2.Key.IPathElement[]|null);
+ }
+
+ /** Represents a Key. */
+ class Key implements IKey {
+
+ /**
+ * Constructs a new Key.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IKey);
+
+ /** Key partitionId. */
+ public partitionId?: (google.privacy.dlp.v2.IPartitionId|null);
+
+ /** Key path. */
+ public path: google.privacy.dlp.v2.Key.IPathElement[];
+
+ /**
+ * Creates a new Key instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Key instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IKey): google.privacy.dlp.v2.Key;
+
+ /**
+ * Encodes the specified Key message. Does not implicitly {@link google.privacy.dlp.v2.Key.verify|verify} messages.
+ * @param message Key message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Key message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Key.verify|verify} messages.
+ * @param message Key message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Key message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Key
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Key;
+
+ /**
+ * Decodes a Key message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Key
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Key;
+
+ /**
+ * Verifies a Key message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Key message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Key
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Key;
+
+ /**
+ * Creates a plain object from a Key message. Also converts values to other types if specified.
+ * @param message Key
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Key, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Key to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ namespace Key {
+
+ /** Properties of a PathElement. */
+ interface IPathElement {
+
+ /** PathElement kind */
+ kind?: (string|null);
+
+ /** PathElement id */
+ id?: (number|Long|string|null);
+
+ /** PathElement name */
+ name?: (string|null);
+ }
+
+ /** Represents a PathElement. */
+ class PathElement implements IPathElement {
+
+ /**
+ * Constructs a new PathElement.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.Key.IPathElement);
+
+ /** PathElement kind. */
+ public kind: string;
+
+ /** PathElement id. */
+ public id: (number|Long|string);
+
+ /** PathElement name. */
+ public name: string;
+
+ /** PathElement idType. */
+ public idType?: ("id"|"name");
+
+ /**
+ * Creates a new PathElement instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PathElement instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.Key.IPathElement): google.privacy.dlp.v2.Key.PathElement;
+
+ /**
+ * Encodes the specified PathElement message. Does not implicitly {@link google.privacy.dlp.v2.Key.PathElement.verify|verify} messages.
+ * @param message PathElement message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.Key.IPathElement, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PathElement message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Key.PathElement.verify|verify} messages.
+ * @param message PathElement message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.Key.IPathElement, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PathElement message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PathElement
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.Key.PathElement;
+
+ /**
+ * Decodes a PathElement message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PathElement
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.Key.PathElement;
+
+ /**
+ * Verifies a PathElement message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PathElement message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PathElement
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.Key.PathElement;
+
+ /**
+ * Creates a plain object from a PathElement message. Also converts values to other types if specified.
+ * @param message PathElement
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.Key.PathElement, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PathElement to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Properties of a RecordKey. */
+ interface IRecordKey {
+
+ /** RecordKey datastoreKey */
+ datastoreKey?: (google.privacy.dlp.v2.IDatastoreKey|null);
+
+ /** RecordKey bigQueryKey */
+ bigQueryKey?: (google.privacy.dlp.v2.IBigQueryKey|null);
+
+ /** RecordKey idValues */
+ idValues?: (string[]|null);
+ }
+
+ /** Represents a RecordKey. */
+ class RecordKey implements IRecordKey {
+
+ /**
+ * Constructs a new RecordKey.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IRecordKey);
+
+ /** RecordKey datastoreKey. */
+ public datastoreKey?: (google.privacy.dlp.v2.IDatastoreKey|null);
+
+ /** RecordKey bigQueryKey. */
+ public bigQueryKey?: (google.privacy.dlp.v2.IBigQueryKey|null);
+
+ /** RecordKey idValues. */
+ public idValues: string[];
+
+ /** RecordKey type. */
+ public type?: ("datastoreKey"|"bigQueryKey");
+
+ /**
+ * Creates a new RecordKey instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RecordKey instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IRecordKey): google.privacy.dlp.v2.RecordKey;
+
+ /**
+ * Encodes the specified RecordKey message. Does not implicitly {@link google.privacy.dlp.v2.RecordKey.verify|verify} messages.
+ * @param message RecordKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IRecordKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RecordKey message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.RecordKey.verify|verify} messages.
+ * @param message RecordKey message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IRecordKey, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RecordKey message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RecordKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.RecordKey;
+
+ /**
+ * Decodes a RecordKey message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RecordKey
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.RecordKey;
+
+ /**
+ * Verifies a RecordKey message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RecordKey message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RecordKey
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.RecordKey;
+
+ /**
+ * Creates a plain object from a RecordKey message. Also converts values to other types if specified.
+ * @param message RecordKey
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.RecordKey, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RecordKey to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a BigQueryTable. */
+ interface IBigQueryTable {
+
+ /** BigQueryTable projectId */
+ projectId?: (string|null);
+
+ /** BigQueryTable datasetId */
+ datasetId?: (string|null);
+
+ /** BigQueryTable tableId */
+ tableId?: (string|null);
+ }
+
+ /** Represents a BigQueryTable. */
+ class BigQueryTable implements IBigQueryTable {
+
+ /**
+ * Constructs a new BigQueryTable.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IBigQueryTable);
+
+ /** BigQueryTable projectId. */
+ public projectId: string;
+
+ /** BigQueryTable datasetId. */
+ public datasetId: string;
+
+ /** BigQueryTable tableId. */
+ public tableId: string;
+
+ /**
+ * Creates a new BigQueryTable instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BigQueryTable instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IBigQueryTable): google.privacy.dlp.v2.BigQueryTable;
+
+ /**
+ * Encodes the specified BigQueryTable message. Does not implicitly {@link google.privacy.dlp.v2.BigQueryTable.verify|verify} messages.
+ * @param message BigQueryTable message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IBigQueryTable, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BigQueryTable message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.BigQueryTable.verify|verify} messages.
+ * @param message BigQueryTable message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IBigQueryTable, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BigQueryTable message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BigQueryTable
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.BigQueryTable;
+
+ /**
+ * Decodes a BigQueryTable message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BigQueryTable
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.BigQueryTable;
+
+ /**
+ * Verifies a BigQueryTable message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BigQueryTable message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BigQueryTable
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.BigQueryTable;
+
+ /**
+ * Creates a plain object from a BigQueryTable message. Also converts values to other types if specified.
+ * @param message BigQueryTable
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.BigQueryTable, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BigQueryTable to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a BigQueryField. */
+ interface IBigQueryField {
+
+ /** BigQueryField table */
+ table?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** BigQueryField field */
+ field?: (google.privacy.dlp.v2.IFieldId|null);
+ }
+
+ /** Represents a BigQueryField. */
+ class BigQueryField implements IBigQueryField {
+
+ /**
+ * Constructs a new BigQueryField.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IBigQueryField);
+
+ /** BigQueryField table. */
+ public table?: (google.privacy.dlp.v2.IBigQueryTable|null);
+
+ /** BigQueryField field. */
+ public field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /**
+ * Creates a new BigQueryField instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns BigQueryField instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IBigQueryField): google.privacy.dlp.v2.BigQueryField;
+
+ /**
+ * Encodes the specified BigQueryField message. Does not implicitly {@link google.privacy.dlp.v2.BigQueryField.verify|verify} messages.
+ * @param message BigQueryField message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IBigQueryField, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified BigQueryField message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.BigQueryField.verify|verify} messages.
+ * @param message BigQueryField message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IBigQueryField, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a BigQueryField message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns BigQueryField
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.BigQueryField;
+
+ /**
+ * Decodes a BigQueryField message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns BigQueryField
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.BigQueryField;
+
+ /**
+ * Verifies a BigQueryField message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a BigQueryField message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns BigQueryField
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.BigQueryField;
+
+ /**
+ * Creates a plain object from a BigQueryField message. Also converts values to other types if specified.
+ * @param message BigQueryField
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.BigQueryField, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this BigQueryField to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of an EntityId. */
+ interface IEntityId {
+
+ /** EntityId field */
+ field?: (google.privacy.dlp.v2.IFieldId|null);
+ }
+
+ /** Represents an EntityId. */
+ class EntityId implements IEntityId {
+
+ /**
+ * Constructs a new EntityId.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.IEntityId);
+
+ /** EntityId field. */
+ public field?: (google.privacy.dlp.v2.IFieldId|null);
+
+ /**
+ * Creates a new EntityId instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EntityId instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.IEntityId): google.privacy.dlp.v2.EntityId;
+
+ /**
+ * Encodes the specified EntityId message. Does not implicitly {@link google.privacy.dlp.v2.EntityId.verify|verify} messages.
+ * @param message EntityId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.IEntityId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EntityId message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.EntityId.verify|verify} messages.
+ * @param message EntityId message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.IEntityId, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EntityId message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EntityId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.EntityId;
+
+ /**
+ * Decodes an EntityId message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EntityId
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.EntityId;
+
+ /**
+ * Verifies an EntityId message.
+ * @param message Plain 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 EntityId message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EntityId
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.EntityId;
+
+ /**
+ * Creates a plain object from an EntityId message. Also converts values to other types if specified.
+ * @param message EntityId
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.EntityId, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EntityId to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** Properties of a TableOptions. */
+ interface ITableOptions {
+
+ /** TableOptions identifyingFields */
+ identifyingFields?: (google.privacy.dlp.v2.IFieldId[]|null);
+ }
+
+ /** Represents a TableOptions. */
+ class TableOptions implements ITableOptions {
+
+ /**
+ * Constructs a new TableOptions.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.privacy.dlp.v2.ITableOptions);
+
+ /** TableOptions identifyingFields. */
+ public identifyingFields: google.privacy.dlp.v2.IFieldId[];
+
+ /**
+ * Creates a new TableOptions instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TableOptions instance
+ */
+ public static create(properties?: google.privacy.dlp.v2.ITableOptions): google.privacy.dlp.v2.TableOptions;
+
+ /**
+ * Encodes the specified TableOptions message. Does not implicitly {@link google.privacy.dlp.v2.TableOptions.verify|verify} messages.
+ * @param message TableOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.privacy.dlp.v2.ITableOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TableOptions message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.TableOptions.verify|verify} messages.
+ * @param message TableOptions message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.privacy.dlp.v2.ITableOptions, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TableOptions message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TableOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.privacy.dlp.v2.TableOptions;
+
+ /**
+ * Decodes a TableOptions message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TableOptions
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.privacy.dlp.v2.TableOptions;
+
+ /**
+ * Verifies a TableOptions message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TableOptions message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TableOptions
+ */
+ public static fromObject(object: { [k: string]: any }): google.privacy.dlp.v2.TableOptions;
+
+ /**
+ * Creates a plain object from a TableOptions message. Also converts values to other types if specified.
+ * @param message TableOptions
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.privacy.dlp.v2.TableOptions, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TableOptions to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+ }
+ }
+
+ /** 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
+ }
+
+ /** 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 };
+ }
+
+ 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 };
+ }
+
+ /** 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 };
+ }
+
+ /** 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;
+
+ /** HttpRule put. */
+ public put: string;
+
+ /** HttpRule post. */
+ public post: string;
+
+ /** HttpRule delete. */
+ public delete: string;
+
+ /** HttpRule patch. */
+ public patch: string;
+
+ /** 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 };
+ }
+
+ /** 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 };
+ }
+ }
+
+ /** 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 };
+ }
+
+ /** 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);
+ }
+
+ /** 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;
+
+ /**
+ * 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 };
+ }
+
+ /** 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 };
+ }
+
+ 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 };
+ }
+
+ /** 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 };
+ }
+ }
+
+ /** 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 };
+ }
+
+ /** 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 };
+ }
+
+ 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 };
+ }
+
+ /** 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 };
+ }
+
+ 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 };
+ }
+ }
+
+ /** 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 };
+ }
+
+ /** 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 };
+ }
+
+ /** 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 };
+ }
+
+ /** 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 };
+ }
+
+ 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 };
+ }
+
+ /** 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 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 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 };
+ }
+
+ 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 };
+ }
+
+ /** 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 };
+ }
+
+ /** 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 };
+ }
+
+ /** 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 };
+ }
+
+ /** 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.methodSignature */
+ ".google.api.methodSignature"?: (string[]|null);
+
+ /** MethodOptions .google.api.http */
+ ".google.api.http"?: (google.api.IHttpRule|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 };
+ }
+
+ 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 };
+ }
+
+ 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 };
+ }
+ }
+
+ /** 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 };
+ }
+
+ 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 };
+ }
+ }
+
+ /** 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 };
+ }
+
+ 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);
+ }
+
+ /** 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;
+
+ /**
+ * 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 };
+ }
+ }
+
+ /** 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 };
+ }
+
+ /** Properties of a Duration. */
+ interface IDuration {
+
+ /** Duration seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Duration nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Duration. */
+ class Duration implements IDuration {
+
+ /**
+ * Constructs a new Duration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDuration);
+
+ /** Duration seconds. */
+ public seconds: (number|Long|string);
+
+ /** Duration nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Duration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Duration instance
+ */
+ public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration;
+
+ /**
+ * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration;
+
+ /**
+ * Verifies a Duration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Duration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Duration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Duration;
+
+ /**
+ * Creates a plain object from a Duration message. Also converts values to other types if specified.
+ * @param message Duration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Duration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** 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 };
+ }
+
+ /** 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 };
+ }
+
+ /** Properties of an Any. */
+ interface IAny {
+
+ /** Any type_url */
+ type_url?: (string|null);
+
+ /** Any value */
+ value?: (Uint8Array|string|null);
+ }
+
+ /** Represents an Any. */
+ class Any implements IAny {
+
+ /**
+ * Constructs a new Any.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IAny);
+
+ /** Any type_url. */
+ public type_url: string;
+
+ /** Any value. */
+ public value: (Uint8Array|string);
+
+ /**
+ * Creates a new Any instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Any instance
+ */
+ public static create(properties?: google.protobuf.IAny): google.protobuf.Any;
+
+ /**
+ * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages.
+ * @param message Any message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Any;
+
+ /**
+ * Decodes an Any message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Any
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Any;
+
+ /**
+ * Verifies an Any message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Any message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Any
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Any;
+
+ /**
+ * Creates a plain object from an Any message. Also converts values to other types if specified.
+ * @param message Any
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Any, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Any to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Namespace rpc. */
+ namespace rpc {
+
+ /** Properties of a Status. */
+ interface IStatus {
+
+ /** Status code */
+ code?: (number|null);
+
+ /** Status message */
+ message?: (string|null);
+
+ /** Status details */
+ details?: (google.protobuf.IAny[]|null);
+ }
+
+ /** Represents a Status. */
+ class Status implements IStatus {
+
+ /**
+ * Constructs a new Status.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.rpc.IStatus);
+
+ /** Status code. */
+ public code: number;
+
+ /** Status message. */
+ public message: string;
+
+ /** Status details. */
+ public details: google.protobuf.IAny[];
+
+ /**
+ * Creates a new Status instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Status instance
+ */
+ public static create(properties?: google.rpc.IStatus): google.rpc.Status;
+
+ /**
+ * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.rpc.Status;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.rpc.Status;
+
+ /**
+ * Verifies a Status message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Status message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Status
+ */
+ public static fromObject(object: { [k: string]: any }): google.rpc.Status;
+
+ /**
+ * Creates a plain object from a Status message. Also converts values to other types if specified.
+ * @param message Status
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.rpc.Status, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Status to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+
+ /** Namespace type. */
+ namespace type {
+
+ /** Properties of a Date. */
+ interface IDate {
+
+ /** Date year */
+ year?: (number|null);
+
+ /** Date month */
+ month?: (number|null);
+
+ /** Date day */
+ day?: (number|null);
+ }
+
+ /** Represents a Date. */
+ class Date implements IDate {
+
+ /**
+ * Constructs a new Date.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.IDate);
+
+ /** Date year. */
+ public year: number;
+
+ /** Date month. */
+ public month: number;
+
+ /** Date day. */
+ public day: number;
+
+ /**
+ * Creates a new Date instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Date instance
+ */
+ public static create(properties?: google.type.IDate): google.type.Date;
+
+ /**
+ * Encodes the specified Date message. Does not implicitly {@link google.type.Date.verify|verify} messages.
+ * @param message Date message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.IDate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Date message, length delimited. Does not implicitly {@link google.type.Date.verify|verify} messages.
+ * @param message Date message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.IDate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Date message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Date
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.Date;
+
+ /**
+ * Decodes a Date message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Date
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.Date;
+
+ /**
+ * Verifies a Date message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Date message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Date
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.Date;
+
+ /**
+ * Creates a plain object from a Date message. Also converts values to other types if specified.
+ * @param message Date
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.Date, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Date to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+
+ /** DayOfWeek enum. */
+ enum DayOfWeek {
+ DAY_OF_WEEK_UNSPECIFIED = 0,
+ MONDAY = 1,
+ TUESDAY = 2,
+ WEDNESDAY = 3,
+ THURSDAY = 4,
+ FRIDAY = 5,
+ SATURDAY = 6,
+ SUNDAY = 7
+ }
+
+ /** Properties of a TimeOfDay. */
+ interface ITimeOfDay {
+
+ /** TimeOfDay hours */
+ hours?: (number|null);
+
+ /** TimeOfDay minutes */
+ minutes?: (number|null);
+
+ /** TimeOfDay seconds */
+ seconds?: (number|null);
+
+ /** TimeOfDay nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a TimeOfDay. */
+ class TimeOfDay implements ITimeOfDay {
+
+ /**
+ * Constructs a new TimeOfDay.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.ITimeOfDay);
+
+ /** TimeOfDay hours. */
+ public hours: number;
+
+ /** TimeOfDay minutes. */
+ public minutes: number;
+
+ /** TimeOfDay seconds. */
+ public seconds: number;
+
+ /** TimeOfDay nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new TimeOfDay instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimeOfDay instance
+ */
+ public static create(properties?: google.type.ITimeOfDay): google.type.TimeOfDay;
+
+ /**
+ * Encodes the specified TimeOfDay message. Does not implicitly {@link google.type.TimeOfDay.verify|verify} messages.
+ * @param message TimeOfDay message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.ITimeOfDay, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimeOfDay message, length delimited. Does not implicitly {@link google.type.TimeOfDay.verify|verify} messages.
+ * @param message TimeOfDay message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.ITimeOfDay, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimeOfDay message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimeOfDay
+ * @throws {Error} If the payload is not 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.TimeOfDay;
+
+ /**
+ * Decodes a TimeOfDay message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimeOfDay
+ * @throws {Error} If the payload 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.TimeOfDay;
+
+ /**
+ * Verifies a TimeOfDay message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimeOfDay message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimeOfDay
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.TimeOfDay;
+
+ /**
+ * Creates a plain object from a TimeOfDay message. Also converts values to other types if specified.
+ * @param message TimeOfDay
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.TimeOfDay, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimeOfDay to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+ }
+ }
+}
diff --git a/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/protos/protos.js b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/protos/protos.js
new file mode 100644
index 000000000..badedc55a
--- /dev/null
+++ b/tests/fixtures/nodejs_mono_repo_with_staging/packages/dlp/protos/protos.js
@@ -0,0 +1,65776 @@
+// 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.
+
+/*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").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_dlp_protos || ($protobuf.roots._google_cloud_dlp_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.privacy = (function() {
+
+ /**
+ * Namespace privacy.
+ * @memberof google
+ * @namespace
+ */
+ var privacy = {};
+
+ privacy.dlp = (function() {
+
+ /**
+ * Namespace dlp.
+ * @memberof google.privacy
+ * @namespace
+ */
+ var dlp = {};
+
+ dlp.v2 = (function() {
+
+ /**
+ * Namespace v2.
+ * @memberof google.privacy.dlp
+ * @namespace
+ */
+ var v2 = {};
+
+ v2.DlpService = (function() {
+
+ /**
+ * Constructs a new DlpService service.
+ * @memberof google.privacy.dlp.v2
+ * @classdesc Represents a DlpService
+ * @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 DlpService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (DlpService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = DlpService;
+
+ /**
+ * Creates new DlpService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @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 {DlpService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ DlpService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#inspectContent}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef InspectContentCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.InspectContentResponse} [response] InspectContentResponse
+ */
+
+ /**
+ * Calls InspectContent.
+ * @function inspectContent
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IInspectContentRequest} request InspectContentRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.InspectContentCallback} callback Node-style callback called with the error, if any, and InspectContentResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.inspectContent = function inspectContent(request, callback) {
+ return this.rpcCall(inspectContent, $root.google.privacy.dlp.v2.InspectContentRequest, $root.google.privacy.dlp.v2.InspectContentResponse, request, callback);
+ }, "name", { value: "InspectContent" });
+
+ /**
+ * Calls InspectContent.
+ * @function inspectContent
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IInspectContentRequest} request InspectContentRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#redactImage}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef RedactImageCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.RedactImageResponse} [response] RedactImageResponse
+ */
+
+ /**
+ * Calls RedactImage.
+ * @function redactImage
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IRedactImageRequest} request RedactImageRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.RedactImageCallback} callback Node-style callback called with the error, if any, and RedactImageResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.redactImage = function redactImage(request, callback) {
+ return this.rpcCall(redactImage, $root.google.privacy.dlp.v2.RedactImageRequest, $root.google.privacy.dlp.v2.RedactImageResponse, request, callback);
+ }, "name", { value: "RedactImage" });
+
+ /**
+ * Calls RedactImage.
+ * @function redactImage
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IRedactImageRequest} request RedactImageRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#deidentifyContent}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef DeidentifyContentCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.DeidentifyContentResponse} [response] DeidentifyContentResponse
+ */
+
+ /**
+ * Calls DeidentifyContent.
+ * @function deidentifyContent
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IDeidentifyContentRequest} request DeidentifyContentRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.DeidentifyContentCallback} callback Node-style callback called with the error, if any, and DeidentifyContentResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.deidentifyContent = function deidentifyContent(request, callback) {
+ return this.rpcCall(deidentifyContent, $root.google.privacy.dlp.v2.DeidentifyContentRequest, $root.google.privacy.dlp.v2.DeidentifyContentResponse, request, callback);
+ }, "name", { value: "DeidentifyContent" });
+
+ /**
+ * Calls DeidentifyContent.
+ * @function deidentifyContent
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IDeidentifyContentRequest} request DeidentifyContentRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#reidentifyContent}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef ReidentifyContentCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.ReidentifyContentResponse} [response] ReidentifyContentResponse
+ */
+
+ /**
+ * Calls ReidentifyContent.
+ * @function reidentifyContent
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IReidentifyContentRequest} request ReidentifyContentRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.ReidentifyContentCallback} callback Node-style callback called with the error, if any, and ReidentifyContentResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.reidentifyContent = function reidentifyContent(request, callback) {
+ return this.rpcCall(reidentifyContent, $root.google.privacy.dlp.v2.ReidentifyContentRequest, $root.google.privacy.dlp.v2.ReidentifyContentResponse, request, callback);
+ }, "name", { value: "ReidentifyContent" });
+
+ /**
+ * Calls ReidentifyContent.
+ * @function reidentifyContent
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IReidentifyContentRequest} request ReidentifyContentRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#listInfoTypes}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef ListInfoTypesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.ListInfoTypesResponse} [response] ListInfoTypesResponse
+ */
+
+ /**
+ * Calls ListInfoTypes.
+ * @function listInfoTypes
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IListInfoTypesRequest} request ListInfoTypesRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.ListInfoTypesCallback} callback Node-style callback called with the error, if any, and ListInfoTypesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.listInfoTypes = function listInfoTypes(request, callback) {
+ return this.rpcCall(listInfoTypes, $root.google.privacy.dlp.v2.ListInfoTypesRequest, $root.google.privacy.dlp.v2.ListInfoTypesResponse, request, callback);
+ }, "name", { value: "ListInfoTypes" });
+
+ /**
+ * Calls ListInfoTypes.
+ * @function listInfoTypes
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IListInfoTypesRequest} request ListInfoTypesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#createInspectTemplate}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef CreateInspectTemplateCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.InspectTemplate} [response] InspectTemplate
+ */
+
+ /**
+ * Calls CreateInspectTemplate.
+ * @function createInspectTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.ICreateInspectTemplateRequest} request CreateInspectTemplateRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.CreateInspectTemplateCallback} callback Node-style callback called with the error, if any, and InspectTemplate
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.createInspectTemplate = function createInspectTemplate(request, callback) {
+ return this.rpcCall(createInspectTemplate, $root.google.privacy.dlp.v2.CreateInspectTemplateRequest, $root.google.privacy.dlp.v2.InspectTemplate, request, callback);
+ }, "name", { value: "CreateInspectTemplate" });
+
+ /**
+ * Calls CreateInspectTemplate.
+ * @function createInspectTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.ICreateInspectTemplateRequest} request CreateInspectTemplateRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#updateInspectTemplate}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef UpdateInspectTemplateCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.InspectTemplate} [response] InspectTemplate
+ */
+
+ /**
+ * Calls UpdateInspectTemplate.
+ * @function updateInspectTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IUpdateInspectTemplateRequest} request UpdateInspectTemplateRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.UpdateInspectTemplateCallback} callback Node-style callback called with the error, if any, and InspectTemplate
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.updateInspectTemplate = function updateInspectTemplate(request, callback) {
+ return this.rpcCall(updateInspectTemplate, $root.google.privacy.dlp.v2.UpdateInspectTemplateRequest, $root.google.privacy.dlp.v2.InspectTemplate, request, callback);
+ }, "name", { value: "UpdateInspectTemplate" });
+
+ /**
+ * Calls UpdateInspectTemplate.
+ * @function updateInspectTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IUpdateInspectTemplateRequest} request UpdateInspectTemplateRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#getInspectTemplate}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef GetInspectTemplateCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.InspectTemplate} [response] InspectTemplate
+ */
+
+ /**
+ * Calls GetInspectTemplate.
+ * @function getInspectTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IGetInspectTemplateRequest} request GetInspectTemplateRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.GetInspectTemplateCallback} callback Node-style callback called with the error, if any, and InspectTemplate
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.getInspectTemplate = function getInspectTemplate(request, callback) {
+ return this.rpcCall(getInspectTemplate, $root.google.privacy.dlp.v2.GetInspectTemplateRequest, $root.google.privacy.dlp.v2.InspectTemplate, request, callback);
+ }, "name", { value: "GetInspectTemplate" });
+
+ /**
+ * Calls GetInspectTemplate.
+ * @function getInspectTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IGetInspectTemplateRequest} request GetInspectTemplateRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#listInspectTemplates}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef ListInspectTemplatesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.ListInspectTemplatesResponse} [response] ListInspectTemplatesResponse
+ */
+
+ /**
+ * Calls ListInspectTemplates.
+ * @function listInspectTemplates
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IListInspectTemplatesRequest} request ListInspectTemplatesRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.ListInspectTemplatesCallback} callback Node-style callback called with the error, if any, and ListInspectTemplatesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.listInspectTemplates = function listInspectTemplates(request, callback) {
+ return this.rpcCall(listInspectTemplates, $root.google.privacy.dlp.v2.ListInspectTemplatesRequest, $root.google.privacy.dlp.v2.ListInspectTemplatesResponse, request, callback);
+ }, "name", { value: "ListInspectTemplates" });
+
+ /**
+ * Calls ListInspectTemplates.
+ * @function listInspectTemplates
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IListInspectTemplatesRequest} request ListInspectTemplatesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#deleteInspectTemplate}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef DeleteInspectTemplateCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteInspectTemplate.
+ * @function deleteInspectTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IDeleteInspectTemplateRequest} request DeleteInspectTemplateRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.DeleteInspectTemplateCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.deleteInspectTemplate = function deleteInspectTemplate(request, callback) {
+ return this.rpcCall(deleteInspectTemplate, $root.google.privacy.dlp.v2.DeleteInspectTemplateRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteInspectTemplate" });
+
+ /**
+ * Calls DeleteInspectTemplate.
+ * @function deleteInspectTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IDeleteInspectTemplateRequest} request DeleteInspectTemplateRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#createDeidentifyTemplate}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef CreateDeidentifyTemplateCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.DeidentifyTemplate} [response] DeidentifyTemplate
+ */
+
+ /**
+ * Calls CreateDeidentifyTemplate.
+ * @function createDeidentifyTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest} request CreateDeidentifyTemplateRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.CreateDeidentifyTemplateCallback} callback Node-style callback called with the error, if any, and DeidentifyTemplate
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.createDeidentifyTemplate = function createDeidentifyTemplate(request, callback) {
+ return this.rpcCall(createDeidentifyTemplate, $root.google.privacy.dlp.v2.CreateDeidentifyTemplateRequest, $root.google.privacy.dlp.v2.DeidentifyTemplate, request, callback);
+ }, "name", { value: "CreateDeidentifyTemplate" });
+
+ /**
+ * Calls CreateDeidentifyTemplate.
+ * @function createDeidentifyTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.ICreateDeidentifyTemplateRequest} request CreateDeidentifyTemplateRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#updateDeidentifyTemplate}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef UpdateDeidentifyTemplateCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.DeidentifyTemplate} [response] DeidentifyTemplate
+ */
+
+ /**
+ * Calls UpdateDeidentifyTemplate.
+ * @function updateDeidentifyTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest} request UpdateDeidentifyTemplateRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.UpdateDeidentifyTemplateCallback} callback Node-style callback called with the error, if any, and DeidentifyTemplate
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.updateDeidentifyTemplate = function updateDeidentifyTemplate(request, callback) {
+ return this.rpcCall(updateDeidentifyTemplate, $root.google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest, $root.google.privacy.dlp.v2.DeidentifyTemplate, request, callback);
+ }, "name", { value: "UpdateDeidentifyTemplate" });
+
+ /**
+ * Calls UpdateDeidentifyTemplate.
+ * @function updateDeidentifyTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IUpdateDeidentifyTemplateRequest} request UpdateDeidentifyTemplateRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#getDeidentifyTemplate}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef GetDeidentifyTemplateCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.DeidentifyTemplate} [response] DeidentifyTemplate
+ */
+
+ /**
+ * Calls GetDeidentifyTemplate.
+ * @function getDeidentifyTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IGetDeidentifyTemplateRequest} request GetDeidentifyTemplateRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.GetDeidentifyTemplateCallback} callback Node-style callback called with the error, if any, and DeidentifyTemplate
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.getDeidentifyTemplate = function getDeidentifyTemplate(request, callback) {
+ return this.rpcCall(getDeidentifyTemplate, $root.google.privacy.dlp.v2.GetDeidentifyTemplateRequest, $root.google.privacy.dlp.v2.DeidentifyTemplate, request, callback);
+ }, "name", { value: "GetDeidentifyTemplate" });
+
+ /**
+ * Calls GetDeidentifyTemplate.
+ * @function getDeidentifyTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IGetDeidentifyTemplateRequest} request GetDeidentifyTemplateRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#listDeidentifyTemplates}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef ListDeidentifyTemplatesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.ListDeidentifyTemplatesResponse} [response] ListDeidentifyTemplatesResponse
+ */
+
+ /**
+ * Calls ListDeidentifyTemplates.
+ * @function listDeidentifyTemplates
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IListDeidentifyTemplatesRequest} request ListDeidentifyTemplatesRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.ListDeidentifyTemplatesCallback} callback Node-style callback called with the error, if any, and ListDeidentifyTemplatesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.listDeidentifyTemplates = function listDeidentifyTemplates(request, callback) {
+ return this.rpcCall(listDeidentifyTemplates, $root.google.privacy.dlp.v2.ListDeidentifyTemplatesRequest, $root.google.privacy.dlp.v2.ListDeidentifyTemplatesResponse, request, callback);
+ }, "name", { value: "ListDeidentifyTemplates" });
+
+ /**
+ * Calls ListDeidentifyTemplates.
+ * @function listDeidentifyTemplates
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IListDeidentifyTemplatesRequest} request ListDeidentifyTemplatesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#deleteDeidentifyTemplate}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef DeleteDeidentifyTemplateCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteDeidentifyTemplate.
+ * @function deleteDeidentifyTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest} request DeleteDeidentifyTemplateRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.DeleteDeidentifyTemplateCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.deleteDeidentifyTemplate = function deleteDeidentifyTemplate(request, callback) {
+ return this.rpcCall(deleteDeidentifyTemplate, $root.google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteDeidentifyTemplate" });
+
+ /**
+ * Calls DeleteDeidentifyTemplate.
+ * @function deleteDeidentifyTemplate
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IDeleteDeidentifyTemplateRequest} request DeleteDeidentifyTemplateRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#createJobTrigger}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef CreateJobTriggerCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.JobTrigger} [response] JobTrigger
+ */
+
+ /**
+ * Calls CreateJobTrigger.
+ * @function createJobTrigger
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.ICreateJobTriggerRequest} request CreateJobTriggerRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.CreateJobTriggerCallback} callback Node-style callback called with the error, if any, and JobTrigger
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.createJobTrigger = function createJobTrigger(request, callback) {
+ return this.rpcCall(createJobTrigger, $root.google.privacy.dlp.v2.CreateJobTriggerRequest, $root.google.privacy.dlp.v2.JobTrigger, request, callback);
+ }, "name", { value: "CreateJobTrigger" });
+
+ /**
+ * Calls CreateJobTrigger.
+ * @function createJobTrigger
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.ICreateJobTriggerRequest} request CreateJobTriggerRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#updateJobTrigger}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef UpdateJobTriggerCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.JobTrigger} [response] JobTrigger
+ */
+
+ /**
+ * Calls UpdateJobTrigger.
+ * @function updateJobTrigger
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IUpdateJobTriggerRequest} request UpdateJobTriggerRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.UpdateJobTriggerCallback} callback Node-style callback called with the error, if any, and JobTrigger
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.updateJobTrigger = function updateJobTrigger(request, callback) {
+ return this.rpcCall(updateJobTrigger, $root.google.privacy.dlp.v2.UpdateJobTriggerRequest, $root.google.privacy.dlp.v2.JobTrigger, request, callback);
+ }, "name", { value: "UpdateJobTrigger" });
+
+ /**
+ * Calls UpdateJobTrigger.
+ * @function updateJobTrigger
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IUpdateJobTriggerRequest} request UpdateJobTriggerRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#hybridInspectJobTrigger}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef HybridInspectJobTriggerCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.HybridInspectResponse} [response] HybridInspectResponse
+ */
+
+ /**
+ * Calls HybridInspectJobTrigger.
+ * @function hybridInspectJobTrigger
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IHybridInspectJobTriggerRequest} request HybridInspectJobTriggerRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.HybridInspectJobTriggerCallback} callback Node-style callback called with the error, if any, and HybridInspectResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.hybridInspectJobTrigger = function hybridInspectJobTrigger(request, callback) {
+ return this.rpcCall(hybridInspectJobTrigger, $root.google.privacy.dlp.v2.HybridInspectJobTriggerRequest, $root.google.privacy.dlp.v2.HybridInspectResponse, request, callback);
+ }, "name", { value: "HybridInspectJobTrigger" });
+
+ /**
+ * Calls HybridInspectJobTrigger.
+ * @function hybridInspectJobTrigger
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IHybridInspectJobTriggerRequest} request HybridInspectJobTriggerRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#getJobTrigger}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef GetJobTriggerCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.JobTrigger} [response] JobTrigger
+ */
+
+ /**
+ * Calls GetJobTrigger.
+ * @function getJobTrigger
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IGetJobTriggerRequest} request GetJobTriggerRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.GetJobTriggerCallback} callback Node-style callback called with the error, if any, and JobTrigger
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.getJobTrigger = function getJobTrigger(request, callback) {
+ return this.rpcCall(getJobTrigger, $root.google.privacy.dlp.v2.GetJobTriggerRequest, $root.google.privacy.dlp.v2.JobTrigger, request, callback);
+ }, "name", { value: "GetJobTrigger" });
+
+ /**
+ * Calls GetJobTrigger.
+ * @function getJobTrigger
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IGetJobTriggerRequest} request GetJobTriggerRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#listJobTriggers}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef ListJobTriggersCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.ListJobTriggersResponse} [response] ListJobTriggersResponse
+ */
+
+ /**
+ * Calls ListJobTriggers.
+ * @function listJobTriggers
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IListJobTriggersRequest} request ListJobTriggersRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.ListJobTriggersCallback} callback Node-style callback called with the error, if any, and ListJobTriggersResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.listJobTriggers = function listJobTriggers(request, callback) {
+ return this.rpcCall(listJobTriggers, $root.google.privacy.dlp.v2.ListJobTriggersRequest, $root.google.privacy.dlp.v2.ListJobTriggersResponse, request, callback);
+ }, "name", { value: "ListJobTriggers" });
+
+ /**
+ * Calls ListJobTriggers.
+ * @function listJobTriggers
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IListJobTriggersRequest} request ListJobTriggersRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#deleteJobTrigger}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef DeleteJobTriggerCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteJobTrigger.
+ * @function deleteJobTrigger
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IDeleteJobTriggerRequest} request DeleteJobTriggerRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.DeleteJobTriggerCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.deleteJobTrigger = function deleteJobTrigger(request, callback) {
+ return this.rpcCall(deleteJobTrigger, $root.google.privacy.dlp.v2.DeleteJobTriggerRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteJobTrigger" });
+
+ /**
+ * Calls DeleteJobTrigger.
+ * @function deleteJobTrigger
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IDeleteJobTriggerRequest} request DeleteJobTriggerRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#activateJobTrigger}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef ActivateJobTriggerCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.DlpJob} [response] DlpJob
+ */
+
+ /**
+ * Calls ActivateJobTrigger.
+ * @function activateJobTrigger
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IActivateJobTriggerRequest} request ActivateJobTriggerRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.ActivateJobTriggerCallback} callback Node-style callback called with the error, if any, and DlpJob
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.activateJobTrigger = function activateJobTrigger(request, callback) {
+ return this.rpcCall(activateJobTrigger, $root.google.privacy.dlp.v2.ActivateJobTriggerRequest, $root.google.privacy.dlp.v2.DlpJob, request, callback);
+ }, "name", { value: "ActivateJobTrigger" });
+
+ /**
+ * Calls ActivateJobTrigger.
+ * @function activateJobTrigger
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IActivateJobTriggerRequest} request ActivateJobTriggerRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#createDlpJob}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef CreateDlpJobCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.DlpJob} [response] DlpJob
+ */
+
+ /**
+ * Calls CreateDlpJob.
+ * @function createDlpJob
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.ICreateDlpJobRequest} request CreateDlpJobRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.CreateDlpJobCallback} callback Node-style callback called with the error, if any, and DlpJob
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.createDlpJob = function createDlpJob(request, callback) {
+ return this.rpcCall(createDlpJob, $root.google.privacy.dlp.v2.CreateDlpJobRequest, $root.google.privacy.dlp.v2.DlpJob, request, callback);
+ }, "name", { value: "CreateDlpJob" });
+
+ /**
+ * Calls CreateDlpJob.
+ * @function createDlpJob
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.ICreateDlpJobRequest} request CreateDlpJobRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#listDlpJobs}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef ListDlpJobsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.ListDlpJobsResponse} [response] ListDlpJobsResponse
+ */
+
+ /**
+ * Calls ListDlpJobs.
+ * @function listDlpJobs
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IListDlpJobsRequest} request ListDlpJobsRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.ListDlpJobsCallback} callback Node-style callback called with the error, if any, and ListDlpJobsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.listDlpJobs = function listDlpJobs(request, callback) {
+ return this.rpcCall(listDlpJobs, $root.google.privacy.dlp.v2.ListDlpJobsRequest, $root.google.privacy.dlp.v2.ListDlpJobsResponse, request, callback);
+ }, "name", { value: "ListDlpJobs" });
+
+ /**
+ * Calls ListDlpJobs.
+ * @function listDlpJobs
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IListDlpJobsRequest} request ListDlpJobsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#getDlpJob}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef GetDlpJobCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.DlpJob} [response] DlpJob
+ */
+
+ /**
+ * Calls GetDlpJob.
+ * @function getDlpJob
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IGetDlpJobRequest} request GetDlpJobRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.GetDlpJobCallback} callback Node-style callback called with the error, if any, and DlpJob
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.getDlpJob = function getDlpJob(request, callback) {
+ return this.rpcCall(getDlpJob, $root.google.privacy.dlp.v2.GetDlpJobRequest, $root.google.privacy.dlp.v2.DlpJob, request, callback);
+ }, "name", { value: "GetDlpJob" });
+
+ /**
+ * Calls GetDlpJob.
+ * @function getDlpJob
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IGetDlpJobRequest} request GetDlpJobRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#deleteDlpJob}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef DeleteDlpJobCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteDlpJob.
+ * @function deleteDlpJob
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IDeleteDlpJobRequest} request DeleteDlpJobRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.DeleteDlpJobCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.deleteDlpJob = function deleteDlpJob(request, callback) {
+ return this.rpcCall(deleteDlpJob, $root.google.privacy.dlp.v2.DeleteDlpJobRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteDlpJob" });
+
+ /**
+ * Calls DeleteDlpJob.
+ * @function deleteDlpJob
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IDeleteDlpJobRequest} request DeleteDlpJobRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#cancelDlpJob}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef CancelDlpJobCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls CancelDlpJob.
+ * @function cancelDlpJob
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.ICancelDlpJobRequest} request CancelDlpJobRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.CancelDlpJobCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.cancelDlpJob = function cancelDlpJob(request, callback) {
+ return this.rpcCall(cancelDlpJob, $root.google.privacy.dlp.v2.CancelDlpJobRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "CancelDlpJob" });
+
+ /**
+ * Calls CancelDlpJob.
+ * @function cancelDlpJob
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.ICancelDlpJobRequest} request CancelDlpJobRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#createStoredInfoType}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef CreateStoredInfoTypeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.StoredInfoType} [response] StoredInfoType
+ */
+
+ /**
+ * Calls CreateStoredInfoType.
+ * @function createStoredInfoType
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.ICreateStoredInfoTypeRequest} request CreateStoredInfoTypeRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.CreateStoredInfoTypeCallback} callback Node-style callback called with the error, if any, and StoredInfoType
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.createStoredInfoType = function createStoredInfoType(request, callback) {
+ return this.rpcCall(createStoredInfoType, $root.google.privacy.dlp.v2.CreateStoredInfoTypeRequest, $root.google.privacy.dlp.v2.StoredInfoType, request, callback);
+ }, "name", { value: "CreateStoredInfoType" });
+
+ /**
+ * Calls CreateStoredInfoType.
+ * @function createStoredInfoType
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.ICreateStoredInfoTypeRequest} request CreateStoredInfoTypeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#updateStoredInfoType}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef UpdateStoredInfoTypeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.StoredInfoType} [response] StoredInfoType
+ */
+
+ /**
+ * Calls UpdateStoredInfoType.
+ * @function updateStoredInfoType
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest} request UpdateStoredInfoTypeRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.UpdateStoredInfoTypeCallback} callback Node-style callback called with the error, if any, and StoredInfoType
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.updateStoredInfoType = function updateStoredInfoType(request, callback) {
+ return this.rpcCall(updateStoredInfoType, $root.google.privacy.dlp.v2.UpdateStoredInfoTypeRequest, $root.google.privacy.dlp.v2.StoredInfoType, request, callback);
+ }, "name", { value: "UpdateStoredInfoType" });
+
+ /**
+ * Calls UpdateStoredInfoType.
+ * @function updateStoredInfoType
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IUpdateStoredInfoTypeRequest} request UpdateStoredInfoTypeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#getStoredInfoType}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef GetStoredInfoTypeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.StoredInfoType} [response] StoredInfoType
+ */
+
+ /**
+ * Calls GetStoredInfoType.
+ * @function getStoredInfoType
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IGetStoredInfoTypeRequest} request GetStoredInfoTypeRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.GetStoredInfoTypeCallback} callback Node-style callback called with the error, if any, and StoredInfoType
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.getStoredInfoType = function getStoredInfoType(request, callback) {
+ return this.rpcCall(getStoredInfoType, $root.google.privacy.dlp.v2.GetStoredInfoTypeRequest, $root.google.privacy.dlp.v2.StoredInfoType, request, callback);
+ }, "name", { value: "GetStoredInfoType" });
+
+ /**
+ * Calls GetStoredInfoType.
+ * @function getStoredInfoType
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IGetStoredInfoTypeRequest} request GetStoredInfoTypeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#listStoredInfoTypes}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef ListStoredInfoTypesCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.ListStoredInfoTypesResponse} [response] ListStoredInfoTypesResponse
+ */
+
+ /**
+ * Calls ListStoredInfoTypes.
+ * @function listStoredInfoTypes
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IListStoredInfoTypesRequest} request ListStoredInfoTypesRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.ListStoredInfoTypesCallback} callback Node-style callback called with the error, if any, and ListStoredInfoTypesResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.listStoredInfoTypes = function listStoredInfoTypes(request, callback) {
+ return this.rpcCall(listStoredInfoTypes, $root.google.privacy.dlp.v2.ListStoredInfoTypesRequest, $root.google.privacy.dlp.v2.ListStoredInfoTypesResponse, request, callback);
+ }, "name", { value: "ListStoredInfoTypes" });
+
+ /**
+ * Calls ListStoredInfoTypes.
+ * @function listStoredInfoTypes
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IListStoredInfoTypesRequest} request ListStoredInfoTypesRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#deleteStoredInfoType}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef DeleteStoredInfoTypeCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls DeleteStoredInfoType.
+ * @function deleteStoredInfoType
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest} request DeleteStoredInfoTypeRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.DeleteStoredInfoTypeCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.deleteStoredInfoType = function deleteStoredInfoType(request, callback) {
+ return this.rpcCall(deleteStoredInfoType, $root.google.privacy.dlp.v2.DeleteStoredInfoTypeRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "DeleteStoredInfoType" });
+
+ /**
+ * Calls DeleteStoredInfoType.
+ * @function deleteStoredInfoType
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IDeleteStoredInfoTypeRequest} request DeleteStoredInfoTypeRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#hybridInspectDlpJob}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef HybridInspectDlpJobCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.privacy.dlp.v2.HybridInspectResponse} [response] HybridInspectResponse
+ */
+
+ /**
+ * Calls HybridInspectDlpJob.
+ * @function hybridInspectDlpJob
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IHybridInspectDlpJobRequest} request HybridInspectDlpJobRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.HybridInspectDlpJobCallback} callback Node-style callback called with the error, if any, and HybridInspectResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.hybridInspectDlpJob = function hybridInspectDlpJob(request, callback) {
+ return this.rpcCall(hybridInspectDlpJob, $root.google.privacy.dlp.v2.HybridInspectDlpJobRequest, $root.google.privacy.dlp.v2.HybridInspectResponse, request, callback);
+ }, "name", { value: "HybridInspectDlpJob" });
+
+ /**
+ * Calls HybridInspectDlpJob.
+ * @function hybridInspectDlpJob
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IHybridInspectDlpJobRequest} request HybridInspectDlpJobRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.privacy.dlp.v2.DlpService#finishDlpJob}.
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @typedef FinishDlpJobCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.protobuf.Empty} [response] Empty
+ */
+
+ /**
+ * Calls FinishDlpJob.
+ * @function finishDlpJob
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IFinishDlpJobRequest} request FinishDlpJobRequest message or plain object
+ * @param {google.privacy.dlp.v2.DlpService.FinishDlpJobCallback} callback Node-style callback called with the error, if any, and Empty
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(DlpService.prototype.finishDlpJob = function finishDlpJob(request, callback) {
+ return this.rpcCall(finishDlpJob, $root.google.privacy.dlp.v2.FinishDlpJobRequest, $root.google.protobuf.Empty, request, callback);
+ }, "name", { value: "FinishDlpJob" });
+
+ /**
+ * Calls FinishDlpJob.
+ * @function finishDlpJob
+ * @memberof google.privacy.dlp.v2.DlpService
+ * @instance
+ * @param {google.privacy.dlp.v2.IFinishDlpJobRequest} request FinishDlpJobRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return DlpService;
+ })();
+
+ v2.ExcludeInfoTypes = (function() {
+
+ /**
+ * Properties of an ExcludeInfoTypes.
+ * @memberof google.privacy.dlp.v2
+ * @interface IExcludeInfoTypes
+ * @property {Array.|null} [infoTypes] ExcludeInfoTypes infoTypes
+ */
+
+ /**
+ * Constructs a new ExcludeInfoTypes.
+ * @memberof google.privacy.dlp.v2
+ * @classdesc Represents an ExcludeInfoTypes.
+ * @implements IExcludeInfoTypes
+ * @constructor
+ * @param {google.privacy.dlp.v2.IExcludeInfoTypes=} [properties] Properties to set
+ */
+ function ExcludeInfoTypes(properties) {
+ this.infoTypes = [];
+ 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]];
+ }
+
+ /**
+ * ExcludeInfoTypes infoTypes.
+ * @member {Array.} infoTypes
+ * @memberof google.privacy.dlp.v2.ExcludeInfoTypes
+ * @instance
+ */
+ ExcludeInfoTypes.prototype.infoTypes = $util.emptyArray;
+
+ /**
+ * Creates a new ExcludeInfoTypes instance using the specified properties.
+ * @function create
+ * @memberof google.privacy.dlp.v2.ExcludeInfoTypes
+ * @static
+ * @param {google.privacy.dlp.v2.IExcludeInfoTypes=} [properties] Properties to set
+ * @returns {google.privacy.dlp.v2.ExcludeInfoTypes} ExcludeInfoTypes instance
+ */
+ ExcludeInfoTypes.create = function create(properties) {
+ return new ExcludeInfoTypes(properties);
+ };
+
+ /**
+ * Encodes the specified ExcludeInfoTypes message. Does not implicitly {@link google.privacy.dlp.v2.ExcludeInfoTypes.verify|verify} messages.
+ * @function encode
+ * @memberof google.privacy.dlp.v2.ExcludeInfoTypes
+ * @static
+ * @param {google.privacy.dlp.v2.IExcludeInfoTypes} message ExcludeInfoTypes message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExcludeInfoTypes.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.infoTypes != null && message.infoTypes.length)
+ for (var i = 0; i < message.infoTypes.length; ++i)
+ $root.google.privacy.dlp.v2.InfoType.encode(message.infoTypes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExcludeInfoTypes message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ExcludeInfoTypes.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.privacy.dlp.v2.ExcludeInfoTypes
+ * @static
+ * @param {google.privacy.dlp.v2.IExcludeInfoTypes} message ExcludeInfoTypes message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExcludeInfoTypes.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExcludeInfoTypes message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.privacy.dlp.v2.ExcludeInfoTypes
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.privacy.dlp.v2.ExcludeInfoTypes} ExcludeInfoTypes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExcludeInfoTypes.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.privacy.dlp.v2.ExcludeInfoTypes();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1:
+ if (!(message.infoTypes && message.infoTypes.length))
+ message.infoTypes = [];
+ message.infoTypes.push($root.google.privacy.dlp.v2.InfoType.decode(reader, reader.uint32()));
+ break;
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExcludeInfoTypes message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.privacy.dlp.v2.ExcludeInfoTypes
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.privacy.dlp.v2.ExcludeInfoTypes} ExcludeInfoTypes
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExcludeInfoTypes.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExcludeInfoTypes message.
+ * @function verify
+ * @memberof google.privacy.dlp.v2.ExcludeInfoTypes
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExcludeInfoTypes.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.infoTypes != null && message.hasOwnProperty("infoTypes")) {
+ if (!Array.isArray(message.infoTypes))
+ return "infoTypes: array expected";
+ for (var i = 0; i < message.infoTypes.length; ++i) {
+ var error = $root.google.privacy.dlp.v2.InfoType.verify(message.infoTypes[i]);
+ if (error)
+ return "infoTypes." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ExcludeInfoTypes message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.privacy.dlp.v2.ExcludeInfoTypes
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.privacy.dlp.v2.ExcludeInfoTypes} ExcludeInfoTypes
+ */
+ ExcludeInfoTypes.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.privacy.dlp.v2.ExcludeInfoTypes)
+ return object;
+ var message = new $root.google.privacy.dlp.v2.ExcludeInfoTypes();
+ if (object.infoTypes) {
+ if (!Array.isArray(object.infoTypes))
+ throw TypeError(".google.privacy.dlp.v2.ExcludeInfoTypes.infoTypes: array expected");
+ message.infoTypes = [];
+ for (var i = 0; i < object.infoTypes.length; ++i) {
+ if (typeof object.infoTypes[i] !== "object")
+ throw TypeError(".google.privacy.dlp.v2.ExcludeInfoTypes.infoTypes: object expected");
+ message.infoTypes[i] = $root.google.privacy.dlp.v2.InfoType.fromObject(object.infoTypes[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExcludeInfoTypes message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.privacy.dlp.v2.ExcludeInfoTypes
+ * @static
+ * @param {google.privacy.dlp.v2.ExcludeInfoTypes} message ExcludeInfoTypes
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExcludeInfoTypes.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.infoTypes = [];
+ if (message.infoTypes && message.infoTypes.length) {
+ object.infoTypes = [];
+ for (var j = 0; j < message.infoTypes.length; ++j)
+ object.infoTypes[j] = $root.google.privacy.dlp.v2.InfoType.toObject(message.infoTypes[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ExcludeInfoTypes to JSON.
+ * @function toJSON
+ * @memberof google.privacy.dlp.v2.ExcludeInfoTypes
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExcludeInfoTypes.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ return ExcludeInfoTypes;
+ })();
+
+ v2.ExclusionRule = (function() {
+
+ /**
+ * Properties of an ExclusionRule.
+ * @memberof google.privacy.dlp.v2
+ * @interface IExclusionRule
+ * @property {google.privacy.dlp.v2.CustomInfoType.IDictionary|null} [dictionary] ExclusionRule dictionary
+ * @property {google.privacy.dlp.v2.CustomInfoType.IRegex|null} [regex] ExclusionRule regex
+ * @property {google.privacy.dlp.v2.IExcludeInfoTypes|null} [excludeInfoTypes] ExclusionRule excludeInfoTypes
+ * @property {google.privacy.dlp.v2.MatchingType|null} [matchingType] ExclusionRule matchingType
+ */
+
+ /**
+ * Constructs a new ExclusionRule.
+ * @memberof google.privacy.dlp.v2
+ * @classdesc Represents an ExclusionRule.
+ * @implements IExclusionRule
+ * @constructor
+ * @param {google.privacy.dlp.v2.IExclusionRule=} [properties] Properties to set
+ */
+ function ExclusionRule(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]];
+ }
+
+ /**
+ * ExclusionRule dictionary.
+ * @member {google.privacy.dlp.v2.CustomInfoType.IDictionary|null|undefined} dictionary
+ * @memberof google.privacy.dlp.v2.ExclusionRule
+ * @instance
+ */
+ ExclusionRule.prototype.dictionary = null;
+
+ /**
+ * ExclusionRule regex.
+ * @member {google.privacy.dlp.v2.CustomInfoType.IRegex|null|undefined} regex
+ * @memberof google.privacy.dlp.v2.ExclusionRule
+ * @instance
+ */
+ ExclusionRule.prototype.regex = null;
+
+ /**
+ * ExclusionRule excludeInfoTypes.
+ * @member {google.privacy.dlp.v2.IExcludeInfoTypes|null|undefined} excludeInfoTypes
+ * @memberof google.privacy.dlp.v2.ExclusionRule
+ * @instance
+ */
+ ExclusionRule.prototype.excludeInfoTypes = null;
+
+ /**
+ * ExclusionRule matchingType.
+ * @member {google.privacy.dlp.v2.MatchingType} matchingType
+ * @memberof google.privacy.dlp.v2.ExclusionRule
+ * @instance
+ */
+ ExclusionRule.prototype.matchingType = 0;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * ExclusionRule type.
+ * @member {"dictionary"|"regex"|"excludeInfoTypes"|undefined} type
+ * @memberof google.privacy.dlp.v2.ExclusionRule
+ * @instance
+ */
+ Object.defineProperty(ExclusionRule.prototype, "type", {
+ get: $util.oneOfGetter($oneOfFields = ["dictionary", "regex", "excludeInfoTypes"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new ExclusionRule instance using the specified properties.
+ * @function create
+ * @memberof google.privacy.dlp.v2.ExclusionRule
+ * @static
+ * @param {google.privacy.dlp.v2.IExclusionRule=} [properties] Properties to set
+ * @returns {google.privacy.dlp.v2.ExclusionRule} ExclusionRule instance
+ */
+ ExclusionRule.create = function create(properties) {
+ return new ExclusionRule(properties);
+ };
+
+ /**
+ * Encodes the specified ExclusionRule message. Does not implicitly {@link google.privacy.dlp.v2.ExclusionRule.verify|verify} messages.
+ * @function encode
+ * @memberof google.privacy.dlp.v2.ExclusionRule
+ * @static
+ * @param {google.privacy.dlp.v2.IExclusionRule} message ExclusionRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExclusionRule.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.dictionary != null && Object.hasOwnProperty.call(message, "dictionary"))
+ $root.google.privacy.dlp.v2.CustomInfoType.Dictionary.encode(message.dictionary, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.regex != null && Object.hasOwnProperty.call(message, "regex"))
+ $root.google.privacy.dlp.v2.CustomInfoType.Regex.encode(message.regex, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.excludeInfoTypes != null && Object.hasOwnProperty.call(message, "excludeInfoTypes"))
+ $root.google.privacy.dlp.v2.ExcludeInfoTypes.encode(message.excludeInfoTypes, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.matchingType != null && Object.hasOwnProperty.call(message, "matchingType"))
+ writer.uint32(/* id 4, wireType 0 =*/32).int32(message.matchingType);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ExclusionRule message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ExclusionRule.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.privacy.dlp.v2.ExclusionRule
+ * @static
+ * @param {google.privacy.dlp.v2.IExclusionRule} message ExclusionRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ExclusionRule.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an ExclusionRule message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.privacy.dlp.v2.ExclusionRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.privacy.dlp.v2.ExclusionRule} ExclusionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExclusionRule.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.privacy.dlp.v2.ExclusionRule();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1:
+ message.dictionary = $root.google.privacy.dlp.v2.CustomInfoType.Dictionary.decode(reader, reader.uint32());
+ break;
+ case 2:
+ message.regex = $root.google.privacy.dlp.v2.CustomInfoType.Regex.decode(reader, reader.uint32());
+ break;
+ case 3:
+ message.excludeInfoTypes = $root.google.privacy.dlp.v2.ExcludeInfoTypes.decode(reader, reader.uint32());
+ break;
+ case 4:
+ message.matchingType = reader.int32();
+ break;
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an ExclusionRule message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.privacy.dlp.v2.ExclusionRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.privacy.dlp.v2.ExclusionRule} ExclusionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ExclusionRule.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an ExclusionRule message.
+ * @function verify
+ * @memberof google.privacy.dlp.v2.ExclusionRule
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ExclusionRule.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.dictionary != null && message.hasOwnProperty("dictionary")) {
+ properties.type = 1;
+ {
+ var error = $root.google.privacy.dlp.v2.CustomInfoType.Dictionary.verify(message.dictionary);
+ if (error)
+ return "dictionary." + error;
+ }
+ }
+ if (message.regex != null && message.hasOwnProperty("regex")) {
+ if (properties.type === 1)
+ return "type: multiple values";
+ properties.type = 1;
+ {
+ var error = $root.google.privacy.dlp.v2.CustomInfoType.Regex.verify(message.regex);
+ if (error)
+ return "regex." + error;
+ }
+ }
+ if (message.excludeInfoTypes != null && message.hasOwnProperty("excludeInfoTypes")) {
+ if (properties.type === 1)
+ return "type: multiple values";
+ properties.type = 1;
+ {
+ var error = $root.google.privacy.dlp.v2.ExcludeInfoTypes.verify(message.excludeInfoTypes);
+ if (error)
+ return "excludeInfoTypes." + error;
+ }
+ }
+ if (message.matchingType != null && message.hasOwnProperty("matchingType"))
+ switch (message.matchingType) {
+ default:
+ return "matchingType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an ExclusionRule message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.privacy.dlp.v2.ExclusionRule
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.privacy.dlp.v2.ExclusionRule} ExclusionRule
+ */
+ ExclusionRule.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.privacy.dlp.v2.ExclusionRule)
+ return object;
+ var message = new $root.google.privacy.dlp.v2.ExclusionRule();
+ if (object.dictionary != null) {
+ if (typeof object.dictionary !== "object")
+ throw TypeError(".google.privacy.dlp.v2.ExclusionRule.dictionary: object expected");
+ message.dictionary = $root.google.privacy.dlp.v2.CustomInfoType.Dictionary.fromObject(object.dictionary);
+ }
+ if (object.regex != null) {
+ if (typeof object.regex !== "object")
+ throw TypeError(".google.privacy.dlp.v2.ExclusionRule.regex: object expected");
+ message.regex = $root.google.privacy.dlp.v2.CustomInfoType.Regex.fromObject(object.regex);
+ }
+ if (object.excludeInfoTypes != null) {
+ if (typeof object.excludeInfoTypes !== "object")
+ throw TypeError(".google.privacy.dlp.v2.ExclusionRule.excludeInfoTypes: object expected");
+ message.excludeInfoTypes = $root.google.privacy.dlp.v2.ExcludeInfoTypes.fromObject(object.excludeInfoTypes);
+ }
+ switch (object.matchingType) {
+ case "MATCHING_TYPE_UNSPECIFIED":
+ case 0:
+ message.matchingType = 0;
+ break;
+ case "MATCHING_TYPE_FULL_MATCH":
+ case 1:
+ message.matchingType = 1;
+ break;
+ case "MATCHING_TYPE_PARTIAL_MATCH":
+ case 2:
+ message.matchingType = 2;
+ break;
+ case "MATCHING_TYPE_INVERSE_MATCH":
+ case 3:
+ message.matchingType = 3;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an ExclusionRule message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.privacy.dlp.v2.ExclusionRule
+ * @static
+ * @param {google.privacy.dlp.v2.ExclusionRule} message ExclusionRule
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ExclusionRule.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.matchingType = options.enums === String ? "MATCHING_TYPE_UNSPECIFIED" : 0;
+ if (message.dictionary != null && message.hasOwnProperty("dictionary")) {
+ object.dictionary = $root.google.privacy.dlp.v2.CustomInfoType.Dictionary.toObject(message.dictionary, options);
+ if (options.oneofs)
+ object.type = "dictionary";
+ }
+ if (message.regex != null && message.hasOwnProperty("regex")) {
+ object.regex = $root.google.privacy.dlp.v2.CustomInfoType.Regex.toObject(message.regex, options);
+ if (options.oneofs)
+ object.type = "regex";
+ }
+ if (message.excludeInfoTypes != null && message.hasOwnProperty("excludeInfoTypes")) {
+ object.excludeInfoTypes = $root.google.privacy.dlp.v2.ExcludeInfoTypes.toObject(message.excludeInfoTypes, options);
+ if (options.oneofs)
+ object.type = "excludeInfoTypes";
+ }
+ if (message.matchingType != null && message.hasOwnProperty("matchingType"))
+ object.matchingType = options.enums === String ? $root.google.privacy.dlp.v2.MatchingType[message.matchingType] : message.matchingType;
+ return object;
+ };
+
+ /**
+ * Converts this ExclusionRule to JSON.
+ * @function toJSON
+ * @memberof google.privacy.dlp.v2.ExclusionRule
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ExclusionRule.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ return ExclusionRule;
+ })();
+
+ v2.InspectionRule = (function() {
+
+ /**
+ * Properties of an InspectionRule.
+ * @memberof google.privacy.dlp.v2
+ * @interface IInspectionRule
+ * @property {google.privacy.dlp.v2.CustomInfoType.DetectionRule.IHotwordRule|null} [hotwordRule] InspectionRule hotwordRule
+ * @property {google.privacy.dlp.v2.IExclusionRule|null} [exclusionRule] InspectionRule exclusionRule
+ */
+
+ /**
+ * Constructs a new InspectionRule.
+ * @memberof google.privacy.dlp.v2
+ * @classdesc Represents an InspectionRule.
+ * @implements IInspectionRule
+ * @constructor
+ * @param {google.privacy.dlp.v2.IInspectionRule=} [properties] Properties to set
+ */
+ function InspectionRule(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]];
+ }
+
+ /**
+ * InspectionRule hotwordRule.
+ * @member {google.privacy.dlp.v2.CustomInfoType.DetectionRule.IHotwordRule|null|undefined} hotwordRule
+ * @memberof google.privacy.dlp.v2.InspectionRule
+ * @instance
+ */
+ InspectionRule.prototype.hotwordRule = null;
+
+ /**
+ * InspectionRule exclusionRule.
+ * @member {google.privacy.dlp.v2.IExclusionRule|null|undefined} exclusionRule
+ * @memberof google.privacy.dlp.v2.InspectionRule
+ * @instance
+ */
+ InspectionRule.prototype.exclusionRule = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * InspectionRule type.
+ * @member {"hotwordRule"|"exclusionRule"|undefined} type
+ * @memberof google.privacy.dlp.v2.InspectionRule
+ * @instance
+ */
+ Object.defineProperty(InspectionRule.prototype, "type", {
+ get: $util.oneOfGetter($oneOfFields = ["hotwordRule", "exclusionRule"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new InspectionRule instance using the specified properties.
+ * @function create
+ * @memberof google.privacy.dlp.v2.InspectionRule
+ * @static
+ * @param {google.privacy.dlp.v2.IInspectionRule=} [properties] Properties to set
+ * @returns {google.privacy.dlp.v2.InspectionRule} InspectionRule instance
+ */
+ InspectionRule.create = function create(properties) {
+ return new InspectionRule(properties);
+ };
+
+ /**
+ * Encodes the specified InspectionRule message. Does not implicitly {@link google.privacy.dlp.v2.InspectionRule.verify|verify} messages.
+ * @function encode
+ * @memberof google.privacy.dlp.v2.InspectionRule
+ * @static
+ * @param {google.privacy.dlp.v2.IInspectionRule} message InspectionRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InspectionRule.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.hotwordRule != null && Object.hasOwnProperty.call(message, "hotwordRule"))
+ $root.google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule.encode(message.hotwordRule, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.exclusionRule != null && Object.hasOwnProperty.call(message, "exclusionRule"))
+ $root.google.privacy.dlp.v2.ExclusionRule.encode(message.exclusionRule, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified InspectionRule message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectionRule.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.privacy.dlp.v2.InspectionRule
+ * @static
+ * @param {google.privacy.dlp.v2.IInspectionRule} message InspectionRule message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InspectionRule.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an InspectionRule message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.privacy.dlp.v2.InspectionRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.privacy.dlp.v2.InspectionRule} InspectionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InspectionRule.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.privacy.dlp.v2.InspectionRule();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1:
+ message.hotwordRule = $root.google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule.decode(reader, reader.uint32());
+ break;
+ case 2:
+ message.exclusionRule = $root.google.privacy.dlp.v2.ExclusionRule.decode(reader, reader.uint32());
+ break;
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an InspectionRule message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.privacy.dlp.v2.InspectionRule
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.privacy.dlp.v2.InspectionRule} InspectionRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InspectionRule.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an InspectionRule message.
+ * @function verify
+ * @memberof google.privacy.dlp.v2.InspectionRule
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ InspectionRule.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.hotwordRule != null && message.hasOwnProperty("hotwordRule")) {
+ properties.type = 1;
+ {
+ var error = $root.google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule.verify(message.hotwordRule);
+ if (error)
+ return "hotwordRule." + error;
+ }
+ }
+ if (message.exclusionRule != null && message.hasOwnProperty("exclusionRule")) {
+ if (properties.type === 1)
+ return "type: multiple values";
+ properties.type = 1;
+ {
+ var error = $root.google.privacy.dlp.v2.ExclusionRule.verify(message.exclusionRule);
+ if (error)
+ return "exclusionRule." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an InspectionRule message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.privacy.dlp.v2.InspectionRule
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.privacy.dlp.v2.InspectionRule} InspectionRule
+ */
+ InspectionRule.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.privacy.dlp.v2.InspectionRule)
+ return object;
+ var message = new $root.google.privacy.dlp.v2.InspectionRule();
+ if (object.hotwordRule != null) {
+ if (typeof object.hotwordRule !== "object")
+ throw TypeError(".google.privacy.dlp.v2.InspectionRule.hotwordRule: object expected");
+ message.hotwordRule = $root.google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule.fromObject(object.hotwordRule);
+ }
+ if (object.exclusionRule != null) {
+ if (typeof object.exclusionRule !== "object")
+ throw TypeError(".google.privacy.dlp.v2.InspectionRule.exclusionRule: object expected");
+ message.exclusionRule = $root.google.privacy.dlp.v2.ExclusionRule.fromObject(object.exclusionRule);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an InspectionRule message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.privacy.dlp.v2.InspectionRule
+ * @static
+ * @param {google.privacy.dlp.v2.InspectionRule} message InspectionRule
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ InspectionRule.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.hotwordRule != null && message.hasOwnProperty("hotwordRule")) {
+ object.hotwordRule = $root.google.privacy.dlp.v2.CustomInfoType.DetectionRule.HotwordRule.toObject(message.hotwordRule, options);
+ if (options.oneofs)
+ object.type = "hotwordRule";
+ }
+ if (message.exclusionRule != null && message.hasOwnProperty("exclusionRule")) {
+ object.exclusionRule = $root.google.privacy.dlp.v2.ExclusionRule.toObject(message.exclusionRule, options);
+ if (options.oneofs)
+ object.type = "exclusionRule";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this InspectionRule to JSON.
+ * @function toJSON
+ * @memberof google.privacy.dlp.v2.InspectionRule
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ InspectionRule.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ return InspectionRule;
+ })();
+
+ v2.InspectionRuleSet = (function() {
+
+ /**
+ * Properties of an InspectionRuleSet.
+ * @memberof google.privacy.dlp.v2
+ * @interface IInspectionRuleSet
+ * @property {Array.|null} [infoTypes] InspectionRuleSet infoTypes
+ * @property {Array.|null} [rules] InspectionRuleSet rules
+ */
+
+ /**
+ * Constructs a new InspectionRuleSet.
+ * @memberof google.privacy.dlp.v2
+ * @classdesc Represents an InspectionRuleSet.
+ * @implements IInspectionRuleSet
+ * @constructor
+ * @param {google.privacy.dlp.v2.IInspectionRuleSet=} [properties] Properties to set
+ */
+ function InspectionRuleSet(properties) {
+ this.infoTypes = [];
+ this.rules = [];
+ 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]];
+ }
+
+ /**
+ * InspectionRuleSet infoTypes.
+ * @member {Array.} infoTypes
+ * @memberof google.privacy.dlp.v2.InspectionRuleSet
+ * @instance
+ */
+ InspectionRuleSet.prototype.infoTypes = $util.emptyArray;
+
+ /**
+ * InspectionRuleSet rules.
+ * @member {Array.} rules
+ * @memberof google.privacy.dlp.v2.InspectionRuleSet
+ * @instance
+ */
+ InspectionRuleSet.prototype.rules = $util.emptyArray;
+
+ /**
+ * Creates a new InspectionRuleSet instance using the specified properties.
+ * @function create
+ * @memberof google.privacy.dlp.v2.InspectionRuleSet
+ * @static
+ * @param {google.privacy.dlp.v2.IInspectionRuleSet=} [properties] Properties to set
+ * @returns {google.privacy.dlp.v2.InspectionRuleSet} InspectionRuleSet instance
+ */
+ InspectionRuleSet.create = function create(properties) {
+ return new InspectionRuleSet(properties);
+ };
+
+ /**
+ * Encodes the specified InspectionRuleSet message. Does not implicitly {@link google.privacy.dlp.v2.InspectionRuleSet.verify|verify} messages.
+ * @function encode
+ * @memberof google.privacy.dlp.v2.InspectionRuleSet
+ * @static
+ * @param {google.privacy.dlp.v2.IInspectionRuleSet} message InspectionRuleSet message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InspectionRuleSet.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.infoTypes != null && message.infoTypes.length)
+ for (var i = 0; i < message.infoTypes.length; ++i)
+ $root.google.privacy.dlp.v2.InfoType.encode(message.infoTypes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.rules != null && message.rules.length)
+ for (var i = 0; i < message.rules.length; ++i)
+ $root.google.privacy.dlp.v2.InspectionRule.encode(message.rules[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified InspectionRuleSet message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectionRuleSet.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.privacy.dlp.v2.InspectionRuleSet
+ * @static
+ * @param {google.privacy.dlp.v2.IInspectionRuleSet} message InspectionRuleSet message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InspectionRuleSet.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an InspectionRuleSet message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.privacy.dlp.v2.InspectionRuleSet
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.privacy.dlp.v2.InspectionRuleSet} InspectionRuleSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InspectionRuleSet.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.privacy.dlp.v2.InspectionRuleSet();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1:
+ if (!(message.infoTypes && message.infoTypes.length))
+ message.infoTypes = [];
+ message.infoTypes.push($root.google.privacy.dlp.v2.InfoType.decode(reader, reader.uint32()));
+ break;
+ case 2:
+ if (!(message.rules && message.rules.length))
+ message.rules = [];
+ message.rules.push($root.google.privacy.dlp.v2.InspectionRule.decode(reader, reader.uint32()));
+ break;
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an InspectionRuleSet message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.privacy.dlp.v2.InspectionRuleSet
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.privacy.dlp.v2.InspectionRuleSet} InspectionRuleSet
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InspectionRuleSet.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an InspectionRuleSet message.
+ * @function verify
+ * @memberof google.privacy.dlp.v2.InspectionRuleSet
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ InspectionRuleSet.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.infoTypes != null && message.hasOwnProperty("infoTypes")) {
+ if (!Array.isArray(message.infoTypes))
+ return "infoTypes: array expected";
+ for (var i = 0; i < message.infoTypes.length; ++i) {
+ var error = $root.google.privacy.dlp.v2.InfoType.verify(message.infoTypes[i]);
+ if (error)
+ return "infoTypes." + error;
+ }
+ }
+ if (message.rules != null && message.hasOwnProperty("rules")) {
+ if (!Array.isArray(message.rules))
+ return "rules: array expected";
+ for (var i = 0; i < message.rules.length; ++i) {
+ var error = $root.google.privacy.dlp.v2.InspectionRule.verify(message.rules[i]);
+ if (error)
+ return "rules." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an InspectionRuleSet message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.privacy.dlp.v2.InspectionRuleSet
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.privacy.dlp.v2.InspectionRuleSet} InspectionRuleSet
+ */
+ InspectionRuleSet.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.privacy.dlp.v2.InspectionRuleSet)
+ return object;
+ var message = new $root.google.privacy.dlp.v2.InspectionRuleSet();
+ if (object.infoTypes) {
+ if (!Array.isArray(object.infoTypes))
+ throw TypeError(".google.privacy.dlp.v2.InspectionRuleSet.infoTypes: array expected");
+ message.infoTypes = [];
+ for (var i = 0; i < object.infoTypes.length; ++i) {
+ if (typeof object.infoTypes[i] !== "object")
+ throw TypeError(".google.privacy.dlp.v2.InspectionRuleSet.infoTypes: object expected");
+ message.infoTypes[i] = $root.google.privacy.dlp.v2.InfoType.fromObject(object.infoTypes[i]);
+ }
+ }
+ if (object.rules) {
+ if (!Array.isArray(object.rules))
+ throw TypeError(".google.privacy.dlp.v2.InspectionRuleSet.rules: array expected");
+ message.rules = [];
+ for (var i = 0; i < object.rules.length; ++i) {
+ if (typeof object.rules[i] !== "object")
+ throw TypeError(".google.privacy.dlp.v2.InspectionRuleSet.rules: object expected");
+ message.rules[i] = $root.google.privacy.dlp.v2.InspectionRule.fromObject(object.rules[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an InspectionRuleSet message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.privacy.dlp.v2.InspectionRuleSet
+ * @static
+ * @param {google.privacy.dlp.v2.InspectionRuleSet} message InspectionRuleSet
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ InspectionRuleSet.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.infoTypes = [];
+ object.rules = [];
+ }
+ if (message.infoTypes && message.infoTypes.length) {
+ object.infoTypes = [];
+ for (var j = 0; j < message.infoTypes.length; ++j)
+ object.infoTypes[j] = $root.google.privacy.dlp.v2.InfoType.toObject(message.infoTypes[j], options);
+ }
+ if (message.rules && message.rules.length) {
+ object.rules = [];
+ for (var j = 0; j < message.rules.length; ++j)
+ object.rules[j] = $root.google.privacy.dlp.v2.InspectionRule.toObject(message.rules[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this InspectionRuleSet to JSON.
+ * @function toJSON
+ * @memberof google.privacy.dlp.v2.InspectionRuleSet
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ InspectionRuleSet.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ return InspectionRuleSet;
+ })();
+
+ v2.InspectConfig = (function() {
+
+ /**
+ * Properties of an InspectConfig.
+ * @memberof google.privacy.dlp.v2
+ * @interface IInspectConfig
+ * @property {Array.|null} [infoTypes] InspectConfig infoTypes
+ * @property {google.privacy.dlp.v2.Likelihood|null} [minLikelihood] InspectConfig minLikelihood
+ * @property {google.privacy.dlp.v2.InspectConfig.IFindingLimits|null} [limits] InspectConfig limits
+ * @property {boolean|null} [includeQuote] InspectConfig includeQuote
+ * @property {boolean|null} [excludeInfoTypes] InspectConfig excludeInfoTypes
+ * @property {Array.|null} [customInfoTypes] InspectConfig customInfoTypes
+ * @property {Array.|null} [contentOptions] InspectConfig contentOptions
+ * @property {Array.|null} [ruleSet] InspectConfig ruleSet
+ */
+
+ /**
+ * Constructs a new InspectConfig.
+ * @memberof google.privacy.dlp.v2
+ * @classdesc Represents an InspectConfig.
+ * @implements IInspectConfig
+ * @constructor
+ * @param {google.privacy.dlp.v2.IInspectConfig=} [properties] Properties to set
+ */
+ function InspectConfig(properties) {
+ this.infoTypes = [];
+ this.customInfoTypes = [];
+ this.contentOptions = [];
+ this.ruleSet = [];
+ 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]];
+ }
+
+ /**
+ * InspectConfig infoTypes.
+ * @member {Array.} infoTypes
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @instance
+ */
+ InspectConfig.prototype.infoTypes = $util.emptyArray;
+
+ /**
+ * InspectConfig minLikelihood.
+ * @member {google.privacy.dlp.v2.Likelihood} minLikelihood
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @instance
+ */
+ InspectConfig.prototype.minLikelihood = 0;
+
+ /**
+ * InspectConfig limits.
+ * @member {google.privacy.dlp.v2.InspectConfig.IFindingLimits|null|undefined} limits
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @instance
+ */
+ InspectConfig.prototype.limits = null;
+
+ /**
+ * InspectConfig includeQuote.
+ * @member {boolean} includeQuote
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @instance
+ */
+ InspectConfig.prototype.includeQuote = false;
+
+ /**
+ * InspectConfig excludeInfoTypes.
+ * @member {boolean} excludeInfoTypes
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @instance
+ */
+ InspectConfig.prototype.excludeInfoTypes = false;
+
+ /**
+ * InspectConfig customInfoTypes.
+ * @member {Array.} customInfoTypes
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @instance
+ */
+ InspectConfig.prototype.customInfoTypes = $util.emptyArray;
+
+ /**
+ * InspectConfig contentOptions.
+ * @member {Array.} contentOptions
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @instance
+ */
+ InspectConfig.prototype.contentOptions = $util.emptyArray;
+
+ /**
+ * InspectConfig ruleSet.
+ * @member {Array.} ruleSet
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @instance
+ */
+ InspectConfig.prototype.ruleSet = $util.emptyArray;
+
+ /**
+ * Creates a new InspectConfig instance using the specified properties.
+ * @function create
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @static
+ * @param {google.privacy.dlp.v2.IInspectConfig=} [properties] Properties to set
+ * @returns {google.privacy.dlp.v2.InspectConfig} InspectConfig instance
+ */
+ InspectConfig.create = function create(properties) {
+ return new InspectConfig(properties);
+ };
+
+ /**
+ * Encodes the specified InspectConfig message. Does not implicitly {@link google.privacy.dlp.v2.InspectConfig.verify|verify} messages.
+ * @function encode
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @static
+ * @param {google.privacy.dlp.v2.IInspectConfig} message InspectConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InspectConfig.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.infoTypes != null && message.infoTypes.length)
+ for (var i = 0; i < message.infoTypes.length; ++i)
+ $root.google.privacy.dlp.v2.InfoType.encode(message.infoTypes[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.minLikelihood != null && Object.hasOwnProperty.call(message, "minLikelihood"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.minLikelihood);
+ if (message.limits != null && Object.hasOwnProperty.call(message, "limits"))
+ $root.google.privacy.dlp.v2.InspectConfig.FindingLimits.encode(message.limits, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.includeQuote != null && Object.hasOwnProperty.call(message, "includeQuote"))
+ writer.uint32(/* id 4, wireType 0 =*/32).bool(message.includeQuote);
+ if (message.excludeInfoTypes != null && Object.hasOwnProperty.call(message, "excludeInfoTypes"))
+ writer.uint32(/* id 5, wireType 0 =*/40).bool(message.excludeInfoTypes);
+ if (message.customInfoTypes != null && message.customInfoTypes.length)
+ for (var i = 0; i < message.customInfoTypes.length; ++i)
+ $root.google.privacy.dlp.v2.CustomInfoType.encode(message.customInfoTypes[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.contentOptions != null && message.contentOptions.length) {
+ writer.uint32(/* id 8, wireType 2 =*/66).fork();
+ for (var i = 0; i < message.contentOptions.length; ++i)
+ writer.int32(message.contentOptions[i]);
+ writer.ldelim();
+ }
+ if (message.ruleSet != null && message.ruleSet.length)
+ for (var i = 0; i < message.ruleSet.length; ++i)
+ $root.google.privacy.dlp.v2.InspectionRuleSet.encode(message.ruleSet[i], writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified InspectConfig message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectConfig.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @static
+ * @param {google.privacy.dlp.v2.IInspectConfig} message InspectConfig message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InspectConfig.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an InspectConfig message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.privacy.dlp.v2.InspectConfig} InspectConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InspectConfig.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.privacy.dlp.v2.InspectConfig();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1:
+ if (!(message.infoTypes && message.infoTypes.length))
+ message.infoTypes = [];
+ message.infoTypes.push($root.google.privacy.dlp.v2.InfoType.decode(reader, reader.uint32()));
+ break;
+ case 2:
+ message.minLikelihood = reader.int32();
+ break;
+ case 3:
+ message.limits = $root.google.privacy.dlp.v2.InspectConfig.FindingLimits.decode(reader, reader.uint32());
+ break;
+ case 4:
+ message.includeQuote = reader.bool();
+ break;
+ case 5:
+ message.excludeInfoTypes = reader.bool();
+ break;
+ case 6:
+ if (!(message.customInfoTypes && message.customInfoTypes.length))
+ message.customInfoTypes = [];
+ message.customInfoTypes.push($root.google.privacy.dlp.v2.CustomInfoType.decode(reader, reader.uint32()));
+ break;
+ case 8:
+ if (!(message.contentOptions && message.contentOptions.length))
+ message.contentOptions = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.contentOptions.push(reader.int32());
+ } else
+ message.contentOptions.push(reader.int32());
+ break;
+ case 10:
+ if (!(message.ruleSet && message.ruleSet.length))
+ message.ruleSet = [];
+ message.ruleSet.push($root.google.privacy.dlp.v2.InspectionRuleSet.decode(reader, reader.uint32()));
+ break;
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an InspectConfig message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.privacy.dlp.v2.InspectConfig} InspectConfig
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InspectConfig.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an InspectConfig message.
+ * @function verify
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ InspectConfig.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.infoTypes != null && message.hasOwnProperty("infoTypes")) {
+ if (!Array.isArray(message.infoTypes))
+ return "infoTypes: array expected";
+ for (var i = 0; i < message.infoTypes.length; ++i) {
+ var error = $root.google.privacy.dlp.v2.InfoType.verify(message.infoTypes[i]);
+ if (error)
+ return "infoTypes." + error;
+ }
+ }
+ if (message.minLikelihood != null && message.hasOwnProperty("minLikelihood"))
+ switch (message.minLikelihood) {
+ default:
+ return "minLikelihood: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ if (message.limits != null && message.hasOwnProperty("limits")) {
+ var error = $root.google.privacy.dlp.v2.InspectConfig.FindingLimits.verify(message.limits);
+ if (error)
+ return "limits." + error;
+ }
+ if (message.includeQuote != null && message.hasOwnProperty("includeQuote"))
+ if (typeof message.includeQuote !== "boolean")
+ return "includeQuote: boolean expected";
+ if (message.excludeInfoTypes != null && message.hasOwnProperty("excludeInfoTypes"))
+ if (typeof message.excludeInfoTypes !== "boolean")
+ return "excludeInfoTypes: boolean expected";
+ if (message.customInfoTypes != null && message.hasOwnProperty("customInfoTypes")) {
+ if (!Array.isArray(message.customInfoTypes))
+ return "customInfoTypes: array expected";
+ for (var i = 0; i < message.customInfoTypes.length; ++i) {
+ var error = $root.google.privacy.dlp.v2.CustomInfoType.verify(message.customInfoTypes[i]);
+ if (error)
+ return "customInfoTypes." + error;
+ }
+ }
+ if (message.contentOptions != null && message.hasOwnProperty("contentOptions")) {
+ if (!Array.isArray(message.contentOptions))
+ return "contentOptions: array expected";
+ for (var i = 0; i < message.contentOptions.length; ++i)
+ switch (message.contentOptions[i]) {
+ default:
+ return "contentOptions: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ }
+ if (message.ruleSet != null && message.hasOwnProperty("ruleSet")) {
+ if (!Array.isArray(message.ruleSet))
+ return "ruleSet: array expected";
+ for (var i = 0; i < message.ruleSet.length; ++i) {
+ var error = $root.google.privacy.dlp.v2.InspectionRuleSet.verify(message.ruleSet[i]);
+ if (error)
+ return "ruleSet." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an InspectConfig message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.privacy.dlp.v2.InspectConfig} InspectConfig
+ */
+ InspectConfig.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.privacy.dlp.v2.InspectConfig)
+ return object;
+ var message = new $root.google.privacy.dlp.v2.InspectConfig();
+ if (object.infoTypes) {
+ if (!Array.isArray(object.infoTypes))
+ throw TypeError(".google.privacy.dlp.v2.InspectConfig.infoTypes: array expected");
+ message.infoTypes = [];
+ for (var i = 0; i < object.infoTypes.length; ++i) {
+ if (typeof object.infoTypes[i] !== "object")
+ throw TypeError(".google.privacy.dlp.v2.InspectConfig.infoTypes: object expected");
+ message.infoTypes[i] = $root.google.privacy.dlp.v2.InfoType.fromObject(object.infoTypes[i]);
+ }
+ }
+ switch (object.minLikelihood) {
+ case "LIKELIHOOD_UNSPECIFIED":
+ case 0:
+ message.minLikelihood = 0;
+ break;
+ case "VERY_UNLIKELY":
+ case 1:
+ message.minLikelihood = 1;
+ break;
+ case "UNLIKELY":
+ case 2:
+ message.minLikelihood = 2;
+ break;
+ case "POSSIBLE":
+ case 3:
+ message.minLikelihood = 3;
+ break;
+ case "LIKELY":
+ case 4:
+ message.minLikelihood = 4;
+ break;
+ case "VERY_LIKELY":
+ case 5:
+ message.minLikelihood = 5;
+ break;
+ }
+ if (object.limits != null) {
+ if (typeof object.limits !== "object")
+ throw TypeError(".google.privacy.dlp.v2.InspectConfig.limits: object expected");
+ message.limits = $root.google.privacy.dlp.v2.InspectConfig.FindingLimits.fromObject(object.limits);
+ }
+ if (object.includeQuote != null)
+ message.includeQuote = Boolean(object.includeQuote);
+ if (object.excludeInfoTypes != null)
+ message.excludeInfoTypes = Boolean(object.excludeInfoTypes);
+ if (object.customInfoTypes) {
+ if (!Array.isArray(object.customInfoTypes))
+ throw TypeError(".google.privacy.dlp.v2.InspectConfig.customInfoTypes: array expected");
+ message.customInfoTypes = [];
+ for (var i = 0; i < object.customInfoTypes.length; ++i) {
+ if (typeof object.customInfoTypes[i] !== "object")
+ throw TypeError(".google.privacy.dlp.v2.InspectConfig.customInfoTypes: object expected");
+ message.customInfoTypes[i] = $root.google.privacy.dlp.v2.CustomInfoType.fromObject(object.customInfoTypes[i]);
+ }
+ }
+ if (object.contentOptions) {
+ if (!Array.isArray(object.contentOptions))
+ throw TypeError(".google.privacy.dlp.v2.InspectConfig.contentOptions: array expected");
+ message.contentOptions = [];
+ for (var i = 0; i < object.contentOptions.length; ++i)
+ switch (object.contentOptions[i]) {
+ default:
+ case "CONTENT_UNSPECIFIED":
+ case 0:
+ message.contentOptions[i] = 0;
+ break;
+ case "CONTENT_TEXT":
+ case 1:
+ message.contentOptions[i] = 1;
+ break;
+ case "CONTENT_IMAGE":
+ case 2:
+ message.contentOptions[i] = 2;
+ break;
+ }
+ }
+ if (object.ruleSet) {
+ if (!Array.isArray(object.ruleSet))
+ throw TypeError(".google.privacy.dlp.v2.InspectConfig.ruleSet: array expected");
+ message.ruleSet = [];
+ for (var i = 0; i < object.ruleSet.length; ++i) {
+ if (typeof object.ruleSet[i] !== "object")
+ throw TypeError(".google.privacy.dlp.v2.InspectConfig.ruleSet: object expected");
+ message.ruleSet[i] = $root.google.privacy.dlp.v2.InspectionRuleSet.fromObject(object.ruleSet[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an InspectConfig message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @static
+ * @param {google.privacy.dlp.v2.InspectConfig} message InspectConfig
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ InspectConfig.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.infoTypes = [];
+ object.customInfoTypes = [];
+ object.contentOptions = [];
+ object.ruleSet = [];
+ }
+ if (options.defaults) {
+ object.minLikelihood = options.enums === String ? "LIKELIHOOD_UNSPECIFIED" : 0;
+ object.limits = null;
+ object.includeQuote = false;
+ object.excludeInfoTypes = false;
+ }
+ if (message.infoTypes && message.infoTypes.length) {
+ object.infoTypes = [];
+ for (var j = 0; j < message.infoTypes.length; ++j)
+ object.infoTypes[j] = $root.google.privacy.dlp.v2.InfoType.toObject(message.infoTypes[j], options);
+ }
+ if (message.minLikelihood != null && message.hasOwnProperty("minLikelihood"))
+ object.minLikelihood = options.enums === String ? $root.google.privacy.dlp.v2.Likelihood[message.minLikelihood] : message.minLikelihood;
+ if (message.limits != null && message.hasOwnProperty("limits"))
+ object.limits = $root.google.privacy.dlp.v2.InspectConfig.FindingLimits.toObject(message.limits, options);
+ if (message.includeQuote != null && message.hasOwnProperty("includeQuote"))
+ object.includeQuote = message.includeQuote;
+ if (message.excludeInfoTypes != null && message.hasOwnProperty("excludeInfoTypes"))
+ object.excludeInfoTypes = message.excludeInfoTypes;
+ if (message.customInfoTypes && message.customInfoTypes.length) {
+ object.customInfoTypes = [];
+ for (var j = 0; j < message.customInfoTypes.length; ++j)
+ object.customInfoTypes[j] = $root.google.privacy.dlp.v2.CustomInfoType.toObject(message.customInfoTypes[j], options);
+ }
+ if (message.contentOptions && message.contentOptions.length) {
+ object.contentOptions = [];
+ for (var j = 0; j < message.contentOptions.length; ++j)
+ object.contentOptions[j] = options.enums === String ? $root.google.privacy.dlp.v2.ContentOption[message.contentOptions[j]] : message.contentOptions[j];
+ }
+ if (message.ruleSet && message.ruleSet.length) {
+ object.ruleSet = [];
+ for (var j = 0; j < message.ruleSet.length; ++j)
+ object.ruleSet[j] = $root.google.privacy.dlp.v2.InspectionRuleSet.toObject(message.ruleSet[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this InspectConfig to JSON.
+ * @function toJSON
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ InspectConfig.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ InspectConfig.FindingLimits = (function() {
+
+ /**
+ * Properties of a FindingLimits.
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @interface IFindingLimits
+ * @property {number|null} [maxFindingsPerItem] FindingLimits maxFindingsPerItem
+ * @property {number|null} [maxFindingsPerRequest] FindingLimits maxFindingsPerRequest
+ * @property {Array.|null} [maxFindingsPerInfoType] FindingLimits maxFindingsPerInfoType
+ */
+
+ /**
+ * Constructs a new FindingLimits.
+ * @memberof google.privacy.dlp.v2.InspectConfig
+ * @classdesc Represents a FindingLimits.
+ * @implements IFindingLimits
+ * @constructor
+ * @param {google.privacy.dlp.v2.InspectConfig.IFindingLimits=} [properties] Properties to set
+ */
+ function FindingLimits(properties) {
+ this.maxFindingsPerInfoType = [];
+ 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]];
+ }
+
+ /**
+ * FindingLimits maxFindingsPerItem.
+ * @member {number} maxFindingsPerItem
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits
+ * @instance
+ */
+ FindingLimits.prototype.maxFindingsPerItem = 0;
+
+ /**
+ * FindingLimits maxFindingsPerRequest.
+ * @member {number} maxFindingsPerRequest
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits
+ * @instance
+ */
+ FindingLimits.prototype.maxFindingsPerRequest = 0;
+
+ /**
+ * FindingLimits maxFindingsPerInfoType.
+ * @member {Array.} maxFindingsPerInfoType
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits
+ * @instance
+ */
+ FindingLimits.prototype.maxFindingsPerInfoType = $util.emptyArray;
+
+ /**
+ * Creates a new FindingLimits instance using the specified properties.
+ * @function create
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits
+ * @static
+ * @param {google.privacy.dlp.v2.InspectConfig.IFindingLimits=} [properties] Properties to set
+ * @returns {google.privacy.dlp.v2.InspectConfig.FindingLimits} FindingLimits instance
+ */
+ FindingLimits.create = function create(properties) {
+ return new FindingLimits(properties);
+ };
+
+ /**
+ * Encodes the specified FindingLimits message. Does not implicitly {@link google.privacy.dlp.v2.InspectConfig.FindingLimits.verify|verify} messages.
+ * @function encode
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits
+ * @static
+ * @param {google.privacy.dlp.v2.InspectConfig.IFindingLimits} message FindingLimits message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FindingLimits.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.maxFindingsPerItem != null && Object.hasOwnProperty.call(message, "maxFindingsPerItem"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.maxFindingsPerItem);
+ if (message.maxFindingsPerRequest != null && Object.hasOwnProperty.call(message, "maxFindingsPerRequest"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxFindingsPerRequest);
+ if (message.maxFindingsPerInfoType != null && message.maxFindingsPerInfoType.length)
+ for (var i = 0; i < message.maxFindingsPerInfoType.length; ++i)
+ $root.google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit.encode(message.maxFindingsPerInfoType[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FindingLimits message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectConfig.FindingLimits.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits
+ * @static
+ * @param {google.privacy.dlp.v2.InspectConfig.IFindingLimits} message FindingLimits message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FindingLimits.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FindingLimits message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.privacy.dlp.v2.InspectConfig.FindingLimits} FindingLimits
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FindingLimits.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.privacy.dlp.v2.InspectConfig.FindingLimits();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1:
+ message.maxFindingsPerItem = reader.int32();
+ break;
+ case 2:
+ message.maxFindingsPerRequest = reader.int32();
+ break;
+ case 3:
+ if (!(message.maxFindingsPerInfoType && message.maxFindingsPerInfoType.length))
+ message.maxFindingsPerInfoType = [];
+ message.maxFindingsPerInfoType.push($root.google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit.decode(reader, reader.uint32()));
+ break;
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FindingLimits message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.privacy.dlp.v2.InspectConfig.FindingLimits} FindingLimits
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FindingLimits.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FindingLimits message.
+ * @function verify
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FindingLimits.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.maxFindingsPerItem != null && message.hasOwnProperty("maxFindingsPerItem"))
+ if (!$util.isInteger(message.maxFindingsPerItem))
+ return "maxFindingsPerItem: integer expected";
+ if (message.maxFindingsPerRequest != null && message.hasOwnProperty("maxFindingsPerRequest"))
+ if (!$util.isInteger(message.maxFindingsPerRequest))
+ return "maxFindingsPerRequest: integer expected";
+ if (message.maxFindingsPerInfoType != null && message.hasOwnProperty("maxFindingsPerInfoType")) {
+ if (!Array.isArray(message.maxFindingsPerInfoType))
+ return "maxFindingsPerInfoType: array expected";
+ for (var i = 0; i < message.maxFindingsPerInfoType.length; ++i) {
+ var error = $root.google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit.verify(message.maxFindingsPerInfoType[i]);
+ if (error)
+ return "maxFindingsPerInfoType." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a FindingLimits message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.privacy.dlp.v2.InspectConfig.FindingLimits} FindingLimits
+ */
+ FindingLimits.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.privacy.dlp.v2.InspectConfig.FindingLimits)
+ return object;
+ var message = new $root.google.privacy.dlp.v2.InspectConfig.FindingLimits();
+ if (object.maxFindingsPerItem != null)
+ message.maxFindingsPerItem = object.maxFindingsPerItem | 0;
+ if (object.maxFindingsPerRequest != null)
+ message.maxFindingsPerRequest = object.maxFindingsPerRequest | 0;
+ if (object.maxFindingsPerInfoType) {
+ if (!Array.isArray(object.maxFindingsPerInfoType))
+ throw TypeError(".google.privacy.dlp.v2.InspectConfig.FindingLimits.maxFindingsPerInfoType: array expected");
+ message.maxFindingsPerInfoType = [];
+ for (var i = 0; i < object.maxFindingsPerInfoType.length; ++i) {
+ if (typeof object.maxFindingsPerInfoType[i] !== "object")
+ throw TypeError(".google.privacy.dlp.v2.InspectConfig.FindingLimits.maxFindingsPerInfoType: object expected");
+ message.maxFindingsPerInfoType[i] = $root.google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit.fromObject(object.maxFindingsPerInfoType[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FindingLimits message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits
+ * @static
+ * @param {google.privacy.dlp.v2.InspectConfig.FindingLimits} message FindingLimits
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FindingLimits.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.maxFindingsPerInfoType = [];
+ if (options.defaults) {
+ object.maxFindingsPerItem = 0;
+ object.maxFindingsPerRequest = 0;
+ }
+ if (message.maxFindingsPerItem != null && message.hasOwnProperty("maxFindingsPerItem"))
+ object.maxFindingsPerItem = message.maxFindingsPerItem;
+ if (message.maxFindingsPerRequest != null && message.hasOwnProperty("maxFindingsPerRequest"))
+ object.maxFindingsPerRequest = message.maxFindingsPerRequest;
+ if (message.maxFindingsPerInfoType && message.maxFindingsPerInfoType.length) {
+ object.maxFindingsPerInfoType = [];
+ for (var j = 0; j < message.maxFindingsPerInfoType.length; ++j)
+ object.maxFindingsPerInfoType[j] = $root.google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit.toObject(message.maxFindingsPerInfoType[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this FindingLimits to JSON.
+ * @function toJSON
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FindingLimits.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ FindingLimits.InfoTypeLimit = (function() {
+
+ /**
+ * Properties of an InfoTypeLimit.
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits
+ * @interface IInfoTypeLimit
+ * @property {google.privacy.dlp.v2.IInfoType|null} [infoType] InfoTypeLimit infoType
+ * @property {number|null} [maxFindings] InfoTypeLimit maxFindings
+ */
+
+ /**
+ * Constructs a new InfoTypeLimit.
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits
+ * @classdesc Represents an InfoTypeLimit.
+ * @implements IInfoTypeLimit
+ * @constructor
+ * @param {google.privacy.dlp.v2.InspectConfig.FindingLimits.IInfoTypeLimit=} [properties] Properties to set
+ */
+ function InfoTypeLimit(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]];
+ }
+
+ /**
+ * InfoTypeLimit infoType.
+ * @member {google.privacy.dlp.v2.IInfoType|null|undefined} infoType
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit
+ * @instance
+ */
+ InfoTypeLimit.prototype.infoType = null;
+
+ /**
+ * InfoTypeLimit maxFindings.
+ * @member {number} maxFindings
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit
+ * @instance
+ */
+ InfoTypeLimit.prototype.maxFindings = 0;
+
+ /**
+ * Creates a new InfoTypeLimit instance using the specified properties.
+ * @function create
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit
+ * @static
+ * @param {google.privacy.dlp.v2.InspectConfig.FindingLimits.IInfoTypeLimit=} [properties] Properties to set
+ * @returns {google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit} InfoTypeLimit instance
+ */
+ InfoTypeLimit.create = function create(properties) {
+ return new InfoTypeLimit(properties);
+ };
+
+ /**
+ * Encodes the specified InfoTypeLimit message. Does not implicitly {@link google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit.verify|verify} messages.
+ * @function encode
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit
+ * @static
+ * @param {google.privacy.dlp.v2.InspectConfig.FindingLimits.IInfoTypeLimit} message InfoTypeLimit message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InfoTypeLimit.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.infoType != null && Object.hasOwnProperty.call(message, "infoType"))
+ $root.google.privacy.dlp.v2.InfoType.encode(message.infoType, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.maxFindings != null && Object.hasOwnProperty.call(message, "maxFindings"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.maxFindings);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified InfoTypeLimit message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit
+ * @static
+ * @param {google.privacy.dlp.v2.InspectConfig.FindingLimits.IInfoTypeLimit} message InfoTypeLimit message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InfoTypeLimit.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an InfoTypeLimit message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit} InfoTypeLimit
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InfoTypeLimit.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.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1:
+ message.infoType = $root.google.privacy.dlp.v2.InfoType.decode(reader, reader.uint32());
+ break;
+ case 2:
+ message.maxFindings = reader.int32();
+ break;
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an InfoTypeLimit message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit} InfoTypeLimit
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InfoTypeLimit.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an InfoTypeLimit message.
+ * @function verify
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ InfoTypeLimit.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.infoType != null && message.hasOwnProperty("infoType")) {
+ var error = $root.google.privacy.dlp.v2.InfoType.verify(message.infoType);
+ if (error)
+ return "infoType." + error;
+ }
+ if (message.maxFindings != null && message.hasOwnProperty("maxFindings"))
+ if (!$util.isInteger(message.maxFindings))
+ return "maxFindings: integer expected";
+ return null;
+ };
+
+ /**
+ * Creates an InfoTypeLimit message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit} InfoTypeLimit
+ */
+ InfoTypeLimit.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit)
+ return object;
+ var message = new $root.google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit();
+ if (object.infoType != null) {
+ if (typeof object.infoType !== "object")
+ throw TypeError(".google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit.infoType: object expected");
+ message.infoType = $root.google.privacy.dlp.v2.InfoType.fromObject(object.infoType);
+ }
+ if (object.maxFindings != null)
+ message.maxFindings = object.maxFindings | 0;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an InfoTypeLimit message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit
+ * @static
+ * @param {google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit} message InfoTypeLimit
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ InfoTypeLimit.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.infoType = null;
+ object.maxFindings = 0;
+ }
+ if (message.infoType != null && message.hasOwnProperty("infoType"))
+ object.infoType = $root.google.privacy.dlp.v2.InfoType.toObject(message.infoType, options);
+ if (message.maxFindings != null && message.hasOwnProperty("maxFindings"))
+ object.maxFindings = message.maxFindings;
+ return object;
+ };
+
+ /**
+ * Converts this InfoTypeLimit to JSON.
+ * @function toJSON
+ * @memberof google.privacy.dlp.v2.InspectConfig.FindingLimits.InfoTypeLimit
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ InfoTypeLimit.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ return InfoTypeLimit;
+ })();
+
+ return FindingLimits;
+ })();
+
+ return InspectConfig;
+ })();
+
+ v2.ByteContentItem = (function() {
+
+ /**
+ * Properties of a ByteContentItem.
+ * @memberof google.privacy.dlp.v2
+ * @interface IByteContentItem
+ * @property {google.privacy.dlp.v2.ByteContentItem.BytesType|null} [type] ByteContentItem type
+ * @property {Uint8Array|null} [data] ByteContentItem data
+ */
+
+ /**
+ * Constructs a new ByteContentItem.
+ * @memberof google.privacy.dlp.v2
+ * @classdesc Represents a ByteContentItem.
+ * @implements IByteContentItem
+ * @constructor
+ * @param {google.privacy.dlp.v2.IByteContentItem=} [properties] Properties to set
+ */
+ function ByteContentItem(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]];
+ }
+
+ /**
+ * ByteContentItem type.
+ * @member {google.privacy.dlp.v2.ByteContentItem.BytesType} type
+ * @memberof google.privacy.dlp.v2.ByteContentItem
+ * @instance
+ */
+ ByteContentItem.prototype.type = 0;
+
+ /**
+ * ByteContentItem data.
+ * @member {Uint8Array} data
+ * @memberof google.privacy.dlp.v2.ByteContentItem
+ * @instance
+ */
+ ByteContentItem.prototype.data = $util.newBuffer([]);
+
+ /**
+ * Creates a new ByteContentItem instance using the specified properties.
+ * @function create
+ * @memberof google.privacy.dlp.v2.ByteContentItem
+ * @static
+ * @param {google.privacy.dlp.v2.IByteContentItem=} [properties] Properties to set
+ * @returns {google.privacy.dlp.v2.ByteContentItem} ByteContentItem instance
+ */
+ ByteContentItem.create = function create(properties) {
+ return new ByteContentItem(properties);
+ };
+
+ /**
+ * Encodes the specified ByteContentItem message. Does not implicitly {@link google.privacy.dlp.v2.ByteContentItem.verify|verify} messages.
+ * @function encode
+ * @memberof google.privacy.dlp.v2.ByteContentItem
+ * @static
+ * @param {google.privacy.dlp.v2.IByteContentItem} message ByteContentItem message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ByteContentItem.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.type);
+ if (message.data != null && Object.hasOwnProperty.call(message, "data"))
+ writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.data);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ByteContentItem message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ByteContentItem.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.privacy.dlp.v2.ByteContentItem
+ * @static
+ * @param {google.privacy.dlp.v2.IByteContentItem} message ByteContentItem message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ByteContentItem.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ByteContentItem message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.privacy.dlp.v2.ByteContentItem
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.privacy.dlp.v2.ByteContentItem} ByteContentItem
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ByteContentItem.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.privacy.dlp.v2.ByteContentItem();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1:
+ message.type = reader.int32();
+ break;
+ case 2:
+ message.data = reader.bytes();
+ break;
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ByteContentItem message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.privacy.dlp.v2.ByteContentItem
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.privacy.dlp.v2.ByteContentItem} ByteContentItem
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ByteContentItem.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ByteContentItem message.
+ * @function verify
+ * @memberof google.privacy.dlp.v2.ByteContentItem
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ByteContentItem.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.type != null && message.hasOwnProperty("type"))
+ switch (message.type) {
+ default:
+ return "type: enum value expected";
+ case 0:
+ case 6:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 7:
+ case 8:
+ case 11:
+ case 12:
+ case 13:
+ break;
+ }
+ if (message.data != null && message.hasOwnProperty("data"))
+ if (!(message.data && typeof message.data.length === "number" || $util.isString(message.data)))
+ return "data: buffer expected";
+ return null;
+ };
+
+ /**
+ * Creates a ByteContentItem message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.privacy.dlp.v2.ByteContentItem
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.privacy.dlp.v2.ByteContentItem} ByteContentItem
+ */
+ ByteContentItem.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.privacy.dlp.v2.ByteContentItem)
+ return object;
+ var message = new $root.google.privacy.dlp.v2.ByteContentItem();
+ switch (object.type) {
+ case "BYTES_TYPE_UNSPECIFIED":
+ case 0:
+ message.type = 0;
+ break;
+ case "IMAGE":
+ case 6:
+ message.type = 6;
+ break;
+ case "IMAGE_JPEG":
+ case 1:
+ message.type = 1;
+ break;
+ case "IMAGE_BMP":
+ case 2:
+ message.type = 2;
+ break;
+ case "IMAGE_PNG":
+ case 3:
+ message.type = 3;
+ break;
+ case "IMAGE_SVG":
+ case 4:
+ message.type = 4;
+ break;
+ case "TEXT_UTF8":
+ case 5:
+ message.type = 5;
+ break;
+ case "WORD_DOCUMENT":
+ case 7:
+ message.type = 7;
+ break;
+ case "PDF":
+ case 8:
+ message.type = 8;
+ break;
+ case "AVRO":
+ case 11:
+ message.type = 11;
+ break;
+ case "CSV":
+ case 12:
+ message.type = 12;
+ break;
+ case "TSV":
+ case 13:
+ message.type = 13;
+ break;
+ }
+ if (object.data != null)
+ if (typeof object.data === "string")
+ $util.base64.decode(object.data, message.data = $util.newBuffer($util.base64.length(object.data)), 0);
+ else if (object.data.length)
+ message.data = object.data;
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ByteContentItem message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.privacy.dlp.v2.ByteContentItem
+ * @static
+ * @param {google.privacy.dlp.v2.ByteContentItem} message ByteContentItem
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ByteContentItem.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.type = options.enums === String ? "BYTES_TYPE_UNSPECIFIED" : 0;
+ if (options.bytes === String)
+ object.data = "";
+ else {
+ object.data = [];
+ if (options.bytes !== Array)
+ object.data = $util.newBuffer(object.data);
+ }
+ }
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = options.enums === String ? $root.google.privacy.dlp.v2.ByteContentItem.BytesType[message.type] : message.type;
+ if (message.data != null && message.hasOwnProperty("data"))
+ object.data = options.bytes === String ? $util.base64.encode(message.data, 0, message.data.length) : options.bytes === Array ? Array.prototype.slice.call(message.data) : message.data;
+ return object;
+ };
+
+ /**
+ * Converts this ByteContentItem to JSON.
+ * @function toJSON
+ * @memberof google.privacy.dlp.v2.ByteContentItem
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ByteContentItem.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * BytesType enum.
+ * @name google.privacy.dlp.v2.ByteContentItem.BytesType
+ * @enum {number}
+ * @property {number} BYTES_TYPE_UNSPECIFIED=0 BYTES_TYPE_UNSPECIFIED value
+ * @property {number} IMAGE=6 IMAGE value
+ * @property {number} IMAGE_JPEG=1 IMAGE_JPEG value
+ * @property {number} IMAGE_BMP=2 IMAGE_BMP value
+ * @property {number} IMAGE_PNG=3 IMAGE_PNG value
+ * @property {number} IMAGE_SVG=4 IMAGE_SVG value
+ * @property {number} TEXT_UTF8=5 TEXT_UTF8 value
+ * @property {number} WORD_DOCUMENT=7 WORD_DOCUMENT value
+ * @property {number} PDF=8 PDF value
+ * @property {number} AVRO=11 AVRO value
+ * @property {number} CSV=12 CSV value
+ * @property {number} TSV=13 TSV value
+ */
+ ByteContentItem.BytesType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "BYTES_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[6] = "IMAGE"] = 6;
+ values[valuesById[1] = "IMAGE_JPEG"] = 1;
+ values[valuesById[2] = "IMAGE_BMP"] = 2;
+ values[valuesById[3] = "IMAGE_PNG"] = 3;
+ values[valuesById[4] = "IMAGE_SVG"] = 4;
+ values[valuesById[5] = "TEXT_UTF8"] = 5;
+ values[valuesById[7] = "WORD_DOCUMENT"] = 7;
+ values[valuesById[8] = "PDF"] = 8;
+ values[valuesById[11] = "AVRO"] = 11;
+ values[valuesById[12] = "CSV"] = 12;
+ values[valuesById[13] = "TSV"] = 13;
+ return values;
+ })();
+
+ return ByteContentItem;
+ })();
+
+ v2.ContentItem = (function() {
+
+ /**
+ * Properties of a ContentItem.
+ * @memberof google.privacy.dlp.v2
+ * @interface IContentItem
+ * @property {string|null} [value] ContentItem value
+ * @property {google.privacy.dlp.v2.ITable|null} [table] ContentItem table
+ * @property {google.privacy.dlp.v2.IByteContentItem|null} [byteItem] ContentItem byteItem
+ */
+
+ /**
+ * Constructs a new ContentItem.
+ * @memberof google.privacy.dlp.v2
+ * @classdesc Represents a ContentItem.
+ * @implements IContentItem
+ * @constructor
+ * @param {google.privacy.dlp.v2.IContentItem=} [properties] Properties to set
+ */
+ function ContentItem(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]];
+ }
+
+ /**
+ * ContentItem value.
+ * @member {string} value
+ * @memberof google.privacy.dlp.v2.ContentItem
+ * @instance
+ */
+ ContentItem.prototype.value = "";
+
+ /**
+ * ContentItem table.
+ * @member {google.privacy.dlp.v2.ITable|null|undefined} table
+ * @memberof google.privacy.dlp.v2.ContentItem
+ * @instance
+ */
+ ContentItem.prototype.table = null;
+
+ /**
+ * ContentItem byteItem.
+ * @member {google.privacy.dlp.v2.IByteContentItem|null|undefined} byteItem
+ * @memberof google.privacy.dlp.v2.ContentItem
+ * @instance
+ */
+ ContentItem.prototype.byteItem = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * ContentItem dataItem.
+ * @member {"value"|"table"|"byteItem"|undefined} dataItem
+ * @memberof google.privacy.dlp.v2.ContentItem
+ * @instance
+ */
+ Object.defineProperty(ContentItem.prototype, "dataItem", {
+ get: $util.oneOfGetter($oneOfFields = ["value", "table", "byteItem"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new ContentItem instance using the specified properties.
+ * @function create
+ * @memberof google.privacy.dlp.v2.ContentItem
+ * @static
+ * @param {google.privacy.dlp.v2.IContentItem=} [properties] Properties to set
+ * @returns {google.privacy.dlp.v2.ContentItem} ContentItem instance
+ */
+ ContentItem.create = function create(properties) {
+ return new ContentItem(properties);
+ };
+
+ /**
+ * Encodes the specified ContentItem message. Does not implicitly {@link google.privacy.dlp.v2.ContentItem.verify|verify} messages.
+ * @function encode
+ * @memberof google.privacy.dlp.v2.ContentItem
+ * @static
+ * @param {google.privacy.dlp.v2.IContentItem} message ContentItem message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContentItem.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.value != null && Object.hasOwnProperty.call(message, "value"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.value);
+ if (message.table != null && Object.hasOwnProperty.call(message, "table"))
+ $root.google.privacy.dlp.v2.Table.encode(message.table, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.byteItem != null && Object.hasOwnProperty.call(message, "byteItem"))
+ $root.google.privacy.dlp.v2.ByteContentItem.encode(message.byteItem, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ContentItem message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.ContentItem.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.privacy.dlp.v2.ContentItem
+ * @static
+ * @param {google.privacy.dlp.v2.IContentItem} message ContentItem message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContentItem.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ContentItem message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.privacy.dlp.v2.ContentItem
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.privacy.dlp.v2.ContentItem} ContentItem
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContentItem.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.privacy.dlp.v2.ContentItem();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 3:
+ message.value = reader.string();
+ break;
+ case 4:
+ message.table = $root.google.privacy.dlp.v2.Table.decode(reader, reader.uint32());
+ break;
+ case 5:
+ message.byteItem = $root.google.privacy.dlp.v2.ByteContentItem.decode(reader, reader.uint32());
+ break;
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ContentItem message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.privacy.dlp.v2.ContentItem
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.privacy.dlp.v2.ContentItem} ContentItem
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContentItem.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ContentItem message.
+ * @function verify
+ * @memberof google.privacy.dlp.v2.ContentItem
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ContentItem.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.value != null && message.hasOwnProperty("value")) {
+ properties.dataItem = 1;
+ if (!$util.isString(message.value))
+ return "value: string expected";
+ }
+ if (message.table != null && message.hasOwnProperty("table")) {
+ if (properties.dataItem === 1)
+ return "dataItem: multiple values";
+ properties.dataItem = 1;
+ {
+ var error = $root.google.privacy.dlp.v2.Table.verify(message.table);
+ if (error)
+ return "table." + error;
+ }
+ }
+ if (message.byteItem != null && message.hasOwnProperty("byteItem")) {
+ if (properties.dataItem === 1)
+ return "dataItem: multiple values";
+ properties.dataItem = 1;
+ {
+ var error = $root.google.privacy.dlp.v2.ByteContentItem.verify(message.byteItem);
+ if (error)
+ return "byteItem." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ContentItem message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.privacy.dlp.v2.ContentItem
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.privacy.dlp.v2.ContentItem} ContentItem
+ */
+ ContentItem.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.privacy.dlp.v2.ContentItem)
+ return object;
+ var message = new $root.google.privacy.dlp.v2.ContentItem();
+ if (object.value != null)
+ message.value = String(object.value);
+ if (object.table != null) {
+ if (typeof object.table !== "object")
+ throw TypeError(".google.privacy.dlp.v2.ContentItem.table: object expected");
+ message.table = $root.google.privacy.dlp.v2.Table.fromObject(object.table);
+ }
+ if (object.byteItem != null) {
+ if (typeof object.byteItem !== "object")
+ throw TypeError(".google.privacy.dlp.v2.ContentItem.byteItem: object expected");
+ message.byteItem = $root.google.privacy.dlp.v2.ByteContentItem.fromObject(object.byteItem);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ContentItem message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.privacy.dlp.v2.ContentItem
+ * @static
+ * @param {google.privacy.dlp.v2.ContentItem} message ContentItem
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ContentItem.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.value != null && message.hasOwnProperty("value")) {
+ object.value = message.value;
+ if (options.oneofs)
+ object.dataItem = "value";
+ }
+ if (message.table != null && message.hasOwnProperty("table")) {
+ object.table = $root.google.privacy.dlp.v2.Table.toObject(message.table, options);
+ if (options.oneofs)
+ object.dataItem = "table";
+ }
+ if (message.byteItem != null && message.hasOwnProperty("byteItem")) {
+ object.byteItem = $root.google.privacy.dlp.v2.ByteContentItem.toObject(message.byteItem, options);
+ if (options.oneofs)
+ object.dataItem = "byteItem";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ContentItem to JSON.
+ * @function toJSON
+ * @memberof google.privacy.dlp.v2.ContentItem
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ContentItem.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ return ContentItem;
+ })();
+
+ v2.Table = (function() {
+
+ /**
+ * Properties of a Table.
+ * @memberof google.privacy.dlp.v2
+ * @interface ITable
+ * @property {Array.|null} [headers] Table headers
+ * @property {Array.|null} [rows] Table rows
+ */
+
+ /**
+ * Constructs a new Table.
+ * @memberof google.privacy.dlp.v2
+ * @classdesc Represents a Table.
+ * @implements ITable
+ * @constructor
+ * @param {google.privacy.dlp.v2.ITable=} [properties] Properties to set
+ */
+ function Table(properties) {
+ this.headers = [];
+ this.rows = [];
+ 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]];
+ }
+
+ /**
+ * Table headers.
+ * @member {Array.} headers
+ * @memberof google.privacy.dlp.v2.Table
+ * @instance
+ */
+ Table.prototype.headers = $util.emptyArray;
+
+ /**
+ * Table rows.
+ * @member {Array.} rows
+ * @memberof google.privacy.dlp.v2.Table
+ * @instance
+ */
+ Table.prototype.rows = $util.emptyArray;
+
+ /**
+ * Creates a new Table instance using the specified properties.
+ * @function create
+ * @memberof google.privacy.dlp.v2.Table
+ * @static
+ * @param {google.privacy.dlp.v2.ITable=} [properties] Properties to set
+ * @returns {google.privacy.dlp.v2.Table} Table instance
+ */
+ Table.create = function create(properties) {
+ return new Table(properties);
+ };
+
+ /**
+ * Encodes the specified Table message. Does not implicitly {@link google.privacy.dlp.v2.Table.verify|verify} messages.
+ * @function encode
+ * @memberof google.privacy.dlp.v2.Table
+ * @static
+ * @param {google.privacy.dlp.v2.ITable} message Table message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Table.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.headers != null && message.headers.length)
+ for (var i = 0; i < message.headers.length; ++i)
+ $root.google.privacy.dlp.v2.FieldId.encode(message.headers[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.rows != null && message.rows.length)
+ for (var i = 0; i < message.rows.length; ++i)
+ $root.google.privacy.dlp.v2.Table.Row.encode(message.rows[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Table message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Table.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.privacy.dlp.v2.Table
+ * @static
+ * @param {google.privacy.dlp.v2.ITable} message Table message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Table.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Table message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.privacy.dlp.v2.Table
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.privacy.dlp.v2.Table} Table
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Table.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.privacy.dlp.v2.Table();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1:
+ if (!(message.headers && message.headers.length))
+ message.headers = [];
+ message.headers.push($root.google.privacy.dlp.v2.FieldId.decode(reader, reader.uint32()));
+ break;
+ case 2:
+ if (!(message.rows && message.rows.length))
+ message.rows = [];
+ message.rows.push($root.google.privacy.dlp.v2.Table.Row.decode(reader, reader.uint32()));
+ break;
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Table message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.privacy.dlp.v2.Table
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.privacy.dlp.v2.Table} Table
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Table.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Table message.
+ * @function verify
+ * @memberof google.privacy.dlp.v2.Table
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Table.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.headers != null && message.hasOwnProperty("headers")) {
+ if (!Array.isArray(message.headers))
+ return "headers: array expected";
+ for (var i = 0; i < message.headers.length; ++i) {
+ var error = $root.google.privacy.dlp.v2.FieldId.verify(message.headers[i]);
+ if (error)
+ return "headers." + error;
+ }
+ }
+ if (message.rows != null && message.hasOwnProperty("rows")) {
+ if (!Array.isArray(message.rows))
+ return "rows: array expected";
+ for (var i = 0; i < message.rows.length; ++i) {
+ var error = $root.google.privacy.dlp.v2.Table.Row.verify(message.rows[i]);
+ if (error)
+ return "rows." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Table message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.privacy.dlp.v2.Table
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.privacy.dlp.v2.Table} Table
+ */
+ Table.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.privacy.dlp.v2.Table)
+ return object;
+ var message = new $root.google.privacy.dlp.v2.Table();
+ if (object.headers) {
+ if (!Array.isArray(object.headers))
+ throw TypeError(".google.privacy.dlp.v2.Table.headers: array expected");
+ message.headers = [];
+ for (var i = 0; i < object.headers.length; ++i) {
+ if (typeof object.headers[i] !== "object")
+ throw TypeError(".google.privacy.dlp.v2.Table.headers: object expected");
+ message.headers[i] = $root.google.privacy.dlp.v2.FieldId.fromObject(object.headers[i]);
+ }
+ }
+ if (object.rows) {
+ if (!Array.isArray(object.rows))
+ throw TypeError(".google.privacy.dlp.v2.Table.rows: array expected");
+ message.rows = [];
+ for (var i = 0; i < object.rows.length; ++i) {
+ if (typeof object.rows[i] !== "object")
+ throw TypeError(".google.privacy.dlp.v2.Table.rows: object expected");
+ message.rows[i] = $root.google.privacy.dlp.v2.Table.Row.fromObject(object.rows[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Table message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.privacy.dlp.v2.Table
+ * @static
+ * @param {google.privacy.dlp.v2.Table} message Table
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Table.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.headers = [];
+ object.rows = [];
+ }
+ if (message.headers && message.headers.length) {
+ object.headers = [];
+ for (var j = 0; j < message.headers.length; ++j)
+ object.headers[j] = $root.google.privacy.dlp.v2.FieldId.toObject(message.headers[j], options);
+ }
+ if (message.rows && message.rows.length) {
+ object.rows = [];
+ for (var j = 0; j < message.rows.length; ++j)
+ object.rows[j] = $root.google.privacy.dlp.v2.Table.Row.toObject(message.rows[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Table to JSON.
+ * @function toJSON
+ * @memberof google.privacy.dlp.v2.Table
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Table.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ Table.Row = (function() {
+
+ /**
+ * Properties of a Row.
+ * @memberof google.privacy.dlp.v2.Table
+ * @interface IRow
+ * @property {Array.|null} [values] Row values
+ */
+
+ /**
+ * Constructs a new Row.
+ * @memberof google.privacy.dlp.v2.Table
+ * @classdesc Represents a Row.
+ * @implements IRow
+ * @constructor
+ * @param {google.privacy.dlp.v2.Table.IRow=} [properties] Properties to set
+ */
+ function Row(properties) {
+ this.values = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Row values.
+ * @member {Array.} values
+ * @memberof google.privacy.dlp.v2.Table.Row
+ * @instance
+ */
+ Row.prototype.values = $util.emptyArray;
+
+ /**
+ * Creates a new Row instance using the specified properties.
+ * @function create
+ * @memberof google.privacy.dlp.v2.Table.Row
+ * @static
+ * @param {google.privacy.dlp.v2.Table.IRow=} [properties] Properties to set
+ * @returns {google.privacy.dlp.v2.Table.Row} Row instance
+ */
+ Row.create = function create(properties) {
+ return new Row(properties);
+ };
+
+ /**
+ * Encodes the specified Row message. Does not implicitly {@link google.privacy.dlp.v2.Table.Row.verify|verify} messages.
+ * @function encode
+ * @memberof google.privacy.dlp.v2.Table.Row
+ * @static
+ * @param {google.privacy.dlp.v2.Table.IRow} message Row message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Row.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.values != null && message.values.length)
+ for (var i = 0; i < message.values.length; ++i)
+ $root.google.privacy.dlp.v2.Value.encode(message.values[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Row message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.Table.Row.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.privacy.dlp.v2.Table.Row
+ * @static
+ * @param {google.privacy.dlp.v2.Table.IRow} message Row message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Row.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Row message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.privacy.dlp.v2.Table.Row
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.privacy.dlp.v2.Table.Row} Row
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Row.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.privacy.dlp.v2.Table.Row();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1:
+ if (!(message.values && message.values.length))
+ message.values = [];
+ message.values.push($root.google.privacy.dlp.v2.Value.decode(reader, reader.uint32()));
+ break;
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Row message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.privacy.dlp.v2.Table.Row
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.privacy.dlp.v2.Table.Row} Row
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Row.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Row message.
+ * @function verify
+ * @memberof google.privacy.dlp.v2.Table.Row
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Row.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.values != null && message.hasOwnProperty("values")) {
+ if (!Array.isArray(message.values))
+ return "values: array expected";
+ for (var i = 0; i < message.values.length; ++i) {
+ var error = $root.google.privacy.dlp.v2.Value.verify(message.values[i]);
+ if (error)
+ return "values." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Row message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.privacy.dlp.v2.Table.Row
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.privacy.dlp.v2.Table.Row} Row
+ */
+ Row.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.privacy.dlp.v2.Table.Row)
+ return object;
+ var message = new $root.google.privacy.dlp.v2.Table.Row();
+ if (object.values) {
+ if (!Array.isArray(object.values))
+ throw TypeError(".google.privacy.dlp.v2.Table.Row.values: array expected");
+ message.values = [];
+ for (var i = 0; i < object.values.length; ++i) {
+ if (typeof object.values[i] !== "object")
+ throw TypeError(".google.privacy.dlp.v2.Table.Row.values: object expected");
+ message.values[i] = $root.google.privacy.dlp.v2.Value.fromObject(object.values[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Row message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.privacy.dlp.v2.Table.Row
+ * @static
+ * @param {google.privacy.dlp.v2.Table.Row} message Row
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Row.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.values = [];
+ if (message.values && message.values.length) {
+ object.values = [];
+ for (var j = 0; j < message.values.length; ++j)
+ object.values[j] = $root.google.privacy.dlp.v2.Value.toObject(message.values[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Row to JSON.
+ * @function toJSON
+ * @memberof google.privacy.dlp.v2.Table.Row
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Row.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ return Row;
+ })();
+
+ return Table;
+ })();
+
+ v2.InspectResult = (function() {
+
+ /**
+ * Properties of an InspectResult.
+ * @memberof google.privacy.dlp.v2
+ * @interface IInspectResult
+ * @property {Array.|null} [findings] InspectResult findings
+ * @property {boolean|null} [findingsTruncated] InspectResult findingsTruncated
+ */
+
+ /**
+ * Constructs a new InspectResult.
+ * @memberof google.privacy.dlp.v2
+ * @classdesc Represents an InspectResult.
+ * @implements IInspectResult
+ * @constructor
+ * @param {google.privacy.dlp.v2.IInspectResult=} [properties] Properties to set
+ */
+ function InspectResult(properties) {
+ this.findings = [];
+ 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]];
+ }
+
+ /**
+ * InspectResult findings.
+ * @member {Array.} findings
+ * @memberof google.privacy.dlp.v2.InspectResult
+ * @instance
+ */
+ InspectResult.prototype.findings = $util.emptyArray;
+
+ /**
+ * InspectResult findingsTruncated.
+ * @member {boolean} findingsTruncated
+ * @memberof google.privacy.dlp.v2.InspectResult
+ * @instance
+ */
+ InspectResult.prototype.findingsTruncated = false;
+
+ /**
+ * Creates a new InspectResult instance using the specified properties.
+ * @function create
+ * @memberof google.privacy.dlp.v2.InspectResult
+ * @static
+ * @param {google.privacy.dlp.v2.IInspectResult=} [properties] Properties to set
+ * @returns {google.privacy.dlp.v2.InspectResult} InspectResult instance
+ */
+ InspectResult.create = function create(properties) {
+ return new InspectResult(properties);
+ };
+
+ /**
+ * Encodes the specified InspectResult message. Does not implicitly {@link google.privacy.dlp.v2.InspectResult.verify|verify} messages.
+ * @function encode
+ * @memberof google.privacy.dlp.v2.InspectResult
+ * @static
+ * @param {google.privacy.dlp.v2.IInspectResult} message InspectResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InspectResult.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.findings != null && message.findings.length)
+ for (var i = 0; i < message.findings.length; ++i)
+ $root.google.privacy.dlp.v2.Finding.encode(message.findings[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.findingsTruncated != null && Object.hasOwnProperty.call(message, "findingsTruncated"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.findingsTruncated);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified InspectResult message, length delimited. Does not implicitly {@link google.privacy.dlp.v2.InspectResult.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.privacy.dlp.v2.InspectResult
+ * @static
+ * @param {google.privacy.dlp.v2.IInspectResult} message InspectResult message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ InspectResult.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an InspectResult message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.privacy.dlp.v2.InspectResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.privacy.dlp.v2.InspectResult} InspectResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InspectResult.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.privacy.dlp.v2.InspectResult();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1:
+ if (!(message.findings && message.findings.length))
+ message.findings = [];
+ message.findings.push($root.google.privacy.dlp.v2.Finding.decode(reader, reader.uint32()));
+ break;
+ case 2:
+ message.findingsTruncated = reader.bool();
+ break;
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an InspectResult message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.privacy.dlp.v2.InspectResult
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.privacy.dlp.v2.InspectResult} InspectResult
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ InspectResult.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an InspectResult message.
+ * @function verify
+ * @memberof google.privacy.dlp.v2.InspectResult
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ InspectResult.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.findings != null && message.hasOwnProperty("findings")) {
+ if (!Array.isArray(message.findings))
+ return "findings: array expected";
+ for (var i = 0; i < message.findings.length; ++i) {
+ var error = $root.google.privacy.dlp.v2.Finding.verify(message.findings[i]);
+ if (error)
+ return "findings." + error;
+ }
+ }
+ if (message.findingsTruncated != null && message.hasOwnProperty("findingsTruncated"))
+ if (typeof message.findingsTruncated !== "boolean")
+ return "findingsTruncated: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates an InspectResult message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.privacy.dlp.v2.InspectResult
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.privacy.dlp.v2.InspectResult} InspectResult
+ */
+ InspectResult.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.privacy.dlp.v2.InspectResult)
+ return object;
+ var message = new $root.google.privacy.dlp.v2.InspectResult();
+ if (object.findings) {
+ if (!Array.isArray(object.findings))
+ throw TypeError(".google.privacy.dlp.v2.InspectResult.findings: array expected");
+ message.findings = [];
+ for (var i = 0; i < object.findings.length; ++i) {
+ if (typeof object.findings[i] !== "object")
+ throw TypeError(".google.privacy.dlp.v2.InspectResult.findings: object expected");
+ message.findings[i] = $root.google.privacy.dlp.v2.Finding.fromObject(object.findings[i]);
+ }
+ }
+ if (object.findingsTruncated != null)
+ message.findingsTruncated = Boolean(object.findingsTruncated);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an InspectResult message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.privacy.dlp.v2.InspectResult
+ * @static
+ * @param {google.privacy.dlp.v2.InspectResult} message InspectResult
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ InspectResult.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.findings = [];
+ if (options.defaults)
+ object.findingsTruncated = false;
+ if (message.findings && message.findings.length) {
+ object.findings = [];
+ for (var j = 0; j < message.findings.length; ++j)
+ object.findings[j] = $root.google.privacy.dlp.v2.Finding.toObject(message.findings[j], options);
+ }
+ if (message.findingsTruncated != null && message.hasOwnProperty("findingsTruncated"))
+ object.findingsTruncated = message.findingsTruncated;
+ return object;
+ };
+
+ /**
+ * Converts this InspectResult to JSON.
+ * @function toJSON
+ * @memberof google.privacy.dlp.v2.InspectResult
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ InspectResult.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ return InspectResult;
+ })();
+
+ v2.Finding = (function() {
+
+ /**
+ * Properties of a Finding.
+ * @memberof google.privacy.dlp.v2
+ * @interface IFinding
+ * @property {string|null} [name] Finding name
+ * @property {string|null} [quote] Finding quote
+ * @property {google.privacy.dlp.v2.IInfoType|null} [infoType] Finding infoType
+ * @property {google.privacy.dlp.v2.Likelihood|null} [likelihood] Finding likelihood
+ * @property {google.privacy.dlp.v2.ILocation|null} [location] Finding location
+ * @property {google.protobuf.ITimestamp|null} [createTime] Finding createTime
+ * @property {google.privacy.dlp.v2.IQuoteInfo|null} [quoteInfo] Finding quoteInfo
+ * @property {string|null} [resourceName] Finding resourceName
+ * @property {string|null} [triggerName] Finding triggerName
+ * @property {Object.|null} [labels] Finding labels
+ * @property {google.protobuf.ITimestamp|null} [jobCreateTime] Finding jobCreateTime
+ * @property {string|null} [jobName] Finding jobName
+ */
+
+ /**
+ * Constructs a new Finding.
+ * @memberof google.privacy.dlp.v2
+ * @classdesc Represents a Finding.
+ * @implements IFinding
+ * @constructor
+ * @param {google.privacy.dlp.v2.IFinding=} [properties] Properties to set
+ */
+ function Finding(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]];
+ }
+
+ /**
+ * Finding name.
+ * @member {string} name
+ * @memberof google.privacy.dlp.v2.Finding
+ * @instance
+ */
+ Finding.prototype.name = "";
+
+ /**
+ * Finding quote.
+ * @member {string} quote
+ * @memberof google.privacy.dlp.v2.Finding
+ * @instance
+ */
+ Finding.prototype.quote = "";
+
+ /**
+ * Finding infoType.
+ * @member {google.privacy.dlp.v2.IInfoType|null|undefined} infoType
+ * @memberof google.privacy.dlp.v2.Finding
+ * @instance
+ */
+ Finding.prototype.infoType = null;
+
+ /**
+ * Finding likelihood.
+ * @member {google.privacy.dlp.v2.Likelihood} likelihood
+ * @memberof google.privacy.dlp.v2.Finding
+ * @instance
+ */
+ Finding.prototype.likelihood = 0;
+
+ /**
+ * Finding location.
+ * @member {google.privacy.dlp.v2.ILocation|null|undefined} location
+ * @memberof google.privacy.dlp.v2.Finding
+ * @instance
+ */
+ Finding.prototype.location = null;
+
+ /**
+ * Finding createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.privacy.dlp.v2.Finding
+ * @instance
+ */
+ Finding.prototype.createTime = null;
+
+ /**
+ * Finding quoteInfo.
+ * @member {google.privacy.dlp.v2.IQuoteInfo|null|undefined} quoteInfo
+ * @memberof google.privacy.dlp.v2.Finding
+ * @instance
+ */
+ Finding.prototype.quoteInfo = null;
+
+ /**
+ * Finding resourceName.
+ * @member {string} resourceName
+ * @memberof google.privacy.dlp.v2.Finding
+ * @instance
+ */
+ Finding.prototype.resourceName = "";
+
+ /**
+ * Finding triggerName.
+ * @member {string} triggerName
+ * @memberof google.privacy.dlp.v2.Finding
+ * @instance
+ */
+ Finding.prototype.triggerName = "";
+
+ /**
+ * Finding labels.
+ * @member {Object.