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