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