1<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5  margin: 0;
6  padding: 0;
7  border: 0;
8  font-weight: inherit;
9  font-style: inherit;
10  font-size: 100%;
11  font-family: inherit;
12  vertical-align: baseline;
13}
14
15body {
16  font-size: 13px;
17  padding: 1em;
18}
19
20h1 {
21  font-size: 26px;
22  margin-bottom: 1em;
23}
24
25h2 {
26  font-size: 24px;
27  margin-bottom: 1em;
28}
29
30h3 {
31  font-size: 20px;
32  margin-bottom: 1em;
33  margin-top: 1em;
34}
35
36pre, code {
37  line-height: 1.5;
38  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42  margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46  font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50  border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54  margin-top: 0.5em;
55}
56
57.firstline {
58  margin-left: 2 em;
59}
60
61.method  {
62  margin-top: 1em;
63  border: solid 1px #CCC;
64  padding: 1em;
65  background: #EEE;
66}
67
68.details {
69  font-weight: bold;
70  font-size: 14px;
71}
72
73</style>
74
75<h1><a href="dlp_v2.html">Cloud Data Loss Prevention (DLP) API</a> . <a href="dlp_v2.projects.html">projects</a> . <a href="dlp_v2.projects.jobTriggers.html">jobTriggers</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78  <code><a href="#activate">activate(name, body=None, x__xgafv=None)</a></code></p>
79<p class="firstline">Activate a job trigger. Causes the immediate execute of a trigger</p>
80<p class="toc_element">
81  <code><a href="#create">create(parent, body, x__xgafv=None)</a></code></p>
82<p class="firstline">Creates a job trigger to run DLP actions such as scanning storage for</p>
83<p class="toc_element">
84  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
85<p class="firstline">Deletes a job trigger.</p>
86<p class="toc_element">
87  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
88<p class="firstline">Gets a job trigger.</p>
89<p class="toc_element">
90  <code><a href="#list">list(parent, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None, filter=None)</a></code></p>
91<p class="firstline">Lists job triggers.</p>
92<p class="toc_element">
93  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
94<p class="firstline">Retrieves the next page of results.</p>
95<p class="toc_element">
96  <code><a href="#patch">patch(name, body, x__xgafv=None)</a></code></p>
97<p class="firstline">Updates a job trigger.</p>
98<h3>Method Details</h3>
99<div class="method">
100    <code class="details" id="activate">activate(name, body=None, x__xgafv=None)</code>
101  <pre>Activate a job trigger. Causes the immediate execute of a trigger
102instead of waiting on the trigger event to occur.
103
104Args:
105  name: string, Resource name of the trigger to activate, for example
106`projects/dlp-test-project/jobTriggers/53234423`. (required)
107  body: object, The request body.
108    The object takes the form of:
109
110{ # Request message for ActivateJobTrigger.
111  }
112
113  x__xgafv: string, V1 error format.
114    Allowed values
115      1 - v1 error format
116      2 - v2 error format
117
118Returns:
119  An object of the form:
120
121    { # Combines all of the information about a DLP job.
122    "errors": [ # A stream of errors encountered running the job.
123      { # Details information about an error encountered during job execution or
124          # the results of an unsuccessful activation of the JobTrigger.
125          # Output only field.
126        "timestamps": [ # The times the error occurred.
127          "A String",
128        ],
129        "details": { # The `Status` type defines a logical error model that is suitable for
130            # different programming environments, including REST APIs and RPC APIs. It is
131            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
132            # three pieces of data: error code, error message, and error details.
133            #
134            # You can find out more about this error model and how to work with it in the
135            # [API Design Guide](https://cloud.google.com/apis/design/errors).
136          "message": "A String", # A developer-facing error message, which should be in English. Any
137              # user-facing error message should be localized and sent in the
138              # google.rpc.Status.details field, or localized by the client.
139          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
140          "details": [ # A list of messages that carry the error details.  There is a common set of
141              # message types for APIs to use.
142            {
143              "a_key": "", # Properties of the object. Contains field @type with type URL.
144            },
145          ],
146        },
147      },
148    ],
149    "name": "A String", # The server-assigned name.
150    "inspectDetails": { # The results of an inspect DataSource job. # Results from inspecting a data source.
151      "requestedOptions": { # The configuration used for this job.
152        "snapshotInspectTemplate": { # The inspectTemplate contains a configuration (set of types of sensitive data # If run with an InspectTemplate, a snapshot of its state at the time of
153            # this run.
154            # to be detected) to be used anywhere you otherwise would normally specify
155            # InspectConfig. See https://cloud.google.com/dlp/docs/concepts-templates
156            # to learn more.
157          "updateTime": "A String", # The last update timestamp of a inspectTemplate, output only field.
158          "displayName": "A String", # Display name (max 256 chars).
159          "description": "A String", # Short description (max 256 chars).
160          "inspectConfig": { # Configuration description of the scanning process. # The core content of the template. Configuration of the scanning process.
161              # When used with redactContent only info_types and min_likelihood are currently
162              # used.
163            "excludeInfoTypes": True or False, # When true, excludes type information of the findings.
164            "limits": {
165              "maxFindingsPerRequest": 42, # Max number of findings that will be returned per request/job.
166                  # When set within `InspectContentRequest`, the maximum returned is 2000
167                  # regardless if this is set higher.
168              "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes.
169                { # Max findings configuration per infoType, per content item or long
170                    # running DlpJob.
171                  "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
172                      # info_type should be provided. If InfoTypeLimit does not have an
173                      # info_type, the DLP API applies the limit against all info_types that
174                      # are found but not specified in another InfoTypeLimit.
175                    "name": "A String", # Name of the information type. Either a name of your choosing when
176                        # creating a CustomInfoType, or one of the names listed
177                        # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
178                        # a built-in type. InfoType names should conform to the pattern
179                        # [a-zA-Z0-9_]{1,64}.
180                  },
181                  "maxFindings": 42, # Max findings limit for the given infoType.
182                },
183              ],
184              "maxFindingsPerItem": 42, # Max number of findings that will be returned for each item scanned.
185                  # When set within `InspectDataSourceRequest`,
186                  # the maximum returned is 2000 regardless if this is set higher.
187                  # When set within `InspectContentRequest`, this field is ignored.
188            },
189            "minLikelihood": "A String", # Only returns findings equal or above this threshold. The default is
190                # POSSIBLE.
191                # See https://cloud.google.com/dlp/docs/likelihood to learn more.
192            "customInfoTypes": [ # CustomInfoTypes provided by the user. See
193                # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
194              { # Custom information type provided by the user. Used to find domain-specific
195                  # sensitive information configurable to the data in question.
196                "regex": { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
197                  "pattern": "A String", # Pattern defining the regular expression. Its syntax
198                      # (https://github.com/google/re2/wiki/Syntax) can be found under the
199                      # google/re2 repository on GitHub.
200                  "groupIndexes": [ # The index of the submatch to extract as findings. When not
201                      # specified, the entire match is returned. No more than 3 may be included.
202                    42,
203                  ],
204                },
205                "surrogateType": { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
206                    # support reversing.
207                    # such as
208                    # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
209                    # These types of transformations are
210                    # those that perform pseudonymization, thereby producing a "surrogate" as
211                    # output. This should be used in conjunction with a field on the
212                    # transformation such as `surrogate_info_type`. This CustomInfoType does
213                    # not support the use of `detection_rules`.
214                },
215                "infoType": { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
216                    # infoType, when the name matches one of existing infoTypes and that infoType
217                    # is specified in `InspectContent.info_types` field. Specifying the latter
218                    # adds findings to the one detected by the system. If built-in info type is
219                    # not specified in `InspectContent.info_types` list then the name is treated
220                    # as a custom info type.
221                  "name": "A String", # Name of the information type. Either a name of your choosing when
222                      # creating a CustomInfoType, or one of the names listed
223                      # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
224                      # a built-in type. InfoType names should conform to the pattern
225                      # [a-zA-Z0-9_]{1,64}.
226                },
227                "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # A list of phrases to detect as a CustomInfoType.
228                    # be used to match sensitive information specific to the data, such as a list
229                    # of employee IDs or job titles.
230                    #
231                    # Dictionary words are case-insensitive and all characters other than letters
232                    # and digits in the unicode [Basic Multilingual
233                    # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
234                    # will be replaced with whitespace when scanning for matches, so the
235                    # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
236                    # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
237                    # surrounding any match must be of a different type than the adjacent
238                    # characters within the word, so letters must be next to non-letters and
239                    # digits next to non-digits. For example, the dictionary word "jen" will
240                    # match the first three letters of the text "jen123" but will return no
241                    # matches for "jennifer".
242                    #
243                    # Dictionary words containing a large number of characters that are not
244                    # letters or digits may result in unexpected findings because such characters
245                    # are treated as whitespace. The
246                    # [limits](https://cloud.google.com/dlp/limits) page contains details about
247                    # the size limits of dictionaries. For dictionaries that do not fit within
248                    # these constraints, consider using `LargeCustomDictionaryConfig` in the
249                    # `StoredInfoType` API.
250                  "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
251                    "words": [ # Words or phrases defining the dictionary. The dictionary must contain
252                        # at least one phrase and every phrase must contain at least 2 characters
253                        # that are letters or digits. [required]
254                      "A String",
255                    ],
256                  },
257                  "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
258                      # is accepted.
259                    "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
260                        # Example: gs://[BUCKET_NAME]/dictionary.txt
261                  },
262                },
263                "storedType": { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
264                    # `InspectDataSource`. Not currently supported in `InspectContent`.
265                  "name": "A String", # Resource name of the requested `StoredInfoType`, for example
266                      # `organizations/433245324/storedInfoTypes/432452342` or
267                      # `projects/project-id/storedInfoTypes/432452342`.
268                  "createTime": "A String", # Timestamp indicating when the version of the `StoredInfoType` used for
269                      # inspection was created. Output-only field, populated by the system.
270                },
271                "detectionRules": [ # Set of detection rules to apply to all findings of this CustomInfoType.
272                    # Rules are applied in order that they are specified. Not supported for the
273                    # `surrogate_type` CustomInfoType.
274                  { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
275                      # `CustomInfoType` to alter behavior under certain circumstances, depending
276                      # on the specific details of the rule. Not supported for the `surrogate_type`
277                      # custom infoType.
278                    "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
279                        # proximity of hotwords.
280                      "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
281                          # The total length of the window cannot exceed 1000 characters. Note that
282                          # the finding itself will be included in the window, so that hotwords may
283                          # be used to match substrings of the finding itself. For example, the
284                          # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
285                          # adjusted upwards if the area code is known to be the local area code of
286                          # a company office using the hotword regex "\(xxx\)", where "xxx"
287                          # is the area code in question.
288                          # rule.
289                        "windowAfter": 42, # Number of characters after the finding to consider.
290                        "windowBefore": 42, # Number of characters before the finding to consider.
291                      },
292                      "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
293                        "pattern": "A String", # Pattern defining the regular expression. Its syntax
294                            # (https://github.com/google/re2/wiki/Syntax) can be found under the
295                            # google/re2 repository on GitHub.
296                        "groupIndexes": [ # The index of the submatch to extract as findings. When not
297                            # specified, the entire match is returned. No more than 3 may be included.
298                          42,
299                        ],
300                      },
301                      "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
302                          # part of a detection rule.
303                        "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
304                            # levels. For example, if a finding would be `POSSIBLE` without the
305                            # detection rule and `relative_likelihood` is 1, then it is upgraded to
306                            # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
307                            # Likelihood may never drop below `VERY_UNLIKELY` or exceed
308                            # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
309                            # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
310                            # a final likelihood of `LIKELY`.
311                        "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
312                      },
313                    },
314                  },
315                ],
316                "exclusionType": "A String", # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
317                    # to be returned. It still can be used for rules matching.
318                "likelihood": "A String", # Likelihood to return for this CustomInfoType. This base value can be
319                    # altered by a detection rule if the finding meets the criteria specified by
320                    # the rule. Defaults to `VERY_LIKELY` if not specified.
321              },
322            ],
323            "includeQuote": True or False, # When true, a contextual quote from the data that triggered a finding is
324                # included in the response; see Finding.quote.
325            "ruleSet": [ # Set of rules to apply to the findings for this InspectConfig.
326                # Exclusion rules, contained in the set are executed in the end, other
327                # rules are executed in the order they are specified for each info type.
328              { # Rule set for modifying a set of infoTypes to alter behavior under certain
329                  # circumstances, depending on the specific details of the rules within the set.
330                "rules": [ # Set of rules to be applied to infoTypes. The rules are applied in order.
331                  { # A single inspection rule to be applied to infoTypes, specified in
332                      # `InspectionRuleSet`.
333                    "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
334                        # proximity of hotwords.
335                      "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
336                          # The total length of the window cannot exceed 1000 characters. Note that
337                          # the finding itself will be included in the window, so that hotwords may
338                          # be used to match substrings of the finding itself. For example, the
339                          # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
340                          # adjusted upwards if the area code is known to be the local area code of
341                          # a company office using the hotword regex "\(xxx\)", where "xxx"
342                          # is the area code in question.
343                          # rule.
344                        "windowAfter": 42, # Number of characters after the finding to consider.
345                        "windowBefore": 42, # Number of characters before the finding to consider.
346                      },
347                      "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
348                        "pattern": "A String", # Pattern defining the regular expression. Its syntax
349                            # (https://github.com/google/re2/wiki/Syntax) can be found under the
350                            # google/re2 repository on GitHub.
351                        "groupIndexes": [ # The index of the submatch to extract as findings. When not
352                            # specified, the entire match is returned. No more than 3 may be included.
353                          42,
354                        ],
355                      },
356                      "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
357                          # part of a detection rule.
358                        "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
359                            # levels. For example, if a finding would be `POSSIBLE` without the
360                            # detection rule and `relative_likelihood` is 1, then it is upgraded to
361                            # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
362                            # Likelihood may never drop below `VERY_UNLIKELY` or exceed
363                            # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
364                            # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
365                            # a final likelihood of `LIKELY`.
366                        "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
367                      },
368                    },
369                    "exclusionRule": { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
370                        # `InspectionRuleSet` are removed from results.
371                      "regex": { # Message defining a custom regular expression. # Regular expression which defines the rule.
372                        "pattern": "A String", # Pattern defining the regular expression. Its syntax
373                            # (https://github.com/google/re2/wiki/Syntax) can be found under the
374                            # google/re2 repository on GitHub.
375                        "groupIndexes": [ # The index of the submatch to extract as findings. When not
376                            # specified, the entire match is returned. No more than 3 may be included.
377                          42,
378                        ],
379                      },
380                      "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
381                        "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
382                            # contained within with a finding of an infoType from this list. For
383                            # example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and
384                            # `exclusion_rule` containing `exclude_info_types.info_types` with
385                            # "EMAIL_ADDRESS" the phone number findings are dropped if they overlap
386                            # with EMAIL_ADDRESS finding.
387                            # That leads to "555-222-2222@example.org" to generate only a single
388                            # finding, namely email address.
389                          { # Type of information detected by the API.
390                            "name": "A String", # Name of the information type. Either a name of your choosing when
391                                # creating a CustomInfoType, or one of the names listed
392                                # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
393                                # a built-in type. InfoType names should conform to the pattern
394                                # [a-zA-Z0-9_]{1,64}.
395                          },
396                        ],
397                      },
398                      "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
399                          # be used to match sensitive information specific to the data, such as a list
400                          # of employee IDs or job titles.
401                          #
402                          # Dictionary words are case-insensitive and all characters other than letters
403                          # and digits in the unicode [Basic Multilingual
404                          # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
405                          # will be replaced with whitespace when scanning for matches, so the
406                          # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
407                          # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
408                          # surrounding any match must be of a different type than the adjacent
409                          # characters within the word, so letters must be next to non-letters and
410                          # digits next to non-digits. For example, the dictionary word "jen" will
411                          # match the first three letters of the text "jen123" but will return no
412                          # matches for "jennifer".
413                          #
414                          # Dictionary words containing a large number of characters that are not
415                          # letters or digits may result in unexpected findings because such characters
416                          # are treated as whitespace. The
417                          # [limits](https://cloud.google.com/dlp/limits) page contains details about
418                          # the size limits of dictionaries. For dictionaries that do not fit within
419                          # these constraints, consider using `LargeCustomDictionaryConfig` in the
420                          # `StoredInfoType` API.
421                        "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
422                          "words": [ # Words or phrases defining the dictionary. The dictionary must contain
423                              # at least one phrase and every phrase must contain at least 2 characters
424                              # that are letters or digits. [required]
425                            "A String",
426                          ],
427                        },
428                        "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
429                            # is accepted.
430                          "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
431                              # Example: gs://[BUCKET_NAME]/dictionary.txt
432                        },
433                      },
434                      "matchingType": "A String", # How the rule is applied, see MatchingType documentation for details.
435                    },
436                  },
437                ],
438                "infoTypes": [ # List of infoTypes this rule set is applied to.
439                  { # Type of information detected by the API.
440                    "name": "A String", # Name of the information type. Either a name of your choosing when
441                        # creating a CustomInfoType, or one of the names listed
442                        # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
443                        # a built-in type. InfoType names should conform to the pattern
444                        # [a-zA-Z0-9_]{1,64}.
445                  },
446                ],
447              },
448            ],
449            "contentOptions": [ # List of options defining data content to scan.
450                # If empty, text, images, and other content will be included.
451              "A String",
452            ],
453            "infoTypes": [ # Restricts what info_types to look for. The values must correspond to
454                # InfoType values returned by ListInfoTypes or listed at
455                # https://cloud.google.com/dlp/docs/infotypes-reference.
456                #
457                # When no InfoTypes or CustomInfoTypes are specified in a request, the
458                # system may automatically choose what detectors to run. By default this may
459                # be all types, but may change over time as detectors are updated.
460                #
461                # The special InfoType name "ALL_BASIC" can be used to trigger all detectors,
462                # but may change over time as new InfoTypes are added. If you need precise
463                # control and predictability as to what detectors are run you should specify
464                # specific InfoTypes listed in the reference.
465              { # Type of information detected by the API.
466                "name": "A String", # Name of the information type. Either a name of your choosing when
467                    # creating a CustomInfoType, or one of the names listed
468                    # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
469                    # a built-in type. InfoType names should conform to the pattern
470                    # [a-zA-Z0-9_]{1,64}.
471              },
472            ],
473          },
474          "createTime": "A String", # The creation timestamp of a inspectTemplate, output only field.
475          "name": "A String", # The template name. Output only.
476              #
477              # The template will have one of the following formats:
478              # `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR
479              # `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID`
480        },
481        "jobConfig": {
482          "storageConfig": { # Shared message indicating Cloud storage type. # The data to scan.
483            "datastoreOptions": { # Options defining a data set within Google Cloud Datastore. # Google Cloud Datastore options specification.
484              "partitionId": { # Datastore partition ID. # A partition ID identifies a grouping of entities. The grouping is always
485                  # by project and namespace, however the namespace ID may be empty.
486                  # A partition ID identifies a grouping of entities. The grouping is always
487                  # by project and namespace, however the namespace ID may be empty.
488                  #
489                  # A partition ID contains several dimensions:
490                  # project ID and namespace ID.
491                "projectId": "A String", # The ID of the project to which the entities belong.
492                "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
493              },
494              "kind": { # A representation of a Datastore kind. # The kind to process.
495                "name": "A String", # The name of the kind.
496              },
497            },
498            "bigQueryOptions": { # Options defining BigQuery table and row identifiers. # BigQuery options specification.
499              "excludedFields": [ # References to fields excluded from scanning. This allows you to skip
500                  # inspection of entire columns which you know have no findings.
501                { # General identifier of a data field in a storage service.
502                  "name": "A String", # Name describing the field.
503                },
504              ],
505              "rowsLimit": "A String", # Max number of rows to scan. If the table has more rows than this value, the
506                  # rest of the rows are omitted. If not set, or if set to 0, all rows will be
507                  # scanned. Only one of rows_limit and rows_limit_percent can be specified.
508                  # Cannot be used in conjunction with TimespanConfig.
509              "sampleMethod": "A String",
510              "identifyingFields": [ # References to fields uniquely identifying rows within the table.
511                  # Nested fields in the format, like `person.birthdate.year`, are allowed.
512                { # General identifier of a data field in a storage service.
513                  "name": "A String", # Name describing the field.
514                },
515              ],
516              "rowsLimitPercent": 42, # Max percentage of rows to scan. The rest are omitted. The number of rows
517                  # scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
518                  # 100 means no limit. Defaults to 0. Only one of rows_limit and
519                  # rows_limit_percent can be specified. Cannot be used in conjunction with
520                  # TimespanConfig.
521              "tableReference": { # Message defining the location of a BigQuery table. A table is uniquely # Complete BigQuery table reference.
522                  # identified  by its project_id, dataset_id, and table_name. Within a query
523                  # a table is often referenced with a string in the format of:
524                  # `<project_id>:<dataset_id>.<table_id>` or
525                  # `<project_id>.<dataset_id>.<table_id>`.
526                "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
527                    # If omitted, project ID is inferred from the API call.
528                "tableId": "A String", # Name of the table.
529                "datasetId": "A String", # Dataset ID of the table.
530              },
531            },
532            "timespanConfig": { # Configuration of the timespan of the items to include in scanning.
533                # Currently only supported when inspecting Google Cloud Storage and BigQuery.
534              "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items.
535                  # Used for data sources like Datastore or BigQuery.
536                  # If not specified for BigQuery, table last modification timestamp
537                  # is checked against given time span.
538                  # The valid data types of the timestamp field are:
539                  # for BigQuery - timestamp, date, datetime;
540                  # for Datastore - timestamp.
541                  # Datastore entity will be scanned if the timestamp property does not exist
542                  # or its value is empty or invalid.
543                "name": "A String", # Name describing the field.
544              },
545              "endTime": "A String", # Exclude files or rows newer than this value.
546                  # If set to zero, no upper time limit is applied.
547              "startTime": "A String", # Exclude files or rows older than this value.
548              "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out
549                  # a valid start_time to avoid scanning files that have not been modified
550                  # since the last time the JobTrigger executed. This will be based on the
551                  # time of the execution of the last run of the JobTrigger.
552            },
553            "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage # Google Cloud Storage options specification.
554                # bucket.
555              "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger
556                  # than this value then the rest of the bytes are omitted. Only one
557                  # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
558              "sampleMethod": "A String",
559              "fileSet": { # Set of files to scan. # The set of one or more files to scan.
560                "url": "A String", # The Cloud Storage url of the file(s) to scan, in the format
561                    # `gs://<bucket>/<path>`. Trailing wildcard in the path is allowed.
562                    #
563                    # If the url ends in a trailing slash, the bucket or directory represented
564                    # by the url will be scanned non-recursively (content in sub-directories
565                    # will not be scanned). This means that `gs://mybucket/` is equivalent to
566                    # `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
567                    # `gs://mybucket/directory/*`.
568                    #
569                    # Exactly one of `url` or `regex_file_set` must be set.
570                "regexFileSet": { # Message representing a set of files in a Cloud Storage bucket. Regular # The regex-filtered set of files to scan. Exactly one of `url` or
571                    # `regex_file_set` must be set.
572                    # expressions are used to allow fine-grained control over which files in the
573                    # bucket to include.
574                    #
575                    # Included files are those that match at least one item in `include_regex` and
576                    # do not match any items in `exclude_regex`. Note that a file that matches
577                    # items from both lists will _not_ be included. For a match to occur, the
578                    # entire file path (i.e., everything in the url after the bucket name) must
579                    # match the regular expression.
580                    #
581                    # For example, given the input `{bucket_name: "mybucket", include_regex:
582                    # ["directory1/.*"], exclude_regex:
583                    # ["directory1/excluded.*"]}`:
584                    #
585                    # * `gs://mybucket/directory1/myfile` will be included
586                    # * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
587                    # across `/`)
588                    # * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
589                    # full path doesn't match any items in `include_regex`)
590                    # * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
591                    # matches an item in `exclude_regex`)
592                    #
593                    # If `include_regex` is left empty, it will match all files by default
594                    # (this is equivalent to setting `include_regex: [".*"]`).
595                    #
596                    # Some other common use cases:
597                    #
598                    # * `{bucket_name: "mybucket", exclude_regex: [".*\.pdf"]}` will include all
599                    # files in `mybucket` except for .pdf files
600                    # * `{bucket_name: "mybucket", include_regex: ["directory/[^/]+"]}` will
601                    # include all files directly under `gs://mybucket/directory/`, without matching
602                    # across `/`
603                  "excludeRegex": [ # A list of regular expressions matching file paths to exclude. All files in
604                      # the bucket that match at least one of these regular expressions will be
605                      # excluded from the scan.
606                      #
607                      # Regular expressions use RE2
608                      # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
609                      # under the google/re2 repository on GitHub.
610                    "A String",
611                  ],
612                  "bucketName": "A String", # The name of a Cloud Storage bucket. Required.
613                  "includeRegex": [ # A list of regular expressions matching file paths to include. All files in
614                      # the bucket that match at least one of these regular expressions will be
615                      # included in the set of files, except for those that also match an item in
616                      # `exclude_regex`. Leaving this field empty will match all files by default
617                      # (this is equivalent to including `.*` in the list).
618                      #
619                      # Regular expressions use RE2
620                      # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
621                      # under the google/re2 repository on GitHub.
622                    "A String",
623                  ],
624                },
625              },
626              "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The
627                  # number of bytes scanned is rounded down. Must be between 0 and 100,
628                  # inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
629                  # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
630              "filesLimitPercent": 42, # Limits the number of files to scan to this percentage of the input FileSet.
631                  # Number of files scanned is rounded down. Must be between 0 and 100,
632                  # inclusively. Both 0 and 100 means no limit. Defaults to 0.
633              "fileTypes": [ # List of file type groups to include in the scan.
634                  # If empty, all files are scanned and available data format processors
635                  # are applied. In addition, the binary content of the selected files
636                  # is always scanned as well.
637                "A String",
638              ],
639            },
640          },
641          "inspectConfig": { # Configuration description of the scanning process. # How and what to scan for.
642              # When used with redactContent only info_types and min_likelihood are currently
643              # used.
644            "excludeInfoTypes": True or False, # When true, excludes type information of the findings.
645            "limits": {
646              "maxFindingsPerRequest": 42, # Max number of findings that will be returned per request/job.
647                  # When set within `InspectContentRequest`, the maximum returned is 2000
648                  # regardless if this is set higher.
649              "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes.
650                { # Max findings configuration per infoType, per content item or long
651                    # running DlpJob.
652                  "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
653                      # info_type should be provided. If InfoTypeLimit does not have an
654                      # info_type, the DLP API applies the limit against all info_types that
655                      # are found but not specified in another InfoTypeLimit.
656                    "name": "A String", # Name of the information type. Either a name of your choosing when
657                        # creating a CustomInfoType, or one of the names listed
658                        # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
659                        # a built-in type. InfoType names should conform to the pattern
660                        # [a-zA-Z0-9_]{1,64}.
661                  },
662                  "maxFindings": 42, # Max findings limit for the given infoType.
663                },
664              ],
665              "maxFindingsPerItem": 42, # Max number of findings that will be returned for each item scanned.
666                  # When set within `InspectDataSourceRequest`,
667                  # the maximum returned is 2000 regardless if this is set higher.
668                  # When set within `InspectContentRequest`, this field is ignored.
669            },
670            "minLikelihood": "A String", # Only returns findings equal or above this threshold. The default is
671                # POSSIBLE.
672                # See https://cloud.google.com/dlp/docs/likelihood to learn more.
673            "customInfoTypes": [ # CustomInfoTypes provided by the user. See
674                # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
675              { # Custom information type provided by the user. Used to find domain-specific
676                  # sensitive information configurable to the data in question.
677                "regex": { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
678                  "pattern": "A String", # Pattern defining the regular expression. Its syntax
679                      # (https://github.com/google/re2/wiki/Syntax) can be found under the
680                      # google/re2 repository on GitHub.
681                  "groupIndexes": [ # The index of the submatch to extract as findings. When not
682                      # specified, the entire match is returned. No more than 3 may be included.
683                    42,
684                  ],
685                },
686                "surrogateType": { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
687                    # support reversing.
688                    # such as
689                    # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
690                    # These types of transformations are
691                    # those that perform pseudonymization, thereby producing a "surrogate" as
692                    # output. This should be used in conjunction with a field on the
693                    # transformation such as `surrogate_info_type`. This CustomInfoType does
694                    # not support the use of `detection_rules`.
695                },
696                "infoType": { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
697                    # infoType, when the name matches one of existing infoTypes and that infoType
698                    # is specified in `InspectContent.info_types` field. Specifying the latter
699                    # adds findings to the one detected by the system. If built-in info type is
700                    # not specified in `InspectContent.info_types` list then the name is treated
701                    # as a custom info type.
702                  "name": "A String", # Name of the information type. Either a name of your choosing when
703                      # creating a CustomInfoType, or one of the names listed
704                      # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
705                      # a built-in type. InfoType names should conform to the pattern
706                      # [a-zA-Z0-9_]{1,64}.
707                },
708                "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # A list of phrases to detect as a CustomInfoType.
709                    # be used to match sensitive information specific to the data, such as a list
710                    # of employee IDs or job titles.
711                    #
712                    # Dictionary words are case-insensitive and all characters other than letters
713                    # and digits in the unicode [Basic Multilingual
714                    # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
715                    # will be replaced with whitespace when scanning for matches, so the
716                    # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
717                    # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
718                    # surrounding any match must be of a different type than the adjacent
719                    # characters within the word, so letters must be next to non-letters and
720                    # digits next to non-digits. For example, the dictionary word "jen" will
721                    # match the first three letters of the text "jen123" but will return no
722                    # matches for "jennifer".
723                    #
724                    # Dictionary words containing a large number of characters that are not
725                    # letters or digits may result in unexpected findings because such characters
726                    # are treated as whitespace. The
727                    # [limits](https://cloud.google.com/dlp/limits) page contains details about
728                    # the size limits of dictionaries. For dictionaries that do not fit within
729                    # these constraints, consider using `LargeCustomDictionaryConfig` in the
730                    # `StoredInfoType` API.
731                  "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
732                    "words": [ # Words or phrases defining the dictionary. The dictionary must contain
733                        # at least one phrase and every phrase must contain at least 2 characters
734                        # that are letters or digits. [required]
735                      "A String",
736                    ],
737                  },
738                  "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
739                      # is accepted.
740                    "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
741                        # Example: gs://[BUCKET_NAME]/dictionary.txt
742                  },
743                },
744                "storedType": { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
745                    # `InspectDataSource`. Not currently supported in `InspectContent`.
746                  "name": "A String", # Resource name of the requested `StoredInfoType`, for example
747                      # `organizations/433245324/storedInfoTypes/432452342` or
748                      # `projects/project-id/storedInfoTypes/432452342`.
749                  "createTime": "A String", # Timestamp indicating when the version of the `StoredInfoType` used for
750                      # inspection was created. Output-only field, populated by the system.
751                },
752                "detectionRules": [ # Set of detection rules to apply to all findings of this CustomInfoType.
753                    # Rules are applied in order that they are specified. Not supported for the
754                    # `surrogate_type` CustomInfoType.
755                  { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
756                      # `CustomInfoType` to alter behavior under certain circumstances, depending
757                      # on the specific details of the rule. Not supported for the `surrogate_type`
758                      # custom infoType.
759                    "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
760                        # proximity of hotwords.
761                      "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
762                          # The total length of the window cannot exceed 1000 characters. Note that
763                          # the finding itself will be included in the window, so that hotwords may
764                          # be used to match substrings of the finding itself. For example, the
765                          # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
766                          # adjusted upwards if the area code is known to be the local area code of
767                          # a company office using the hotword regex "\(xxx\)", where "xxx"
768                          # is the area code in question.
769                          # rule.
770                        "windowAfter": 42, # Number of characters after the finding to consider.
771                        "windowBefore": 42, # Number of characters before the finding to consider.
772                      },
773                      "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
774                        "pattern": "A String", # Pattern defining the regular expression. Its syntax
775                            # (https://github.com/google/re2/wiki/Syntax) can be found under the
776                            # google/re2 repository on GitHub.
777                        "groupIndexes": [ # The index of the submatch to extract as findings. When not
778                            # specified, the entire match is returned. No more than 3 may be included.
779                          42,
780                        ],
781                      },
782                      "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
783                          # part of a detection rule.
784                        "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
785                            # levels. For example, if a finding would be `POSSIBLE` without the
786                            # detection rule and `relative_likelihood` is 1, then it is upgraded to
787                            # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
788                            # Likelihood may never drop below `VERY_UNLIKELY` or exceed
789                            # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
790                            # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
791                            # a final likelihood of `LIKELY`.
792                        "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
793                      },
794                    },
795                  },
796                ],
797                "exclusionType": "A String", # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
798                    # to be returned. It still can be used for rules matching.
799                "likelihood": "A String", # Likelihood to return for this CustomInfoType. This base value can be
800                    # altered by a detection rule if the finding meets the criteria specified by
801                    # the rule. Defaults to `VERY_LIKELY` if not specified.
802              },
803            ],
804            "includeQuote": True or False, # When true, a contextual quote from the data that triggered a finding is
805                # included in the response; see Finding.quote.
806            "ruleSet": [ # Set of rules to apply to the findings for this InspectConfig.
807                # Exclusion rules, contained in the set are executed in the end, other
808                # rules are executed in the order they are specified for each info type.
809              { # Rule set for modifying a set of infoTypes to alter behavior under certain
810                  # circumstances, depending on the specific details of the rules within the set.
811                "rules": [ # Set of rules to be applied to infoTypes. The rules are applied in order.
812                  { # A single inspection rule to be applied to infoTypes, specified in
813                      # `InspectionRuleSet`.
814                    "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
815                        # proximity of hotwords.
816                      "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
817                          # The total length of the window cannot exceed 1000 characters. Note that
818                          # the finding itself will be included in the window, so that hotwords may
819                          # be used to match substrings of the finding itself. For example, the
820                          # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
821                          # adjusted upwards if the area code is known to be the local area code of
822                          # a company office using the hotword regex "\(xxx\)", where "xxx"
823                          # is the area code in question.
824                          # rule.
825                        "windowAfter": 42, # Number of characters after the finding to consider.
826                        "windowBefore": 42, # Number of characters before the finding to consider.
827                      },
828                      "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
829                        "pattern": "A String", # Pattern defining the regular expression. Its syntax
830                            # (https://github.com/google/re2/wiki/Syntax) can be found under the
831                            # google/re2 repository on GitHub.
832                        "groupIndexes": [ # The index of the submatch to extract as findings. When not
833                            # specified, the entire match is returned. No more than 3 may be included.
834                          42,
835                        ],
836                      },
837                      "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
838                          # part of a detection rule.
839                        "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
840                            # levels. For example, if a finding would be `POSSIBLE` without the
841                            # detection rule and `relative_likelihood` is 1, then it is upgraded to
842                            # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
843                            # Likelihood may never drop below `VERY_UNLIKELY` or exceed
844                            # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
845                            # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
846                            # a final likelihood of `LIKELY`.
847                        "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
848                      },
849                    },
850                    "exclusionRule": { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
851                        # `InspectionRuleSet` are removed from results.
852                      "regex": { # Message defining a custom regular expression. # Regular expression which defines the rule.
853                        "pattern": "A String", # Pattern defining the regular expression. Its syntax
854                            # (https://github.com/google/re2/wiki/Syntax) can be found under the
855                            # google/re2 repository on GitHub.
856                        "groupIndexes": [ # The index of the submatch to extract as findings. When not
857                            # specified, the entire match is returned. No more than 3 may be included.
858                          42,
859                        ],
860                      },
861                      "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
862                        "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
863                            # contained within with a finding of an infoType from this list. For
864                            # example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and
865                            # `exclusion_rule` containing `exclude_info_types.info_types` with
866                            # "EMAIL_ADDRESS" the phone number findings are dropped if they overlap
867                            # with EMAIL_ADDRESS finding.
868                            # That leads to "555-222-2222@example.org" to generate only a single
869                            # finding, namely email address.
870                          { # Type of information detected by the API.
871                            "name": "A String", # Name of the information type. Either a name of your choosing when
872                                # creating a CustomInfoType, or one of the names listed
873                                # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
874                                # a built-in type. InfoType names should conform to the pattern
875                                # [a-zA-Z0-9_]{1,64}.
876                          },
877                        ],
878                      },
879                      "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
880                          # be used to match sensitive information specific to the data, such as a list
881                          # of employee IDs or job titles.
882                          #
883                          # Dictionary words are case-insensitive and all characters other than letters
884                          # and digits in the unicode [Basic Multilingual
885                          # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
886                          # will be replaced with whitespace when scanning for matches, so the
887                          # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
888                          # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
889                          # surrounding any match must be of a different type than the adjacent
890                          # characters within the word, so letters must be next to non-letters and
891                          # digits next to non-digits. For example, the dictionary word "jen" will
892                          # match the first three letters of the text "jen123" but will return no
893                          # matches for "jennifer".
894                          #
895                          # Dictionary words containing a large number of characters that are not
896                          # letters or digits may result in unexpected findings because such characters
897                          # are treated as whitespace. The
898                          # [limits](https://cloud.google.com/dlp/limits) page contains details about
899                          # the size limits of dictionaries. For dictionaries that do not fit within
900                          # these constraints, consider using `LargeCustomDictionaryConfig` in the
901                          # `StoredInfoType` API.
902                        "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
903                          "words": [ # Words or phrases defining the dictionary. The dictionary must contain
904                              # at least one phrase and every phrase must contain at least 2 characters
905                              # that are letters or digits. [required]
906                            "A String",
907                          ],
908                        },
909                        "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
910                            # is accepted.
911                          "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
912                              # Example: gs://[BUCKET_NAME]/dictionary.txt
913                        },
914                      },
915                      "matchingType": "A String", # How the rule is applied, see MatchingType documentation for details.
916                    },
917                  },
918                ],
919                "infoTypes": [ # List of infoTypes this rule set is applied to.
920                  { # Type of information detected by the API.
921                    "name": "A String", # Name of the information type. Either a name of your choosing when
922                        # creating a CustomInfoType, or one of the names listed
923                        # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
924                        # a built-in type. InfoType names should conform to the pattern
925                        # [a-zA-Z0-9_]{1,64}.
926                  },
927                ],
928              },
929            ],
930            "contentOptions": [ # List of options defining data content to scan.
931                # If empty, text, images, and other content will be included.
932              "A String",
933            ],
934            "infoTypes": [ # Restricts what info_types to look for. The values must correspond to
935                # InfoType values returned by ListInfoTypes or listed at
936                # https://cloud.google.com/dlp/docs/infotypes-reference.
937                #
938                # When no InfoTypes or CustomInfoTypes are specified in a request, the
939                # system may automatically choose what detectors to run. By default this may
940                # be all types, but may change over time as detectors are updated.
941                #
942                # The special InfoType name "ALL_BASIC" can be used to trigger all detectors,
943                # but may change over time as new InfoTypes are added. If you need precise
944                # control and predictability as to what detectors are run you should specify
945                # specific InfoTypes listed in the reference.
946              { # Type of information detected by the API.
947                "name": "A String", # Name of the information type. Either a name of your choosing when
948                    # creating a CustomInfoType, or one of the names listed
949                    # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
950                    # a built-in type. InfoType names should conform to the pattern
951                    # [a-zA-Z0-9_]{1,64}.
952              },
953            ],
954          },
955          "inspectTemplateName": "A String", # If provided, will be used as the default for all values in InspectConfig.
956              # `inspect_config` will be merged into the values persisted as part of the
957              # template.
958          "actions": [ # Actions to execute at the completion of the job.
959            { # A task to execute on the completion of a job.
960                # See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
961              "saveFindings": { # If set, the detailed findings will be persisted to the specified # Save resulting findings in a provided location.
962                  # OutputStorageConfig. Only a single instance of this action can be
963                  # specified.
964                  # Compatible with: Inspect, Risk
965                "outputConfig": { # Cloud repository for storing output.
966                  "table": { # Message defining the location of a BigQuery table. A table is uniquely # Store findings in an existing table or a new table in an existing
967                      # dataset. If table_id is not set a new one will be generated
968                      # for you with the following format:
969                      # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
970                      # generating the date details.
971                      #
972                      # For Inspect, each column in an existing output table must have the same
973                      # name, type, and mode of a field in the `Finding` object.
974                      #
975                      # For Risk, an existing output table should be the output of a previous
976                      # Risk analysis job run on the same source table, with the same privacy
977                      # metric and quasi-identifiers. Risk jobs that analyze the same table but
978                      # compute a different privacy metric, or use different sets of
979                      # quasi-identifiers, cannot store their results in the same table.
980                      # identified  by its project_id, dataset_id, and table_name. Within a query
981                      # a table is often referenced with a string in the format of:
982                      # `<project_id>:<dataset_id>.<table_id>` or
983                      # `<project_id>.<dataset_id>.<table_id>`.
984                    "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
985                        # If omitted, project ID is inferred from the API call.
986                    "tableId": "A String", # Name of the table.
987                    "datasetId": "A String", # Dataset ID of the table.
988                  },
989                  "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only
990                      # used for Inspect and must be unspecified for Risk jobs. Columns are derived
991                      # from the `Finding` object. If appending to an existing table, any columns
992                      # from the predefined schema that are missing will be added. No columns in
993                      # the existing table will be deleted.
994                      #
995                      # If unspecified, then all available columns will be used for a new table or
996                      # an (existing) table with no schema, and no changes will be made to an
997                      # existing table that has a schema.
998                },
999              },
1000              "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's # Enable email notification to project owners and editors on job's
1001                  # completion/failure.
1002                  # completion/failure.
1003              },
1004              "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security # Publish summary to Cloud Security Command Center (Alpha).
1005                  # Command Center (CSCC Alpha).
1006                  # This action is only available for projects which are parts of
1007                  # an organization and whitelisted for the alpha Cloud Security Command
1008                  # Center.
1009                  # The action will publish count of finding instances and their info types.
1010                  # The summary of findings will be persisted in CSCC and are governed by CSCC
1011                  # service-specific policy, see https://cloud.google.com/terms/service-terms
1012                  # Only a single instance of this action can be specified.
1013                  # Compatible with: Inspect
1014              },
1015              "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The # Publish a notification to a pubsub topic.
1016                  # message contains a single field, `DlpJobName`, which is equal to the
1017                  # finished job's
1018                  # [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
1019                  # Compatible with: Inspect, Risk
1020                "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given
1021                    # publishing access rights to the DLP API service account executing
1022                    # the long running DlpJob sending the notifications.
1023                    # Format is projects/{project}/topics/{topic}.
1024              },
1025            },
1026          ],
1027        },
1028      },
1029      "result": { # All result fields mentioned below are updated while the job is processing. # A summary of the outcome of this inspect job.
1030        "infoTypeStats": [ # Statistics of how many instances of each info type were found during
1031            # inspect job.
1032          { # Statistics regarding a specific InfoType.
1033            "count": "A String", # Number of findings for this infoType.
1034            "infoType": { # Type of information detected by the API. # The type of finding this stat is for.
1035              "name": "A String", # Name of the information type. Either a name of your choosing when
1036                  # creating a CustomInfoType, or one of the names listed
1037                  # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
1038                  # a built-in type. InfoType names should conform to the pattern
1039                  # [a-zA-Z0-9_]{1,64}.
1040            },
1041          },
1042        ],
1043        "totalEstimatedBytes": "A String", # Estimate of the number of bytes to process.
1044        "processedBytes": "A String", # Total size in bytes that were processed.
1045      },
1046    },
1047    "riskDetails": { # Result of a risk analysis operation request. # Results from analyzing risk of a data source.
1048      "numericalStatsResult": { # Result of the numerical stats computation.
1049        "quantileValues": [ # List of 99 values that partition the set of field values into 100 equal
1050            # sized buckets.
1051          { # Set of primitive values supported by the system.
1052              # Note that for the purposes of inspection or transformation, the number
1053              # of bytes considered to comprise a 'Value' is based on its representation
1054              # as a UTF-8 encoded string. For example, if 'integer_value' is set to
1055              # 123456789, the number of bytes would be counted as 9, even though an
1056              # int64 only holds up to 8 bytes of data.
1057            "floatValue": 3.14,
1058            "timestampValue": "A String",
1059            "dayOfWeekValue": "A String",
1060            "timeValue": { # Represents a time of day. The date and time zone are either not significant
1061                # or are specified elsewhere. An API may choose to allow leap seconds. Related
1062                # types are google.type.Date and `google.protobuf.Timestamp`.
1063              "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
1064                  # to allow the value "24:00:00" for scenarios like business closing time.
1065              "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1066              "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1067                  # allow the value 60 if it allows leap-seconds.
1068              "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
1069            },
1070            "dateValue": { # Represents a whole or partial calendar date, e.g. a birthday. The time of day
1071                # and time zone are either specified elsewhere or are not significant. The date
1072                # is relative to the Proleptic Gregorian Calendar. This can represent:
1073                #
1074                # * A full date, with non-zero year, month and day values
1075                # * A month and day value, with a zero year, e.g. an anniversary
1076                # * A year on its own, with zero month and day values
1077                # * A year and month value, with a zero day, e.g. a credit card expiration date
1078                #
1079                # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
1080              "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
1081                  # a year.
1082              "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
1083                  # if specifying a year by itself or a year and month where the day is not
1084                  # significant.
1085              "month": 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
1086                  # month and day.
1087            },
1088            "stringValue": "A String",
1089            "booleanValue": True or False,
1090            "integerValue": "A String",
1091          },
1092        ],
1093        "maxValue": { # Set of primitive values supported by the system. # Maximum value appearing in the column.
1094            # Note that for the purposes of inspection or transformation, the number
1095            # of bytes considered to comprise a 'Value' is based on its representation
1096            # as a UTF-8 encoded string. For example, if 'integer_value' is set to
1097            # 123456789, the number of bytes would be counted as 9, even though an
1098            # int64 only holds up to 8 bytes of data.
1099          "floatValue": 3.14,
1100          "timestampValue": "A String",
1101          "dayOfWeekValue": "A String",
1102          "timeValue": { # Represents a time of day. The date and time zone are either not significant
1103              # or are specified elsewhere. An API may choose to allow leap seconds. Related
1104              # types are google.type.Date and `google.protobuf.Timestamp`.
1105            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
1106                # to allow the value "24:00:00" for scenarios like business closing time.
1107            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1108            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1109                # allow the value 60 if it allows leap-seconds.
1110            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
1111          },
1112          "dateValue": { # Represents a whole or partial calendar date, e.g. a birthday. The time of day
1113              # and time zone are either specified elsewhere or are not significant. The date
1114              # is relative to the Proleptic Gregorian Calendar. This can represent:
1115              #
1116              # * A full date, with non-zero year, month and day values
1117              # * A month and day value, with a zero year, e.g. an anniversary
1118              # * A year on its own, with zero month and day values
1119              # * A year and month value, with a zero day, e.g. a credit card expiration date
1120              #
1121              # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
1122            "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
1123                # a year.
1124            "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
1125                # if specifying a year by itself or a year and month where the day is not
1126                # significant.
1127            "month": 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
1128                # month and day.
1129          },
1130          "stringValue": "A String",
1131          "booleanValue": True or False,
1132          "integerValue": "A String",
1133        },
1134        "minValue": { # Set of primitive values supported by the system. # Minimum value appearing in the column.
1135            # Note that for the purposes of inspection or transformation, the number
1136            # of bytes considered to comprise a 'Value' is based on its representation
1137            # as a UTF-8 encoded string. For example, if 'integer_value' is set to
1138            # 123456789, the number of bytes would be counted as 9, even though an
1139            # int64 only holds up to 8 bytes of data.
1140          "floatValue": 3.14,
1141          "timestampValue": "A String",
1142          "dayOfWeekValue": "A String",
1143          "timeValue": { # Represents a time of day. The date and time zone are either not significant
1144              # or are specified elsewhere. An API may choose to allow leap seconds. Related
1145              # types are google.type.Date and `google.protobuf.Timestamp`.
1146            "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
1147                # to allow the value "24:00:00" for scenarios like business closing time.
1148            "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1149            "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1150                # allow the value 60 if it allows leap-seconds.
1151            "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
1152          },
1153          "dateValue": { # Represents a whole or partial calendar date, e.g. a birthday. The time of day
1154              # and time zone are either specified elsewhere or are not significant. The date
1155              # is relative to the Proleptic Gregorian Calendar. This can represent:
1156              #
1157              # * A full date, with non-zero year, month and day values
1158              # * A month and day value, with a zero year, e.g. an anniversary
1159              # * A year on its own, with zero month and day values
1160              # * A year and month value, with a zero day, e.g. a credit card expiration date
1161              #
1162              # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
1163            "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
1164                # a year.
1165            "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
1166                # if specifying a year by itself or a year and month where the day is not
1167                # significant.
1168            "month": 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
1169                # month and day.
1170          },
1171          "stringValue": "A String",
1172          "booleanValue": True or False,
1173          "integerValue": "A String",
1174        },
1175      },
1176      "kMapEstimationResult": { # Result of the reidentifiability analysis. Note that these results are an
1177          # estimation, not exact values.
1178        "kMapEstimationHistogram": [ # The intervals [min_anonymity, max_anonymity] do not overlap. If a value
1179            # doesn't correspond to any such interval, the associated frequency is
1180            # zero. For example, the following records:
1181            #   {min_anonymity: 1, max_anonymity: 1, frequency: 17}
1182            #   {min_anonymity: 2, max_anonymity: 3, frequency: 42}
1183            #   {min_anonymity: 5, max_anonymity: 10, frequency: 99}
1184            # mean that there are no record with an estimated anonymity of 4, 5, or
1185            # larger than 10.
1186          { # A KMapEstimationHistogramBucket message with the following values:
1187              #   min_anonymity: 3
1188              #   max_anonymity: 5
1189              #   frequency: 42
1190              # means that there are 42 records whose quasi-identifier values correspond
1191              # to 3, 4 or 5 people in the overlying population. An important particular
1192              # case is when min_anonymity = max_anonymity = 1: the frequency field then
1193              # corresponds to the number of uniquely identifiable records.
1194            "bucketValues": [ # Sample of quasi-identifier tuple values in this bucket. The total
1195                # number of classes returned per bucket is capped at 20.
1196              { # A tuple of values for the quasi-identifier columns.
1197                "estimatedAnonymity": "A String", # The estimated anonymity for these quasi-identifier values.
1198                "quasiIdsValues": [ # The quasi-identifier values.
1199                  { # Set of primitive values supported by the system.
1200                      # Note that for the purposes of inspection or transformation, the number
1201                      # of bytes considered to comprise a 'Value' is based on its representation
1202                      # as a UTF-8 encoded string. For example, if 'integer_value' is set to
1203                      # 123456789, the number of bytes would be counted as 9, even though an
1204                      # int64 only holds up to 8 bytes of data.
1205                    "floatValue": 3.14,
1206                    "timestampValue": "A String",
1207                    "dayOfWeekValue": "A String",
1208                    "timeValue": { # Represents a time of day. The date and time zone are either not significant
1209                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
1210                        # types are google.type.Date and `google.protobuf.Timestamp`.
1211                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
1212                          # to allow the value "24:00:00" for scenarios like business closing time.
1213                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1214                      "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1215                          # allow the value 60 if it allows leap-seconds.
1216                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
1217                    },
1218                    "dateValue": { # Represents a whole or partial calendar date, e.g. a birthday. The time of day
1219                        # and time zone are either specified elsewhere or are not significant. The date
1220                        # is relative to the Proleptic Gregorian Calendar. This can represent:
1221                        #
1222                        # * A full date, with non-zero year, month and day values
1223                        # * A month and day value, with a zero year, e.g. an anniversary
1224                        # * A year on its own, with zero month and day values
1225                        # * A year and month value, with a zero day, e.g. a credit card expiration date
1226                        #
1227                        # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
1228                      "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
1229                          # a year.
1230                      "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
1231                          # if specifying a year by itself or a year and month where the day is not
1232                          # significant.
1233                      "month": 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
1234                          # month and day.
1235                    },
1236                    "stringValue": "A String",
1237                    "booleanValue": True or False,
1238                    "integerValue": "A String",
1239                  },
1240                ],
1241              },
1242            ],
1243            "minAnonymity": "A String", # Always positive.
1244            "bucketValueCount": "A String", # Total number of distinct quasi-identifier tuple values in this bucket.
1245            "maxAnonymity": "A String", # Always greater than or equal to min_anonymity.
1246            "bucketSize": "A String", # Number of records within these anonymity bounds.
1247          },
1248        ],
1249      },
1250      "kAnonymityResult": { # Result of the k-anonymity computation.
1251        "equivalenceClassHistogramBuckets": [ # Histogram of k-anonymity equivalence classes.
1252          {
1253            "bucketValues": [ # Sample of equivalence classes in this bucket. The total number of
1254                # classes returned per bucket is capped at 20.
1255              { # The set of columns' values that share the same ldiversity value
1256                "quasiIdsValues": [ # Set of values defining the equivalence class. One value per
1257                    # quasi-identifier column in the original KAnonymity metric message.
1258                    # The order is always the same as the original request.
1259                  { # Set of primitive values supported by the system.
1260                      # Note that for the purposes of inspection or transformation, the number
1261                      # of bytes considered to comprise a 'Value' is based on its representation
1262                      # as a UTF-8 encoded string. For example, if 'integer_value' is set to
1263                      # 123456789, the number of bytes would be counted as 9, even though an
1264                      # int64 only holds up to 8 bytes of data.
1265                    "floatValue": 3.14,
1266                    "timestampValue": "A String",
1267                    "dayOfWeekValue": "A String",
1268                    "timeValue": { # Represents a time of day. The date and time zone are either not significant
1269                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
1270                        # types are google.type.Date and `google.protobuf.Timestamp`.
1271                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
1272                          # to allow the value "24:00:00" for scenarios like business closing time.
1273                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1274                      "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1275                          # allow the value 60 if it allows leap-seconds.
1276                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
1277                    },
1278                    "dateValue": { # Represents a whole or partial calendar date, e.g. a birthday. The time of day
1279                        # and time zone are either specified elsewhere or are not significant. The date
1280                        # is relative to the Proleptic Gregorian Calendar. This can represent:
1281                        #
1282                        # * A full date, with non-zero year, month and day values
1283                        # * A month and day value, with a zero year, e.g. an anniversary
1284                        # * A year on its own, with zero month and day values
1285                        # * A year and month value, with a zero day, e.g. a credit card expiration date
1286                        #
1287                        # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
1288                      "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
1289                          # a year.
1290                      "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
1291                          # if specifying a year by itself or a year and month where the day is not
1292                          # significant.
1293                      "month": 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
1294                          # month and day.
1295                    },
1296                    "stringValue": "A String",
1297                    "booleanValue": True or False,
1298                    "integerValue": "A String",
1299                  },
1300                ],
1301                "equivalenceClassSize": "A String", # Size of the equivalence class, for example number of rows with the
1302                    # above set of values.
1303              },
1304            ],
1305            "bucketValueCount": "A String", # Total number of distinct equivalence classes in this bucket.
1306            "equivalenceClassSizeLowerBound": "A String", # Lower bound on the size of the equivalence classes in this bucket.
1307            "equivalenceClassSizeUpperBound": "A String", # Upper bound on the size of the equivalence classes in this bucket.
1308            "bucketSize": "A String", # Total number of equivalence classes in this bucket.
1309          },
1310        ],
1311      },
1312      "lDiversityResult": { # Result of the l-diversity computation.
1313        "sensitiveValueFrequencyHistogramBuckets": [ # Histogram of l-diversity equivalence class sensitive value frequencies.
1314          {
1315            "bucketValues": [ # Sample of equivalence classes in this bucket. The total number of
1316                # classes returned per bucket is capped at 20.
1317              { # The set of columns' values that share the same ldiversity value.
1318                "numDistinctSensitiveValues": "A String", # Number of distinct sensitive values in this equivalence class.
1319                "quasiIdsValues": [ # Quasi-identifier values defining the k-anonymity equivalence
1320                    # class. The order is always the same as the original request.
1321                  { # Set of primitive values supported by the system.
1322                      # Note that for the purposes of inspection or transformation, the number
1323                      # of bytes considered to comprise a 'Value' is based on its representation
1324                      # as a UTF-8 encoded string. For example, if 'integer_value' is set to
1325                      # 123456789, the number of bytes would be counted as 9, even though an
1326                      # int64 only holds up to 8 bytes of data.
1327                    "floatValue": 3.14,
1328                    "timestampValue": "A String",
1329                    "dayOfWeekValue": "A String",
1330                    "timeValue": { # Represents a time of day. The date and time zone are either not significant
1331                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
1332                        # types are google.type.Date and `google.protobuf.Timestamp`.
1333                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
1334                          # to allow the value "24:00:00" for scenarios like business closing time.
1335                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1336                      "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1337                          # allow the value 60 if it allows leap-seconds.
1338                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
1339                    },
1340                    "dateValue": { # Represents a whole or partial calendar date, e.g. a birthday. The time of day
1341                        # and time zone are either specified elsewhere or are not significant. The date
1342                        # is relative to the Proleptic Gregorian Calendar. This can represent:
1343                        #
1344                        # * A full date, with non-zero year, month and day values
1345                        # * A month and day value, with a zero year, e.g. an anniversary
1346                        # * A year on its own, with zero month and day values
1347                        # * A year and month value, with a zero day, e.g. a credit card expiration date
1348                        #
1349                        # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
1350                      "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
1351                          # a year.
1352                      "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
1353                          # if specifying a year by itself or a year and month where the day is not
1354                          # significant.
1355                      "month": 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
1356                          # month and day.
1357                    },
1358                    "stringValue": "A String",
1359                    "booleanValue": True or False,
1360                    "integerValue": "A String",
1361                  },
1362                ],
1363                "topSensitiveValues": [ # Estimated frequencies of top sensitive values.
1364                  { # A value of a field, including its frequency.
1365                    "count": "A String", # How many times the value is contained in the field.
1366                    "value": { # Set of primitive values supported by the system. # A value contained in the field in question.
1367                        # Note that for the purposes of inspection or transformation, the number
1368                        # of bytes considered to comprise a 'Value' is based on its representation
1369                        # as a UTF-8 encoded string. For example, if 'integer_value' is set to
1370                        # 123456789, the number of bytes would be counted as 9, even though an
1371                        # int64 only holds up to 8 bytes of data.
1372                      "floatValue": 3.14,
1373                      "timestampValue": "A String",
1374                      "dayOfWeekValue": "A String",
1375                      "timeValue": { # Represents a time of day. The date and time zone are either not significant
1376                          # or are specified elsewhere. An API may choose to allow leap seconds. Related
1377                          # types are google.type.Date and `google.protobuf.Timestamp`.
1378                        "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
1379                            # to allow the value "24:00:00" for scenarios like business closing time.
1380                        "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1381                        "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1382                            # allow the value 60 if it allows leap-seconds.
1383                        "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
1384                      },
1385                      "dateValue": { # Represents a whole or partial calendar date, e.g. a birthday. The time of day
1386                          # and time zone are either specified elsewhere or are not significant. The date
1387                          # is relative to the Proleptic Gregorian Calendar. This can represent:
1388                          #
1389                          # * A full date, with non-zero year, month and day values
1390                          # * A month and day value, with a zero year, e.g. an anniversary
1391                          # * A year on its own, with zero month and day values
1392                          # * A year and month value, with a zero day, e.g. a credit card expiration date
1393                          #
1394                          # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
1395                        "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
1396                            # a year.
1397                        "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
1398                            # if specifying a year by itself or a year and month where the day is not
1399                            # significant.
1400                        "month": 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
1401                            # month and day.
1402                      },
1403                      "stringValue": "A String",
1404                      "booleanValue": True or False,
1405                      "integerValue": "A String",
1406                    },
1407                  },
1408                ],
1409                "equivalenceClassSize": "A String", # Size of the k-anonymity equivalence class.
1410              },
1411            ],
1412            "bucketValueCount": "A String", # Total number of distinct equivalence classes in this bucket.
1413            "bucketSize": "A String", # Total number of equivalence classes in this bucket.
1414            "sensitiveValueFrequencyUpperBound": "A String", # Upper bound on the sensitive value frequencies of the equivalence
1415                # classes in this bucket.
1416            "sensitiveValueFrequencyLowerBound": "A String", # Lower bound on the sensitive value frequencies of the equivalence
1417                # classes in this bucket.
1418          },
1419        ],
1420      },
1421      "requestedPrivacyMetric": { # Privacy metric to compute for reidentification risk analysis. # Privacy metric to compute.
1422        "numericalStatsConfig": { # Compute numerical stats over an individual column, including
1423            # min, max, and quantiles.
1424          "field": { # General identifier of a data field in a storage service. # Field to compute numerical stats on. Supported types are
1425              # integer, float, date, datetime, timestamp, time.
1426            "name": "A String", # Name describing the field.
1427          },
1428        },
1429        "kMapEstimationConfig": { # Reidentifiability metric. This corresponds to a risk model similar to what
1430            # is called "journalist risk" in the literature, except the attack dataset is
1431            # statistically modeled instead of being perfectly known. This can be done
1432            # using publicly available data (like the US Census), or using a custom
1433            # statistical model (indicated as one or several BigQuery tables), or by
1434            # extrapolating from the distribution of values in the input dataset.
1435            # A column with a semantic tag attached.
1436          "regionCode": "A String", # ISO 3166-1 alpha-2 region code to use in the statistical modeling.
1437              # Required if no column is tagged with a region-specific InfoType (like
1438              # US_ZIP_5) or a region code.
1439          "quasiIds": [ # Fields considered to be quasi-identifiers. No two columns can have the
1440              # same tag. [required]
1441            {
1442              "field": { # General identifier of a data field in a storage service. # Identifies the column. [required]
1443                "name": "A String", # Name describing the field.
1444              },
1445              "customTag": "A String", # A column can be tagged with a custom tag. In this case, the user must
1446                  # indicate an auxiliary table that contains statistical information on
1447                  # the possible values of this column (below).
1448              "infoType": { # Type of information detected by the API. # A column can be tagged with a InfoType to use the relevant public
1449                  # dataset as a statistical model of population, if available. We
1450                  # currently support US ZIP codes, region codes, ages and genders.
1451                  # To programmatically obtain the list of supported InfoTypes, use
1452                  # ListInfoTypes with the supported_by=RISK_ANALYSIS filter.
1453                "name": "A String", # Name of the information type. Either a name of your choosing when
1454                    # creating a CustomInfoType, or one of the names listed
1455                    # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
1456                    # a built-in type. InfoType names should conform to the pattern
1457                    # [a-zA-Z0-9_]{1,64}.
1458              },
1459              "inferred": { # A generic empty message that you can re-use to avoid defining duplicated # If no semantic tag is indicated, we infer the statistical model from
1460                  # the distribution of values in the input data
1461                  # empty messages in your APIs. A typical example is to use it as the request
1462                  # or the response type of an API method. For instance:
1463                  #
1464                  #     service Foo {
1465                  #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
1466                  #     }
1467                  #
1468                  # The JSON representation for `Empty` is empty JSON object `{}`.
1469              },
1470            },
1471          ],
1472          "auxiliaryTables": [ # Several auxiliary tables can be used in the analysis. Each custom_tag
1473              # used to tag a quasi-identifiers column must appear in exactly one column
1474              # of one auxiliary table.
1475            { # An auxiliary table contains statistical information on the relative
1476                # frequency of different quasi-identifiers values. It has one or several
1477                # quasi-identifiers columns, and one column that indicates the relative
1478                # frequency of each quasi-identifier tuple.
1479                # If a tuple is present in the data but not in the auxiliary table, the
1480                # corresponding relative frequency is assumed to be zero (and thus, the
1481                # tuple is highly reidentifiable).
1482              "relativeFrequency": { # General identifier of a data field in a storage service. # The relative frequency column must contain a floating-point number
1483                  # between 0 and 1 (inclusive). Null values are assumed to be zero.
1484                  # [required]
1485                "name": "A String", # Name describing the field.
1486              },
1487              "quasiIds": [ # Quasi-identifier columns. [required]
1488                { # A quasi-identifier column has a custom_tag, used to know which column
1489                    # in the data corresponds to which column in the statistical model.
1490                  "field": { # General identifier of a data field in a storage service.
1491                    "name": "A String", # Name describing the field.
1492                  },
1493                  "customTag": "A String",
1494                },
1495              ],
1496              "table": { # Message defining the location of a BigQuery table. A table is uniquely # Auxiliary table location. [required]
1497                  # identified  by its project_id, dataset_id, and table_name. Within a query
1498                  # a table is often referenced with a string in the format of:
1499                  # `<project_id>:<dataset_id>.<table_id>` or
1500                  # `<project_id>.<dataset_id>.<table_id>`.
1501                "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
1502                    # If omitted, project ID is inferred from the API call.
1503                "tableId": "A String", # Name of the table.
1504                "datasetId": "A String", # Dataset ID of the table.
1505              },
1506            },
1507          ],
1508        },
1509        "lDiversityConfig": { # l-diversity metric, used for analysis of reidentification risk.
1510          "sensitiveAttribute": { # General identifier of a data field in a storage service. # Sensitive field for computing the l-value.
1511            "name": "A String", # Name describing the field.
1512          },
1513          "quasiIds": [ # Set of quasi-identifiers indicating how equivalence classes are
1514              # defined for the l-diversity computation. When multiple fields are
1515              # specified, they are considered a single composite key.
1516            { # General identifier of a data field in a storage service.
1517              "name": "A String", # Name describing the field.
1518            },
1519          ],
1520        },
1521        "deltaPresenceEstimationConfig": { # δ-presence metric, used to estimate how likely it is for an attacker to
1522            # figure out that one given individual appears in a de-identified dataset.
1523            # Similarly to the k-map metric, we cannot compute δ-presence exactly without
1524            # knowing the attack dataset, so we use a statistical model instead.
1525          "regionCode": "A String", # ISO 3166-1 alpha-2 region code to use in the statistical modeling.
1526              # Required if no column is tagged with a region-specific InfoType (like
1527              # US_ZIP_5) or a region code.
1528          "quasiIds": [ # Fields considered to be quasi-identifiers. No two fields can have the
1529              # same tag. [required]
1530            { # A column with a semantic tag attached.
1531              "field": { # General identifier of a data field in a storage service. # Identifies the column. [required]
1532                "name": "A String", # Name describing the field.
1533              },
1534              "customTag": "A String", # A column can be tagged with a custom tag. In this case, the user must
1535                  # indicate an auxiliary table that contains statistical information on
1536                  # the possible values of this column (below).
1537              "infoType": { # Type of information detected by the API. # A column can be tagged with a InfoType to use the relevant public
1538                  # dataset as a statistical model of population, if available. We
1539                  # currently support US ZIP codes, region codes, ages and genders.
1540                  # To programmatically obtain the list of supported InfoTypes, use
1541                  # ListInfoTypes with the supported_by=RISK_ANALYSIS filter.
1542                "name": "A String", # Name of the information type. Either a name of your choosing when
1543                    # creating a CustomInfoType, or one of the names listed
1544                    # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
1545                    # a built-in type. InfoType names should conform to the pattern
1546                    # [a-zA-Z0-9_]{1,64}.
1547              },
1548              "inferred": { # A generic empty message that you can re-use to avoid defining duplicated # If no semantic tag is indicated, we infer the statistical model from
1549                  # the distribution of values in the input data
1550                  # empty messages in your APIs. A typical example is to use it as the request
1551                  # or the response type of an API method. For instance:
1552                  #
1553                  #     service Foo {
1554                  #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
1555                  #     }
1556                  #
1557                  # The JSON representation for `Empty` is empty JSON object `{}`.
1558              },
1559            },
1560          ],
1561          "auxiliaryTables": [ # Several auxiliary tables can be used in the analysis. Each custom_tag
1562              # used to tag a quasi-identifiers field must appear in exactly one
1563              # field of one auxiliary table.
1564            { # An auxiliary table containing statistical information on the relative
1565                # frequency of different quasi-identifiers values. It has one or several
1566                # quasi-identifiers columns, and one column that indicates the relative
1567                # frequency of each quasi-identifier tuple.
1568                # If a tuple is present in the data but not in the auxiliary table, the
1569                # corresponding relative frequency is assumed to be zero (and thus, the
1570                # tuple is highly reidentifiable).
1571              "relativeFrequency": { # General identifier of a data field in a storage service. # The relative frequency column must contain a floating-point number
1572                  # between 0 and 1 (inclusive). Null values are assumed to be zero.
1573                  # [required]
1574                "name": "A String", # Name describing the field.
1575              },
1576              "quasiIds": [ # Quasi-identifier columns. [required]
1577                { # A quasi-identifier column has a custom_tag, used to know which column
1578                    # in the data corresponds to which column in the statistical model.
1579                  "field": { # General identifier of a data field in a storage service.
1580                    "name": "A String", # Name describing the field.
1581                  },
1582                  "customTag": "A String",
1583                },
1584              ],
1585              "table": { # Message defining the location of a BigQuery table. A table is uniquely # Auxiliary table location. [required]
1586                  # identified  by its project_id, dataset_id, and table_name. Within a query
1587                  # a table is often referenced with a string in the format of:
1588                  # `<project_id>:<dataset_id>.<table_id>` or
1589                  # `<project_id>.<dataset_id>.<table_id>`.
1590                "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
1591                    # If omitted, project ID is inferred from the API call.
1592                "tableId": "A String", # Name of the table.
1593                "datasetId": "A String", # Dataset ID of the table.
1594              },
1595            },
1596          ],
1597        },
1598        "categoricalStatsConfig": { # Compute numerical stats over an individual column, including
1599            # number of distinct values and value count distribution.
1600          "field": { # General identifier of a data field in a storage service. # Field to compute categorical stats on. All column types are
1601              # supported except for arrays and structs. However, it may be more
1602              # informative to use NumericalStats when the field type is supported,
1603              # depending on the data.
1604            "name": "A String", # Name describing the field.
1605          },
1606        },
1607        "kAnonymityConfig": { # k-anonymity metric, used for analysis of reidentification risk.
1608          "entityId": { # An entity in a dataset is a field or set of fields that correspond to a # Optional message indicating that multiple rows might be associated to a
1609              # single individual. If the same entity_id is associated to multiple
1610              # quasi-identifier tuples over distinct rows, we consider the entire
1611              # collection of tuples as the composite quasi-identifier. This collection
1612              # is a multiset: the order in which the different tuples appear in the
1613              # dataset is ignored, but their frequency is taken into account.
1614              #
1615              # Important note: a maximum of 1000 rows can be associated to a single
1616              # entity ID. If more rows are associated with the same entity ID, some
1617              # might be ignored.
1618              # single person. For example, in medical records the `EntityId` might be a
1619              # patient identifier, or for financial records it might be an account
1620              # identifier. This message is used when generalizations or analysis must take
1621              # into account that multiple rows correspond to the same entity.
1622            "field": { # General identifier of a data field in a storage service. # Composite key indicating which field contains the entity identifier.
1623              "name": "A String", # Name describing the field.
1624            },
1625          },
1626          "quasiIds": [ # Set of fields to compute k-anonymity over. When multiple fields are
1627              # specified, they are considered a single composite key. Structs and
1628              # repeated data types are not supported; however, nested fields are
1629              # supported so long as they are not structs themselves or nested within
1630              # a repeated field.
1631            { # General identifier of a data field in a storage service.
1632              "name": "A String", # Name describing the field.
1633            },
1634          ],
1635        },
1636      },
1637      "categoricalStatsResult": { # Result of the categorical stats computation.
1638        "valueFrequencyHistogramBuckets": [ # Histogram of value frequencies in the column.
1639          {
1640            "bucketValues": [ # Sample of value frequencies in this bucket. The total number of
1641                # values returned per bucket is capped at 20.
1642              { # A value of a field, including its frequency.
1643                "count": "A String", # How many times the value is contained in the field.
1644                "value": { # Set of primitive values supported by the system. # A value contained in the field in question.
1645                    # Note that for the purposes of inspection or transformation, the number
1646                    # of bytes considered to comprise a 'Value' is based on its representation
1647                    # as a UTF-8 encoded string. For example, if 'integer_value' is set to
1648                    # 123456789, the number of bytes would be counted as 9, even though an
1649                    # int64 only holds up to 8 bytes of data.
1650                  "floatValue": 3.14,
1651                  "timestampValue": "A String",
1652                  "dayOfWeekValue": "A String",
1653                  "timeValue": { # Represents a time of day. The date and time zone are either not significant
1654                      # or are specified elsewhere. An API may choose to allow leap seconds. Related
1655                      # types are google.type.Date and `google.protobuf.Timestamp`.
1656                    "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
1657                        # to allow the value "24:00:00" for scenarios like business closing time.
1658                    "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1659                    "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1660                        # allow the value 60 if it allows leap-seconds.
1661                    "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
1662                  },
1663                  "dateValue": { # Represents a whole or partial calendar date, e.g. a birthday. The time of day
1664                      # and time zone are either specified elsewhere or are not significant. The date
1665                      # is relative to the Proleptic Gregorian Calendar. This can represent:
1666                      #
1667                      # * A full date, with non-zero year, month and day values
1668                      # * A month and day value, with a zero year, e.g. an anniversary
1669                      # * A year on its own, with zero month and day values
1670                      # * A year and month value, with a zero day, e.g. a credit card expiration date
1671                      #
1672                      # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
1673                    "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
1674                        # a year.
1675                    "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
1676                        # if specifying a year by itself or a year and month where the day is not
1677                        # significant.
1678                    "month": 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
1679                        # month and day.
1680                  },
1681                  "stringValue": "A String",
1682                  "booleanValue": True or False,
1683                  "integerValue": "A String",
1684                },
1685              },
1686            ],
1687            "bucketValueCount": "A String", # Total number of distinct values in this bucket.
1688            "valueFrequencyUpperBound": "A String", # Upper bound on the value frequency of the values in this bucket.
1689            "valueFrequencyLowerBound": "A String", # Lower bound on the value frequency of the values in this bucket.
1690            "bucketSize": "A String", # Total number of values in this bucket.
1691          },
1692        ],
1693      },
1694      "deltaPresenceEstimationResult": { # Result of the δ-presence computation. Note that these results are an
1695          # estimation, not exact values.
1696        "deltaPresenceEstimationHistogram": [ # The intervals [min_probability, max_probability) do not overlap. If a
1697            # value doesn't correspond to any such interval, the associated frequency
1698            # is zero. For example, the following records:
1699            #   {min_probability: 0, max_probability: 0.1, frequency: 17}
1700            #   {min_probability: 0.2, max_probability: 0.3, frequency: 42}
1701            #   {min_probability: 0.3, max_probability: 0.4, frequency: 99}
1702            # mean that there are no record with an estimated probability in [0.1, 0.2)
1703            # nor larger or equal to 0.4.
1704          { # A DeltaPresenceEstimationHistogramBucket message with the following
1705              # values:
1706              #   min_probability: 0.1
1707              #   max_probability: 0.2
1708              #   frequency: 42
1709              # means that there are 42 records for which δ is in [0.1, 0.2). An
1710              # important particular case is when min_probability = max_probability = 1:
1711              # then, every individual who shares this quasi-identifier combination is in
1712              # the dataset.
1713            "bucketValues": [ # Sample of quasi-identifier tuple values in this bucket. The total
1714                # number of classes returned per bucket is capped at 20.
1715              { # A tuple of values for the quasi-identifier columns.
1716                "quasiIdsValues": [ # The quasi-identifier values.
1717                  { # Set of primitive values supported by the system.
1718                      # Note that for the purposes of inspection or transformation, the number
1719                      # of bytes considered to comprise a 'Value' is based on its representation
1720                      # as a UTF-8 encoded string. For example, if 'integer_value' is set to
1721                      # 123456789, the number of bytes would be counted as 9, even though an
1722                      # int64 only holds up to 8 bytes of data.
1723                    "floatValue": 3.14,
1724                    "timestampValue": "A String",
1725                    "dayOfWeekValue": "A String",
1726                    "timeValue": { # Represents a time of day. The date and time zone are either not significant
1727                        # or are specified elsewhere. An API may choose to allow leap seconds. Related
1728                        # types are google.type.Date and `google.protobuf.Timestamp`.
1729                      "hours": 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
1730                          # to allow the value "24:00:00" for scenarios like business closing time.
1731                      "nanos": 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1732                      "seconds": 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1733                          # allow the value 60 if it allows leap-seconds.
1734                      "minutes": 42, # Minutes of hour of day. Must be from 0 to 59.
1735                    },
1736                    "dateValue": { # Represents a whole or partial calendar date, e.g. a birthday. The time of day
1737                        # and time zone are either specified elsewhere or are not significant. The date
1738                        # is relative to the Proleptic Gregorian Calendar. This can represent:
1739                        #
1740                        # * A full date, with non-zero year, month and day values
1741                        # * A month and day value, with a zero year, e.g. an anniversary
1742                        # * A year on its own, with zero month and day values
1743                        # * A year and month value, with a zero day, e.g. a credit card expiration date
1744                        #
1745                        # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
1746                      "year": 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
1747                          # a year.
1748                      "day": 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
1749                          # if specifying a year by itself or a year and month where the day is not
1750                          # significant.
1751                      "month": 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
1752                          # month and day.
1753                    },
1754                    "stringValue": "A String",
1755                    "booleanValue": True or False,
1756                    "integerValue": "A String",
1757                  },
1758                ],
1759                "estimatedProbability": 3.14, # The estimated probability that a given individual sharing these
1760                    # quasi-identifier values is in the dataset. This value, typically called
1761                    # δ, is the ratio between the number of records in the dataset with these
1762                    # quasi-identifier values, and the total number of individuals (inside
1763                    # *and* outside the dataset) with these quasi-identifier values.
1764                    # For example, if there are 15 individuals in the dataset who share the
1765                    # same quasi-identifier values, and an estimated 100 people in the entire
1766                    # population with these values, then δ is 0.15.
1767              },
1768            ],
1769            "bucketValueCount": "A String", # Total number of distinct quasi-identifier tuple values in this bucket.
1770            "bucketSize": "A String", # Number of records within these probability bounds.
1771            "maxProbability": 3.14, # Always greater than or equal to min_probability.
1772            "minProbability": 3.14, # Between 0 and 1.
1773          },
1774        ],
1775      },
1776      "requestedSourceTable": { # Message defining the location of a BigQuery table. A table is uniquely # Input dataset to compute metrics over.
1777          # identified  by its project_id, dataset_id, and table_name. Within a query
1778          # a table is often referenced with a string in the format of:
1779          # `<project_id>:<dataset_id>.<table_id>` or
1780          # `<project_id>.<dataset_id>.<table_id>`.
1781        "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
1782            # If omitted, project ID is inferred from the API call.
1783        "tableId": "A String", # Name of the table.
1784        "datasetId": "A String", # Dataset ID of the table.
1785      },
1786    },
1787    "state": "A String", # State of a job.
1788    "jobTriggerName": "A String", # If created by a job trigger, the resource name of the trigger that
1789        # instantiated the job.
1790    "startTime": "A String", # Time when the job started.
1791    "endTime": "A String", # Time when the job finished.
1792    "type": "A String", # The type of job.
1793    "createTime": "A String", # Time when the job was created.
1794  }</pre>
1795</div>
1796
1797<div class="method">
1798    <code class="details" id="create">create(parent, body, x__xgafv=None)</code>
1799  <pre>Creates a job trigger to run DLP actions such as scanning storage for
1800sensitive information on a set schedule.
1801See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
1802
1803Args:
1804  parent: string, The parent resource name, for example projects/my-project-id. (required)
1805  body: object, The request body. (required)
1806    The object takes the form of:
1807
1808{ # Request message for CreateJobTrigger.
1809    "triggerId": "A String", # The trigger id can contain uppercase and lowercase letters,
1810        # numbers, and hyphens; that is, it must match the regular
1811        # expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
1812        # characters. Can be empty to allow the system to generate one.
1813    "jobTrigger": { # Contains a configuration to make dlp api calls on a repeating basis. # The JobTrigger to create.
1814        # See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
1815      "status": "A String", # A status for this trigger. [required]
1816      "updateTime": "A String", # The last update timestamp of a triggeredJob, output only field.
1817      "errors": [ # A stream of errors encountered when the trigger was activated. Repeated
1818          # errors may result in the JobTrigger automatically being paused.
1819          # Will return the last 100 errors. Whenever the JobTrigger is modified
1820          # this list will be cleared. Output only field.
1821        { # Details information about an error encountered during job execution or
1822            # the results of an unsuccessful activation of the JobTrigger.
1823            # Output only field.
1824          "timestamps": [ # The times the error occurred.
1825            "A String",
1826          ],
1827          "details": { # The `Status` type defines a logical error model that is suitable for
1828              # different programming environments, including REST APIs and RPC APIs. It is
1829              # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1830              # three pieces of data: error code, error message, and error details.
1831              #
1832              # You can find out more about this error model and how to work with it in the
1833              # [API Design Guide](https://cloud.google.com/apis/design/errors).
1834            "message": "A String", # A developer-facing error message, which should be in English. Any
1835                # user-facing error message should be localized and sent in the
1836                # google.rpc.Status.details field, or localized by the client.
1837            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
1838            "details": [ # A list of messages that carry the error details.  There is a common set of
1839                # message types for APIs to use.
1840              {
1841                "a_key": "", # Properties of the object. Contains field @type with type URL.
1842              },
1843            ],
1844          },
1845        },
1846      ],
1847      "displayName": "A String", # Display name (max 100 chars)
1848      "description": "A String", # User provided description (max 256 chars)
1849      "inspectJob": {
1850        "storageConfig": { # Shared message indicating Cloud storage type. # The data to scan.
1851          "datastoreOptions": { # Options defining a data set within Google Cloud Datastore. # Google Cloud Datastore options specification.
1852            "partitionId": { # Datastore partition ID. # A partition ID identifies a grouping of entities. The grouping is always
1853                # by project and namespace, however the namespace ID may be empty.
1854                # A partition ID identifies a grouping of entities. The grouping is always
1855                # by project and namespace, however the namespace ID may be empty.
1856                #
1857                # A partition ID contains several dimensions:
1858                # project ID and namespace ID.
1859              "projectId": "A String", # The ID of the project to which the entities belong.
1860              "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
1861            },
1862            "kind": { # A representation of a Datastore kind. # The kind to process.
1863              "name": "A String", # The name of the kind.
1864            },
1865          },
1866          "bigQueryOptions": { # Options defining BigQuery table and row identifiers. # BigQuery options specification.
1867            "excludedFields": [ # References to fields excluded from scanning. This allows you to skip
1868                # inspection of entire columns which you know have no findings.
1869              { # General identifier of a data field in a storage service.
1870                "name": "A String", # Name describing the field.
1871              },
1872            ],
1873            "rowsLimit": "A String", # Max number of rows to scan. If the table has more rows than this value, the
1874                # rest of the rows are omitted. If not set, or if set to 0, all rows will be
1875                # scanned. Only one of rows_limit and rows_limit_percent can be specified.
1876                # Cannot be used in conjunction with TimespanConfig.
1877            "sampleMethod": "A String",
1878            "identifyingFields": [ # References to fields uniquely identifying rows within the table.
1879                # Nested fields in the format, like `person.birthdate.year`, are allowed.
1880              { # General identifier of a data field in a storage service.
1881                "name": "A String", # Name describing the field.
1882              },
1883            ],
1884            "rowsLimitPercent": 42, # Max percentage of rows to scan. The rest are omitted. The number of rows
1885                # scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
1886                # 100 means no limit. Defaults to 0. Only one of rows_limit and
1887                # rows_limit_percent can be specified. Cannot be used in conjunction with
1888                # TimespanConfig.
1889            "tableReference": { # Message defining the location of a BigQuery table. A table is uniquely # Complete BigQuery table reference.
1890                # identified  by its project_id, dataset_id, and table_name. Within a query
1891                # a table is often referenced with a string in the format of:
1892                # `<project_id>:<dataset_id>.<table_id>` or
1893                # `<project_id>.<dataset_id>.<table_id>`.
1894              "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
1895                  # If omitted, project ID is inferred from the API call.
1896              "tableId": "A String", # Name of the table.
1897              "datasetId": "A String", # Dataset ID of the table.
1898            },
1899          },
1900          "timespanConfig": { # Configuration of the timespan of the items to include in scanning.
1901              # Currently only supported when inspecting Google Cloud Storage and BigQuery.
1902            "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items.
1903                # Used for data sources like Datastore or BigQuery.
1904                # If not specified for BigQuery, table last modification timestamp
1905                # is checked against given time span.
1906                # The valid data types of the timestamp field are:
1907                # for BigQuery - timestamp, date, datetime;
1908                # for Datastore - timestamp.
1909                # Datastore entity will be scanned if the timestamp property does not exist
1910                # or its value is empty or invalid.
1911              "name": "A String", # Name describing the field.
1912            },
1913            "endTime": "A String", # Exclude files or rows newer than this value.
1914                # If set to zero, no upper time limit is applied.
1915            "startTime": "A String", # Exclude files or rows older than this value.
1916            "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out
1917                # a valid start_time to avoid scanning files that have not been modified
1918                # since the last time the JobTrigger executed. This will be based on the
1919                # time of the execution of the last run of the JobTrigger.
1920          },
1921          "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage # Google Cloud Storage options specification.
1922              # bucket.
1923            "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger
1924                # than this value then the rest of the bytes are omitted. Only one
1925                # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
1926            "sampleMethod": "A String",
1927            "fileSet": { # Set of files to scan. # The set of one or more files to scan.
1928              "url": "A String", # The Cloud Storage url of the file(s) to scan, in the format
1929                  # `gs://<bucket>/<path>`. Trailing wildcard in the path is allowed.
1930                  #
1931                  # If the url ends in a trailing slash, the bucket or directory represented
1932                  # by the url will be scanned non-recursively (content in sub-directories
1933                  # will not be scanned). This means that `gs://mybucket/` is equivalent to
1934                  # `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
1935                  # `gs://mybucket/directory/*`.
1936                  #
1937                  # Exactly one of `url` or `regex_file_set` must be set.
1938              "regexFileSet": { # Message representing a set of files in a Cloud Storage bucket. Regular # The regex-filtered set of files to scan. Exactly one of `url` or
1939                  # `regex_file_set` must be set.
1940                  # expressions are used to allow fine-grained control over which files in the
1941                  # bucket to include.
1942                  #
1943                  # Included files are those that match at least one item in `include_regex` and
1944                  # do not match any items in `exclude_regex`. Note that a file that matches
1945                  # items from both lists will _not_ be included. For a match to occur, the
1946                  # entire file path (i.e., everything in the url after the bucket name) must
1947                  # match the regular expression.
1948                  #
1949                  # For example, given the input `{bucket_name: "mybucket", include_regex:
1950                  # ["directory1/.*"], exclude_regex:
1951                  # ["directory1/excluded.*"]}`:
1952                  #
1953                  # * `gs://mybucket/directory1/myfile` will be included
1954                  # * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
1955                  # across `/`)
1956                  # * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
1957                  # full path doesn't match any items in `include_regex`)
1958                  # * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
1959                  # matches an item in `exclude_regex`)
1960                  #
1961                  # If `include_regex` is left empty, it will match all files by default
1962                  # (this is equivalent to setting `include_regex: [".*"]`).
1963                  #
1964                  # Some other common use cases:
1965                  #
1966                  # * `{bucket_name: "mybucket", exclude_regex: [".*\.pdf"]}` will include all
1967                  # files in `mybucket` except for .pdf files
1968                  # * `{bucket_name: "mybucket", include_regex: ["directory/[^/]+"]}` will
1969                  # include all files directly under `gs://mybucket/directory/`, without matching
1970                  # across `/`
1971                "excludeRegex": [ # A list of regular expressions matching file paths to exclude. All files in
1972                    # the bucket that match at least one of these regular expressions will be
1973                    # excluded from the scan.
1974                    #
1975                    # Regular expressions use RE2
1976                    # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
1977                    # under the google/re2 repository on GitHub.
1978                  "A String",
1979                ],
1980                "bucketName": "A String", # The name of a Cloud Storage bucket. Required.
1981                "includeRegex": [ # A list of regular expressions matching file paths to include. All files in
1982                    # the bucket that match at least one of these regular expressions will be
1983                    # included in the set of files, except for those that also match an item in
1984                    # `exclude_regex`. Leaving this field empty will match all files by default
1985                    # (this is equivalent to including `.*` in the list).
1986                    #
1987                    # Regular expressions use RE2
1988                    # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
1989                    # under the google/re2 repository on GitHub.
1990                  "A String",
1991                ],
1992              },
1993            },
1994            "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The
1995                # number of bytes scanned is rounded down. Must be between 0 and 100,
1996                # inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
1997                # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
1998            "filesLimitPercent": 42, # Limits the number of files to scan to this percentage of the input FileSet.
1999                # Number of files scanned is rounded down. Must be between 0 and 100,
2000                # inclusively. Both 0 and 100 means no limit. Defaults to 0.
2001            "fileTypes": [ # List of file type groups to include in the scan.
2002                # If empty, all files are scanned and available data format processors
2003                # are applied. In addition, the binary content of the selected files
2004                # is always scanned as well.
2005              "A String",
2006            ],
2007          },
2008        },
2009        "inspectConfig": { # Configuration description of the scanning process. # How and what to scan for.
2010            # When used with redactContent only info_types and min_likelihood are currently
2011            # used.
2012          "excludeInfoTypes": True or False, # When true, excludes type information of the findings.
2013          "limits": {
2014            "maxFindingsPerRequest": 42, # Max number of findings that will be returned per request/job.
2015                # When set within `InspectContentRequest`, the maximum returned is 2000
2016                # regardless if this is set higher.
2017            "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes.
2018              { # Max findings configuration per infoType, per content item or long
2019                  # running DlpJob.
2020                "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
2021                    # info_type should be provided. If InfoTypeLimit does not have an
2022                    # info_type, the DLP API applies the limit against all info_types that
2023                    # are found but not specified in another InfoTypeLimit.
2024                  "name": "A String", # Name of the information type. Either a name of your choosing when
2025                      # creating a CustomInfoType, or one of the names listed
2026                      # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2027                      # a built-in type. InfoType names should conform to the pattern
2028                      # [a-zA-Z0-9_]{1,64}.
2029                },
2030                "maxFindings": 42, # Max findings limit for the given infoType.
2031              },
2032            ],
2033            "maxFindingsPerItem": 42, # Max number of findings that will be returned for each item scanned.
2034                # When set within `InspectDataSourceRequest`,
2035                # the maximum returned is 2000 regardless if this is set higher.
2036                # When set within `InspectContentRequest`, this field is ignored.
2037          },
2038          "minLikelihood": "A String", # Only returns findings equal or above this threshold. The default is
2039              # POSSIBLE.
2040              # See https://cloud.google.com/dlp/docs/likelihood to learn more.
2041          "customInfoTypes": [ # CustomInfoTypes provided by the user. See
2042              # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
2043            { # Custom information type provided by the user. Used to find domain-specific
2044                # sensitive information configurable to the data in question.
2045              "regex": { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
2046                "pattern": "A String", # Pattern defining the regular expression. Its syntax
2047                    # (https://github.com/google/re2/wiki/Syntax) can be found under the
2048                    # google/re2 repository on GitHub.
2049                "groupIndexes": [ # The index of the submatch to extract as findings. When not
2050                    # specified, the entire match is returned. No more than 3 may be included.
2051                  42,
2052                ],
2053              },
2054              "surrogateType": { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
2055                  # support reversing.
2056                  # such as
2057                  # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
2058                  # These types of transformations are
2059                  # those that perform pseudonymization, thereby producing a "surrogate" as
2060                  # output. This should be used in conjunction with a field on the
2061                  # transformation such as `surrogate_info_type`. This CustomInfoType does
2062                  # not support the use of `detection_rules`.
2063              },
2064              "infoType": { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
2065                  # infoType, when the name matches one of existing infoTypes and that infoType
2066                  # is specified in `InspectContent.info_types` field. Specifying the latter
2067                  # adds findings to the one detected by the system. If built-in info type is
2068                  # not specified in `InspectContent.info_types` list then the name is treated
2069                  # as a custom info type.
2070                "name": "A String", # Name of the information type. Either a name of your choosing when
2071                    # creating a CustomInfoType, or one of the names listed
2072                    # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2073                    # a built-in type. InfoType names should conform to the pattern
2074                    # [a-zA-Z0-9_]{1,64}.
2075              },
2076              "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # A list of phrases to detect as a CustomInfoType.
2077                  # be used to match sensitive information specific to the data, such as a list
2078                  # of employee IDs or job titles.
2079                  #
2080                  # Dictionary words are case-insensitive and all characters other than letters
2081                  # and digits in the unicode [Basic Multilingual
2082                  # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
2083                  # will be replaced with whitespace when scanning for matches, so the
2084                  # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
2085                  # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
2086                  # surrounding any match must be of a different type than the adjacent
2087                  # characters within the word, so letters must be next to non-letters and
2088                  # digits next to non-digits. For example, the dictionary word "jen" will
2089                  # match the first three letters of the text "jen123" but will return no
2090                  # matches for "jennifer".
2091                  #
2092                  # Dictionary words containing a large number of characters that are not
2093                  # letters or digits may result in unexpected findings because such characters
2094                  # are treated as whitespace. The
2095                  # [limits](https://cloud.google.com/dlp/limits) page contains details about
2096                  # the size limits of dictionaries. For dictionaries that do not fit within
2097                  # these constraints, consider using `LargeCustomDictionaryConfig` in the
2098                  # `StoredInfoType` API.
2099                "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
2100                  "words": [ # Words or phrases defining the dictionary. The dictionary must contain
2101                      # at least one phrase and every phrase must contain at least 2 characters
2102                      # that are letters or digits. [required]
2103                    "A String",
2104                  ],
2105                },
2106                "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
2107                    # is accepted.
2108                  "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
2109                      # Example: gs://[BUCKET_NAME]/dictionary.txt
2110                },
2111              },
2112              "storedType": { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
2113                  # `InspectDataSource`. Not currently supported in `InspectContent`.
2114                "name": "A String", # Resource name of the requested `StoredInfoType`, for example
2115                    # `organizations/433245324/storedInfoTypes/432452342` or
2116                    # `projects/project-id/storedInfoTypes/432452342`.
2117                "createTime": "A String", # Timestamp indicating when the version of the `StoredInfoType` used for
2118                    # inspection was created. Output-only field, populated by the system.
2119              },
2120              "detectionRules": [ # Set of detection rules to apply to all findings of this CustomInfoType.
2121                  # Rules are applied in order that they are specified. Not supported for the
2122                  # `surrogate_type` CustomInfoType.
2123                { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
2124                    # `CustomInfoType` to alter behavior under certain circumstances, depending
2125                    # on the specific details of the rule. Not supported for the `surrogate_type`
2126                    # custom infoType.
2127                  "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
2128                      # proximity of hotwords.
2129                    "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
2130                        # The total length of the window cannot exceed 1000 characters. Note that
2131                        # the finding itself will be included in the window, so that hotwords may
2132                        # be used to match substrings of the finding itself. For example, the
2133                        # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
2134                        # adjusted upwards if the area code is known to be the local area code of
2135                        # a company office using the hotword regex "\(xxx\)", where "xxx"
2136                        # is the area code in question.
2137                        # rule.
2138                      "windowAfter": 42, # Number of characters after the finding to consider.
2139                      "windowBefore": 42, # Number of characters before the finding to consider.
2140                    },
2141                    "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
2142                      "pattern": "A String", # Pattern defining the regular expression. Its syntax
2143                          # (https://github.com/google/re2/wiki/Syntax) can be found under the
2144                          # google/re2 repository on GitHub.
2145                      "groupIndexes": [ # The index of the submatch to extract as findings. When not
2146                          # specified, the entire match is returned. No more than 3 may be included.
2147                        42,
2148                      ],
2149                    },
2150                    "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
2151                        # part of a detection rule.
2152                      "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
2153                          # levels. For example, if a finding would be `POSSIBLE` without the
2154                          # detection rule and `relative_likelihood` is 1, then it is upgraded to
2155                          # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
2156                          # Likelihood may never drop below `VERY_UNLIKELY` or exceed
2157                          # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
2158                          # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
2159                          # a final likelihood of `LIKELY`.
2160                      "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
2161                    },
2162                  },
2163                },
2164              ],
2165              "exclusionType": "A String", # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
2166                  # to be returned. It still can be used for rules matching.
2167              "likelihood": "A String", # Likelihood to return for this CustomInfoType. This base value can be
2168                  # altered by a detection rule if the finding meets the criteria specified by
2169                  # the rule. Defaults to `VERY_LIKELY` if not specified.
2170            },
2171          ],
2172          "includeQuote": True or False, # When true, a contextual quote from the data that triggered a finding is
2173              # included in the response; see Finding.quote.
2174          "ruleSet": [ # Set of rules to apply to the findings for this InspectConfig.
2175              # Exclusion rules, contained in the set are executed in the end, other
2176              # rules are executed in the order they are specified for each info type.
2177            { # Rule set for modifying a set of infoTypes to alter behavior under certain
2178                # circumstances, depending on the specific details of the rules within the set.
2179              "rules": [ # Set of rules to be applied to infoTypes. The rules are applied in order.
2180                { # A single inspection rule to be applied to infoTypes, specified in
2181                    # `InspectionRuleSet`.
2182                  "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
2183                      # proximity of hotwords.
2184                    "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
2185                        # The total length of the window cannot exceed 1000 characters. Note that
2186                        # the finding itself will be included in the window, so that hotwords may
2187                        # be used to match substrings of the finding itself. For example, the
2188                        # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
2189                        # adjusted upwards if the area code is known to be the local area code of
2190                        # a company office using the hotword regex "\(xxx\)", where "xxx"
2191                        # is the area code in question.
2192                        # rule.
2193                      "windowAfter": 42, # Number of characters after the finding to consider.
2194                      "windowBefore": 42, # Number of characters before the finding to consider.
2195                    },
2196                    "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
2197                      "pattern": "A String", # Pattern defining the regular expression. Its syntax
2198                          # (https://github.com/google/re2/wiki/Syntax) can be found under the
2199                          # google/re2 repository on GitHub.
2200                      "groupIndexes": [ # The index of the submatch to extract as findings. When not
2201                          # specified, the entire match is returned. No more than 3 may be included.
2202                        42,
2203                      ],
2204                    },
2205                    "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
2206                        # part of a detection rule.
2207                      "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
2208                          # levels. For example, if a finding would be `POSSIBLE` without the
2209                          # detection rule and `relative_likelihood` is 1, then it is upgraded to
2210                          # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
2211                          # Likelihood may never drop below `VERY_UNLIKELY` or exceed
2212                          # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
2213                          # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
2214                          # a final likelihood of `LIKELY`.
2215                      "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
2216                    },
2217                  },
2218                  "exclusionRule": { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
2219                      # `InspectionRuleSet` are removed from results.
2220                    "regex": { # Message defining a custom regular expression. # Regular expression which defines the rule.
2221                      "pattern": "A String", # Pattern defining the regular expression. Its syntax
2222                          # (https://github.com/google/re2/wiki/Syntax) can be found under the
2223                          # google/re2 repository on GitHub.
2224                      "groupIndexes": [ # The index of the submatch to extract as findings. When not
2225                          # specified, the entire match is returned. No more than 3 may be included.
2226                        42,
2227                      ],
2228                    },
2229                    "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
2230                      "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
2231                          # contained within with a finding of an infoType from this list. For
2232                          # example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and
2233                          # `exclusion_rule` containing `exclude_info_types.info_types` with
2234                          # "EMAIL_ADDRESS" the phone number findings are dropped if they overlap
2235                          # with EMAIL_ADDRESS finding.
2236                          # That leads to "555-222-2222@example.org" to generate only a single
2237                          # finding, namely email address.
2238                        { # Type of information detected by the API.
2239                          "name": "A String", # Name of the information type. Either a name of your choosing when
2240                              # creating a CustomInfoType, or one of the names listed
2241                              # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2242                              # a built-in type. InfoType names should conform to the pattern
2243                              # [a-zA-Z0-9_]{1,64}.
2244                        },
2245                      ],
2246                    },
2247                    "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
2248                        # be used to match sensitive information specific to the data, such as a list
2249                        # of employee IDs or job titles.
2250                        #
2251                        # Dictionary words are case-insensitive and all characters other than letters
2252                        # and digits in the unicode [Basic Multilingual
2253                        # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
2254                        # will be replaced with whitespace when scanning for matches, so the
2255                        # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
2256                        # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
2257                        # surrounding any match must be of a different type than the adjacent
2258                        # characters within the word, so letters must be next to non-letters and
2259                        # digits next to non-digits. For example, the dictionary word "jen" will
2260                        # match the first three letters of the text "jen123" but will return no
2261                        # matches for "jennifer".
2262                        #
2263                        # Dictionary words containing a large number of characters that are not
2264                        # letters or digits may result in unexpected findings because such characters
2265                        # are treated as whitespace. The
2266                        # [limits](https://cloud.google.com/dlp/limits) page contains details about
2267                        # the size limits of dictionaries. For dictionaries that do not fit within
2268                        # these constraints, consider using `LargeCustomDictionaryConfig` in the
2269                        # `StoredInfoType` API.
2270                      "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
2271                        "words": [ # Words or phrases defining the dictionary. The dictionary must contain
2272                            # at least one phrase and every phrase must contain at least 2 characters
2273                            # that are letters or digits. [required]
2274                          "A String",
2275                        ],
2276                      },
2277                      "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
2278                          # is accepted.
2279                        "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
2280                            # Example: gs://[BUCKET_NAME]/dictionary.txt
2281                      },
2282                    },
2283                    "matchingType": "A String", # How the rule is applied, see MatchingType documentation for details.
2284                  },
2285                },
2286              ],
2287              "infoTypes": [ # List of infoTypes this rule set is applied to.
2288                { # Type of information detected by the API.
2289                  "name": "A String", # Name of the information type. Either a name of your choosing when
2290                      # creating a CustomInfoType, or one of the names listed
2291                      # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2292                      # a built-in type. InfoType names should conform to the pattern
2293                      # [a-zA-Z0-9_]{1,64}.
2294                },
2295              ],
2296            },
2297          ],
2298          "contentOptions": [ # List of options defining data content to scan.
2299              # If empty, text, images, and other content will be included.
2300            "A String",
2301          ],
2302          "infoTypes": [ # Restricts what info_types to look for. The values must correspond to
2303              # InfoType values returned by ListInfoTypes or listed at
2304              # https://cloud.google.com/dlp/docs/infotypes-reference.
2305              #
2306              # When no InfoTypes or CustomInfoTypes are specified in a request, the
2307              # system may automatically choose what detectors to run. By default this may
2308              # be all types, but may change over time as detectors are updated.
2309              #
2310              # The special InfoType name "ALL_BASIC" can be used to trigger all detectors,
2311              # but may change over time as new InfoTypes are added. If you need precise
2312              # control and predictability as to what detectors are run you should specify
2313              # specific InfoTypes listed in the reference.
2314            { # Type of information detected by the API.
2315              "name": "A String", # Name of the information type. Either a name of your choosing when
2316                  # creating a CustomInfoType, or one of the names listed
2317                  # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2318                  # a built-in type. InfoType names should conform to the pattern
2319                  # [a-zA-Z0-9_]{1,64}.
2320            },
2321          ],
2322        },
2323        "inspectTemplateName": "A String", # If provided, will be used as the default for all values in InspectConfig.
2324            # `inspect_config` will be merged into the values persisted as part of the
2325            # template.
2326        "actions": [ # Actions to execute at the completion of the job.
2327          { # A task to execute on the completion of a job.
2328              # See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
2329            "saveFindings": { # If set, the detailed findings will be persisted to the specified # Save resulting findings in a provided location.
2330                # OutputStorageConfig. Only a single instance of this action can be
2331                # specified.
2332                # Compatible with: Inspect, Risk
2333              "outputConfig": { # Cloud repository for storing output.
2334                "table": { # Message defining the location of a BigQuery table. A table is uniquely # Store findings in an existing table or a new table in an existing
2335                    # dataset. If table_id is not set a new one will be generated
2336                    # for you with the following format:
2337                    # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
2338                    # generating the date details.
2339                    #
2340                    # For Inspect, each column in an existing output table must have the same
2341                    # name, type, and mode of a field in the `Finding` object.
2342                    #
2343                    # For Risk, an existing output table should be the output of a previous
2344                    # Risk analysis job run on the same source table, with the same privacy
2345                    # metric and quasi-identifiers. Risk jobs that analyze the same table but
2346                    # compute a different privacy metric, or use different sets of
2347                    # quasi-identifiers, cannot store their results in the same table.
2348                    # identified  by its project_id, dataset_id, and table_name. Within a query
2349                    # a table is often referenced with a string in the format of:
2350                    # `<project_id>:<dataset_id>.<table_id>` or
2351                    # `<project_id>.<dataset_id>.<table_id>`.
2352                  "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
2353                      # If omitted, project ID is inferred from the API call.
2354                  "tableId": "A String", # Name of the table.
2355                  "datasetId": "A String", # Dataset ID of the table.
2356                },
2357                "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only
2358                    # used for Inspect and must be unspecified for Risk jobs. Columns are derived
2359                    # from the `Finding` object. If appending to an existing table, any columns
2360                    # from the predefined schema that are missing will be added. No columns in
2361                    # the existing table will be deleted.
2362                    #
2363                    # If unspecified, then all available columns will be used for a new table or
2364                    # an (existing) table with no schema, and no changes will be made to an
2365                    # existing table that has a schema.
2366              },
2367            },
2368            "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's # Enable email notification to project owners and editors on job's
2369                # completion/failure.
2370                # completion/failure.
2371            },
2372            "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security # Publish summary to Cloud Security Command Center (Alpha).
2373                # Command Center (CSCC Alpha).
2374                # This action is only available for projects which are parts of
2375                # an organization and whitelisted for the alpha Cloud Security Command
2376                # Center.
2377                # The action will publish count of finding instances and their info types.
2378                # The summary of findings will be persisted in CSCC and are governed by CSCC
2379                # service-specific policy, see https://cloud.google.com/terms/service-terms
2380                # Only a single instance of this action can be specified.
2381                # Compatible with: Inspect
2382            },
2383            "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The # Publish a notification to a pubsub topic.
2384                # message contains a single field, `DlpJobName`, which is equal to the
2385                # finished job's
2386                # [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
2387                # Compatible with: Inspect, Risk
2388              "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given
2389                  # publishing access rights to the DLP API service account executing
2390                  # the long running DlpJob sending the notifications.
2391                  # Format is projects/{project}/topics/{topic}.
2392            },
2393          },
2394        ],
2395      },
2396      "triggers": [ # A list of triggers which will be OR'ed together. Only one in the list
2397          # needs to trigger for a job to be started. The list may contain only
2398          # a single Schedule trigger and must have at least one object.
2399        { # What event needs to occur for a new job to be started.
2400          "schedule": { # Schedule for triggeredJobs. # Create a job on a repeating basis based on the elapse of time.
2401            "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For
2402                # example: every day (86400 seconds).
2403                #
2404                # A scheduled start time will be skipped if the previous
2405                # execution has not ended when its scheduled time occurs.
2406                #
2407                # This value must be set to a time duration greater than or equal
2408                # to 1 day and can be no longer than 60 days.
2409          },
2410        },
2411      ],
2412      "lastRunTime": "A String", # The timestamp of the last time this trigger executed, output only field.
2413      "createTime": "A String", # The creation timestamp of a triggeredJob, output only field.
2414      "name": "A String", # Unique resource name for the triggeredJob, assigned by the service when the
2415          # triggeredJob is created, for example
2416          # `projects/dlp-test-project/triggeredJobs/53234423`.
2417    },
2418  }
2419
2420  x__xgafv: string, V1 error format.
2421    Allowed values
2422      1 - v1 error format
2423      2 - v2 error format
2424
2425Returns:
2426  An object of the form:
2427
2428    { # Contains a configuration to make dlp api calls on a repeating basis.
2429      # See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
2430    "status": "A String", # A status for this trigger. [required]
2431    "updateTime": "A String", # The last update timestamp of a triggeredJob, output only field.
2432    "errors": [ # A stream of errors encountered when the trigger was activated. Repeated
2433        # errors may result in the JobTrigger automatically being paused.
2434        # Will return the last 100 errors. Whenever the JobTrigger is modified
2435        # this list will be cleared. Output only field.
2436      { # Details information about an error encountered during job execution or
2437          # the results of an unsuccessful activation of the JobTrigger.
2438          # Output only field.
2439        "timestamps": [ # The times the error occurred.
2440          "A String",
2441        ],
2442        "details": { # The `Status` type defines a logical error model that is suitable for
2443            # different programming environments, including REST APIs and RPC APIs. It is
2444            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
2445            # three pieces of data: error code, error message, and error details.
2446            #
2447            # You can find out more about this error model and how to work with it in the
2448            # [API Design Guide](https://cloud.google.com/apis/design/errors).
2449          "message": "A String", # A developer-facing error message, which should be in English. Any
2450              # user-facing error message should be localized and sent in the
2451              # google.rpc.Status.details field, or localized by the client.
2452          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
2453          "details": [ # A list of messages that carry the error details.  There is a common set of
2454              # message types for APIs to use.
2455            {
2456              "a_key": "", # Properties of the object. Contains field @type with type URL.
2457            },
2458          ],
2459        },
2460      },
2461    ],
2462    "displayName": "A String", # Display name (max 100 chars)
2463    "description": "A String", # User provided description (max 256 chars)
2464    "inspectJob": {
2465      "storageConfig": { # Shared message indicating Cloud storage type. # The data to scan.
2466        "datastoreOptions": { # Options defining a data set within Google Cloud Datastore. # Google Cloud Datastore options specification.
2467          "partitionId": { # Datastore partition ID. # A partition ID identifies a grouping of entities. The grouping is always
2468              # by project and namespace, however the namespace ID may be empty.
2469              # A partition ID identifies a grouping of entities. The grouping is always
2470              # by project and namespace, however the namespace ID may be empty.
2471              #
2472              # A partition ID contains several dimensions:
2473              # project ID and namespace ID.
2474            "projectId": "A String", # The ID of the project to which the entities belong.
2475            "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
2476          },
2477          "kind": { # A representation of a Datastore kind. # The kind to process.
2478            "name": "A String", # The name of the kind.
2479          },
2480        },
2481        "bigQueryOptions": { # Options defining BigQuery table and row identifiers. # BigQuery options specification.
2482          "excludedFields": [ # References to fields excluded from scanning. This allows you to skip
2483              # inspection of entire columns which you know have no findings.
2484            { # General identifier of a data field in a storage service.
2485              "name": "A String", # Name describing the field.
2486            },
2487          ],
2488          "rowsLimit": "A String", # Max number of rows to scan. If the table has more rows than this value, the
2489              # rest of the rows are omitted. If not set, or if set to 0, all rows will be
2490              # scanned. Only one of rows_limit and rows_limit_percent can be specified.
2491              # Cannot be used in conjunction with TimespanConfig.
2492          "sampleMethod": "A String",
2493          "identifyingFields": [ # References to fields uniquely identifying rows within the table.
2494              # Nested fields in the format, like `person.birthdate.year`, are allowed.
2495            { # General identifier of a data field in a storage service.
2496              "name": "A String", # Name describing the field.
2497            },
2498          ],
2499          "rowsLimitPercent": 42, # Max percentage of rows to scan. The rest are omitted. The number of rows
2500              # scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
2501              # 100 means no limit. Defaults to 0. Only one of rows_limit and
2502              # rows_limit_percent can be specified. Cannot be used in conjunction with
2503              # TimespanConfig.
2504          "tableReference": { # Message defining the location of a BigQuery table. A table is uniquely # Complete BigQuery table reference.
2505              # identified  by its project_id, dataset_id, and table_name. Within a query
2506              # a table is often referenced with a string in the format of:
2507              # `<project_id>:<dataset_id>.<table_id>` or
2508              # `<project_id>.<dataset_id>.<table_id>`.
2509            "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
2510                # If omitted, project ID is inferred from the API call.
2511            "tableId": "A String", # Name of the table.
2512            "datasetId": "A String", # Dataset ID of the table.
2513          },
2514        },
2515        "timespanConfig": { # Configuration of the timespan of the items to include in scanning.
2516            # Currently only supported when inspecting Google Cloud Storage and BigQuery.
2517          "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items.
2518              # Used for data sources like Datastore or BigQuery.
2519              # If not specified for BigQuery, table last modification timestamp
2520              # is checked against given time span.
2521              # The valid data types of the timestamp field are:
2522              # for BigQuery - timestamp, date, datetime;
2523              # for Datastore - timestamp.
2524              # Datastore entity will be scanned if the timestamp property does not exist
2525              # or its value is empty or invalid.
2526            "name": "A String", # Name describing the field.
2527          },
2528          "endTime": "A String", # Exclude files or rows newer than this value.
2529              # If set to zero, no upper time limit is applied.
2530          "startTime": "A String", # Exclude files or rows older than this value.
2531          "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out
2532              # a valid start_time to avoid scanning files that have not been modified
2533              # since the last time the JobTrigger executed. This will be based on the
2534              # time of the execution of the last run of the JobTrigger.
2535        },
2536        "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage # Google Cloud Storage options specification.
2537            # bucket.
2538          "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger
2539              # than this value then the rest of the bytes are omitted. Only one
2540              # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
2541          "sampleMethod": "A String",
2542          "fileSet": { # Set of files to scan. # The set of one or more files to scan.
2543            "url": "A String", # The Cloud Storage url of the file(s) to scan, in the format
2544                # `gs://<bucket>/<path>`. Trailing wildcard in the path is allowed.
2545                #
2546                # If the url ends in a trailing slash, the bucket or directory represented
2547                # by the url will be scanned non-recursively (content in sub-directories
2548                # will not be scanned). This means that `gs://mybucket/` is equivalent to
2549                # `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
2550                # `gs://mybucket/directory/*`.
2551                #
2552                # Exactly one of `url` or `regex_file_set` must be set.
2553            "regexFileSet": { # Message representing a set of files in a Cloud Storage bucket. Regular # The regex-filtered set of files to scan. Exactly one of `url` or
2554                # `regex_file_set` must be set.
2555                # expressions are used to allow fine-grained control over which files in the
2556                # bucket to include.
2557                #
2558                # Included files are those that match at least one item in `include_regex` and
2559                # do not match any items in `exclude_regex`. Note that a file that matches
2560                # items from both lists will _not_ be included. For a match to occur, the
2561                # entire file path (i.e., everything in the url after the bucket name) must
2562                # match the regular expression.
2563                #
2564                # For example, given the input `{bucket_name: "mybucket", include_regex:
2565                # ["directory1/.*"], exclude_regex:
2566                # ["directory1/excluded.*"]}`:
2567                #
2568                # * `gs://mybucket/directory1/myfile` will be included
2569                # * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
2570                # across `/`)
2571                # * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
2572                # full path doesn't match any items in `include_regex`)
2573                # * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
2574                # matches an item in `exclude_regex`)
2575                #
2576                # If `include_regex` is left empty, it will match all files by default
2577                # (this is equivalent to setting `include_regex: [".*"]`).
2578                #
2579                # Some other common use cases:
2580                #
2581                # * `{bucket_name: "mybucket", exclude_regex: [".*\.pdf"]}` will include all
2582                # files in `mybucket` except for .pdf files
2583                # * `{bucket_name: "mybucket", include_regex: ["directory/[^/]+"]}` will
2584                # include all files directly under `gs://mybucket/directory/`, without matching
2585                # across `/`
2586              "excludeRegex": [ # A list of regular expressions matching file paths to exclude. All files in
2587                  # the bucket that match at least one of these regular expressions will be
2588                  # excluded from the scan.
2589                  #
2590                  # Regular expressions use RE2
2591                  # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
2592                  # under the google/re2 repository on GitHub.
2593                "A String",
2594              ],
2595              "bucketName": "A String", # The name of a Cloud Storage bucket. Required.
2596              "includeRegex": [ # A list of regular expressions matching file paths to include. All files in
2597                  # the bucket that match at least one of these regular expressions will be
2598                  # included in the set of files, except for those that also match an item in
2599                  # `exclude_regex`. Leaving this field empty will match all files by default
2600                  # (this is equivalent to including `.*` in the list).
2601                  #
2602                  # Regular expressions use RE2
2603                  # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
2604                  # under the google/re2 repository on GitHub.
2605                "A String",
2606              ],
2607            },
2608          },
2609          "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The
2610              # number of bytes scanned is rounded down. Must be between 0 and 100,
2611              # inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
2612              # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
2613          "filesLimitPercent": 42, # Limits the number of files to scan to this percentage of the input FileSet.
2614              # Number of files scanned is rounded down. Must be between 0 and 100,
2615              # inclusively. Both 0 and 100 means no limit. Defaults to 0.
2616          "fileTypes": [ # List of file type groups to include in the scan.
2617              # If empty, all files are scanned and available data format processors
2618              # are applied. In addition, the binary content of the selected files
2619              # is always scanned as well.
2620            "A String",
2621          ],
2622        },
2623      },
2624      "inspectConfig": { # Configuration description of the scanning process. # How and what to scan for.
2625          # When used with redactContent only info_types and min_likelihood are currently
2626          # used.
2627        "excludeInfoTypes": True or False, # When true, excludes type information of the findings.
2628        "limits": {
2629          "maxFindingsPerRequest": 42, # Max number of findings that will be returned per request/job.
2630              # When set within `InspectContentRequest`, the maximum returned is 2000
2631              # regardless if this is set higher.
2632          "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes.
2633            { # Max findings configuration per infoType, per content item or long
2634                # running DlpJob.
2635              "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
2636                  # info_type should be provided. If InfoTypeLimit does not have an
2637                  # info_type, the DLP API applies the limit against all info_types that
2638                  # are found but not specified in another InfoTypeLimit.
2639                "name": "A String", # Name of the information type. Either a name of your choosing when
2640                    # creating a CustomInfoType, or one of the names listed
2641                    # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2642                    # a built-in type. InfoType names should conform to the pattern
2643                    # [a-zA-Z0-9_]{1,64}.
2644              },
2645              "maxFindings": 42, # Max findings limit for the given infoType.
2646            },
2647          ],
2648          "maxFindingsPerItem": 42, # Max number of findings that will be returned for each item scanned.
2649              # When set within `InspectDataSourceRequest`,
2650              # the maximum returned is 2000 regardless if this is set higher.
2651              # When set within `InspectContentRequest`, this field is ignored.
2652        },
2653        "minLikelihood": "A String", # Only returns findings equal or above this threshold. The default is
2654            # POSSIBLE.
2655            # See https://cloud.google.com/dlp/docs/likelihood to learn more.
2656        "customInfoTypes": [ # CustomInfoTypes provided by the user. See
2657            # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
2658          { # Custom information type provided by the user. Used to find domain-specific
2659              # sensitive information configurable to the data in question.
2660            "regex": { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
2661              "pattern": "A String", # Pattern defining the regular expression. Its syntax
2662                  # (https://github.com/google/re2/wiki/Syntax) can be found under the
2663                  # google/re2 repository on GitHub.
2664              "groupIndexes": [ # The index of the submatch to extract as findings. When not
2665                  # specified, the entire match is returned. No more than 3 may be included.
2666                42,
2667              ],
2668            },
2669            "surrogateType": { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
2670                # support reversing.
2671                # such as
2672                # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
2673                # These types of transformations are
2674                # those that perform pseudonymization, thereby producing a "surrogate" as
2675                # output. This should be used in conjunction with a field on the
2676                # transformation such as `surrogate_info_type`. This CustomInfoType does
2677                # not support the use of `detection_rules`.
2678            },
2679            "infoType": { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
2680                # infoType, when the name matches one of existing infoTypes and that infoType
2681                # is specified in `InspectContent.info_types` field. Specifying the latter
2682                # adds findings to the one detected by the system. If built-in info type is
2683                # not specified in `InspectContent.info_types` list then the name is treated
2684                # as a custom info type.
2685              "name": "A String", # Name of the information type. Either a name of your choosing when
2686                  # creating a CustomInfoType, or one of the names listed
2687                  # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2688                  # a built-in type. InfoType names should conform to the pattern
2689                  # [a-zA-Z0-9_]{1,64}.
2690            },
2691            "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # A list of phrases to detect as a CustomInfoType.
2692                # be used to match sensitive information specific to the data, such as a list
2693                # of employee IDs or job titles.
2694                #
2695                # Dictionary words are case-insensitive and all characters other than letters
2696                # and digits in the unicode [Basic Multilingual
2697                # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
2698                # will be replaced with whitespace when scanning for matches, so the
2699                # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
2700                # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
2701                # surrounding any match must be of a different type than the adjacent
2702                # characters within the word, so letters must be next to non-letters and
2703                # digits next to non-digits. For example, the dictionary word "jen" will
2704                # match the first three letters of the text "jen123" but will return no
2705                # matches for "jennifer".
2706                #
2707                # Dictionary words containing a large number of characters that are not
2708                # letters or digits may result in unexpected findings because such characters
2709                # are treated as whitespace. The
2710                # [limits](https://cloud.google.com/dlp/limits) page contains details about
2711                # the size limits of dictionaries. For dictionaries that do not fit within
2712                # these constraints, consider using `LargeCustomDictionaryConfig` in the
2713                # `StoredInfoType` API.
2714              "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
2715                "words": [ # Words or phrases defining the dictionary. The dictionary must contain
2716                    # at least one phrase and every phrase must contain at least 2 characters
2717                    # that are letters or digits. [required]
2718                  "A String",
2719                ],
2720              },
2721              "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
2722                  # is accepted.
2723                "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
2724                    # Example: gs://[BUCKET_NAME]/dictionary.txt
2725              },
2726            },
2727            "storedType": { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
2728                # `InspectDataSource`. Not currently supported in `InspectContent`.
2729              "name": "A String", # Resource name of the requested `StoredInfoType`, for example
2730                  # `organizations/433245324/storedInfoTypes/432452342` or
2731                  # `projects/project-id/storedInfoTypes/432452342`.
2732              "createTime": "A String", # Timestamp indicating when the version of the `StoredInfoType` used for
2733                  # inspection was created. Output-only field, populated by the system.
2734            },
2735            "detectionRules": [ # Set of detection rules to apply to all findings of this CustomInfoType.
2736                # Rules are applied in order that they are specified. Not supported for the
2737                # `surrogate_type` CustomInfoType.
2738              { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
2739                  # `CustomInfoType` to alter behavior under certain circumstances, depending
2740                  # on the specific details of the rule. Not supported for the `surrogate_type`
2741                  # custom infoType.
2742                "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
2743                    # proximity of hotwords.
2744                  "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
2745                      # The total length of the window cannot exceed 1000 characters. Note that
2746                      # the finding itself will be included in the window, so that hotwords may
2747                      # be used to match substrings of the finding itself. For example, the
2748                      # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
2749                      # adjusted upwards if the area code is known to be the local area code of
2750                      # a company office using the hotword regex "\(xxx\)", where "xxx"
2751                      # is the area code in question.
2752                      # rule.
2753                    "windowAfter": 42, # Number of characters after the finding to consider.
2754                    "windowBefore": 42, # Number of characters before the finding to consider.
2755                  },
2756                  "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
2757                    "pattern": "A String", # Pattern defining the regular expression. Its syntax
2758                        # (https://github.com/google/re2/wiki/Syntax) can be found under the
2759                        # google/re2 repository on GitHub.
2760                    "groupIndexes": [ # The index of the submatch to extract as findings. When not
2761                        # specified, the entire match is returned. No more than 3 may be included.
2762                      42,
2763                    ],
2764                  },
2765                  "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
2766                      # part of a detection rule.
2767                    "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
2768                        # levels. For example, if a finding would be `POSSIBLE` without the
2769                        # detection rule and `relative_likelihood` is 1, then it is upgraded to
2770                        # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
2771                        # Likelihood may never drop below `VERY_UNLIKELY` or exceed
2772                        # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
2773                        # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
2774                        # a final likelihood of `LIKELY`.
2775                    "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
2776                  },
2777                },
2778              },
2779            ],
2780            "exclusionType": "A String", # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
2781                # to be returned. It still can be used for rules matching.
2782            "likelihood": "A String", # Likelihood to return for this CustomInfoType. This base value can be
2783                # altered by a detection rule if the finding meets the criteria specified by
2784                # the rule. Defaults to `VERY_LIKELY` if not specified.
2785          },
2786        ],
2787        "includeQuote": True or False, # When true, a contextual quote from the data that triggered a finding is
2788            # included in the response; see Finding.quote.
2789        "ruleSet": [ # Set of rules to apply to the findings for this InspectConfig.
2790            # Exclusion rules, contained in the set are executed in the end, other
2791            # rules are executed in the order they are specified for each info type.
2792          { # Rule set for modifying a set of infoTypes to alter behavior under certain
2793              # circumstances, depending on the specific details of the rules within the set.
2794            "rules": [ # Set of rules to be applied to infoTypes. The rules are applied in order.
2795              { # A single inspection rule to be applied to infoTypes, specified in
2796                  # `InspectionRuleSet`.
2797                "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
2798                    # proximity of hotwords.
2799                  "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
2800                      # The total length of the window cannot exceed 1000 characters. Note that
2801                      # the finding itself will be included in the window, so that hotwords may
2802                      # be used to match substrings of the finding itself. For example, the
2803                      # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
2804                      # adjusted upwards if the area code is known to be the local area code of
2805                      # a company office using the hotword regex "\(xxx\)", where "xxx"
2806                      # is the area code in question.
2807                      # rule.
2808                    "windowAfter": 42, # Number of characters after the finding to consider.
2809                    "windowBefore": 42, # Number of characters before the finding to consider.
2810                  },
2811                  "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
2812                    "pattern": "A String", # Pattern defining the regular expression. Its syntax
2813                        # (https://github.com/google/re2/wiki/Syntax) can be found under the
2814                        # google/re2 repository on GitHub.
2815                    "groupIndexes": [ # The index of the submatch to extract as findings. When not
2816                        # specified, the entire match is returned. No more than 3 may be included.
2817                      42,
2818                    ],
2819                  },
2820                  "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
2821                      # part of a detection rule.
2822                    "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
2823                        # levels. For example, if a finding would be `POSSIBLE` without the
2824                        # detection rule and `relative_likelihood` is 1, then it is upgraded to
2825                        # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
2826                        # Likelihood may never drop below `VERY_UNLIKELY` or exceed
2827                        # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
2828                        # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
2829                        # a final likelihood of `LIKELY`.
2830                    "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
2831                  },
2832                },
2833                "exclusionRule": { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
2834                    # `InspectionRuleSet` are removed from results.
2835                  "regex": { # Message defining a custom regular expression. # Regular expression which defines the rule.
2836                    "pattern": "A String", # Pattern defining the regular expression. Its syntax
2837                        # (https://github.com/google/re2/wiki/Syntax) can be found under the
2838                        # google/re2 repository on GitHub.
2839                    "groupIndexes": [ # The index of the submatch to extract as findings. When not
2840                        # specified, the entire match is returned. No more than 3 may be included.
2841                      42,
2842                    ],
2843                  },
2844                  "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
2845                    "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
2846                        # contained within with a finding of an infoType from this list. For
2847                        # example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and
2848                        # `exclusion_rule` containing `exclude_info_types.info_types` with
2849                        # "EMAIL_ADDRESS" the phone number findings are dropped if they overlap
2850                        # with EMAIL_ADDRESS finding.
2851                        # That leads to "555-222-2222@example.org" to generate only a single
2852                        # finding, namely email address.
2853                      { # Type of information detected by the API.
2854                        "name": "A String", # Name of the information type. Either a name of your choosing when
2855                            # creating a CustomInfoType, or one of the names listed
2856                            # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2857                            # a built-in type. InfoType names should conform to the pattern
2858                            # [a-zA-Z0-9_]{1,64}.
2859                      },
2860                    ],
2861                  },
2862                  "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
2863                      # be used to match sensitive information specific to the data, such as a list
2864                      # of employee IDs or job titles.
2865                      #
2866                      # Dictionary words are case-insensitive and all characters other than letters
2867                      # and digits in the unicode [Basic Multilingual
2868                      # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
2869                      # will be replaced with whitespace when scanning for matches, so the
2870                      # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
2871                      # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
2872                      # surrounding any match must be of a different type than the adjacent
2873                      # characters within the word, so letters must be next to non-letters and
2874                      # digits next to non-digits. For example, the dictionary word "jen" will
2875                      # match the first three letters of the text "jen123" but will return no
2876                      # matches for "jennifer".
2877                      #
2878                      # Dictionary words containing a large number of characters that are not
2879                      # letters or digits may result in unexpected findings because such characters
2880                      # are treated as whitespace. The
2881                      # [limits](https://cloud.google.com/dlp/limits) page contains details about
2882                      # the size limits of dictionaries. For dictionaries that do not fit within
2883                      # these constraints, consider using `LargeCustomDictionaryConfig` in the
2884                      # `StoredInfoType` API.
2885                    "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
2886                      "words": [ # Words or phrases defining the dictionary. The dictionary must contain
2887                          # at least one phrase and every phrase must contain at least 2 characters
2888                          # that are letters or digits. [required]
2889                        "A String",
2890                      ],
2891                    },
2892                    "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
2893                        # is accepted.
2894                      "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
2895                          # Example: gs://[BUCKET_NAME]/dictionary.txt
2896                    },
2897                  },
2898                  "matchingType": "A String", # How the rule is applied, see MatchingType documentation for details.
2899                },
2900              },
2901            ],
2902            "infoTypes": [ # List of infoTypes this rule set is applied to.
2903              { # Type of information detected by the API.
2904                "name": "A String", # Name of the information type. Either a name of your choosing when
2905                    # creating a CustomInfoType, or one of the names listed
2906                    # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2907                    # a built-in type. InfoType names should conform to the pattern
2908                    # [a-zA-Z0-9_]{1,64}.
2909              },
2910            ],
2911          },
2912        ],
2913        "contentOptions": [ # List of options defining data content to scan.
2914            # If empty, text, images, and other content will be included.
2915          "A String",
2916        ],
2917        "infoTypes": [ # Restricts what info_types to look for. The values must correspond to
2918            # InfoType values returned by ListInfoTypes or listed at
2919            # https://cloud.google.com/dlp/docs/infotypes-reference.
2920            #
2921            # When no InfoTypes or CustomInfoTypes are specified in a request, the
2922            # system may automatically choose what detectors to run. By default this may
2923            # be all types, but may change over time as detectors are updated.
2924            #
2925            # The special InfoType name "ALL_BASIC" can be used to trigger all detectors,
2926            # but may change over time as new InfoTypes are added. If you need precise
2927            # control and predictability as to what detectors are run you should specify
2928            # specific InfoTypes listed in the reference.
2929          { # Type of information detected by the API.
2930            "name": "A String", # Name of the information type. Either a name of your choosing when
2931                # creating a CustomInfoType, or one of the names listed
2932                # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2933                # a built-in type. InfoType names should conform to the pattern
2934                # [a-zA-Z0-9_]{1,64}.
2935          },
2936        ],
2937      },
2938      "inspectTemplateName": "A String", # If provided, will be used as the default for all values in InspectConfig.
2939          # `inspect_config` will be merged into the values persisted as part of the
2940          # template.
2941      "actions": [ # Actions to execute at the completion of the job.
2942        { # A task to execute on the completion of a job.
2943            # See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
2944          "saveFindings": { # If set, the detailed findings will be persisted to the specified # Save resulting findings in a provided location.
2945              # OutputStorageConfig. Only a single instance of this action can be
2946              # specified.
2947              # Compatible with: Inspect, Risk
2948            "outputConfig": { # Cloud repository for storing output.
2949              "table": { # Message defining the location of a BigQuery table. A table is uniquely # Store findings in an existing table or a new table in an existing
2950                  # dataset. If table_id is not set a new one will be generated
2951                  # for you with the following format:
2952                  # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
2953                  # generating the date details.
2954                  #
2955                  # For Inspect, each column in an existing output table must have the same
2956                  # name, type, and mode of a field in the `Finding` object.
2957                  #
2958                  # For Risk, an existing output table should be the output of a previous
2959                  # Risk analysis job run on the same source table, with the same privacy
2960                  # metric and quasi-identifiers. Risk jobs that analyze the same table but
2961                  # compute a different privacy metric, or use different sets of
2962                  # quasi-identifiers, cannot store their results in the same table.
2963                  # identified  by its project_id, dataset_id, and table_name. Within a query
2964                  # a table is often referenced with a string in the format of:
2965                  # `<project_id>:<dataset_id>.<table_id>` or
2966                  # `<project_id>.<dataset_id>.<table_id>`.
2967                "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
2968                    # If omitted, project ID is inferred from the API call.
2969                "tableId": "A String", # Name of the table.
2970                "datasetId": "A String", # Dataset ID of the table.
2971              },
2972              "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only
2973                  # used for Inspect and must be unspecified for Risk jobs. Columns are derived
2974                  # from the `Finding` object. If appending to an existing table, any columns
2975                  # from the predefined schema that are missing will be added. No columns in
2976                  # the existing table will be deleted.
2977                  #
2978                  # If unspecified, then all available columns will be used for a new table or
2979                  # an (existing) table with no schema, and no changes will be made to an
2980                  # existing table that has a schema.
2981            },
2982          },
2983          "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's # Enable email notification to project owners and editors on job's
2984              # completion/failure.
2985              # completion/failure.
2986          },
2987          "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security # Publish summary to Cloud Security Command Center (Alpha).
2988              # Command Center (CSCC Alpha).
2989              # This action is only available for projects which are parts of
2990              # an organization and whitelisted for the alpha Cloud Security Command
2991              # Center.
2992              # The action will publish count of finding instances and their info types.
2993              # The summary of findings will be persisted in CSCC and are governed by CSCC
2994              # service-specific policy, see https://cloud.google.com/terms/service-terms
2995              # Only a single instance of this action can be specified.
2996              # Compatible with: Inspect
2997          },
2998          "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The # Publish a notification to a pubsub topic.
2999              # message contains a single field, `DlpJobName`, which is equal to the
3000              # finished job's
3001              # [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
3002              # Compatible with: Inspect, Risk
3003            "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given
3004                # publishing access rights to the DLP API service account executing
3005                # the long running DlpJob sending the notifications.
3006                # Format is projects/{project}/topics/{topic}.
3007          },
3008        },
3009      ],
3010    },
3011    "triggers": [ # A list of triggers which will be OR'ed together. Only one in the list
3012        # needs to trigger for a job to be started. The list may contain only
3013        # a single Schedule trigger and must have at least one object.
3014      { # What event needs to occur for a new job to be started.
3015        "schedule": { # Schedule for triggeredJobs. # Create a job on a repeating basis based on the elapse of time.
3016          "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For
3017              # example: every day (86400 seconds).
3018              #
3019              # A scheduled start time will be skipped if the previous
3020              # execution has not ended when its scheduled time occurs.
3021              #
3022              # This value must be set to a time duration greater than or equal
3023              # to 1 day and can be no longer than 60 days.
3024        },
3025      },
3026    ],
3027    "lastRunTime": "A String", # The timestamp of the last time this trigger executed, output only field.
3028    "createTime": "A String", # The creation timestamp of a triggeredJob, output only field.
3029    "name": "A String", # Unique resource name for the triggeredJob, assigned by the service when the
3030        # triggeredJob is created, for example
3031        # `projects/dlp-test-project/triggeredJobs/53234423`.
3032  }</pre>
3033</div>
3034
3035<div class="method">
3036    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
3037  <pre>Deletes a job trigger.
3038See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
3039
3040Args:
3041  name: string, Resource name of the project and the triggeredJob, for example
3042`projects/dlp-test-project/jobTriggers/53234423`. (required)
3043  x__xgafv: string, V1 error format.
3044    Allowed values
3045      1 - v1 error format
3046      2 - v2 error format
3047
3048Returns:
3049  An object of the form:
3050
3051    { # A generic empty message that you can re-use to avoid defining duplicated
3052      # empty messages in your APIs. A typical example is to use it as the request
3053      # or the response type of an API method. For instance:
3054      #
3055      #     service Foo {
3056      #       rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
3057      #     }
3058      #
3059      # The JSON representation for `Empty` is empty JSON object `{}`.
3060  }</pre>
3061</div>
3062
3063<div class="method">
3064    <code class="details" id="get">get(name, x__xgafv=None)</code>
3065  <pre>Gets a job trigger.
3066See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
3067
3068Args:
3069  name: string, Resource name of the project and the triggeredJob, for example
3070`projects/dlp-test-project/jobTriggers/53234423`. (required)
3071  x__xgafv: string, V1 error format.
3072    Allowed values
3073      1 - v1 error format
3074      2 - v2 error format
3075
3076Returns:
3077  An object of the form:
3078
3079    { # Contains a configuration to make dlp api calls on a repeating basis.
3080      # See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
3081    "status": "A String", # A status for this trigger. [required]
3082    "updateTime": "A String", # The last update timestamp of a triggeredJob, output only field.
3083    "errors": [ # A stream of errors encountered when the trigger was activated. Repeated
3084        # errors may result in the JobTrigger automatically being paused.
3085        # Will return the last 100 errors. Whenever the JobTrigger is modified
3086        # this list will be cleared. Output only field.
3087      { # Details information about an error encountered during job execution or
3088          # the results of an unsuccessful activation of the JobTrigger.
3089          # Output only field.
3090        "timestamps": [ # The times the error occurred.
3091          "A String",
3092        ],
3093        "details": { # The `Status` type defines a logical error model that is suitable for
3094            # different programming environments, including REST APIs and RPC APIs. It is
3095            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
3096            # three pieces of data: error code, error message, and error details.
3097            #
3098            # You can find out more about this error model and how to work with it in the
3099            # [API Design Guide](https://cloud.google.com/apis/design/errors).
3100          "message": "A String", # A developer-facing error message, which should be in English. Any
3101              # user-facing error message should be localized and sent in the
3102              # google.rpc.Status.details field, or localized by the client.
3103          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
3104          "details": [ # A list of messages that carry the error details.  There is a common set of
3105              # message types for APIs to use.
3106            {
3107              "a_key": "", # Properties of the object. Contains field @type with type URL.
3108            },
3109          ],
3110        },
3111      },
3112    ],
3113    "displayName": "A String", # Display name (max 100 chars)
3114    "description": "A String", # User provided description (max 256 chars)
3115    "inspectJob": {
3116      "storageConfig": { # Shared message indicating Cloud storage type. # The data to scan.
3117        "datastoreOptions": { # Options defining a data set within Google Cloud Datastore. # Google Cloud Datastore options specification.
3118          "partitionId": { # Datastore partition ID. # A partition ID identifies a grouping of entities. The grouping is always
3119              # by project and namespace, however the namespace ID may be empty.
3120              # A partition ID identifies a grouping of entities. The grouping is always
3121              # by project and namespace, however the namespace ID may be empty.
3122              #
3123              # A partition ID contains several dimensions:
3124              # project ID and namespace ID.
3125            "projectId": "A String", # The ID of the project to which the entities belong.
3126            "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
3127          },
3128          "kind": { # A representation of a Datastore kind. # The kind to process.
3129            "name": "A String", # The name of the kind.
3130          },
3131        },
3132        "bigQueryOptions": { # Options defining BigQuery table and row identifiers. # BigQuery options specification.
3133          "excludedFields": [ # References to fields excluded from scanning. This allows you to skip
3134              # inspection of entire columns which you know have no findings.
3135            { # General identifier of a data field in a storage service.
3136              "name": "A String", # Name describing the field.
3137            },
3138          ],
3139          "rowsLimit": "A String", # Max number of rows to scan. If the table has more rows than this value, the
3140              # rest of the rows are omitted. If not set, or if set to 0, all rows will be
3141              # scanned. Only one of rows_limit and rows_limit_percent can be specified.
3142              # Cannot be used in conjunction with TimespanConfig.
3143          "sampleMethod": "A String",
3144          "identifyingFields": [ # References to fields uniquely identifying rows within the table.
3145              # Nested fields in the format, like `person.birthdate.year`, are allowed.
3146            { # General identifier of a data field in a storage service.
3147              "name": "A String", # Name describing the field.
3148            },
3149          ],
3150          "rowsLimitPercent": 42, # Max percentage of rows to scan. The rest are omitted. The number of rows
3151              # scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
3152              # 100 means no limit. Defaults to 0. Only one of rows_limit and
3153              # rows_limit_percent can be specified. Cannot be used in conjunction with
3154              # TimespanConfig.
3155          "tableReference": { # Message defining the location of a BigQuery table. A table is uniquely # Complete BigQuery table reference.
3156              # identified  by its project_id, dataset_id, and table_name. Within a query
3157              # a table is often referenced with a string in the format of:
3158              # `<project_id>:<dataset_id>.<table_id>` or
3159              # `<project_id>.<dataset_id>.<table_id>`.
3160            "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
3161                # If omitted, project ID is inferred from the API call.
3162            "tableId": "A String", # Name of the table.
3163            "datasetId": "A String", # Dataset ID of the table.
3164          },
3165        },
3166        "timespanConfig": { # Configuration of the timespan of the items to include in scanning.
3167            # Currently only supported when inspecting Google Cloud Storage and BigQuery.
3168          "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items.
3169              # Used for data sources like Datastore or BigQuery.
3170              # If not specified for BigQuery, table last modification timestamp
3171              # is checked against given time span.
3172              # The valid data types of the timestamp field are:
3173              # for BigQuery - timestamp, date, datetime;
3174              # for Datastore - timestamp.
3175              # Datastore entity will be scanned if the timestamp property does not exist
3176              # or its value is empty or invalid.
3177            "name": "A String", # Name describing the field.
3178          },
3179          "endTime": "A String", # Exclude files or rows newer than this value.
3180              # If set to zero, no upper time limit is applied.
3181          "startTime": "A String", # Exclude files or rows older than this value.
3182          "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out
3183              # a valid start_time to avoid scanning files that have not been modified
3184              # since the last time the JobTrigger executed. This will be based on the
3185              # time of the execution of the last run of the JobTrigger.
3186        },
3187        "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage # Google Cloud Storage options specification.
3188            # bucket.
3189          "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger
3190              # than this value then the rest of the bytes are omitted. Only one
3191              # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
3192          "sampleMethod": "A String",
3193          "fileSet": { # Set of files to scan. # The set of one or more files to scan.
3194            "url": "A String", # The Cloud Storage url of the file(s) to scan, in the format
3195                # `gs://<bucket>/<path>`. Trailing wildcard in the path is allowed.
3196                #
3197                # If the url ends in a trailing slash, the bucket or directory represented
3198                # by the url will be scanned non-recursively (content in sub-directories
3199                # will not be scanned). This means that `gs://mybucket/` is equivalent to
3200                # `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
3201                # `gs://mybucket/directory/*`.
3202                #
3203                # Exactly one of `url` or `regex_file_set` must be set.
3204            "regexFileSet": { # Message representing a set of files in a Cloud Storage bucket. Regular # The regex-filtered set of files to scan. Exactly one of `url` or
3205                # `regex_file_set` must be set.
3206                # expressions are used to allow fine-grained control over which files in the
3207                # bucket to include.
3208                #
3209                # Included files are those that match at least one item in `include_regex` and
3210                # do not match any items in `exclude_regex`. Note that a file that matches
3211                # items from both lists will _not_ be included. For a match to occur, the
3212                # entire file path (i.e., everything in the url after the bucket name) must
3213                # match the regular expression.
3214                #
3215                # For example, given the input `{bucket_name: "mybucket", include_regex:
3216                # ["directory1/.*"], exclude_regex:
3217                # ["directory1/excluded.*"]}`:
3218                #
3219                # * `gs://mybucket/directory1/myfile` will be included
3220                # * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
3221                # across `/`)
3222                # * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
3223                # full path doesn't match any items in `include_regex`)
3224                # * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
3225                # matches an item in `exclude_regex`)
3226                #
3227                # If `include_regex` is left empty, it will match all files by default
3228                # (this is equivalent to setting `include_regex: [".*"]`).
3229                #
3230                # Some other common use cases:
3231                #
3232                # * `{bucket_name: "mybucket", exclude_regex: [".*\.pdf"]}` will include all
3233                # files in `mybucket` except for .pdf files
3234                # * `{bucket_name: "mybucket", include_regex: ["directory/[^/]+"]}` will
3235                # include all files directly under `gs://mybucket/directory/`, without matching
3236                # across `/`
3237              "excludeRegex": [ # A list of regular expressions matching file paths to exclude. All files in
3238                  # the bucket that match at least one of these regular expressions will be
3239                  # excluded from the scan.
3240                  #
3241                  # Regular expressions use RE2
3242                  # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
3243                  # under the google/re2 repository on GitHub.
3244                "A String",
3245              ],
3246              "bucketName": "A String", # The name of a Cloud Storage bucket. Required.
3247              "includeRegex": [ # A list of regular expressions matching file paths to include. All files in
3248                  # the bucket that match at least one of these regular expressions will be
3249                  # included in the set of files, except for those that also match an item in
3250                  # `exclude_regex`. Leaving this field empty will match all files by default
3251                  # (this is equivalent to including `.*` in the list).
3252                  #
3253                  # Regular expressions use RE2
3254                  # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
3255                  # under the google/re2 repository on GitHub.
3256                "A String",
3257              ],
3258            },
3259          },
3260          "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The
3261              # number of bytes scanned is rounded down. Must be between 0 and 100,
3262              # inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
3263              # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
3264          "filesLimitPercent": 42, # Limits the number of files to scan to this percentage of the input FileSet.
3265              # Number of files scanned is rounded down. Must be between 0 and 100,
3266              # inclusively. Both 0 and 100 means no limit. Defaults to 0.
3267          "fileTypes": [ # List of file type groups to include in the scan.
3268              # If empty, all files are scanned and available data format processors
3269              # are applied. In addition, the binary content of the selected files
3270              # is always scanned as well.
3271            "A String",
3272          ],
3273        },
3274      },
3275      "inspectConfig": { # Configuration description of the scanning process. # How and what to scan for.
3276          # When used with redactContent only info_types and min_likelihood are currently
3277          # used.
3278        "excludeInfoTypes": True or False, # When true, excludes type information of the findings.
3279        "limits": {
3280          "maxFindingsPerRequest": 42, # Max number of findings that will be returned per request/job.
3281              # When set within `InspectContentRequest`, the maximum returned is 2000
3282              # regardless if this is set higher.
3283          "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes.
3284            { # Max findings configuration per infoType, per content item or long
3285                # running DlpJob.
3286              "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
3287                  # info_type should be provided. If InfoTypeLimit does not have an
3288                  # info_type, the DLP API applies the limit against all info_types that
3289                  # are found but not specified in another InfoTypeLimit.
3290                "name": "A String", # Name of the information type. Either a name of your choosing when
3291                    # creating a CustomInfoType, or one of the names listed
3292                    # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
3293                    # a built-in type. InfoType names should conform to the pattern
3294                    # [a-zA-Z0-9_]{1,64}.
3295              },
3296              "maxFindings": 42, # Max findings limit for the given infoType.
3297            },
3298          ],
3299          "maxFindingsPerItem": 42, # Max number of findings that will be returned for each item scanned.
3300              # When set within `InspectDataSourceRequest`,
3301              # the maximum returned is 2000 regardless if this is set higher.
3302              # When set within `InspectContentRequest`, this field is ignored.
3303        },
3304        "minLikelihood": "A String", # Only returns findings equal or above this threshold. The default is
3305            # POSSIBLE.
3306            # See https://cloud.google.com/dlp/docs/likelihood to learn more.
3307        "customInfoTypes": [ # CustomInfoTypes provided by the user. See
3308            # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
3309          { # Custom information type provided by the user. Used to find domain-specific
3310              # sensitive information configurable to the data in question.
3311            "regex": { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
3312              "pattern": "A String", # Pattern defining the regular expression. Its syntax
3313                  # (https://github.com/google/re2/wiki/Syntax) can be found under the
3314                  # google/re2 repository on GitHub.
3315              "groupIndexes": [ # The index of the submatch to extract as findings. When not
3316                  # specified, the entire match is returned. No more than 3 may be included.
3317                42,
3318              ],
3319            },
3320            "surrogateType": { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
3321                # support reversing.
3322                # such as
3323                # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
3324                # These types of transformations are
3325                # those that perform pseudonymization, thereby producing a "surrogate" as
3326                # output. This should be used in conjunction with a field on the
3327                # transformation such as `surrogate_info_type`. This CustomInfoType does
3328                # not support the use of `detection_rules`.
3329            },
3330            "infoType": { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
3331                # infoType, when the name matches one of existing infoTypes and that infoType
3332                # is specified in `InspectContent.info_types` field. Specifying the latter
3333                # adds findings to the one detected by the system. If built-in info type is
3334                # not specified in `InspectContent.info_types` list then the name is treated
3335                # as a custom info type.
3336              "name": "A String", # Name of the information type. Either a name of your choosing when
3337                  # creating a CustomInfoType, or one of the names listed
3338                  # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
3339                  # a built-in type. InfoType names should conform to the pattern
3340                  # [a-zA-Z0-9_]{1,64}.
3341            },
3342            "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # A list of phrases to detect as a CustomInfoType.
3343                # be used to match sensitive information specific to the data, such as a list
3344                # of employee IDs or job titles.
3345                #
3346                # Dictionary words are case-insensitive and all characters other than letters
3347                # and digits in the unicode [Basic Multilingual
3348                # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
3349                # will be replaced with whitespace when scanning for matches, so the
3350                # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
3351                # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
3352                # surrounding any match must be of a different type than the adjacent
3353                # characters within the word, so letters must be next to non-letters and
3354                # digits next to non-digits. For example, the dictionary word "jen" will
3355                # match the first three letters of the text "jen123" but will return no
3356                # matches for "jennifer".
3357                #
3358                # Dictionary words containing a large number of characters that are not
3359                # letters or digits may result in unexpected findings because such characters
3360                # are treated as whitespace. The
3361                # [limits](https://cloud.google.com/dlp/limits) page contains details about
3362                # the size limits of dictionaries. For dictionaries that do not fit within
3363                # these constraints, consider using `LargeCustomDictionaryConfig` in the
3364                # `StoredInfoType` API.
3365              "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
3366                "words": [ # Words or phrases defining the dictionary. The dictionary must contain
3367                    # at least one phrase and every phrase must contain at least 2 characters
3368                    # that are letters or digits. [required]
3369                  "A String",
3370                ],
3371              },
3372              "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
3373                  # is accepted.
3374                "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
3375                    # Example: gs://[BUCKET_NAME]/dictionary.txt
3376              },
3377            },
3378            "storedType": { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
3379                # `InspectDataSource`. Not currently supported in `InspectContent`.
3380              "name": "A String", # Resource name of the requested `StoredInfoType`, for example
3381                  # `organizations/433245324/storedInfoTypes/432452342` or
3382                  # `projects/project-id/storedInfoTypes/432452342`.
3383              "createTime": "A String", # Timestamp indicating when the version of the `StoredInfoType` used for
3384                  # inspection was created. Output-only field, populated by the system.
3385            },
3386            "detectionRules": [ # Set of detection rules to apply to all findings of this CustomInfoType.
3387                # Rules are applied in order that they are specified. Not supported for the
3388                # `surrogate_type` CustomInfoType.
3389              { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
3390                  # `CustomInfoType` to alter behavior under certain circumstances, depending
3391                  # on the specific details of the rule. Not supported for the `surrogate_type`
3392                  # custom infoType.
3393                "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
3394                    # proximity of hotwords.
3395                  "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
3396                      # The total length of the window cannot exceed 1000 characters. Note that
3397                      # the finding itself will be included in the window, so that hotwords may
3398                      # be used to match substrings of the finding itself. For example, the
3399                      # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
3400                      # adjusted upwards if the area code is known to be the local area code of
3401                      # a company office using the hotword regex "\(xxx\)", where "xxx"
3402                      # is the area code in question.
3403                      # rule.
3404                    "windowAfter": 42, # Number of characters after the finding to consider.
3405                    "windowBefore": 42, # Number of characters before the finding to consider.
3406                  },
3407                  "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
3408                    "pattern": "A String", # Pattern defining the regular expression. Its syntax
3409                        # (https://github.com/google/re2/wiki/Syntax) can be found under the
3410                        # google/re2 repository on GitHub.
3411                    "groupIndexes": [ # The index of the submatch to extract as findings. When not
3412                        # specified, the entire match is returned. No more than 3 may be included.
3413                      42,
3414                    ],
3415                  },
3416                  "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
3417                      # part of a detection rule.
3418                    "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
3419                        # levels. For example, if a finding would be `POSSIBLE` without the
3420                        # detection rule and `relative_likelihood` is 1, then it is upgraded to
3421                        # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
3422                        # Likelihood may never drop below `VERY_UNLIKELY` or exceed
3423                        # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
3424                        # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
3425                        # a final likelihood of `LIKELY`.
3426                    "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
3427                  },
3428                },
3429              },
3430            ],
3431            "exclusionType": "A String", # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
3432                # to be returned. It still can be used for rules matching.
3433            "likelihood": "A String", # Likelihood to return for this CustomInfoType. This base value can be
3434                # altered by a detection rule if the finding meets the criteria specified by
3435                # the rule. Defaults to `VERY_LIKELY` if not specified.
3436          },
3437        ],
3438        "includeQuote": True or False, # When true, a contextual quote from the data that triggered a finding is
3439            # included in the response; see Finding.quote.
3440        "ruleSet": [ # Set of rules to apply to the findings for this InspectConfig.
3441            # Exclusion rules, contained in the set are executed in the end, other
3442            # rules are executed in the order they are specified for each info type.
3443          { # Rule set for modifying a set of infoTypes to alter behavior under certain
3444              # circumstances, depending on the specific details of the rules within the set.
3445            "rules": [ # Set of rules to be applied to infoTypes. The rules are applied in order.
3446              { # A single inspection rule to be applied to infoTypes, specified in
3447                  # `InspectionRuleSet`.
3448                "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
3449                    # proximity of hotwords.
3450                  "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
3451                      # The total length of the window cannot exceed 1000 characters. Note that
3452                      # the finding itself will be included in the window, so that hotwords may
3453                      # be used to match substrings of the finding itself. For example, the
3454                      # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
3455                      # adjusted upwards if the area code is known to be the local area code of
3456                      # a company office using the hotword regex "\(xxx\)", where "xxx"
3457                      # is the area code in question.
3458                      # rule.
3459                    "windowAfter": 42, # Number of characters after the finding to consider.
3460                    "windowBefore": 42, # Number of characters before the finding to consider.
3461                  },
3462                  "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
3463                    "pattern": "A String", # Pattern defining the regular expression. Its syntax
3464                        # (https://github.com/google/re2/wiki/Syntax) can be found under the
3465                        # google/re2 repository on GitHub.
3466                    "groupIndexes": [ # The index of the submatch to extract as findings. When not
3467                        # specified, the entire match is returned. No more than 3 may be included.
3468                      42,
3469                    ],
3470                  },
3471                  "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
3472                      # part of a detection rule.
3473                    "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
3474                        # levels. For example, if a finding would be `POSSIBLE` without the
3475                        # detection rule and `relative_likelihood` is 1, then it is upgraded to
3476                        # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
3477                        # Likelihood may never drop below `VERY_UNLIKELY` or exceed
3478                        # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
3479                        # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
3480                        # a final likelihood of `LIKELY`.
3481                    "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
3482                  },
3483                },
3484                "exclusionRule": { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
3485                    # `InspectionRuleSet` are removed from results.
3486                  "regex": { # Message defining a custom regular expression. # Regular expression which defines the rule.
3487                    "pattern": "A String", # Pattern defining the regular expression. Its syntax
3488                        # (https://github.com/google/re2/wiki/Syntax) can be found under the
3489                        # google/re2 repository on GitHub.
3490                    "groupIndexes": [ # The index of the submatch to extract as findings. When not
3491                        # specified, the entire match is returned. No more than 3 may be included.
3492                      42,
3493                    ],
3494                  },
3495                  "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
3496                    "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
3497                        # contained within with a finding of an infoType from this list. For
3498                        # example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and
3499                        # `exclusion_rule` containing `exclude_info_types.info_types` with
3500                        # "EMAIL_ADDRESS" the phone number findings are dropped if they overlap
3501                        # with EMAIL_ADDRESS finding.
3502                        # That leads to "555-222-2222@example.org" to generate only a single
3503                        # finding, namely email address.
3504                      { # Type of information detected by the API.
3505                        "name": "A String", # Name of the information type. Either a name of your choosing when
3506                            # creating a CustomInfoType, or one of the names listed
3507                            # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
3508                            # a built-in type. InfoType names should conform to the pattern
3509                            # [a-zA-Z0-9_]{1,64}.
3510                      },
3511                    ],
3512                  },
3513                  "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
3514                      # be used to match sensitive information specific to the data, such as a list
3515                      # of employee IDs or job titles.
3516                      #
3517                      # Dictionary words are case-insensitive and all characters other than letters
3518                      # and digits in the unicode [Basic Multilingual
3519                      # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
3520                      # will be replaced with whitespace when scanning for matches, so the
3521                      # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
3522                      # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
3523                      # surrounding any match must be of a different type than the adjacent
3524                      # characters within the word, so letters must be next to non-letters and
3525                      # digits next to non-digits. For example, the dictionary word "jen" will
3526                      # match the first three letters of the text "jen123" but will return no
3527                      # matches for "jennifer".
3528                      #
3529                      # Dictionary words containing a large number of characters that are not
3530                      # letters or digits may result in unexpected findings because such characters
3531                      # are treated as whitespace. The
3532                      # [limits](https://cloud.google.com/dlp/limits) page contains details about
3533                      # the size limits of dictionaries. For dictionaries that do not fit within
3534                      # these constraints, consider using `LargeCustomDictionaryConfig` in the
3535                      # `StoredInfoType` API.
3536                    "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
3537                      "words": [ # Words or phrases defining the dictionary. The dictionary must contain
3538                          # at least one phrase and every phrase must contain at least 2 characters
3539                          # that are letters or digits. [required]
3540                        "A String",
3541                      ],
3542                    },
3543                    "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
3544                        # is accepted.
3545                      "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
3546                          # Example: gs://[BUCKET_NAME]/dictionary.txt
3547                    },
3548                  },
3549                  "matchingType": "A String", # How the rule is applied, see MatchingType documentation for details.
3550                },
3551              },
3552            ],
3553            "infoTypes": [ # List of infoTypes this rule set is applied to.
3554              { # Type of information detected by the API.
3555                "name": "A String", # Name of the information type. Either a name of your choosing when
3556                    # creating a CustomInfoType, or one of the names listed
3557                    # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
3558                    # a built-in type. InfoType names should conform to the pattern
3559                    # [a-zA-Z0-9_]{1,64}.
3560              },
3561            ],
3562          },
3563        ],
3564        "contentOptions": [ # List of options defining data content to scan.
3565            # If empty, text, images, and other content will be included.
3566          "A String",
3567        ],
3568        "infoTypes": [ # Restricts what info_types to look for. The values must correspond to
3569            # InfoType values returned by ListInfoTypes or listed at
3570            # https://cloud.google.com/dlp/docs/infotypes-reference.
3571            #
3572            # When no InfoTypes or CustomInfoTypes are specified in a request, the
3573            # system may automatically choose what detectors to run. By default this may
3574            # be all types, but may change over time as detectors are updated.
3575            #
3576            # The special InfoType name "ALL_BASIC" can be used to trigger all detectors,
3577            # but may change over time as new InfoTypes are added. If you need precise
3578            # control and predictability as to what detectors are run you should specify
3579            # specific InfoTypes listed in the reference.
3580          { # Type of information detected by the API.
3581            "name": "A String", # Name of the information type. Either a name of your choosing when
3582                # creating a CustomInfoType, or one of the names listed
3583                # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
3584                # a built-in type. InfoType names should conform to the pattern
3585                # [a-zA-Z0-9_]{1,64}.
3586          },
3587        ],
3588      },
3589      "inspectTemplateName": "A String", # If provided, will be used as the default for all values in InspectConfig.
3590          # `inspect_config` will be merged into the values persisted as part of the
3591          # template.
3592      "actions": [ # Actions to execute at the completion of the job.
3593        { # A task to execute on the completion of a job.
3594            # See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
3595          "saveFindings": { # If set, the detailed findings will be persisted to the specified # Save resulting findings in a provided location.
3596              # OutputStorageConfig. Only a single instance of this action can be
3597              # specified.
3598              # Compatible with: Inspect, Risk
3599            "outputConfig": { # Cloud repository for storing output.
3600              "table": { # Message defining the location of a BigQuery table. A table is uniquely # Store findings in an existing table or a new table in an existing
3601                  # dataset. If table_id is not set a new one will be generated
3602                  # for you with the following format:
3603                  # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
3604                  # generating the date details.
3605                  #
3606                  # For Inspect, each column in an existing output table must have the same
3607                  # name, type, and mode of a field in the `Finding` object.
3608                  #
3609                  # For Risk, an existing output table should be the output of a previous
3610                  # Risk analysis job run on the same source table, with the same privacy
3611                  # metric and quasi-identifiers. Risk jobs that analyze the same table but
3612                  # compute a different privacy metric, or use different sets of
3613                  # quasi-identifiers, cannot store their results in the same table.
3614                  # identified  by its project_id, dataset_id, and table_name. Within a query
3615                  # a table is often referenced with a string in the format of:
3616                  # `<project_id>:<dataset_id>.<table_id>` or
3617                  # `<project_id>.<dataset_id>.<table_id>`.
3618                "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
3619                    # If omitted, project ID is inferred from the API call.
3620                "tableId": "A String", # Name of the table.
3621                "datasetId": "A String", # Dataset ID of the table.
3622              },
3623              "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only
3624                  # used for Inspect and must be unspecified for Risk jobs. Columns are derived
3625                  # from the `Finding` object. If appending to an existing table, any columns
3626                  # from the predefined schema that are missing will be added. No columns in
3627                  # the existing table will be deleted.
3628                  #
3629                  # If unspecified, then all available columns will be used for a new table or
3630                  # an (existing) table with no schema, and no changes will be made to an
3631                  # existing table that has a schema.
3632            },
3633          },
3634          "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's # Enable email notification to project owners and editors on job's
3635              # completion/failure.
3636              # completion/failure.
3637          },
3638          "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security # Publish summary to Cloud Security Command Center (Alpha).
3639              # Command Center (CSCC Alpha).
3640              # This action is only available for projects which are parts of
3641              # an organization and whitelisted for the alpha Cloud Security Command
3642              # Center.
3643              # The action will publish count of finding instances and their info types.
3644              # The summary of findings will be persisted in CSCC and are governed by CSCC
3645              # service-specific policy, see https://cloud.google.com/terms/service-terms
3646              # Only a single instance of this action can be specified.
3647              # Compatible with: Inspect
3648          },
3649          "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The # Publish a notification to a pubsub topic.
3650              # message contains a single field, `DlpJobName`, which is equal to the
3651              # finished job's
3652              # [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
3653              # Compatible with: Inspect, Risk
3654            "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given
3655                # publishing access rights to the DLP API service account executing
3656                # the long running DlpJob sending the notifications.
3657                # Format is projects/{project}/topics/{topic}.
3658          },
3659        },
3660      ],
3661    },
3662    "triggers": [ # A list of triggers which will be OR'ed together. Only one in the list
3663        # needs to trigger for a job to be started. The list may contain only
3664        # a single Schedule trigger and must have at least one object.
3665      { # What event needs to occur for a new job to be started.
3666        "schedule": { # Schedule for triggeredJobs. # Create a job on a repeating basis based on the elapse of time.
3667          "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For
3668              # example: every day (86400 seconds).
3669              #
3670              # A scheduled start time will be skipped if the previous
3671              # execution has not ended when its scheduled time occurs.
3672              #
3673              # This value must be set to a time duration greater than or equal
3674              # to 1 day and can be no longer than 60 days.
3675        },
3676      },
3677    ],
3678    "lastRunTime": "A String", # The timestamp of the last time this trigger executed, output only field.
3679    "createTime": "A String", # The creation timestamp of a triggeredJob, output only field.
3680    "name": "A String", # Unique resource name for the triggeredJob, assigned by the service when the
3681        # triggeredJob is created, for example
3682        # `projects/dlp-test-project/triggeredJobs/53234423`.
3683  }</pre>
3684</div>
3685
3686<div class="method">
3687    <code class="details" id="list">list(parent, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None, filter=None)</code>
3688  <pre>Lists job triggers.
3689See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
3690
3691Args:
3692  parent: string, The parent resource name, for example `projects/my-project-id`. (required)
3693  orderBy: string, Optional comma separated list of triggeredJob fields to order by,
3694followed by `asc` or `desc` postfix. This list is case-insensitive,
3695default sorting order is ascending, redundant space characters are
3696insignificant.
3697
3698Example: `name asc,update_time, create_time desc`
3699
3700Supported fields are:
3701
3702- `create_time`: corresponds to time the JobTrigger was created.
3703- `update_time`: corresponds to time the JobTrigger was last updated.
3704- `last_run_time`: corresponds to the last time the JobTrigger ran.
3705- `name`: corresponds to JobTrigger's name.
3706- `display_name`: corresponds to JobTrigger's display name.
3707- `status`: corresponds to JobTrigger's status.
3708  pageSize: integer, Optional size of the page, can be limited by a server.
3709  pageToken: string, Optional page token to continue retrieval. Comes from previous call
3710to ListJobTriggers. `order_by` field must not
3711change for subsequent calls.
3712  x__xgafv: string, V1 error format.
3713    Allowed values
3714      1 - v1 error format
3715      2 - v2 error format
3716  filter: string, Optional. Allows filtering.
3717
3718Supported syntax:
3719
3720* Filter expressions are made up of one or more restrictions.
3721* Restrictions can be combined by `AND` or `OR` logical operators. A
3722sequence of restrictions implicitly uses `AND`.
3723* A restriction has the form of `<field> <operator> <value>`.
3724* Supported fields/values for inspect jobs:
3725    - `status` - HEALTHY|PAUSED|CANCELLED
3726    - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
3727    - 'last_run_time` - RFC 3339 formatted timestamp, surrounded by
3728    quotation marks. Nanoseconds are ignored.
3729    - 'error_count' - Number of errors that have occurred while running.
3730* The operator must be `=` or `!=` for status and inspected_storage.
3731
3732Examples:
3733
3734* inspected_storage = cloud_storage AND status = HEALTHY
3735* inspected_storage = cloud_storage OR inspected_storage = bigquery
3736* inspected_storage = cloud_storage AND (state = PAUSED OR state = HEALTHY)
3737* last_run_time > \"2017-12-12T00:00:00+00:00\"
3738
3739The length of this field should be no more than 500 characters.
3740
3741Returns:
3742  An object of the form:
3743
3744    { # Response message for ListJobTriggers.
3745    "nextPageToken": "A String", # If the next page is available then the next page token to be used
3746        # in following ListJobTriggers request.
3747    "jobTriggers": [ # List of triggeredJobs, up to page_size in ListJobTriggersRequest.
3748      { # Contains a configuration to make dlp api calls on a repeating basis.
3749          # See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
3750        "status": "A String", # A status for this trigger. [required]
3751        "updateTime": "A String", # The last update timestamp of a triggeredJob, output only field.
3752        "errors": [ # A stream of errors encountered when the trigger was activated. Repeated
3753            # errors may result in the JobTrigger automatically being paused.
3754            # Will return the last 100 errors. Whenever the JobTrigger is modified
3755            # this list will be cleared. Output only field.
3756          { # Details information about an error encountered during job execution or
3757              # the results of an unsuccessful activation of the JobTrigger.
3758              # Output only field.
3759            "timestamps": [ # The times the error occurred.
3760              "A String",
3761            ],
3762            "details": { # The `Status` type defines a logical error model that is suitable for
3763                # different programming environments, including REST APIs and RPC APIs. It is
3764                # used by [gRPC](https://github.com/grpc). Each `Status` message contains
3765                # three pieces of data: error code, error message, and error details.
3766                #
3767                # You can find out more about this error model and how to work with it in the
3768                # [API Design Guide](https://cloud.google.com/apis/design/errors).
3769              "message": "A String", # A developer-facing error message, which should be in English. Any
3770                  # user-facing error message should be localized and sent in the
3771                  # google.rpc.Status.details field, or localized by the client.
3772              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
3773              "details": [ # A list of messages that carry the error details.  There is a common set of
3774                  # message types for APIs to use.
3775                {
3776                  "a_key": "", # Properties of the object. Contains field @type with type URL.
3777                },
3778              ],
3779            },
3780          },
3781        ],
3782        "displayName": "A String", # Display name (max 100 chars)
3783        "description": "A String", # User provided description (max 256 chars)
3784        "inspectJob": {
3785          "storageConfig": { # Shared message indicating Cloud storage type. # The data to scan.
3786            "datastoreOptions": { # Options defining a data set within Google Cloud Datastore. # Google Cloud Datastore options specification.
3787              "partitionId": { # Datastore partition ID. # A partition ID identifies a grouping of entities. The grouping is always
3788                  # by project and namespace, however the namespace ID may be empty.
3789                  # A partition ID identifies a grouping of entities. The grouping is always
3790                  # by project and namespace, however the namespace ID may be empty.
3791                  #
3792                  # A partition ID contains several dimensions:
3793                  # project ID and namespace ID.
3794                "projectId": "A String", # The ID of the project to which the entities belong.
3795                "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
3796              },
3797              "kind": { # A representation of a Datastore kind. # The kind to process.
3798                "name": "A String", # The name of the kind.
3799              },
3800            },
3801            "bigQueryOptions": { # Options defining BigQuery table and row identifiers. # BigQuery options specification.
3802              "excludedFields": [ # References to fields excluded from scanning. This allows you to skip
3803                  # inspection of entire columns which you know have no findings.
3804                { # General identifier of a data field in a storage service.
3805                  "name": "A String", # Name describing the field.
3806                },
3807              ],
3808              "rowsLimit": "A String", # Max number of rows to scan. If the table has more rows than this value, the
3809                  # rest of the rows are omitted. If not set, or if set to 0, all rows will be
3810                  # scanned. Only one of rows_limit and rows_limit_percent can be specified.
3811                  # Cannot be used in conjunction with TimespanConfig.
3812              "sampleMethod": "A String",
3813              "identifyingFields": [ # References to fields uniquely identifying rows within the table.
3814                  # Nested fields in the format, like `person.birthdate.year`, are allowed.
3815                { # General identifier of a data field in a storage service.
3816                  "name": "A String", # Name describing the field.
3817                },
3818              ],
3819              "rowsLimitPercent": 42, # Max percentage of rows to scan. The rest are omitted. The number of rows
3820                  # scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
3821                  # 100 means no limit. Defaults to 0. Only one of rows_limit and
3822                  # rows_limit_percent can be specified. Cannot be used in conjunction with
3823                  # TimespanConfig.
3824              "tableReference": { # Message defining the location of a BigQuery table. A table is uniquely # Complete BigQuery table reference.
3825                  # identified  by its project_id, dataset_id, and table_name. Within a query
3826                  # a table is often referenced with a string in the format of:
3827                  # `<project_id>:<dataset_id>.<table_id>` or
3828                  # `<project_id>.<dataset_id>.<table_id>`.
3829                "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
3830                    # If omitted, project ID is inferred from the API call.
3831                "tableId": "A String", # Name of the table.
3832                "datasetId": "A String", # Dataset ID of the table.
3833              },
3834            },
3835            "timespanConfig": { # Configuration of the timespan of the items to include in scanning.
3836                # Currently only supported when inspecting Google Cloud Storage and BigQuery.
3837              "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items.
3838                  # Used for data sources like Datastore or BigQuery.
3839                  # If not specified for BigQuery, table last modification timestamp
3840                  # is checked against given time span.
3841                  # The valid data types of the timestamp field are:
3842                  # for BigQuery - timestamp, date, datetime;
3843                  # for Datastore - timestamp.
3844                  # Datastore entity will be scanned if the timestamp property does not exist
3845                  # or its value is empty or invalid.
3846                "name": "A String", # Name describing the field.
3847              },
3848              "endTime": "A String", # Exclude files or rows newer than this value.
3849                  # If set to zero, no upper time limit is applied.
3850              "startTime": "A String", # Exclude files or rows older than this value.
3851              "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out
3852                  # a valid start_time to avoid scanning files that have not been modified
3853                  # since the last time the JobTrigger executed. This will be based on the
3854                  # time of the execution of the last run of the JobTrigger.
3855            },
3856            "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage # Google Cloud Storage options specification.
3857                # bucket.
3858              "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger
3859                  # than this value then the rest of the bytes are omitted. Only one
3860                  # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
3861              "sampleMethod": "A String",
3862              "fileSet": { # Set of files to scan. # The set of one or more files to scan.
3863                "url": "A String", # The Cloud Storage url of the file(s) to scan, in the format
3864                    # `gs://<bucket>/<path>`. Trailing wildcard in the path is allowed.
3865                    #
3866                    # If the url ends in a trailing slash, the bucket or directory represented
3867                    # by the url will be scanned non-recursively (content in sub-directories
3868                    # will not be scanned). This means that `gs://mybucket/` is equivalent to
3869                    # `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
3870                    # `gs://mybucket/directory/*`.
3871                    #
3872                    # Exactly one of `url` or `regex_file_set` must be set.
3873                "regexFileSet": { # Message representing a set of files in a Cloud Storage bucket. Regular # The regex-filtered set of files to scan. Exactly one of `url` or
3874                    # `regex_file_set` must be set.
3875                    # expressions are used to allow fine-grained control over which files in the
3876                    # bucket to include.
3877                    #
3878                    # Included files are those that match at least one item in `include_regex` and
3879                    # do not match any items in `exclude_regex`. Note that a file that matches
3880                    # items from both lists will _not_ be included. For a match to occur, the
3881                    # entire file path (i.e., everything in the url after the bucket name) must
3882                    # match the regular expression.
3883                    #
3884                    # For example, given the input `{bucket_name: "mybucket", include_regex:
3885                    # ["directory1/.*"], exclude_regex:
3886                    # ["directory1/excluded.*"]}`:
3887                    #
3888                    # * `gs://mybucket/directory1/myfile` will be included
3889                    # * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
3890                    # across `/`)
3891                    # * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
3892                    # full path doesn't match any items in `include_regex`)
3893                    # * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
3894                    # matches an item in `exclude_regex`)
3895                    #
3896                    # If `include_regex` is left empty, it will match all files by default
3897                    # (this is equivalent to setting `include_regex: [".*"]`).
3898                    #
3899                    # Some other common use cases:
3900                    #
3901                    # * `{bucket_name: "mybucket", exclude_regex: [".*\.pdf"]}` will include all
3902                    # files in `mybucket` except for .pdf files
3903                    # * `{bucket_name: "mybucket", include_regex: ["directory/[^/]+"]}` will
3904                    # include all files directly under `gs://mybucket/directory/`, without matching
3905                    # across `/`
3906                  "excludeRegex": [ # A list of regular expressions matching file paths to exclude. All files in
3907                      # the bucket that match at least one of these regular expressions will be
3908                      # excluded from the scan.
3909                      #
3910                      # Regular expressions use RE2
3911                      # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
3912                      # under the google/re2 repository on GitHub.
3913                    "A String",
3914                  ],
3915                  "bucketName": "A String", # The name of a Cloud Storage bucket. Required.
3916                  "includeRegex": [ # A list of regular expressions matching file paths to include. All files in
3917                      # the bucket that match at least one of these regular expressions will be
3918                      # included in the set of files, except for those that also match an item in
3919                      # `exclude_regex`. Leaving this field empty will match all files by default
3920                      # (this is equivalent to including `.*` in the list).
3921                      #
3922                      # Regular expressions use RE2
3923                      # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
3924                      # under the google/re2 repository on GitHub.
3925                    "A String",
3926                  ],
3927                },
3928              },
3929              "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The
3930                  # number of bytes scanned is rounded down. Must be between 0 and 100,
3931                  # inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
3932                  # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
3933              "filesLimitPercent": 42, # Limits the number of files to scan to this percentage of the input FileSet.
3934                  # Number of files scanned is rounded down. Must be between 0 and 100,
3935                  # inclusively. Both 0 and 100 means no limit. Defaults to 0.
3936              "fileTypes": [ # List of file type groups to include in the scan.
3937                  # If empty, all files are scanned and available data format processors
3938                  # are applied. In addition, the binary content of the selected files
3939                  # is always scanned as well.
3940                "A String",
3941              ],
3942            },
3943          },
3944          "inspectConfig": { # Configuration description of the scanning process. # How and what to scan for.
3945              # When used with redactContent only info_types and min_likelihood are currently
3946              # used.
3947            "excludeInfoTypes": True or False, # When true, excludes type information of the findings.
3948            "limits": {
3949              "maxFindingsPerRequest": 42, # Max number of findings that will be returned per request/job.
3950                  # When set within `InspectContentRequest`, the maximum returned is 2000
3951                  # regardless if this is set higher.
3952              "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes.
3953                { # Max findings configuration per infoType, per content item or long
3954                    # running DlpJob.
3955                  "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
3956                      # info_type should be provided. If InfoTypeLimit does not have an
3957                      # info_type, the DLP API applies the limit against all info_types that
3958                      # are found but not specified in another InfoTypeLimit.
3959                    "name": "A String", # Name of the information type. Either a name of your choosing when
3960                        # creating a CustomInfoType, or one of the names listed
3961                        # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
3962                        # a built-in type. InfoType names should conform to the pattern
3963                        # [a-zA-Z0-9_]{1,64}.
3964                  },
3965                  "maxFindings": 42, # Max findings limit for the given infoType.
3966                },
3967              ],
3968              "maxFindingsPerItem": 42, # Max number of findings that will be returned for each item scanned.
3969                  # When set within `InspectDataSourceRequest`,
3970                  # the maximum returned is 2000 regardless if this is set higher.
3971                  # When set within `InspectContentRequest`, this field is ignored.
3972            },
3973            "minLikelihood": "A String", # Only returns findings equal or above this threshold. The default is
3974                # POSSIBLE.
3975                # See https://cloud.google.com/dlp/docs/likelihood to learn more.
3976            "customInfoTypes": [ # CustomInfoTypes provided by the user. See
3977                # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
3978              { # Custom information type provided by the user. Used to find domain-specific
3979                  # sensitive information configurable to the data in question.
3980                "regex": { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
3981                  "pattern": "A String", # Pattern defining the regular expression. Its syntax
3982                      # (https://github.com/google/re2/wiki/Syntax) can be found under the
3983                      # google/re2 repository on GitHub.
3984                  "groupIndexes": [ # The index of the submatch to extract as findings. When not
3985                      # specified, the entire match is returned. No more than 3 may be included.
3986                    42,
3987                  ],
3988                },
3989                "surrogateType": { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
3990                    # support reversing.
3991                    # such as
3992                    # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
3993                    # These types of transformations are
3994                    # those that perform pseudonymization, thereby producing a "surrogate" as
3995                    # output. This should be used in conjunction with a field on the
3996                    # transformation such as `surrogate_info_type`. This CustomInfoType does
3997                    # not support the use of `detection_rules`.
3998                },
3999                "infoType": { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
4000                    # infoType, when the name matches one of existing infoTypes and that infoType
4001                    # is specified in `InspectContent.info_types` field. Specifying the latter
4002                    # adds findings to the one detected by the system. If built-in info type is
4003                    # not specified in `InspectContent.info_types` list then the name is treated
4004                    # as a custom info type.
4005                  "name": "A String", # Name of the information type. Either a name of your choosing when
4006                      # creating a CustomInfoType, or one of the names listed
4007                      # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4008                      # a built-in type. InfoType names should conform to the pattern
4009                      # [a-zA-Z0-9_]{1,64}.
4010                },
4011                "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # A list of phrases to detect as a CustomInfoType.
4012                    # be used to match sensitive information specific to the data, such as a list
4013                    # of employee IDs or job titles.
4014                    #
4015                    # Dictionary words are case-insensitive and all characters other than letters
4016                    # and digits in the unicode [Basic Multilingual
4017                    # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
4018                    # will be replaced with whitespace when scanning for matches, so the
4019                    # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
4020                    # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
4021                    # surrounding any match must be of a different type than the adjacent
4022                    # characters within the word, so letters must be next to non-letters and
4023                    # digits next to non-digits. For example, the dictionary word "jen" will
4024                    # match the first three letters of the text "jen123" but will return no
4025                    # matches for "jennifer".
4026                    #
4027                    # Dictionary words containing a large number of characters that are not
4028                    # letters or digits may result in unexpected findings because such characters
4029                    # are treated as whitespace. The
4030                    # [limits](https://cloud.google.com/dlp/limits) page contains details about
4031                    # the size limits of dictionaries. For dictionaries that do not fit within
4032                    # these constraints, consider using `LargeCustomDictionaryConfig` in the
4033                    # `StoredInfoType` API.
4034                  "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
4035                    "words": [ # Words or phrases defining the dictionary. The dictionary must contain
4036                        # at least one phrase and every phrase must contain at least 2 characters
4037                        # that are letters or digits. [required]
4038                      "A String",
4039                    ],
4040                  },
4041                  "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
4042                      # is accepted.
4043                    "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
4044                        # Example: gs://[BUCKET_NAME]/dictionary.txt
4045                  },
4046                },
4047                "storedType": { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
4048                    # `InspectDataSource`. Not currently supported in `InspectContent`.
4049                  "name": "A String", # Resource name of the requested `StoredInfoType`, for example
4050                      # `organizations/433245324/storedInfoTypes/432452342` or
4051                      # `projects/project-id/storedInfoTypes/432452342`.
4052                  "createTime": "A String", # Timestamp indicating when the version of the `StoredInfoType` used for
4053                      # inspection was created. Output-only field, populated by the system.
4054                },
4055                "detectionRules": [ # Set of detection rules to apply to all findings of this CustomInfoType.
4056                    # Rules are applied in order that they are specified. Not supported for the
4057                    # `surrogate_type` CustomInfoType.
4058                  { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
4059                      # `CustomInfoType` to alter behavior under certain circumstances, depending
4060                      # on the specific details of the rule. Not supported for the `surrogate_type`
4061                      # custom infoType.
4062                    "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
4063                        # proximity of hotwords.
4064                      "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
4065                          # The total length of the window cannot exceed 1000 characters. Note that
4066                          # the finding itself will be included in the window, so that hotwords may
4067                          # be used to match substrings of the finding itself. For example, the
4068                          # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
4069                          # adjusted upwards if the area code is known to be the local area code of
4070                          # a company office using the hotword regex "\(xxx\)", where "xxx"
4071                          # is the area code in question.
4072                          # rule.
4073                        "windowAfter": 42, # Number of characters after the finding to consider.
4074                        "windowBefore": 42, # Number of characters before the finding to consider.
4075                      },
4076                      "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
4077                        "pattern": "A String", # Pattern defining the regular expression. Its syntax
4078                            # (https://github.com/google/re2/wiki/Syntax) can be found under the
4079                            # google/re2 repository on GitHub.
4080                        "groupIndexes": [ # The index of the submatch to extract as findings. When not
4081                            # specified, the entire match is returned. No more than 3 may be included.
4082                          42,
4083                        ],
4084                      },
4085                      "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
4086                          # part of a detection rule.
4087                        "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
4088                            # levels. For example, if a finding would be `POSSIBLE` without the
4089                            # detection rule and `relative_likelihood` is 1, then it is upgraded to
4090                            # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
4091                            # Likelihood may never drop below `VERY_UNLIKELY` or exceed
4092                            # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
4093                            # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
4094                            # a final likelihood of `LIKELY`.
4095                        "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
4096                      },
4097                    },
4098                  },
4099                ],
4100                "exclusionType": "A String", # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
4101                    # to be returned. It still can be used for rules matching.
4102                "likelihood": "A String", # Likelihood to return for this CustomInfoType. This base value can be
4103                    # altered by a detection rule if the finding meets the criteria specified by
4104                    # the rule. Defaults to `VERY_LIKELY` if not specified.
4105              },
4106            ],
4107            "includeQuote": True or False, # When true, a contextual quote from the data that triggered a finding is
4108                # included in the response; see Finding.quote.
4109            "ruleSet": [ # Set of rules to apply to the findings for this InspectConfig.
4110                # Exclusion rules, contained in the set are executed in the end, other
4111                # rules are executed in the order they are specified for each info type.
4112              { # Rule set for modifying a set of infoTypes to alter behavior under certain
4113                  # circumstances, depending on the specific details of the rules within the set.
4114                "rules": [ # Set of rules to be applied to infoTypes. The rules are applied in order.
4115                  { # A single inspection rule to be applied to infoTypes, specified in
4116                      # `InspectionRuleSet`.
4117                    "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
4118                        # proximity of hotwords.
4119                      "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
4120                          # The total length of the window cannot exceed 1000 characters. Note that
4121                          # the finding itself will be included in the window, so that hotwords may
4122                          # be used to match substrings of the finding itself. For example, the
4123                          # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
4124                          # adjusted upwards if the area code is known to be the local area code of
4125                          # a company office using the hotword regex "\(xxx\)", where "xxx"
4126                          # is the area code in question.
4127                          # rule.
4128                        "windowAfter": 42, # Number of characters after the finding to consider.
4129                        "windowBefore": 42, # Number of characters before the finding to consider.
4130                      },
4131                      "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
4132                        "pattern": "A String", # Pattern defining the regular expression. Its syntax
4133                            # (https://github.com/google/re2/wiki/Syntax) can be found under the
4134                            # google/re2 repository on GitHub.
4135                        "groupIndexes": [ # The index of the submatch to extract as findings. When not
4136                            # specified, the entire match is returned. No more than 3 may be included.
4137                          42,
4138                        ],
4139                      },
4140                      "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
4141                          # part of a detection rule.
4142                        "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
4143                            # levels. For example, if a finding would be `POSSIBLE` without the
4144                            # detection rule and `relative_likelihood` is 1, then it is upgraded to
4145                            # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
4146                            # Likelihood may never drop below `VERY_UNLIKELY` or exceed
4147                            # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
4148                            # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
4149                            # a final likelihood of `LIKELY`.
4150                        "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
4151                      },
4152                    },
4153                    "exclusionRule": { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
4154                        # `InspectionRuleSet` are removed from results.
4155                      "regex": { # Message defining a custom regular expression. # Regular expression which defines the rule.
4156                        "pattern": "A String", # Pattern defining the regular expression. Its syntax
4157                            # (https://github.com/google/re2/wiki/Syntax) can be found under the
4158                            # google/re2 repository on GitHub.
4159                        "groupIndexes": [ # The index of the submatch to extract as findings. When not
4160                            # specified, the entire match is returned. No more than 3 may be included.
4161                          42,
4162                        ],
4163                      },
4164                      "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
4165                        "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
4166                            # contained within with a finding of an infoType from this list. For
4167                            # example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and
4168                            # `exclusion_rule` containing `exclude_info_types.info_types` with
4169                            # "EMAIL_ADDRESS" the phone number findings are dropped if they overlap
4170                            # with EMAIL_ADDRESS finding.
4171                            # That leads to "555-222-2222@example.org" to generate only a single
4172                            # finding, namely email address.
4173                          { # Type of information detected by the API.
4174                            "name": "A String", # Name of the information type. Either a name of your choosing when
4175                                # creating a CustomInfoType, or one of the names listed
4176                                # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4177                                # a built-in type. InfoType names should conform to the pattern
4178                                # [a-zA-Z0-9_]{1,64}.
4179                          },
4180                        ],
4181                      },
4182                      "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
4183                          # be used to match sensitive information specific to the data, such as a list
4184                          # of employee IDs or job titles.
4185                          #
4186                          # Dictionary words are case-insensitive and all characters other than letters
4187                          # and digits in the unicode [Basic Multilingual
4188                          # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
4189                          # will be replaced with whitespace when scanning for matches, so the
4190                          # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
4191                          # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
4192                          # surrounding any match must be of a different type than the adjacent
4193                          # characters within the word, so letters must be next to non-letters and
4194                          # digits next to non-digits. For example, the dictionary word "jen" will
4195                          # match the first three letters of the text "jen123" but will return no
4196                          # matches for "jennifer".
4197                          #
4198                          # Dictionary words containing a large number of characters that are not
4199                          # letters or digits may result in unexpected findings because such characters
4200                          # are treated as whitespace. The
4201                          # [limits](https://cloud.google.com/dlp/limits) page contains details about
4202                          # the size limits of dictionaries. For dictionaries that do not fit within
4203                          # these constraints, consider using `LargeCustomDictionaryConfig` in the
4204                          # `StoredInfoType` API.
4205                        "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
4206                          "words": [ # Words or phrases defining the dictionary. The dictionary must contain
4207                              # at least one phrase and every phrase must contain at least 2 characters
4208                              # that are letters or digits. [required]
4209                            "A String",
4210                          ],
4211                        },
4212                        "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
4213                            # is accepted.
4214                          "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
4215                              # Example: gs://[BUCKET_NAME]/dictionary.txt
4216                        },
4217                      },
4218                      "matchingType": "A String", # How the rule is applied, see MatchingType documentation for details.
4219                    },
4220                  },
4221                ],
4222                "infoTypes": [ # List of infoTypes this rule set is applied to.
4223                  { # Type of information detected by the API.
4224                    "name": "A String", # Name of the information type. Either a name of your choosing when
4225                        # creating a CustomInfoType, or one of the names listed
4226                        # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4227                        # a built-in type. InfoType names should conform to the pattern
4228                        # [a-zA-Z0-9_]{1,64}.
4229                  },
4230                ],
4231              },
4232            ],
4233            "contentOptions": [ # List of options defining data content to scan.
4234                # If empty, text, images, and other content will be included.
4235              "A String",
4236            ],
4237            "infoTypes": [ # Restricts what info_types to look for. The values must correspond to
4238                # InfoType values returned by ListInfoTypes or listed at
4239                # https://cloud.google.com/dlp/docs/infotypes-reference.
4240                #
4241                # When no InfoTypes or CustomInfoTypes are specified in a request, the
4242                # system may automatically choose what detectors to run. By default this may
4243                # be all types, but may change over time as detectors are updated.
4244                #
4245                # The special InfoType name "ALL_BASIC" can be used to trigger all detectors,
4246                # but may change over time as new InfoTypes are added. If you need precise
4247                # control and predictability as to what detectors are run you should specify
4248                # specific InfoTypes listed in the reference.
4249              { # Type of information detected by the API.
4250                "name": "A String", # Name of the information type. Either a name of your choosing when
4251                    # creating a CustomInfoType, or one of the names listed
4252                    # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4253                    # a built-in type. InfoType names should conform to the pattern
4254                    # [a-zA-Z0-9_]{1,64}.
4255              },
4256            ],
4257          },
4258          "inspectTemplateName": "A String", # If provided, will be used as the default for all values in InspectConfig.
4259              # `inspect_config` will be merged into the values persisted as part of the
4260              # template.
4261          "actions": [ # Actions to execute at the completion of the job.
4262            { # A task to execute on the completion of a job.
4263                # See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
4264              "saveFindings": { # If set, the detailed findings will be persisted to the specified # Save resulting findings in a provided location.
4265                  # OutputStorageConfig. Only a single instance of this action can be
4266                  # specified.
4267                  # Compatible with: Inspect, Risk
4268                "outputConfig": { # Cloud repository for storing output.
4269                  "table": { # Message defining the location of a BigQuery table. A table is uniquely # Store findings in an existing table or a new table in an existing
4270                      # dataset. If table_id is not set a new one will be generated
4271                      # for you with the following format:
4272                      # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
4273                      # generating the date details.
4274                      #
4275                      # For Inspect, each column in an existing output table must have the same
4276                      # name, type, and mode of a field in the `Finding` object.
4277                      #
4278                      # For Risk, an existing output table should be the output of a previous
4279                      # Risk analysis job run on the same source table, with the same privacy
4280                      # metric and quasi-identifiers. Risk jobs that analyze the same table but
4281                      # compute a different privacy metric, or use different sets of
4282                      # quasi-identifiers, cannot store their results in the same table.
4283                      # identified  by its project_id, dataset_id, and table_name. Within a query
4284                      # a table is often referenced with a string in the format of:
4285                      # `<project_id>:<dataset_id>.<table_id>` or
4286                      # `<project_id>.<dataset_id>.<table_id>`.
4287                    "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
4288                        # If omitted, project ID is inferred from the API call.
4289                    "tableId": "A String", # Name of the table.
4290                    "datasetId": "A String", # Dataset ID of the table.
4291                  },
4292                  "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only
4293                      # used for Inspect and must be unspecified for Risk jobs. Columns are derived
4294                      # from the `Finding` object. If appending to an existing table, any columns
4295                      # from the predefined schema that are missing will be added. No columns in
4296                      # the existing table will be deleted.
4297                      #
4298                      # If unspecified, then all available columns will be used for a new table or
4299                      # an (existing) table with no schema, and no changes will be made to an
4300                      # existing table that has a schema.
4301                },
4302              },
4303              "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's # Enable email notification to project owners and editors on job's
4304                  # completion/failure.
4305                  # completion/failure.
4306              },
4307              "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security # Publish summary to Cloud Security Command Center (Alpha).
4308                  # Command Center (CSCC Alpha).
4309                  # This action is only available for projects which are parts of
4310                  # an organization and whitelisted for the alpha Cloud Security Command
4311                  # Center.
4312                  # The action will publish count of finding instances and their info types.
4313                  # The summary of findings will be persisted in CSCC and are governed by CSCC
4314                  # service-specific policy, see https://cloud.google.com/terms/service-terms
4315                  # Only a single instance of this action can be specified.
4316                  # Compatible with: Inspect
4317              },
4318              "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The # Publish a notification to a pubsub topic.
4319                  # message contains a single field, `DlpJobName`, which is equal to the
4320                  # finished job's
4321                  # [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
4322                  # Compatible with: Inspect, Risk
4323                "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given
4324                    # publishing access rights to the DLP API service account executing
4325                    # the long running DlpJob sending the notifications.
4326                    # Format is projects/{project}/topics/{topic}.
4327              },
4328            },
4329          ],
4330        },
4331        "triggers": [ # A list of triggers which will be OR'ed together. Only one in the list
4332            # needs to trigger for a job to be started. The list may contain only
4333            # a single Schedule trigger and must have at least one object.
4334          { # What event needs to occur for a new job to be started.
4335            "schedule": { # Schedule for triggeredJobs. # Create a job on a repeating basis based on the elapse of time.
4336              "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For
4337                  # example: every day (86400 seconds).
4338                  #
4339                  # A scheduled start time will be skipped if the previous
4340                  # execution has not ended when its scheduled time occurs.
4341                  #
4342                  # This value must be set to a time duration greater than or equal
4343                  # to 1 day and can be no longer than 60 days.
4344            },
4345          },
4346        ],
4347        "lastRunTime": "A String", # The timestamp of the last time this trigger executed, output only field.
4348        "createTime": "A String", # The creation timestamp of a triggeredJob, output only field.
4349        "name": "A String", # Unique resource name for the triggeredJob, assigned by the service when the
4350            # triggeredJob is created, for example
4351            # `projects/dlp-test-project/triggeredJobs/53234423`.
4352      },
4353    ],
4354  }</pre>
4355</div>
4356
4357<div class="method">
4358    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
4359  <pre>Retrieves the next page of results.
4360
4361Args:
4362  previous_request: The request for the previous page. (required)
4363  previous_response: The response from the request for the previous page. (required)
4364
4365Returns:
4366  A request object that you can call 'execute()' on to request the next
4367  page. Returns None if there are no more items in the collection.
4368    </pre>
4369</div>
4370
4371<div class="method">
4372    <code class="details" id="patch">patch(name, body, x__xgafv=None)</code>
4373  <pre>Updates a job trigger.
4374See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
4375
4376Args:
4377  name: string, Resource name of the project and the triggeredJob, for example
4378`projects/dlp-test-project/jobTriggers/53234423`. (required)
4379  body: object, The request body. (required)
4380    The object takes the form of:
4381
4382{ # Request message for UpdateJobTrigger.
4383    "jobTrigger": { # Contains a configuration to make dlp api calls on a repeating basis. # New JobTrigger value.
4384        # See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
4385      "status": "A String", # A status for this trigger. [required]
4386      "updateTime": "A String", # The last update timestamp of a triggeredJob, output only field.
4387      "errors": [ # A stream of errors encountered when the trigger was activated. Repeated
4388          # errors may result in the JobTrigger automatically being paused.
4389          # Will return the last 100 errors. Whenever the JobTrigger is modified
4390          # this list will be cleared. Output only field.
4391        { # Details information about an error encountered during job execution or
4392            # the results of an unsuccessful activation of the JobTrigger.
4393            # Output only field.
4394          "timestamps": [ # The times the error occurred.
4395            "A String",
4396          ],
4397          "details": { # The `Status` type defines a logical error model that is suitable for
4398              # different programming environments, including REST APIs and RPC APIs. It is
4399              # used by [gRPC](https://github.com/grpc). Each `Status` message contains
4400              # three pieces of data: error code, error message, and error details.
4401              #
4402              # You can find out more about this error model and how to work with it in the
4403              # [API Design Guide](https://cloud.google.com/apis/design/errors).
4404            "message": "A String", # A developer-facing error message, which should be in English. Any
4405                # user-facing error message should be localized and sent in the
4406                # google.rpc.Status.details field, or localized by the client.
4407            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
4408            "details": [ # A list of messages that carry the error details.  There is a common set of
4409                # message types for APIs to use.
4410              {
4411                "a_key": "", # Properties of the object. Contains field @type with type URL.
4412              },
4413            ],
4414          },
4415        },
4416      ],
4417      "displayName": "A String", # Display name (max 100 chars)
4418      "description": "A String", # User provided description (max 256 chars)
4419      "inspectJob": {
4420        "storageConfig": { # Shared message indicating Cloud storage type. # The data to scan.
4421          "datastoreOptions": { # Options defining a data set within Google Cloud Datastore. # Google Cloud Datastore options specification.
4422            "partitionId": { # Datastore partition ID. # A partition ID identifies a grouping of entities. The grouping is always
4423                # by project and namespace, however the namespace ID may be empty.
4424                # A partition ID identifies a grouping of entities. The grouping is always
4425                # by project and namespace, however the namespace ID may be empty.
4426                #
4427                # A partition ID contains several dimensions:
4428                # project ID and namespace ID.
4429              "projectId": "A String", # The ID of the project to which the entities belong.
4430              "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
4431            },
4432            "kind": { # A representation of a Datastore kind. # The kind to process.
4433              "name": "A String", # The name of the kind.
4434            },
4435          },
4436          "bigQueryOptions": { # Options defining BigQuery table and row identifiers. # BigQuery options specification.
4437            "excludedFields": [ # References to fields excluded from scanning. This allows you to skip
4438                # inspection of entire columns which you know have no findings.
4439              { # General identifier of a data field in a storage service.
4440                "name": "A String", # Name describing the field.
4441              },
4442            ],
4443            "rowsLimit": "A String", # Max number of rows to scan. If the table has more rows than this value, the
4444                # rest of the rows are omitted. If not set, or if set to 0, all rows will be
4445                # scanned. Only one of rows_limit and rows_limit_percent can be specified.
4446                # Cannot be used in conjunction with TimespanConfig.
4447            "sampleMethod": "A String",
4448            "identifyingFields": [ # References to fields uniquely identifying rows within the table.
4449                # Nested fields in the format, like `person.birthdate.year`, are allowed.
4450              { # General identifier of a data field in a storage service.
4451                "name": "A String", # Name describing the field.
4452              },
4453            ],
4454            "rowsLimitPercent": 42, # Max percentage of rows to scan. The rest are omitted. The number of rows
4455                # scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
4456                # 100 means no limit. Defaults to 0. Only one of rows_limit and
4457                # rows_limit_percent can be specified. Cannot be used in conjunction with
4458                # TimespanConfig.
4459            "tableReference": { # Message defining the location of a BigQuery table. A table is uniquely # Complete BigQuery table reference.
4460                # identified  by its project_id, dataset_id, and table_name. Within a query
4461                # a table is often referenced with a string in the format of:
4462                # `<project_id>:<dataset_id>.<table_id>` or
4463                # `<project_id>.<dataset_id>.<table_id>`.
4464              "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
4465                  # If omitted, project ID is inferred from the API call.
4466              "tableId": "A String", # Name of the table.
4467              "datasetId": "A String", # Dataset ID of the table.
4468            },
4469          },
4470          "timespanConfig": { # Configuration of the timespan of the items to include in scanning.
4471              # Currently only supported when inspecting Google Cloud Storage and BigQuery.
4472            "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items.
4473                # Used for data sources like Datastore or BigQuery.
4474                # If not specified for BigQuery, table last modification timestamp
4475                # is checked against given time span.
4476                # The valid data types of the timestamp field are:
4477                # for BigQuery - timestamp, date, datetime;
4478                # for Datastore - timestamp.
4479                # Datastore entity will be scanned if the timestamp property does not exist
4480                # or its value is empty or invalid.
4481              "name": "A String", # Name describing the field.
4482            },
4483            "endTime": "A String", # Exclude files or rows newer than this value.
4484                # If set to zero, no upper time limit is applied.
4485            "startTime": "A String", # Exclude files or rows older than this value.
4486            "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out
4487                # a valid start_time to avoid scanning files that have not been modified
4488                # since the last time the JobTrigger executed. This will be based on the
4489                # time of the execution of the last run of the JobTrigger.
4490          },
4491          "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage # Google Cloud Storage options specification.
4492              # bucket.
4493            "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger
4494                # than this value then the rest of the bytes are omitted. Only one
4495                # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
4496            "sampleMethod": "A String",
4497            "fileSet": { # Set of files to scan. # The set of one or more files to scan.
4498              "url": "A String", # The Cloud Storage url of the file(s) to scan, in the format
4499                  # `gs://<bucket>/<path>`. Trailing wildcard in the path is allowed.
4500                  #
4501                  # If the url ends in a trailing slash, the bucket or directory represented
4502                  # by the url will be scanned non-recursively (content in sub-directories
4503                  # will not be scanned). This means that `gs://mybucket/` is equivalent to
4504                  # `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
4505                  # `gs://mybucket/directory/*`.
4506                  #
4507                  # Exactly one of `url` or `regex_file_set` must be set.
4508              "regexFileSet": { # Message representing a set of files in a Cloud Storage bucket. Regular # The regex-filtered set of files to scan. Exactly one of `url` or
4509                  # `regex_file_set` must be set.
4510                  # expressions are used to allow fine-grained control over which files in the
4511                  # bucket to include.
4512                  #
4513                  # Included files are those that match at least one item in `include_regex` and
4514                  # do not match any items in `exclude_regex`. Note that a file that matches
4515                  # items from both lists will _not_ be included. For a match to occur, the
4516                  # entire file path (i.e., everything in the url after the bucket name) must
4517                  # match the regular expression.
4518                  #
4519                  # For example, given the input `{bucket_name: "mybucket", include_regex:
4520                  # ["directory1/.*"], exclude_regex:
4521                  # ["directory1/excluded.*"]}`:
4522                  #
4523                  # * `gs://mybucket/directory1/myfile` will be included
4524                  # * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
4525                  # across `/`)
4526                  # * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
4527                  # full path doesn't match any items in `include_regex`)
4528                  # * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
4529                  # matches an item in `exclude_regex`)
4530                  #
4531                  # If `include_regex` is left empty, it will match all files by default
4532                  # (this is equivalent to setting `include_regex: [".*"]`).
4533                  #
4534                  # Some other common use cases:
4535                  #
4536                  # * `{bucket_name: "mybucket", exclude_regex: [".*\.pdf"]}` will include all
4537                  # files in `mybucket` except for .pdf files
4538                  # * `{bucket_name: "mybucket", include_regex: ["directory/[^/]+"]}` will
4539                  # include all files directly under `gs://mybucket/directory/`, without matching
4540                  # across `/`
4541                "excludeRegex": [ # A list of regular expressions matching file paths to exclude. All files in
4542                    # the bucket that match at least one of these regular expressions will be
4543                    # excluded from the scan.
4544                    #
4545                    # Regular expressions use RE2
4546                    # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
4547                    # under the google/re2 repository on GitHub.
4548                  "A String",
4549                ],
4550                "bucketName": "A String", # The name of a Cloud Storage bucket. Required.
4551                "includeRegex": [ # A list of regular expressions matching file paths to include. All files in
4552                    # the bucket that match at least one of these regular expressions will be
4553                    # included in the set of files, except for those that also match an item in
4554                    # `exclude_regex`. Leaving this field empty will match all files by default
4555                    # (this is equivalent to including `.*` in the list).
4556                    #
4557                    # Regular expressions use RE2
4558                    # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
4559                    # under the google/re2 repository on GitHub.
4560                  "A String",
4561                ],
4562              },
4563            },
4564            "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The
4565                # number of bytes scanned is rounded down. Must be between 0 and 100,
4566                # inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
4567                # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
4568            "filesLimitPercent": 42, # Limits the number of files to scan to this percentage of the input FileSet.
4569                # Number of files scanned is rounded down. Must be between 0 and 100,
4570                # inclusively. Both 0 and 100 means no limit. Defaults to 0.
4571            "fileTypes": [ # List of file type groups to include in the scan.
4572                # If empty, all files are scanned and available data format processors
4573                # are applied. In addition, the binary content of the selected files
4574                # is always scanned as well.
4575              "A String",
4576            ],
4577          },
4578        },
4579        "inspectConfig": { # Configuration description of the scanning process. # How and what to scan for.
4580            # When used with redactContent only info_types and min_likelihood are currently
4581            # used.
4582          "excludeInfoTypes": True or False, # When true, excludes type information of the findings.
4583          "limits": {
4584            "maxFindingsPerRequest": 42, # Max number of findings that will be returned per request/job.
4585                # When set within `InspectContentRequest`, the maximum returned is 2000
4586                # regardless if this is set higher.
4587            "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes.
4588              { # Max findings configuration per infoType, per content item or long
4589                  # running DlpJob.
4590                "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
4591                    # info_type should be provided. If InfoTypeLimit does not have an
4592                    # info_type, the DLP API applies the limit against all info_types that
4593                    # are found but not specified in another InfoTypeLimit.
4594                  "name": "A String", # Name of the information type. Either a name of your choosing when
4595                      # creating a CustomInfoType, or one of the names listed
4596                      # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4597                      # a built-in type. InfoType names should conform to the pattern
4598                      # [a-zA-Z0-9_]{1,64}.
4599                },
4600                "maxFindings": 42, # Max findings limit for the given infoType.
4601              },
4602            ],
4603            "maxFindingsPerItem": 42, # Max number of findings that will be returned for each item scanned.
4604                # When set within `InspectDataSourceRequest`,
4605                # the maximum returned is 2000 regardless if this is set higher.
4606                # When set within `InspectContentRequest`, this field is ignored.
4607          },
4608          "minLikelihood": "A String", # Only returns findings equal or above this threshold. The default is
4609              # POSSIBLE.
4610              # See https://cloud.google.com/dlp/docs/likelihood to learn more.
4611          "customInfoTypes": [ # CustomInfoTypes provided by the user. See
4612              # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
4613            { # Custom information type provided by the user. Used to find domain-specific
4614                # sensitive information configurable to the data in question.
4615              "regex": { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
4616                "pattern": "A String", # Pattern defining the regular expression. Its syntax
4617                    # (https://github.com/google/re2/wiki/Syntax) can be found under the
4618                    # google/re2 repository on GitHub.
4619                "groupIndexes": [ # The index of the submatch to extract as findings. When not
4620                    # specified, the entire match is returned. No more than 3 may be included.
4621                  42,
4622                ],
4623              },
4624              "surrogateType": { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
4625                  # support reversing.
4626                  # such as
4627                  # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
4628                  # These types of transformations are
4629                  # those that perform pseudonymization, thereby producing a "surrogate" as
4630                  # output. This should be used in conjunction with a field on the
4631                  # transformation such as `surrogate_info_type`. This CustomInfoType does
4632                  # not support the use of `detection_rules`.
4633              },
4634              "infoType": { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
4635                  # infoType, when the name matches one of existing infoTypes and that infoType
4636                  # is specified in `InspectContent.info_types` field. Specifying the latter
4637                  # adds findings to the one detected by the system. If built-in info type is
4638                  # not specified in `InspectContent.info_types` list then the name is treated
4639                  # as a custom info type.
4640                "name": "A String", # Name of the information type. Either a name of your choosing when
4641                    # creating a CustomInfoType, or one of the names listed
4642                    # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4643                    # a built-in type. InfoType names should conform to the pattern
4644                    # [a-zA-Z0-9_]{1,64}.
4645              },
4646              "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # A list of phrases to detect as a CustomInfoType.
4647                  # be used to match sensitive information specific to the data, such as a list
4648                  # of employee IDs or job titles.
4649                  #
4650                  # Dictionary words are case-insensitive and all characters other than letters
4651                  # and digits in the unicode [Basic Multilingual
4652                  # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
4653                  # will be replaced with whitespace when scanning for matches, so the
4654                  # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
4655                  # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
4656                  # surrounding any match must be of a different type than the adjacent
4657                  # characters within the word, so letters must be next to non-letters and
4658                  # digits next to non-digits. For example, the dictionary word "jen" will
4659                  # match the first three letters of the text "jen123" but will return no
4660                  # matches for "jennifer".
4661                  #
4662                  # Dictionary words containing a large number of characters that are not
4663                  # letters or digits may result in unexpected findings because such characters
4664                  # are treated as whitespace. The
4665                  # [limits](https://cloud.google.com/dlp/limits) page contains details about
4666                  # the size limits of dictionaries. For dictionaries that do not fit within
4667                  # these constraints, consider using `LargeCustomDictionaryConfig` in the
4668                  # `StoredInfoType` API.
4669                "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
4670                  "words": [ # Words or phrases defining the dictionary. The dictionary must contain
4671                      # at least one phrase and every phrase must contain at least 2 characters
4672                      # that are letters or digits. [required]
4673                    "A String",
4674                  ],
4675                },
4676                "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
4677                    # is accepted.
4678                  "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
4679                      # Example: gs://[BUCKET_NAME]/dictionary.txt
4680                },
4681              },
4682              "storedType": { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
4683                  # `InspectDataSource`. Not currently supported in `InspectContent`.
4684                "name": "A String", # Resource name of the requested `StoredInfoType`, for example
4685                    # `organizations/433245324/storedInfoTypes/432452342` or
4686                    # `projects/project-id/storedInfoTypes/432452342`.
4687                "createTime": "A String", # Timestamp indicating when the version of the `StoredInfoType` used for
4688                    # inspection was created. Output-only field, populated by the system.
4689              },
4690              "detectionRules": [ # Set of detection rules to apply to all findings of this CustomInfoType.
4691                  # Rules are applied in order that they are specified. Not supported for the
4692                  # `surrogate_type` CustomInfoType.
4693                { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
4694                    # `CustomInfoType` to alter behavior under certain circumstances, depending
4695                    # on the specific details of the rule. Not supported for the `surrogate_type`
4696                    # custom infoType.
4697                  "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
4698                      # proximity of hotwords.
4699                    "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
4700                        # The total length of the window cannot exceed 1000 characters. Note that
4701                        # the finding itself will be included in the window, so that hotwords may
4702                        # be used to match substrings of the finding itself. For example, the
4703                        # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
4704                        # adjusted upwards if the area code is known to be the local area code of
4705                        # a company office using the hotword regex "\(xxx\)", where "xxx"
4706                        # is the area code in question.
4707                        # rule.
4708                      "windowAfter": 42, # Number of characters after the finding to consider.
4709                      "windowBefore": 42, # Number of characters before the finding to consider.
4710                    },
4711                    "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
4712                      "pattern": "A String", # Pattern defining the regular expression. Its syntax
4713                          # (https://github.com/google/re2/wiki/Syntax) can be found under the
4714                          # google/re2 repository on GitHub.
4715                      "groupIndexes": [ # The index of the submatch to extract as findings. When not
4716                          # specified, the entire match is returned. No more than 3 may be included.
4717                        42,
4718                      ],
4719                    },
4720                    "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
4721                        # part of a detection rule.
4722                      "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
4723                          # levels. For example, if a finding would be `POSSIBLE` without the
4724                          # detection rule and `relative_likelihood` is 1, then it is upgraded to
4725                          # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
4726                          # Likelihood may never drop below `VERY_UNLIKELY` or exceed
4727                          # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
4728                          # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
4729                          # a final likelihood of `LIKELY`.
4730                      "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
4731                    },
4732                  },
4733                },
4734              ],
4735              "exclusionType": "A String", # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
4736                  # to be returned. It still can be used for rules matching.
4737              "likelihood": "A String", # Likelihood to return for this CustomInfoType. This base value can be
4738                  # altered by a detection rule if the finding meets the criteria specified by
4739                  # the rule. Defaults to `VERY_LIKELY` if not specified.
4740            },
4741          ],
4742          "includeQuote": True or False, # When true, a contextual quote from the data that triggered a finding is
4743              # included in the response; see Finding.quote.
4744          "ruleSet": [ # Set of rules to apply to the findings for this InspectConfig.
4745              # Exclusion rules, contained in the set are executed in the end, other
4746              # rules are executed in the order they are specified for each info type.
4747            { # Rule set for modifying a set of infoTypes to alter behavior under certain
4748                # circumstances, depending on the specific details of the rules within the set.
4749              "rules": [ # Set of rules to be applied to infoTypes. The rules are applied in order.
4750                { # A single inspection rule to be applied to infoTypes, specified in
4751                    # `InspectionRuleSet`.
4752                  "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
4753                      # proximity of hotwords.
4754                    "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
4755                        # The total length of the window cannot exceed 1000 characters. Note that
4756                        # the finding itself will be included in the window, so that hotwords may
4757                        # be used to match substrings of the finding itself. For example, the
4758                        # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
4759                        # adjusted upwards if the area code is known to be the local area code of
4760                        # a company office using the hotword regex "\(xxx\)", where "xxx"
4761                        # is the area code in question.
4762                        # rule.
4763                      "windowAfter": 42, # Number of characters after the finding to consider.
4764                      "windowBefore": 42, # Number of characters before the finding to consider.
4765                    },
4766                    "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
4767                      "pattern": "A String", # Pattern defining the regular expression. Its syntax
4768                          # (https://github.com/google/re2/wiki/Syntax) can be found under the
4769                          # google/re2 repository on GitHub.
4770                      "groupIndexes": [ # The index of the submatch to extract as findings. When not
4771                          # specified, the entire match is returned. No more than 3 may be included.
4772                        42,
4773                      ],
4774                    },
4775                    "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
4776                        # part of a detection rule.
4777                      "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
4778                          # levels. For example, if a finding would be `POSSIBLE` without the
4779                          # detection rule and `relative_likelihood` is 1, then it is upgraded to
4780                          # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
4781                          # Likelihood may never drop below `VERY_UNLIKELY` or exceed
4782                          # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
4783                          # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
4784                          # a final likelihood of `LIKELY`.
4785                      "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
4786                    },
4787                  },
4788                  "exclusionRule": { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
4789                      # `InspectionRuleSet` are removed from results.
4790                    "regex": { # Message defining a custom regular expression. # Regular expression which defines the rule.
4791                      "pattern": "A String", # Pattern defining the regular expression. Its syntax
4792                          # (https://github.com/google/re2/wiki/Syntax) can be found under the
4793                          # google/re2 repository on GitHub.
4794                      "groupIndexes": [ # The index of the submatch to extract as findings. When not
4795                          # specified, the entire match is returned. No more than 3 may be included.
4796                        42,
4797                      ],
4798                    },
4799                    "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
4800                      "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
4801                          # contained within with a finding of an infoType from this list. For
4802                          # example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and
4803                          # `exclusion_rule` containing `exclude_info_types.info_types` with
4804                          # "EMAIL_ADDRESS" the phone number findings are dropped if they overlap
4805                          # with EMAIL_ADDRESS finding.
4806                          # That leads to "555-222-2222@example.org" to generate only a single
4807                          # finding, namely email address.
4808                        { # Type of information detected by the API.
4809                          "name": "A String", # Name of the information type. Either a name of your choosing when
4810                              # creating a CustomInfoType, or one of the names listed
4811                              # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4812                              # a built-in type. InfoType names should conform to the pattern
4813                              # [a-zA-Z0-9_]{1,64}.
4814                        },
4815                      ],
4816                    },
4817                    "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
4818                        # be used to match sensitive information specific to the data, such as a list
4819                        # of employee IDs or job titles.
4820                        #
4821                        # Dictionary words are case-insensitive and all characters other than letters
4822                        # and digits in the unicode [Basic Multilingual
4823                        # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
4824                        # will be replaced with whitespace when scanning for matches, so the
4825                        # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
4826                        # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
4827                        # surrounding any match must be of a different type than the adjacent
4828                        # characters within the word, so letters must be next to non-letters and
4829                        # digits next to non-digits. For example, the dictionary word "jen" will
4830                        # match the first three letters of the text "jen123" but will return no
4831                        # matches for "jennifer".
4832                        #
4833                        # Dictionary words containing a large number of characters that are not
4834                        # letters or digits may result in unexpected findings because such characters
4835                        # are treated as whitespace. The
4836                        # [limits](https://cloud.google.com/dlp/limits) page contains details about
4837                        # the size limits of dictionaries. For dictionaries that do not fit within
4838                        # these constraints, consider using `LargeCustomDictionaryConfig` in the
4839                        # `StoredInfoType` API.
4840                      "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
4841                        "words": [ # Words or phrases defining the dictionary. The dictionary must contain
4842                            # at least one phrase and every phrase must contain at least 2 characters
4843                            # that are letters or digits. [required]
4844                          "A String",
4845                        ],
4846                      },
4847                      "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
4848                          # is accepted.
4849                        "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
4850                            # Example: gs://[BUCKET_NAME]/dictionary.txt
4851                      },
4852                    },
4853                    "matchingType": "A String", # How the rule is applied, see MatchingType documentation for details.
4854                  },
4855                },
4856              ],
4857              "infoTypes": [ # List of infoTypes this rule set is applied to.
4858                { # Type of information detected by the API.
4859                  "name": "A String", # Name of the information type. Either a name of your choosing when
4860                      # creating a CustomInfoType, or one of the names listed
4861                      # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4862                      # a built-in type. InfoType names should conform to the pattern
4863                      # [a-zA-Z0-9_]{1,64}.
4864                },
4865              ],
4866            },
4867          ],
4868          "contentOptions": [ # List of options defining data content to scan.
4869              # If empty, text, images, and other content will be included.
4870            "A String",
4871          ],
4872          "infoTypes": [ # Restricts what info_types to look for. The values must correspond to
4873              # InfoType values returned by ListInfoTypes or listed at
4874              # https://cloud.google.com/dlp/docs/infotypes-reference.
4875              #
4876              # When no InfoTypes or CustomInfoTypes are specified in a request, the
4877              # system may automatically choose what detectors to run. By default this may
4878              # be all types, but may change over time as detectors are updated.
4879              #
4880              # The special InfoType name "ALL_BASIC" can be used to trigger all detectors,
4881              # but may change over time as new InfoTypes are added. If you need precise
4882              # control and predictability as to what detectors are run you should specify
4883              # specific InfoTypes listed in the reference.
4884            { # Type of information detected by the API.
4885              "name": "A String", # Name of the information type. Either a name of your choosing when
4886                  # creating a CustomInfoType, or one of the names listed
4887                  # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4888                  # a built-in type. InfoType names should conform to the pattern
4889                  # [a-zA-Z0-9_]{1,64}.
4890            },
4891          ],
4892        },
4893        "inspectTemplateName": "A String", # If provided, will be used as the default for all values in InspectConfig.
4894            # `inspect_config` will be merged into the values persisted as part of the
4895            # template.
4896        "actions": [ # Actions to execute at the completion of the job.
4897          { # A task to execute on the completion of a job.
4898              # See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
4899            "saveFindings": { # If set, the detailed findings will be persisted to the specified # Save resulting findings in a provided location.
4900                # OutputStorageConfig. Only a single instance of this action can be
4901                # specified.
4902                # Compatible with: Inspect, Risk
4903              "outputConfig": { # Cloud repository for storing output.
4904                "table": { # Message defining the location of a BigQuery table. A table is uniquely # Store findings in an existing table or a new table in an existing
4905                    # dataset. If table_id is not set a new one will be generated
4906                    # for you with the following format:
4907                    # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
4908                    # generating the date details.
4909                    #
4910                    # For Inspect, each column in an existing output table must have the same
4911                    # name, type, and mode of a field in the `Finding` object.
4912                    #
4913                    # For Risk, an existing output table should be the output of a previous
4914                    # Risk analysis job run on the same source table, with the same privacy
4915                    # metric and quasi-identifiers. Risk jobs that analyze the same table but
4916                    # compute a different privacy metric, or use different sets of
4917                    # quasi-identifiers, cannot store their results in the same table.
4918                    # identified  by its project_id, dataset_id, and table_name. Within a query
4919                    # a table is often referenced with a string in the format of:
4920                    # `<project_id>:<dataset_id>.<table_id>` or
4921                    # `<project_id>.<dataset_id>.<table_id>`.
4922                  "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
4923                      # If omitted, project ID is inferred from the API call.
4924                  "tableId": "A String", # Name of the table.
4925                  "datasetId": "A String", # Dataset ID of the table.
4926                },
4927                "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only
4928                    # used for Inspect and must be unspecified for Risk jobs. Columns are derived
4929                    # from the `Finding` object. If appending to an existing table, any columns
4930                    # from the predefined schema that are missing will be added. No columns in
4931                    # the existing table will be deleted.
4932                    #
4933                    # If unspecified, then all available columns will be used for a new table or
4934                    # an (existing) table with no schema, and no changes will be made to an
4935                    # existing table that has a schema.
4936              },
4937            },
4938            "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's # Enable email notification to project owners and editors on job's
4939                # completion/failure.
4940                # completion/failure.
4941            },
4942            "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security # Publish summary to Cloud Security Command Center (Alpha).
4943                # Command Center (CSCC Alpha).
4944                # This action is only available for projects which are parts of
4945                # an organization and whitelisted for the alpha Cloud Security Command
4946                # Center.
4947                # The action will publish count of finding instances and their info types.
4948                # The summary of findings will be persisted in CSCC and are governed by CSCC
4949                # service-specific policy, see https://cloud.google.com/terms/service-terms
4950                # Only a single instance of this action can be specified.
4951                # Compatible with: Inspect
4952            },
4953            "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The # Publish a notification to a pubsub topic.
4954                # message contains a single field, `DlpJobName`, which is equal to the
4955                # finished job's
4956                # [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
4957                # Compatible with: Inspect, Risk
4958              "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given
4959                  # publishing access rights to the DLP API service account executing
4960                  # the long running DlpJob sending the notifications.
4961                  # Format is projects/{project}/topics/{topic}.
4962            },
4963          },
4964        ],
4965      },
4966      "triggers": [ # A list of triggers which will be OR'ed together. Only one in the list
4967          # needs to trigger for a job to be started. The list may contain only
4968          # a single Schedule trigger and must have at least one object.
4969        { # What event needs to occur for a new job to be started.
4970          "schedule": { # Schedule for triggeredJobs. # Create a job on a repeating basis based on the elapse of time.
4971            "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For
4972                # example: every day (86400 seconds).
4973                #
4974                # A scheduled start time will be skipped if the previous
4975                # execution has not ended when its scheduled time occurs.
4976                #
4977                # This value must be set to a time duration greater than or equal
4978                # to 1 day and can be no longer than 60 days.
4979          },
4980        },
4981      ],
4982      "lastRunTime": "A String", # The timestamp of the last time this trigger executed, output only field.
4983      "createTime": "A String", # The creation timestamp of a triggeredJob, output only field.
4984      "name": "A String", # Unique resource name for the triggeredJob, assigned by the service when the
4985          # triggeredJob is created, for example
4986          # `projects/dlp-test-project/triggeredJobs/53234423`.
4987    },
4988    "updateMask": "A String", # Mask to control which fields get updated.
4989  }
4990
4991  x__xgafv: string, V1 error format.
4992    Allowed values
4993      1 - v1 error format
4994      2 - v2 error format
4995
4996Returns:
4997  An object of the form:
4998
4999    { # Contains a configuration to make dlp api calls on a repeating basis.
5000      # See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
5001    "status": "A String", # A status for this trigger. [required]
5002    "updateTime": "A String", # The last update timestamp of a triggeredJob, output only field.
5003    "errors": [ # A stream of errors encountered when the trigger was activated. Repeated
5004        # errors may result in the JobTrigger automatically being paused.
5005        # Will return the last 100 errors. Whenever the JobTrigger is modified
5006        # this list will be cleared. Output only field.
5007      { # Details information about an error encountered during job execution or
5008          # the results of an unsuccessful activation of the JobTrigger.
5009          # Output only field.
5010        "timestamps": [ # The times the error occurred.
5011          "A String",
5012        ],
5013        "details": { # The `Status` type defines a logical error model that is suitable for
5014            # different programming environments, including REST APIs and RPC APIs. It is
5015            # used by [gRPC](https://github.com/grpc). Each `Status` message contains
5016            # three pieces of data: error code, error message, and error details.
5017            #
5018            # You can find out more about this error model and how to work with it in the
5019            # [API Design Guide](https://cloud.google.com/apis/design/errors).
5020          "message": "A String", # A developer-facing error message, which should be in English. Any
5021              # user-facing error message should be localized and sent in the
5022              # google.rpc.Status.details field, or localized by the client.
5023          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
5024          "details": [ # A list of messages that carry the error details.  There is a common set of
5025              # message types for APIs to use.
5026            {
5027              "a_key": "", # Properties of the object. Contains field @type with type URL.
5028            },
5029          ],
5030        },
5031      },
5032    ],
5033    "displayName": "A String", # Display name (max 100 chars)
5034    "description": "A String", # User provided description (max 256 chars)
5035    "inspectJob": {
5036      "storageConfig": { # Shared message indicating Cloud storage type. # The data to scan.
5037        "datastoreOptions": { # Options defining a data set within Google Cloud Datastore. # Google Cloud Datastore options specification.
5038          "partitionId": { # Datastore partition ID. # A partition ID identifies a grouping of entities. The grouping is always
5039              # by project and namespace, however the namespace ID may be empty.
5040              # A partition ID identifies a grouping of entities. The grouping is always
5041              # by project and namespace, however the namespace ID may be empty.
5042              #
5043              # A partition ID contains several dimensions:
5044              # project ID and namespace ID.
5045            "projectId": "A String", # The ID of the project to which the entities belong.
5046            "namespaceId": "A String", # If not empty, the ID of the namespace to which the entities belong.
5047          },
5048          "kind": { # A representation of a Datastore kind. # The kind to process.
5049            "name": "A String", # The name of the kind.
5050          },
5051        },
5052        "bigQueryOptions": { # Options defining BigQuery table and row identifiers. # BigQuery options specification.
5053          "excludedFields": [ # References to fields excluded from scanning. This allows you to skip
5054              # inspection of entire columns which you know have no findings.
5055            { # General identifier of a data field in a storage service.
5056              "name": "A String", # Name describing the field.
5057            },
5058          ],
5059          "rowsLimit": "A String", # Max number of rows to scan. If the table has more rows than this value, the
5060              # rest of the rows are omitted. If not set, or if set to 0, all rows will be
5061              # scanned. Only one of rows_limit and rows_limit_percent can be specified.
5062              # Cannot be used in conjunction with TimespanConfig.
5063          "sampleMethod": "A String",
5064          "identifyingFields": [ # References to fields uniquely identifying rows within the table.
5065              # Nested fields in the format, like `person.birthdate.year`, are allowed.
5066            { # General identifier of a data field in a storage service.
5067              "name": "A String", # Name describing the field.
5068            },
5069          ],
5070          "rowsLimitPercent": 42, # Max percentage of rows to scan. The rest are omitted. The number of rows
5071              # scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
5072              # 100 means no limit. Defaults to 0. Only one of rows_limit and
5073              # rows_limit_percent can be specified. Cannot be used in conjunction with
5074              # TimespanConfig.
5075          "tableReference": { # Message defining the location of a BigQuery table. A table is uniquely # Complete BigQuery table reference.
5076              # identified  by its project_id, dataset_id, and table_name. Within a query
5077              # a table is often referenced with a string in the format of:
5078              # `<project_id>:<dataset_id>.<table_id>` or
5079              # `<project_id>.<dataset_id>.<table_id>`.
5080            "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
5081                # If omitted, project ID is inferred from the API call.
5082            "tableId": "A String", # Name of the table.
5083            "datasetId": "A String", # Dataset ID of the table.
5084          },
5085        },
5086        "timespanConfig": { # Configuration of the timespan of the items to include in scanning.
5087            # Currently only supported when inspecting Google Cloud Storage and BigQuery.
5088          "timestampField": { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items.
5089              # Used for data sources like Datastore or BigQuery.
5090              # If not specified for BigQuery, table last modification timestamp
5091              # is checked against given time span.
5092              # The valid data types of the timestamp field are:
5093              # for BigQuery - timestamp, date, datetime;
5094              # for Datastore - timestamp.
5095              # Datastore entity will be scanned if the timestamp property does not exist
5096              # or its value is empty or invalid.
5097            "name": "A String", # Name describing the field.
5098          },
5099          "endTime": "A String", # Exclude files or rows newer than this value.
5100              # If set to zero, no upper time limit is applied.
5101          "startTime": "A String", # Exclude files or rows older than this value.
5102          "enableAutoPopulationOfTimespanConfig": True or False, # When the job is started by a JobTrigger we will automatically figure out
5103              # a valid start_time to avoid scanning files that have not been modified
5104              # since the last time the JobTrigger executed. This will be based on the
5105              # time of the execution of the last run of the JobTrigger.
5106        },
5107        "cloudStorageOptions": { # Options defining a file or a set of files within a Google Cloud Storage # Google Cloud Storage options specification.
5108            # bucket.
5109          "bytesLimitPerFile": "A String", # Max number of bytes to scan from a file. If a scanned file's size is bigger
5110              # than this value then the rest of the bytes are omitted. Only one
5111              # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
5112          "sampleMethod": "A String",
5113          "fileSet": { # Set of files to scan. # The set of one or more files to scan.
5114            "url": "A String", # The Cloud Storage url of the file(s) to scan, in the format
5115                # `gs://<bucket>/<path>`. Trailing wildcard in the path is allowed.
5116                #
5117                # If the url ends in a trailing slash, the bucket or directory represented
5118                # by the url will be scanned non-recursively (content in sub-directories
5119                # will not be scanned). This means that `gs://mybucket/` is equivalent to
5120                # `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
5121                # `gs://mybucket/directory/*`.
5122                #
5123                # Exactly one of `url` or `regex_file_set` must be set.
5124            "regexFileSet": { # Message representing a set of files in a Cloud Storage bucket. Regular # The regex-filtered set of files to scan. Exactly one of `url` or
5125                # `regex_file_set` must be set.
5126                # expressions are used to allow fine-grained control over which files in the
5127                # bucket to include.
5128                #
5129                # Included files are those that match at least one item in `include_regex` and
5130                # do not match any items in `exclude_regex`. Note that a file that matches
5131                # items from both lists will _not_ be included. For a match to occur, the
5132                # entire file path (i.e., everything in the url after the bucket name) must
5133                # match the regular expression.
5134                #
5135                # For example, given the input `{bucket_name: "mybucket", include_regex:
5136                # ["directory1/.*"], exclude_regex:
5137                # ["directory1/excluded.*"]}`:
5138                #
5139                # * `gs://mybucket/directory1/myfile` will be included
5140                # * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
5141                # across `/`)
5142                # * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
5143                # full path doesn't match any items in `include_regex`)
5144                # * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
5145                # matches an item in `exclude_regex`)
5146                #
5147                # If `include_regex` is left empty, it will match all files by default
5148                # (this is equivalent to setting `include_regex: [".*"]`).
5149                #
5150                # Some other common use cases:
5151                #
5152                # * `{bucket_name: "mybucket", exclude_regex: [".*\.pdf"]}` will include all
5153                # files in `mybucket` except for .pdf files
5154                # * `{bucket_name: "mybucket", include_regex: ["directory/[^/]+"]}` will
5155                # include all files directly under `gs://mybucket/directory/`, without matching
5156                # across `/`
5157              "excludeRegex": [ # A list of regular expressions matching file paths to exclude. All files in
5158                  # the bucket that match at least one of these regular expressions will be
5159                  # excluded from the scan.
5160                  #
5161                  # Regular expressions use RE2
5162                  # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
5163                  # under the google/re2 repository on GitHub.
5164                "A String",
5165              ],
5166              "bucketName": "A String", # The name of a Cloud Storage bucket. Required.
5167              "includeRegex": [ # A list of regular expressions matching file paths to include. All files in
5168                  # the bucket that match at least one of these regular expressions will be
5169                  # included in the set of files, except for those that also match an item in
5170                  # `exclude_regex`. Leaving this field empty will match all files by default
5171                  # (this is equivalent to including `.*` in the list).
5172                  #
5173                  # Regular expressions use RE2
5174                  # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
5175                  # under the google/re2 repository on GitHub.
5176                "A String",
5177              ],
5178            },
5179          },
5180          "bytesLimitPerFilePercent": 42, # Max percentage of bytes to scan from a file. The rest are omitted. The
5181              # number of bytes scanned is rounded down. Must be between 0 and 100,
5182              # inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
5183              # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
5184          "filesLimitPercent": 42, # Limits the number of files to scan to this percentage of the input FileSet.
5185              # Number of files scanned is rounded down. Must be between 0 and 100,
5186              # inclusively. Both 0 and 100 means no limit. Defaults to 0.
5187          "fileTypes": [ # List of file type groups to include in the scan.
5188              # If empty, all files are scanned and available data format processors
5189              # are applied. In addition, the binary content of the selected files
5190              # is always scanned as well.
5191            "A String",
5192          ],
5193        },
5194      },
5195      "inspectConfig": { # Configuration description of the scanning process. # How and what to scan for.
5196          # When used with redactContent only info_types and min_likelihood are currently
5197          # used.
5198        "excludeInfoTypes": True or False, # When true, excludes type information of the findings.
5199        "limits": {
5200          "maxFindingsPerRequest": 42, # Max number of findings that will be returned per request/job.
5201              # When set within `InspectContentRequest`, the maximum returned is 2000
5202              # regardless if this is set higher.
5203          "maxFindingsPerInfoType": [ # Configuration of findings limit given for specified infoTypes.
5204            { # Max findings configuration per infoType, per content item or long
5205                # running DlpJob.
5206              "infoType": { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
5207                  # info_type should be provided. If InfoTypeLimit does not have an
5208                  # info_type, the DLP API applies the limit against all info_types that
5209                  # are found but not specified in another InfoTypeLimit.
5210                "name": "A String", # Name of the information type. Either a name of your choosing when
5211                    # creating a CustomInfoType, or one of the names listed
5212                    # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
5213                    # a built-in type. InfoType names should conform to the pattern
5214                    # [a-zA-Z0-9_]{1,64}.
5215              },
5216              "maxFindings": 42, # Max findings limit for the given infoType.
5217            },
5218          ],
5219          "maxFindingsPerItem": 42, # Max number of findings that will be returned for each item scanned.
5220              # When set within `InspectDataSourceRequest`,
5221              # the maximum returned is 2000 regardless if this is set higher.
5222              # When set within `InspectContentRequest`, this field is ignored.
5223        },
5224        "minLikelihood": "A String", # Only returns findings equal or above this threshold. The default is
5225            # POSSIBLE.
5226            # See https://cloud.google.com/dlp/docs/likelihood to learn more.
5227        "customInfoTypes": [ # CustomInfoTypes provided by the user. See
5228            # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
5229          { # Custom information type provided by the user. Used to find domain-specific
5230              # sensitive information configurable to the data in question.
5231            "regex": { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
5232              "pattern": "A String", # Pattern defining the regular expression. Its syntax
5233                  # (https://github.com/google/re2/wiki/Syntax) can be found under the
5234                  # google/re2 repository on GitHub.
5235              "groupIndexes": [ # The index of the submatch to extract as findings. When not
5236                  # specified, the entire match is returned. No more than 3 may be included.
5237                42,
5238              ],
5239            },
5240            "surrogateType": { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
5241                # support reversing.
5242                # such as
5243                # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
5244                # These types of transformations are
5245                # those that perform pseudonymization, thereby producing a "surrogate" as
5246                # output. This should be used in conjunction with a field on the
5247                # transformation such as `surrogate_info_type`. This CustomInfoType does
5248                # not support the use of `detection_rules`.
5249            },
5250            "infoType": { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
5251                # infoType, when the name matches one of existing infoTypes and that infoType
5252                # is specified in `InspectContent.info_types` field. Specifying the latter
5253                # adds findings to the one detected by the system. If built-in info type is
5254                # not specified in `InspectContent.info_types` list then the name is treated
5255                # as a custom info type.
5256              "name": "A String", # Name of the information type. Either a name of your choosing when
5257                  # creating a CustomInfoType, or one of the names listed
5258                  # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
5259                  # a built-in type. InfoType names should conform to the pattern
5260                  # [a-zA-Z0-9_]{1,64}.
5261            },
5262            "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # A list of phrases to detect as a CustomInfoType.
5263                # be used to match sensitive information specific to the data, such as a list
5264                # of employee IDs or job titles.
5265                #
5266                # Dictionary words are case-insensitive and all characters other than letters
5267                # and digits in the unicode [Basic Multilingual
5268                # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
5269                # will be replaced with whitespace when scanning for matches, so the
5270                # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
5271                # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
5272                # surrounding any match must be of a different type than the adjacent
5273                # characters within the word, so letters must be next to non-letters and
5274                # digits next to non-digits. For example, the dictionary word "jen" will
5275                # match the first three letters of the text "jen123" but will return no
5276                # matches for "jennifer".
5277                #
5278                # Dictionary words containing a large number of characters that are not
5279                # letters or digits may result in unexpected findings because such characters
5280                # are treated as whitespace. The
5281                # [limits](https://cloud.google.com/dlp/limits) page contains details about
5282                # the size limits of dictionaries. For dictionaries that do not fit within
5283                # these constraints, consider using `LargeCustomDictionaryConfig` in the
5284                # `StoredInfoType` API.
5285              "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
5286                "words": [ # Words or phrases defining the dictionary. The dictionary must contain
5287                    # at least one phrase and every phrase must contain at least 2 characters
5288                    # that are letters or digits. [required]
5289                  "A String",
5290                ],
5291              },
5292              "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
5293                  # is accepted.
5294                "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
5295                    # Example: gs://[BUCKET_NAME]/dictionary.txt
5296              },
5297            },
5298            "storedType": { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
5299                # `InspectDataSource`. Not currently supported in `InspectContent`.
5300              "name": "A String", # Resource name of the requested `StoredInfoType`, for example
5301                  # `organizations/433245324/storedInfoTypes/432452342` or
5302                  # `projects/project-id/storedInfoTypes/432452342`.
5303              "createTime": "A String", # Timestamp indicating when the version of the `StoredInfoType` used for
5304                  # inspection was created. Output-only field, populated by the system.
5305            },
5306            "detectionRules": [ # Set of detection rules to apply to all findings of this CustomInfoType.
5307                # Rules are applied in order that they are specified. Not supported for the
5308                # `surrogate_type` CustomInfoType.
5309              { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
5310                  # `CustomInfoType` to alter behavior under certain circumstances, depending
5311                  # on the specific details of the rule. Not supported for the `surrogate_type`
5312                  # custom infoType.
5313                "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
5314                    # proximity of hotwords.
5315                  "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
5316                      # The total length of the window cannot exceed 1000 characters. Note that
5317                      # the finding itself will be included in the window, so that hotwords may
5318                      # be used to match substrings of the finding itself. For example, the
5319                      # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
5320                      # adjusted upwards if the area code is known to be the local area code of
5321                      # a company office using the hotword regex "\(xxx\)", where "xxx"
5322                      # is the area code in question.
5323                      # rule.
5324                    "windowAfter": 42, # Number of characters after the finding to consider.
5325                    "windowBefore": 42, # Number of characters before the finding to consider.
5326                  },
5327                  "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
5328                    "pattern": "A String", # Pattern defining the regular expression. Its syntax
5329                        # (https://github.com/google/re2/wiki/Syntax) can be found under the
5330                        # google/re2 repository on GitHub.
5331                    "groupIndexes": [ # The index of the submatch to extract as findings. When not
5332                        # specified, the entire match is returned. No more than 3 may be included.
5333                      42,
5334                    ],
5335                  },
5336                  "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
5337                      # part of a detection rule.
5338                    "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
5339                        # levels. For example, if a finding would be `POSSIBLE` without the
5340                        # detection rule and `relative_likelihood` is 1, then it is upgraded to
5341                        # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
5342                        # Likelihood may never drop below `VERY_UNLIKELY` or exceed
5343                        # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
5344                        # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
5345                        # a final likelihood of `LIKELY`.
5346                    "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
5347                  },
5348                },
5349              },
5350            ],
5351            "exclusionType": "A String", # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
5352                # to be returned. It still can be used for rules matching.
5353            "likelihood": "A String", # Likelihood to return for this CustomInfoType. This base value can be
5354                # altered by a detection rule if the finding meets the criteria specified by
5355                # the rule. Defaults to `VERY_LIKELY` if not specified.
5356          },
5357        ],
5358        "includeQuote": True or False, # When true, a contextual quote from the data that triggered a finding is
5359            # included in the response; see Finding.quote.
5360        "ruleSet": [ # Set of rules to apply to the findings for this InspectConfig.
5361            # Exclusion rules, contained in the set are executed in the end, other
5362            # rules are executed in the order they are specified for each info type.
5363          { # Rule set for modifying a set of infoTypes to alter behavior under certain
5364              # circumstances, depending on the specific details of the rules within the set.
5365            "rules": [ # Set of rules to be applied to infoTypes. The rules are applied in order.
5366              { # A single inspection rule to be applied to infoTypes, specified in
5367                  # `InspectionRuleSet`.
5368                "hotwordRule": { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
5369                    # proximity of hotwords.
5370                  "proximity": { # Message for specifying a window around a finding to apply a detection # Proximity of the finding within which the entire hotword must reside.
5371                      # The total length of the window cannot exceed 1000 characters. Note that
5372                      # the finding itself will be included in the window, so that hotwords may
5373                      # be used to match substrings of the finding itself. For example, the
5374                      # certainty of a phone number regex "\(\d{3}\) \d{3}-\d{4}" could be
5375                      # adjusted upwards if the area code is known to be the local area code of
5376                      # a company office using the hotword regex "\(xxx\)", where "xxx"
5377                      # is the area code in question.
5378                      # rule.
5379                    "windowAfter": 42, # Number of characters after the finding to consider.
5380                    "windowBefore": 42, # Number of characters before the finding to consider.
5381                  },
5382                  "hotwordRegex": { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
5383                    "pattern": "A String", # Pattern defining the regular expression. Its syntax
5384                        # (https://github.com/google/re2/wiki/Syntax) can be found under the
5385                        # google/re2 repository on GitHub.
5386                    "groupIndexes": [ # The index of the submatch to extract as findings. When not
5387                        # specified, the entire match is returned. No more than 3 may be included.
5388                      42,
5389                    ],
5390                  },
5391                  "likelihoodAdjustment": { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
5392                      # part of a detection rule.
5393                    "relativeLikelihood": 42, # Increase or decrease the likelihood by the specified number of
5394                        # levels. For example, if a finding would be `POSSIBLE` without the
5395                        # detection rule and `relative_likelihood` is 1, then it is upgraded to
5396                        # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
5397                        # Likelihood may never drop below `VERY_UNLIKELY` or exceed
5398                        # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
5399                        # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
5400                        # a final likelihood of `LIKELY`.
5401                    "fixedLikelihood": "A String", # Set the likelihood of a finding to a fixed value.
5402                  },
5403                },
5404                "exclusionRule": { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
5405                    # `InspectionRuleSet` are removed from results.
5406                  "regex": { # Message defining a custom regular expression. # Regular expression which defines the rule.
5407                    "pattern": "A String", # Pattern defining the regular expression. Its syntax
5408                        # (https://github.com/google/re2/wiki/Syntax) can be found under the
5409                        # google/re2 repository on GitHub.
5410                    "groupIndexes": [ # The index of the submatch to extract as findings. When not
5411                        # specified, the entire match is returned. No more than 3 may be included.
5412                      42,
5413                    ],
5414                  },
5415                  "excludeInfoTypes": { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
5416                    "infoTypes": [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
5417                        # contained within with a finding of an infoType from this list. For
5418                        # example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and
5419                        # `exclusion_rule` containing `exclude_info_types.info_types` with
5420                        # "EMAIL_ADDRESS" the phone number findings are dropped if they overlap
5421                        # with EMAIL_ADDRESS finding.
5422                        # That leads to "555-222-2222@example.org" to generate only a single
5423                        # finding, namely email address.
5424                      { # Type of information detected by the API.
5425                        "name": "A String", # Name of the information type. Either a name of your choosing when
5426                            # creating a CustomInfoType, or one of the names listed
5427                            # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
5428                            # a built-in type. InfoType names should conform to the pattern
5429                            # [a-zA-Z0-9_]{1,64}.
5430                      },
5431                    ],
5432                  },
5433                  "dictionary": { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
5434                      # be used to match sensitive information specific to the data, such as a list
5435                      # of employee IDs or job titles.
5436                      #
5437                      # Dictionary words are case-insensitive and all characters other than letters
5438                      # and digits in the unicode [Basic Multilingual
5439                      # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
5440                      # will be replaced with whitespace when scanning for matches, so the
5441                      # dictionary phrase "Sam Johnson" will match all three phrases "sam johnson",
5442                      # "Sam, Johnson", and "Sam (Johnson)". Additionally, the characters
5443                      # surrounding any match must be of a different type than the adjacent
5444                      # characters within the word, so letters must be next to non-letters and
5445                      # digits next to non-digits. For example, the dictionary word "jen" will
5446                      # match the first three letters of the text "jen123" but will return no
5447                      # matches for "jennifer".
5448                      #
5449                      # Dictionary words containing a large number of characters that are not
5450                      # letters or digits may result in unexpected findings because such characters
5451                      # are treated as whitespace. The
5452                      # [limits](https://cloud.google.com/dlp/limits) page contains details about
5453                      # the size limits of dictionaries. For dictionaries that do not fit within
5454                      # these constraints, consider using `LargeCustomDictionaryConfig` in the
5455                      # `StoredInfoType` API.
5456                    "wordList": { # Message defining a list of words or phrases to search for in the data. # List of words or phrases to search for.
5457                      "words": [ # Words or phrases defining the dictionary. The dictionary must contain
5458                          # at least one phrase and every phrase must contain at least 2 characters
5459                          # that are letters or digits. [required]
5460                        "A String",
5461                      ],
5462                    },
5463                    "cloudStoragePath": { # Message representing a single file or path in Cloud Storage. # Newline-delimited file of words in Cloud Storage. Only a single file
5464                        # is accepted.
5465                      "path": "A String", # A url representing a file or path (no wildcards) in Cloud Storage.
5466                          # Example: gs://[BUCKET_NAME]/dictionary.txt
5467                    },
5468                  },
5469                  "matchingType": "A String", # How the rule is applied, see MatchingType documentation for details.
5470                },
5471              },
5472            ],
5473            "infoTypes": [ # List of infoTypes this rule set is applied to.
5474              { # Type of information detected by the API.
5475                "name": "A String", # Name of the information type. Either a name of your choosing when
5476                    # creating a CustomInfoType, or one of the names listed
5477                    # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
5478                    # a built-in type. InfoType names should conform to the pattern
5479                    # [a-zA-Z0-9_]{1,64}.
5480              },
5481            ],
5482          },
5483        ],
5484        "contentOptions": [ # List of options defining data content to scan.
5485            # If empty, text, images, and other content will be included.
5486          "A String",
5487        ],
5488        "infoTypes": [ # Restricts what info_types to look for. The values must correspond to
5489            # InfoType values returned by ListInfoTypes or listed at
5490            # https://cloud.google.com/dlp/docs/infotypes-reference.
5491            #
5492            # When no InfoTypes or CustomInfoTypes are specified in a request, the
5493            # system may automatically choose what detectors to run. By default this may
5494            # be all types, but may change over time as detectors are updated.
5495            #
5496            # The special InfoType name "ALL_BASIC" can be used to trigger all detectors,
5497            # but may change over time as new InfoTypes are added. If you need precise
5498            # control and predictability as to what detectors are run you should specify
5499            # specific InfoTypes listed in the reference.
5500          { # Type of information detected by the API.
5501            "name": "A String", # Name of the information type. Either a name of your choosing when
5502                # creating a CustomInfoType, or one of the names listed
5503                # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
5504                # a built-in type. InfoType names should conform to the pattern
5505                # [a-zA-Z0-9_]{1,64}.
5506          },
5507        ],
5508      },
5509      "inspectTemplateName": "A String", # If provided, will be used as the default for all values in InspectConfig.
5510          # `inspect_config` will be merged into the values persisted as part of the
5511          # template.
5512      "actions": [ # Actions to execute at the completion of the job.
5513        { # A task to execute on the completion of a job.
5514            # See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
5515          "saveFindings": { # If set, the detailed findings will be persisted to the specified # Save resulting findings in a provided location.
5516              # OutputStorageConfig. Only a single instance of this action can be
5517              # specified.
5518              # Compatible with: Inspect, Risk
5519            "outputConfig": { # Cloud repository for storing output.
5520              "table": { # Message defining the location of a BigQuery table. A table is uniquely # Store findings in an existing table or a new table in an existing
5521                  # dataset. If table_id is not set a new one will be generated
5522                  # for you with the following format:
5523                  # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
5524                  # generating the date details.
5525                  #
5526                  # For Inspect, each column in an existing output table must have the same
5527                  # name, type, and mode of a field in the `Finding` object.
5528                  #
5529                  # For Risk, an existing output table should be the output of a previous
5530                  # Risk analysis job run on the same source table, with the same privacy
5531                  # metric and quasi-identifiers. Risk jobs that analyze the same table but
5532                  # compute a different privacy metric, or use different sets of
5533                  # quasi-identifiers, cannot store their results in the same table.
5534                  # identified  by its project_id, dataset_id, and table_name. Within a query
5535                  # a table is often referenced with a string in the format of:
5536                  # `<project_id>:<dataset_id>.<table_id>` or
5537                  # `<project_id>.<dataset_id>.<table_id>`.
5538                "projectId": "A String", # The Google Cloud Platform project ID of the project containing the table.
5539                    # If omitted, project ID is inferred from the API call.
5540                "tableId": "A String", # Name of the table.
5541                "datasetId": "A String", # Dataset ID of the table.
5542              },
5543              "outputSchema": "A String", # Schema used for writing the findings for Inspect jobs. This field is only
5544                  # used for Inspect and must be unspecified for Risk jobs. Columns are derived
5545                  # from the `Finding` object. If appending to an existing table, any columns
5546                  # from the predefined schema that are missing will be added. No columns in
5547                  # the existing table will be deleted.
5548                  #
5549                  # If unspecified, then all available columns will be used for a new table or
5550                  # an (existing) table with no schema, and no changes will be made to an
5551                  # existing table that has a schema.
5552            },
5553          },
5554          "jobNotificationEmails": { # Enable email notification to project owners and editors on jobs's # Enable email notification to project owners and editors on job's
5555              # completion/failure.
5556              # completion/failure.
5557          },
5558          "publishSummaryToCscc": { # Publish the result summary of a DlpJob to the Cloud Security # Publish summary to Cloud Security Command Center (Alpha).
5559              # Command Center (CSCC Alpha).
5560              # This action is only available for projects which are parts of
5561              # an organization and whitelisted for the alpha Cloud Security Command
5562              # Center.
5563              # The action will publish count of finding instances and their info types.
5564              # The summary of findings will be persisted in CSCC and are governed by CSCC
5565              # service-specific policy, see https://cloud.google.com/terms/service-terms
5566              # Only a single instance of this action can be specified.
5567              # Compatible with: Inspect
5568          },
5569          "pubSub": { # Publish a message into given Pub/Sub topic when DlpJob has completed. The # Publish a notification to a pubsub topic.
5570              # message contains a single field, `DlpJobName`, which is equal to the
5571              # finished job's
5572              # [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
5573              # Compatible with: Inspect, Risk
5574            "topic": "A String", # Cloud Pub/Sub topic to send notifications to. The topic must have given
5575                # publishing access rights to the DLP API service account executing
5576                # the long running DlpJob sending the notifications.
5577                # Format is projects/{project}/topics/{topic}.
5578          },
5579        },
5580      ],
5581    },
5582    "triggers": [ # A list of triggers which will be OR'ed together. Only one in the list
5583        # needs to trigger for a job to be started. The list may contain only
5584        # a single Schedule trigger and must have at least one object.
5585      { # What event needs to occur for a new job to be started.
5586        "schedule": { # Schedule for triggeredJobs. # Create a job on a repeating basis based on the elapse of time.
5587          "recurrencePeriodDuration": "A String", # With this option a job is started a regular periodic basis. For
5588              # example: every day (86400 seconds).
5589              #
5590              # A scheduled start time will be skipped if the previous
5591              # execution has not ended when its scheduled time occurs.
5592              #
5593              # This value must be set to a time duration greater than or equal
5594              # to 1 day and can be no longer than 60 days.
5595        },
5596      },
5597    ],
5598    "lastRunTime": "A String", # The timestamp of the last time this trigger executed, output only field.
5599    "createTime": "A String", # The creation timestamp of a triggeredJob, output only field.
5600    "name": "A String", # Unique resource name for the triggeredJob, assigned by the service when the
5601        # triggeredJob is created, for example
5602        # `projects/dlp-test-project/triggeredJobs/53234423`.
5603  }</pre>
5604</div>
5605
5606</body></html>