blob: cb0e8a75000c6f33a88c087dd1faec2e57becad3 [file] [log] [blame]
Bu Sun Kim65020912020-05-20 12:08:20 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="dlp_v2.html">Cloud Data Loss Prevention (DLP) API</a> . <a href="dlp_v2.projects.html">projects</a> . <a href="dlp_v2.projects.locations.html">locations</a> . <a href="dlp_v2.projects.locations.image.html">image</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="#redact">redact(parent, locationId, body=None, x__xgafv=None)</a></code></p>
79<p class="firstline">Redacts potentially sensitive info from an image.</p>
80<h3>Method Details</h3>
81<div class="method">
82 <code class="details" id="redact">redact(parent, locationId, body=None, x__xgafv=None)</code>
83 <pre>Redacts potentially sensitive info from an image.
84This method has limits on input size, processing time, and output size.
85See https://cloud.google.com/dlp/docs/redacting-sensitive-data-images to
86learn more.
87
88When no InfoTypes or CustomInfoTypes are specified in this request, the
89system will automatically choose what detectors to run. By default this may
90be all types, but may change over time as detectors are updated.
91
92Args:
93 parent: string, The parent resource name, for example projects/my-project-id. (required)
94 locationId: string, The geographic location to process the request. Reserved for future
95extensions.
96Location is restricted to &#x27;global&#x27;, &#x27;us&#x27;, &#x27;asia&#x27;, and &#x27;europe&#x27;. (required)
97 body: object, The request body.
98 The object takes the form of:
99
100{ # Request to search for potentially sensitive info in an image and redact it
101 # by covering it with a colored rectangle.
102 &quot;byteItem&quot;: { # Container for bytes to inspect or redact. # The content must be PNG, JPEG, SVG or BMP.
103 &quot;type&quot;: &quot;A String&quot;, # The type of data stored in the bytes string. Default will be TEXT_UTF8.
104 &quot;data&quot;: &quot;A String&quot;, # Content data to inspect or redact.
105 },
106 &quot;includeFindings&quot;: True or False, # Whether the response should include findings along with the redacted
107 # image.
108 &quot;inspectConfig&quot;: { # Configuration description of the scanning process. # Configuration for the inspector.
109 # When used with redactContent only info_types and min_likelihood are currently
110 # used.
111 &quot;includeQuote&quot;: True or False, # When true, a contextual quote from the data that triggered a finding is
112 # included in the response; see Finding.quote.
113 &quot;ruleSet&quot;: [ # Set of rules to apply to the findings for this InspectConfig.
114 # Exclusion rules, contained in the set are executed in the end, other
115 # rules are executed in the order they are specified for each info type.
116 { # Rule set for modifying a set of infoTypes to alter behavior under certain
117 # circumstances, depending on the specific details of the rules within the set.
118 &quot;infoTypes&quot;: [ # List of infoTypes this rule set is applied to.
119 { # Type of information detected by the API.
120 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
121 # creating a CustomInfoType, or one of the names listed
122 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
123 # a built-in type. InfoType names should conform to the pattern
124 # `[a-zA-Z0-9_]{1,64}`.
125 },
126 ],
127 &quot;rules&quot;: [ # Set of rules to be applied to infoTypes. The rules are applied in order.
128 { # A single inspection rule to be applied to infoTypes, specified in
129 # `InspectionRuleSet`.
130 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
131 # proximity of hotwords.
132 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
133 # part of a detection rule.
134 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
135 # levels. For example, if a finding would be `POSSIBLE` without the
136 # detection rule and `relative_likelihood` is 1, then it is upgraded to
137 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
138 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
139 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
140 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
141 # a final likelihood of `LIKELY`.
142 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
143 },
144 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
145 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
146 # specified, the entire match is returned. No more than 3 may be included.
147 42,
148 ],
149 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
150 # (https://github.com/google/re2/wiki/Syntax) can be found under the
151 # google/re2 repository on GitHub.
152 },
153 &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.
154 # The total length of the window cannot exceed 1000 characters. Note that
155 # the finding itself will be included in the window, so that hotwords may
156 # be used to match substrings of the finding itself. For example, the
157 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
158 # adjusted upwards if the area code is known to be the local area code of
159 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
160 # is the area code in question.
161 # rule.
162 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
163 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
164 },
165 },
166 &quot;exclusionRule&quot;: { # The rule that specifies conditions when findings of infoTypes specified in # Exclusion rule.
167 # `InspectionRuleSet` are removed from results.
168 &quot;dictionary&quot;: { # Custom information type based on a dictionary of words or phrases. This can # Dictionary which defines the rule.
169 # be used to match sensitive information specific to the data, such as a list
170 # of employee IDs or job titles.
171 #
172 # Dictionary words are case-insensitive and all characters other than letters
173 # and digits in the unicode [Basic Multilingual
174 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
175 # will be replaced with whitespace when scanning for matches, so the
176 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
177 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
178 # surrounding any match must be of a different type than the adjacent
179 # characters within the word, so letters must be next to non-letters and
180 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
181 # match the first three letters of the text &quot;jen123&quot; but will return no
182 # matches for &quot;jennifer&quot;.
183 #
184 # Dictionary words containing a large number of characters that are not
185 # letters or digits may result in unexpected findings because such characters
186 # are treated as whitespace. The
187 # [limits](https://cloud.google.com/dlp/limits) page contains details about
188 # the size limits of dictionaries. For dictionaries that do not fit within
189 # these constraints, consider using `LargeCustomDictionaryConfig` in the
190 # `StoredInfoType` API.
191 &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.
192 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
193 # at least one phrase and every phrase must contain at least 2 characters
194 # that are letters or digits. [required]
195 &quot;A String&quot;,
196 ],
197 },
198 &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
199 # is accepted.
200 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
201 # Example: gs://[BUCKET_NAME]/dictionary.txt
202 },
203 },
204 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression which defines the rule.
205 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
206 # specified, the entire match is returned. No more than 3 may be included.
207 42,
208 ],
209 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
210 # (https://github.com/google/re2/wiki/Syntax) can be found under the
211 # google/re2 repository on GitHub.
212 },
213 &quot;excludeInfoTypes&quot;: { # List of exclude infoTypes. # Set of infoTypes for which findings would affect this rule.
214 &quot;infoTypes&quot;: [ # InfoType list in ExclusionRule rule drops a finding when it overlaps or
215 # contained within with a finding of an infoType from this list. For
216 # example, for `InspectionRuleSet.info_types` containing &quot;PHONE_NUMBER&quot;` and
217 # `exclusion_rule` containing `exclude_info_types.info_types` with
218 # &quot;EMAIL_ADDRESS&quot; the phone number findings are dropped if they overlap
219 # with EMAIL_ADDRESS finding.
220 # That leads to &quot;555-222-2222@example.org&quot; to generate only a single
221 # finding, namely email address.
222 { # Type of information detected by the API.
223 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
224 # creating a CustomInfoType, or one of the names listed
225 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
226 # a built-in type. InfoType names should conform to the pattern
227 # `[a-zA-Z0-9_]{1,64}`.
228 },
229 ],
230 },
231 &quot;matchingType&quot;: &quot;A String&quot;, # How the rule is applied, see MatchingType documentation for details.
232 },
233 },
234 ],
235 },
236 ],
237 &quot;limits&quot;: { # Configuration to control the number of findings returned. # Configuration to control the number of findings returned.
238 &quot;maxFindingsPerItem&quot;: 42, # Max number of findings that will be returned for each item scanned.
239 # When set within `InspectJobConfig`,
240 # the maximum returned is 2000 regardless if this is set higher.
241 # When set within `InspectContentRequest`, this field is ignored.
242 &quot;maxFindingsPerInfoType&quot;: [ # Configuration of findings limit given for specified infoTypes.
243 { # Max findings configuration per infoType, per content item or long
244 # running DlpJob.
245 &quot;maxFindings&quot;: 42, # Max findings limit for the given infoType.
246 &quot;infoType&quot;: { # Type of information detected by the API. # Type of information the findings limit applies to. Only one limit per
247 # info_type should be provided. If InfoTypeLimit does not have an
248 # info_type, the DLP API applies the limit against all info_types that
249 # are found but not specified in another InfoTypeLimit.
250 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
251 # creating a CustomInfoType, or one of the names listed
252 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
253 # a built-in type. InfoType names should conform to the pattern
254 # `[a-zA-Z0-9_]{1,64}`.
255 },
256 },
257 ],
258 &quot;maxFindingsPerRequest&quot;: 42, # Max number of findings that will be returned per request/job.
259 # When set within `InspectContentRequest`, the maximum returned is 2000
260 # regardless if this is set higher.
261 },
262 &quot;contentOptions&quot;: [ # List of options defining data content to scan.
263 # If empty, text, images, and other content will be included.
264 &quot;A String&quot;,
265 ],
266 &quot;infoTypes&quot;: [ # Restricts what info_types to look for. The values must correspond to
267 # InfoType values returned by ListInfoTypes or listed at
268 # https://cloud.google.com/dlp/docs/infotypes-reference.
269 #
270 # When no InfoTypes or CustomInfoTypes are specified in a request, the
271 # system may automatically choose what detectors to run. By default this may
272 # be all types, but may change over time as detectors are updated.
273 #
274 # If you need precise control and predictability as to what detectors are
275 # run you should specify specific InfoTypes listed in the reference,
276 # otherwise a default list will be used, which may change over time.
277 { # Type of information detected by the API.
278 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
279 # creating a CustomInfoType, or one of the names listed
280 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
281 # a built-in type. InfoType names should conform to the pattern
282 # `[a-zA-Z0-9_]{1,64}`.
283 },
284 ],
285 &quot;minLikelihood&quot;: &quot;A String&quot;, # Only returns findings equal or above this threshold. The default is
286 # POSSIBLE.
287 # See https://cloud.google.com/dlp/docs/likelihood to learn more.
288 &quot;excludeInfoTypes&quot;: True or False, # When true, excludes type information of the findings.
289 &quot;customInfoTypes&quot;: [ # CustomInfoTypes provided by the user. See
290 # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
291 { # Custom information type provided by the user. Used to find domain-specific
292 # sensitive information configurable to the data in question.
293 &quot;likelihood&quot;: &quot;A String&quot;, # Likelihood to return for this CustomInfoType. This base value can be
294 # altered by a detection rule if the finding meets the criteria specified by
295 # the rule. Defaults to `VERY_LIKELY` if not specified.
296 &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in
297 # infoType, when the name matches one of existing infoTypes and that infoType
298 # is specified in `InspectContent.info_types` field. Specifying the latter
299 # adds findings to the one detected by the system. If built-in info type is
300 # not specified in `InspectContent.info_types` list then the name is treated
301 # as a custom info type.
302 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
303 # creating a CustomInfoType, or one of the names listed
304 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
305 # a built-in type. InfoType names should conform to the pattern
306 # `[a-zA-Z0-9_]{1,64}`.
307 },
308 &quot;regex&quot;: { # Message defining a custom regular expression. # Regular expression based CustomInfoType.
309 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
310 # specified, the entire match is returned. No more than 3 may be included.
311 42,
312 ],
313 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
314 # (https://github.com/google/re2/wiki/Syntax) can be found under the
315 # google/re2 repository on GitHub.
316 },
317 &quot;detectionRules&quot;: [ # Set of detection rules to apply to all findings of this CustomInfoType.
318 # Rules are applied in order that they are specified. Not supported for the
319 # `surrogate_type` CustomInfoType.
320 { # Deprecated; use `InspectionRuleSet` instead. Rule for modifying a
321 # `CustomInfoType` to alter behavior under certain circumstances, depending
322 # on the specific details of the rule. Not supported for the `surrogate_type`
323 # custom infoType.
324 &quot;hotwordRule&quot;: { # The rule that adjusts the likelihood of findings within a certain # Hotword-based detection rule.
325 # proximity of hotwords.
326 &quot;likelihoodAdjustment&quot;: { # Message for specifying an adjustment to the likelihood of a finding as # Likelihood adjustment to apply to all matching findings.
327 # part of a detection rule.
328 &quot;relativeLikelihood&quot;: 42, # Increase or decrease the likelihood by the specified number of
329 # levels. For example, if a finding would be `POSSIBLE` without the
330 # detection rule and `relative_likelihood` is 1, then it is upgraded to
331 # `LIKELY`, while a value of -1 would downgrade it to `UNLIKELY`.
332 # Likelihood may never drop below `VERY_UNLIKELY` or exceed
333 # `VERY_LIKELY`, so applying an adjustment of 1 followed by an
334 # adjustment of -1 when base likelihood is `VERY_LIKELY` will result in
335 # a final likelihood of `LIKELY`.
336 &quot;fixedLikelihood&quot;: &quot;A String&quot;, # Set the likelihood of a finding to a fixed value.
337 },
338 &quot;hotwordRegex&quot;: { # Message defining a custom regular expression. # Regular expression pattern defining what qualifies as a hotword.
339 &quot;groupIndexes&quot;: [ # The index of the submatch to extract as findings. When not
340 # specified, the entire match is returned. No more than 3 may be included.
341 42,
342 ],
343 &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax
344 # (https://github.com/google/re2/wiki/Syntax) can be found under the
345 # google/re2 repository on GitHub.
346 },
347 &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.
348 # The total length of the window cannot exceed 1000 characters. Note that
349 # the finding itself will be included in the window, so that hotwords may
350 # be used to match substrings of the finding itself. For example, the
351 # certainty of a phone number regex &quot;\(\d{3}\) \d{3}-\d{4}&quot; could be
352 # adjusted upwards if the area code is known to be the local area code of
353 # a company office using the hotword regex &quot;\(xxx\)&quot;, where &quot;xxx&quot;
354 # is the area code in question.
355 # rule.
356 &quot;windowBefore&quot;: 42, # Number of characters before the finding to consider.
357 &quot;windowAfter&quot;: 42, # Number of characters after the finding to consider.
358 },
359 },
360 },
361 ],
362 &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding
363 # to be returned. It still can be used for rules matching.
364 &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.
365 # be used to match sensitive information specific to the data, such as a list
366 # of employee IDs or job titles.
367 #
368 # Dictionary words are case-insensitive and all characters other than letters
369 # and digits in the unicode [Basic Multilingual
370 # Plane](https://en.wikipedia.org/wiki/Plane_%28Unicode%29#Basic_Multilingual_Plane)
371 # will be replaced with whitespace when scanning for matches, so the
372 # dictionary phrase &quot;Sam Johnson&quot; will match all three phrases &quot;sam johnson&quot;,
373 # &quot;Sam, Johnson&quot;, and &quot;Sam (Johnson)&quot;. Additionally, the characters
374 # surrounding any match must be of a different type than the adjacent
375 # characters within the word, so letters must be next to non-letters and
376 # digits next to non-digits. For example, the dictionary word &quot;jen&quot; will
377 # match the first three letters of the text &quot;jen123&quot; but will return no
378 # matches for &quot;jennifer&quot;.
379 #
380 # Dictionary words containing a large number of characters that are not
381 # letters or digits may result in unexpected findings because such characters
382 # are treated as whitespace. The
383 # [limits](https://cloud.google.com/dlp/limits) page contains details about
384 # the size limits of dictionaries. For dictionaries that do not fit within
385 # these constraints, consider using `LargeCustomDictionaryConfig` in the
386 # `StoredInfoType` API.
387 &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.
388 &quot;words&quot;: [ # Words or phrases defining the dictionary. The dictionary must contain
389 # at least one phrase and every phrase must contain at least 2 characters
390 # that are letters or digits. [required]
391 &quot;A String&quot;,
392 ],
393 },
394 &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
395 # is accepted.
396 &quot;path&quot;: &quot;A String&quot;, # A url representing a file or path (no wildcards) in Cloud Storage.
397 # Example: gs://[BUCKET_NAME]/dictionary.txt
398 },
399 },
400 &quot;storedType&quot;: { # A reference to a StoredInfoType to use with scanning. # Load an existing `StoredInfoType` resource for use in
401 # `InspectDataSource`. Not currently supported in `InspectContent`.
402 &quot;name&quot;: &quot;A String&quot;, # Resource name of the requested `StoredInfoType`, for example
403 # `organizations/433245324/storedInfoTypes/432452342` or
404 # `projects/project-id/storedInfoTypes/432452342`.
405 &quot;createTime&quot;: &quot;A String&quot;, # Timestamp indicating when the version of the `StoredInfoType` used for
406 # inspection was created. Output-only field, populated by the system.
407 },
408 &quot;surrogateType&quot;: { # Message for detecting output from deidentification transformations # Message for detecting output from deidentification transformations that
409 # support reversing.
410 # such as
411 # [`CryptoReplaceFfxFpeConfig`](/dlp/docs/reference/rest/v2/organizations.deidentifyTemplates#cryptoreplaceffxfpeconfig).
412 # These types of transformations are
413 # those that perform pseudonymization, thereby producing a &quot;surrogate&quot; as
414 # output. This should be used in conjunction with a field on the
415 # transformation such as `surrogate_info_type`. This CustomInfoType does
416 # not support the use of `detection_rules`.
417 },
418 },
419 ],
420 },
421 &quot;imageRedactionConfigs&quot;: [ # The configuration for specifying what content to redact from images.
422 { # Configuration for determining how redaction of images should occur.
423 &quot;redactAllText&quot;: True or False, # If true, all text found in the image, regardless whether it matches an
424 # info_type, is redacted. Only one should be provided.
425 &quot;infoType&quot;: { # Type of information detected by the API. # Only one per info_type should be provided per request. If not
426 # specified, and redact_all_text is false, the DLP API will redact all
427 # text that it matches against all info_types that are found, but not
428 # specified in another ImageRedactionConfig.
429 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
430 # creating a CustomInfoType, or one of the names listed
431 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
432 # a built-in type. InfoType names should conform to the pattern
433 # `[a-zA-Z0-9_]{1,64}`.
434 },
435 &quot;redactionColor&quot;: { # Represents a color in the RGB color space. # The color to use when redacting content from an image. If not specified,
436 # the default is black.
437 &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
438 &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
439 &quot;blue&quot;: 3.14, # The amount of blue in the color as a value in the interval [0, 1].
440 },
441 },
442 ],
443 &quot;locationId&quot;: &quot;A String&quot;, # The geographic location to process the request. Reserved for future
444 # extensions.
445 # Location is restricted to &#x27;global&#x27;, &#x27;us&#x27;, &#x27;asia&#x27;, and &#x27;europe&#x27;.
446 }
447
448 x__xgafv: string, V1 error format.
449 Allowed values
450 1 - v1 error format
451 2 - v2 error format
452
453Returns:
454 An object of the form:
455
456 { # Results of redacting an image.
457 &quot;redactedImage&quot;: &quot;A String&quot;, # The redacted image. The type will be the same as the original image.
458 &quot;inspectResult&quot;: { # All the findings for a single scanned item. # The findings. Populated when include_findings in the request is true.
459 &quot;findings&quot;: [ # List of findings for an item.
460 { # Represents a piece of potentially sensitive content.
461 &quot;resourceName&quot;: &quot;A String&quot;, # The job that stored the finding.
462 &quot;triggerName&quot;: &quot;A String&quot;, # Job trigger name, if applicable, for this finding.
463 &quot;jobCreateTime&quot;: &quot;A String&quot;, # Time the job started that produced this finding.
464 &quot;quoteInfo&quot;: { # Message for infoType-dependent details parsed from quote. # Contains data parsed from quotes. Only populated if include_quote was set
465 # to true and a supported infoType was requested. Currently supported
466 # infoTypes: DATE, DATE_OF_BIRTH and TIME.
467 &quot;dateTime&quot;: { # Message for a date time object. # The date time indicated by the quote.
468 # e.g. 2018-01-01, 5th August.
469 &quot;date&quot;: { # Represents a whole or partial calendar date, e.g. a birthday. The time of day # One or more of the following must be set.
470 # Must be a valid date or time value.
471 # and time zone are either specified elsewhere or are not significant. The date
472 # is relative to the Proleptic Gregorian Calendar. This can represent:
473 #
474 # * A full date, with non-zero year, month and day values
475 # * A month and day value, with a zero year, e.g. an anniversary
476 # * A year on its own, with zero month and day values
477 # * A year and month value, with a zero day, e.g. a credit card expiration date
478 #
479 # Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`.
480 &quot;year&quot;: 42, # Year of date. Must be from 1 to 9999, or 0 if specifying a date without
481 # a year.
482 &quot;month&quot;: 42, # Month of year. Must be from 1 to 12, or 0 if specifying a year without a
483 # month and day.
484 &quot;day&quot;: 42, # Day of month. Must be from 1 to 31 and valid for the year and month, or 0
485 # if specifying a year by itself or a year and month where the day is not
486 # significant.
487 },
488 &quot;timeZone&quot;: { # Time zone of the date time object. # Time zone
489 &quot;offsetMinutes&quot;: 42, # Set only if the offset can be determined. Positive for time ahead of UTC.
490 # E.g. For &quot;UTC-9&quot;, this value is -540.
491 },
492 &quot;dayOfWeek&quot;: &quot;A String&quot;, # Day of week
493 &quot;time&quot;: { # Represents a time of day. The date and time zone are either not significant # Time of day
494 # or are specified elsewhere. An API may choose to allow leap seconds. Related
495 # types are google.type.Date and `google.protobuf.Timestamp`.
496 &quot;seconds&quot;: 42, # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
497 # allow the value 60 if it allows leap-seconds.
498 &quot;nanos&quot;: 42, # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
499 &quot;hours&quot;: 42, # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose
500 # to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
501 &quot;minutes&quot;: 42, # Minutes of hour of day. Must be from 0 to 59.
502 },
503 },
504 },
505 &quot;labels&quot;: { # The labels associated with this `Finding`.
506 #
507 # Label keys must be between 1 and 63 characters long and must conform
508 # to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.
509 #
510 # Label values must be between 0 and 63 characters long and must conform
511 # to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
512 #
513 # No more than 10 labels can be associated with a given finding.
514 #
515 # Examples:
516 # * `&quot;environment&quot; : &quot;production&quot;`
517 # * `&quot;pipeline&quot; : &quot;etl&quot;`
518 &quot;a_key&quot;: &quot;A String&quot;,
519 },
520 &quot;infoType&quot;: { # Type of information detected by the API. # The type of content that might have been found.
521 # Provided if `excluded_types` is false.
522 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when
523 # creating a CustomInfoType, or one of the names listed
524 # at https://cloud.google.com/dlp/docs/infotypes-reference when specifying
525 # a built-in type. InfoType names should conform to the pattern
526 # `[a-zA-Z0-9_]{1,64}`.
527 },
528 &quot;likelihood&quot;: &quot;A String&quot;, # Confidence of how likely it is that the `info_type` is correct.
529 &quot;name&quot;: &quot;A String&quot;, # Resource name in format
530 # projects/{project}/locations/{location}/findings/{finding} Populated only
531 # when viewing persisted findings.
532 &quot;location&quot;: { # Specifies the location of the finding. # Where the content was found.
533 &quot;codepointRange&quot;: { # Generic half-open interval [start, end) # Unicode character offsets delimiting the finding.
534 # These are relative to the finding&#x27;s containing element.
535 # Provided when the content is text.
536 &quot;start&quot;: &quot;A String&quot;, # Index of the first character of the range (inclusive).
537 &quot;end&quot;: &quot;A String&quot;, # Index of the last character of the range (exclusive).
538 },
539 &quot;byteRange&quot;: { # Generic half-open interval [start, end) # Zero-based byte offsets delimiting the finding.
540 # These are relative to the finding&#x27;s containing element.
541 # Note that when the content is not textual, this references
542 # the UTF-8 encoded textual representation of the content.
543 # Omitted if content is an image.
544 &quot;start&quot;: &quot;A String&quot;, # Index of the first character of the range (inclusive).
545 &quot;end&quot;: &quot;A String&quot;, # Index of the last character of the range (exclusive).
546 },
547 &quot;container&quot;: { # Represents a container that may contain DLP findings. # Information about the container where this finding occurred, if available.
548 # Examples of a container include a file, table, or database record.
549 &quot;fullPath&quot;: &quot;A String&quot;, # A string representation of the full container name.
550 # Examples:
551 # - BigQuery: &#x27;Project:DataSetId.TableId&#x27;
552 # - Google Cloud Storage: &#x27;gs://Bucket/folders/filename.txt&#x27;
553 &quot;type&quot;: &quot;A String&quot;, # Container type, for example BigQuery or Google Cloud Storage.
554 &quot;updateTime&quot;: &quot;A String&quot;, # Findings container modification timestamp, if applicable.
555 # For Google Cloud Storage contains last file modification timestamp.
556 # For BigQuery table contains last_modified_time property.
557 # For Datastore - not populated.
558 &quot;rootPath&quot;: &quot;A String&quot;, # The root of the container.
559 # Examples:
560 # - For BigQuery table `project_id:dataset_id.table_id`, the root is
561 # `dataset_id`
562 # - For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root
563 # is `gs://bucket`
564 &quot;projectId&quot;: &quot;A String&quot;, # Project where the finding was found.
565 # Can be different from the project that owns the finding.
566 &quot;relativePath&quot;: &quot;A String&quot;, # The rest of the path after the root.
567 # Examples:
568 # - For BigQuery table `project_id:dataset_id.table_id`, the relative path is
569 # `table_id`
570 # - Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative
571 # path is `folder/filename.txt`
572 &quot;version&quot;: &quot;A String&quot;, # Findings container version, if available
573 # (&quot;generation&quot; for Google Cloud Storage).
574 },
575 &quot;contentLocations&quot;: [ # List of nested objects pointing to the precise location of the finding
576 # within the file or record.
577 { # Precise location of the finding within a document, record, image, or metadata
578 # container.
579 &quot;containerName&quot;: &quot;A String&quot;, # Name of the container where the finding is located.
580 # The top level name is the source file name or table name. Names of some
581 # common storage containers are formatted as follows:
582 #
583 # * BigQuery tables: `{project_id}:{dataset_id}.{table_id}`
584 # * Cloud Storage files: `gs://{bucket}/{path}`
585 # * Datastore namespace: {namespace}
586 #
587 # Nested names could be absent if the embedded object has no string
588 # identifier (for an example an image contained within a document).
589 &quot;documentLocation&quot;: { # Location of a finding within a document. # Location data for document files.
590 &quot;fileOffset&quot;: &quot;A String&quot;, # Offset of the line, from the beginning of the file, where the finding
591 # is located.
592 },
593 &quot;recordLocation&quot;: { # Location of a finding within a row or record. # Location within a row or record of a database table.
594 &quot;fieldId&quot;: { # General identifier of a data field in a storage service. # Field id of the field containing the finding.
595 &quot;name&quot;: &quot;A String&quot;, # Name describing the field.
596 },
597 &quot;tableLocation&quot;: { # Location of a finding within a table. # Location within a `ContentItem.Table`.
598 &quot;rowIndex&quot;: &quot;A String&quot;, # The zero-based index of the row where the finding is located. Only
599 # populated for resources that have a natural ordering, not BigQuery. In
600 # BigQuery, to identify the row a finding came from, populate
601 # BigQueryOptions.identifying_fields with your primary key column names and
602 # when you store the findings the value of those columns will be stored
603 # inside of Finding.
604 },
605 &quot;recordKey&quot;: { # Message for a unique key indicating a record that contains a finding. # Key of the finding.
606 &quot;idValues&quot;: [ # Values of identifying columns in the given row. Order of values matches
607 # the order of `identifying_fields` specified in the scanning request.
608 &quot;A String&quot;,
609 ],
610 &quot;datastoreKey&quot;: { # Record key for a finding in Cloud Datastore.
611 &quot;entityKey&quot;: { # A unique identifier for a Datastore entity. # Datastore entity key.
612 # If a key&#x27;s partition ID or any of its path kinds or names are
613 # reserved/read-only, the key is reserved/read-only.
614 # A reserved/read-only key is forbidden in certain documented contexts.
615 &quot;path&quot;: [ # The entity path.
616 # An entity path consists of one or more elements composed of a kind and a
617 # string or numerical identifier, which identify entities. The first
618 # element identifies a _root entity_, the second element identifies
619 # a _child_ of the root entity, the third element identifies a child of the
620 # second entity, and so forth. The entities identified by all prefixes of
621 # the path are called the element&#x27;s _ancestors_.
622 #
623 # A path can never be empty, and a path can have at most 100 elements.
624 { # A (kind, ID/name) pair used to construct a key path.
625 #
626 # If either name or ID is set, the element is complete.
627 # If neither is set, the element is incomplete.
628 &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity.
629 # A kind matching regex `__.*__` is reserved/read-only.
630 # A kind must not contain more than 1500 bytes when UTF-8 encoded.
631 # Cannot be `&quot;&quot;`.
632 &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity.
633 # Never equal to zero. Values less than zero are discouraged and may not
634 # be supported in the future.
635 &quot;name&quot;: &quot;A String&quot;, # The name of the entity.
636 # A name matching regex `__.*__` is reserved/read-only.
637 # A name must not be more than 1500 bytes when UTF-8 encoded.
638 # Cannot be `&quot;&quot;`.
639 },
640 ],
641 &quot;partitionId&quot;: { # Datastore partition ID. # Entities are partitioned into subsets, currently identified by a project
642 # ID and namespace ID.
643 # Queries are scoped to a single partition.
644 # A partition ID identifies a grouping of entities. The grouping is always
645 # by project and namespace, however the namespace ID may be empty.
646 #
647 # A partition ID contains several dimensions:
648 # project ID and namespace ID.
649 &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
650 &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
651 },
652 },
653 },
654 &quot;bigQueryKey&quot;: { # Row key for identifying a record in BigQuery table.
655 &quot;tableReference&quot;: { # Message defining the location of a BigQuery table. A table is uniquely # Complete BigQuery table reference.
656 # identified by its project_id, dataset_id, and table_name. Within a query
657 # a table is often referenced with a string in the format of:
658 # `&lt;project_id&gt;:&lt;dataset_id&gt;.&lt;table_id&gt;` or
659 # `&lt;project_id&gt;.&lt;dataset_id&gt;.&lt;table_id&gt;`.
660 &quot;projectId&quot;: &quot;A String&quot;, # The Google Cloud Platform project ID of the project containing the table.
661 # If omitted, project ID is inferred from the API call.
662 &quot;datasetId&quot;: &quot;A String&quot;, # Dataset ID of the table.
663 &quot;tableId&quot;: &quot;A String&quot;, # Name of the table.
664 },
665 &quot;rowNumber&quot;: &quot;A String&quot;, # Row number inferred at the time the table was scanned. This value is
666 # nondeterministic, cannot be queried, and may be null for inspection
667 # jobs. To locate findings within a table, specify
668 # `inspect_job.storage_config.big_query_options.identifying_fields` in
669 # `CreateDlpJobRequest`.
670 },
671 },
672 },
673 &quot;containerTimestamp&quot;: &quot;A String&quot;, # Findings container modification timestamp, if applicable.
674 # For Google Cloud Storage contains last file modification timestamp.
675 # For BigQuery table contains last_modified_time property.
676 # For Datastore - not populated.
677 &quot;metadataLocation&quot;: { # Metadata Location # Location within the metadata for inspected content.
678 &quot;storageLabel&quot;: { # Storage metadata label to indicate which metadata entry contains findings. # Storage metadata.
679 &quot;key&quot;: &quot;A String&quot;,
680 },
681 &quot;type&quot;: &quot;A String&quot;, # Type of metadata containing the finding.
682 },
683 &quot;imageLocation&quot;: { # Location of the finding within an image. # Location within an image&#x27;s pixels.
684 &quot;boundingBoxes&quot;: [ # Bounding boxes locating the pixels within the image containing the finding.
685 { # Bounding box encompassing detected text within an image.
686 &quot;top&quot;: 42, # Top coordinate of the bounding box. (0,0) is upper left.
687 &quot;width&quot;: 42, # Width of the bounding box in pixels.
688 &quot;height&quot;: 42, # Height of the bounding box in pixels.
689 &quot;left&quot;: 42, # Left coordinate of the bounding box. (0,0) is upper left.
690 },
691 ],
692 },
693 &quot;containerVersion&quot;: &quot;A String&quot;, # Findings container version, if available
694 # (&quot;generation&quot; for Google Cloud Storage).
695 },
696 ],
697 },
698 &quot;quote&quot;: &quot;A String&quot;, # The content that was found. Even if the content is not textual, it
699 # may be converted to a textual representation here.
700 # Provided if `include_quote` is true and the finding is
701 # less than or equal to 4096 bytes long. If the finding exceeds 4096 bytes
702 # in length, the quote may be omitted.
703 &quot;createTime&quot;: &quot;A String&quot;, # Timestamp when finding was detected.
704 &quot;jobName&quot;: &quot;A String&quot;, # The job that stored the finding.
705 },
706 ],
707 &quot;findingsTruncated&quot;: True or False, # If true, then this item might have more findings than were returned,
708 # and the findings returned are an arbitrary subset of all findings.
709 # The findings list might be truncated because the input items were too
710 # large, or because the server reached the maximum amount of resources
711 # allowed for a single API call. For best results, divide the input into
712 # smaller batches.
713 },
714 &quot;extractedText&quot;: &quot;A String&quot;, # If an image was being inspected and the InspectConfig&#x27;s include_quote was
715 # set to true, then this field will include all text, if any, that was found
716 # in the image.
717 }</pre>
718</div>
719
720</body></html>