blob: ff14534a771e7e44cb8831f4e869fe893410eb0f [file] [log] [blame]
Bu Sun Kim715bd7f2019-06-14 16:50:42 -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.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">
Dan O'Mearadd494642020-05-01 07:42:23 -070081 <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070082<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">
Bu Sun Kim65020912020-05-20 12:08:20 -070090 <code><a href="#list">list(parent, pageToken=None, locationId=None, pageSize=None, filter=None, orderBy=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070091<p class="firstline">Lists job triggers.</p>
92<p class="toc_element">
93 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
94<p class="firstline">Retrieves the next page of results.</p>
95<p class="toc_element">
Dan O'Mearadd494642020-05-01 07:42:23 -070096 <code><a href="#patch">patch(name, body=None, x__xgafv=None)</a></code></p>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -070097<p class="firstline">Updates a job trigger.</p>
98<h3>Method Details</h3>
99<div class="method">
100 <code class="details" id="activate">activate(name, body=None, x__xgafv=None)</code>
101 <pre>Activate a job trigger. Causes the immediate execute of a trigger
102instead of waiting on the trigger event to occur.
103
104Args:
Dan O'Mearadd494642020-05-01 07:42:23 -0700105 name: string, Required. Resource name of the trigger to activate, for example
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700106`projects/dlp-test-project/jobTriggers/53234423`. (required)
107 body: object, The request body.
108 The object takes the form of:
109
110{ # Request message for ActivateJobTrigger.
111 }
112
113 x__xgafv: string, V1 error format.
114 Allowed values
115 1 - v1 error format
116 2 - v2 error format
117
118Returns:
119 An object of the form:
120
121 { # Combines all of the information about a DLP job.
Bu Sun Kim65020912020-05-20 12:08:20 -0700122 &quot;createTime&quot;: &quot;A String&quot;, # Time when the job was created.
123 &quot;state&quot;: &quot;A String&quot;, # State of a job.
124 &quot;riskDetails&quot;: { # Result of a risk analysis operation request. # Results from analyzing risk of a data source.
125 &quot;numericalStatsResult&quot;: { # Result of the numerical stats computation. # Numerical stats result
126 &quot;minValue&quot;: { # Set of primitive values supported by the system. # Minimum value appearing in the column.
127 # Note that for the purposes of inspection or transformation, the number
128 # of bytes considered to comprise a &#x27;Value&#x27; is based on its representation
129 # as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to
130 # 123456789, the number of bytes would be counted as 9, even though an
131 # int64 only holds up to 8 bytes of data.
132 &quot;booleanValue&quot;: True or False, # boolean
133 &quot;floatValue&quot;: 3.14, # float
134 &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
135 &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
136 &quot;dateValue&quot;: { # Represents a whole or partial calendar date, e.g. a birthday. The time of day # date
137 # and time zone are either specified elsewhere or are not significant. The date
138 # is relative to the Proleptic Gregorian Calendar. This can represent:
139 #
140 # * A full date, with non-zero year, month and day values
141 # * A month and day value, with a zero year, e.g. an anniversary
142 # * A year on its own, with zero month and day values
143 # * A year and month value, with a zero day, e.g. a credit card expiration date
144 #
145 # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
146 &quot;year&quot;: 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
147 # a year.
148 &quot;month&quot;: 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
149 # month and day.
150 &quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
151 # if specifying a year by itself or a year and month where the day is not
152 # significant.
153 },
154 &quot;stringValue&quot;: &quot;A String&quot;, # string
155 &quot;integerValue&quot;: &quot;A String&quot;, # integer
156 &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant # time of day
157 # or are specified elsewhere. An API may choose to allow leap seconds. Related
158 # types are google.type.Date and `google.protobuf.Timestamp`.
159 &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
160 # allow the value 60 if it allows leap-seconds.
161 &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
162 &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
163 # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
164 &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
165 },
166 },
167 &quot;maxValue&quot;: { # Set of primitive values supported by the system. # Maximum value appearing in the column.
168 # Note that for the purposes of inspection or transformation, the number
169 # of bytes considered to comprise a &#x27;Value&#x27; is based on its representation
170 # as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to
171 # 123456789, the number of bytes would be counted as 9, even though an
172 # int64 only holds up to 8 bytes of data.
173 &quot;booleanValue&quot;: True or False, # boolean
174 &quot;floatValue&quot;: 3.14, # float
175 &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
176 &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
177 &quot;dateValue&quot;: { # Represents a whole or partial calendar date, e.g. a birthday. The time of day # date
178 # and time zone are either specified elsewhere or are not significant. The date
179 # is relative to the Proleptic Gregorian Calendar. This can represent:
180 #
181 # * A full date, with non-zero year, month and day values
182 # * A month and day value, with a zero year, e.g. an anniversary
183 # * A year on its own, with zero month and day values
184 # * A year and month value, with a zero day, e.g. a credit card expiration date
185 #
186 # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
187 &quot;year&quot;: 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
188 # a year.
189 &quot;month&quot;: 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
190 # month and day.
191 &quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
192 # if specifying a year by itself or a year and month where the day is not
193 # significant.
194 },
195 &quot;stringValue&quot;: &quot;A String&quot;, # string
196 &quot;integerValue&quot;: &quot;A String&quot;, # integer
197 &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant # time of day
198 # or are specified elsewhere. An API may choose to allow leap seconds. Related
199 # types are google.type.Date and `google.protobuf.Timestamp`.
200 &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
201 # allow the value 60 if it allows leap-seconds.
202 &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
203 &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
204 # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
205 &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
206 },
207 },
208 &quot;quantileValues&quot;: [ # List of 99 values that partition the set of field values into 100 equal
209 # sized buckets.
210 { # Set of primitive values supported by the system.
211 # Note that for the purposes of inspection or transformation, the number
212 # of bytes considered to comprise a &#x27;Value&#x27; is based on its representation
213 # as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to
214 # 123456789, the number of bytes would be counted as 9, even though an
215 # int64 only holds up to 8 bytes of data.
216 &quot;booleanValue&quot;: True or False, # boolean
217 &quot;floatValue&quot;: 3.14, # float
218 &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
219 &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
220 &quot;dateValue&quot;: { # Represents a whole or partial calendar date, e.g. a birthday. The time of day # date
221 # and time zone are either specified elsewhere or are not significant. The date
222 # is relative to the Proleptic Gregorian Calendar. This can represent:
223 #
224 # * A full date, with non-zero year, month and day values
225 # * A month and day value, with a zero year, e.g. an anniversary
226 # * A year on its own, with zero month and day values
227 # * A year and month value, with a zero day, e.g. a credit card expiration date
228 #
229 # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
230 &quot;year&quot;: 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
231 # a year.
232 &quot;month&quot;: 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
233 # month and day.
234 &quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
235 # if specifying a year by itself or a year and month where the day is not
236 # significant.
237 },
238 &quot;stringValue&quot;: &quot;A String&quot;, # string
239 &quot;integerValue&quot;: &quot;A String&quot;, # integer
240 &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant # time of day
241 # or are specified elsewhere. An API may choose to allow leap seconds. Related
242 # types are google.type.Date and `google.protobuf.Timestamp`.
243 &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
244 # allow the value 60 if it allows leap-seconds.
245 &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
246 &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
247 # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
248 &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
249 },
250 },
251 ],
252 },
253 &quot;lDiversityResult&quot;: { # Result of the l-diversity computation. # L-divesity result
254 &quot;sensitiveValueFrequencyHistogramBuckets&quot;: [ # Histogram of l-diversity equivalence class sensitive value frequencies.
255 { # Histogram of l-diversity equivalence class sensitive value frequencies.
256 &quot;sensitiveValueFrequencyLowerBound&quot;: &quot;A String&quot;, # Lower bound on the sensitive value frequencies of the equivalence
257 # classes in this bucket.
258 &quot;sensitiveValueFrequencyUpperBound&quot;: &quot;A String&quot;, # Upper bound on the sensitive value frequencies of the equivalence
259 # classes in this bucket.
260 &quot;bucketSize&quot;: &quot;A String&quot;, # Total number of equivalence classes in this bucket.
261 &quot;bucketValueCount&quot;: &quot;A String&quot;, # Total number of distinct equivalence classes in this bucket.
262 &quot;bucketValues&quot;: [ # Sample of equivalence classes in this bucket. The total number of
263 # classes returned per bucket is capped at 20.
264 { # The set of columns&#x27; values that share the same ldiversity value.
265 &quot;quasiIdsValues&quot;: [ # Quasi-identifier values defining the k-anonymity equivalence
266 # class. The order is always the same as the original request.
267 { # Set of primitive values supported by the system.
268 # Note that for the purposes of inspection or transformation, the number
269 # of bytes considered to comprise a &#x27;Value&#x27; is based on its representation
270 # as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to
271 # 123456789, the number of bytes would be counted as 9, even though an
272 # int64 only holds up to 8 bytes of data.
273 &quot;booleanValue&quot;: True or False, # boolean
274 &quot;floatValue&quot;: 3.14, # float
275 &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
276 &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
277 &quot;dateValue&quot;: { # Represents a whole or partial calendar date, e.g. a birthday. The time of day # date
278 # and time zone are either specified elsewhere or are not significant. The date
279 # is relative to the Proleptic Gregorian Calendar. This can represent:
280 #
281 # * A full date, with non-zero year, month and day values
282 # * A month and day value, with a zero year, e.g. an anniversary
283 # * A year on its own, with zero month and day values
284 # * A year and month value, with a zero day, e.g. a credit card expiration date
285 #
286 # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
287 &quot;year&quot;: 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
288 # a year.
289 &quot;month&quot;: 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
290 # month and day.
291 &quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
292 # if specifying a year by itself or a year and month where the day is not
293 # significant.
294 },
295 &quot;stringValue&quot;: &quot;A String&quot;, # string
296 &quot;integerValue&quot;: &quot;A String&quot;, # integer
297 &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant # time of day
298 # or are specified elsewhere. An API may choose to allow leap seconds. Related
299 # types are google.type.Date and `google.protobuf.Timestamp`.
300 &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
301 # allow the value 60 if it allows leap-seconds.
302 &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
303 &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
304 # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
305 &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
306 },
307 },
308 ],
309 &quot;equivalenceClassSize&quot;: &quot;A String&quot;, # Size of the k-anonymity equivalence class.
310 &quot;numDistinctSensitiveValues&quot;: &quot;A String&quot;, # Number of distinct sensitive values in this equivalence class.
311 &quot;topSensitiveValues&quot;: [ # Estimated frequencies of top sensitive values.
312 { # A value of a field, including its frequency.
313 &quot;value&quot;: { # Set of primitive values supported by the system. # A value contained in the field in question.
314 # Note that for the purposes of inspection or transformation, the number
315 # of bytes considered to comprise a &#x27;Value&#x27; is based on its representation
316 # as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to
317 # 123456789, the number of bytes would be counted as 9, even though an
318 # int64 only holds up to 8 bytes of data.
319 &quot;booleanValue&quot;: True or False, # boolean
320 &quot;floatValue&quot;: 3.14, # float
321 &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
322 &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
323 &quot;dateValue&quot;: { # Represents a whole or partial calendar date, e.g. a birthday. The time of day # date
324 # and time zone are either specified elsewhere or are not significant. The date
325 # is relative to the Proleptic Gregorian Calendar. This can represent:
326 #
327 # * A full date, with non-zero year, month and day values
328 # * A month and day value, with a zero year, e.g. an anniversary
329 # * A year on its own, with zero month and day values
330 # * A year and month value, with a zero day, e.g. a credit card expiration date
331 #
332 # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
333 &quot;year&quot;: 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
334 # a year.
335 &quot;month&quot;: 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
336 # month and day.
337 &quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
338 # if specifying a year by itself or a year and month where the day is not
339 # significant.
340 },
341 &quot;stringValue&quot;: &quot;A String&quot;, # string
342 &quot;integerValue&quot;: &quot;A String&quot;, # integer
343 &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant # time of day
344 # or are specified elsewhere. An API may choose to allow leap seconds. Related
345 # types are google.type.Date and `google.protobuf.Timestamp`.
346 &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
347 # allow the value 60 if it allows leap-seconds.
348 &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
349 &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
350 # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
351 &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
352 },
353 },
354 &quot;count&quot;: &quot;A String&quot;, # How many times the value is contained in the field.
355 },
356 ],
357 },
358 ],
359 },
360 ],
361 },
362 &quot;requestedPrivacyMetric&quot;: { # Privacy metric to compute for reidentification risk analysis. # Privacy metric to compute.
363 &quot;categoricalStatsConfig&quot;: { # Compute numerical stats over an individual column, including # Categorical stats
364 # number of distinct values and value count distribution.
365 &quot;field&quot;: { # General identifier of a data field in a storage service. # Field to compute categorical stats on. All column types are
366 # supported except for arrays and structs. However, it may be more
367 # informative to use NumericalStats when the field type is supported,
368 # depending on the data.
369 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
370 },
371 },
372 &quot;kAnonymityConfig&quot;: { # k-anonymity metric, used for analysis of reidentification risk. # K-anonymity
373 &quot;quasiIds&quot;: [ # Set of fields to compute k-anonymity over. When multiple fields are
374 # specified, they are considered a single composite key. Structs and
375 # repeated data types are not supported; however, nested fields are
376 # supported so long as they are not structs themselves or nested within
377 # a repeated field.
378 { # General identifier of a data field in a storage service.
379 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
380 },
381 ],
382 &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
383 # single individual. If the same entity_id is associated to multiple
384 # quasi-identifier tuples over distinct rows, we consider the entire
385 # collection of tuples as the composite quasi-identifier. This collection
386 # is a multiset: the order in which the different tuples appear in the
387 # dataset is ignored, but their frequency is taken into account.
388 #
389 # Important note: a maximum of 1000 rows can be associated to a single
390 # entity ID. If more rows are associated with the same entity ID, some
391 # might be ignored.
392 # single person. For example, in medical records the `EntityId` might be a
393 # patient identifier, or for financial records it might be an account
394 # identifier. This message is used when generalizations or analysis must take
395 # into account that multiple rows correspond to the same entity.
396 &quot;field&quot;: { # General identifier of a data field in a storage service. # Composite key indicating which field contains the entity identifier.
397 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
398 },
399 },
400 },
401 &quot;numericalStatsConfig&quot;: { # Compute numerical stats over an individual column, including # Numerical stats
402 # min, max, and quantiles.
403 &quot;field&quot;: { # General identifier of a data field in a storage service. # Field to compute numerical stats on. Supported types are
404 # integer, float, date, datetime, timestamp, time.
405 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
406 },
407 },
408 &quot;kMapEstimationConfig&quot;: { # Reidentifiability metric. This corresponds to a risk model similar to what # k-map
409 # is called &quot;journalist risk&quot; in the literature, except the attack dataset is
410 # statistically modeled instead of being perfectly known. This can be done
411 # using publicly available data (like the US Census), or using a custom
412 # statistical model (indicated as one or several BigQuery tables), or by
413 # extrapolating from the distribution of values in the input dataset.
414 &quot;regionCode&quot;: &quot;A String&quot;, # ISO 3166-1 alpha-2 region code to use in the statistical modeling.
415 # Set if no column is tagged with a region-specific InfoType (like
416 # US_ZIP_5) or a region code.
417 &quot;auxiliaryTables&quot;: [ # Several auxiliary tables can be used in the analysis. Each custom_tag
418 # used to tag a quasi-identifiers column must appear in exactly one column
419 # of one auxiliary table.
420 { # An auxiliary table contains statistical information on the relative
421 # frequency of different quasi-identifiers values. It has one or several
422 # quasi-identifiers columns, and one column that indicates the relative
423 # frequency of each quasi-identifier tuple.
424 # If a tuple is present in the data but not in the auxiliary table, the
425 # corresponding relative frequency is assumed to be zero (and thus, the
426 # tuple is highly reidentifiable).
427 &quot;table&quot;: { # Message defining the location of a BigQuery table. A table is uniquely # Required. Auxiliary table location.
428 # identified by its project_id, dataset_id, and table_name. Within a query
429 # a table is often referenced with a string in the format of:
430 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
431 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
432 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
433 # If omitted, project ID is inferred from the API call.
434 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
435 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
436 },
437 &quot;relativeFrequency&quot;: { # General identifier of a data field in a storage service. # Required. The relative frequency column must contain a floating-point number
438 # between 0 and 1 (inclusive). Null values are assumed to be zero.
439 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
440 },
441 &quot;quasiIds&quot;: [ # Required. Quasi-identifier columns.
442 { # A quasi-identifier column has a custom_tag, used to know which column
443 # in the data corresponds to which column in the statistical model.
444 &quot;customTag&quot;: &quot;A String&quot;, # A auxiliary field.
445 &quot;field&quot;: { # General identifier of a data field in a storage service. # Identifies the column.
446 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
447 },
448 },
449 ],
450 },
451 ],
452 &quot;quasiIds&quot;: [ # Required. Fields considered to be quasi-identifiers. No two columns can have the
453 # same tag.
454 { # A column with a semantic tag attached.
455 &quot;field&quot;: { # General identifier of a data field in a storage service. # Required. Identifies the column.
456 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
457 },
458 &quot;infoType&quot;: { # Type of information detected by the API. # A column can be tagged with a InfoType to use the relevant public
459 # dataset as a statistical model of population, if available. We
460 # currently support US ZIP codes, region codes, ages and genders.
461 # To programmatically obtain the list of supported InfoTypes, use
462 # ListInfoTypes with the supported_by=RISK_ANALYSIS filter.
463 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
464 # creating a CustomInfoType, or one of the names listed
465 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
466 # a built-in type. InfoType names should conform to the pattern
467 # `[a-zA-Z0-9_]{1,64}`.
468 },
469 &quot;customTag&quot;: &quot;A String&quot;, # A column can be tagged with a custom tag. In this case, the user must
470 # indicate an auxiliary table that contains statistical information on
471 # the possible values of this column (below).
472 &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
473 # the distribution of values in the input data
474 # empty messages in your APIs. A typical example is to use it as the request
475 # or the response type of an API method. For instance:
476 #
477 # service Foo {
478 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
479 # }
480 #
481 # The JSON representation for `Empty` is empty JSON object `{}`.
482 },
483 },
484 ],
485 },
486 &quot;lDiversityConfig&quot;: { # l-diversity metric, used for analysis of reidentification risk. # l-diversity
487 &quot;quasiIds&quot;: [ # Set of quasi-identifiers indicating how equivalence classes are
488 # defined for the l-diversity computation. When multiple fields are
489 # specified, they are considered a single composite key.
490 { # General identifier of a data field in a storage service.
491 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
492 },
493 ],
494 &quot;sensitiveAttribute&quot;: { # General identifier of a data field in a storage service. # Sensitive field for computing the l-value.
495 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
496 },
497 },
498 &quot;deltaPresenceEstimationConfig&quot;: { # δ-presence metric, used to estimate how likely it is for an attacker to # delta-presence
499 # figure out that one given individual appears in a de-identified dataset.
500 # Similarly to the k-map metric, we cannot compute δ-presence exactly without
501 # knowing the attack dataset, so we use a statistical model instead.
502 &quot;quasiIds&quot;: [ # Required. Fields considered to be quasi-identifiers. No two fields can have the
503 # same tag.
504 { # A column with a semantic tag attached.
505 &quot;field&quot;: { # General identifier of a data field in a storage service. # Required. Identifies the column.
506 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
507 },
508 &quot;infoType&quot;: { # Type of information detected by the API. # A column can be tagged with a InfoType to use the relevant public
509 # dataset as a statistical model of population, if available. We
510 # currently support US ZIP codes, region codes, ages and genders.
511 # To programmatically obtain the list of supported InfoTypes, use
512 # ListInfoTypes with the supported_by=RISK_ANALYSIS filter.
513 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
514 # creating a CustomInfoType, or one of the names listed
515 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
516 # a built-in type. InfoType names should conform to the pattern
517 # `[a-zA-Z0-9_]{1,64}`.
518 },
519 &quot;customTag&quot;: &quot;A String&quot;, # A column can be tagged with a custom tag. In this case, the user must
520 # indicate an auxiliary table that contains statistical information on
521 # the possible values of this column (below).
522 &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
523 # the distribution of values in the input data
524 # empty messages in your APIs. A typical example is to use it as the request
525 # or the response type of an API method. For instance:
526 #
527 # service Foo {
528 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
529 # }
530 #
531 # The JSON representation for `Empty` is empty JSON object `{}`.
532 },
533 },
534 ],
535 &quot;regionCode&quot;: &quot;A String&quot;, # ISO 3166-1 alpha-2 region code to use in the statistical modeling.
536 # Set if no column is tagged with a region-specific InfoType (like
537 # US_ZIP_5) or a region code.
538 &quot;auxiliaryTables&quot;: [ # Several auxiliary tables can be used in the analysis. Each custom_tag
539 # used to tag a quasi-identifiers field must appear in exactly one
540 # field of one auxiliary table.
541 { # An auxiliary table containing statistical information on the relative
542 # frequency of different quasi-identifiers values. It has one or several
543 # quasi-identifiers columns, and one column that indicates the relative
544 # frequency of each quasi-identifier tuple.
545 # If a tuple is present in the data but not in the auxiliary table, the
546 # corresponding relative frequency is assumed to be zero (and thus, the
547 # tuple is highly reidentifiable).
548 &quot;table&quot;: { # Message defining the location of a BigQuery table. A table is uniquely # Required. Auxiliary table location.
549 # identified by its project_id, dataset_id, and table_name. Within a query
550 # a table is often referenced with a string in the format of:
551 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
552 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
553 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
554 # If omitted, project ID is inferred from the API call.
555 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
556 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
557 },
558 &quot;relativeFrequency&quot;: { # General identifier of a data field in a storage service. # Required. The relative frequency column must contain a floating-point number
559 # between 0 and 1 (inclusive). Null values are assumed to be zero.
560 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
561 },
562 &quot;quasiIds&quot;: [ # Required. Quasi-identifier columns.
563 { # A quasi-identifier column has a custom_tag, used to know which column
564 # in the data corresponds to which column in the statistical model.
565 &quot;field&quot;: { # General identifier of a data field in a storage service. # Identifies the column.
566 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
567 },
568 &quot;customTag&quot;: &quot;A String&quot;, # A column can be tagged with a custom tag. In this case, the user must
569 # indicate an auxiliary table that contains statistical information on
570 # the possible values of this column (below).
571 },
572 ],
573 },
574 ],
575 },
576 },
577 &quot;categoricalStatsResult&quot;: { # Result of the categorical stats computation. # Categorical stats result
578 &quot;valueFrequencyHistogramBuckets&quot;: [ # Histogram of value frequencies in the column.
579 { # Histogram of value frequencies in the column.
580 &quot;bucketValues&quot;: [ # Sample of value frequencies in this bucket. The total number of
581 # values returned per bucket is capped at 20.
582 { # A value of a field, including its frequency.
583 &quot;value&quot;: { # Set of primitive values supported by the system. # A value contained in the field in question.
584 # Note that for the purposes of inspection or transformation, the number
585 # of bytes considered to comprise a &#x27;Value&#x27; is based on its representation
586 # as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to
587 # 123456789, the number of bytes would be counted as 9, even though an
588 # int64 only holds up to 8 bytes of data.
589 &quot;booleanValue&quot;: True or False, # boolean
590 &quot;floatValue&quot;: 3.14, # float
591 &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
592 &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
593 &quot;dateValue&quot;: { # Represents a whole or partial calendar date, e.g. a birthday. The time of day # date
594 # and time zone are either specified elsewhere or are not significant. The date
595 # is relative to the Proleptic Gregorian Calendar. This can represent:
596 #
597 # * A full date, with non-zero year, month and day values
598 # * A month and day value, with a zero year, e.g. an anniversary
599 # * A year on its own, with zero month and day values
600 # * A year and month value, with a zero day, e.g. a credit card expiration date
601 #
602 # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
603 &quot;year&quot;: 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
604 # a year.
605 &quot;month&quot;: 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
606 # month and day.
607 &quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
608 # if specifying a year by itself or a year and month where the day is not
609 # significant.
610 },
611 &quot;stringValue&quot;: &quot;A String&quot;, # string
612 &quot;integerValue&quot;: &quot;A String&quot;, # integer
613 &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant # time of day
614 # or are specified elsewhere. An API may choose to allow leap seconds. Related
615 # types are google.type.Date and `google.protobuf.Timestamp`.
616 &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
617 # allow the value 60 if it allows leap-seconds.
618 &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
619 &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
620 # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
621 &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
622 },
623 },
624 &quot;count&quot;: &quot;A String&quot;, # How many times the value is contained in the field.
625 },
626 ],
627 &quot;valueFrequencyLowerBound&quot;: &quot;A String&quot;, # Lower bound on the value frequency of the values in this bucket.
628 &quot;valueFrequencyUpperBound&quot;: &quot;A String&quot;, # Upper bound on the value frequency of the values in this bucket.
629 &quot;bucketSize&quot;: &quot;A String&quot;, # Total number of values in this bucket.
630 &quot;bucketValueCount&quot;: &quot;A String&quot;, # Total number of distinct values in this bucket.
631 },
632 ],
633 },
634 &quot;kMapEstimationResult&quot;: { # Result of the reidentifiability analysis. Note that these results are an # K-map result
635 # estimation, not exact values.
636 &quot;kMapEstimationHistogram&quot;: [ # The intervals [min_anonymity, max_anonymity] do not overlap. If a value
637 # doesn&#x27;t correspond to any such interval, the associated frequency is
638 # zero. For example, the following records:
639 # {min_anonymity: 1, max_anonymity: 1, frequency: 17}
640 # {min_anonymity: 2, max_anonymity: 3, frequency: 42}
641 # {min_anonymity: 5, max_anonymity: 10, frequency: 99}
642 # mean that there are no record with an estimated anonymity of 4, 5, or
643 # larger than 10.
644 { # A KMapEstimationHistogramBucket message with the following values:
645 # min_anonymity: 3
646 # max_anonymity: 5
647 # frequency: 42
648 # means that there are 42 records whose quasi-identifier values correspond
649 # to 3, 4 or 5 people in the overlying population. An important particular
650 # case is when min_anonymity = max_anonymity = 1: the frequency field then
651 # corresponds to the number of uniquely identifiable records.
652 &quot;bucketSize&quot;: &quot;A String&quot;, # Number of records within these anonymity bounds.
653 &quot;bucketValueCount&quot;: &quot;A String&quot;, # Total number of distinct quasi-identifier tuple values in this bucket.
654 &quot;maxAnonymity&quot;: &quot;A String&quot;, # Always greater than or equal to min_anonymity.
655 &quot;minAnonymity&quot;: &quot;A String&quot;, # Always positive.
656 &quot;bucketValues&quot;: [ # Sample of quasi-identifier tuple values in this bucket. The total
657 # number of classes returned per bucket is capped at 20.
658 { # A tuple of values for the quasi-identifier columns.
659 &quot;estimatedAnonymity&quot;: &quot;A String&quot;, # The estimated anonymity for these quasi-identifier values.
660 &quot;quasiIdsValues&quot;: [ # The quasi-identifier values.
661 { # Set of primitive values supported by the system.
662 # Note that for the purposes of inspection or transformation, the number
663 # of bytes considered to comprise a &#x27;Value&#x27; is based on its representation
664 # as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to
665 # 123456789, the number of bytes would be counted as 9, even though an
666 # int64 only holds up to 8 bytes of data.
667 &quot;booleanValue&quot;: True or False, # boolean
668 &quot;floatValue&quot;: 3.14, # float
669 &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
670 &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
671 &quot;dateValue&quot;: { # Represents a whole or partial calendar date, e.g. a birthday. The time of day # date
672 # and time zone are either specified elsewhere or are not significant. The date
673 # is relative to the Proleptic Gregorian Calendar. This can represent:
674 #
675 # * A full date, with non-zero year, month and day values
676 # * A month and day value, with a zero year, e.g. an anniversary
677 # * A year on its own, with zero month and day values
678 # * A year and month value, with a zero day, e.g. a credit card expiration date
679 #
680 # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
681 &quot;year&quot;: 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
682 # a year.
683 &quot;month&quot;: 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
684 # month and day.
685 &quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
686 # if specifying a year by itself or a year and month where the day is not
687 # significant.
688 },
689 &quot;stringValue&quot;: &quot;A String&quot;, # string
690 &quot;integerValue&quot;: &quot;A String&quot;, # integer
691 &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant # time of day
692 # or are specified elsewhere. An API may choose to allow leap seconds. Related
693 # types are google.type.Date and `google.protobuf.Timestamp`.
694 &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
695 # allow the value 60 if it allows leap-seconds.
696 &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
697 &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
698 # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
699 &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
700 },
701 },
702 ],
703 },
704 ],
705 },
706 ],
707 },
708 &quot;kAnonymityResult&quot;: { # Result of the k-anonymity computation. # K-anonymity result
709 &quot;equivalenceClassHistogramBuckets&quot;: [ # Histogram of k-anonymity equivalence classes.
710 { # Histogram of k-anonymity equivalence classes.
711 &quot;bucketSize&quot;: &quot;A String&quot;, # Total number of equivalence classes in this bucket.
712 &quot;bucketValueCount&quot;: &quot;A String&quot;, # Total number of distinct equivalence classes in this bucket.
713 &quot;equivalenceClassSizeLowerBound&quot;: &quot;A String&quot;, # Lower bound on the size of the equivalence classes in this bucket.
714 &quot;equivalenceClassSizeUpperBound&quot;: &quot;A String&quot;, # Upper bound on the size of the equivalence classes in this bucket.
715 &quot;bucketValues&quot;: [ # Sample of equivalence classes in this bucket. The total number of
716 # classes returned per bucket is capped at 20.
717 { # The set of columns&#x27; values that share the same ldiversity value
718 &quot;quasiIdsValues&quot;: [ # Set of values defining the equivalence class. One value per
719 # quasi-identifier column in the original KAnonymity metric message.
720 # The order is always the same as the original request.
721 { # Set of primitive values supported by the system.
722 # Note that for the purposes of inspection or transformation, the number
723 # of bytes considered to comprise a &#x27;Value&#x27; is based on its representation
724 # as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to
725 # 123456789, the number of bytes would be counted as 9, even though an
726 # int64 only holds up to 8 bytes of data.
727 &quot;booleanValue&quot;: True or False, # boolean
728 &quot;floatValue&quot;: 3.14, # float
729 &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
730 &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
731 &quot;dateValue&quot;: { # Represents a whole or partial calendar date, e.g. a birthday. The time of day # date
732 # and time zone are either specified elsewhere or are not significant. The date
733 # is relative to the Proleptic Gregorian Calendar. This can represent:
734 #
735 # * A full date, with non-zero year, month and day values
736 # * A month and day value, with a zero year, e.g. an anniversary
737 # * A year on its own, with zero month and day values
738 # * A year and month value, with a zero day, e.g. a credit card expiration date
739 #
740 # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
741 &quot;year&quot;: 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
742 # a year.
743 &quot;month&quot;: 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
744 # month and day.
745 &quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
746 # if specifying a year by itself or a year and month where the day is not
747 # significant.
748 },
749 &quot;stringValue&quot;: &quot;A String&quot;, # string
750 &quot;integerValue&quot;: &quot;A String&quot;, # integer
751 &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant # time of day
752 # or are specified elsewhere. An API may choose to allow leap seconds. Related
753 # types are google.type.Date and `google.protobuf.Timestamp`.
754 &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
755 # allow the value 60 if it allows leap-seconds.
756 &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
757 &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
758 # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
759 &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
760 },
761 },
762 ],
763 &quot;equivalenceClassSize&quot;: &quot;A String&quot;, # Size of the equivalence class, for example number of rows with the
764 # above set of values.
765 },
766 ],
767 },
768 ],
769 },
770 &quot;deltaPresenceEstimationResult&quot;: { # Result of the δ-presence computation. Note that these results are an # Delta-presence result
771 # estimation, not exact values.
772 &quot;deltaPresenceEstimationHistogram&quot;: [ # The intervals [min_probability, max_probability) do not overlap. If a
773 # value doesn&#x27;t correspond to any such interval, the associated frequency
774 # is zero. For example, the following records:
775 # {min_probability: 0, max_probability: 0.1, frequency: 17}
776 # {min_probability: 0.2, max_probability: 0.3, frequency: 42}
777 # {min_probability: 0.3, max_probability: 0.4, frequency: 99}
778 # mean that there are no record with an estimated probability in [0.1, 0.2)
779 # nor larger or equal to 0.4.
780 { # A DeltaPresenceEstimationHistogramBucket message with the following
781 # values:
782 # min_probability: 0.1
783 # max_probability: 0.2
784 # frequency: 42
785 # means that there are 42 records for which δ is in [0.1, 0.2). An
786 # important particular case is when min_probability = max_probability = 1:
787 # then, every individual who shares this quasi-identifier combination is in
788 # the dataset.
789 &quot;bucketValues&quot;: [ # Sample of quasi-identifier tuple values in this bucket. The total
790 # number of classes returned per bucket is capped at 20.
791 { # A tuple of values for the quasi-identifier columns.
792 &quot;quasiIdsValues&quot;: [ # The quasi-identifier values.
793 { # Set of primitive values supported by the system.
794 # Note that for the purposes of inspection or transformation, the number
795 # of bytes considered to comprise a &#x27;Value&#x27; is based on its representation
796 # as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to
797 # 123456789, the number of bytes would be counted as 9, even though an
798 # int64 only holds up to 8 bytes of data.
799 &quot;booleanValue&quot;: True or False, # boolean
800 &quot;floatValue&quot;: 3.14, # float
801 &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
802 &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
803 &quot;dateValue&quot;: { # Represents a whole or partial calendar date, e.g. a birthday. The time of day # date
804 # and time zone are either specified elsewhere or are not significant. The date
805 # is relative to the Proleptic Gregorian Calendar. This can represent:
806 #
807 # * A full date, with non-zero year, month and day values
808 # * A month and day value, with a zero year, e.g. an anniversary
809 # * A year on its own, with zero month and day values
810 # * A year and month value, with a zero day, e.g. a credit card expiration date
811 #
812 # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
813 &quot;year&quot;: 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
814 # a year.
815 &quot;month&quot;: 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
816 # month and day.
817 &quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
818 # if specifying a year by itself or a year and month where the day is not
819 # significant.
820 },
821 &quot;stringValue&quot;: &quot;A String&quot;, # string
822 &quot;integerValue&quot;: &quot;A String&quot;, # integer
823 &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant # time of day
824 # or are specified elsewhere. An API may choose to allow leap seconds. Related
825 # types are google.type.Date and `google.protobuf.Timestamp`.
826 &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
827 # allow the value 60 if it allows leap-seconds.
828 &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
829 &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
830 # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
831 &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
832 },
833 },
834 ],
835 &quot;estimatedProbability&quot;: 3.14, # The estimated probability that a given individual sharing these
836 # quasi-identifier values is in the dataset. This value, typically called
837 # δ, is the ratio between the number of records in the dataset with these
838 # quasi-identifier values, and the total number of individuals (inside
839 # *and* outside the dataset) with these quasi-identifier values.
840 # For example, if there are 15 individuals in the dataset who share the
841 # same quasi-identifier values, and an estimated 100 people in the entire
842 # population with these values, then δ is 0.15.
843 },
844 ],
845 &quot;minProbability&quot;: 3.14, # Between 0 and 1.
846 &quot;maxProbability&quot;: 3.14, # Always greater than or equal to min_probability.
847 &quot;bucketSize&quot;: &quot;A String&quot;, # Number of records within these probability bounds.
848 &quot;bucketValueCount&quot;: &quot;A String&quot;, # Total number of distinct quasi-identifier tuple values in this bucket.
849 },
850 ],
851 },
852 &quot;requestedSourceTable&quot;: { # Message defining the location of a BigQuery table. A table is uniquely # Input dataset to compute metrics over.
853 # identified by its project_id, dataset_id, and table_name. Within a query
854 # a table is often referenced with a string in the format of:
855 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
856 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
857 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
858 # If omitted, project ID is inferred from the API call.
859 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
860 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
861 },
862 },
863 &quot;jobTriggerName&quot;: &quot;A String&quot;, # If created by a job trigger, the resource name of the trigger that
864 # instantiated the job.
865 &quot;errors&quot;: [ # A stream of errors encountered running the job.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700866 { # Details information about an error encountered during job execution or
867 # the results of an unsuccessful activation of the JobTrigger.
Bu Sun Kim65020912020-05-20 12:08:20 -0700868 &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for # Detailed error codes and messages.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700869 # different programming environments, including REST APIs and RPC APIs. It is
870 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
871 # three pieces of data: error code, error message, and error details.
872 #
873 # You can find out more about this error model and how to work with it in the
874 # [API Design Guide](https://cloud.google.com/apis/design/errors).
Bu Sun Kim65020912020-05-20 12:08:20 -0700875 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
876 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700877 # user-facing error message should be localized and sent in the
878 # google.rpc.Status.details field, or localized by the client.
Bu Sun Kim65020912020-05-20 12:08:20 -0700879 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700880 # message types for APIs to use.
881 {
Bu Sun Kim65020912020-05-20 12:08:20 -0700882 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700883 },
884 ],
885 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700886 &quot;timestamps&quot;: [ # The times the error occurred.
887 &quot;A String&quot;,
888 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700889 },
890 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700891 &quot;name&quot;: &quot;A String&quot;, # The server-assigned name.
892 &quot;type&quot;: &quot;A String&quot;, # The type of job.
893 &quot;endTime&quot;: &quot;A String&quot;, # Time when the job finished.
894 &quot;startTime&quot;: &quot;A String&quot;, # Time when the job started.
895 &quot;inspectDetails&quot;: { # The results of an inspect DataSource job. # Results from inspecting a data source.
896 &quot;requestedOptions&quot;: { # Snapshot of the inspection configuration. # The configuration used for this job.
897 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700898 # this run.
899 # to be detected) to be used anywhere you otherwise would normally specify
900 # InspectConfig. See https://cloud.google.com/dlp/docs/concepts-templates
901 # to learn more.
Bu Sun Kim65020912020-05-20 12:08:20 -0700902 &quot;displayName&quot;: &quot;A String&quot;, # Display name (max 256 chars).
903 &quot;inspectConfig&quot;: { # Configuration description of the scanning process. # The core content of the template. Configuration of the scanning process.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700904 # When used with redactContent only info_types and min_likelihood are currently
905 # used.
Bu Sun Kim65020912020-05-20 12:08:20 -0700906 &quot;includeQuote&quot;: True or False, # When true, a contextual quote from the data that triggered a finding is
907 # included in the response; see Finding.quote.
908 &quot;ruleSet&quot;: [ # Set of rules to apply to the findings for this InspectConfig.
909 # Exclusion rules, contained in the set are executed in the end, other
910 # rules are executed in the order they are specified for each info type.
911 { # Rule set for modifying a set of infoTypes to alter behavior under certain
912 # circumstances, depending on the specific details of the rules within the set.
913 &quot;infoTypes&quot;: [ # List of infoTypes this rule set is applied to.
914 { # Type of information detected by the API.
915 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700916 # creating a CustomInfoType, or one of the names listed
917 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
918 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -0700919 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700920 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700921 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700922 &quot;rules&quot;: [ # Set of rules to be applied to infoTypes. The rules are applied in order.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700923 { # A single inspection rule to be applied to infoTypes, specified in
924 # `InspectionRuleSet`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700925 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700926 # proximity of hotwords.
Bu Sun Kim65020912020-05-20 12:08:20 -0700927 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700928 # part of a detection rule.
Bu Sun Kim65020912020-05-20 12:08:20 -0700929 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700930 # levels. For example, if a finding would be `POSSIBLE` without the
931 # detection rule and `relative_likelihood` is 1, then it is upgraded to
932 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
933 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
934 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
935 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
936 # a final likelihood of `LIKELY`.
Bu Sun Kim65020912020-05-20 12:08:20 -0700937 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700938 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700939 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
940 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700941 # specified, the entire match is returned. No more than 3 may be included.
942 42,
943 ],
Bu Sun Kim65020912020-05-20 12:08:20 -0700944 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
945 # (https://github.com/google/re2/wiki/Syntax) can be found under the
946 # google/re2 repository on GitHub.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700947 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700948 &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.
949 # The total length of the window cannot exceed 1000 characters. Note that
950 # the finding itself will be included in the window, so that hotwords may
951 # be used to match substrings of the finding itself. For example, the
952 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
953 # adjusted upwards if the area code is known to be the local area code of
954 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
955 # is the area code in question.
956 # rule.
957 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
958 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700959 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700960 },
961 &quot;exclusionRule&quot;: { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
962 # `InspectionRuleSet` are removed from results.
963 &quot;dictionary&quot;: { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700964 # be used to match sensitive information specific to the data, such as a list
965 # of employee IDs or job titles.
966 #
967 # Dictionary words are case-insensitive and all characters other than letters
968 # and digits in the unicode [Basic Multilingual
969 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
970 # will be replaced with whitespace when scanning for matches, so the
Bu Sun Kim65020912020-05-20 12:08:20 -0700971 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
972 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700973 # surrounding any match must be of a different type than the adjacent
974 # characters within the word, so letters must be next to non-letters and
Bu Sun Kim65020912020-05-20 12:08:20 -0700975 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
976 # match the first three letters of the text &quot;jen123&quot; but will return no
977 # matches for &quot;jennifer&quot;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700978 #
979 # Dictionary words containing a large number of characters that are not
980 # letters or digits may result in unexpected findings because such characters
981 # are treated as whitespace. The
982 # [limits](https://cloud.google.com/dlp/limits) page contains details about
983 # the size limits of dictionaries. For dictionaries that do not fit within
984 # these constraints, consider using `LargeCustomDictionaryConfig` in the
985 # `StoredInfoType` API.
Bu Sun Kim65020912020-05-20 12:08:20 -0700986 &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.
987 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700988 # at least one phrase and every phrase must contain at least 2 characters
989 # that are letters or digits. [required]
Bu Sun Kim65020912020-05-20 12:08:20 -0700990 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700991 ],
992 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700993 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700994 # is accepted.
Bu Sun Kim65020912020-05-20 12:08:20 -0700995 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700996 # Example: gs://[BUCKET_NAME]/dictionary.txt
997 },
998 },
Bu Sun Kim65020912020-05-20 12:08:20 -0700999 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression which defines the rule.
1000 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
1001 # specified, the entire match is returned. No more than 3 may be included.
1002 42,
1003 ],
1004 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
1005 # (https://github.com/google/re2/wiki/Syntax) can be found under the
1006 # google/re2 repository on GitHub.
1007 },
1008 &quot;excludeInfoTypes&quot;: { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
1009 &quot;infoTypes&quot;: [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
1010 # contained within with a finding of an infoType from this list. For
1011 # example, for `InspectionRuleSet.info_types` containing &quot;PHONE_NUMBER&quot;` and
1012 # `exclusion_rule` containing `exclude_info_types.info_types` with
1013 # &quot;EMAIL_ADDRESS&quot; the phone number findings are dropped if they overlap
1014 # with EMAIL_ADDRESS finding.
1015 # That leads to &quot;555-222-2222@example.org&quot; to generate only a single
1016 # finding, namely email address.
1017 { # Type of information detected by the API.
1018 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
1019 # creating a CustomInfoType, or one of the names listed
1020 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
1021 # a built-in type. InfoType names should conform to the pattern
1022 # `[a-zA-Z0-9_]{1,64}`.
1023 },
1024 ],
1025 },
1026 &quot;matchingType&quot;: &quot;A String&quot;, # How the rule is applied, see MatchingType documentation for details.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001027 },
1028 },
1029 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001030 },
1031 ],
1032 &quot;limits&quot;: { # Configuration to control the number of findings returned. # Configuration to control the number of findings returned.
1033 &quot;maxFindingsPerItem&quot;: 42, # Max number of findings that will be returned for each item scanned.
1034 # When set within `InspectJobConfig`,
1035 # the maximum returned is 2000 regardless if this is set higher.
1036 # When set within `InspectContentRequest`, this field is ignored.
1037 &quot;maxFindingsPerInfoType&quot;: [ # Configuration of findings limit given for specified infoTypes.
1038 { # Max findings configuration per infoType, per content item or long
1039 # running DlpJob.
1040 &quot;maxFindings&quot;: 42, # Max findings limit for the given infoType.
1041 &quot;infoType&quot;: { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
1042 # info_type should be provided. If InfoTypeLimit does not have an
1043 # info_type, the DLP API applies the limit against all info_types that
1044 # are found but not specified in another InfoTypeLimit.
1045 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001046 # creating a CustomInfoType, or one of the names listed
1047 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
1048 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07001049 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001050 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001051 },
1052 ],
1053 &quot;maxFindingsPerRequest&quot;: 42, # Max number of findings that will be returned per request/job.
1054 # When set within `InspectContentRequest`, the maximum returned is 2000
1055 # regardless if this is set higher.
1056 },
1057 &quot;contentOptions&quot;: [ # List of options defining data content to scan.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001058 # If empty, text, images, and other content will be included.
Bu Sun Kim65020912020-05-20 12:08:20 -07001059 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001060 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001061 &quot;infoTypes&quot;: [ # Restricts what info_types to look for. The values must correspond to
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001062 # InfoType values returned by ListInfoTypes or listed at
1063 # https://cloud.google.com/dlp/docs/infotypes-reference.
1064 #
1065 # When no InfoTypes or CustomInfoTypes are specified in a request, the
1066 # system may automatically choose what detectors to run. By default this may
1067 # be all types, but may change over time as detectors are updated.
1068 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001069 # If you need precise control and predictability as to what detectors are
1070 # run you should specify specific InfoTypes listed in the reference,
1071 # otherwise a default list will be used, which may change over time.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001072 { # Type of information detected by the API.
Bu Sun Kim65020912020-05-20 12:08:20 -07001073 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001074 # creating a CustomInfoType, or one of the names listed
1075 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
1076 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07001077 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001078 },
1079 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001080 &quot;minLikelihood&quot;: &quot;A String&quot;, # Only returns findings equal or above this threshold. The default is
1081 # POSSIBLE.
1082 # See https://cloud.google.com/dlp/docs/likelihood to learn more.
1083 &quot;excludeInfoTypes&quot;: True or False, # When true, excludes type information of the findings.
1084 &quot;customInfoTypes&quot;: [ # CustomInfoTypes provided by the user. See
1085 # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
1086 { # Custom information type provided by the user. Used to find domain-specific
1087 # sensitive information configurable to the data in question.
1088 &quot;likelihood&quot;: &quot;A String&quot;, # Likelihood to return for this CustomInfoType. This base value can be
1089 # altered by a detection rule if the finding meets the criteria specified by
1090 # the rule. Defaults to `VERY_LIKELY` if not specified.
1091 &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
1092 # infoType, when the name matches one of existing infoTypes and that infoType
1093 # is specified in `InspectContent.info_types` field. Specifying the latter
1094 # adds findings to the one detected by the system. If built-in info type is
1095 # not specified in `InspectContent.info_types` list then the name is treated
1096 # as a custom info type.
1097 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
1098 # creating a CustomInfoType, or one of the names listed
1099 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
1100 # a built-in type. InfoType names should conform to the pattern
1101 # `[a-zA-Z0-9_]{1,64}`.
1102 },
1103 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
1104 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
1105 # specified, the entire match is returned. No more than 3 may be included.
1106 42,
1107 ],
1108 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
1109 # (https://github.com/google/re2/wiki/Syntax) can be found under the
1110 # google/re2 repository on GitHub.
1111 },
1112 &quot;detectionRules&quot;: [ # Set of detection rules to apply to all findings of this CustomInfoType.
1113 # Rules are applied in order that they are specified. Not supported for the
1114 # `surrogate_type` CustomInfoType.
1115 { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
1116 # `CustomInfoType` to alter behavior under certain circumstances, depending
1117 # on the specific details of the rule. Not supported for the `surrogate_type`
1118 # custom infoType.
1119 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
1120 # proximity of hotwords.
1121 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
1122 # part of a detection rule.
1123 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
1124 # levels. For example, if a finding would be `POSSIBLE` without the
1125 # detection rule and `relative_likelihood` is 1, then it is upgraded to
1126 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
1127 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
1128 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
1129 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
1130 # a final likelihood of `LIKELY`.
1131 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
1132 },
1133 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
1134 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
1135 # specified, the entire match is returned. No more than 3 may be included.
1136 42,
1137 ],
1138 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
1139 # (https://github.com/google/re2/wiki/Syntax) can be found under the
1140 # google/re2 repository on GitHub.
1141 },
1142 &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.
1143 # The total length of the window cannot exceed 1000 characters. Note that
1144 # the finding itself will be included in the window, so that hotwords may
1145 # be used to match substrings of the finding itself. For example, the
1146 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
1147 # adjusted upwards if the area code is known to be the local area code of
1148 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
1149 # is the area code in question.
1150 # rule.
1151 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
1152 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
1153 },
1154 },
1155 },
1156 ],
1157 &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
1158 # to be returned. It still can be used for rules matching.
1159 &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.
1160 # be used to match sensitive information specific to the data, such as a list
1161 # of employee IDs or job titles.
1162 #
1163 # Dictionary words are case-insensitive and all characters other than letters
1164 # and digits in the unicode [Basic Multilingual
1165 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
1166 # will be replaced with whitespace when scanning for matches, so the
1167 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
1168 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
1169 # surrounding any match must be of a different type than the adjacent
1170 # characters within the word, so letters must be next to non-letters and
1171 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
1172 # match the first three letters of the text &quot;jen123&quot; but will return no
1173 # matches for &quot;jennifer&quot;.
1174 #
1175 # Dictionary words containing a large number of characters that are not
1176 # letters or digits may result in unexpected findings because such characters
1177 # are treated as whitespace. The
1178 # [limits](https://cloud.google.com/dlp/limits) page contains details about
1179 # the size limits of dictionaries. For dictionaries that do not fit within
1180 # these constraints, consider using `LargeCustomDictionaryConfig` in the
1181 # `StoredInfoType` API.
1182 &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.
1183 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
1184 # at least one phrase and every phrase must contain at least 2 characters
1185 # that are letters or digits. [required]
1186 &quot;A String&quot;,
1187 ],
1188 },
1189 &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
1190 # is accepted.
1191 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
1192 # Example: gs://[BUCKET_NAME]/dictionary.txt
1193 },
1194 },
1195 &quot;storedType&quot;: { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
1196 # `InspectDataSource`. Not currently supported in `InspectContent`.
1197 &quot;name&quot;: &quot;A String&quot;, # Resource name of the requested `StoredInfoType`, for example
1198 # `organizations/433245324/storedInfoTypes/432452342` or
1199 # `projects/project-id/storedInfoTypes/432452342`.
1200 &quot;createTime&quot;: &quot;A String&quot;, # Timestamp indicating when the version of the `StoredInfoType` used for
1201 # inspection was created. Output-only field, populated by the system.
1202 },
1203 &quot;surrogateType&quot;: { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
1204 # support reversing.
1205 # such as
1206 # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
1207 # These types of transformations are
1208 # those that perform pseudonymization, thereby producing a &quot;surrogate&quot; as
1209 # output. This should be used in conjunction with a field on the
1210 # transformation such as `surrogate_info_type`. This CustomInfoType does
1211 # not support the use of `detection_rules`.
1212 },
1213 },
1214 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001215 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001216 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of an inspectTemplate.
1217 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of an inspectTemplate.
1218 &quot;name&quot;: &quot;A String&quot;, # Output only. The template name.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001219 #
1220 # The template will have one of the following formats:
1221 # `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR
Dan O'Mearadd494642020-05-01 07:42:23 -07001222 # `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID`;
Bu Sun Kim65020912020-05-20 12:08:20 -07001223 &quot;description&quot;: &quot;A String&quot;, # Short description (max 256 chars).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001224 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001225 &quot;jobConfig&quot;: { # Controls what and how to inspect for findings. # Inspect config.
1226 &quot;inspectConfig&quot;: { # Configuration description of the scanning process. # How and what to scan for.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001227 # When used with redactContent only info_types and min_likelihood are currently
1228 # used.
Bu Sun Kim65020912020-05-20 12:08:20 -07001229 &quot;includeQuote&quot;: True or False, # When true, a contextual quote from the data that triggered a finding is
1230 # included in the response; see Finding.quote.
1231 &quot;ruleSet&quot;: [ # Set of rules to apply to the findings for this InspectConfig.
1232 # Exclusion rules, contained in the set are executed in the end, other
1233 # rules are executed in the order they are specified for each info type.
1234 { # Rule set for modifying a set of infoTypes to alter behavior under certain
1235 # circumstances, depending on the specific details of the rules within the set.
1236 &quot;infoTypes&quot;: [ # List of infoTypes this rule set is applied to.
1237 { # Type of information detected by the API.
1238 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001239 # creating a CustomInfoType, or one of the names listed
1240 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
1241 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07001242 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001243 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001244 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001245 &quot;rules&quot;: [ # Set of rules to be applied to infoTypes. The rules are applied in order.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001246 { # A single inspection rule to be applied to infoTypes, specified in
1247 # `InspectionRuleSet`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001248 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001249 # proximity of hotwords.
Bu Sun Kim65020912020-05-20 12:08:20 -07001250 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001251 # part of a detection rule.
Bu Sun Kim65020912020-05-20 12:08:20 -07001252 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001253 # levels. For example, if a finding would be `POSSIBLE` without the
1254 # detection rule and `relative_likelihood` is 1, then it is upgraded to
1255 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
1256 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
1257 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
1258 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
1259 # a final likelihood of `LIKELY`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001260 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001261 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001262 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
1263 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001264 # specified, the entire match is returned. No more than 3 may be included.
1265 42,
1266 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001267 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
1268 # (https://github.com/google/re2/wiki/Syntax) can be found under the
1269 # google/re2 repository on GitHub.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001270 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001271 &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.
1272 # The total length of the window cannot exceed 1000 characters. Note that
1273 # the finding itself will be included in the window, so that hotwords may
1274 # be used to match substrings of the finding itself. For example, the
1275 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
1276 # adjusted upwards if the area code is known to be the local area code of
1277 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
1278 # is the area code in question.
1279 # rule.
1280 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
1281 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001282 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001283 },
1284 &quot;exclusionRule&quot;: { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
1285 # `InspectionRuleSet` are removed from results.
1286 &quot;dictionary&quot;: { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001287 # be used to match sensitive information specific to the data, such as a list
1288 # of employee IDs or job titles.
1289 #
1290 # Dictionary words are case-insensitive and all characters other than letters
1291 # and digits in the unicode [Basic Multilingual
1292 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
1293 # will be replaced with whitespace when scanning for matches, so the
Bu Sun Kim65020912020-05-20 12:08:20 -07001294 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
1295 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001296 # surrounding any match must be of a different type than the adjacent
1297 # characters within the word, so letters must be next to non-letters and
Bu Sun Kim65020912020-05-20 12:08:20 -07001298 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
1299 # match the first three letters of the text &quot;jen123&quot; but will return no
1300 # matches for &quot;jennifer&quot;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001301 #
1302 # Dictionary words containing a large number of characters that are not
1303 # letters or digits may result in unexpected findings because such characters
1304 # are treated as whitespace. The
1305 # [limits](https://cloud.google.com/dlp/limits) page contains details about
1306 # the size limits of dictionaries. For dictionaries that do not fit within
1307 # these constraints, consider using `LargeCustomDictionaryConfig` in the
1308 # `StoredInfoType` API.
Bu Sun Kim65020912020-05-20 12:08:20 -07001309 &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.
1310 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001311 # at least one phrase and every phrase must contain at least 2 characters
1312 # that are letters or digits. [required]
Bu Sun Kim65020912020-05-20 12:08:20 -07001313 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001314 ],
1315 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001316 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001317 # is accepted.
Bu Sun Kim65020912020-05-20 12:08:20 -07001318 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001319 # Example: gs://[BUCKET_NAME]/dictionary.txt
1320 },
1321 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001322 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression which defines the rule.
1323 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
1324 # specified, the entire match is returned. No more than 3 may be included.
1325 42,
1326 ],
1327 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
1328 # (https://github.com/google/re2/wiki/Syntax) can be found under the
1329 # google/re2 repository on GitHub.
1330 },
1331 &quot;excludeInfoTypes&quot;: { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
1332 &quot;infoTypes&quot;: [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
1333 # contained within with a finding of an infoType from this list. For
1334 # example, for `InspectionRuleSet.info_types` containing &quot;PHONE_NUMBER&quot;` and
1335 # `exclusion_rule` containing `exclude_info_types.info_types` with
1336 # &quot;EMAIL_ADDRESS&quot; the phone number findings are dropped if they overlap
1337 # with EMAIL_ADDRESS finding.
1338 # That leads to &quot;555-222-2222@example.org&quot; to generate only a single
1339 # finding, namely email address.
1340 { # Type of information detected by the API.
1341 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
1342 # creating a CustomInfoType, or one of the names listed
1343 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
1344 # a built-in type. InfoType names should conform to the pattern
1345 # `[a-zA-Z0-9_]{1,64}`.
1346 },
1347 ],
1348 },
1349 &quot;matchingType&quot;: &quot;A String&quot;, # How the rule is applied, see MatchingType documentation for details.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001350 },
1351 },
1352 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001353 },
1354 ],
1355 &quot;limits&quot;: { # Configuration to control the number of findings returned. # Configuration to control the number of findings returned.
1356 &quot;maxFindingsPerItem&quot;: 42, # Max number of findings that will be returned for each item scanned.
1357 # When set within `InspectJobConfig`,
1358 # the maximum returned is 2000 regardless if this is set higher.
1359 # When set within `InspectContentRequest`, this field is ignored.
1360 &quot;maxFindingsPerInfoType&quot;: [ # Configuration of findings limit given for specified infoTypes.
1361 { # Max findings configuration per infoType, per content item or long
1362 # running DlpJob.
1363 &quot;maxFindings&quot;: 42, # Max findings limit for the given infoType.
1364 &quot;infoType&quot;: { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
1365 # info_type should be provided. If InfoTypeLimit does not have an
1366 # info_type, the DLP API applies the limit against all info_types that
1367 # are found but not specified in another InfoTypeLimit.
1368 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001369 # creating a CustomInfoType, or one of the names listed
1370 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
1371 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07001372 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001373 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001374 },
1375 ],
1376 &quot;maxFindingsPerRequest&quot;: 42, # Max number of findings that will be returned per request/job.
1377 # When set within `InspectContentRequest`, the maximum returned is 2000
1378 # regardless if this is set higher.
1379 },
1380 &quot;contentOptions&quot;: [ # List of options defining data content to scan.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001381 # If empty, text, images, and other content will be included.
Bu Sun Kim65020912020-05-20 12:08:20 -07001382 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001383 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001384 &quot;infoTypes&quot;: [ # Restricts what info_types to look for. The values must correspond to
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001385 # InfoType values returned by ListInfoTypes or listed at
1386 # https://cloud.google.com/dlp/docs/infotypes-reference.
1387 #
1388 # When no InfoTypes or CustomInfoTypes are specified in a request, the
1389 # system may automatically choose what detectors to run. By default this may
1390 # be all types, but may change over time as detectors are updated.
1391 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001392 # If you need precise control and predictability as to what detectors are
1393 # run you should specify specific InfoTypes listed in the reference,
1394 # otherwise a default list will be used, which may change over time.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001395 { # Type of information detected by the API.
Bu Sun Kim65020912020-05-20 12:08:20 -07001396 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001397 # creating a CustomInfoType, or one of the names listed
1398 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
1399 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07001400 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001401 },
1402 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001403 &quot;minLikelihood&quot;: &quot;A String&quot;, # Only returns findings equal or above this threshold. The default is
1404 # POSSIBLE.
1405 # See https://cloud.google.com/dlp/docs/likelihood to learn more.
1406 &quot;excludeInfoTypes&quot;: True or False, # When true, excludes type information of the findings.
1407 &quot;customInfoTypes&quot;: [ # CustomInfoTypes provided by the user. See
1408 # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
1409 { # Custom information type provided by the user. Used to find domain-specific
1410 # sensitive information configurable to the data in question.
1411 &quot;likelihood&quot;: &quot;A String&quot;, # Likelihood to return for this CustomInfoType. This base value can be
1412 # altered by a detection rule if the finding meets the criteria specified by
1413 # the rule. Defaults to `VERY_LIKELY` if not specified.
1414 &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
1415 # infoType, when the name matches one of existing infoTypes and that infoType
1416 # is specified in `InspectContent.info_types` field. Specifying the latter
1417 # adds findings to the one detected by the system. If built-in info type is
1418 # not specified in `InspectContent.info_types` list then the name is treated
1419 # as a custom info type.
1420 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
1421 # creating a CustomInfoType, or one of the names listed
1422 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
1423 # a built-in type. InfoType names should conform to the pattern
1424 # `[a-zA-Z0-9_]{1,64}`.
1425 },
1426 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
1427 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
1428 # specified, the entire match is returned. No more than 3 may be included.
1429 42,
1430 ],
1431 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
1432 # (https://github.com/google/re2/wiki/Syntax) can be found under the
1433 # google/re2 repository on GitHub.
1434 },
1435 &quot;detectionRules&quot;: [ # Set of detection rules to apply to all findings of this CustomInfoType.
1436 # Rules are applied in order that they are specified. Not supported for the
1437 # `surrogate_type` CustomInfoType.
1438 { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
1439 # `CustomInfoType` to alter behavior under certain circumstances, depending
1440 # on the specific details of the rule. Not supported for the `surrogate_type`
1441 # custom infoType.
1442 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
1443 # proximity of hotwords.
1444 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
1445 # part of a detection rule.
1446 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
1447 # levels. For example, if a finding would be `POSSIBLE` without the
1448 # detection rule and `relative_likelihood` is 1, then it is upgraded to
1449 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
1450 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
1451 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
1452 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
1453 # a final likelihood of `LIKELY`.
1454 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
1455 },
1456 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
1457 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
1458 # specified, the entire match is returned. No more than 3 may be included.
1459 42,
1460 ],
1461 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
1462 # (https://github.com/google/re2/wiki/Syntax) can be found under the
1463 # google/re2 repository on GitHub.
1464 },
1465 &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.
1466 # The total length of the window cannot exceed 1000 characters. Note that
1467 # the finding itself will be included in the window, so that hotwords may
1468 # be used to match substrings of the finding itself. For example, the
1469 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
1470 # adjusted upwards if the area code is known to be the local area code of
1471 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
1472 # is the area code in question.
1473 # rule.
1474 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
1475 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
1476 },
1477 },
1478 },
1479 ],
1480 &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
1481 # to be returned. It still can be used for rules matching.
1482 &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.
1483 # be used to match sensitive information specific to the data, such as a list
1484 # of employee IDs or job titles.
1485 #
1486 # Dictionary words are case-insensitive and all characters other than letters
1487 # and digits in the unicode [Basic Multilingual
1488 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
1489 # will be replaced with whitespace when scanning for matches, so the
1490 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
1491 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
1492 # surrounding any match must be of a different type than the adjacent
1493 # characters within the word, so letters must be next to non-letters and
1494 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
1495 # match the first three letters of the text &quot;jen123&quot; but will return no
1496 # matches for &quot;jennifer&quot;.
1497 #
1498 # Dictionary words containing a large number of characters that are not
1499 # letters or digits may result in unexpected findings because such characters
1500 # are treated as whitespace. The
1501 # [limits](https://cloud.google.com/dlp/limits) page contains details about
1502 # the size limits of dictionaries. For dictionaries that do not fit within
1503 # these constraints, consider using `LargeCustomDictionaryConfig` in the
1504 # `StoredInfoType` API.
1505 &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.
1506 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
1507 # at least one phrase and every phrase must contain at least 2 characters
1508 # that are letters or digits. [required]
1509 &quot;A String&quot;,
1510 ],
1511 },
1512 &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
1513 # is accepted.
1514 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
1515 # Example: gs://[BUCKET_NAME]/dictionary.txt
1516 },
1517 },
1518 &quot;storedType&quot;: { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
1519 # `InspectDataSource`. Not currently supported in `InspectContent`.
1520 &quot;name&quot;: &quot;A String&quot;, # Resource name of the requested `StoredInfoType`, for example
1521 # `organizations/433245324/storedInfoTypes/432452342` or
1522 # `projects/project-id/storedInfoTypes/432452342`.
1523 &quot;createTime&quot;: &quot;A String&quot;, # Timestamp indicating when the version of the `StoredInfoType` used for
1524 # inspection was created. Output-only field, populated by the system.
1525 },
1526 &quot;surrogateType&quot;: { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
1527 # support reversing.
1528 # such as
1529 # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
1530 # These types of transformations are
1531 # those that perform pseudonymization, thereby producing a &quot;surrogate&quot; as
1532 # output. This should be used in conjunction with a field on the
1533 # transformation such as `surrogate_info_type`. This CustomInfoType does
1534 # not support the use of `detection_rules`.
1535 },
1536 },
1537 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001538 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001539 &quot;actions&quot;: [ # Actions to execute at the completion of the job.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001540 { # A task to execute on the completion of a job.
1541 # See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
Bu Sun Kim65020912020-05-20 12:08:20 -07001542 &quot;publishSummaryToCscc&quot;: { # Publish the result summary of a DlpJob to the Cloud Security # Publish summary to Cloud Security Command Center (Alpha).
1543 # Command Center (CSCC Alpha).
1544 # This action is only available for projects which are parts of
1545 # an organization and whitelisted for the alpha Cloud Security Command
1546 # Center.
1547 # The action will publish count of finding instances and their info types.
1548 # The summary of findings will be persisted in CSCC and are governed by CSCC
1549 # service-specific policy, see https://cloud.google.com/terms/service-terms
1550 # Only a single instance of this action can be specified.
1551 # Compatible with: Inspect
1552 },
1553 &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
1554 # completion/failure.
1555 # completion/failure.
1556 },
1557 &quot;saveFindings&quot;: { # If set, the detailed findings will be persisted to the specified # Save resulting findings in a provided location.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001558 # OutputStorageConfig. Only a single instance of this action can be
1559 # specified.
1560 # Compatible with: Inspect, Risk
Bu Sun Kim65020912020-05-20 12:08:20 -07001561 &quot;outputConfig&quot;: { # Cloud repository for storing output. # Location to store findings outside of DLP.
1562 &quot;outputSchema&quot;: &quot;A String&quot;, # Schema used for writing the findings for Inspect jobs. This field is only
1563 # used for Inspect and must be unspecified for Risk jobs. Columns are derived
1564 # from the `Finding` object. If appending to an existing table, any columns
1565 # from the predefined schema that are missing will be added. No columns in
1566 # the existing table will be deleted.
1567 #
1568 # If unspecified, then all available columns will be used for a new table or
1569 # an (existing) table with no schema, and no changes will be made to an
1570 # existing table that has a schema.
1571 # Only for use with external storage.
1572 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001573 # dataset. If table_id is not set a new one will be generated
1574 # for you with the following format:
1575 # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
1576 # generating the date details.
1577 #
1578 # For Inspect, each column in an existing output table must have the same
1579 # name, type, and mode of a field in the `Finding` object.
1580 #
1581 # For Risk, an existing output table should be the output of a previous
1582 # Risk analysis job run on the same source table, with the same privacy
1583 # metric and quasi-identifiers. Risk jobs that analyze the same table but
1584 # compute a different privacy metric, or use different sets of
1585 # quasi-identifiers, cannot store their results in the same table.
1586 # identified by its project_id, dataset_id, and table_name. Within a query
1587 # a table is often referenced with a string in the format of:
Dan O'Mearadd494642020-05-01 07:42:23 -07001588 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
1589 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001590 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001591 # If omitted, project ID is inferred from the API call.
Bu Sun Kim65020912020-05-20 12:08:20 -07001592 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
1593 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001594 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001595 },
1596 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001597 &quot;pubSub&quot;: { # Publish a message into given Pub/Sub topic when DlpJob has completed. The # Publish a notification to a pubsub topic.
1598 # message contains a single field, `DlpJobName`, which is equal to the
1599 # finished job&#x27;s
1600 # [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
1601 # Compatible with: Inspect, Risk
1602 &quot;topic&quot;: &quot;A String&quot;, # Cloud Pub/Sub topic to send notifications to. The topic must have given
1603 # publishing access rights to the DLP API service account executing
1604 # the long running DlpJob sending the notifications.
1605 # Format is projects/{project}/topics/{topic}.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001606 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001607 &quot;publishFindingsToCloudDataCatalog&quot;: { # Publish findings of a DlpJob to Cloud Data Catalog. Labels summarizing the # Publish findings to Cloud Datahub.
Dan O'Mearadd494642020-05-01 07:42:23 -07001608 # results of the DlpJob will be applied to the entry for the resource scanned
1609 # in Cloud Data Catalog. Any labels previously written by another DlpJob will
1610 # be deleted. InfoType naming patterns are strictly enforced when using this
1611 # feature. Note that the findings will be persisted in Cloud Data Catalog
1612 # storage and are governed by Data Catalog service-specific policy, see
1613 # https://cloud.google.com/terms/service-terms
1614 # Only a single instance of this action can be specified and only allowed if
1615 # all resources being scanned are BigQuery tables.
1616 # Compatible with: Inspect
1617 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001618 &quot;publishToStackdriver&quot;: { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This # Enable Stackdriver metric dlp.googleapis.com/finding_count.
1619 # will publish a metric to stack driver on each infotype requested and
1620 # how many findings were found for it. CustomDetectors will be bucketed
1621 # as &#x27;Custom&#x27; under the Stackdriver label &#x27;info_type&#x27;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001622 },
1623 },
1624 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001625 &quot;storageConfig&quot;: { # Shared message indicating Cloud storage type. # The data to scan.
1626 &quot;datastoreOptions&quot;: { # Options defining a data set within Google Cloud Datastore. # Google Cloud Datastore options.
1627 &quot;partitionId&quot;: { # Datastore partition ID. # A partition ID identifies a grouping of entities. The grouping is always
1628 # by project and namespace, however the namespace ID may be empty.
1629 # A partition ID identifies a grouping of entities. The grouping is always
1630 # by project and namespace, however the namespace ID may be empty.
1631 #
1632 # A partition ID contains several dimensions:
1633 # project ID and namespace ID.
1634 &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
1635 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
1636 },
1637 &quot;kind&quot;: { # A representation of a Datastore kind. # The kind to process.
1638 &quot;name&quot;: &quot;A String&quot;, # The name of the kind.
1639 },
1640 },
1641 &quot;timespanConfig&quot;: { # Configuration of the timespan of the items to include in scanning.
1642 # Currently only supported when inspecting Google Cloud Storage and BigQuery.
1643 &quot;timestampField&quot;: { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items.
1644 # Used for data sources like Datastore and BigQuery.
1645 #
1646 # For BigQuery:
1647 # Required to filter out rows based on the given start and
1648 # end times. If not specified and the table was modified between the given
1649 # start and end times, the entire table will be scanned.
1650 # The valid data types of the timestamp field are: `INTEGER`, `DATE`,
1651 # `TIMESTAMP`, or `DATETIME` BigQuery column.
1652 #
1653 # For Datastore.
1654 # Valid data types of the timestamp field are: `TIMESTAMP`.
1655 # Datastore entity will be scanned if the timestamp property does not
1656 # exist or its value is empty or invalid.
1657 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
1658 },
1659 &quot;enableAutoPopulationOfTimespanConfig&quot;: True or False, # When the job is started by a JobTrigger we will automatically figure out
1660 # a valid start_time to avoid scanning files that have not been modified
1661 # since the last time the JobTrigger executed. This will be based on the
1662 # time of the execution of the last run of the JobTrigger.
1663 &quot;endTime&quot;: &quot;A String&quot;, # Exclude files or rows newer than this value.
1664 # If set to zero, no upper time limit is applied.
1665 &quot;startTime&quot;: &quot;A String&quot;, # Exclude files or rows older than this value.
1666 },
1667 &quot;cloudStorageOptions&quot;: { # Options defining a file or a set of files within a Google Cloud Storage # Google Cloud Storage options.
1668 # bucket.
1669 &quot;filesLimitPercent&quot;: 42, # Limits the number of files to scan to this percentage of the input FileSet.
1670 # Number of files scanned is rounded down. Must be between 0 and 100,
1671 # inclusively. Both 0 and 100 means no limit. Defaults to 0.
1672 &quot;fileTypes&quot;: [ # List of file type groups to include in the scan.
1673 # If empty, all files are scanned and available data format processors
1674 # are applied. In addition, the binary content of the selected files
1675 # is always scanned as well.
1676 # Images are scanned only as binary if the specified region
1677 # does not support image inspection and no file_types were specified.
1678 # Image inspection is restricted to &#x27;global&#x27;, &#x27;us&#x27;, &#x27;asia&#x27;, and &#x27;europe&#x27;.
1679 &quot;A String&quot;,
1680 ],
1681 &quot;sampleMethod&quot;: &quot;A String&quot;,
1682 &quot;bytesLimitPerFilePercent&quot;: 42, # Max percentage of bytes to scan from a file. The rest are omitted. The
1683 # number of bytes scanned is rounded down. Must be between 0 and 100,
1684 # inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
1685 # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
1686 &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
1687 # than this value then the rest of the bytes are omitted. Only one
1688 # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
1689 &quot;fileSet&quot;: { # Set of files to scan. # The set of one or more files to scan.
1690 &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
1691 # `regex_file_set` must be set.
1692 # expressions are used to allow fine-grained control over which files in the
1693 # bucket to include.
1694 #
1695 # Included files are those that match at least one item in `include_regex` and
1696 # do not match any items in `exclude_regex`. Note that a file that matches
1697 # items from both lists will _not_ be included. For a match to occur, the
1698 # entire file path (i.e., everything in the url after the bucket name) must
1699 # match the regular expression.
1700 #
1701 # For example, given the input `{bucket_name: &quot;mybucket&quot;, include_regex:
1702 # [&quot;directory1/.*&quot;], exclude_regex:
1703 # [&quot;directory1/excluded.*&quot;]}`:
1704 #
1705 # * `gs://mybucket/directory1/myfile` will be included
1706 # * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
1707 # across `/`)
1708 # * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
1709 # full path doesn&#x27;t match any items in `include_regex`)
1710 # * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
1711 # matches an item in `exclude_regex`)
1712 #
1713 # If `include_regex` is left empty, it will match all files by default
1714 # (this is equivalent to setting `include_regex: [&quot;.*&quot;]`).
1715 #
1716 # Some other common use cases:
1717 #
1718 # * `{bucket_name: &quot;mybucket&quot;, exclude_regex: [&quot;.*\.pdf&quot;]}` will include all
1719 # files in `mybucket` except for .pdf files
1720 # * `{bucket_name: &quot;mybucket&quot;, include_regex: [&quot;directory/[^/]+&quot;]}` will
1721 # include all files directly under `gs://mybucket/directory/`, without matching
1722 # across `/`
1723 &quot;excludeRegex&quot;: [ # A list of regular expressions matching file paths to exclude. All files in
1724 # the bucket that match at least one of these regular expressions will be
1725 # excluded from the scan.
1726 #
1727 # Regular expressions use RE2
1728 # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
1729 # under the google/re2 repository on GitHub.
1730 &quot;A String&quot;,
1731 ],
1732 &quot;bucketName&quot;: &quot;A String&quot;, # The name of a Cloud Storage bucket. Required.
1733 &quot;includeRegex&quot;: [ # A list of regular expressions matching file paths to include. All files in
1734 # the bucket that match at least one of these regular expressions will be
1735 # included in the set of files, except for those that also match an item in
1736 # `exclude_regex`. Leaving this field empty will match all files by default
1737 # (this is equivalent to including `.*` in the list).
1738 #
1739 # Regular expressions use RE2
1740 # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
1741 # under the google/re2 repository on GitHub.
1742 &quot;A String&quot;,
1743 ],
1744 },
1745 &quot;url&quot;: &quot;A String&quot;, # The Cloud Storage url of the file(s) to scan, in the format
1746 # `gs://&lt;bucket&gt;/&lt;path&gt;`. Trailing wildcard in the path is allowed.
1747 #
1748 # If the url ends in a trailing slash, the bucket or directory represented
1749 # by the url will be scanned non-recursively (content in sub-directories
1750 # will not be scanned). This means that `gs://mybucket/` is equivalent to
1751 # `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
1752 # `gs://mybucket/directory/*`.
1753 #
1754 # Exactly one of `url` or `regex_file_set` must be set.
1755 },
1756 },
1757 &quot;bigQueryOptions&quot;: { # Options defining BigQuery table and row identifiers. # BigQuery options.
1758 &quot;sampleMethod&quot;: &quot;A String&quot;,
1759 &quot;tableReference&quot;: { # Message defining the location of a BigQuery table. A table is uniquely # Complete BigQuery table reference.
1760 # identified by its project_id, dataset_id, and table_name. Within a query
1761 # a table is often referenced with a string in the format of:
1762 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
1763 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
1764 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
1765 # If omitted, project ID is inferred from the API call.
1766 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
1767 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
1768 },
1769 &quot;identifyingFields&quot;: [ # Table fields that may uniquely identify a row within the table. When
1770 # `actions.saveFindings.outputConfig.table` is specified, the values of
1771 # columns specified here are available in the output table under
1772 # `location.content_locations.record_location.record_key.id_values`. Nested
1773 # fields such as `person.birthdate.year` are allowed.
1774 { # General identifier of a data field in a storage service.
1775 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
1776 },
1777 ],
1778 &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows
1779 # scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
1780 # 100 means no limit. Defaults to 0. Only one of rows_limit and
1781 # rows_limit_percent can be specified. Cannot be used in conjunction with
1782 # TimespanConfig.
1783 &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the
1784 # rest of the rows are omitted. If not set, or if set to 0, all rows will be
1785 # scanned. Only one of rows_limit and rows_limit_percent can be specified.
1786 # Cannot be used in conjunction with TimespanConfig.
1787 &quot;excludedFields&quot;: [ # References to fields excluded from scanning. This allows you to skip
1788 # inspection of entire columns which you know have no findings.
1789 { # General identifier of a data field in a storage service.
1790 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
1791 },
1792 ],
1793 },
1794 &quot;hybridOptions&quot;: { # Configuration to control jobs where the content being inspected is outside # Hybrid inspection options.
1795 # Early access feature is in a pre-release state and might change or have
1796 # limited support. For more information, see
1797 # https://cloud.google.com/products#product-launch-stages.
1798 # of Google Cloud Platform.
1799 &quot;labels&quot;: { # To organize findings, these labels will be added to each finding.
1800 #
1801 # Label keys must be between 1 and 63 characters long and must conform
1802 # to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
1803 #
1804 # Label values must be between 0 and 63 characters long and must conform
1805 # to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
1806 #
1807 # No more than 10 labels can be associated with a given finding.
1808 #
1809 # Examples:
1810 # * `&quot;environment&quot; : &quot;production&quot;`
1811 # * `&quot;pipeline&quot; : &quot;etl&quot;`
1812 &quot;a_key&quot;: &quot;A String&quot;,
1813 },
1814 &quot;description&quot;: &quot;A String&quot;, # A short description of where the data is coming from. Will be stored once
1815 # in the job. 256 max length.
1816 &quot;tableOptions&quot;: { # Instructions regarding the table content being inspected. # If the container is a table, additional information to make findings
1817 # meaningful such as the columns that are primary keys.
1818 &quot;identifyingFields&quot;: [ # The columns that are the primary keys for table objects included in
1819 # ContentItem. A copy of this cell&#x27;s value will stored alongside alongside
1820 # each finding so that the finding can be traced to the specific row it came
1821 # from. No more than 3 may be provided.
1822 { # General identifier of a data field in a storage service.
1823 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
1824 },
1825 ],
1826 },
1827 &quot;requiredFindingLabelKeys&quot;: [ # These are labels that each inspection request must include within their
1828 # &#x27;finding_labels&#x27; map. Request may contain others, but any missing one of
1829 # these will be rejected.
1830 #
1831 # Label keys must be between 1 and 63 characters long and must conform
1832 # to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
1833 #
1834 # No more than 10 keys can be required.
1835 &quot;A String&quot;,
1836 ],
1837 },
1838 },
1839 &quot;inspectTemplateName&quot;: &quot;A String&quot;, # If provided, will be used as the default for all values in InspectConfig.
1840 # `inspect_config` will be merged into the values persisted as part of the
1841 # template.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001842 },
1843 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001844 &quot;result&quot;: { # All result fields mentioned below are updated while the job is processing. # A summary of the outcome of this inspect job.
1845 &quot;hybridStats&quot;: { # Statistics related to processing hybrid inspect requests. # Statistics related to the processing of hybrid inspect.
1846 # Early access feature is in a pre-release state and might change or have
1847 # limited support. For more information, see
1848 # https://cloud.google.com/products#product-launch-stages.
1849 &quot;abortedCount&quot;: &quot;A String&quot;, # The number of hybrid inspection requests aborted because the job ran
1850 # out of quota or was ended before they could be processed.
1851 &quot;pendingCount&quot;: &quot;A String&quot;, # The number of hybrid requests currently being processed. Only populated
1852 # when called via method `getDlpJob`.
1853 # A burst of traffic may cause hybrid inspect requests to be enqueued.
1854 # Processing will take place as quickly as possible, but resource limitations
1855 # may impact how long a request is enqueued for.
1856 &quot;processedCount&quot;: &quot;A String&quot;, # The number of hybrid inspection requests processed within this job.
1857 },
1858 &quot;infoTypeStats&quot;: [ # Statistics of how many instances of each info type were found during
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001859 # inspect job.
1860 { # Statistics regarding a specific InfoType.
Bu Sun Kim65020912020-05-20 12:08:20 -07001861 &quot;count&quot;: &quot;A String&quot;, # Number of findings for this infoType.
1862 &quot;infoType&quot;: { # Type of information detected by the API. # The type of finding this stat is for.
1863 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001864 # creating a CustomInfoType, or one of the names listed
1865 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
1866 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07001867 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001868 },
1869 },
1870 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001871 &quot;totalEstimatedBytes&quot;: &quot;A String&quot;, # Estimate of the number of bytes to process.
1872 &quot;processedBytes&quot;: &quot;A String&quot;, # Total size in bytes that were processed.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001873 },
1874 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001875 }</pre>
1876</div>
1877
1878<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -07001879 <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001880 <pre>Creates a job trigger to run DLP actions such as scanning storage for
1881sensitive information on a set schedule.
1882See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
1883
1884Args:
Dan O'Mearadd494642020-05-01 07:42:23 -07001885 parent: string, Required. The parent resource name, for example projects/my-project-id. (required)
1886 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001887 The object takes the form of:
1888
1889{ # Request message for CreateJobTrigger.
Bu Sun Kim65020912020-05-20 12:08:20 -07001890 &quot;jobTrigger&quot;: { # Contains a configuration to make dlp api calls on a repeating basis. # Required. The JobTrigger to create.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001891 # See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
Bu Sun Kim65020912020-05-20 12:08:20 -07001892 &quot;triggers&quot;: [ # A list of triggers which will be OR&#x27;ed together. Only one in the list
Dan O'Mearadd494642020-05-01 07:42:23 -07001893 # needs to trigger for a job to be started. The list may contain only
1894 # a single Schedule trigger and must have at least one object.
1895 { # What event needs to occur for a new job to be started.
Bu Sun Kim65020912020-05-20 12:08:20 -07001896 &quot;schedule&quot;: { # Schedule for triggeredJobs. # Create a job on a repeating basis based on the elapse of time.
1897 &quot;recurrencePeriodDuration&quot;: &quot;A String&quot;, # With this option a job is started a regular periodic basis. For
Dan O'Mearadd494642020-05-01 07:42:23 -07001898 # example: every day (86400 seconds).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001899 #
Dan O'Mearadd494642020-05-01 07:42:23 -07001900 # A scheduled start time will be skipped if the previous
1901 # execution has not ended when its scheduled time occurs.
1902 #
1903 # This value must be set to a time duration greater than or equal
1904 # to 1 day and can be no longer than 60 days.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001905 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001906 &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.
Dan O'Mearadd494642020-05-01 07:42:23 -07001907 # Early access feature is in a pre-release state and might change or have
1908 # limited support. For more information, see
1909 # https://cloud.google.com/products#product-launch-stages.
Bu Sun Kim65020912020-05-20 12:08:20 -07001910 # and finished.
Dan O'Mearadd494642020-05-01 07:42:23 -07001911 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001912 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001913 ],
1914 &quot;displayName&quot;: &quot;A String&quot;, # Display name (max 100 chars)
1915 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of a triggeredJob.
1916 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of a triggeredJob.
1917 &quot;inspectJob&quot;: { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration.
1918 &quot;inspectConfig&quot;: { # Configuration description of the scanning process. # How and what to scan for.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001919 # When used with redactContent only info_types and min_likelihood are currently
1920 # used.
Bu Sun Kim65020912020-05-20 12:08:20 -07001921 &quot;includeQuote&quot;: True or False, # When true, a contextual quote from the data that triggered a finding is
1922 # included in the response; see Finding.quote.
1923 &quot;ruleSet&quot;: [ # Set of rules to apply to the findings for this InspectConfig.
1924 # Exclusion rules, contained in the set are executed in the end, other
1925 # rules are executed in the order they are specified for each info type.
1926 { # Rule set for modifying a set of infoTypes to alter behavior under certain
1927 # circumstances, depending on the specific details of the rules within the set.
1928 &quot;infoTypes&quot;: [ # List of infoTypes this rule set is applied to.
1929 { # Type of information detected by the API.
1930 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001931 # creating a CustomInfoType, or one of the names listed
1932 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
1933 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07001934 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001935 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001936 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001937 &quot;rules&quot;: [ # Set of rules to be applied to infoTypes. The rules are applied in order.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001938 { # A single inspection rule to be applied to infoTypes, specified in
1939 # `InspectionRuleSet`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001940 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001941 # proximity of hotwords.
Bu Sun Kim65020912020-05-20 12:08:20 -07001942 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001943 # part of a detection rule.
Bu Sun Kim65020912020-05-20 12:08:20 -07001944 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001945 # levels. For example, if a finding would be `POSSIBLE` without the
1946 # detection rule and `relative_likelihood` is 1, then it is upgraded to
1947 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
1948 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
1949 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
1950 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
1951 # a final likelihood of `LIKELY`.
Bu Sun Kim65020912020-05-20 12:08:20 -07001952 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001953 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001954 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
1955 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001956 # specified, the entire match is returned. No more than 3 may be included.
1957 42,
1958 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07001959 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
1960 # (https://github.com/google/re2/wiki/Syntax) can be found under the
1961 # google/re2 repository on GitHub.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001962 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001963 &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.
1964 # The total length of the window cannot exceed 1000 characters. Note that
1965 # the finding itself will be included in the window, so that hotwords may
1966 # be used to match substrings of the finding itself. For example, the
1967 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
1968 # adjusted upwards if the area code is known to be the local area code of
1969 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
1970 # is the area code in question.
1971 # rule.
1972 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
1973 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001974 },
Bu Sun Kim65020912020-05-20 12:08:20 -07001975 },
1976 &quot;exclusionRule&quot;: { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
1977 # `InspectionRuleSet` are removed from results.
1978 &quot;dictionary&quot;: { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001979 # be used to match sensitive information specific to the data, such as a list
1980 # of employee IDs or job titles.
1981 #
1982 # Dictionary words are case-insensitive and all characters other than letters
1983 # and digits in the unicode [Basic Multilingual
1984 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
1985 # will be replaced with whitespace when scanning for matches, so the
Bu Sun Kim65020912020-05-20 12:08:20 -07001986 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
1987 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001988 # surrounding any match must be of a different type than the adjacent
1989 # characters within the word, so letters must be next to non-letters and
Bu Sun Kim65020912020-05-20 12:08:20 -07001990 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
1991 # match the first three letters of the text &quot;jen123&quot; but will return no
1992 # matches for &quot;jennifer&quot;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07001993 #
1994 # Dictionary words containing a large number of characters that are not
1995 # letters or digits may result in unexpected findings because such characters
1996 # are treated as whitespace. The
1997 # [limits](https://cloud.google.com/dlp/limits) page contains details about
1998 # the size limits of dictionaries. For dictionaries that do not fit within
1999 # these constraints, consider using `LargeCustomDictionaryConfig` in the
2000 # `StoredInfoType` API.
Bu Sun Kim65020912020-05-20 12:08:20 -07002001 &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.
2002 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002003 # at least one phrase and every phrase must contain at least 2 characters
2004 # that are letters or digits. [required]
Bu Sun Kim65020912020-05-20 12:08:20 -07002005 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002006 ],
2007 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002008 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002009 # is accepted.
Bu Sun Kim65020912020-05-20 12:08:20 -07002010 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002011 # Example: gs://[BUCKET_NAME]/dictionary.txt
2012 },
2013 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002014 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression which defines the rule.
2015 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
2016 # specified, the entire match is returned. No more than 3 may be included.
2017 42,
2018 ],
2019 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
2020 # (https://github.com/google/re2/wiki/Syntax) can be found under the
2021 # google/re2 repository on GitHub.
2022 },
2023 &quot;excludeInfoTypes&quot;: { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
2024 &quot;infoTypes&quot;: [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
2025 # contained within with a finding of an infoType from this list. For
2026 # example, for `InspectionRuleSet.info_types` containing &quot;PHONE_NUMBER&quot;` and
2027 # `exclusion_rule` containing `exclude_info_types.info_types` with
2028 # &quot;EMAIL_ADDRESS&quot; the phone number findings are dropped if they overlap
2029 # with EMAIL_ADDRESS finding.
2030 # That leads to &quot;555-222-2222@example.org&quot; to generate only a single
2031 # finding, namely email address.
2032 { # Type of information detected by the API.
2033 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
2034 # creating a CustomInfoType, or one of the names listed
2035 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2036 # a built-in type. InfoType names should conform to the pattern
2037 # `[a-zA-Z0-9_]{1,64}`.
2038 },
2039 ],
2040 },
2041 &quot;matchingType&quot;: &quot;A String&quot;, # How the rule is applied, see MatchingType documentation for details.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002042 },
2043 },
2044 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002045 },
2046 ],
2047 &quot;limits&quot;: { # Configuration to control the number of findings returned. # Configuration to control the number of findings returned.
2048 &quot;maxFindingsPerItem&quot;: 42, # Max number of findings that will be returned for each item scanned.
2049 # When set within `InspectJobConfig`,
2050 # the maximum returned is 2000 regardless if this is set higher.
2051 # When set within `InspectContentRequest`, this field is ignored.
2052 &quot;maxFindingsPerInfoType&quot;: [ # Configuration of findings limit given for specified infoTypes.
2053 { # Max findings configuration per infoType, per content item or long
2054 # running DlpJob.
2055 &quot;maxFindings&quot;: 42, # Max findings limit for the given infoType.
2056 &quot;infoType&quot;: { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
2057 # info_type should be provided. If InfoTypeLimit does not have an
2058 # info_type, the DLP API applies the limit against all info_types that
2059 # are found but not specified in another InfoTypeLimit.
2060 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002061 # creating a CustomInfoType, or one of the names listed
2062 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2063 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07002064 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002065 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002066 },
2067 ],
2068 &quot;maxFindingsPerRequest&quot;: 42, # Max number of findings that will be returned per request/job.
2069 # When set within `InspectContentRequest`, the maximum returned is 2000
2070 # regardless if this is set higher.
2071 },
2072 &quot;contentOptions&quot;: [ # List of options defining data content to scan.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002073 # If empty, text, images, and other content will be included.
Bu Sun Kim65020912020-05-20 12:08:20 -07002074 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002075 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002076 &quot;infoTypes&quot;: [ # Restricts what info_types to look for. The values must correspond to
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002077 # InfoType values returned by ListInfoTypes or listed at
2078 # https://cloud.google.com/dlp/docs/infotypes-reference.
2079 #
2080 # When no InfoTypes or CustomInfoTypes are specified in a request, the
2081 # system may automatically choose what detectors to run. By default this may
2082 # be all types, but may change over time as detectors are updated.
2083 #
Dan O'Mearadd494642020-05-01 07:42:23 -07002084 # If you need precise control and predictability as to what detectors are
2085 # run you should specify specific InfoTypes listed in the reference,
2086 # otherwise a default list will be used, which may change over time.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002087 { # Type of information detected by the API.
Bu Sun Kim65020912020-05-20 12:08:20 -07002088 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002089 # creating a CustomInfoType, or one of the names listed
2090 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2091 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07002092 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002093 },
2094 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002095 &quot;minLikelihood&quot;: &quot;A String&quot;, # Only returns findings equal or above this threshold. The default is
2096 # POSSIBLE.
2097 # See https://cloud.google.com/dlp/docs/likelihood to learn more.
2098 &quot;excludeInfoTypes&quot;: True or False, # When true, excludes type information of the findings.
2099 &quot;customInfoTypes&quot;: [ # CustomInfoTypes provided by the user. See
2100 # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
2101 { # Custom information type provided by the user. Used to find domain-specific
2102 # sensitive information configurable to the data in question.
2103 &quot;likelihood&quot;: &quot;A String&quot;, # Likelihood to return for this CustomInfoType. This base value can be
2104 # altered by a detection rule if the finding meets the criteria specified by
2105 # the rule. Defaults to `VERY_LIKELY` if not specified.
2106 &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
2107 # infoType, when the name matches one of existing infoTypes and that infoType
2108 # is specified in `InspectContent.info_types` field. Specifying the latter
2109 # adds findings to the one detected by the system. If built-in info type is
2110 # not specified in `InspectContent.info_types` list then the name is treated
2111 # as a custom info type.
2112 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
2113 # creating a CustomInfoType, or one of the names listed
2114 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2115 # a built-in type. InfoType names should conform to the pattern
2116 # `[a-zA-Z0-9_]{1,64}`.
2117 },
2118 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
2119 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
2120 # specified, the entire match is returned. No more than 3 may be included.
2121 42,
2122 ],
2123 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
2124 # (https://github.com/google/re2/wiki/Syntax) can be found under the
2125 # google/re2 repository on GitHub.
2126 },
2127 &quot;detectionRules&quot;: [ # Set of detection rules to apply to all findings of this CustomInfoType.
2128 # Rules are applied in order that they are specified. Not supported for the
2129 # `surrogate_type` CustomInfoType.
2130 { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
2131 # `CustomInfoType` to alter behavior under certain circumstances, depending
2132 # on the specific details of the rule. Not supported for the `surrogate_type`
2133 # custom infoType.
2134 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
2135 # proximity of hotwords.
2136 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
2137 # part of a detection rule.
2138 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
2139 # levels. For example, if a finding would be `POSSIBLE` without the
2140 # detection rule and `relative_likelihood` is 1, then it is upgraded to
2141 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
2142 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
2143 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
2144 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
2145 # a final likelihood of `LIKELY`.
2146 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
2147 },
2148 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
2149 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
2150 # specified, the entire match is returned. No more than 3 may be included.
2151 42,
2152 ],
2153 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
2154 # (https://github.com/google/re2/wiki/Syntax) can be found under the
2155 # google/re2 repository on GitHub.
2156 },
2157 &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.
2158 # The total length of the window cannot exceed 1000 characters. Note that
2159 # the finding itself will be included in the window, so that hotwords may
2160 # be used to match substrings of the finding itself. For example, the
2161 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
2162 # adjusted upwards if the area code is known to be the local area code of
2163 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
2164 # is the area code in question.
2165 # rule.
2166 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
2167 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
2168 },
2169 },
2170 },
2171 ],
2172 &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
2173 # to be returned. It still can be used for rules matching.
2174 &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.
2175 # be used to match sensitive information specific to the data, such as a list
2176 # of employee IDs or job titles.
2177 #
2178 # Dictionary words are case-insensitive and all characters other than letters
2179 # and digits in the unicode [Basic Multilingual
2180 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
2181 # will be replaced with whitespace when scanning for matches, so the
2182 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
2183 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
2184 # surrounding any match must be of a different type than the adjacent
2185 # characters within the word, so letters must be next to non-letters and
2186 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
2187 # match the first three letters of the text &quot;jen123&quot; but will return no
2188 # matches for &quot;jennifer&quot;.
2189 #
2190 # Dictionary words containing a large number of characters that are not
2191 # letters or digits may result in unexpected findings because such characters
2192 # are treated as whitespace. The
2193 # [limits](https://cloud.google.com/dlp/limits) page contains details about
2194 # the size limits of dictionaries. For dictionaries that do not fit within
2195 # these constraints, consider using `LargeCustomDictionaryConfig` in the
2196 # `StoredInfoType` API.
2197 &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.
2198 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
2199 # at least one phrase and every phrase must contain at least 2 characters
2200 # that are letters or digits. [required]
2201 &quot;A String&quot;,
2202 ],
2203 },
2204 &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
2205 # is accepted.
2206 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
2207 # Example: gs://[BUCKET_NAME]/dictionary.txt
2208 },
2209 },
2210 &quot;storedType&quot;: { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
2211 # `InspectDataSource`. Not currently supported in `InspectContent`.
2212 &quot;name&quot;: &quot;A String&quot;, # Resource name of the requested `StoredInfoType`, for example
2213 # `organizations/433245324/storedInfoTypes/432452342` or
2214 # `projects/project-id/storedInfoTypes/432452342`.
2215 &quot;createTime&quot;: &quot;A String&quot;, # Timestamp indicating when the version of the `StoredInfoType` used for
2216 # inspection was created. Output-only field, populated by the system.
2217 },
2218 &quot;surrogateType&quot;: { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
2219 # support reversing.
2220 # such as
2221 # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
2222 # These types of transformations are
2223 # those that perform pseudonymization, thereby producing a &quot;surrogate&quot; as
2224 # output. This should be used in conjunction with a field on the
2225 # transformation such as `surrogate_info_type`. This CustomInfoType does
2226 # not support the use of `detection_rules`.
2227 },
2228 },
2229 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002230 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002231 &quot;actions&quot;: [ # Actions to execute at the completion of the job.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002232 { # A task to execute on the completion of a job.
2233 # See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
Bu Sun Kim65020912020-05-20 12:08:20 -07002234 &quot;publishSummaryToCscc&quot;: { # Publish the result summary of a DlpJob to the Cloud Security # Publish summary to Cloud Security Command Center (Alpha).
2235 # Command Center (CSCC Alpha).
2236 # This action is only available for projects which are parts of
2237 # an organization and whitelisted for the alpha Cloud Security Command
2238 # Center.
2239 # The action will publish count of finding instances and their info types.
2240 # The summary of findings will be persisted in CSCC and are governed by CSCC
2241 # service-specific policy, see https://cloud.google.com/terms/service-terms
2242 # Only a single instance of this action can be specified.
2243 # Compatible with: Inspect
2244 },
2245 &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
2246 # completion/failure.
2247 # completion/failure.
2248 },
2249 &quot;saveFindings&quot;: { # If set, the detailed findings will be persisted to the specified # Save resulting findings in a provided location.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002250 # OutputStorageConfig. Only a single instance of this action can be
2251 # specified.
2252 # Compatible with: Inspect, Risk
Bu Sun Kim65020912020-05-20 12:08:20 -07002253 &quot;outputConfig&quot;: { # Cloud repository for storing output. # Location to store findings outside of DLP.
2254 &quot;outputSchema&quot;: &quot;A String&quot;, # Schema used for writing the findings for Inspect jobs. This field is only
2255 # used for Inspect and must be unspecified for Risk jobs. Columns are derived
2256 # from the `Finding` object. If appending to an existing table, any columns
2257 # from the predefined schema that are missing will be added. No columns in
2258 # the existing table will be deleted.
2259 #
2260 # If unspecified, then all available columns will be used for a new table or
2261 # an (existing) table with no schema, and no changes will be made to an
2262 # existing table that has a schema.
2263 # Only for use with external storage.
2264 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002265 # dataset. If table_id is not set a new one will be generated
2266 # for you with the following format:
2267 # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
2268 # generating the date details.
2269 #
2270 # For Inspect, each column in an existing output table must have the same
2271 # name, type, and mode of a field in the `Finding` object.
2272 #
2273 # For Risk, an existing output table should be the output of a previous
2274 # Risk analysis job run on the same source table, with the same privacy
2275 # metric and quasi-identifiers. Risk jobs that analyze the same table but
2276 # compute a different privacy metric, or use different sets of
2277 # quasi-identifiers, cannot store their results in the same table.
2278 # identified by its project_id, dataset_id, and table_name. Within a query
2279 # a table is often referenced with a string in the format of:
Dan O'Mearadd494642020-05-01 07:42:23 -07002280 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
2281 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
Bu Sun Kim65020912020-05-20 12:08:20 -07002282 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002283 # If omitted, project ID is inferred from the API call.
Bu Sun Kim65020912020-05-20 12:08:20 -07002284 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
2285 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002286 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002287 },
2288 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002289 &quot;pubSub&quot;: { # Publish a message into given Pub/Sub topic when DlpJob has completed. The # Publish a notification to a pubsub topic.
2290 # message contains a single field, `DlpJobName`, which is equal to the
2291 # finished job&#x27;s
2292 # [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
2293 # Compatible with: Inspect, Risk
2294 &quot;topic&quot;: &quot;A String&quot;, # Cloud Pub/Sub topic to send notifications to. The topic must have given
2295 # publishing access rights to the DLP API service account executing
2296 # the long running DlpJob sending the notifications.
2297 # Format is projects/{project}/topics/{topic}.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002298 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002299 &quot;publishFindingsToCloudDataCatalog&quot;: { # Publish findings of a DlpJob to Cloud Data Catalog. Labels summarizing the # Publish findings to Cloud Datahub.
Dan O'Mearadd494642020-05-01 07:42:23 -07002300 # results of the DlpJob will be applied to the entry for the resource scanned
2301 # in Cloud Data Catalog. Any labels previously written by another DlpJob will
2302 # be deleted. InfoType naming patterns are strictly enforced when using this
2303 # feature. Note that the findings will be persisted in Cloud Data Catalog
2304 # storage and are governed by Data Catalog service-specific policy, see
2305 # https://cloud.google.com/terms/service-terms
2306 # Only a single instance of this action can be specified and only allowed if
2307 # all resources being scanned are BigQuery tables.
2308 # Compatible with: Inspect
2309 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002310 &quot;publishToStackdriver&quot;: { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This # Enable Stackdriver metric dlp.googleapis.com/finding_count.
2311 # will publish a metric to stack driver on each infotype requested and
2312 # how many findings were found for it. CustomDetectors will be bucketed
2313 # as &#x27;Custom&#x27; under the Stackdriver label &#x27;info_type&#x27;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002314 },
2315 },
2316 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002317 &quot;storageConfig&quot;: { # Shared message indicating Cloud storage type. # The data to scan.
2318 &quot;datastoreOptions&quot;: { # Options defining a data set within Google Cloud Datastore. # Google Cloud Datastore options.
2319 &quot;partitionId&quot;: { # Datastore partition ID. # A partition ID identifies a grouping of entities. The grouping is always
2320 # by project and namespace, however the namespace ID may be empty.
2321 # A partition ID identifies a grouping of entities. The grouping is always
2322 # by project and namespace, however the namespace ID may be empty.
2323 #
2324 # A partition ID contains several dimensions:
2325 # project ID and namespace ID.
2326 &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
2327 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
2328 },
2329 &quot;kind&quot;: { # A representation of a Datastore kind. # The kind to process.
2330 &quot;name&quot;: &quot;A String&quot;, # The name of the kind.
2331 },
2332 },
2333 &quot;timespanConfig&quot;: { # Configuration of the timespan of the items to include in scanning.
2334 # Currently only supported when inspecting Google Cloud Storage and BigQuery.
2335 &quot;timestampField&quot;: { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items.
2336 # Used for data sources like Datastore and BigQuery.
2337 #
2338 # For BigQuery:
2339 # Required to filter out rows based on the given start and
2340 # end times. If not specified and the table was modified between the given
2341 # start and end times, the entire table will be scanned.
2342 # The valid data types of the timestamp field are: `INTEGER`, `DATE`,
2343 # `TIMESTAMP`, or `DATETIME` BigQuery column.
2344 #
2345 # For Datastore.
2346 # Valid data types of the timestamp field are: `TIMESTAMP`.
2347 # Datastore entity will be scanned if the timestamp property does not
2348 # exist or its value is empty or invalid.
2349 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
2350 },
2351 &quot;enableAutoPopulationOfTimespanConfig&quot;: True or False, # When the job is started by a JobTrigger we will automatically figure out
2352 # a valid start_time to avoid scanning files that have not been modified
2353 # since the last time the JobTrigger executed. This will be based on the
2354 # time of the execution of the last run of the JobTrigger.
2355 &quot;endTime&quot;: &quot;A String&quot;, # Exclude files or rows newer than this value.
2356 # If set to zero, no upper time limit is applied.
2357 &quot;startTime&quot;: &quot;A String&quot;, # Exclude files or rows older than this value.
2358 },
2359 &quot;cloudStorageOptions&quot;: { # Options defining a file or a set of files within a Google Cloud Storage # Google Cloud Storage options.
2360 # bucket.
2361 &quot;filesLimitPercent&quot;: 42, # Limits the number of files to scan to this percentage of the input FileSet.
2362 # Number of files scanned is rounded down. Must be between 0 and 100,
2363 # inclusively. Both 0 and 100 means no limit. Defaults to 0.
2364 &quot;fileTypes&quot;: [ # List of file type groups to include in the scan.
2365 # If empty, all files are scanned and available data format processors
2366 # are applied. In addition, the binary content of the selected files
2367 # is always scanned as well.
2368 # Images are scanned only as binary if the specified region
2369 # does not support image inspection and no file_types were specified.
2370 # Image inspection is restricted to &#x27;global&#x27;, &#x27;us&#x27;, &#x27;asia&#x27;, and &#x27;europe&#x27;.
2371 &quot;A String&quot;,
2372 ],
2373 &quot;sampleMethod&quot;: &quot;A String&quot;,
2374 &quot;bytesLimitPerFilePercent&quot;: 42, # Max percentage of bytes to scan from a file. The rest are omitted. The
2375 # number of bytes scanned is rounded down. Must be between 0 and 100,
2376 # inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
2377 # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
2378 &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
2379 # than this value then the rest of the bytes are omitted. Only one
2380 # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
2381 &quot;fileSet&quot;: { # Set of files to scan. # The set of one or more files to scan.
2382 &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
2383 # `regex_file_set` must be set.
2384 # expressions are used to allow fine-grained control over which files in the
2385 # bucket to include.
2386 #
2387 # Included files are those that match at least one item in `include_regex` and
2388 # do not match any items in `exclude_regex`. Note that a file that matches
2389 # items from both lists will _not_ be included. For a match to occur, the
2390 # entire file path (i.e., everything in the url after the bucket name) must
2391 # match the regular expression.
2392 #
2393 # For example, given the input `{bucket_name: &quot;mybucket&quot;, include_regex:
2394 # [&quot;directory1/.*&quot;], exclude_regex:
2395 # [&quot;directory1/excluded.*&quot;]}`:
2396 #
2397 # * `gs://mybucket/directory1/myfile` will be included
2398 # * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
2399 # across `/`)
2400 # * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
2401 # full path doesn&#x27;t match any items in `include_regex`)
2402 # * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
2403 # matches an item in `exclude_regex`)
2404 #
2405 # If `include_regex` is left empty, it will match all files by default
2406 # (this is equivalent to setting `include_regex: [&quot;.*&quot;]`).
2407 #
2408 # Some other common use cases:
2409 #
2410 # * `{bucket_name: &quot;mybucket&quot;, exclude_regex: [&quot;.*\.pdf&quot;]}` will include all
2411 # files in `mybucket` except for .pdf files
2412 # * `{bucket_name: &quot;mybucket&quot;, include_regex: [&quot;directory/[^/]+&quot;]}` will
2413 # include all files directly under `gs://mybucket/directory/`, without matching
2414 # across `/`
2415 &quot;excludeRegex&quot;: [ # A list of regular expressions matching file paths to exclude. All files in
2416 # the bucket that match at least one of these regular expressions will be
2417 # excluded from the scan.
2418 #
2419 # Regular expressions use RE2
2420 # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
2421 # under the google/re2 repository on GitHub.
2422 &quot;A String&quot;,
2423 ],
2424 &quot;bucketName&quot;: &quot;A String&quot;, # The name of a Cloud Storage bucket. Required.
2425 &quot;includeRegex&quot;: [ # A list of regular expressions matching file paths to include. All files in
2426 # the bucket that match at least one of these regular expressions will be
2427 # included in the set of files, except for those that also match an item in
2428 # `exclude_regex`. Leaving this field empty will match all files by default
2429 # (this is equivalent to including `.*` in the list).
2430 #
2431 # Regular expressions use RE2
2432 # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
2433 # under the google/re2 repository on GitHub.
2434 &quot;A String&quot;,
2435 ],
2436 },
2437 &quot;url&quot;: &quot;A String&quot;, # The Cloud Storage url of the file(s) to scan, in the format
2438 # `gs://&lt;bucket&gt;/&lt;path&gt;`. Trailing wildcard in the path is allowed.
2439 #
2440 # If the url ends in a trailing slash, the bucket or directory represented
2441 # by the url will be scanned non-recursively (content in sub-directories
2442 # will not be scanned). This means that `gs://mybucket/` is equivalent to
2443 # `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
2444 # `gs://mybucket/directory/*`.
2445 #
2446 # Exactly one of `url` or `regex_file_set` must be set.
2447 },
2448 },
2449 &quot;bigQueryOptions&quot;: { # Options defining BigQuery table and row identifiers. # BigQuery options.
2450 &quot;sampleMethod&quot;: &quot;A String&quot;,
2451 &quot;tableReference&quot;: { # Message defining the location of a BigQuery table. A table is uniquely # Complete BigQuery table reference.
2452 # identified by its project_id, dataset_id, and table_name. Within a query
2453 # a table is often referenced with a string in the format of:
2454 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
2455 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
2456 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
2457 # If omitted, project ID is inferred from the API call.
2458 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
2459 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
2460 },
2461 &quot;identifyingFields&quot;: [ # Table fields that may uniquely identify a row within the table. When
2462 # `actions.saveFindings.outputConfig.table` is specified, the values of
2463 # columns specified here are available in the output table under
2464 # `location.content_locations.record_location.record_key.id_values`. Nested
2465 # fields such as `person.birthdate.year` are allowed.
2466 { # General identifier of a data field in a storage service.
2467 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
2468 },
2469 ],
2470 &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows
2471 # scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
2472 # 100 means no limit. Defaults to 0. Only one of rows_limit and
2473 # rows_limit_percent can be specified. Cannot be used in conjunction with
2474 # TimespanConfig.
2475 &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the
2476 # rest of the rows are omitted. If not set, or if set to 0, all rows will be
2477 # scanned. Only one of rows_limit and rows_limit_percent can be specified.
2478 # Cannot be used in conjunction with TimespanConfig.
2479 &quot;excludedFields&quot;: [ # References to fields excluded from scanning. This allows you to skip
2480 # inspection of entire columns which you know have no findings.
2481 { # General identifier of a data field in a storage service.
2482 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
2483 },
2484 ],
2485 },
2486 &quot;hybridOptions&quot;: { # Configuration to control jobs where the content being inspected is outside # Hybrid inspection options.
2487 # Early access feature is in a pre-release state and might change or have
2488 # limited support. For more information, see
2489 # https://cloud.google.com/products#product-launch-stages.
2490 # of Google Cloud Platform.
2491 &quot;labels&quot;: { # To organize findings, these labels will be added to each finding.
2492 #
2493 # Label keys must be between 1 and 63 characters long and must conform
2494 # to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
2495 #
2496 # Label values must be between 0 and 63 characters long and must conform
2497 # to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
2498 #
2499 # No more than 10 labels can be associated with a given finding.
2500 #
2501 # Examples:
2502 # * `&quot;environment&quot; : &quot;production&quot;`
2503 # * `&quot;pipeline&quot; : &quot;etl&quot;`
2504 &quot;a_key&quot;: &quot;A String&quot;,
2505 },
2506 &quot;description&quot;: &quot;A String&quot;, # A short description of where the data is coming from. Will be stored once
2507 # in the job. 256 max length.
2508 &quot;tableOptions&quot;: { # Instructions regarding the table content being inspected. # If the container is a table, additional information to make findings
2509 # meaningful such as the columns that are primary keys.
2510 &quot;identifyingFields&quot;: [ # The columns that are the primary keys for table objects included in
2511 # ContentItem. A copy of this cell&#x27;s value will stored alongside alongside
2512 # each finding so that the finding can be traced to the specific row it came
2513 # from. No more than 3 may be provided.
2514 { # General identifier of a data field in a storage service.
2515 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
2516 },
2517 ],
2518 },
2519 &quot;requiredFindingLabelKeys&quot;: [ # These are labels that each inspection request must include within their
2520 # &#x27;finding_labels&#x27; map. Request may contain others, but any missing one of
2521 # these will be rejected.
2522 #
2523 # Label keys must be between 1 and 63 characters long and must conform
2524 # to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
2525 #
2526 # No more than 10 keys can be required.
2527 &quot;A String&quot;,
2528 ],
2529 },
2530 },
2531 &quot;inspectTemplateName&quot;: &quot;A String&quot;, # If provided, will be used as the default for all values in InspectConfig.
2532 # `inspect_config` will be merged into the values persisted as part of the
2533 # template.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002534 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002535 &quot;status&quot;: &quot;A String&quot;, # Required. A status for this trigger.
2536 &quot;lastRunTime&quot;: &quot;A String&quot;, # Output only. The timestamp of the last time this trigger executed.
2537 &quot;name&quot;: &quot;A String&quot;, # Unique resource name for the triggeredJob, assigned by the service when the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002538 # triggeredJob is created, for example
Dan O'Mearadd494642020-05-01 07:42:23 -07002539 # `projects/dlp-test-project/jobTriggers/53234423`.
Bu Sun Kim65020912020-05-20 12:08:20 -07002540 &quot;errors&quot;: [ # Output only. A stream of errors encountered when the trigger was activated. Repeated
2541 # errors may result in the JobTrigger automatically being paused.
2542 # Will return the last 100 errors. Whenever the JobTrigger is modified
2543 # this list will be cleared.
2544 { # Details information about an error encountered during job execution or
2545 # the results of an unsuccessful activation of the JobTrigger.
2546 &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for # Detailed error codes and messages.
2547 # different programming environments, including REST APIs and RPC APIs. It is
2548 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
2549 # three pieces of data: error code, error message, and error details.
2550 #
2551 # You can find out more about this error model and how to work with it in the
2552 # [API Design Guide](https://cloud.google.com/apis/design/errors).
2553 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
2554 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
2555 # user-facing error message should be localized and sent in the
2556 # google.rpc.Status.details field, or localized by the client.
2557 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
2558 # message types for APIs to use.
2559 {
2560 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
2561 },
2562 ],
2563 },
2564 &quot;timestamps&quot;: [ # The times the error occurred.
2565 &quot;A String&quot;,
2566 ],
2567 },
2568 ],
2569 &quot;description&quot;: &quot;A String&quot;, # User provided description (max 256 chars)
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002570 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002571 &quot;triggerId&quot;: &quot;A String&quot;, # The trigger id can contain uppercase and lowercase letters,
2572 # numbers, and hyphens; that is, it must match the regular
2573 # expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
2574 # characters. Can be empty to allow the system to generate one.
2575 &quot;locationId&quot;: &quot;A String&quot;, # The geographic location to store the job trigger. Reserved for
2576 # future extensions.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002577 }
2578
2579 x__xgafv: string, V1 error format.
2580 Allowed values
2581 1 - v1 error format
2582 2 - v2 error format
2583
2584Returns:
2585 An object of the form:
2586
2587 { # Contains a configuration to make dlp api calls on a repeating basis.
2588 # See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
Bu Sun Kim65020912020-05-20 12:08:20 -07002589 &quot;triggers&quot;: [ # A list of triggers which will be OR&#x27;ed together. Only one in the list
Dan O'Mearadd494642020-05-01 07:42:23 -07002590 # needs to trigger for a job to be started. The list may contain only
2591 # a single Schedule trigger and must have at least one object.
2592 { # What event needs to occur for a new job to be started.
Bu Sun Kim65020912020-05-20 12:08:20 -07002593 &quot;schedule&quot;: { # Schedule for triggeredJobs. # Create a job on a repeating basis based on the elapse of time.
2594 &quot;recurrencePeriodDuration&quot;: &quot;A String&quot;, # With this option a job is started a regular periodic basis. For
Dan O'Mearadd494642020-05-01 07:42:23 -07002595 # example: every day (86400 seconds).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002596 #
Dan O'Mearadd494642020-05-01 07:42:23 -07002597 # A scheduled start time will be skipped if the previous
2598 # execution has not ended when its scheduled time occurs.
2599 #
2600 # This value must be set to a time duration greater than or equal
2601 # to 1 day and can be no longer than 60 days.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002602 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002603 &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.
Dan O'Mearadd494642020-05-01 07:42:23 -07002604 # Early access feature is in a pre-release state and might change or have
2605 # limited support. For more information, see
2606 # https://cloud.google.com/products#product-launch-stages.
Bu Sun Kim65020912020-05-20 12:08:20 -07002607 # and finished.
Dan O'Mearadd494642020-05-01 07:42:23 -07002608 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002609 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002610 ],
2611 &quot;displayName&quot;: &quot;A String&quot;, # Display name (max 100 chars)
2612 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of a triggeredJob.
2613 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of a triggeredJob.
2614 &quot;inspectJob&quot;: { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration.
2615 &quot;inspectConfig&quot;: { # Configuration description of the scanning process. # How and what to scan for.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002616 # When used with redactContent only info_types and min_likelihood are currently
2617 # used.
Bu Sun Kim65020912020-05-20 12:08:20 -07002618 &quot;includeQuote&quot;: True or False, # When true, a contextual quote from the data that triggered a finding is
2619 # included in the response; see Finding.quote.
2620 &quot;ruleSet&quot;: [ # Set of rules to apply to the findings for this InspectConfig.
2621 # Exclusion rules, contained in the set are executed in the end, other
2622 # rules are executed in the order they are specified for each info type.
2623 { # Rule set for modifying a set of infoTypes to alter behavior under certain
2624 # circumstances, depending on the specific details of the rules within the set.
2625 &quot;infoTypes&quot;: [ # List of infoTypes this rule set is applied to.
2626 { # Type of information detected by the API.
2627 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002628 # creating a CustomInfoType, or one of the names listed
2629 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2630 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07002631 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002632 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002633 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002634 &quot;rules&quot;: [ # Set of rules to be applied to infoTypes. The rules are applied in order.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002635 { # A single inspection rule to be applied to infoTypes, specified in
2636 # `InspectionRuleSet`.
Bu Sun Kim65020912020-05-20 12:08:20 -07002637 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002638 # proximity of hotwords.
Bu Sun Kim65020912020-05-20 12:08:20 -07002639 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002640 # part of a detection rule.
Bu Sun Kim65020912020-05-20 12:08:20 -07002641 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002642 # levels. For example, if a finding would be `POSSIBLE` without the
2643 # detection rule and `relative_likelihood` is 1, then it is upgraded to
2644 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
2645 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
2646 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
2647 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
2648 # a final likelihood of `LIKELY`.
Bu Sun Kim65020912020-05-20 12:08:20 -07002649 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002650 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002651 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
2652 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002653 # specified, the entire match is returned. No more than 3 may be included.
2654 42,
2655 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002656 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
2657 # (https://github.com/google/re2/wiki/Syntax) can be found under the
2658 # google/re2 repository on GitHub.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002659 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002660 &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.
2661 # The total length of the window cannot exceed 1000 characters. Note that
2662 # the finding itself will be included in the window, so that hotwords may
2663 # be used to match substrings of the finding itself. For example, the
2664 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
2665 # adjusted upwards if the area code is known to be the local area code of
2666 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
2667 # is the area code in question.
2668 # rule.
2669 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
2670 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002671 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002672 },
2673 &quot;exclusionRule&quot;: { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
2674 # `InspectionRuleSet` are removed from results.
2675 &quot;dictionary&quot;: { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002676 # be used to match sensitive information specific to the data, such as a list
2677 # of employee IDs or job titles.
2678 #
2679 # Dictionary words are case-insensitive and all characters other than letters
2680 # and digits in the unicode [Basic Multilingual
2681 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
2682 # will be replaced with whitespace when scanning for matches, so the
Bu Sun Kim65020912020-05-20 12:08:20 -07002683 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
2684 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002685 # surrounding any match must be of a different type than the adjacent
2686 # characters within the word, so letters must be next to non-letters and
Bu Sun Kim65020912020-05-20 12:08:20 -07002687 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
2688 # match the first three letters of the text &quot;jen123&quot; but will return no
2689 # matches for &quot;jennifer&quot;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002690 #
2691 # Dictionary words containing a large number of characters that are not
2692 # letters or digits may result in unexpected findings because such characters
2693 # are treated as whitespace. The
2694 # [limits](https://cloud.google.com/dlp/limits) page contains details about
2695 # the size limits of dictionaries. For dictionaries that do not fit within
2696 # these constraints, consider using `LargeCustomDictionaryConfig` in the
2697 # `StoredInfoType` API.
Bu Sun Kim65020912020-05-20 12:08:20 -07002698 &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.
2699 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002700 # at least one phrase and every phrase must contain at least 2 characters
2701 # that are letters or digits. [required]
Bu Sun Kim65020912020-05-20 12:08:20 -07002702 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002703 ],
2704 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002705 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002706 # is accepted.
Bu Sun Kim65020912020-05-20 12:08:20 -07002707 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002708 # Example: gs://[BUCKET_NAME]/dictionary.txt
2709 },
2710 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002711 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression which defines the rule.
2712 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
2713 # specified, the entire match is returned. No more than 3 may be included.
2714 42,
2715 ],
2716 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
2717 # (https://github.com/google/re2/wiki/Syntax) can be found under the
2718 # google/re2 repository on GitHub.
2719 },
2720 &quot;excludeInfoTypes&quot;: { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
2721 &quot;infoTypes&quot;: [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
2722 # contained within with a finding of an infoType from this list. For
2723 # example, for `InspectionRuleSet.info_types` containing &quot;PHONE_NUMBER&quot;` and
2724 # `exclusion_rule` containing `exclude_info_types.info_types` with
2725 # &quot;EMAIL_ADDRESS&quot; the phone number findings are dropped if they overlap
2726 # with EMAIL_ADDRESS finding.
2727 # That leads to &quot;555-222-2222@example.org&quot; to generate only a single
2728 # finding, namely email address.
2729 { # Type of information detected by the API.
2730 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
2731 # creating a CustomInfoType, or one of the names listed
2732 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2733 # a built-in type. InfoType names should conform to the pattern
2734 # `[a-zA-Z0-9_]{1,64}`.
2735 },
2736 ],
2737 },
2738 &quot;matchingType&quot;: &quot;A String&quot;, # How the rule is applied, see MatchingType documentation for details.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002739 },
2740 },
2741 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002742 },
2743 ],
2744 &quot;limits&quot;: { # Configuration to control the number of findings returned. # Configuration to control the number of findings returned.
2745 &quot;maxFindingsPerItem&quot;: 42, # Max number of findings that will be returned for each item scanned.
2746 # When set within `InspectJobConfig`,
2747 # the maximum returned is 2000 regardless if this is set higher.
2748 # When set within `InspectContentRequest`, this field is ignored.
2749 &quot;maxFindingsPerInfoType&quot;: [ # Configuration of findings limit given for specified infoTypes.
2750 { # Max findings configuration per infoType, per content item or long
2751 # running DlpJob.
2752 &quot;maxFindings&quot;: 42, # Max findings limit for the given infoType.
2753 &quot;infoType&quot;: { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
2754 # info_type should be provided. If InfoTypeLimit does not have an
2755 # info_type, the DLP API applies the limit against all info_types that
2756 # are found but not specified in another InfoTypeLimit.
2757 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002758 # creating a CustomInfoType, or one of the names listed
2759 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2760 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07002761 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002762 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002763 },
2764 ],
2765 &quot;maxFindingsPerRequest&quot;: 42, # Max number of findings that will be returned per request/job.
2766 # When set within `InspectContentRequest`, the maximum returned is 2000
2767 # regardless if this is set higher.
2768 },
2769 &quot;contentOptions&quot;: [ # List of options defining data content to scan.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002770 # If empty, text, images, and other content will be included.
Bu Sun Kim65020912020-05-20 12:08:20 -07002771 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002772 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002773 &quot;infoTypes&quot;: [ # Restricts what info_types to look for. The values must correspond to
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002774 # InfoType values returned by ListInfoTypes or listed at
2775 # https://cloud.google.com/dlp/docs/infotypes-reference.
2776 #
2777 # When no InfoTypes or CustomInfoTypes are specified in a request, the
2778 # system may automatically choose what detectors to run. By default this may
2779 # be all types, but may change over time as detectors are updated.
2780 #
Dan O'Mearadd494642020-05-01 07:42:23 -07002781 # If you need precise control and predictability as to what detectors are
2782 # run you should specify specific InfoTypes listed in the reference,
2783 # otherwise a default list will be used, which may change over time.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002784 { # Type of information detected by the API.
Bu Sun Kim65020912020-05-20 12:08:20 -07002785 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002786 # creating a CustomInfoType, or one of the names listed
2787 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2788 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07002789 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002790 },
2791 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07002792 &quot;minLikelihood&quot;: &quot;A String&quot;, # Only returns findings equal or above this threshold. The default is
2793 # POSSIBLE.
2794 # See https://cloud.google.com/dlp/docs/likelihood to learn more.
2795 &quot;excludeInfoTypes&quot;: True or False, # When true, excludes type information of the findings.
2796 &quot;customInfoTypes&quot;: [ # CustomInfoTypes provided by the user. See
2797 # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
2798 { # Custom information type provided by the user. Used to find domain-specific
2799 # sensitive information configurable to the data in question.
2800 &quot;likelihood&quot;: &quot;A String&quot;, # Likelihood to return for this CustomInfoType. This base value can be
2801 # altered by a detection rule if the finding meets the criteria specified by
2802 # the rule. Defaults to `VERY_LIKELY` if not specified.
2803 &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
2804 # infoType, when the name matches one of existing infoTypes and that infoType
2805 # is specified in `InspectContent.info_types` field. Specifying the latter
2806 # adds findings to the one detected by the system. If built-in info type is
2807 # not specified in `InspectContent.info_types` list then the name is treated
2808 # as a custom info type.
2809 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
2810 # creating a CustomInfoType, or one of the names listed
2811 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
2812 # a built-in type. InfoType names should conform to the pattern
2813 # `[a-zA-Z0-9_]{1,64}`.
2814 },
2815 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
2816 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
2817 # specified, the entire match is returned. No more than 3 may be included.
2818 42,
2819 ],
2820 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
2821 # (https://github.com/google/re2/wiki/Syntax) can be found under the
2822 # google/re2 repository on GitHub.
2823 },
2824 &quot;detectionRules&quot;: [ # Set of detection rules to apply to all findings of this CustomInfoType.
2825 # Rules are applied in order that they are specified. Not supported for the
2826 # `surrogate_type` CustomInfoType.
2827 { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
2828 # `CustomInfoType` to alter behavior under certain circumstances, depending
2829 # on the specific details of the rule. Not supported for the `surrogate_type`
2830 # custom infoType.
2831 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
2832 # proximity of hotwords.
2833 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
2834 # part of a detection rule.
2835 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
2836 # levels. For example, if a finding would be `POSSIBLE` without the
2837 # detection rule and `relative_likelihood` is 1, then it is upgraded to
2838 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
2839 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
2840 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
2841 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
2842 # a final likelihood of `LIKELY`.
2843 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
2844 },
2845 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
2846 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
2847 # specified, the entire match is returned. No more than 3 may be included.
2848 42,
2849 ],
2850 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
2851 # (https://github.com/google/re2/wiki/Syntax) can be found under the
2852 # google/re2 repository on GitHub.
2853 },
2854 &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.
2855 # The total length of the window cannot exceed 1000 characters. Note that
2856 # the finding itself will be included in the window, so that hotwords may
2857 # be used to match substrings of the finding itself. For example, the
2858 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
2859 # adjusted upwards if the area code is known to be the local area code of
2860 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
2861 # is the area code in question.
2862 # rule.
2863 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
2864 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
2865 },
2866 },
2867 },
2868 ],
2869 &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
2870 # to be returned. It still can be used for rules matching.
2871 &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.
2872 # be used to match sensitive information specific to the data, such as a list
2873 # of employee IDs or job titles.
2874 #
2875 # Dictionary words are case-insensitive and all characters other than letters
2876 # and digits in the unicode [Basic Multilingual
2877 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
2878 # will be replaced with whitespace when scanning for matches, so the
2879 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
2880 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
2881 # surrounding any match must be of a different type than the adjacent
2882 # characters within the word, so letters must be next to non-letters and
2883 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
2884 # match the first three letters of the text &quot;jen123&quot; but will return no
2885 # matches for &quot;jennifer&quot;.
2886 #
2887 # Dictionary words containing a large number of characters that are not
2888 # letters or digits may result in unexpected findings because such characters
2889 # are treated as whitespace. The
2890 # [limits](https://cloud.google.com/dlp/limits) page contains details about
2891 # the size limits of dictionaries. For dictionaries that do not fit within
2892 # these constraints, consider using `LargeCustomDictionaryConfig` in the
2893 # `StoredInfoType` API.
2894 &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.
2895 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
2896 # at least one phrase and every phrase must contain at least 2 characters
2897 # that are letters or digits. [required]
2898 &quot;A String&quot;,
2899 ],
2900 },
2901 &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
2902 # is accepted.
2903 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
2904 # Example: gs://[BUCKET_NAME]/dictionary.txt
2905 },
2906 },
2907 &quot;storedType&quot;: { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
2908 # `InspectDataSource`. Not currently supported in `InspectContent`.
2909 &quot;name&quot;: &quot;A String&quot;, # Resource name of the requested `StoredInfoType`, for example
2910 # `organizations/433245324/storedInfoTypes/432452342` or
2911 # `projects/project-id/storedInfoTypes/432452342`.
2912 &quot;createTime&quot;: &quot;A String&quot;, # Timestamp indicating when the version of the `StoredInfoType` used for
2913 # inspection was created. Output-only field, populated by the system.
2914 },
2915 &quot;surrogateType&quot;: { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
2916 # support reversing.
2917 # such as
2918 # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
2919 # These types of transformations are
2920 # those that perform pseudonymization, thereby producing a &quot;surrogate&quot; as
2921 # output. This should be used in conjunction with a field on the
2922 # transformation such as `surrogate_info_type`. This CustomInfoType does
2923 # not support the use of `detection_rules`.
2924 },
2925 },
2926 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002927 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002928 &quot;actions&quot;: [ # Actions to execute at the completion of the job.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002929 { # A task to execute on the completion of a job.
2930 # See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
Bu Sun Kim65020912020-05-20 12:08:20 -07002931 &quot;publishSummaryToCscc&quot;: { # Publish the result summary of a DlpJob to the Cloud Security # Publish summary to Cloud Security Command Center (Alpha).
2932 # Command Center (CSCC Alpha).
2933 # This action is only available for projects which are parts of
2934 # an organization and whitelisted for the alpha Cloud Security Command
2935 # Center.
2936 # The action will publish count of finding instances and their info types.
2937 # The summary of findings will be persisted in CSCC and are governed by CSCC
2938 # service-specific policy, see https://cloud.google.com/terms/service-terms
2939 # Only a single instance of this action can be specified.
2940 # Compatible with: Inspect
2941 },
2942 &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
2943 # completion/failure.
2944 # completion/failure.
2945 },
2946 &quot;saveFindings&quot;: { # If set, the detailed findings will be persisted to the specified # Save resulting findings in a provided location.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002947 # OutputStorageConfig. Only a single instance of this action can be
2948 # specified.
2949 # Compatible with: Inspect, Risk
Bu Sun Kim65020912020-05-20 12:08:20 -07002950 &quot;outputConfig&quot;: { # Cloud repository for storing output. # Location to store findings outside of DLP.
2951 &quot;outputSchema&quot;: &quot;A String&quot;, # Schema used for writing the findings for Inspect jobs. This field is only
2952 # used for Inspect and must be unspecified for Risk jobs. Columns are derived
2953 # from the `Finding` object. If appending to an existing table, any columns
2954 # from the predefined schema that are missing will be added. No columns in
2955 # the existing table will be deleted.
2956 #
2957 # If unspecified, then all available columns will be used for a new table or
2958 # an (existing) table with no schema, and no changes will be made to an
2959 # existing table that has a schema.
2960 # Only for use with external storage.
2961 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002962 # dataset. If table_id is not set a new one will be generated
2963 # for you with the following format:
2964 # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
2965 # generating the date details.
2966 #
2967 # For Inspect, each column in an existing output table must have the same
2968 # name, type, and mode of a field in the `Finding` object.
2969 #
2970 # For Risk, an existing output table should be the output of a previous
2971 # Risk analysis job run on the same source table, with the same privacy
2972 # metric and quasi-identifiers. Risk jobs that analyze the same table but
2973 # compute a different privacy metric, or use different sets of
2974 # quasi-identifiers, cannot store their results in the same table.
2975 # identified by its project_id, dataset_id, and table_name. Within a query
2976 # a table is often referenced with a string in the format of:
Dan O'Mearadd494642020-05-01 07:42:23 -07002977 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
2978 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
Bu Sun Kim65020912020-05-20 12:08:20 -07002979 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002980 # If omitted, project ID is inferred from the API call.
Bu Sun Kim65020912020-05-20 12:08:20 -07002981 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
2982 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002983 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002984 },
2985 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002986 &quot;pubSub&quot;: { # Publish a message into given Pub/Sub topic when DlpJob has completed. The # Publish a notification to a pubsub topic.
2987 # message contains a single field, `DlpJobName`, which is equal to the
2988 # finished job&#x27;s
2989 # [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
2990 # Compatible with: Inspect, Risk
2991 &quot;topic&quot;: &quot;A String&quot;, # Cloud Pub/Sub topic to send notifications to. The topic must have given
2992 # publishing access rights to the DLP API service account executing
2993 # the long running DlpJob sending the notifications.
2994 # Format is projects/{project}/topics/{topic}.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07002995 },
Bu Sun Kim65020912020-05-20 12:08:20 -07002996 &quot;publishFindingsToCloudDataCatalog&quot;: { # Publish findings of a DlpJob to Cloud Data Catalog. Labels summarizing the # Publish findings to Cloud Datahub.
Dan O'Mearadd494642020-05-01 07:42:23 -07002997 # results of the DlpJob will be applied to the entry for the resource scanned
2998 # in Cloud Data Catalog. Any labels previously written by another DlpJob will
2999 # be deleted. InfoType naming patterns are strictly enforced when using this
3000 # feature. Note that the findings will be persisted in Cloud Data Catalog
3001 # storage and are governed by Data Catalog service-specific policy, see
3002 # https://cloud.google.com/terms/service-terms
3003 # Only a single instance of this action can be specified and only allowed if
3004 # all resources being scanned are BigQuery tables.
3005 # Compatible with: Inspect
3006 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003007 &quot;publishToStackdriver&quot;: { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This # Enable Stackdriver metric dlp.googleapis.com/finding_count.
3008 # will publish a metric to stack driver on each infotype requested and
3009 # how many findings were found for it. CustomDetectors will be bucketed
3010 # as &#x27;Custom&#x27; under the Stackdriver label &#x27;info_type&#x27;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003011 },
3012 },
3013 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07003014 &quot;storageConfig&quot;: { # Shared message indicating Cloud storage type. # The data to scan.
3015 &quot;datastoreOptions&quot;: { # Options defining a data set within Google Cloud Datastore. # Google Cloud Datastore options.
3016 &quot;partitionId&quot;: { # Datastore partition ID. # A partition ID identifies a grouping of entities. The grouping is always
3017 # by project and namespace, however the namespace ID may be empty.
3018 # A partition ID identifies a grouping of entities. The grouping is always
3019 # by project and namespace, however the namespace ID may be empty.
3020 #
3021 # A partition ID contains several dimensions:
3022 # project ID and namespace ID.
3023 &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
3024 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
3025 },
3026 &quot;kind&quot;: { # A representation of a Datastore kind. # The kind to process.
3027 &quot;name&quot;: &quot;A String&quot;, # The name of the kind.
3028 },
3029 },
3030 &quot;timespanConfig&quot;: { # Configuration of the timespan of the items to include in scanning.
3031 # Currently only supported when inspecting Google Cloud Storage and BigQuery.
3032 &quot;timestampField&quot;: { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items.
3033 # Used for data sources like Datastore and BigQuery.
3034 #
3035 # For BigQuery:
3036 # Required to filter out rows based on the given start and
3037 # end times. If not specified and the table was modified between the given
3038 # start and end times, the entire table will be scanned.
3039 # The valid data types of the timestamp field are: `INTEGER`, `DATE`,
3040 # `TIMESTAMP`, or `DATETIME` BigQuery column.
3041 #
3042 # For Datastore.
3043 # Valid data types of the timestamp field are: `TIMESTAMP`.
3044 # Datastore entity will be scanned if the timestamp property does not
3045 # exist or its value is empty or invalid.
3046 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
3047 },
3048 &quot;enableAutoPopulationOfTimespanConfig&quot;: True or False, # When the job is started by a JobTrigger we will automatically figure out
3049 # a valid start_time to avoid scanning files that have not been modified
3050 # since the last time the JobTrigger executed. This will be based on the
3051 # time of the execution of the last run of the JobTrigger.
3052 &quot;endTime&quot;: &quot;A String&quot;, # Exclude files or rows newer than this value.
3053 # If set to zero, no upper time limit is applied.
3054 &quot;startTime&quot;: &quot;A String&quot;, # Exclude files or rows older than this value.
3055 },
3056 &quot;cloudStorageOptions&quot;: { # Options defining a file or a set of files within a Google Cloud Storage # Google Cloud Storage options.
3057 # bucket.
3058 &quot;filesLimitPercent&quot;: 42, # Limits the number of files to scan to this percentage of the input FileSet.
3059 # Number of files scanned is rounded down. Must be between 0 and 100,
3060 # inclusively. Both 0 and 100 means no limit. Defaults to 0.
3061 &quot;fileTypes&quot;: [ # List of file type groups to include in the scan.
3062 # If empty, all files are scanned and available data format processors
3063 # are applied. In addition, the binary content of the selected files
3064 # is always scanned as well.
3065 # Images are scanned only as binary if the specified region
3066 # does not support image inspection and no file_types were specified.
3067 # Image inspection is restricted to &#x27;global&#x27;, &#x27;us&#x27;, &#x27;asia&#x27;, and &#x27;europe&#x27;.
3068 &quot;A String&quot;,
3069 ],
3070 &quot;sampleMethod&quot;: &quot;A String&quot;,
3071 &quot;bytesLimitPerFilePercent&quot;: 42, # Max percentage of bytes to scan from a file. The rest are omitted. The
3072 # number of bytes scanned is rounded down. Must be between 0 and 100,
3073 # inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
3074 # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
3075 &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
3076 # than this value then the rest of the bytes are omitted. Only one
3077 # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
3078 &quot;fileSet&quot;: { # Set of files to scan. # The set of one or more files to scan.
3079 &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
3080 # `regex_file_set` must be set.
3081 # expressions are used to allow fine-grained control over which files in the
3082 # bucket to include.
3083 #
3084 # Included files are those that match at least one item in `include_regex` and
3085 # do not match any items in `exclude_regex`. Note that a file that matches
3086 # items from both lists will _not_ be included. For a match to occur, the
3087 # entire file path (i.e., everything in the url after the bucket name) must
3088 # match the regular expression.
3089 #
3090 # For example, given the input `{bucket_name: &quot;mybucket&quot;, include_regex:
3091 # [&quot;directory1/.*&quot;], exclude_regex:
3092 # [&quot;directory1/excluded.*&quot;]}`:
3093 #
3094 # * `gs://mybucket/directory1/myfile` will be included
3095 # * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
3096 # across `/`)
3097 # * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
3098 # full path doesn&#x27;t match any items in `include_regex`)
3099 # * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
3100 # matches an item in `exclude_regex`)
3101 #
3102 # If `include_regex` is left empty, it will match all files by default
3103 # (this is equivalent to setting `include_regex: [&quot;.*&quot;]`).
3104 #
3105 # Some other common use cases:
3106 #
3107 # * `{bucket_name: &quot;mybucket&quot;, exclude_regex: [&quot;.*\.pdf&quot;]}` will include all
3108 # files in `mybucket` except for .pdf files
3109 # * `{bucket_name: &quot;mybucket&quot;, include_regex: [&quot;directory/[^/]+&quot;]}` will
3110 # include all files directly under `gs://mybucket/directory/`, without matching
3111 # across `/`
3112 &quot;excludeRegex&quot;: [ # A list of regular expressions matching file paths to exclude. All files in
3113 # the bucket that match at least one of these regular expressions will be
3114 # excluded from the scan.
3115 #
3116 # Regular expressions use RE2
3117 # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
3118 # under the google/re2 repository on GitHub.
3119 &quot;A String&quot;,
3120 ],
3121 &quot;bucketName&quot;: &quot;A String&quot;, # The name of a Cloud Storage bucket. Required.
3122 &quot;includeRegex&quot;: [ # A list of regular expressions matching file paths to include. All files in
3123 # the bucket that match at least one of these regular expressions will be
3124 # included in the set of files, except for those that also match an item in
3125 # `exclude_regex`. Leaving this field empty will match all files by default
3126 # (this is equivalent to including `.*` in the list).
3127 #
3128 # Regular expressions use RE2
3129 # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
3130 # under the google/re2 repository on GitHub.
3131 &quot;A String&quot;,
3132 ],
3133 },
3134 &quot;url&quot;: &quot;A String&quot;, # The Cloud Storage url of the file(s) to scan, in the format
3135 # `gs://&lt;bucket&gt;/&lt;path&gt;`. Trailing wildcard in the path is allowed.
3136 #
3137 # If the url ends in a trailing slash, the bucket or directory represented
3138 # by the url will be scanned non-recursively (content in sub-directories
3139 # will not be scanned). This means that `gs://mybucket/` is equivalent to
3140 # `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
3141 # `gs://mybucket/directory/*`.
3142 #
3143 # Exactly one of `url` or `regex_file_set` must be set.
3144 },
3145 },
3146 &quot;bigQueryOptions&quot;: { # Options defining BigQuery table and row identifiers. # BigQuery options.
3147 &quot;sampleMethod&quot;: &quot;A String&quot;,
3148 &quot;tableReference&quot;: { # Message defining the location of a BigQuery table. A table is uniquely # Complete BigQuery table reference.
3149 # identified by its project_id, dataset_id, and table_name. Within a query
3150 # a table is often referenced with a string in the format of:
3151 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
3152 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
3153 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
3154 # If omitted, project ID is inferred from the API call.
3155 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
3156 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
3157 },
3158 &quot;identifyingFields&quot;: [ # Table fields that may uniquely identify a row within the table. When
3159 # `actions.saveFindings.outputConfig.table` is specified, the values of
3160 # columns specified here are available in the output table under
3161 # `location.content_locations.record_location.record_key.id_values`. Nested
3162 # fields such as `person.birthdate.year` are allowed.
3163 { # General identifier of a data field in a storage service.
3164 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
3165 },
3166 ],
3167 &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows
3168 # scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
3169 # 100 means no limit. Defaults to 0. Only one of rows_limit and
3170 # rows_limit_percent can be specified. Cannot be used in conjunction with
3171 # TimespanConfig.
3172 &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the
3173 # rest of the rows are omitted. If not set, or if set to 0, all rows will be
3174 # scanned. Only one of rows_limit and rows_limit_percent can be specified.
3175 # Cannot be used in conjunction with TimespanConfig.
3176 &quot;excludedFields&quot;: [ # References to fields excluded from scanning. This allows you to skip
3177 # inspection of entire columns which you know have no findings.
3178 { # General identifier of a data field in a storage service.
3179 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
3180 },
3181 ],
3182 },
3183 &quot;hybridOptions&quot;: { # Configuration to control jobs where the content being inspected is outside # Hybrid inspection options.
3184 # Early access feature is in a pre-release state and might change or have
3185 # limited support. For more information, see
3186 # https://cloud.google.com/products#product-launch-stages.
3187 # of Google Cloud Platform.
3188 &quot;labels&quot;: { # To organize findings, these labels will be added to each finding.
3189 #
3190 # Label keys must be between 1 and 63 characters long and must conform
3191 # to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
3192 #
3193 # Label values must be between 0 and 63 characters long and must conform
3194 # to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
3195 #
3196 # No more than 10 labels can be associated with a given finding.
3197 #
3198 # Examples:
3199 # * `&quot;environment&quot; : &quot;production&quot;`
3200 # * `&quot;pipeline&quot; : &quot;etl&quot;`
3201 &quot;a_key&quot;: &quot;A String&quot;,
3202 },
3203 &quot;description&quot;: &quot;A String&quot;, # A short description of where the data is coming from. Will be stored once
3204 # in the job. 256 max length.
3205 &quot;tableOptions&quot;: { # Instructions regarding the table content being inspected. # If the container is a table, additional information to make findings
3206 # meaningful such as the columns that are primary keys.
3207 &quot;identifyingFields&quot;: [ # The columns that are the primary keys for table objects included in
3208 # ContentItem. A copy of this cell&#x27;s value will stored alongside alongside
3209 # each finding so that the finding can be traced to the specific row it came
3210 # from. No more than 3 may be provided.
3211 { # General identifier of a data field in a storage service.
3212 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
3213 },
3214 ],
3215 },
3216 &quot;requiredFindingLabelKeys&quot;: [ # These are labels that each inspection request must include within their
3217 # &#x27;finding_labels&#x27; map. Request may contain others, but any missing one of
3218 # these will be rejected.
3219 #
3220 # Label keys must be between 1 and 63 characters long and must conform
3221 # to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
3222 #
3223 # No more than 10 keys can be required.
3224 &quot;A String&quot;,
3225 ],
3226 },
3227 },
3228 &quot;inspectTemplateName&quot;: &quot;A String&quot;, # If provided, will be used as the default for all values in InspectConfig.
3229 # `inspect_config` will be merged into the values persisted as part of the
3230 # template.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003231 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003232 &quot;status&quot;: &quot;A String&quot;, # Required. A status for this trigger.
3233 &quot;lastRunTime&quot;: &quot;A String&quot;, # Output only. The timestamp of the last time this trigger executed.
3234 &quot;name&quot;: &quot;A String&quot;, # Unique resource name for the triggeredJob, assigned by the service when the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003235 # triggeredJob is created, for example
Dan O'Mearadd494642020-05-01 07:42:23 -07003236 # `projects/dlp-test-project/jobTriggers/53234423`.
Bu Sun Kim65020912020-05-20 12:08:20 -07003237 &quot;errors&quot;: [ # Output only. A stream of errors encountered when the trigger was activated. Repeated
3238 # errors may result in the JobTrigger automatically being paused.
3239 # Will return the last 100 errors. Whenever the JobTrigger is modified
3240 # this list will be cleared.
3241 { # Details information about an error encountered during job execution or
3242 # the results of an unsuccessful activation of the JobTrigger.
3243 &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for # Detailed error codes and messages.
3244 # different programming environments, including REST APIs and RPC APIs. It is
3245 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
3246 # three pieces of data: error code, error message, and error details.
3247 #
3248 # You can find out more about this error model and how to work with it in the
3249 # [API Design Guide](https://cloud.google.com/apis/design/errors).
3250 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
3251 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
3252 # user-facing error message should be localized and sent in the
3253 # google.rpc.Status.details field, or localized by the client.
3254 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
3255 # message types for APIs to use.
3256 {
3257 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
3258 },
3259 ],
3260 },
3261 &quot;timestamps&quot;: [ # The times the error occurred.
3262 &quot;A String&quot;,
3263 ],
3264 },
3265 ],
3266 &quot;description&quot;: &quot;A String&quot;, # User provided description (max 256 chars)
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003267 }</pre>
3268</div>
3269
3270<div class="method">
3271 <code class="details" id="delete">delete(name, x__xgafv=None)</code>
3272 <pre>Deletes a job trigger.
3273See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
3274
3275Args:
Dan O'Mearadd494642020-05-01 07:42:23 -07003276 name: string, Required. Resource name of the project and the triggeredJob, for example
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003277`projects/dlp-test-project/jobTriggers/53234423`. (required)
3278 x__xgafv: string, V1 error format.
3279 Allowed values
3280 1 - v1 error format
3281 2 - v2 error format
3282
3283Returns:
3284 An object of the form:
3285
3286 { # A generic empty message that you can re-use to avoid defining duplicated
3287 # empty messages in your APIs. A typical example is to use it as the request
3288 # or the response type of an API method. For instance:
3289 #
3290 # service Foo {
3291 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
3292 # }
3293 #
3294 # The JSON representation for `Empty` is empty JSON object `{}`.
3295 }</pre>
3296</div>
3297
3298<div class="method">
3299 <code class="details" id="get">get(name, x__xgafv=None)</code>
3300 <pre>Gets a job trigger.
3301See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
3302
3303Args:
Dan O'Mearadd494642020-05-01 07:42:23 -07003304 name: string, Required. Resource name of the project and the triggeredJob, for example
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003305`projects/dlp-test-project/jobTriggers/53234423`. (required)
3306 x__xgafv: string, V1 error format.
3307 Allowed values
3308 1 - v1 error format
3309 2 - v2 error format
3310
3311Returns:
3312 An object of the form:
3313
3314 { # Contains a configuration to make dlp api calls on a repeating basis.
3315 # See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
Bu Sun Kim65020912020-05-20 12:08:20 -07003316 &quot;triggers&quot;: [ # A list of triggers which will be OR&#x27;ed together. Only one in the list
Dan O'Mearadd494642020-05-01 07:42:23 -07003317 # needs to trigger for a job to be started. The list may contain only
3318 # a single Schedule trigger and must have at least one object.
3319 { # What event needs to occur for a new job to be started.
Bu Sun Kim65020912020-05-20 12:08:20 -07003320 &quot;schedule&quot;: { # Schedule for triggeredJobs. # Create a job on a repeating basis based on the elapse of time.
3321 &quot;recurrencePeriodDuration&quot;: &quot;A String&quot;, # With this option a job is started a regular periodic basis. For
Dan O'Mearadd494642020-05-01 07:42:23 -07003322 # example: every day (86400 seconds).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003323 #
Dan O'Mearadd494642020-05-01 07:42:23 -07003324 # A scheduled start time will be skipped if the previous
3325 # execution has not ended when its scheduled time occurs.
3326 #
3327 # This value must be set to a time duration greater than or equal
3328 # to 1 day and can be no longer than 60 days.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003329 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003330 &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.
Dan O'Mearadd494642020-05-01 07:42:23 -07003331 # Early access feature is in a pre-release state and might change or have
3332 # limited support. For more information, see
3333 # https://cloud.google.com/products#product-launch-stages.
Bu Sun Kim65020912020-05-20 12:08:20 -07003334 # and finished.
Dan O'Mearadd494642020-05-01 07:42:23 -07003335 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003336 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003337 ],
3338 &quot;displayName&quot;: &quot;A String&quot;, # Display name (max 100 chars)
3339 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of a triggeredJob.
3340 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of a triggeredJob.
3341 &quot;inspectJob&quot;: { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration.
3342 &quot;inspectConfig&quot;: { # Configuration description of the scanning process. # How and what to scan for.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003343 # When used with redactContent only info_types and min_likelihood are currently
3344 # used.
Bu Sun Kim65020912020-05-20 12:08:20 -07003345 &quot;includeQuote&quot;: True or False, # When true, a contextual quote from the data that triggered a finding is
3346 # included in the response; see Finding.quote.
3347 &quot;ruleSet&quot;: [ # Set of rules to apply to the findings for this InspectConfig.
3348 # Exclusion rules, contained in the set are executed in the end, other
3349 # rules are executed in the order they are specified for each info type.
3350 { # Rule set for modifying a set of infoTypes to alter behavior under certain
3351 # circumstances, depending on the specific details of the rules within the set.
3352 &quot;infoTypes&quot;: [ # List of infoTypes this rule set is applied to.
3353 { # Type of information detected by the API.
3354 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003355 # creating a CustomInfoType, or one of the names listed
3356 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
3357 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07003358 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003359 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003360 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07003361 &quot;rules&quot;: [ # Set of rules to be applied to infoTypes. The rules are applied in order.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003362 { # A single inspection rule to be applied to infoTypes, specified in
3363 # `InspectionRuleSet`.
Bu Sun Kim65020912020-05-20 12:08:20 -07003364 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003365 # proximity of hotwords.
Bu Sun Kim65020912020-05-20 12:08:20 -07003366 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003367 # part of a detection rule.
Bu Sun Kim65020912020-05-20 12:08:20 -07003368 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003369 # levels. For example, if a finding would be `POSSIBLE` without the
3370 # detection rule and `relative_likelihood` is 1, then it is upgraded to
3371 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
3372 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
3373 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
3374 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
3375 # a final likelihood of `LIKELY`.
Bu Sun Kim65020912020-05-20 12:08:20 -07003376 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003377 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003378 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
3379 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003380 # specified, the entire match is returned. No more than 3 may be included.
3381 42,
3382 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07003383 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
3384 # (https://github.com/google/re2/wiki/Syntax) can be found under the
3385 # google/re2 repository on GitHub.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003386 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003387 &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.
3388 # The total length of the window cannot exceed 1000 characters. Note that
3389 # the finding itself will be included in the window, so that hotwords may
3390 # be used to match substrings of the finding itself. For example, the
3391 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
3392 # adjusted upwards if the area code is known to be the local area code of
3393 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
3394 # is the area code in question.
3395 # rule.
3396 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
3397 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003398 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003399 },
3400 &quot;exclusionRule&quot;: { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
3401 # `InspectionRuleSet` are removed from results.
3402 &quot;dictionary&quot;: { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003403 # be used to match sensitive information specific to the data, such as a list
3404 # of employee IDs or job titles.
3405 #
3406 # Dictionary words are case-insensitive and all characters other than letters
3407 # and digits in the unicode [Basic Multilingual
3408 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
3409 # will be replaced with whitespace when scanning for matches, so the
Bu Sun Kim65020912020-05-20 12:08:20 -07003410 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
3411 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003412 # surrounding any match must be of a different type than the adjacent
3413 # characters within the word, so letters must be next to non-letters and
Bu Sun Kim65020912020-05-20 12:08:20 -07003414 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
3415 # match the first three letters of the text &quot;jen123&quot; but will return no
3416 # matches for &quot;jennifer&quot;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003417 #
3418 # Dictionary words containing a large number of characters that are not
3419 # letters or digits may result in unexpected findings because such characters
3420 # are treated as whitespace. The
3421 # [limits](https://cloud.google.com/dlp/limits) page contains details about
3422 # the size limits of dictionaries. For dictionaries that do not fit within
3423 # these constraints, consider using `LargeCustomDictionaryConfig` in the
3424 # `StoredInfoType` API.
Bu Sun Kim65020912020-05-20 12:08:20 -07003425 &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.
3426 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003427 # at least one phrase and every phrase must contain at least 2 characters
3428 # that are letters or digits. [required]
Bu Sun Kim65020912020-05-20 12:08:20 -07003429 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003430 ],
3431 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003432 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003433 # is accepted.
Bu Sun Kim65020912020-05-20 12:08:20 -07003434 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003435 # Example: gs://[BUCKET_NAME]/dictionary.txt
3436 },
3437 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003438 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression which defines the rule.
3439 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
3440 # specified, the entire match is returned. No more than 3 may be included.
3441 42,
3442 ],
3443 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
3444 # (https://github.com/google/re2/wiki/Syntax) can be found under the
3445 # google/re2 repository on GitHub.
3446 },
3447 &quot;excludeInfoTypes&quot;: { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
3448 &quot;infoTypes&quot;: [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
3449 # contained within with a finding of an infoType from this list. For
3450 # example, for `InspectionRuleSet.info_types` containing &quot;PHONE_NUMBER&quot;` and
3451 # `exclusion_rule` containing `exclude_info_types.info_types` with
3452 # &quot;EMAIL_ADDRESS&quot; the phone number findings are dropped if they overlap
3453 # with EMAIL_ADDRESS finding.
3454 # That leads to &quot;555-222-2222@example.org&quot; to generate only a single
3455 # finding, namely email address.
3456 { # Type of information detected by the API.
3457 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
3458 # creating a CustomInfoType, or one of the names listed
3459 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
3460 # a built-in type. InfoType names should conform to the pattern
3461 # `[a-zA-Z0-9_]{1,64}`.
3462 },
3463 ],
3464 },
3465 &quot;matchingType&quot;: &quot;A String&quot;, # How the rule is applied, see MatchingType documentation for details.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003466 },
3467 },
3468 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07003469 },
3470 ],
3471 &quot;limits&quot;: { # Configuration to control the number of findings returned. # Configuration to control the number of findings returned.
3472 &quot;maxFindingsPerItem&quot;: 42, # Max number of findings that will be returned for each item scanned.
3473 # When set within `InspectJobConfig`,
3474 # the maximum returned is 2000 regardless if this is set higher.
3475 # When set within `InspectContentRequest`, this field is ignored.
3476 &quot;maxFindingsPerInfoType&quot;: [ # Configuration of findings limit given for specified infoTypes.
3477 { # Max findings configuration per infoType, per content item or long
3478 # running DlpJob.
3479 &quot;maxFindings&quot;: 42, # Max findings limit for the given infoType.
3480 &quot;infoType&quot;: { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
3481 # info_type should be provided. If InfoTypeLimit does not have an
3482 # info_type, the DLP API applies the limit against all info_types that
3483 # are found but not specified in another InfoTypeLimit.
3484 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003485 # creating a CustomInfoType, or one of the names listed
3486 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
3487 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07003488 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003489 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003490 },
3491 ],
3492 &quot;maxFindingsPerRequest&quot;: 42, # Max number of findings that will be returned per request/job.
3493 # When set within `InspectContentRequest`, the maximum returned is 2000
3494 # regardless if this is set higher.
3495 },
3496 &quot;contentOptions&quot;: [ # List of options defining data content to scan.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003497 # If empty, text, images, and other content will be included.
Bu Sun Kim65020912020-05-20 12:08:20 -07003498 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003499 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07003500 &quot;infoTypes&quot;: [ # Restricts what info_types to look for. The values must correspond to
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003501 # InfoType values returned by ListInfoTypes or listed at
3502 # https://cloud.google.com/dlp/docs/infotypes-reference.
3503 #
3504 # When no InfoTypes or CustomInfoTypes are specified in a request, the
3505 # system may automatically choose what detectors to run. By default this may
3506 # be all types, but may change over time as detectors are updated.
3507 #
Dan O'Mearadd494642020-05-01 07:42:23 -07003508 # If you need precise control and predictability as to what detectors are
3509 # run you should specify specific InfoTypes listed in the reference,
3510 # otherwise a default list will be used, which may change over time.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003511 { # Type of information detected by the API.
Bu Sun Kim65020912020-05-20 12:08:20 -07003512 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003513 # creating a CustomInfoType, or one of the names listed
3514 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
3515 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07003516 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003517 },
3518 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07003519 &quot;minLikelihood&quot;: &quot;A String&quot;, # Only returns findings equal or above this threshold. The default is
3520 # POSSIBLE.
3521 # See https://cloud.google.com/dlp/docs/likelihood to learn more.
3522 &quot;excludeInfoTypes&quot;: True or False, # When true, excludes type information of the findings.
3523 &quot;customInfoTypes&quot;: [ # CustomInfoTypes provided by the user. See
3524 # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
3525 { # Custom information type provided by the user. Used to find domain-specific
3526 # sensitive information configurable to the data in question.
3527 &quot;likelihood&quot;: &quot;A String&quot;, # Likelihood to return for this CustomInfoType. This base value can be
3528 # altered by a detection rule if the finding meets the criteria specified by
3529 # the rule. Defaults to `VERY_LIKELY` if not specified.
3530 &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
3531 # infoType, when the name matches one of existing infoTypes and that infoType
3532 # is specified in `InspectContent.info_types` field. Specifying the latter
3533 # adds findings to the one detected by the system. If built-in info type is
3534 # not specified in `InspectContent.info_types` list then the name is treated
3535 # as a custom info type.
3536 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
3537 # creating a CustomInfoType, or one of the names listed
3538 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
3539 # a built-in type. InfoType names should conform to the pattern
3540 # `[a-zA-Z0-9_]{1,64}`.
3541 },
3542 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
3543 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
3544 # specified, the entire match is returned. No more than 3 may be included.
3545 42,
3546 ],
3547 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
3548 # (https://github.com/google/re2/wiki/Syntax) can be found under the
3549 # google/re2 repository on GitHub.
3550 },
3551 &quot;detectionRules&quot;: [ # Set of detection rules to apply to all findings of this CustomInfoType.
3552 # Rules are applied in order that they are specified. Not supported for the
3553 # `surrogate_type` CustomInfoType.
3554 { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
3555 # `CustomInfoType` to alter behavior under certain circumstances, depending
3556 # on the specific details of the rule. Not supported for the `surrogate_type`
3557 # custom infoType.
3558 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
3559 # proximity of hotwords.
3560 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
3561 # part of a detection rule.
3562 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
3563 # levels. For example, if a finding would be `POSSIBLE` without the
3564 # detection rule and `relative_likelihood` is 1, then it is upgraded to
3565 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
3566 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
3567 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
3568 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
3569 # a final likelihood of `LIKELY`.
3570 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
3571 },
3572 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
3573 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
3574 # specified, the entire match is returned. No more than 3 may be included.
3575 42,
3576 ],
3577 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
3578 # (https://github.com/google/re2/wiki/Syntax) can be found under the
3579 # google/re2 repository on GitHub.
3580 },
3581 &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.
3582 # The total length of the window cannot exceed 1000 characters. Note that
3583 # the finding itself will be included in the window, so that hotwords may
3584 # be used to match substrings of the finding itself. For example, the
3585 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
3586 # adjusted upwards if the area code is known to be the local area code of
3587 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
3588 # is the area code in question.
3589 # rule.
3590 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
3591 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
3592 },
3593 },
3594 },
3595 ],
3596 &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
3597 # to be returned. It still can be used for rules matching.
3598 &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.
3599 # be used to match sensitive information specific to the data, such as a list
3600 # of employee IDs or job titles.
3601 #
3602 # Dictionary words are case-insensitive and all characters other than letters
3603 # and digits in the unicode [Basic Multilingual
3604 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
3605 # will be replaced with whitespace when scanning for matches, so the
3606 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
3607 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
3608 # surrounding any match must be of a different type than the adjacent
3609 # characters within the word, so letters must be next to non-letters and
3610 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
3611 # match the first three letters of the text &quot;jen123&quot; but will return no
3612 # matches for &quot;jennifer&quot;.
3613 #
3614 # Dictionary words containing a large number of characters that are not
3615 # letters or digits may result in unexpected findings because such characters
3616 # are treated as whitespace. The
3617 # [limits](https://cloud.google.com/dlp/limits) page contains details about
3618 # the size limits of dictionaries. For dictionaries that do not fit within
3619 # these constraints, consider using `LargeCustomDictionaryConfig` in the
3620 # `StoredInfoType` API.
3621 &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.
3622 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
3623 # at least one phrase and every phrase must contain at least 2 characters
3624 # that are letters or digits. [required]
3625 &quot;A String&quot;,
3626 ],
3627 },
3628 &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
3629 # is accepted.
3630 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
3631 # Example: gs://[BUCKET_NAME]/dictionary.txt
3632 },
3633 },
3634 &quot;storedType&quot;: { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
3635 # `InspectDataSource`. Not currently supported in `InspectContent`.
3636 &quot;name&quot;: &quot;A String&quot;, # Resource name of the requested `StoredInfoType`, for example
3637 # `organizations/433245324/storedInfoTypes/432452342` or
3638 # `projects/project-id/storedInfoTypes/432452342`.
3639 &quot;createTime&quot;: &quot;A String&quot;, # Timestamp indicating when the version of the `StoredInfoType` used for
3640 # inspection was created. Output-only field, populated by the system.
3641 },
3642 &quot;surrogateType&quot;: { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
3643 # support reversing.
3644 # such as
3645 # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
3646 # These types of transformations are
3647 # those that perform pseudonymization, thereby producing a &quot;surrogate&quot; as
3648 # output. This should be used in conjunction with a field on the
3649 # transformation such as `surrogate_info_type`. This CustomInfoType does
3650 # not support the use of `detection_rules`.
3651 },
3652 },
3653 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003654 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003655 &quot;actions&quot;: [ # Actions to execute at the completion of the job.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003656 { # A task to execute on the completion of a job.
3657 # See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
Bu Sun Kim65020912020-05-20 12:08:20 -07003658 &quot;publishSummaryToCscc&quot;: { # Publish the result summary of a DlpJob to the Cloud Security # Publish summary to Cloud Security Command Center (Alpha).
3659 # Command Center (CSCC Alpha).
3660 # This action is only available for projects which are parts of
3661 # an organization and whitelisted for the alpha Cloud Security Command
3662 # Center.
3663 # The action will publish count of finding instances and their info types.
3664 # The summary of findings will be persisted in CSCC and are governed by CSCC
3665 # service-specific policy, see https://cloud.google.com/terms/service-terms
3666 # Only a single instance of this action can be specified.
3667 # Compatible with: Inspect
3668 },
3669 &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
3670 # completion/failure.
3671 # completion/failure.
3672 },
3673 &quot;saveFindings&quot;: { # If set, the detailed findings will be persisted to the specified # Save resulting findings in a provided location.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003674 # OutputStorageConfig. Only a single instance of this action can be
3675 # specified.
3676 # Compatible with: Inspect, Risk
Bu Sun Kim65020912020-05-20 12:08:20 -07003677 &quot;outputConfig&quot;: { # Cloud repository for storing output. # Location to store findings outside of DLP.
3678 &quot;outputSchema&quot;: &quot;A String&quot;, # Schema used for writing the findings for Inspect jobs. This field is only
3679 # used for Inspect and must be unspecified for Risk jobs. Columns are derived
3680 # from the `Finding` object. If appending to an existing table, any columns
3681 # from the predefined schema that are missing will be added. No columns in
3682 # the existing table will be deleted.
3683 #
3684 # If unspecified, then all available columns will be used for a new table or
3685 # an (existing) table with no schema, and no changes will be made to an
3686 # existing table that has a schema.
3687 # Only for use with external storage.
3688 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003689 # dataset. If table_id is not set a new one will be generated
3690 # for you with the following format:
3691 # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
3692 # generating the date details.
3693 #
3694 # For Inspect, each column in an existing output table must have the same
3695 # name, type, and mode of a field in the `Finding` object.
3696 #
3697 # For Risk, an existing output table should be the output of a previous
3698 # Risk analysis job run on the same source table, with the same privacy
3699 # metric and quasi-identifiers. Risk jobs that analyze the same table but
3700 # compute a different privacy metric, or use different sets of
3701 # quasi-identifiers, cannot store their results in the same table.
3702 # identified by its project_id, dataset_id, and table_name. Within a query
3703 # a table is often referenced with a string in the format of:
Dan O'Mearadd494642020-05-01 07:42:23 -07003704 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
3705 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
Bu Sun Kim65020912020-05-20 12:08:20 -07003706 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003707 # If omitted, project ID is inferred from the API call.
Bu Sun Kim65020912020-05-20 12:08:20 -07003708 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
3709 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003710 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003711 },
3712 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003713 &quot;pubSub&quot;: { # Publish a message into given Pub/Sub topic when DlpJob has completed. The # Publish a notification to a pubsub topic.
3714 # message contains a single field, `DlpJobName`, which is equal to the
3715 # finished job&#x27;s
3716 # [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
3717 # Compatible with: Inspect, Risk
3718 &quot;topic&quot;: &quot;A String&quot;, # Cloud Pub/Sub topic to send notifications to. The topic must have given
3719 # publishing access rights to the DLP API service account executing
3720 # the long running DlpJob sending the notifications.
3721 # Format is projects/{project}/topics/{topic}.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003722 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003723 &quot;publishFindingsToCloudDataCatalog&quot;: { # Publish findings of a DlpJob to Cloud Data Catalog. Labels summarizing the # Publish findings to Cloud Datahub.
Dan O'Mearadd494642020-05-01 07:42:23 -07003724 # results of the DlpJob will be applied to the entry for the resource scanned
3725 # in Cloud Data Catalog. Any labels previously written by another DlpJob will
3726 # be deleted. InfoType naming patterns are strictly enforced when using this
3727 # feature. Note that the findings will be persisted in Cloud Data Catalog
3728 # storage and are governed by Data Catalog service-specific policy, see
3729 # https://cloud.google.com/terms/service-terms
3730 # Only a single instance of this action can be specified and only allowed if
3731 # all resources being scanned are BigQuery tables.
3732 # Compatible with: Inspect
3733 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003734 &quot;publishToStackdriver&quot;: { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This # Enable Stackdriver metric dlp.googleapis.com/finding_count.
3735 # will publish a metric to stack driver on each infotype requested and
3736 # how many findings were found for it. CustomDetectors will be bucketed
3737 # as &#x27;Custom&#x27; under the Stackdriver label &#x27;info_type&#x27;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003738 },
3739 },
3740 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07003741 &quot;storageConfig&quot;: { # Shared message indicating Cloud storage type. # The data to scan.
3742 &quot;datastoreOptions&quot;: { # Options defining a data set within Google Cloud Datastore. # Google Cloud Datastore options.
3743 &quot;partitionId&quot;: { # Datastore partition ID. # A partition ID identifies a grouping of entities. The grouping is always
3744 # by project and namespace, however the namespace ID may be empty.
3745 # A partition ID identifies a grouping of entities. The grouping is always
3746 # by project and namespace, however the namespace ID may be empty.
3747 #
3748 # A partition ID contains several dimensions:
3749 # project ID and namespace ID.
3750 &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
3751 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
3752 },
3753 &quot;kind&quot;: { # A representation of a Datastore kind. # The kind to process.
3754 &quot;name&quot;: &quot;A String&quot;, # The name of the kind.
3755 },
3756 },
3757 &quot;timespanConfig&quot;: { # Configuration of the timespan of the items to include in scanning.
3758 # Currently only supported when inspecting Google Cloud Storage and BigQuery.
3759 &quot;timestampField&quot;: { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items.
3760 # Used for data sources like Datastore and BigQuery.
3761 #
3762 # For BigQuery:
3763 # Required to filter out rows based on the given start and
3764 # end times. If not specified and the table was modified between the given
3765 # start and end times, the entire table will be scanned.
3766 # The valid data types of the timestamp field are: `INTEGER`, `DATE`,
3767 # `TIMESTAMP`, or `DATETIME` BigQuery column.
3768 #
3769 # For Datastore.
3770 # Valid data types of the timestamp field are: `TIMESTAMP`.
3771 # Datastore entity will be scanned if the timestamp property does not
3772 # exist or its value is empty or invalid.
3773 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
3774 },
3775 &quot;enableAutoPopulationOfTimespanConfig&quot;: True or False, # When the job is started by a JobTrigger we will automatically figure out
3776 # a valid start_time to avoid scanning files that have not been modified
3777 # since the last time the JobTrigger executed. This will be based on the
3778 # time of the execution of the last run of the JobTrigger.
3779 &quot;endTime&quot;: &quot;A String&quot;, # Exclude files or rows newer than this value.
3780 # If set to zero, no upper time limit is applied.
3781 &quot;startTime&quot;: &quot;A String&quot;, # Exclude files or rows older than this value.
3782 },
3783 &quot;cloudStorageOptions&quot;: { # Options defining a file or a set of files within a Google Cloud Storage # Google Cloud Storage options.
3784 # bucket.
3785 &quot;filesLimitPercent&quot;: 42, # Limits the number of files to scan to this percentage of the input FileSet.
3786 # Number of files scanned is rounded down. Must be between 0 and 100,
3787 # inclusively. Both 0 and 100 means no limit. Defaults to 0.
3788 &quot;fileTypes&quot;: [ # List of file type groups to include in the scan.
3789 # If empty, all files are scanned and available data format processors
3790 # are applied. In addition, the binary content of the selected files
3791 # is always scanned as well.
3792 # Images are scanned only as binary if the specified region
3793 # does not support image inspection and no file_types were specified.
3794 # Image inspection is restricted to &#x27;global&#x27;, &#x27;us&#x27;, &#x27;asia&#x27;, and &#x27;europe&#x27;.
3795 &quot;A String&quot;,
3796 ],
3797 &quot;sampleMethod&quot;: &quot;A String&quot;,
3798 &quot;bytesLimitPerFilePercent&quot;: 42, # Max percentage of bytes to scan from a file. The rest are omitted. The
3799 # number of bytes scanned is rounded down. Must be between 0 and 100,
3800 # inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
3801 # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
3802 &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
3803 # than this value then the rest of the bytes are omitted. Only one
3804 # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
3805 &quot;fileSet&quot;: { # Set of files to scan. # The set of one or more files to scan.
3806 &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
3807 # `regex_file_set` must be set.
3808 # expressions are used to allow fine-grained control over which files in the
3809 # bucket to include.
3810 #
3811 # Included files are those that match at least one item in `include_regex` and
3812 # do not match any items in `exclude_regex`. Note that a file that matches
3813 # items from both lists will _not_ be included. For a match to occur, the
3814 # entire file path (i.e., everything in the url after the bucket name) must
3815 # match the regular expression.
3816 #
3817 # For example, given the input `{bucket_name: &quot;mybucket&quot;, include_regex:
3818 # [&quot;directory1/.*&quot;], exclude_regex:
3819 # [&quot;directory1/excluded.*&quot;]}`:
3820 #
3821 # * `gs://mybucket/directory1/myfile` will be included
3822 # * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
3823 # across `/`)
3824 # * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
3825 # full path doesn&#x27;t match any items in `include_regex`)
3826 # * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
3827 # matches an item in `exclude_regex`)
3828 #
3829 # If `include_regex` is left empty, it will match all files by default
3830 # (this is equivalent to setting `include_regex: [&quot;.*&quot;]`).
3831 #
3832 # Some other common use cases:
3833 #
3834 # * `{bucket_name: &quot;mybucket&quot;, exclude_regex: [&quot;.*\.pdf&quot;]}` will include all
3835 # files in `mybucket` except for .pdf files
3836 # * `{bucket_name: &quot;mybucket&quot;, include_regex: [&quot;directory/[^/]+&quot;]}` will
3837 # include all files directly under `gs://mybucket/directory/`, without matching
3838 # across `/`
3839 &quot;excludeRegex&quot;: [ # A list of regular expressions matching file paths to exclude. All files in
3840 # the bucket that match at least one of these regular expressions will be
3841 # excluded from the scan.
3842 #
3843 # Regular expressions use RE2
3844 # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
3845 # under the google/re2 repository on GitHub.
3846 &quot;A String&quot;,
3847 ],
3848 &quot;bucketName&quot;: &quot;A String&quot;, # The name of a Cloud Storage bucket. Required.
3849 &quot;includeRegex&quot;: [ # A list of regular expressions matching file paths to include. All files in
3850 # the bucket that match at least one of these regular expressions will be
3851 # included in the set of files, except for those that also match an item in
3852 # `exclude_regex`. Leaving this field empty will match all files by default
3853 # (this is equivalent to including `.*` in the list).
3854 #
3855 # Regular expressions use RE2
3856 # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
3857 # under the google/re2 repository on GitHub.
3858 &quot;A String&quot;,
3859 ],
3860 },
3861 &quot;url&quot;: &quot;A String&quot;, # The Cloud Storage url of the file(s) to scan, in the format
3862 # `gs://&lt;bucket&gt;/&lt;path&gt;`. Trailing wildcard in the path is allowed.
3863 #
3864 # If the url ends in a trailing slash, the bucket or directory represented
3865 # by the url will be scanned non-recursively (content in sub-directories
3866 # will not be scanned). This means that `gs://mybucket/` is equivalent to
3867 # `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
3868 # `gs://mybucket/directory/*`.
3869 #
3870 # Exactly one of `url` or `regex_file_set` must be set.
3871 },
3872 },
3873 &quot;bigQueryOptions&quot;: { # Options defining BigQuery table and row identifiers. # BigQuery options.
3874 &quot;sampleMethod&quot;: &quot;A String&quot;,
3875 &quot;tableReference&quot;: { # Message defining the location of a BigQuery table. A table is uniquely # Complete BigQuery table reference.
3876 # identified by its project_id, dataset_id, and table_name. Within a query
3877 # a table is often referenced with a string in the format of:
3878 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
3879 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
3880 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
3881 # If omitted, project ID is inferred from the API call.
3882 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
3883 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
3884 },
3885 &quot;identifyingFields&quot;: [ # Table fields that may uniquely identify a row within the table. When
3886 # `actions.saveFindings.outputConfig.table` is specified, the values of
3887 # columns specified here are available in the output table under
3888 # `location.content_locations.record_location.record_key.id_values`. Nested
3889 # fields such as `person.birthdate.year` are allowed.
3890 { # General identifier of a data field in a storage service.
3891 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
3892 },
3893 ],
3894 &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows
3895 # scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
3896 # 100 means no limit. Defaults to 0. Only one of rows_limit and
3897 # rows_limit_percent can be specified. Cannot be used in conjunction with
3898 # TimespanConfig.
3899 &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the
3900 # rest of the rows are omitted. If not set, or if set to 0, all rows will be
3901 # scanned. Only one of rows_limit and rows_limit_percent can be specified.
3902 # Cannot be used in conjunction with TimespanConfig.
3903 &quot;excludedFields&quot;: [ # References to fields excluded from scanning. This allows you to skip
3904 # inspection of entire columns which you know have no findings.
3905 { # General identifier of a data field in a storage service.
3906 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
3907 },
3908 ],
3909 },
3910 &quot;hybridOptions&quot;: { # Configuration to control jobs where the content being inspected is outside # Hybrid inspection options.
3911 # Early access feature is in a pre-release state and might change or have
3912 # limited support. For more information, see
3913 # https://cloud.google.com/products#product-launch-stages.
3914 # of Google Cloud Platform.
3915 &quot;labels&quot;: { # To organize findings, these labels will be added to each finding.
3916 #
3917 # Label keys must be between 1 and 63 characters long and must conform
3918 # to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
3919 #
3920 # Label values must be between 0 and 63 characters long and must conform
3921 # to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
3922 #
3923 # No more than 10 labels can be associated with a given finding.
3924 #
3925 # Examples:
3926 # * `&quot;environment&quot; : &quot;production&quot;`
3927 # * `&quot;pipeline&quot; : &quot;etl&quot;`
3928 &quot;a_key&quot;: &quot;A String&quot;,
3929 },
3930 &quot;description&quot;: &quot;A String&quot;, # A short description of where the data is coming from. Will be stored once
3931 # in the job. 256 max length.
3932 &quot;tableOptions&quot;: { # Instructions regarding the table content being inspected. # If the container is a table, additional information to make findings
3933 # meaningful such as the columns that are primary keys.
3934 &quot;identifyingFields&quot;: [ # The columns that are the primary keys for table objects included in
3935 # ContentItem. A copy of this cell&#x27;s value will stored alongside alongside
3936 # each finding so that the finding can be traced to the specific row it came
3937 # from. No more than 3 may be provided.
3938 { # General identifier of a data field in a storage service.
3939 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
3940 },
3941 ],
3942 },
3943 &quot;requiredFindingLabelKeys&quot;: [ # These are labels that each inspection request must include within their
3944 # &#x27;finding_labels&#x27; map. Request may contain others, but any missing one of
3945 # these will be rejected.
3946 #
3947 # Label keys must be between 1 and 63 characters long and must conform
3948 # to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
3949 #
3950 # No more than 10 keys can be required.
3951 &quot;A String&quot;,
3952 ],
3953 },
3954 },
3955 &quot;inspectTemplateName&quot;: &quot;A String&quot;, # If provided, will be used as the default for all values in InspectConfig.
3956 # `inspect_config` will be merged into the values persisted as part of the
3957 # template.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003958 },
Bu Sun Kim65020912020-05-20 12:08:20 -07003959 &quot;status&quot;: &quot;A String&quot;, # Required. A status for this trigger.
3960 &quot;lastRunTime&quot;: &quot;A String&quot;, # Output only. The timestamp of the last time this trigger executed.
3961 &quot;name&quot;: &quot;A String&quot;, # Unique resource name for the triggeredJob, assigned by the service when the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003962 # triggeredJob is created, for example
Dan O'Mearadd494642020-05-01 07:42:23 -07003963 # `projects/dlp-test-project/jobTriggers/53234423`.
Bu Sun Kim65020912020-05-20 12:08:20 -07003964 &quot;errors&quot;: [ # Output only. A stream of errors encountered when the trigger was activated. Repeated
3965 # errors may result in the JobTrigger automatically being paused.
3966 # Will return the last 100 errors. Whenever the JobTrigger is modified
3967 # this list will be cleared.
3968 { # Details information about an error encountered during job execution or
3969 # the results of an unsuccessful activation of the JobTrigger.
3970 &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for # Detailed error codes and messages.
3971 # different programming environments, including REST APIs and RPC APIs. It is
3972 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
3973 # three pieces of data: error code, error message, and error details.
3974 #
3975 # You can find out more about this error model and how to work with it in the
3976 # [API Design Guide](https://cloud.google.com/apis/design/errors).
3977 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
3978 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
3979 # user-facing error message should be localized and sent in the
3980 # google.rpc.Status.details field, or localized by the client.
3981 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
3982 # message types for APIs to use.
3983 {
3984 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
3985 },
3986 ],
3987 },
3988 &quot;timestamps&quot;: [ # The times the error occurred.
3989 &quot;A String&quot;,
3990 ],
3991 },
3992 ],
3993 &quot;description&quot;: &quot;A String&quot;, # User provided description (max 256 chars)
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003994 }</pre>
3995</div>
3996
3997<div class="method">
Bu Sun Kim65020912020-05-20 12:08:20 -07003998 <code class="details" id="list">list(parent, pageToken=None, locationId=None, pageSize=None, filter=None, orderBy=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07003999 <pre>Lists job triggers.
4000See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
4001
4002Args:
Dan O'Mearadd494642020-05-01 07:42:23 -07004003 parent: string, Required. The parent resource name, for example `projects/my-project-id`. (required)
Bu Sun Kim65020912020-05-20 12:08:20 -07004004 pageToken: string, Page token to continue retrieval. Comes from previous call
4005to ListJobTriggers. `order_by` field must not
4006change for subsequent calls.
4007 locationId: string, The geographic location where job triggers will be retrieved from.
4008Use `-` for all locations. Reserved for future extensions.
4009 pageSize: integer, Size of the page, can be limited by a server.
4010 filter: string, Allows filtering.
4011
4012Supported syntax:
4013
4014* Filter expressions are made up of one or more restrictions.
4015* Restrictions can be combined by `AND` or `OR` logical operators. A
4016sequence of restrictions implicitly uses `AND`.
4017* A restriction has the form of `{field} {operator} {value}`.
4018* Supported fields/values for inspect jobs:
4019 - `status` - HEALTHY|PAUSED|CANCELLED
4020 - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
4021 - &#x27;last_run_time` - RFC 3339 formatted timestamp, surrounded by
4022 quotation marks. Nanoseconds are ignored.
4023 - &#x27;error_count&#x27; - Number of errors that have occurred while running.
4024* The operator must be `=` or `!=` for status and inspected_storage.
4025
4026Examples:
4027
4028* inspected_storage = cloud_storage AND status = HEALTHY
4029* inspected_storage = cloud_storage OR inspected_storage = bigquery
4030* inspected_storage = cloud_storage AND (state = PAUSED OR state = HEALTHY)
4031* last_run_time &gt; \&quot;2017-12-12T00:00:00+00:00\&quot;
4032
4033The length of this field should be no more than 500 characters.
Dan O'Mearadd494642020-05-01 07:42:23 -07004034 orderBy: string, Comma separated list of triggeredJob fields to order by,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004035followed by `asc` or `desc` postfix. This list is case-insensitive,
4036default sorting order is ascending, redundant space characters are
4037insignificant.
4038
4039Example: `name asc,update_time, create_time desc`
4040
4041Supported fields are:
4042
4043- `create_time`: corresponds to time the JobTrigger was created.
4044- `update_time`: corresponds to time the JobTrigger was last updated.
4045- `last_run_time`: corresponds to the last time the JobTrigger ran.
Bu Sun Kim65020912020-05-20 12:08:20 -07004046- `name`: corresponds to JobTrigger&#x27;s name.
4047- `display_name`: corresponds to JobTrigger&#x27;s display name.
4048- `status`: corresponds to JobTrigger&#x27;s status.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004049 x__xgafv: string, V1 error format.
4050 Allowed values
4051 1 - v1 error format
4052 2 - v2 error format
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004053
4054Returns:
4055 An object of the form:
4056
4057 { # Response message for ListJobTriggers.
Bu Sun Kim65020912020-05-20 12:08:20 -07004058 &quot;jobTriggers&quot;: [ # List of triggeredJobs, up to page_size in ListJobTriggersRequest.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004059 { # Contains a configuration to make dlp api calls on a repeating basis.
4060 # See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
Bu Sun Kim65020912020-05-20 12:08:20 -07004061 &quot;triggers&quot;: [ # A list of triggers which will be OR&#x27;ed together. Only one in the list
Dan O'Mearadd494642020-05-01 07:42:23 -07004062 # needs to trigger for a job to be started. The list may contain only
4063 # a single Schedule trigger and must have at least one object.
4064 { # What event needs to occur for a new job to be started.
Bu Sun Kim65020912020-05-20 12:08:20 -07004065 &quot;schedule&quot;: { # Schedule for triggeredJobs. # Create a job on a repeating basis based on the elapse of time.
4066 &quot;recurrencePeriodDuration&quot;: &quot;A String&quot;, # With this option a job is started a regular periodic basis. For
Dan O'Mearadd494642020-05-01 07:42:23 -07004067 # example: every day (86400 seconds).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004068 #
Dan O'Mearadd494642020-05-01 07:42:23 -07004069 # A scheduled start time will be skipped if the previous
4070 # execution has not ended when its scheduled time occurs.
4071 #
4072 # This value must be set to a time duration greater than or equal
4073 # to 1 day and can be no longer than 60 days.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004074 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004075 &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.
Dan O'Mearadd494642020-05-01 07:42:23 -07004076 # Early access feature is in a pre-release state and might change or have
4077 # limited support. For more information, see
4078 # https://cloud.google.com/products#product-launch-stages.
Bu Sun Kim65020912020-05-20 12:08:20 -07004079 # and finished.
Dan O'Mearadd494642020-05-01 07:42:23 -07004080 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004081 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004082 ],
4083 &quot;displayName&quot;: &quot;A String&quot;, # Display name (max 100 chars)
4084 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of a triggeredJob.
4085 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of a triggeredJob.
4086 &quot;inspectJob&quot;: { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration.
4087 &quot;inspectConfig&quot;: { # Configuration description of the scanning process. # How and what to scan for.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004088 # When used with redactContent only info_types and min_likelihood are currently
4089 # used.
Bu Sun Kim65020912020-05-20 12:08:20 -07004090 &quot;includeQuote&quot;: True or False, # When true, a contextual quote from the data that triggered a finding is
4091 # included in the response; see Finding.quote.
4092 &quot;ruleSet&quot;: [ # Set of rules to apply to the findings for this InspectConfig.
4093 # Exclusion rules, contained in the set are executed in the end, other
4094 # rules are executed in the order they are specified for each info type.
4095 { # Rule set for modifying a set of infoTypes to alter behavior under certain
4096 # circumstances, depending on the specific details of the rules within the set.
4097 &quot;infoTypes&quot;: [ # List of infoTypes this rule set is applied to.
4098 { # Type of information detected by the API.
4099 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004100 # creating a CustomInfoType, or one of the names listed
4101 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4102 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07004103 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004104 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004105 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07004106 &quot;rules&quot;: [ # Set of rules to be applied to infoTypes. The rules are applied in order.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004107 { # A single inspection rule to be applied to infoTypes, specified in
4108 # `InspectionRuleSet`.
Bu Sun Kim65020912020-05-20 12:08:20 -07004109 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004110 # proximity of hotwords.
Bu Sun Kim65020912020-05-20 12:08:20 -07004111 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004112 # part of a detection rule.
Bu Sun Kim65020912020-05-20 12:08:20 -07004113 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004114 # levels. For example, if a finding would be `POSSIBLE` without the
4115 # detection rule and `relative_likelihood` is 1, then it is upgraded to
4116 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
4117 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
4118 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
4119 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
4120 # a final likelihood of `LIKELY`.
Bu Sun Kim65020912020-05-20 12:08:20 -07004121 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004122 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004123 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
4124 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004125 # specified, the entire match is returned. No more than 3 may be included.
4126 42,
4127 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07004128 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
4129 # (https://github.com/google/re2/wiki/Syntax) can be found under the
4130 # google/re2 repository on GitHub.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004131 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004132 &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.
4133 # The total length of the window cannot exceed 1000 characters. Note that
4134 # the finding itself will be included in the window, so that hotwords may
4135 # be used to match substrings of the finding itself. For example, the
4136 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
4137 # adjusted upwards if the area code is known to be the local area code of
4138 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
4139 # is the area code in question.
4140 # rule.
4141 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
4142 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004143 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004144 },
4145 &quot;exclusionRule&quot;: { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
4146 # `InspectionRuleSet` are removed from results.
4147 &quot;dictionary&quot;: { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004148 # be used to match sensitive information specific to the data, such as a list
4149 # of employee IDs or job titles.
4150 #
4151 # Dictionary words are case-insensitive and all characters other than letters
4152 # and digits in the unicode [Basic Multilingual
4153 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
4154 # will be replaced with whitespace when scanning for matches, so the
Bu Sun Kim65020912020-05-20 12:08:20 -07004155 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
4156 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004157 # surrounding any match must be of a different type than the adjacent
4158 # characters within the word, so letters must be next to non-letters and
Bu Sun Kim65020912020-05-20 12:08:20 -07004159 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
4160 # match the first three letters of the text &quot;jen123&quot; but will return no
4161 # matches for &quot;jennifer&quot;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004162 #
4163 # Dictionary words containing a large number of characters that are not
4164 # letters or digits may result in unexpected findings because such characters
4165 # are treated as whitespace. The
4166 # [limits](https://cloud.google.com/dlp/limits) page contains details about
4167 # the size limits of dictionaries. For dictionaries that do not fit within
4168 # these constraints, consider using `LargeCustomDictionaryConfig` in the
4169 # `StoredInfoType` API.
Bu Sun Kim65020912020-05-20 12:08:20 -07004170 &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.
4171 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004172 # at least one phrase and every phrase must contain at least 2 characters
4173 # that are letters or digits. [required]
Bu Sun Kim65020912020-05-20 12:08:20 -07004174 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004175 ],
4176 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004177 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004178 # is accepted.
Bu Sun Kim65020912020-05-20 12:08:20 -07004179 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004180 # Example: gs://[BUCKET_NAME]/dictionary.txt
4181 },
4182 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004183 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression which defines the rule.
4184 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
4185 # specified, the entire match is returned. No more than 3 may be included.
4186 42,
4187 ],
4188 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
4189 # (https://github.com/google/re2/wiki/Syntax) can be found under the
4190 # google/re2 repository on GitHub.
4191 },
4192 &quot;excludeInfoTypes&quot;: { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
4193 &quot;infoTypes&quot;: [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
4194 # contained within with a finding of an infoType from this list. For
4195 # example, for `InspectionRuleSet.info_types` containing &quot;PHONE_NUMBER&quot;` and
4196 # `exclusion_rule` containing `exclude_info_types.info_types` with
4197 # &quot;EMAIL_ADDRESS&quot; the phone number findings are dropped if they overlap
4198 # with EMAIL_ADDRESS finding.
4199 # That leads to &quot;555-222-2222@example.org&quot; to generate only a single
4200 # finding, namely email address.
4201 { # Type of information detected by the API.
4202 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
4203 # creating a CustomInfoType, or one of the names listed
4204 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4205 # a built-in type. InfoType names should conform to the pattern
4206 # `[a-zA-Z0-9_]{1,64}`.
4207 },
4208 ],
4209 },
4210 &quot;matchingType&quot;: &quot;A String&quot;, # How the rule is applied, see MatchingType documentation for details.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004211 },
4212 },
4213 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07004214 },
4215 ],
4216 &quot;limits&quot;: { # Configuration to control the number of findings returned. # Configuration to control the number of findings returned.
4217 &quot;maxFindingsPerItem&quot;: 42, # Max number of findings that will be returned for each item scanned.
4218 # When set within `InspectJobConfig`,
4219 # the maximum returned is 2000 regardless if this is set higher.
4220 # When set within `InspectContentRequest`, this field is ignored.
4221 &quot;maxFindingsPerInfoType&quot;: [ # Configuration of findings limit given for specified infoTypes.
4222 { # Max findings configuration per infoType, per content item or long
4223 # running DlpJob.
4224 &quot;maxFindings&quot;: 42, # Max findings limit for the given infoType.
4225 &quot;infoType&quot;: { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
4226 # info_type should be provided. If InfoTypeLimit does not have an
4227 # info_type, the DLP API applies the limit against all info_types that
4228 # are found but not specified in another InfoTypeLimit.
4229 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004230 # creating a CustomInfoType, or one of the names listed
4231 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4232 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07004233 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004234 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004235 },
4236 ],
4237 &quot;maxFindingsPerRequest&quot;: 42, # Max number of findings that will be returned per request/job.
4238 # When set within `InspectContentRequest`, the maximum returned is 2000
4239 # regardless if this is set higher.
4240 },
4241 &quot;contentOptions&quot;: [ # List of options defining data content to scan.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004242 # If empty, text, images, and other content will be included.
Bu Sun Kim65020912020-05-20 12:08:20 -07004243 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004244 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07004245 &quot;infoTypes&quot;: [ # Restricts what info_types to look for. The values must correspond to
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004246 # InfoType values returned by ListInfoTypes or listed at
4247 # https://cloud.google.com/dlp/docs/infotypes-reference.
4248 #
4249 # When no InfoTypes or CustomInfoTypes are specified in a request, the
4250 # system may automatically choose what detectors to run. By default this may
4251 # be all types, but may change over time as detectors are updated.
4252 #
Dan O'Mearadd494642020-05-01 07:42:23 -07004253 # If you need precise control and predictability as to what detectors are
4254 # run you should specify specific InfoTypes listed in the reference,
4255 # otherwise a default list will be used, which may change over time.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004256 { # Type of information detected by the API.
Bu Sun Kim65020912020-05-20 12:08:20 -07004257 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004258 # creating a CustomInfoType, or one of the names listed
4259 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4260 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07004261 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004262 },
4263 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07004264 &quot;minLikelihood&quot;: &quot;A String&quot;, # Only returns findings equal or above this threshold. The default is
4265 # POSSIBLE.
4266 # See https://cloud.google.com/dlp/docs/likelihood to learn more.
4267 &quot;excludeInfoTypes&quot;: True or False, # When true, excludes type information of the findings.
4268 &quot;customInfoTypes&quot;: [ # CustomInfoTypes provided by the user. See
4269 # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
4270 { # Custom information type provided by the user. Used to find domain-specific
4271 # sensitive information configurable to the data in question.
4272 &quot;likelihood&quot;: &quot;A String&quot;, # Likelihood to return for this CustomInfoType. This base value can be
4273 # altered by a detection rule if the finding meets the criteria specified by
4274 # the rule. Defaults to `VERY_LIKELY` if not specified.
4275 &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
4276 # infoType, when the name matches one of existing infoTypes and that infoType
4277 # is specified in `InspectContent.info_types` field. Specifying the latter
4278 # adds findings to the one detected by the system. If built-in info type is
4279 # not specified in `InspectContent.info_types` list then the name is treated
4280 # as a custom info type.
4281 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
4282 # creating a CustomInfoType, or one of the names listed
4283 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4284 # a built-in type. InfoType names should conform to the pattern
4285 # `[a-zA-Z0-9_]{1,64}`.
4286 },
4287 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
4288 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
4289 # specified, the entire match is returned. No more than 3 may be included.
4290 42,
4291 ],
4292 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
4293 # (https://github.com/google/re2/wiki/Syntax) can be found under the
4294 # google/re2 repository on GitHub.
4295 },
4296 &quot;detectionRules&quot;: [ # Set of detection rules to apply to all findings of this CustomInfoType.
4297 # Rules are applied in order that they are specified. Not supported for the
4298 # `surrogate_type` CustomInfoType.
4299 { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
4300 # `CustomInfoType` to alter behavior under certain circumstances, depending
4301 # on the specific details of the rule. Not supported for the `surrogate_type`
4302 # custom infoType.
4303 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
4304 # proximity of hotwords.
4305 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
4306 # part of a detection rule.
4307 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
4308 # levels. For example, if a finding would be `POSSIBLE` without the
4309 # detection rule and `relative_likelihood` is 1, then it is upgraded to
4310 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
4311 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
4312 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
4313 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
4314 # a final likelihood of `LIKELY`.
4315 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
4316 },
4317 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
4318 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
4319 # specified, the entire match is returned. No more than 3 may be included.
4320 42,
4321 ],
4322 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
4323 # (https://github.com/google/re2/wiki/Syntax) can be found under the
4324 # google/re2 repository on GitHub.
4325 },
4326 &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.
4327 # The total length of the window cannot exceed 1000 characters. Note that
4328 # the finding itself will be included in the window, so that hotwords may
4329 # be used to match substrings of the finding itself. For example, the
4330 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
4331 # adjusted upwards if the area code is known to be the local area code of
4332 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
4333 # is the area code in question.
4334 # rule.
4335 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
4336 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
4337 },
4338 },
4339 },
4340 ],
4341 &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
4342 # to be returned. It still can be used for rules matching.
4343 &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.
4344 # be used to match sensitive information specific to the data, such as a list
4345 # of employee IDs or job titles.
4346 #
4347 # Dictionary words are case-insensitive and all characters other than letters
4348 # and digits in the unicode [Basic Multilingual
4349 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
4350 # will be replaced with whitespace when scanning for matches, so the
4351 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
4352 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
4353 # surrounding any match must be of a different type than the adjacent
4354 # characters within the word, so letters must be next to non-letters and
4355 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
4356 # match the first three letters of the text &quot;jen123&quot; but will return no
4357 # matches for &quot;jennifer&quot;.
4358 #
4359 # Dictionary words containing a large number of characters that are not
4360 # letters or digits may result in unexpected findings because such characters
4361 # are treated as whitespace. The
4362 # [limits](https://cloud.google.com/dlp/limits) page contains details about
4363 # the size limits of dictionaries. For dictionaries that do not fit within
4364 # these constraints, consider using `LargeCustomDictionaryConfig` in the
4365 # `StoredInfoType` API.
4366 &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.
4367 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
4368 # at least one phrase and every phrase must contain at least 2 characters
4369 # that are letters or digits. [required]
4370 &quot;A String&quot;,
4371 ],
4372 },
4373 &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
4374 # is accepted.
4375 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
4376 # Example: gs://[BUCKET_NAME]/dictionary.txt
4377 },
4378 },
4379 &quot;storedType&quot;: { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
4380 # `InspectDataSource`. Not currently supported in `InspectContent`.
4381 &quot;name&quot;: &quot;A String&quot;, # Resource name of the requested `StoredInfoType`, for example
4382 # `organizations/433245324/storedInfoTypes/432452342` or
4383 # `projects/project-id/storedInfoTypes/432452342`.
4384 &quot;createTime&quot;: &quot;A String&quot;, # Timestamp indicating when the version of the `StoredInfoType` used for
4385 # inspection was created. Output-only field, populated by the system.
4386 },
4387 &quot;surrogateType&quot;: { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
4388 # support reversing.
4389 # such as
4390 # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
4391 # These types of transformations are
4392 # those that perform pseudonymization, thereby producing a &quot;surrogate&quot; as
4393 # output. This should be used in conjunction with a field on the
4394 # transformation such as `surrogate_info_type`. This CustomInfoType does
4395 # not support the use of `detection_rules`.
4396 },
4397 },
4398 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004399 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004400 &quot;actions&quot;: [ # Actions to execute at the completion of the job.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004401 { # A task to execute on the completion of a job.
4402 # See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
Bu Sun Kim65020912020-05-20 12:08:20 -07004403 &quot;publishSummaryToCscc&quot;: { # Publish the result summary of a DlpJob to the Cloud Security # Publish summary to Cloud Security Command Center (Alpha).
4404 # Command Center (CSCC Alpha).
4405 # This action is only available for projects which are parts of
4406 # an organization and whitelisted for the alpha Cloud Security Command
4407 # Center.
4408 # The action will publish count of finding instances and their info types.
4409 # The summary of findings will be persisted in CSCC and are governed by CSCC
4410 # service-specific policy, see https://cloud.google.com/terms/service-terms
4411 # Only a single instance of this action can be specified.
4412 # Compatible with: Inspect
4413 },
4414 &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
4415 # completion/failure.
4416 # completion/failure.
4417 },
4418 &quot;saveFindings&quot;: { # If set, the detailed findings will be persisted to the specified # Save resulting findings in a provided location.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004419 # OutputStorageConfig. Only a single instance of this action can be
4420 # specified.
4421 # Compatible with: Inspect, Risk
Bu Sun Kim65020912020-05-20 12:08:20 -07004422 &quot;outputConfig&quot;: { # Cloud repository for storing output. # Location to store findings outside of DLP.
4423 &quot;outputSchema&quot;: &quot;A String&quot;, # Schema used for writing the findings for Inspect jobs. This field is only
4424 # used for Inspect and must be unspecified for Risk jobs. Columns are derived
4425 # from the `Finding` object. If appending to an existing table, any columns
4426 # from the predefined schema that are missing will be added. No columns in
4427 # the existing table will be deleted.
4428 #
4429 # If unspecified, then all available columns will be used for a new table or
4430 # an (existing) table with no schema, and no changes will be made to an
4431 # existing table that has a schema.
4432 # Only for use with external storage.
4433 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004434 # dataset. If table_id is not set a new one will be generated
4435 # for you with the following format:
4436 # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
4437 # generating the date details.
4438 #
4439 # For Inspect, each column in an existing output table must have the same
4440 # name, type, and mode of a field in the `Finding` object.
4441 #
4442 # For Risk, an existing output table should be the output of a previous
4443 # Risk analysis job run on the same source table, with the same privacy
4444 # metric and quasi-identifiers. Risk jobs that analyze the same table but
4445 # compute a different privacy metric, or use different sets of
4446 # quasi-identifiers, cannot store their results in the same table.
4447 # identified by its project_id, dataset_id, and table_name. Within a query
4448 # a table is often referenced with a string in the format of:
Dan O'Mearadd494642020-05-01 07:42:23 -07004449 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
4450 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
Bu Sun Kim65020912020-05-20 12:08:20 -07004451 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004452 # If omitted, project ID is inferred from the API call.
Bu Sun Kim65020912020-05-20 12:08:20 -07004453 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
4454 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004455 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004456 },
4457 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004458 &quot;pubSub&quot;: { # Publish a message into given Pub/Sub topic when DlpJob has completed. The # Publish a notification to a pubsub topic.
4459 # message contains a single field, `DlpJobName`, which is equal to the
4460 # finished job&#x27;s
4461 # [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
4462 # Compatible with: Inspect, Risk
4463 &quot;topic&quot;: &quot;A String&quot;, # Cloud Pub/Sub topic to send notifications to. The topic must have given
4464 # publishing access rights to the DLP API service account executing
4465 # the long running DlpJob sending the notifications.
4466 # Format is projects/{project}/topics/{topic}.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004467 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004468 &quot;publishFindingsToCloudDataCatalog&quot;: { # Publish findings of a DlpJob to Cloud Data Catalog. Labels summarizing the # Publish findings to Cloud Datahub.
Dan O'Mearadd494642020-05-01 07:42:23 -07004469 # results of the DlpJob will be applied to the entry for the resource scanned
4470 # in Cloud Data Catalog. Any labels previously written by another DlpJob will
4471 # be deleted. InfoType naming patterns are strictly enforced when using this
4472 # feature. Note that the findings will be persisted in Cloud Data Catalog
4473 # storage and are governed by Data Catalog service-specific policy, see
4474 # https://cloud.google.com/terms/service-terms
4475 # Only a single instance of this action can be specified and only allowed if
4476 # all resources being scanned are BigQuery tables.
4477 # Compatible with: Inspect
4478 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004479 &quot;publishToStackdriver&quot;: { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This # Enable Stackdriver metric dlp.googleapis.com/finding_count.
4480 # will publish a metric to stack driver on each infotype requested and
4481 # how many findings were found for it. CustomDetectors will be bucketed
4482 # as &#x27;Custom&#x27; under the Stackdriver label &#x27;info_type&#x27;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004483 },
4484 },
4485 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07004486 &quot;storageConfig&quot;: { # Shared message indicating Cloud storage type. # The data to scan.
4487 &quot;datastoreOptions&quot;: { # Options defining a data set within Google Cloud Datastore. # Google Cloud Datastore options.
4488 &quot;partitionId&quot;: { # Datastore partition ID. # A partition ID identifies a grouping of entities. The grouping is always
4489 # by project and namespace, however the namespace ID may be empty.
4490 # A partition ID identifies a grouping of entities. The grouping is always
4491 # by project and namespace, however the namespace ID may be empty.
4492 #
4493 # A partition ID contains several dimensions:
4494 # project ID and namespace ID.
4495 &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
4496 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
4497 },
4498 &quot;kind&quot;: { # A representation of a Datastore kind. # The kind to process.
4499 &quot;name&quot;: &quot;A String&quot;, # The name of the kind.
4500 },
4501 },
4502 &quot;timespanConfig&quot;: { # Configuration of the timespan of the items to include in scanning.
4503 # Currently only supported when inspecting Google Cloud Storage and BigQuery.
4504 &quot;timestampField&quot;: { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items.
4505 # Used for data sources like Datastore and BigQuery.
4506 #
4507 # For BigQuery:
4508 # Required to filter out rows based on the given start and
4509 # end times. If not specified and the table was modified between the given
4510 # start and end times, the entire table will be scanned.
4511 # The valid data types of the timestamp field are: `INTEGER`, `DATE`,
4512 # `TIMESTAMP`, or `DATETIME` BigQuery column.
4513 #
4514 # For Datastore.
4515 # Valid data types of the timestamp field are: `TIMESTAMP`.
4516 # Datastore entity will be scanned if the timestamp property does not
4517 # exist or its value is empty or invalid.
4518 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
4519 },
4520 &quot;enableAutoPopulationOfTimespanConfig&quot;: True or False, # When the job is started by a JobTrigger we will automatically figure out
4521 # a valid start_time to avoid scanning files that have not been modified
4522 # since the last time the JobTrigger executed. This will be based on the
4523 # time of the execution of the last run of the JobTrigger.
4524 &quot;endTime&quot;: &quot;A String&quot;, # Exclude files or rows newer than this value.
4525 # If set to zero, no upper time limit is applied.
4526 &quot;startTime&quot;: &quot;A String&quot;, # Exclude files or rows older than this value.
4527 },
4528 &quot;cloudStorageOptions&quot;: { # Options defining a file or a set of files within a Google Cloud Storage # Google Cloud Storage options.
4529 # bucket.
4530 &quot;filesLimitPercent&quot;: 42, # Limits the number of files to scan to this percentage of the input FileSet.
4531 # Number of files scanned is rounded down. Must be between 0 and 100,
4532 # inclusively. Both 0 and 100 means no limit. Defaults to 0.
4533 &quot;fileTypes&quot;: [ # List of file type groups to include in the scan.
4534 # If empty, all files are scanned and available data format processors
4535 # are applied. In addition, the binary content of the selected files
4536 # is always scanned as well.
4537 # Images are scanned only as binary if the specified region
4538 # does not support image inspection and no file_types were specified.
4539 # Image inspection is restricted to &#x27;global&#x27;, &#x27;us&#x27;, &#x27;asia&#x27;, and &#x27;europe&#x27;.
4540 &quot;A String&quot;,
4541 ],
4542 &quot;sampleMethod&quot;: &quot;A String&quot;,
4543 &quot;bytesLimitPerFilePercent&quot;: 42, # Max percentage of bytes to scan from a file. The rest are omitted. The
4544 # number of bytes scanned is rounded down. Must be between 0 and 100,
4545 # inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
4546 # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
4547 &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
4548 # than this value then the rest of the bytes are omitted. Only one
4549 # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
4550 &quot;fileSet&quot;: { # Set of files to scan. # The set of one or more files to scan.
4551 &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
4552 # `regex_file_set` must be set.
4553 # expressions are used to allow fine-grained control over which files in the
4554 # bucket to include.
4555 #
4556 # Included files are those that match at least one item in `include_regex` and
4557 # do not match any items in `exclude_regex`. Note that a file that matches
4558 # items from both lists will _not_ be included. For a match to occur, the
4559 # entire file path (i.e., everything in the url after the bucket name) must
4560 # match the regular expression.
4561 #
4562 # For example, given the input `{bucket_name: &quot;mybucket&quot;, include_regex:
4563 # [&quot;directory1/.*&quot;], exclude_regex:
4564 # [&quot;directory1/excluded.*&quot;]}`:
4565 #
4566 # * `gs://mybucket/directory1/myfile` will be included
4567 # * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
4568 # across `/`)
4569 # * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
4570 # full path doesn&#x27;t match any items in `include_regex`)
4571 # * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
4572 # matches an item in `exclude_regex`)
4573 #
4574 # If `include_regex` is left empty, it will match all files by default
4575 # (this is equivalent to setting `include_regex: [&quot;.*&quot;]`).
4576 #
4577 # Some other common use cases:
4578 #
4579 # * `{bucket_name: &quot;mybucket&quot;, exclude_regex: [&quot;.*\.pdf&quot;]}` will include all
4580 # files in `mybucket` except for .pdf files
4581 # * `{bucket_name: &quot;mybucket&quot;, include_regex: [&quot;directory/[^/]+&quot;]}` will
4582 # include all files directly under `gs://mybucket/directory/`, without matching
4583 # across `/`
4584 &quot;excludeRegex&quot;: [ # A list of regular expressions matching file paths to exclude. All files in
4585 # the bucket that match at least one of these regular expressions will be
4586 # excluded from the scan.
4587 #
4588 # Regular expressions use RE2
4589 # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
4590 # under the google/re2 repository on GitHub.
4591 &quot;A String&quot;,
4592 ],
4593 &quot;bucketName&quot;: &quot;A String&quot;, # The name of a Cloud Storage bucket. Required.
4594 &quot;includeRegex&quot;: [ # A list of regular expressions matching file paths to include. All files in
4595 # the bucket that match at least one of these regular expressions will be
4596 # included in the set of files, except for those that also match an item in
4597 # `exclude_regex`. Leaving this field empty will match all files by default
4598 # (this is equivalent to including `.*` in the list).
4599 #
4600 # Regular expressions use RE2
4601 # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
4602 # under the google/re2 repository on GitHub.
4603 &quot;A String&quot;,
4604 ],
4605 },
4606 &quot;url&quot;: &quot;A String&quot;, # The Cloud Storage url of the file(s) to scan, in the format
4607 # `gs://&lt;bucket&gt;/&lt;path&gt;`. Trailing wildcard in the path is allowed.
4608 #
4609 # If the url ends in a trailing slash, the bucket or directory represented
4610 # by the url will be scanned non-recursively (content in sub-directories
4611 # will not be scanned). This means that `gs://mybucket/` is equivalent to
4612 # `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
4613 # `gs://mybucket/directory/*`.
4614 #
4615 # Exactly one of `url` or `regex_file_set` must be set.
4616 },
4617 },
4618 &quot;bigQueryOptions&quot;: { # Options defining BigQuery table and row identifiers. # BigQuery options.
4619 &quot;sampleMethod&quot;: &quot;A String&quot;,
4620 &quot;tableReference&quot;: { # Message defining the location of a BigQuery table. A table is uniquely # Complete BigQuery table reference.
4621 # identified by its project_id, dataset_id, and table_name. Within a query
4622 # a table is often referenced with a string in the format of:
4623 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
4624 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
4625 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
4626 # If omitted, project ID is inferred from the API call.
4627 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
4628 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
4629 },
4630 &quot;identifyingFields&quot;: [ # Table fields that may uniquely identify a row within the table. When
4631 # `actions.saveFindings.outputConfig.table` is specified, the values of
4632 # columns specified here are available in the output table under
4633 # `location.content_locations.record_location.record_key.id_values`. Nested
4634 # fields such as `person.birthdate.year` are allowed.
4635 { # General identifier of a data field in a storage service.
4636 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
4637 },
4638 ],
4639 &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows
4640 # scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
4641 # 100 means no limit. Defaults to 0. Only one of rows_limit and
4642 # rows_limit_percent can be specified. Cannot be used in conjunction with
4643 # TimespanConfig.
4644 &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the
4645 # rest of the rows are omitted. If not set, or if set to 0, all rows will be
4646 # scanned. Only one of rows_limit and rows_limit_percent can be specified.
4647 # Cannot be used in conjunction with TimespanConfig.
4648 &quot;excludedFields&quot;: [ # References to fields excluded from scanning. This allows you to skip
4649 # inspection of entire columns which you know have no findings.
4650 { # General identifier of a data field in a storage service.
4651 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
4652 },
4653 ],
4654 },
4655 &quot;hybridOptions&quot;: { # Configuration to control jobs where the content being inspected is outside # Hybrid inspection options.
4656 # Early access feature is in a pre-release state and might change or have
4657 # limited support. For more information, see
4658 # https://cloud.google.com/products#product-launch-stages.
4659 # of Google Cloud Platform.
4660 &quot;labels&quot;: { # To organize findings, these labels will be added to each finding.
4661 #
4662 # Label keys must be between 1 and 63 characters long and must conform
4663 # to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
4664 #
4665 # Label values must be between 0 and 63 characters long and must conform
4666 # to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
4667 #
4668 # No more than 10 labels can be associated with a given finding.
4669 #
4670 # Examples:
4671 # * `&quot;environment&quot; : &quot;production&quot;`
4672 # * `&quot;pipeline&quot; : &quot;etl&quot;`
4673 &quot;a_key&quot;: &quot;A String&quot;,
4674 },
4675 &quot;description&quot;: &quot;A String&quot;, # A short description of where the data is coming from. Will be stored once
4676 # in the job. 256 max length.
4677 &quot;tableOptions&quot;: { # Instructions regarding the table content being inspected. # If the container is a table, additional information to make findings
4678 # meaningful such as the columns that are primary keys.
4679 &quot;identifyingFields&quot;: [ # The columns that are the primary keys for table objects included in
4680 # ContentItem. A copy of this cell&#x27;s value will stored alongside alongside
4681 # each finding so that the finding can be traced to the specific row it came
4682 # from. No more than 3 may be provided.
4683 { # General identifier of a data field in a storage service.
4684 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
4685 },
4686 ],
4687 },
4688 &quot;requiredFindingLabelKeys&quot;: [ # These are labels that each inspection request must include within their
4689 # &#x27;finding_labels&#x27; map. Request may contain others, but any missing one of
4690 # these will be rejected.
4691 #
4692 # Label keys must be between 1 and 63 characters long and must conform
4693 # to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
4694 #
4695 # No more than 10 keys can be required.
4696 &quot;A String&quot;,
4697 ],
4698 },
4699 },
4700 &quot;inspectTemplateName&quot;: &quot;A String&quot;, # If provided, will be used as the default for all values in InspectConfig.
4701 # `inspect_config` will be merged into the values persisted as part of the
4702 # template.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004703 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004704 &quot;status&quot;: &quot;A String&quot;, # Required. A status for this trigger.
4705 &quot;lastRunTime&quot;: &quot;A String&quot;, # Output only. The timestamp of the last time this trigger executed.
4706 &quot;name&quot;: &quot;A String&quot;, # Unique resource name for the triggeredJob, assigned by the service when the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004707 # triggeredJob is created, for example
Dan O'Mearadd494642020-05-01 07:42:23 -07004708 # `projects/dlp-test-project/jobTriggers/53234423`.
Bu Sun Kim65020912020-05-20 12:08:20 -07004709 &quot;errors&quot;: [ # Output only. A stream of errors encountered when the trigger was activated. Repeated
4710 # errors may result in the JobTrigger automatically being paused.
4711 # Will return the last 100 errors. Whenever the JobTrigger is modified
4712 # this list will be cleared.
4713 { # Details information about an error encountered during job execution or
4714 # the results of an unsuccessful activation of the JobTrigger.
4715 &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for # Detailed error codes and messages.
4716 # different programming environments, including REST APIs and RPC APIs. It is
4717 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
4718 # three pieces of data: error code, error message, and error details.
4719 #
4720 # You can find out more about this error model and how to work with it in the
4721 # [API Design Guide](https://cloud.google.com/apis/design/errors).
4722 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
4723 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
4724 # user-facing error message should be localized and sent in the
4725 # google.rpc.Status.details field, or localized by the client.
4726 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
4727 # message types for APIs to use.
4728 {
4729 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
4730 },
4731 ],
4732 },
4733 &quot;timestamps&quot;: [ # The times the error occurred.
4734 &quot;A String&quot;,
4735 ],
4736 },
4737 ],
4738 &quot;description&quot;: &quot;A String&quot;, # User provided description (max 256 chars)
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004739 },
4740 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07004741 &quot;nextPageToken&quot;: &quot;A String&quot;, # If the next page is available then the next page token to be used
4742 # in following ListJobTriggers request.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004743 }</pre>
4744</div>
4745
4746<div class="method">
4747 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
4748 <pre>Retrieves the next page of results.
4749
4750Args:
4751 previous_request: The request for the previous page. (required)
4752 previous_response: The response from the request for the previous page. (required)
4753
4754Returns:
Bu Sun Kim65020912020-05-20 12:08:20 -07004755 A request object that you can call &#x27;execute()&#x27; on to request the next
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004756 page. Returns None if there are no more items in the collection.
4757 </pre>
4758</div>
4759
4760<div class="method">
Dan O'Mearadd494642020-05-01 07:42:23 -07004761 <code class="details" id="patch">patch(name, body=None, x__xgafv=None)</code>
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004762 <pre>Updates a job trigger.
4763See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
4764
4765Args:
Dan O'Mearadd494642020-05-01 07:42:23 -07004766 name: string, Required. Resource name of the project and the triggeredJob, for example
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004767`projects/dlp-test-project/jobTriggers/53234423`. (required)
Dan O'Mearadd494642020-05-01 07:42:23 -07004768 body: object, The request body.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004769 The object takes the form of:
4770
4771{ # Request message for UpdateJobTrigger.
Bu Sun Kim65020912020-05-20 12:08:20 -07004772 &quot;updateMask&quot;: &quot;A String&quot;, # Mask to control which fields get updated.
4773 &quot;jobTrigger&quot;: { # Contains a configuration to make dlp api calls on a repeating basis. # New JobTrigger value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004774 # See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
Bu Sun Kim65020912020-05-20 12:08:20 -07004775 &quot;triggers&quot;: [ # A list of triggers which will be OR&#x27;ed together. Only one in the list
Dan O'Mearadd494642020-05-01 07:42:23 -07004776 # needs to trigger for a job to be started. The list may contain only
4777 # a single Schedule trigger and must have at least one object.
4778 { # What event needs to occur for a new job to be started.
Bu Sun Kim65020912020-05-20 12:08:20 -07004779 &quot;schedule&quot;: { # Schedule for triggeredJobs. # Create a job on a repeating basis based on the elapse of time.
4780 &quot;recurrencePeriodDuration&quot;: &quot;A String&quot;, # With this option a job is started a regular periodic basis. For
Dan O'Mearadd494642020-05-01 07:42:23 -07004781 # example: every day (86400 seconds).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004782 #
Dan O'Mearadd494642020-05-01 07:42:23 -07004783 # A scheduled start time will be skipped if the previous
4784 # execution has not ended when its scheduled time occurs.
4785 #
4786 # This value must be set to a time duration greater than or equal
4787 # to 1 day and can be no longer than 60 days.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004788 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004789 &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.
Dan O'Mearadd494642020-05-01 07:42:23 -07004790 # Early access feature is in a pre-release state and might change or have
4791 # limited support. For more information, see
4792 # https://cloud.google.com/products#product-launch-stages.
Bu Sun Kim65020912020-05-20 12:08:20 -07004793 # and finished.
Dan O'Mearadd494642020-05-01 07:42:23 -07004794 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004795 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004796 ],
4797 &quot;displayName&quot;: &quot;A String&quot;, # Display name (max 100 chars)
4798 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of a triggeredJob.
4799 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of a triggeredJob.
4800 &quot;inspectJob&quot;: { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration.
4801 &quot;inspectConfig&quot;: { # Configuration description of the scanning process. # How and what to scan for.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004802 # When used with redactContent only info_types and min_likelihood are currently
4803 # used.
Bu Sun Kim65020912020-05-20 12:08:20 -07004804 &quot;includeQuote&quot;: True or False, # When true, a contextual quote from the data that triggered a finding is
4805 # included in the response; see Finding.quote.
4806 &quot;ruleSet&quot;: [ # Set of rules to apply to the findings for this InspectConfig.
4807 # Exclusion rules, contained in the set are executed in the end, other
4808 # rules are executed in the order they are specified for each info type.
4809 { # Rule set for modifying a set of infoTypes to alter behavior under certain
4810 # circumstances, depending on the specific details of the rules within the set.
4811 &quot;infoTypes&quot;: [ # List of infoTypes this rule set is applied to.
4812 { # Type of information detected by the API.
4813 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004814 # creating a CustomInfoType, or one of the names listed
4815 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4816 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07004817 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004818 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004819 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07004820 &quot;rules&quot;: [ # Set of rules to be applied to infoTypes. The rules are applied in order.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004821 { # A single inspection rule to be applied to infoTypes, specified in
4822 # `InspectionRuleSet`.
Bu Sun Kim65020912020-05-20 12:08:20 -07004823 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004824 # proximity of hotwords.
Bu Sun Kim65020912020-05-20 12:08:20 -07004825 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004826 # part of a detection rule.
Bu Sun Kim65020912020-05-20 12:08:20 -07004827 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004828 # levels. For example, if a finding would be `POSSIBLE` without the
4829 # detection rule and `relative_likelihood` is 1, then it is upgraded to
4830 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
4831 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
4832 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
4833 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
4834 # a final likelihood of `LIKELY`.
Bu Sun Kim65020912020-05-20 12:08:20 -07004835 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004836 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004837 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
4838 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004839 # specified, the entire match is returned. No more than 3 may be included.
4840 42,
4841 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07004842 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
4843 # (https://github.com/google/re2/wiki/Syntax) can be found under the
4844 # google/re2 repository on GitHub.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004845 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004846 &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.
4847 # The total length of the window cannot exceed 1000 characters. Note that
4848 # the finding itself will be included in the window, so that hotwords may
4849 # be used to match substrings of the finding itself. For example, the
4850 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
4851 # adjusted upwards if the area code is known to be the local area code of
4852 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
4853 # is the area code in question.
4854 # rule.
4855 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
4856 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004857 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004858 },
4859 &quot;exclusionRule&quot;: { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
4860 # `InspectionRuleSet` are removed from results.
4861 &quot;dictionary&quot;: { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004862 # be used to match sensitive information specific to the data, such as a list
4863 # of employee IDs or job titles.
4864 #
4865 # Dictionary words are case-insensitive and all characters other than letters
4866 # and digits in the unicode [Basic Multilingual
4867 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
4868 # will be replaced with whitespace when scanning for matches, so the
Bu Sun Kim65020912020-05-20 12:08:20 -07004869 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
4870 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004871 # surrounding any match must be of a different type than the adjacent
4872 # characters within the word, so letters must be next to non-letters and
Bu Sun Kim65020912020-05-20 12:08:20 -07004873 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
4874 # match the first three letters of the text &quot;jen123&quot; but will return no
4875 # matches for &quot;jennifer&quot;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004876 #
4877 # Dictionary words containing a large number of characters that are not
4878 # letters or digits may result in unexpected findings because such characters
4879 # are treated as whitespace. The
4880 # [limits](https://cloud.google.com/dlp/limits) page contains details about
4881 # the size limits of dictionaries. For dictionaries that do not fit within
4882 # these constraints, consider using `LargeCustomDictionaryConfig` in the
4883 # `StoredInfoType` API.
Bu Sun Kim65020912020-05-20 12:08:20 -07004884 &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.
4885 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004886 # at least one phrase and every phrase must contain at least 2 characters
4887 # that are letters or digits. [required]
Bu Sun Kim65020912020-05-20 12:08:20 -07004888 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004889 ],
4890 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004891 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004892 # is accepted.
Bu Sun Kim65020912020-05-20 12:08:20 -07004893 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004894 # Example: gs://[BUCKET_NAME]/dictionary.txt
4895 },
4896 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004897 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression which defines the rule.
4898 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
4899 # specified, the entire match is returned. No more than 3 may be included.
4900 42,
4901 ],
4902 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
4903 # (https://github.com/google/re2/wiki/Syntax) can be found under the
4904 # google/re2 repository on GitHub.
4905 },
4906 &quot;excludeInfoTypes&quot;: { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
4907 &quot;infoTypes&quot;: [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
4908 # contained within with a finding of an infoType from this list. For
4909 # example, for `InspectionRuleSet.info_types` containing &quot;PHONE_NUMBER&quot;` and
4910 # `exclusion_rule` containing `exclude_info_types.info_types` with
4911 # &quot;EMAIL_ADDRESS&quot; the phone number findings are dropped if they overlap
4912 # with EMAIL_ADDRESS finding.
4913 # That leads to &quot;555-222-2222@example.org&quot; to generate only a single
4914 # finding, namely email address.
4915 { # Type of information detected by the API.
4916 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
4917 # creating a CustomInfoType, or one of the names listed
4918 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4919 # a built-in type. InfoType names should conform to the pattern
4920 # `[a-zA-Z0-9_]{1,64}`.
4921 },
4922 ],
4923 },
4924 &quot;matchingType&quot;: &quot;A String&quot;, # How the rule is applied, see MatchingType documentation for details.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004925 },
4926 },
4927 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07004928 },
4929 ],
4930 &quot;limits&quot;: { # Configuration to control the number of findings returned. # Configuration to control the number of findings returned.
4931 &quot;maxFindingsPerItem&quot;: 42, # Max number of findings that will be returned for each item scanned.
4932 # When set within `InspectJobConfig`,
4933 # the maximum returned is 2000 regardless if this is set higher.
4934 # When set within `InspectContentRequest`, this field is ignored.
4935 &quot;maxFindingsPerInfoType&quot;: [ # Configuration of findings limit given for specified infoTypes.
4936 { # Max findings configuration per infoType, per content item or long
4937 # running DlpJob.
4938 &quot;maxFindings&quot;: 42, # Max findings limit for the given infoType.
4939 &quot;infoType&quot;: { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
4940 # info_type should be provided. If InfoTypeLimit does not have an
4941 # info_type, the DLP API applies the limit against all info_types that
4942 # are found but not specified in another InfoTypeLimit.
4943 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004944 # creating a CustomInfoType, or one of the names listed
4945 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4946 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07004947 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004948 },
Bu Sun Kim65020912020-05-20 12:08:20 -07004949 },
4950 ],
4951 &quot;maxFindingsPerRequest&quot;: 42, # Max number of findings that will be returned per request/job.
4952 # When set within `InspectContentRequest`, the maximum returned is 2000
4953 # regardless if this is set higher.
4954 },
4955 &quot;contentOptions&quot;: [ # List of options defining data content to scan.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004956 # If empty, text, images, and other content will be included.
Bu Sun Kim65020912020-05-20 12:08:20 -07004957 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004958 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07004959 &quot;infoTypes&quot;: [ # Restricts what info_types to look for. The values must correspond to
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004960 # InfoType values returned by ListInfoTypes or listed at
4961 # https://cloud.google.com/dlp/docs/infotypes-reference.
4962 #
4963 # When no InfoTypes or CustomInfoTypes are specified in a request, the
4964 # system may automatically choose what detectors to run. By default this may
4965 # be all types, but may change over time as detectors are updated.
4966 #
Dan O'Mearadd494642020-05-01 07:42:23 -07004967 # If you need precise control and predictability as to what detectors are
4968 # run you should specify specific InfoTypes listed in the reference,
4969 # otherwise a default list will be used, which may change over time.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004970 { # Type of information detected by the API.
Bu Sun Kim65020912020-05-20 12:08:20 -07004971 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004972 # creating a CustomInfoType, or one of the names listed
4973 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4974 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07004975 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07004976 },
4977 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07004978 &quot;minLikelihood&quot;: &quot;A String&quot;, # Only returns findings equal or above this threshold. The default is
4979 # POSSIBLE.
4980 # See https://cloud.google.com/dlp/docs/likelihood to learn more.
4981 &quot;excludeInfoTypes&quot;: True or False, # When true, excludes type information of the findings.
4982 &quot;customInfoTypes&quot;: [ # CustomInfoTypes provided by the user. See
4983 # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
4984 { # Custom information type provided by the user. Used to find domain-specific
4985 # sensitive information configurable to the data in question.
4986 &quot;likelihood&quot;: &quot;A String&quot;, # Likelihood to return for this CustomInfoType. This base value can be
4987 # altered by a detection rule if the finding meets the criteria specified by
4988 # the rule. Defaults to `VERY_LIKELY` if not specified.
4989 &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
4990 # infoType, when the name matches one of existing infoTypes and that infoType
4991 # is specified in `InspectContent.info_types` field. Specifying the latter
4992 # adds findings to the one detected by the system. If built-in info type is
4993 # not specified in `InspectContent.info_types` list then the name is treated
4994 # as a custom info type.
4995 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
4996 # creating a CustomInfoType, or one of the names listed
4997 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
4998 # a built-in type. InfoType names should conform to the pattern
4999 # `[a-zA-Z0-9_]{1,64}`.
5000 },
5001 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
5002 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
5003 # specified, the entire match is returned. No more than 3 may be included.
5004 42,
5005 ],
5006 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
5007 # (https://github.com/google/re2/wiki/Syntax) can be found under the
5008 # google/re2 repository on GitHub.
5009 },
5010 &quot;detectionRules&quot;: [ # Set of detection rules to apply to all findings of this CustomInfoType.
5011 # Rules are applied in order that they are specified. Not supported for the
5012 # `surrogate_type` CustomInfoType.
5013 { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
5014 # `CustomInfoType` to alter behavior under certain circumstances, depending
5015 # on the specific details of the rule. Not supported for the `surrogate_type`
5016 # custom infoType.
5017 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
5018 # proximity of hotwords.
5019 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
5020 # part of a detection rule.
5021 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
5022 # levels. For example, if a finding would be `POSSIBLE` without the
5023 # detection rule and `relative_likelihood` is 1, then it is upgraded to
5024 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
5025 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
5026 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
5027 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
5028 # a final likelihood of `LIKELY`.
5029 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
5030 },
5031 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
5032 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
5033 # specified, the entire match is returned. No more than 3 may be included.
5034 42,
5035 ],
5036 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
5037 # (https://github.com/google/re2/wiki/Syntax) can be found under the
5038 # google/re2 repository on GitHub.
5039 },
5040 &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.
5041 # The total length of the window cannot exceed 1000 characters. Note that
5042 # the finding itself will be included in the window, so that hotwords may
5043 # be used to match substrings of the finding itself. For example, the
5044 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
5045 # adjusted upwards if the area code is known to be the local area code of
5046 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
5047 # is the area code in question.
5048 # rule.
5049 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
5050 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
5051 },
5052 },
5053 },
5054 ],
5055 &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
5056 # to be returned. It still can be used for rules matching.
5057 &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.
5058 # be used to match sensitive information specific to the data, such as a list
5059 # of employee IDs or job titles.
5060 #
5061 # Dictionary words are case-insensitive and all characters other than letters
5062 # and digits in the unicode [Basic Multilingual
5063 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
5064 # will be replaced with whitespace when scanning for matches, so the
5065 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
5066 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
5067 # surrounding any match must be of a different type than the adjacent
5068 # characters within the word, so letters must be next to non-letters and
5069 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
5070 # match the first three letters of the text &quot;jen123&quot; but will return no
5071 # matches for &quot;jennifer&quot;.
5072 #
5073 # Dictionary words containing a large number of characters that are not
5074 # letters or digits may result in unexpected findings because such characters
5075 # are treated as whitespace. The
5076 # [limits](https://cloud.google.com/dlp/limits) page contains details about
5077 # the size limits of dictionaries. For dictionaries that do not fit within
5078 # these constraints, consider using `LargeCustomDictionaryConfig` in the
5079 # `StoredInfoType` API.
5080 &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.
5081 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
5082 # at least one phrase and every phrase must contain at least 2 characters
5083 # that are letters or digits. [required]
5084 &quot;A String&quot;,
5085 ],
5086 },
5087 &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
5088 # is accepted.
5089 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
5090 # Example: gs://[BUCKET_NAME]/dictionary.txt
5091 },
5092 },
5093 &quot;storedType&quot;: { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
5094 # `InspectDataSource`. Not currently supported in `InspectContent`.
5095 &quot;name&quot;: &quot;A String&quot;, # Resource name of the requested `StoredInfoType`, for example
5096 # `organizations/433245324/storedInfoTypes/432452342` or
5097 # `projects/project-id/storedInfoTypes/432452342`.
5098 &quot;createTime&quot;: &quot;A String&quot;, # Timestamp indicating when the version of the `StoredInfoType` used for
5099 # inspection was created. Output-only field, populated by the system.
5100 },
5101 &quot;surrogateType&quot;: { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
5102 # support reversing.
5103 # such as
5104 # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
5105 # These types of transformations are
5106 # those that perform pseudonymization, thereby producing a &quot;surrogate&quot; as
5107 # output. This should be used in conjunction with a field on the
5108 # transformation such as `surrogate_info_type`. This CustomInfoType does
5109 # not support the use of `detection_rules`.
5110 },
5111 },
5112 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005113 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005114 &quot;actions&quot;: [ # Actions to execute at the completion of the job.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005115 { # A task to execute on the completion of a job.
5116 # See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
Bu Sun Kim65020912020-05-20 12:08:20 -07005117 &quot;publishSummaryToCscc&quot;: { # Publish the result summary of a DlpJob to the Cloud Security # Publish summary to Cloud Security Command Center (Alpha).
5118 # Command Center (CSCC Alpha).
5119 # This action is only available for projects which are parts of
5120 # an organization and whitelisted for the alpha Cloud Security Command
5121 # Center.
5122 # The action will publish count of finding instances and their info types.
5123 # The summary of findings will be persisted in CSCC and are governed by CSCC
5124 # service-specific policy, see https://cloud.google.com/terms/service-terms
5125 # Only a single instance of this action can be specified.
5126 # Compatible with: Inspect
5127 },
5128 &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
5129 # completion/failure.
5130 # completion/failure.
5131 },
5132 &quot;saveFindings&quot;: { # If set, the detailed findings will be persisted to the specified # Save resulting findings in a provided location.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005133 # OutputStorageConfig. Only a single instance of this action can be
5134 # specified.
5135 # Compatible with: Inspect, Risk
Bu Sun Kim65020912020-05-20 12:08:20 -07005136 &quot;outputConfig&quot;: { # Cloud repository for storing output. # Location to store findings outside of DLP.
5137 &quot;outputSchema&quot;: &quot;A String&quot;, # Schema used for writing the findings for Inspect jobs. This field is only
5138 # used for Inspect and must be unspecified for Risk jobs. Columns are derived
5139 # from the `Finding` object. If appending to an existing table, any columns
5140 # from the predefined schema that are missing will be added. No columns in
5141 # the existing table will be deleted.
5142 #
5143 # If unspecified, then all available columns will be used for a new table or
5144 # an (existing) table with no schema, and no changes will be made to an
5145 # existing table that has a schema.
5146 # Only for use with external storage.
5147 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005148 # dataset. If table_id is not set a new one will be generated
5149 # for you with the following format:
5150 # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
5151 # generating the date details.
5152 #
5153 # For Inspect, each column in an existing output table must have the same
5154 # name, type, and mode of a field in the `Finding` object.
5155 #
5156 # For Risk, an existing output table should be the output of a previous
5157 # Risk analysis job run on the same source table, with the same privacy
5158 # metric and quasi-identifiers. Risk jobs that analyze the same table but
5159 # compute a different privacy metric, or use different sets of
5160 # quasi-identifiers, cannot store their results in the same table.
5161 # identified by its project_id, dataset_id, and table_name. Within a query
5162 # a table is often referenced with a string in the format of:
Dan O'Mearadd494642020-05-01 07:42:23 -07005163 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
5164 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
Bu Sun Kim65020912020-05-20 12:08:20 -07005165 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005166 # If omitted, project ID is inferred from the API call.
Bu Sun Kim65020912020-05-20 12:08:20 -07005167 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
5168 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005169 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005170 },
5171 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005172 &quot;pubSub&quot;: { # Publish a message into given Pub/Sub topic when DlpJob has completed. The # Publish a notification to a pubsub topic.
5173 # message contains a single field, `DlpJobName`, which is equal to the
5174 # finished job&#x27;s
5175 # [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
5176 # Compatible with: Inspect, Risk
5177 &quot;topic&quot;: &quot;A String&quot;, # Cloud Pub/Sub topic to send notifications to. The topic must have given
5178 # publishing access rights to the DLP API service account executing
5179 # the long running DlpJob sending the notifications.
5180 # Format is projects/{project}/topics/{topic}.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005181 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005182 &quot;publishFindingsToCloudDataCatalog&quot;: { # Publish findings of a DlpJob to Cloud Data Catalog. Labels summarizing the # Publish findings to Cloud Datahub.
Dan O'Mearadd494642020-05-01 07:42:23 -07005183 # results of the DlpJob will be applied to the entry for the resource scanned
5184 # in Cloud Data Catalog. Any labels previously written by another DlpJob will
5185 # be deleted. InfoType naming patterns are strictly enforced when using this
5186 # feature. Note that the findings will be persisted in Cloud Data Catalog
5187 # storage and are governed by Data Catalog service-specific policy, see
5188 # https://cloud.google.com/terms/service-terms
5189 # Only a single instance of this action can be specified and only allowed if
5190 # all resources being scanned are BigQuery tables.
5191 # Compatible with: Inspect
5192 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005193 &quot;publishToStackdriver&quot;: { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This # Enable Stackdriver metric dlp.googleapis.com/finding_count.
5194 # will publish a metric to stack driver on each infotype requested and
5195 # how many findings were found for it. CustomDetectors will be bucketed
5196 # as &#x27;Custom&#x27; under the Stackdriver label &#x27;info_type&#x27;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005197 },
5198 },
5199 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07005200 &quot;storageConfig&quot;: { # Shared message indicating Cloud storage type. # The data to scan.
5201 &quot;datastoreOptions&quot;: { # Options defining a data set within Google Cloud Datastore. # Google Cloud Datastore options.
5202 &quot;partitionId&quot;: { # Datastore partition ID. # A partition ID identifies a grouping of entities. The grouping is always
5203 # by project and namespace, however the namespace ID may be empty.
5204 # A partition ID identifies a grouping of entities. The grouping is always
5205 # by project and namespace, however the namespace ID may be empty.
5206 #
5207 # A partition ID contains several dimensions:
5208 # project ID and namespace ID.
5209 &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
5210 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
5211 },
5212 &quot;kind&quot;: { # A representation of a Datastore kind. # The kind to process.
5213 &quot;name&quot;: &quot;A String&quot;, # The name of the kind.
5214 },
5215 },
5216 &quot;timespanConfig&quot;: { # Configuration of the timespan of the items to include in scanning.
5217 # Currently only supported when inspecting Google Cloud Storage and BigQuery.
5218 &quot;timestampField&quot;: { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items.
5219 # Used for data sources like Datastore and BigQuery.
5220 #
5221 # For BigQuery:
5222 # Required to filter out rows based on the given start and
5223 # end times. If not specified and the table was modified between the given
5224 # start and end times, the entire table will be scanned.
5225 # The valid data types of the timestamp field are: `INTEGER`, `DATE`,
5226 # `TIMESTAMP`, or `DATETIME` BigQuery column.
5227 #
5228 # For Datastore.
5229 # Valid data types of the timestamp field are: `TIMESTAMP`.
5230 # Datastore entity will be scanned if the timestamp property does not
5231 # exist or its value is empty or invalid.
5232 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
5233 },
5234 &quot;enableAutoPopulationOfTimespanConfig&quot;: True or False, # When the job is started by a JobTrigger we will automatically figure out
5235 # a valid start_time to avoid scanning files that have not been modified
5236 # since the last time the JobTrigger executed. This will be based on the
5237 # time of the execution of the last run of the JobTrigger.
5238 &quot;endTime&quot;: &quot;A String&quot;, # Exclude files or rows newer than this value.
5239 # If set to zero, no upper time limit is applied.
5240 &quot;startTime&quot;: &quot;A String&quot;, # Exclude files or rows older than this value.
5241 },
5242 &quot;cloudStorageOptions&quot;: { # Options defining a file or a set of files within a Google Cloud Storage # Google Cloud Storage options.
5243 # bucket.
5244 &quot;filesLimitPercent&quot;: 42, # Limits the number of files to scan to this percentage of the input FileSet.
5245 # Number of files scanned is rounded down. Must be between 0 and 100,
5246 # inclusively. Both 0 and 100 means no limit. Defaults to 0.
5247 &quot;fileTypes&quot;: [ # List of file type groups to include in the scan.
5248 # If empty, all files are scanned and available data format processors
5249 # are applied. In addition, the binary content of the selected files
5250 # is always scanned as well.
5251 # Images are scanned only as binary if the specified region
5252 # does not support image inspection and no file_types were specified.
5253 # Image inspection is restricted to &#x27;global&#x27;, &#x27;us&#x27;, &#x27;asia&#x27;, and &#x27;europe&#x27;.
5254 &quot;A String&quot;,
5255 ],
5256 &quot;sampleMethod&quot;: &quot;A String&quot;,
5257 &quot;bytesLimitPerFilePercent&quot;: 42, # Max percentage of bytes to scan from a file. The rest are omitted. The
5258 # number of bytes scanned is rounded down. Must be between 0 and 100,
5259 # inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
5260 # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
5261 &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
5262 # than this value then the rest of the bytes are omitted. Only one
5263 # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
5264 &quot;fileSet&quot;: { # Set of files to scan. # The set of one or more files to scan.
5265 &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
5266 # `regex_file_set` must be set.
5267 # expressions are used to allow fine-grained control over which files in the
5268 # bucket to include.
5269 #
5270 # Included files are those that match at least one item in `include_regex` and
5271 # do not match any items in `exclude_regex`. Note that a file that matches
5272 # items from both lists will _not_ be included. For a match to occur, the
5273 # entire file path (i.e., everything in the url after the bucket name) must
5274 # match the regular expression.
5275 #
5276 # For example, given the input `{bucket_name: &quot;mybucket&quot;, include_regex:
5277 # [&quot;directory1/.*&quot;], exclude_regex:
5278 # [&quot;directory1/excluded.*&quot;]}`:
5279 #
5280 # * `gs://mybucket/directory1/myfile` will be included
5281 # * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
5282 # across `/`)
5283 # * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
5284 # full path doesn&#x27;t match any items in `include_regex`)
5285 # * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
5286 # matches an item in `exclude_regex`)
5287 #
5288 # If `include_regex` is left empty, it will match all files by default
5289 # (this is equivalent to setting `include_regex: [&quot;.*&quot;]`).
5290 #
5291 # Some other common use cases:
5292 #
5293 # * `{bucket_name: &quot;mybucket&quot;, exclude_regex: [&quot;.*\.pdf&quot;]}` will include all
5294 # files in `mybucket` except for .pdf files
5295 # * `{bucket_name: &quot;mybucket&quot;, include_regex: [&quot;directory/[^/]+&quot;]}` will
5296 # include all files directly under `gs://mybucket/directory/`, without matching
5297 # across `/`
5298 &quot;excludeRegex&quot;: [ # A list of regular expressions matching file paths to exclude. All files in
5299 # the bucket that match at least one of these regular expressions will be
5300 # excluded from the scan.
5301 #
5302 # Regular expressions use RE2
5303 # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
5304 # under the google/re2 repository on GitHub.
5305 &quot;A String&quot;,
5306 ],
5307 &quot;bucketName&quot;: &quot;A String&quot;, # The name of a Cloud Storage bucket. Required.
5308 &quot;includeRegex&quot;: [ # A list of regular expressions matching file paths to include. All files in
5309 # the bucket that match at least one of these regular expressions will be
5310 # included in the set of files, except for those that also match an item in
5311 # `exclude_regex`. Leaving this field empty will match all files by default
5312 # (this is equivalent to including `.*` in the list).
5313 #
5314 # Regular expressions use RE2
5315 # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
5316 # under the google/re2 repository on GitHub.
5317 &quot;A String&quot;,
5318 ],
5319 },
5320 &quot;url&quot;: &quot;A String&quot;, # The Cloud Storage url of the file(s) to scan, in the format
5321 # `gs://&lt;bucket&gt;/&lt;path&gt;`. Trailing wildcard in the path is allowed.
5322 #
5323 # If the url ends in a trailing slash, the bucket or directory represented
5324 # by the url will be scanned non-recursively (content in sub-directories
5325 # will not be scanned). This means that `gs://mybucket/` is equivalent to
5326 # `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
5327 # `gs://mybucket/directory/*`.
5328 #
5329 # Exactly one of `url` or `regex_file_set` must be set.
5330 },
5331 },
5332 &quot;bigQueryOptions&quot;: { # Options defining BigQuery table and row identifiers. # BigQuery options.
5333 &quot;sampleMethod&quot;: &quot;A String&quot;,
5334 &quot;tableReference&quot;: { # Message defining the location of a BigQuery table. A table is uniquely # Complete BigQuery table reference.
5335 # identified by its project_id, dataset_id, and table_name. Within a query
5336 # a table is often referenced with a string in the format of:
5337 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
5338 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
5339 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
5340 # If omitted, project ID is inferred from the API call.
5341 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
5342 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
5343 },
5344 &quot;identifyingFields&quot;: [ # Table fields that may uniquely identify a row within the table. When
5345 # `actions.saveFindings.outputConfig.table` is specified, the values of
5346 # columns specified here are available in the output table under
5347 # `location.content_locations.record_location.record_key.id_values`. Nested
5348 # fields such as `person.birthdate.year` are allowed.
5349 { # General identifier of a data field in a storage service.
5350 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
5351 },
5352 ],
5353 &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows
5354 # scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
5355 # 100 means no limit. Defaults to 0. Only one of rows_limit and
5356 # rows_limit_percent can be specified. Cannot be used in conjunction with
5357 # TimespanConfig.
5358 &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the
5359 # rest of the rows are omitted. If not set, or if set to 0, all rows will be
5360 # scanned. Only one of rows_limit and rows_limit_percent can be specified.
5361 # Cannot be used in conjunction with TimespanConfig.
5362 &quot;excludedFields&quot;: [ # References to fields excluded from scanning. This allows you to skip
5363 # inspection of entire columns which you know have no findings.
5364 { # General identifier of a data field in a storage service.
5365 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
5366 },
5367 ],
5368 },
5369 &quot;hybridOptions&quot;: { # Configuration to control jobs where the content being inspected is outside # Hybrid inspection options.
5370 # Early access feature is in a pre-release state and might change or have
5371 # limited support. For more information, see
5372 # https://cloud.google.com/products#product-launch-stages.
5373 # of Google Cloud Platform.
5374 &quot;labels&quot;: { # To organize findings, these labels will be added to each finding.
5375 #
5376 # Label keys must be between 1 and 63 characters long and must conform
5377 # to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
5378 #
5379 # Label values must be between 0 and 63 characters long and must conform
5380 # to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
5381 #
5382 # No more than 10 labels can be associated with a given finding.
5383 #
5384 # Examples:
5385 # * `&quot;environment&quot; : &quot;production&quot;`
5386 # * `&quot;pipeline&quot; : &quot;etl&quot;`
5387 &quot;a_key&quot;: &quot;A String&quot;,
5388 },
5389 &quot;description&quot;: &quot;A String&quot;, # A short description of where the data is coming from. Will be stored once
5390 # in the job. 256 max length.
5391 &quot;tableOptions&quot;: { # Instructions regarding the table content being inspected. # If the container is a table, additional information to make findings
5392 # meaningful such as the columns that are primary keys.
5393 &quot;identifyingFields&quot;: [ # The columns that are the primary keys for table objects included in
5394 # ContentItem. A copy of this cell&#x27;s value will stored alongside alongside
5395 # each finding so that the finding can be traced to the specific row it came
5396 # from. No more than 3 may be provided.
5397 { # General identifier of a data field in a storage service.
5398 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
5399 },
5400 ],
5401 },
5402 &quot;requiredFindingLabelKeys&quot;: [ # These are labels that each inspection request must include within their
5403 # &#x27;finding_labels&#x27; map. Request may contain others, but any missing one of
5404 # these will be rejected.
5405 #
5406 # Label keys must be between 1 and 63 characters long and must conform
5407 # to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
5408 #
5409 # No more than 10 keys can be required.
5410 &quot;A String&quot;,
5411 ],
5412 },
5413 },
5414 &quot;inspectTemplateName&quot;: &quot;A String&quot;, # If provided, will be used as the default for all values in InspectConfig.
5415 # `inspect_config` will be merged into the values persisted as part of the
5416 # template.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005417 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005418 &quot;status&quot;: &quot;A String&quot;, # Required. A status for this trigger.
5419 &quot;lastRunTime&quot;: &quot;A String&quot;, # Output only. The timestamp of the last time this trigger executed.
5420 &quot;name&quot;: &quot;A String&quot;, # Unique resource name for the triggeredJob, assigned by the service when the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005421 # triggeredJob is created, for example
Dan O'Mearadd494642020-05-01 07:42:23 -07005422 # `projects/dlp-test-project/jobTriggers/53234423`.
Bu Sun Kim65020912020-05-20 12:08:20 -07005423 &quot;errors&quot;: [ # Output only. A stream of errors encountered when the trigger was activated. Repeated
5424 # errors may result in the JobTrigger automatically being paused.
5425 # Will return the last 100 errors. Whenever the JobTrigger is modified
5426 # this list will be cleared.
5427 { # Details information about an error encountered during job execution or
5428 # the results of an unsuccessful activation of the JobTrigger.
5429 &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for # Detailed error codes and messages.
5430 # different programming environments, including REST APIs and RPC APIs. It is
5431 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
5432 # three pieces of data: error code, error message, and error details.
5433 #
5434 # You can find out more about this error model and how to work with it in the
5435 # [API Design Guide](https://cloud.google.com/apis/design/errors).
5436 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
5437 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
5438 # user-facing error message should be localized and sent in the
5439 # google.rpc.Status.details field, or localized by the client.
5440 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
5441 # message types for APIs to use.
5442 {
5443 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
5444 },
5445 ],
5446 },
5447 &quot;timestamps&quot;: [ # The times the error occurred.
5448 &quot;A String&quot;,
5449 ],
5450 },
5451 ],
5452 &quot;description&quot;: &quot;A String&quot;, # User provided description (max 256 chars)
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005453 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005454 }
5455
5456 x__xgafv: string, V1 error format.
5457 Allowed values
5458 1 - v1 error format
5459 2 - v2 error format
5460
5461Returns:
5462 An object of the form:
5463
5464 { # Contains a configuration to make dlp api calls on a repeating basis.
5465 # See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
Bu Sun Kim65020912020-05-20 12:08:20 -07005466 &quot;triggers&quot;: [ # A list of triggers which will be OR&#x27;ed together. Only one in the list
Dan O'Mearadd494642020-05-01 07:42:23 -07005467 # needs to trigger for a job to be started. The list may contain only
5468 # a single Schedule trigger and must have at least one object.
5469 { # What event needs to occur for a new job to be started.
Bu Sun Kim65020912020-05-20 12:08:20 -07005470 &quot;schedule&quot;: { # Schedule for triggeredJobs. # Create a job on a repeating basis based on the elapse of time.
5471 &quot;recurrencePeriodDuration&quot;: &quot;A String&quot;, # With this option a job is started a regular periodic basis. For
Dan O'Mearadd494642020-05-01 07:42:23 -07005472 # example: every day (86400 seconds).
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005473 #
Dan O'Mearadd494642020-05-01 07:42:23 -07005474 # A scheduled start time will be skipped if the previous
5475 # execution has not ended when its scheduled time occurs.
5476 #
5477 # This value must be set to a time duration greater than or equal
5478 # to 1 day and can be no longer than 60 days.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005479 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005480 &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.
Dan O'Mearadd494642020-05-01 07:42:23 -07005481 # Early access feature is in a pre-release state and might change or have
5482 # limited support. For more information, see
5483 # https://cloud.google.com/products#product-launch-stages.
Bu Sun Kim65020912020-05-20 12:08:20 -07005484 # and finished.
Dan O'Mearadd494642020-05-01 07:42:23 -07005485 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005486 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005487 ],
5488 &quot;displayName&quot;: &quot;A String&quot;, # Display name (max 100 chars)
5489 &quot;createTime&quot;: &quot;A String&quot;, # Output only. The creation timestamp of a triggeredJob.
5490 &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last update timestamp of a triggeredJob.
5491 &quot;inspectJob&quot;: { # Controls what and how to inspect for findings. # For inspect jobs, a snapshot of the configuration.
5492 &quot;inspectConfig&quot;: { # Configuration description of the scanning process. # How and what to scan for.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005493 # When used with redactContent only info_types and min_likelihood are currently
5494 # used.
Bu Sun Kim65020912020-05-20 12:08:20 -07005495 &quot;includeQuote&quot;: True or False, # When true, a contextual quote from the data that triggered a finding is
5496 # included in the response; see Finding.quote.
5497 &quot;ruleSet&quot;: [ # Set of rules to apply to the findings for this InspectConfig.
5498 # Exclusion rules, contained in the set are executed in the end, other
5499 # rules are executed in the order they are specified for each info type.
5500 { # Rule set for modifying a set of infoTypes to alter behavior under certain
5501 # circumstances, depending on the specific details of the rules within the set.
5502 &quot;infoTypes&quot;: [ # List of infoTypes this rule set is applied to.
5503 { # Type of information detected by the API.
5504 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005505 # creating a CustomInfoType, or one of the names listed
5506 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
5507 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07005508 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005509 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005510 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07005511 &quot;rules&quot;: [ # Set of rules to be applied to infoTypes. The rules are applied in order.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005512 { # A single inspection rule to be applied to infoTypes, specified in
5513 # `InspectionRuleSet`.
Bu Sun Kim65020912020-05-20 12:08:20 -07005514 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005515 # proximity of hotwords.
Bu Sun Kim65020912020-05-20 12:08:20 -07005516 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005517 # part of a detection rule.
Bu Sun Kim65020912020-05-20 12:08:20 -07005518 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005519 # levels. For example, if a finding would be `POSSIBLE` without the
5520 # detection rule and `relative_likelihood` is 1, then it is upgraded to
5521 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
5522 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
5523 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
5524 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
5525 # a final likelihood of `LIKELY`.
Bu Sun Kim65020912020-05-20 12:08:20 -07005526 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005527 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005528 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
5529 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005530 # specified, the entire match is returned. No more than 3 may be included.
5531 42,
5532 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07005533 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
5534 # (https://github.com/google/re2/wiki/Syntax) can be found under the
5535 # google/re2 repository on GitHub.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005536 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005537 &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.
5538 # The total length of the window cannot exceed 1000 characters. Note that
5539 # the finding itself will be included in the window, so that hotwords may
5540 # be used to match substrings of the finding itself. For example, the
5541 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
5542 # adjusted upwards if the area code is known to be the local area code of
5543 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
5544 # is the area code in question.
5545 # rule.
5546 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
5547 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005548 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005549 },
5550 &quot;exclusionRule&quot;: { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
5551 # `InspectionRuleSet` are removed from results.
5552 &quot;dictionary&quot;: { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005553 # be used to match sensitive information specific to the data, such as a list
5554 # of employee IDs or job titles.
5555 #
5556 # Dictionary words are case-insensitive and all characters other than letters
5557 # and digits in the unicode [Basic Multilingual
5558 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
5559 # will be replaced with whitespace when scanning for matches, so the
Bu Sun Kim65020912020-05-20 12:08:20 -07005560 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
5561 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005562 # surrounding any match must be of a different type than the adjacent
5563 # characters within the word, so letters must be next to non-letters and
Bu Sun Kim65020912020-05-20 12:08:20 -07005564 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
5565 # match the first three letters of the text &quot;jen123&quot; but will return no
5566 # matches for &quot;jennifer&quot;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005567 #
5568 # Dictionary words containing a large number of characters that are not
5569 # letters or digits may result in unexpected findings because such characters
5570 # are treated as whitespace. The
5571 # [limits](https://cloud.google.com/dlp/limits) page contains details about
5572 # the size limits of dictionaries. For dictionaries that do not fit within
5573 # these constraints, consider using `LargeCustomDictionaryConfig` in the
5574 # `StoredInfoType` API.
Bu Sun Kim65020912020-05-20 12:08:20 -07005575 &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.
5576 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005577 # at least one phrase and every phrase must contain at least 2 characters
5578 # that are letters or digits. [required]
Bu Sun Kim65020912020-05-20 12:08:20 -07005579 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005580 ],
5581 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005582 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005583 # is accepted.
Bu Sun Kim65020912020-05-20 12:08:20 -07005584 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005585 # Example: gs://[BUCKET_NAME]/dictionary.txt
5586 },
5587 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005588 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression which defines the rule.
5589 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
5590 # specified, the entire match is returned. No more than 3 may be included.
5591 42,
5592 ],
5593 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
5594 # (https://github.com/google/re2/wiki/Syntax) can be found under the
5595 # google/re2 repository on GitHub.
5596 },
5597 &quot;excludeInfoTypes&quot;: { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
5598 &quot;infoTypes&quot;: [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
5599 # contained within with a finding of an infoType from this list. For
5600 # example, for `InspectionRuleSet.info_types` containing &quot;PHONE_NUMBER&quot;` and
5601 # `exclusion_rule` containing `exclude_info_types.info_types` with
5602 # &quot;EMAIL_ADDRESS&quot; the phone number findings are dropped if they overlap
5603 # with EMAIL_ADDRESS finding.
5604 # That leads to &quot;555-222-2222@example.org&quot; to generate only a single
5605 # finding, namely email address.
5606 { # Type of information detected by the API.
5607 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
5608 # creating a CustomInfoType, or one of the names listed
5609 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
5610 # a built-in type. InfoType names should conform to the pattern
5611 # `[a-zA-Z0-9_]{1,64}`.
5612 },
5613 ],
5614 },
5615 &quot;matchingType&quot;: &quot;A String&quot;, # How the rule is applied, see MatchingType documentation for details.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005616 },
5617 },
5618 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07005619 },
5620 ],
5621 &quot;limits&quot;: { # Configuration to control the number of findings returned. # Configuration to control the number of findings returned.
5622 &quot;maxFindingsPerItem&quot;: 42, # Max number of findings that will be returned for each item scanned.
5623 # When set within `InspectJobConfig`,
5624 # the maximum returned is 2000 regardless if this is set higher.
5625 # When set within `InspectContentRequest`, this field is ignored.
5626 &quot;maxFindingsPerInfoType&quot;: [ # Configuration of findings limit given for specified infoTypes.
5627 { # Max findings configuration per infoType, per content item or long
5628 # running DlpJob.
5629 &quot;maxFindings&quot;: 42, # Max findings limit for the given infoType.
5630 &quot;infoType&quot;: { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
5631 # info_type should be provided. If InfoTypeLimit does not have an
5632 # info_type, the DLP API applies the limit against all info_types that
5633 # are found but not specified in another InfoTypeLimit.
5634 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005635 # creating a CustomInfoType, or one of the names listed
5636 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
5637 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07005638 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005639 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005640 },
5641 ],
5642 &quot;maxFindingsPerRequest&quot;: 42, # Max number of findings that will be returned per request/job.
5643 # When set within `InspectContentRequest`, the maximum returned is 2000
5644 # regardless if this is set higher.
5645 },
5646 &quot;contentOptions&quot;: [ # List of options defining data content to scan.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005647 # If empty, text, images, and other content will be included.
Bu Sun Kim65020912020-05-20 12:08:20 -07005648 &quot;A String&quot;,
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005649 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07005650 &quot;infoTypes&quot;: [ # Restricts what info_types to look for. The values must correspond to
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005651 # InfoType values returned by ListInfoTypes or listed at
5652 # https://cloud.google.com/dlp/docs/infotypes-reference.
5653 #
5654 # When no InfoTypes or CustomInfoTypes are specified in a request, the
5655 # system may automatically choose what detectors to run. By default this may
5656 # be all types, but may change over time as detectors are updated.
5657 #
Dan O'Mearadd494642020-05-01 07:42:23 -07005658 # If you need precise control and predictability as to what detectors are
5659 # run you should specify specific InfoTypes listed in the reference,
5660 # otherwise a default list will be used, which may change over time.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005661 { # Type of information detected by the API.
Bu Sun Kim65020912020-05-20 12:08:20 -07005662 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005663 # creating a CustomInfoType, or one of the names listed
5664 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
5665 # a built-in type. InfoType names should conform to the pattern
Dan O'Mearadd494642020-05-01 07:42:23 -07005666 # `[a-zA-Z0-9_]{1,64}`.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005667 },
5668 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07005669 &quot;minLikelihood&quot;: &quot;A String&quot;, # Only returns findings equal or above this threshold. The default is
5670 # POSSIBLE.
5671 # See https://cloud.google.com/dlp/docs/likelihood to learn more.
5672 &quot;excludeInfoTypes&quot;: True or False, # When true, excludes type information of the findings.
5673 &quot;customInfoTypes&quot;: [ # CustomInfoTypes provided by the user. See
5674 # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
5675 { # Custom information type provided by the user. Used to find domain-specific
5676 # sensitive information configurable to the data in question.
5677 &quot;likelihood&quot;: &quot;A String&quot;, # Likelihood to return for this CustomInfoType. This base value can be
5678 # altered by a detection rule if the finding meets the criteria specified by
5679 # the rule. Defaults to `VERY_LIKELY` if not specified.
5680 &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
5681 # infoType, when the name matches one of existing infoTypes and that infoType
5682 # is specified in `InspectContent.info_types` field. Specifying the latter
5683 # adds findings to the one detected by the system. If built-in info type is
5684 # not specified in `InspectContent.info_types` list then the name is treated
5685 # as a custom info type.
5686 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
5687 # creating a CustomInfoType, or one of the names listed
5688 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
5689 # a built-in type. InfoType names should conform to the pattern
5690 # `[a-zA-Z0-9_]{1,64}`.
5691 },
5692 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
5693 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
5694 # specified, the entire match is returned. No more than 3 may be included.
5695 42,
5696 ],
5697 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
5698 # (https://github.com/google/re2/wiki/Syntax) can be found under the
5699 # google/re2 repository on GitHub.
5700 },
5701 &quot;detectionRules&quot;: [ # Set of detection rules to apply to all findings of this CustomInfoType.
5702 # Rules are applied in order that they are specified. Not supported for the
5703 # `surrogate_type` CustomInfoType.
5704 { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
5705 # `CustomInfoType` to alter behavior under certain circumstances, depending
5706 # on the specific details of the rule. Not supported for the `surrogate_type`
5707 # custom infoType.
5708 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
5709 # proximity of hotwords.
5710 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
5711 # part of a detection rule.
5712 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
5713 # levels. For example, if a finding would be `POSSIBLE` without the
5714 # detection rule and `relative_likelihood` is 1, then it is upgraded to
5715 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
5716 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
5717 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
5718 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
5719 # a final likelihood of `LIKELY`.
5720 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
5721 },
5722 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
5723 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
5724 # specified, the entire match is returned. No more than 3 may be included.
5725 42,
5726 ],
5727 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
5728 # (https://github.com/google/re2/wiki/Syntax) can be found under the
5729 # google/re2 repository on GitHub.
5730 },
5731 &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.
5732 # The total length of the window cannot exceed 1000 characters. Note that
5733 # the finding itself will be included in the window, so that hotwords may
5734 # be used to match substrings of the finding itself. For example, the
5735 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
5736 # adjusted upwards if the area code is known to be the local area code of
5737 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
5738 # is the area code in question.
5739 # rule.
5740 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
5741 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
5742 },
5743 },
5744 },
5745 ],
5746 &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
5747 # to be returned. It still can be used for rules matching.
5748 &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.
5749 # be used to match sensitive information specific to the data, such as a list
5750 # of employee IDs or job titles.
5751 #
5752 # Dictionary words are case-insensitive and all characters other than letters
5753 # and digits in the unicode [Basic Multilingual
5754 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
5755 # will be replaced with whitespace when scanning for matches, so the
5756 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
5757 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
5758 # surrounding any match must be of a different type than the adjacent
5759 # characters within the word, so letters must be next to non-letters and
5760 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
5761 # match the first three letters of the text &quot;jen123&quot; but will return no
5762 # matches for &quot;jennifer&quot;.
5763 #
5764 # Dictionary words containing a large number of characters that are not
5765 # letters or digits may result in unexpected findings because such characters
5766 # are treated as whitespace. The
5767 # [limits](https://cloud.google.com/dlp/limits) page contains details about
5768 # the size limits of dictionaries. For dictionaries that do not fit within
5769 # these constraints, consider using `LargeCustomDictionaryConfig` in the
5770 # `StoredInfoType` API.
5771 &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.
5772 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
5773 # at least one phrase and every phrase must contain at least 2 characters
5774 # that are letters or digits. [required]
5775 &quot;A String&quot;,
5776 ],
5777 },
5778 &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
5779 # is accepted.
5780 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
5781 # Example: gs://[BUCKET_NAME]/dictionary.txt
5782 },
5783 },
5784 &quot;storedType&quot;: { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
5785 # `InspectDataSource`. Not currently supported in `InspectContent`.
5786 &quot;name&quot;: &quot;A String&quot;, # Resource name of the requested `StoredInfoType`, for example
5787 # `organizations/433245324/storedInfoTypes/432452342` or
5788 # `projects/project-id/storedInfoTypes/432452342`.
5789 &quot;createTime&quot;: &quot;A String&quot;, # Timestamp indicating when the version of the `StoredInfoType` used for
5790 # inspection was created. Output-only field, populated by the system.
5791 },
5792 &quot;surrogateType&quot;: { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
5793 # support reversing.
5794 # such as
5795 # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
5796 # These types of transformations are
5797 # those that perform pseudonymization, thereby producing a &quot;surrogate&quot; as
5798 # output. This should be used in conjunction with a field on the
5799 # transformation such as `surrogate_info_type`. This CustomInfoType does
5800 # not support the use of `detection_rules`.
5801 },
5802 },
5803 ],
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005804 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005805 &quot;actions&quot;: [ # Actions to execute at the completion of the job.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005806 { # A task to execute on the completion of a job.
5807 # See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
Bu Sun Kim65020912020-05-20 12:08:20 -07005808 &quot;publishSummaryToCscc&quot;: { # Publish the result summary of a DlpJob to the Cloud Security # Publish summary to Cloud Security Command Center (Alpha).
5809 # Command Center (CSCC Alpha).
5810 # This action is only available for projects which are parts of
5811 # an organization and whitelisted for the alpha Cloud Security Command
5812 # Center.
5813 # The action will publish count of finding instances and their info types.
5814 # The summary of findings will be persisted in CSCC and are governed by CSCC
5815 # service-specific policy, see https://cloud.google.com/terms/service-terms
5816 # Only a single instance of this action can be specified.
5817 # Compatible with: Inspect
5818 },
5819 &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
5820 # completion/failure.
5821 # completion/failure.
5822 },
5823 &quot;saveFindings&quot;: { # If set, the detailed findings will be persisted to the specified # Save resulting findings in a provided location.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005824 # OutputStorageConfig. Only a single instance of this action can be
5825 # specified.
5826 # Compatible with: Inspect, Risk
Bu Sun Kim65020912020-05-20 12:08:20 -07005827 &quot;outputConfig&quot;: { # Cloud repository for storing output. # Location to store findings outside of DLP.
5828 &quot;outputSchema&quot;: &quot;A String&quot;, # Schema used for writing the findings for Inspect jobs. This field is only
5829 # used for Inspect and must be unspecified for Risk jobs. Columns are derived
5830 # from the `Finding` object. If appending to an existing table, any columns
5831 # from the predefined schema that are missing will be added. No columns in
5832 # the existing table will be deleted.
5833 #
5834 # If unspecified, then all available columns will be used for a new table or
5835 # an (existing) table with no schema, and no changes will be made to an
5836 # existing table that has a schema.
5837 # Only for use with external storage.
5838 &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
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005839 # dataset. If table_id is not set a new one will be generated
5840 # for you with the following format:
5841 # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
5842 # generating the date details.
5843 #
5844 # For Inspect, each column in an existing output table must have the same
5845 # name, type, and mode of a field in the `Finding` object.
5846 #
5847 # For Risk, an existing output table should be the output of a previous
5848 # Risk analysis job run on the same source table, with the same privacy
5849 # metric and quasi-identifiers. Risk jobs that analyze the same table but
5850 # compute a different privacy metric, or use different sets of
5851 # quasi-identifiers, cannot store their results in the same table.
5852 # identified by its project_id, dataset_id, and table_name. Within a query
5853 # a table is often referenced with a string in the format of:
Dan O'Mearadd494642020-05-01 07:42:23 -07005854 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
5855 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
Bu Sun Kim65020912020-05-20 12:08:20 -07005856 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005857 # If omitted, project ID is inferred from the API call.
Bu Sun Kim65020912020-05-20 12:08:20 -07005858 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
5859 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005860 },
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005861 },
5862 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005863 &quot;pubSub&quot;: { # Publish a message into given Pub/Sub topic when DlpJob has completed. The # Publish a notification to a pubsub topic.
5864 # message contains a single field, `DlpJobName`, which is equal to the
5865 # finished job&#x27;s
5866 # [`DlpJob.name`](/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
5867 # Compatible with: Inspect, Risk
5868 &quot;topic&quot;: &quot;A String&quot;, # Cloud Pub/Sub topic to send notifications to. The topic must have given
5869 # publishing access rights to the DLP API service account executing
5870 # the long running DlpJob sending the notifications.
5871 # Format is projects/{project}/topics/{topic}.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005872 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005873 &quot;publishFindingsToCloudDataCatalog&quot;: { # Publish findings of a DlpJob to Cloud Data Catalog. Labels summarizing the # Publish findings to Cloud Datahub.
Dan O'Mearadd494642020-05-01 07:42:23 -07005874 # results of the DlpJob will be applied to the entry for the resource scanned
5875 # in Cloud Data Catalog. Any labels previously written by another DlpJob will
5876 # be deleted. InfoType naming patterns are strictly enforced when using this
5877 # feature. Note that the findings will be persisted in Cloud Data Catalog
5878 # storage and are governed by Data Catalog service-specific policy, see
5879 # https://cloud.google.com/terms/service-terms
5880 # Only a single instance of this action can be specified and only allowed if
5881 # all resources being scanned are BigQuery tables.
5882 # Compatible with: Inspect
5883 },
Bu Sun Kim65020912020-05-20 12:08:20 -07005884 &quot;publishToStackdriver&quot;: { # Enable Stackdriver metric dlp.googleapis.com/finding_count. This # Enable Stackdriver metric dlp.googleapis.com/finding_count.
5885 # will publish a metric to stack driver on each infotype requested and
5886 # how many findings were found for it. CustomDetectors will be bucketed
5887 # as &#x27;Custom&#x27; under the Stackdriver label &#x27;info_type&#x27;.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07005888 },
5889 },
5890 ],
Bu Sun Kim65020912020-05-20 12:08:20 -07005891 &quot;storageConfig&quot;: { # Shared message indicating Cloud storage type. # The data to scan.
5892 &quot;datastoreOptions&quot;: { # Options defining a data set within Google Cloud Datastore. # Google Cloud Datastore options.
5893 &quot;partitionId&quot;: { # Datastore partition ID. # A partition ID identifies a grouping of entities. The grouping is always
5894 # by project and namespace, however the namespace ID may be empty.
5895 # A partition ID identifies a grouping of entities. The grouping is always
5896 # by project and namespace, however the namespace ID may be empty.
5897 #
5898 # A partition ID contains several dimensions:
5899 # project ID and namespace ID.
5900 &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
5901 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
5902 },
5903 &quot;kind&quot;: { # A representation of a Datastore kind. # The kind to process.
5904 &quot;name&quot;: &quot;A String&quot;, # The name of the kind.
5905 },
5906 },
5907 &quot;timespanConfig&quot;: { # Configuration of the timespan of the items to include in scanning.
5908 # Currently only supported when inspecting Google Cloud Storage and BigQuery.
5909 &quot;timestampField&quot;: { # General identifier of a data field in a storage service. # Specification of the field containing the timestamp of scanned items.
5910 # Used for data sources like Datastore and BigQuery.
5911 #
5912 # For BigQuery:
5913 # Required to filter out rows based on the given start and
5914 # end times. If not specified and the table was modified between the given
5915 # start and end times, the entire table will be scanned.
5916 # The valid data types of the timestamp field are: `INTEGER`, `DATE`,
5917 # `TIMESTAMP`, or `DATETIME` BigQuery column.
5918 #
5919 # For Datastore.
5920 # Valid data types of the timestamp field are: `TIMESTAMP`.
5921 # Datastore entity will be scanned if the timestamp property does not
5922 # exist or its value is empty or invalid.
5923 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
5924 },
5925 &quot;enableAutoPopulationOfTimespanConfig&quot;: True or False, # When the job is started by a JobTrigger we will automatically figure out
5926 # a valid start_time to avoid scanning files that have not been modified
5927 # since the last time the JobTrigger executed. This will be based on the
5928 # time of the execution of the last run of the JobTrigger.
5929 &quot;endTime&quot;: &quot;A String&quot;, # Exclude files or rows newer than this value.
5930 # If set to zero, no upper time limit is applied.
5931 &quot;startTime&quot;: &quot;A String&quot;, # Exclude files or rows older than this value.
5932 },
5933 &quot;cloudStorageOptions&quot;: { # Options defining a file or a set of files within a Google Cloud Storage # Google Cloud Storage options.
5934 # bucket.
5935 &quot;filesLimitPercent&quot;: 42, # Limits the number of files to scan to this percentage of the input FileSet.
5936 # Number of files scanned is rounded down. Must be between 0 and 100,
5937 # inclusively. Both 0 and 100 means no limit. Defaults to 0.
5938 &quot;fileTypes&quot;: [ # List of file type groups to include in the scan.
5939 # If empty, all files are scanned and available data format processors
5940 # are applied. In addition, the binary content of the selected files
5941 # is always scanned as well.
5942 # Images are scanned only as binary if the specified region
5943 # does not support image inspection and no file_types were specified.
5944 # Image inspection is restricted to &#x27;global&#x27;, &#x27;us&#x27;, &#x27;asia&#x27;, and &#x27;europe&#x27;.
5945 &quot;A String&quot;,
5946 ],
5947 &quot;sampleMethod&quot;: &quot;A String&quot;,
5948 &quot;bytesLimitPerFilePercent&quot;: 42, # Max percentage of bytes to scan from a file. The rest are omitted. The
5949 # number of bytes scanned is rounded down. Must be between 0 and 100,
5950 # inclusively. Both 0 and 100 means no limit. Defaults to 0. Only one
5951 # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
5952 &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
5953 # than this value then the rest of the bytes are omitted. Only one
5954 # of bytes_limit_per_file and bytes_limit_per_file_percent can be specified.
5955 &quot;fileSet&quot;: { # Set of files to scan. # The set of one or more files to scan.
5956 &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
5957 # `regex_file_set` must be set.
5958 # expressions are used to allow fine-grained control over which files in the
5959 # bucket to include.
5960 #
5961 # Included files are those that match at least one item in `include_regex` and
5962 # do not match any items in `exclude_regex`. Note that a file that matches
5963 # items from both lists will _not_ be included. For a match to occur, the
5964 # entire file path (i.e., everything in the url after the bucket name) must
5965 # match the regular expression.
5966 #
5967 # For example, given the input `{bucket_name: &quot;mybucket&quot;, include_regex:
5968 # [&quot;directory1/.*&quot;], exclude_regex:
5969 # [&quot;directory1/excluded.*&quot;]}`:
5970 #
5971 # * `gs://mybucket/directory1/myfile` will be included
5972 # * `gs://mybucket/directory1/directory2/myfile` will be included (`.*` matches
5973 # across `/`)
5974 # * `gs://mybucket/directory0/directory1/myfile` will _not_ be included (the
5975 # full path doesn&#x27;t match any items in `include_regex`)
5976 # * `gs://mybucket/directory1/excludedfile` will _not_ be included (the path
5977 # matches an item in `exclude_regex`)
5978 #
5979 # If `include_regex` is left empty, it will match all files by default
5980 # (this is equivalent to setting `include_regex: [&quot;.*&quot;]`).
5981 #
5982 # Some other common use cases:
5983 #
5984 # * `{bucket_name: &quot;mybucket&quot;, exclude_regex: [&quot;.*\.pdf&quot;]}` will include all
5985 # files in `mybucket` except for .pdf files
5986 # * `{bucket_name: &quot;mybucket&quot;, include_regex: [&quot;directory/[^/]+&quot;]}` will
5987 # include all files directly under `gs://mybucket/directory/`, without matching
5988 # across `/`
5989 &quot;excludeRegex&quot;: [ # A list of regular expressions matching file paths to exclude. All files in
5990 # the bucket that match at least one of these regular expressions will be
5991 # excluded from the scan.
5992 #
5993 # Regular expressions use RE2
5994 # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
5995 # under the google/re2 repository on GitHub.
5996 &quot;A String&quot;,
5997 ],
5998 &quot;bucketName&quot;: &quot;A String&quot;, # The name of a Cloud Storage bucket. Required.
5999 &quot;includeRegex&quot;: [ # A list of regular expressions matching file paths to include. All files in
6000 # the bucket that match at least one of these regular expressions will be
6001 # included in the set of files, except for those that also match an item in
6002 # `exclude_regex`. Leaving this field empty will match all files by default
6003 # (this is equivalent to including `.*` in the list).
6004 #
6005 # Regular expressions use RE2
6006 # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
6007 # under the google/re2 repository on GitHub.
6008 &quot;A String&quot;,
6009 ],
6010 },
6011 &quot;url&quot;: &quot;A String&quot;, # The Cloud Storage url of the file(s) to scan, in the format
6012 # `gs://&lt;bucket&gt;/&lt;path&gt;`. Trailing wildcard in the path is allowed.
6013 #
6014 # If the url ends in a trailing slash, the bucket or directory represented
6015 # by the url will be scanned non-recursively (content in sub-directories
6016 # will not be scanned). This means that `gs://mybucket/` is equivalent to
6017 # `gs://mybucket/*`, and `gs://mybucket/directory/` is equivalent to
6018 # `gs://mybucket/directory/*`.
6019 #
6020 # Exactly one of `url` or `regex_file_set` must be set.
6021 },
6022 },
6023 &quot;bigQueryOptions&quot;: { # Options defining BigQuery table and row identifiers. # BigQuery options.
6024 &quot;sampleMethod&quot;: &quot;A String&quot;,
6025 &quot;tableReference&quot;: { # Message defining the location of a BigQuery table. A table is uniquely # Complete BigQuery table reference.
6026 # identified by its project_id, dataset_id, and table_name. Within a query
6027 # a table is often referenced with a string in the format of:
6028 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
6029 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
6030 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
6031 # If omitted, project ID is inferred from the API call.
6032 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
6033 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
6034 },
6035 &quot;identifyingFields&quot;: [ # Table fields that may uniquely identify a row within the table. When
6036 # `actions.saveFindings.outputConfig.table` is specified, the values of
6037 # columns specified here are available in the output table under
6038 # `location.content_locations.record_location.record_key.id_values`. Nested
6039 # fields such as `person.birthdate.year` are allowed.
6040 { # General identifier of a data field in a storage service.
6041 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
6042 },
6043 ],
6044 &quot;rowsLimitPercent&quot;: 42, # Max percentage of rows to scan. The rest are omitted. The number of rows
6045 # scanned is rounded down. Must be between 0 and 100, inclusively. Both 0 and
6046 # 100 means no limit. Defaults to 0. Only one of rows_limit and
6047 # rows_limit_percent can be specified. Cannot be used in conjunction with
6048 # TimespanConfig.
6049 &quot;rowsLimit&quot;: &quot;A String&quot;, # Max number of rows to scan. If the table has more rows than this value, the
6050 # rest of the rows are omitted. If not set, or if set to 0, all rows will be
6051 # scanned. Only one of rows_limit and rows_limit_percent can be specified.
6052 # Cannot be used in conjunction with TimespanConfig.
6053 &quot;excludedFields&quot;: [ # References to fields excluded from scanning. This allows you to skip
6054 # inspection of entire columns which you know have no findings.
6055 { # General identifier of a data field in a storage service.
6056 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
6057 },
6058 ],
6059 },
6060 &quot;hybridOptions&quot;: { # Configuration to control jobs where the content being inspected is outside # Hybrid inspection options.
6061 # Early access feature is in a pre-release state and might change or have
6062 # limited support. For more information, see
6063 # https://cloud.google.com/products#product-launch-stages.
6064 # of Google Cloud Platform.
6065 &quot;labels&quot;: { # To organize findings, these labels will be added to each finding.
6066 #
6067 # Label keys must be between 1 and 63 characters long and must conform
6068 # to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
6069 #
6070 # Label values must be between 0 and 63 characters long and must conform
6071 # to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
6072 #
6073 # No more than 10 labels can be associated with a given finding.
6074 #
6075 # Examples:
6076 # * `&quot;environment&quot; : &quot;production&quot;`
6077 # * `&quot;pipeline&quot; : &quot;etl&quot;`
6078 &quot;a_key&quot;: &quot;A String&quot;,
6079 },
6080 &quot;description&quot;: &quot;A String&quot;, # A short description of where the data is coming from. Will be stored once
6081 # in the job. 256 max length.
6082 &quot;tableOptions&quot;: { # Instructions regarding the table content being inspected. # If the container is a table, additional information to make findings
6083 # meaningful such as the columns that are primary keys.
6084 &quot;identifyingFields&quot;: [ # The columns that are the primary keys for table objects included in
6085 # ContentItem. A copy of this cell&#x27;s value will stored alongside alongside
6086 # each finding so that the finding can be traced to the specific row it came
6087 # from. No more than 3 may be provided.
6088 { # General identifier of a data field in a storage service.
6089 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
6090 },
6091 ],
6092 },
6093 &quot;requiredFindingLabelKeys&quot;: [ # These are labels that each inspection request must include within their
6094 # &#x27;finding_labels&#x27; map. Request may contain others, but any missing one of
6095 # these will be rejected.
6096 #
6097 # Label keys must be between 1 and 63 characters long and must conform
6098 # to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
6099 #
6100 # No more than 10 keys can be required.
6101 &quot;A String&quot;,
6102 ],
6103 },
6104 },
6105 &quot;inspectTemplateName&quot;: &quot;A String&quot;, # If provided, will be used as the default for all values in InspectConfig.
6106 # `inspect_config` will be merged into the values persisted as part of the
6107 # template.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006108 },
Bu Sun Kim65020912020-05-20 12:08:20 -07006109 &quot;status&quot;: &quot;A String&quot;, # Required. A status for this trigger.
6110 &quot;lastRunTime&quot;: &quot;A String&quot;, # Output only. The timestamp of the last time this trigger executed.
6111 &quot;name&quot;: &quot;A String&quot;, # Unique resource name for the triggeredJob, assigned by the service when the
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006112 # triggeredJob is created, for example
Dan O'Mearadd494642020-05-01 07:42:23 -07006113 # `projects/dlp-test-project/jobTriggers/53234423`.
Bu Sun Kim65020912020-05-20 12:08:20 -07006114 &quot;errors&quot;: [ # Output only. A stream of errors encountered when the trigger was activated. Repeated
6115 # errors may result in the JobTrigger automatically being paused.
6116 # Will return the last 100 errors. Whenever the JobTrigger is modified
6117 # this list will be cleared.
6118 { # Details information about an error encountered during job execution or
6119 # the results of an unsuccessful activation of the JobTrigger.
6120 &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for # Detailed error codes and messages.
6121 # different programming environments, including REST APIs and RPC APIs. It is
6122 # used by [gRPC](https://github.com/grpc). Each `Status` message contains
6123 # three pieces of data: error code, error message, and error details.
6124 #
6125 # You can find out more about this error model and how to work with it in the
6126 # [API Design Guide](https://cloud.google.com/apis/design/errors).
6127 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
6128 &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any
6129 # user-facing error message should be localized and sent in the
6130 # google.rpc.Status.details field, or localized by the client.
6131 &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of
6132 # message types for APIs to use.
6133 {
6134 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
6135 },
6136 ],
6137 },
6138 &quot;timestamps&quot;: [ # The times the error occurred.
6139 &quot;A String&quot;,
6140 ],
6141 },
6142 ],
6143 &quot;description&quot;: &quot;A String&quot;, # User provided description (max 256 chars)
Bu Sun Kim715bd7f2019-06-14 16:50:42 -07006144 }</pre>
6145</div>
6146
6147</body></html>