---
title: "POST /v2/{+parent}/dlpJobs"
method: POST
path: "/v2/{+parent}/dlpJobs"
tags: ["projects"]
---

# POST /v2/{+parent}/dlpJobs

`POST /v2/{+parent}/dlpJobs`

Creates a new job to inspect storage or calculate risk metrics. See https://cloud.google.com/sensitive-data-protection/docs/inspecting-storage and https://cloud.google.com/sensitive-data-protection/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.

## Path parameters

- `parent` string, required

## Request body

- GooglePrivacyDlpV2CreateDlpJobRequest — Request message for CreateDlpJobRequest. Used to initiate long running jobs such as calculating risk metrics or inspecting Google Cloud Storage.
  - `inspectJob` GooglePrivacyDlpV2InspectJobConfig — Controls what and how to inspect for findings.
    - `storageConfig` GooglePrivacyDlpV2StorageConfig — Shared message indicating Cloud storage type.
      - `datastoreOptions` GooglePrivacyDlpV2DatastoreOptions — Options defining a data set within Google Cloud Datastore.
        - `partitionId` GooglePrivacyDlpV2PartitionId — 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.
          - `projectId` string — The ID of the project to which the entities belong.
          - `namespaceId` string — If not empty, the ID of the namespace to which the entities belong.
        - `kind` GooglePrivacyDlpV2KindExpression — A representation of a Datastore kind.
          - `name` string — The name of the kind.
      - `hybridOptions` GooglePrivacyDlpV2HybridOptions — Configuration to control jobs where the content being inspected is outside of Google Cloud Platform.
        - `requiredFindingLabelKeys` string[] — 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.
        - `description` string — A short description of where the data is coming from. Will be stored once in the job. 256 max length.
        - `tableOptions` GooglePrivacyDlpV2TableOptions — Instructions regarding the table content being inspected.
          - `identifyingFields` GooglePrivacyDlpV2FieldId[] — 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.
            - `name` string — Name describing the field.
        - `labels` object — 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"`
      - `cloudStorageOptions` GooglePrivacyDlpV2CloudStorageOptions — Options defining a file or a set of files within a Cloud Storage bucket.
        - `filesLimitPercent` integer — 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.
        - `sampleMethod` 'SAMPLE_METHOD_UNSPECIFIED' | 'TOP' | 'RANDOM_START' — How to sample the data.
        - `bytesLimitPerFilePercent` integer — 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. This field can't be set if de-identification is requested. For certain file types, setting this field has no effect. For more information, see [Limits on bytes scanned per file](https://cloud.google.com/sensitive-data-protection/docs/supported-file-types#max-byte-size-per-file).
        - `fileSet` GooglePrivacyDlpV2FileSet — Set of files to scan.
          - `url` string — 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.
          - `regexFileSet` GooglePrivacyDlpV2CloudStorageRegexFileSet — 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 `/`
            - `includeRegex` string[] — 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.
            - `excludeRegex` string[] — 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.
            - `bucketName` string — The name of a Cloud Storage bucket. Required.
        - `bytesLimitPerFile` string, int64 — 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. This field can't be set if de-identification is requested. For certain file types, setting this field has no effect. For more information, see [Limits on bytes scanned per file](https://cloud.google.com/sensitive-data-protection/docs/supported-file-types#max-byte-size-per-file).
        - `fileTypes` string[] — 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'.
      - `bigQueryOptions` GooglePrivacyDlpV2BigQueryOptions — Options defining BigQuery table and row identifiers.
        - `sampleMethod` 'SAMPLE_METHOD_UNSPECIFIED' | 'TOP' | 'RANDOM_START' — How to sample the data.
        - `tableReference` GooglePrivacyDlpV2BigQueryTable — 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 `..`.
          - `projectId` string — The Google Cloud project ID of the project containing the table. If omitted, project ID is inferred from the API call.
          - `datasetId` string — Dataset ID of the table.
          - `tableId` string — Name of the table.
        - `rowsLimit` string, int64 — 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.
        - `identifyingFields` GooglePrivacyDlpV2FieldId[] — 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.
          - `name` string — Name describing the field.
        - `includedFields` GooglePrivacyDlpV2FieldId[] — Limit scanning only to these fields. When inspecting a table, we recommend that you inspect all columns. Otherwise, findings might be affected because hints from excluded columns will not be used.
          - `name` string — Name describing the field.
        - `rowsLimitPercent` integer — 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. Caution: A [known issue](https://cloud.google.com/sensitive-data-protection/docs/known-issues#bq-sampling) is causing the `rowsLimitPercent` field to behave unexpectedly. We recommend using `rowsLimit` instead.
        - `excludedFields` GooglePrivacyDlpV2FieldId[] — References to fields excluded from scanning. This allows you to skip inspection of entire columns which you know have no findings. When inspecting a table, we recommend that you inspect all columns. Otherwise, findings might be affected because hints from excluded columns will not be used.
          - `name` string — Name describing the field.
      - `timespanConfig` GooglePrivacyDlpV2TimespanConfig — Configuration of the timespan of the items to include in scanning. Currently only supported when inspecting Cloud Storage and BigQuery.
        - `endTime` string, google-datetime — Exclude files, tables, or rows newer than this value. If not set, no upper time limit is applied.
        - `timestampField` GooglePrivacyDlpV2FieldId — General identifier of a data field in a storage service.
          - `name` string — Name describing the field.
        - `startTime` string, google-datetime — Exclude files, tables, or rows older than this value. If not set, no lower time limit is applied.
        - `enableAutoPopulationOfTimespanConfig` boolean — 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 or the timespan end_time used in the last run of the JobTrigger. **For BigQuery** Inspect jobs triggered by automatic population will scan data that is at least three hours old when the job starts. This is because streaming buffer rows are not read during inspection and reading up to the current timestamp will result in skipped rows. See the [known issue](https://cloud.google.com/sensitive-data-protection/docs/known-issues#recently-streamed-data) related to this operation.
    - `actions` GooglePrivacyDlpV2Action[] — Actions to execute at the completion of the job.
      - `deidentify` GooglePrivacyDlpV2Deidentify — Create a de-identified copy of a storage bucket. Only compatible with Cloud Storage buckets. A TransformationDetail will be created for each transformation. Compatible with: Inspection of Cloud Storage
        - `fileTypesToTransform` string[] — List of user-specified file type groups to transform. If specified, only the files with these file types are transformed. If empty, all supported files are transformed. Supported types may be automatically added over time. Any unsupported file types that are set in this field are excluded from de-identification. An error is recorded for each unsupported file in the TransformationDetails output table. Currently the only file types supported are: IMAGES, TEXT_FILES, CSV, TSV.
        - `cloudStorageOutput` string — Required. User settable Cloud Storage bucket and folders to store de-identified files. This field must be set for Cloud Storage deidentification. The output Cloud Storage bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket
        - `transformationConfig` GooglePrivacyDlpV2TransformationConfig — User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config.
          - `deidentifyTemplate` string — De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content.
          - `structuredDeidentifyTemplate` string — Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content.
          - `imageRedactTemplate` string — Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box.
        - `transformationDetailsStorageConfig` GooglePrivacyDlpV2TransformationDetailsStorageConfig — Config for storing transformation details.
          - `table` GooglePrivacyDlpV2BigQueryTable — 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 `..`.
            - `projectId` string — The Google Cloud project ID of the project containing the table. If omitted, project ID is inferred from the API call.
            - `datasetId` string — Dataset ID of the table.
            - `tableId` string — Name of the table.
      - `pubSub` GooglePrivacyDlpV2PublishToPubSub — Publish a message into a 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/sensitive-data-protection/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk
        - `topic` string — 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}.
      - `publishFindingsToCloudDataCatalog` GooglePrivacyDlpV2PublishFindingsToCloudDataCatalog — Publish findings of a DlpJob to Data Catalog. In Data Catalog, tag templates are applied to the resource that Cloud DLP scanned. Data Catalog tag templates are stored in the same project and region where the BigQuery table exists. For Cloud DLP to create and apply the tag template, the Cloud DLP service agent must have the `roles/datacatalog.tagTemplateOwner` permission on the project. The tag template contains fields summarizing the results of the DlpJob. Any field values previously written by another DlpJob are deleted. InfoType naming patterns are strictly enforced when using this feature. Findings are persisted in Data Catalog storage and are governed by service-specific policies for Data Catalog. For more information, see [Service Specific Terms](https://cloud.google.com/terms/service-terms). Only a single instance of this action can be specified. This action is allowed only if all resources being scanned are BigQuery tables. Compatible with: Inspect
      - `publishSummaryToCscc` GooglePrivacyDlpV2PublishSummaryToCscc — Publish the result summary of a DlpJob to [Security Command Center](https://cloud.google.com/security-command-center). This action is available for only projects that belong to an organization. This action publishes the count of finding instances and their infoTypes. The summary of findings are persisted in Security Command Center and are governed by [service-specific policies for Security Command Center](https://cloud.google.com/terms/service-terms). Only a single instance of this action can be specified. Compatible with: Inspect
      - `jobNotificationEmails` GooglePrivacyDlpV2JobNotificationEmails — Sends an email when the job completes. The email goes to IAM project owners and technical [Essential Contacts](https://cloud.google.com/resource-manager/docs/managing-notification-contacts).
      - `saveFindings` GooglePrivacyDlpV2SaveFindings — 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
        - `outputConfig` GooglePrivacyDlpV2OutputStorageConfig — Cloud repository for storing output.
          - `storagePath` GooglePrivacyDlpV2CloudStoragePath — Message representing a single file or path in Cloud Storage.
            - `path` string — A URL representing a file or path (no wildcards) in Cloud Storage. Example: `gs://[BUCKET_NAME]/dictionary.txt`
          - `outputSchema` 'OUTPUT_SCHEMA_UNSPECIFIED' | 'BASIC_COLUMNS' | 'GCS_COLUMNS' | 'DATASTORE_COLUMNS' | 'BIG_QUERY_COLUMNS' | 'ALL_COLUMNS' — 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.
          - `table` GooglePrivacyDlpV2BigQueryTable — 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 `..`.
            - `projectId` string — The Google Cloud project ID of the project containing the table. If omitted, project ID is inferred from the API call.
            - `datasetId` string — Dataset ID of the table.
            - `tableId` string — Name of the table.
      - `publishFindingsToDataplexCatalog` GooglePrivacyDlpV2PublishFindingsToDataplexCatalog — Publish findings of a DlpJob to Dataplex Universal Catalog as a `sensitive-data-protection-job-result` aspect. For more information, see [Send inspection results to Dataplex Universal Catalog as aspects](https://cloud.google.com/sensitive-data-protection/docs/add-aspects-inspection-job). Aspects are stored in Dataplex Universal Catalog storage and are governed by service-specific policies for Dataplex Universal Catalog. For more information, see [Service Specific Terms](https://cloud.google.com/terms/service-terms). Only a single instance of this action can be specified. This action is allowed only if all resources being scanned are BigQuery tables. Compatible with: Inspect
      - `publishToStackdriver` GooglePrivacyDlpV2PublishToStackdriver — 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'.
    - `inspectConfig` GooglePrivacyDlpV2InspectConfig — Configuration description of the scanning process. When used with redactContent only info_types and min_likelihood are currently used.
      - `minLikelihood` 'LIKELIHOOD_UNSPECIFIED' | 'VERY_UNLIKELY' | 'UNLIKELY' | 'POSSIBLE' | 'LIKELY' | 'VERY_LIKELY' — Only returns findings equal to or above this threshold. The default is POSSIBLE. In general, the highest likelihood setting yields the fewest findings in results and the lowest chance of a false positive. For more information, see [Match likelihood](https://cloud.google.com/sensitive-data-protection/docs/likelihood).
      - `limits` GooglePrivacyDlpV2FindingLimits — Configuration to control the number of findings returned for inspection. This is not used for de-identification or data profiling. When redacting sensitive data from images, finding limits don't apply. They can cause unexpected or inconsistent results, where only some data is redacted. Don't include finding limits in RedactImage requests. Otherwise, Cloud DLP returns an error.
        - `maxFindingsPerRequest` integer — Max number of findings that are returned per request or job. If you set this field in an InspectContentRequest, the resulting maximum value is the value that you set or 3,000, whichever is lower. This value isn't a hard limit. If an inspection reaches this limit, the inspection ends gradually, not abruptly. Therefore, the actual number of findings that Cloud DLP returns can be multiple times higher than this value.
        - `maxFindingsPerItem` integer — Max number of findings that are returned for each item scanned. When set within an InspectContentRequest, this field is ignored. This value isn't a hard limit. If the number of findings for an item reaches this limit, the inspection of that item ends gradually, not abruptly. Therefore, the actual number of findings that Cloud DLP returns for the item can be multiple times higher than this value.
        - `maxFindingsPerInfoType` GooglePrivacyDlpV2InfoTypeLimit[] — Configuration of findings limit given for specified infoTypes.
          - `infoType` GooglePrivacyDlpV2InfoType — Type of information detected by the API.
            - `name` string — 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/sensitive-data-protection/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}`.
            - `sensitivityScore` GooglePrivacyDlpV2SensitivityScore — Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.
              - …
            - `version` string — Optional version name for this InfoType.
          - `maxFindings` integer — Max findings limit for the given infoType.
      - `minLikelihoodPerInfoType` GooglePrivacyDlpV2InfoTypeLikelihood[] — Minimum likelihood per infotype. For each infotype, a user can specify a minimum likelihood. The system only returns a finding if its likelihood is above this threshold. If this field is not set, the system uses the InspectConfig min_likelihood.
        - `infoType` GooglePrivacyDlpV2InfoType — Type of information detected by the API.
          - `name` string — 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/sensitive-data-protection/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}`.
          - `sensitivityScore` GooglePrivacyDlpV2SensitivityScore — Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.
            - `score` 'SENSITIVITY_SCORE_UNSPECIFIED' | 'SENSITIVITY_LOW' | 'SENSITIVITY_UNKNOWN' | 'SENSITIVITY_MODERATE' | 'SENSITIVITY_HIGH' — The sensitivity score applied to the resource.
          - `version` string — Optional version name for this InfoType.
        - `minLikelihood` 'LIKELIHOOD_UNSPECIFIED' | 'VERY_UNLIKELY' | 'UNLIKELY' | 'POSSIBLE' | 'LIKELY' | 'VERY_LIKELY' — Only returns findings equal to or above this threshold. This field is required or else the configuration fails.
      - `customInfoTypes` GooglePrivacyDlpV2CustomInfoType[] — CustomInfoTypes provided by the user. See https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes to learn more.
        - `sensitivityScore` GooglePrivacyDlpV2SensitivityScore — Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.
          - `score` 'SENSITIVITY_SCORE_UNSPECIFIED' | 'SENSITIVITY_LOW' | 'SENSITIVITY_UNKNOWN' | 'SENSITIVITY_MODERATE' | 'SENSITIVITY_HIGH' — The sensitivity score applied to the resource.
        - `detectionRules` GooglePrivacyDlpV2DetectionRule[] — Set of detection rules to apply to all findings of this CustomInfoType. Rules are applied in the order that they are specified. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
          - `hotwordRule` GooglePrivacyDlpV2HotwordRule — The rule that adjusts the likelihood of findings within a certain proximity of hotwords.
            - `hotwordRegex` GooglePrivacyDlpV2Regex — Message defining a custom regular expression.
              - …
            - `likelihoodAdjustment` GooglePrivacyDlpV2LikelihoodAdjustment — Message for specifying an adjustment to the likelihood of a finding as part of a detection rule.
              - …
            - `proximity` GooglePrivacyDlpV2Proximity — Message for specifying a window around a finding to apply a detection rule.
              - …
        - `storedType` GooglePrivacyDlpV2StoredType — A reference to a StoredInfoType to use with scanning.
          - `name` string — Resource name of the requested `StoredInfoType`, for example `organizations/433245324/storedInfoTypes/432452342` or `projects/project-id/storedInfoTypes/432452342`.
          - `createTime` string, google-datetime — Timestamp indicating when the version of the `StoredInfoType` used for inspection was created. Output-only field, populated by the system.
        - `metadataKeyValueExpression` GooglePrivacyDlpV2MetadataKeyValueExpression — Configuration for a custom infoType that detects key-value pairs in the metadata matching the specified regular expressions.
          - `valueRegex` string — The regular expression for the value. Value should be non-empty.
          - `keyRegex` string — The regular expression for the key. Key should be non-empty.
        - `exclusionType` 'EXCLUSION_TYPE_UNSPECIFIED' | 'EXCLUSION_TYPE_EXCLUDE' — If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
        - `fileLabelInfoType` GooglePrivacyDlpV2FileLabelInfoType — Configuration for a custom infoType that detects file labels.
          - `googleDriveLabel` GooglePrivacyDlpV2GoogleDriveLabel — Google Drive labels published by Google.
            - `labelFieldsToMatch` GooglePrivacyDlpV2LabelField[] — The field values of the Google Drive label to match.
              - …
            - `labelId` string — The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
          - `sensitivityLabel` GooglePrivacyDlpV2SensitivityLabel — Sensitivity labels published by Microsoft.
            - `guid` string — The GUID of the sensitivity label.
        - `likelihood` 'LIKELIHOOD_UNSPECIFIED' | 'VERY_UNLIKELY' | 'UNLIKELY' | 'POSSIBLE' | 'LIKELY' | 'VERY_LIKELY' — 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.
        - `infoType` GooglePrivacyDlpV2InfoType — Type of information detected by the API.
          - `name` string — 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/sensitive-data-protection/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}`.
          - `sensitivityScore` GooglePrivacyDlpV2SensitivityScore — Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.
            - `score` 'SENSITIVITY_SCORE_UNSPECIFIED' | 'SENSITIVITY_LOW' | 'SENSITIVITY_UNKNOWN' | 'SENSITIVITY_MODERATE' | 'SENSITIVITY_HIGH' — The sensitivity score applied to the resource.
          - `version` string — Optional version name for this InfoType.
        - `dictionary` GooglePrivacyDlpV2Dictionary — 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/sensitive-data-protection/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.
          - `wordList` GooglePrivacyDlpV2WordList — Message defining a list of words or phrases to search for in the data.
            - `words` string[] — 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]
          - `cloudStoragePath` GooglePrivacyDlpV2CloudStoragePath — Message representing a single file or path in Cloud Storage.
            - `path` string — A URL representing a file or path (no wildcards) in Cloud Storage. Example: `gs://[BUCKET_NAME]/dictionary.txt`
        - `regex` GooglePrivacyDlpV2Regex — Message defining a custom regular expression.
          - `pattern` string — Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
          - `groupIndexes` integer[] — The index of the submatch to extract as findings. When not specified, the entire match is returned. No more than 3 may be included.
        - `surrogateType` GooglePrivacyDlpV2SurrogateType — Message for detecting output from deidentification transformations such as [`CryptoReplaceFfxFpeConfig`](https://cloud.google.com/sensitive-data-protection/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`.
      - `ruleSet` GooglePrivacyDlpV2InspectionRuleSet[] — 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. Not supported for the `metadata_key_value_expression` CustomInfoType.
        - `infoTypes` GooglePrivacyDlpV2InfoType[] — List of infoTypes this rule set is applied to.
          - `name` string — 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/sensitive-data-protection/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}`.
          - `sensitivityScore` GooglePrivacyDlpV2SensitivityScore — Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.
            - `score` 'SENSITIVITY_SCORE_UNSPECIFIED' | 'SENSITIVITY_LOW' | 'SENSITIVITY_UNKNOWN' | 'SENSITIVITY_MODERATE' | 'SENSITIVITY_HIGH' — The sensitivity score applied to the resource.
          - `version` string — Optional version name for this InfoType.
        - `rules` GooglePrivacyDlpV2InspectionRule[] — Set of rules to be applied to infoTypes. The rules are applied in order.
          - `exclusionRule` GooglePrivacyDlpV2ExclusionRule — The rule that specifies conditions when findings of infoTypes specified in `InspectionRuleSet` are removed from results.
            - `dictionary` GooglePrivacyDlpV2Dictionary — 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/sensitive-data-protection/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.
              - …
            - `regex` GooglePrivacyDlpV2Regex — Message defining a custom regular expression.
              - …
            - `excludeInfoTypes` GooglePrivacyDlpV2ExcludeInfoTypes — List of excluded infoTypes.
              - …
            - `excludeByHotword` GooglePrivacyDlpV2ExcludeByHotword — The rule to exclude findings based on a hotword. For record inspection of tables, column names are considered hotwords. An example of this is to exclude a finding if it belongs to a BigQuery column that matches a specific pattern.
              - …
            - `matchingType` 'MATCHING_TYPE_UNSPECIFIED' | 'MATCHING_TYPE_FULL_MATCH' | 'MATCHING_TYPE_PARTIAL_MATCH' | 'MATCHING_TYPE_INVERSE_MATCH' | 'MATCHING_TYPE_RULE_SPECIFIC' — How the rule is applied, see MatchingType documentation for details.
            - `excludeByImageFindings` GooglePrivacyDlpV2ExcludeByImageFindings — The rule to exclude image findings based on spatial relationships with other image findings. For example, exclude an image finding if it overlaps with another image finding. This rule is silently ignored if the content being inspected is not an image.
              - …
          - `hotwordRule` GooglePrivacyDlpV2HotwordRule — The rule that adjusts the likelihood of findings within a certain proximity of hotwords.
            - `hotwordRegex` GooglePrivacyDlpV2Regex — Message defining a custom regular expression.
              - …
            - `likelihoodAdjustment` GooglePrivacyDlpV2LikelihoodAdjustment — Message for specifying an adjustment to the likelihood of a finding as part of a detection rule.
              - …
            - `proximity` GooglePrivacyDlpV2Proximity — Message for specifying a window around a finding to apply a detection rule.
              - …
          - `adjustmentRule` GooglePrivacyDlpV2AdjustmentRule — Rule that specifies conditions when a certain infoType's finding details should be adjusted.
            - `adjustByMatchingInfoTypes` GooglePrivacyDlpV2AdjustByMatchingInfoTypes — AdjustmentRule condition for matching infoTypes.
              - …
            - `adjustByImageFindings` GooglePrivacyDlpV2AdjustByImageFindings — AdjustmentRule condition for image findings. This rule is silently ignored if the content being inspected is not an image.
              - …
            - `likelihoodAdjustment` GooglePrivacyDlpV2LikelihoodAdjustment — Message for specifying an adjustment to the likelihood of a finding as part of a detection rule.
              - …
      - `contentOptions` string[] — Deprecated and unused.
      - `includeQuote` boolean — When true, a contextual quote from the data that triggered a finding is included in the response; see Finding.quote. This is not used for data profiling.
      - `excludeInfoTypes` boolean — When true, excludes type information of the findings. This is not used for data profiling.
      - `infoTypes` GooglePrivacyDlpV2InfoType[] — Restricts what info_types to look for. The values must correspond to InfoType values returned by ListInfoTypes or listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference. When no InfoTypes or CustomInfoTypes are specified in a request, the system may automatically choose a default list of detectors to run, which may change over time. 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.
        - `name` string — 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/sensitive-data-protection/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}`.
        - `sensitivityScore` GooglePrivacyDlpV2SensitivityScore — Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.
          - `score` 'SENSITIVITY_SCORE_UNSPECIFIED' | 'SENSITIVITY_LOW' | 'SENSITIVITY_UNKNOWN' | 'SENSITIVITY_MODERATE' | 'SENSITIVITY_HIGH' — The sensitivity score applied to the resource.
        - `version` string — Optional version name for this InfoType.
    - `inspectTemplateName` string — 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.
  - `riskJob` GooglePrivacyDlpV2RiskAnalysisJobConfig — Configuration for a risk analysis job. See https://cloud.google.com/sensitive-data-protection/docs/concepts-risk-analysis to learn more.
    - `sourceTable` GooglePrivacyDlpV2BigQueryTable — 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 `..`.
      - `projectId` string — The Google Cloud project ID of the project containing the table. If omitted, project ID is inferred from the API call.
      - `datasetId` string — Dataset ID of the table.
      - `tableId` string — Name of the table.
    - `privacyMetric` GooglePrivacyDlpV2PrivacyMetric — Privacy metric to compute for reidentification risk analysis.
      - `lDiversityConfig` GooglePrivacyDlpV2LDiversityConfig — l-diversity metric, used for analysis of reidentification risk.
        - `quasiIds` GooglePrivacyDlpV2FieldId[] — 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.
          - `name` string — Name describing the field.
        - `sensitiveAttribute` GooglePrivacyDlpV2FieldId — General identifier of a data field in a storage service.
          - `name` string — Name describing the field.
      - `kAnonymityConfig` GooglePrivacyDlpV2KAnonymityConfig — k-anonymity metric, used for analysis of reidentification risk.
        - `quasiIds` GooglePrivacyDlpV2FieldId[] — 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.
          - `name` string — Name describing the field.
        - `entityId` GooglePrivacyDlpV2EntityId — 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.
          - `field` GooglePrivacyDlpV2FieldId — General identifier of a data field in a storage service.
            - `name` string — Name describing the field.
      - `kMapEstimationConfig` GooglePrivacyDlpV2KMapEstimationConfig — 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.
        - `quasiIds` GooglePrivacyDlpV2TaggedField[] — Required. Fields considered to be quasi-identifiers. No two columns can have the same tag.
          - `inferred` GoogleProtobufEmpty — A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
          - `field` GooglePrivacyDlpV2FieldId — General identifier of a data field in a storage service.
            - `name` string — Name describing the field.
          - `infoType` GooglePrivacyDlpV2InfoType — Type of information detected by the API.
            - `name` string — 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/sensitive-data-protection/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}`.
            - `sensitivityScore` GooglePrivacyDlpV2SensitivityScore — Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.
              - …
            - `version` string — Optional version name for this InfoType.
          - `customTag` string — 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.
        - `auxiliaryTables` GooglePrivacyDlpV2AuxiliaryTable[] — 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.
          - `relativeFrequency` GooglePrivacyDlpV2FieldId — General identifier of a data field in a storage service.
            - `name` string — Name describing the field.
          - `quasiIds` GooglePrivacyDlpV2QuasiIdField[] — Required. Quasi-identifier columns.
            - `field` GooglePrivacyDlpV2FieldId — General identifier of a data field in a storage service.
              - …
            - `customTag` string — A auxiliary field.
          - `table` GooglePrivacyDlpV2BigQueryTable — 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 `..`.
            - `projectId` string — The Google Cloud project ID of the project containing the table. If omitted, project ID is inferred from the API call.
            - `datasetId` string — Dataset ID of the table.
            - `tableId` string — Name of the table.
        - `regionCode` string — 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.
      - `deltaPresenceEstimationConfig` GooglePrivacyDlpV2DeltaPresenceEstimationConfig — δ-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.
        - `quasiIds` GooglePrivacyDlpV2QuasiId[] — Required. Fields considered to be quasi-identifiers. No two fields can have the same tag.
          - `inferred` GoogleProtobufEmpty — A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
          - `field` GooglePrivacyDlpV2FieldId — General identifier of a data field in a storage service.
            - `name` string — Name describing the field.
          - `infoType` GooglePrivacyDlpV2InfoType — Type of information detected by the API.
            - `name` string — 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/sensitive-data-protection/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}`.
            - `sensitivityScore` GooglePrivacyDlpV2SensitivityScore — Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.
              - …
            - `version` string — Optional version name for this InfoType.
          - `customTag` string — 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.
        - `auxiliaryTables` GooglePrivacyDlpV2StatisticalTable[] — 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.
          - `quasiIds` GooglePrivacyDlpV2QuasiIdentifierField[] — Required. Quasi-identifier columns.
            - `field` GooglePrivacyDlpV2FieldId — General identifier of a data field in a storage service.
              - …
            - `customTag` string — 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.
          - `relativeFrequency` GooglePrivacyDlpV2FieldId — General identifier of a data field in a storage service.
            - `name` string — Name describing the field.
          - `table` GooglePrivacyDlpV2BigQueryTable — 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 `..`.
            - `projectId` string — The Google Cloud project ID of the project containing the table. If omitted, project ID is inferred from the API call.
            - `datasetId` string — Dataset ID of the table.
            - `tableId` string — Name of the table.
        - `regionCode` string — 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.
      - `numericalStatsConfig` GooglePrivacyDlpV2NumericalStatsConfig — Compute numerical stats over an individual column, including min, max, and quantiles.
        - `field` GooglePrivacyDlpV2FieldId — General identifier of a data field in a storage service.
          - `name` string — Name describing the field.
      - `categoricalStatsConfig` GooglePrivacyDlpV2CategoricalStatsConfig — Compute numerical stats over an individual column, including number of distinct values and value count distribution.
        - `field` GooglePrivacyDlpV2FieldId — General identifier of a data field in a storage service.
          - `name` string — Name describing the field.
    - `actions` GooglePrivacyDlpV2Action[] — Actions to execute at the completion of the job. Are executed in the order provided.
      - `deidentify` GooglePrivacyDlpV2Deidentify — Create a de-identified copy of a storage bucket. Only compatible with Cloud Storage buckets. A TransformationDetail will be created for each transformation. Compatible with: Inspection of Cloud Storage
        - `fileTypesToTransform` string[] — List of user-specified file type groups to transform. If specified, only the files with these file types are transformed. If empty, all supported files are transformed. Supported types may be automatically added over time. Any unsupported file types that are set in this field are excluded from de-identification. An error is recorded for each unsupported file in the TransformationDetails output table. Currently the only file types supported are: IMAGES, TEXT_FILES, CSV, TSV.
        - `cloudStorageOutput` string — Required. User settable Cloud Storage bucket and folders to store de-identified files. This field must be set for Cloud Storage deidentification. The output Cloud Storage bucket must be different from the input bucket. De-identified files will overwrite files in the output path. Form of: gs://bucket/folder/ or gs://bucket
        - `transformationConfig` GooglePrivacyDlpV2TransformationConfig — User specified templates and configs for how to deidentify structured, unstructures, and image files. User must provide either a unstructured deidentify template or at least one redact image config.
          - `deidentifyTemplate` string — De-identify template. If this template is specified, it will serve as the default de-identify template. This template cannot contain `record_transformations` since it can be used for unstructured content such as free-form text files. If this template is not set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content.
          - `structuredDeidentifyTemplate` string — Structured de-identify template. If this template is specified, it will serve as the de-identify template for structured content such as delimited files and tables. If this template is not set but the `deidentify_template` is set, then `deidentify_template` will also apply to the structured content. If neither template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-identify structured content.
          - `imageRedactTemplate` string — Image redact template. If this template is specified, it will serve as the de-identify template for images. If this template is not set, all findings in the image will be redacted with a black box.
        - `transformationDetailsStorageConfig` GooglePrivacyDlpV2TransformationDetailsStorageConfig — Config for storing transformation details.
          - `table` GooglePrivacyDlpV2BigQueryTable — 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 `..`.
            - `projectId` string — The Google Cloud project ID of the project containing the table. If omitted, project ID is inferred from the API call.
            - `datasetId` string — Dataset ID of the table.
            - `tableId` string — Name of the table.
      - `pubSub` GooglePrivacyDlpV2PublishToPubSub — Publish a message into a 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/sensitive-data-protection/docs/reference/rest/v2/projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk
        - `topic` string — 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}.
      - `publishFindingsToCloudDataCatalog` GooglePrivacyDlpV2PublishFindingsToCloudDataCatalog — Publish findings of a DlpJob to Data Catalog. In Data Catalog, tag templates are applied to the resource that Cloud DLP scanned. Data Catalog tag templates are stored in the same project and region where the BigQuery table exists. For Cloud DLP to create and apply the tag template, the Cloud DLP service agent must have the `roles/datacatalog.tagTemplateOwner` permission on the project. The tag template contains fields summarizing the results of the DlpJob. Any field values previously written by another DlpJob are deleted. InfoType naming patterns are strictly enforced when using this feature. Findings are persisted in Data Catalog storage and are governed by service-specific policies for Data Catalog. For more information, see [Service Specific Terms](https://cloud.google.com/terms/service-terms). Only a single instance of this action can be specified. This action is allowed only if all resources being scanned are BigQuery tables. Compatible with: Inspect
      - `publishSummaryToCscc` GooglePrivacyDlpV2PublishSummaryToCscc — Publish the result summary of a DlpJob to [Security Command Center](https://cloud.google.com/security-command-center). This action is available for only projects that belong to an organization. This action publishes the count of finding instances and their infoTypes. The summary of findings are persisted in Security Command Center and are governed by [service-specific policies for Security Command Center](https://cloud.google.com/terms/service-terms). Only a single instance of this action can be specified. Compatible with: Inspect
      - `jobNotificationEmails` GooglePrivacyDlpV2JobNotificationEmails — Sends an email when the job completes. The email goes to IAM project owners and technical [Essential Contacts](https://cloud.google.com/resource-manager/docs/managing-notification-contacts).
      - `saveFindings` GooglePrivacyDlpV2SaveFindings — 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
        - `outputConfig` GooglePrivacyDlpV2OutputStorageConfig — Cloud repository for storing output.
          - `storagePath` GooglePrivacyDlpV2CloudStoragePath — Message representing a single file or path in Cloud Storage.
            - `path` string — A URL representing a file or path (no wildcards) in Cloud Storage. Example: `gs://[BUCKET_NAME]/dictionary.txt`
          - `outputSchema` 'OUTPUT_SCHEMA_UNSPECIFIED' | 'BASIC_COLUMNS' | 'GCS_COLUMNS' | 'DATASTORE_COLUMNS' | 'BIG_QUERY_COLUMNS' | 'ALL_COLUMNS' — 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.
          - `table` GooglePrivacyDlpV2BigQueryTable — 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 `..`.
            - `projectId` string — The Google Cloud project ID of the project containing the table. If omitted, project ID is inferred from the API call.
            - `datasetId` string — Dataset ID of the table.
            - `tableId` string — Name of the table.
      - `publishFindingsToDataplexCatalog` GooglePrivacyDlpV2PublishFindingsToDataplexCatalog — Publish findings of a DlpJob to Dataplex Universal Catalog as a `sensitive-data-protection-job-result` aspect. For more information, see [Send inspection results to Dataplex Universal Catalog as aspects](https://cloud.google.com/sensitive-data-protection/docs/add-aspects-inspection-job). Aspects are stored in Dataplex Universal Catalog storage and are governed by service-specific policies for Dataplex Universal Catalog. For more information, see [Service Specific Terms](https://cloud.google.com/terms/service-terms). Only a single instance of this action can be specified. This action is allowed only if all resources being scanned are BigQuery tables. Compatible with: Inspect
      - `publishToStackdriver` GooglePrivacyDlpV2PublishToStackdriver — 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'.
  - `jobId` string — 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.
  - `locationId` string — Deprecated. This field has no effect.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/dlp.md) · [All operations](https://skmtc.net/google/apis/dlp/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/dlp/revisions/98ced13f7159/schema)
