google-cloud-dlp 0.13.2 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,176 +0,0 @@
1
- {
2
- "interfaces": {
3
- "google.privacy.dlp.v2.DlpService": {
4
- "retry_codes": {
5
- "idempotent": [
6
- "DEADLINE_EXCEEDED",
7
- "UNAVAILABLE"
8
- ],
9
- "non_idempotent": []
10
- },
11
- "retry_params": {
12
- "default": {
13
- "initial_retry_delay_millis": 100,
14
- "retry_delay_multiplier": 1.3,
15
- "max_retry_delay_millis": 60000,
16
- "initial_rpc_timeout_millis": 20000,
17
- "rpc_timeout_multiplier": 1.0,
18
- "max_rpc_timeout_millis": 20000,
19
- "total_timeout_millis": 600000
20
- }
21
- },
22
- "methods": {
23
- "InspectContent": {
24
- "timeout_millis": 300000,
25
- "retry_codes_name": "idempotent",
26
- "retry_params_name": "default"
27
- },
28
- "RedactImage": {
29
- "timeout_millis": 300000,
30
- "retry_codes_name": "idempotent",
31
- "retry_params_name": "default"
32
- },
33
- "DeidentifyContent": {
34
- "timeout_millis": 300000,
35
- "retry_codes_name": "idempotent",
36
- "retry_params_name": "default"
37
- },
38
- "ReidentifyContent": {
39
- "timeout_millis": 300000,
40
- "retry_codes_name": "idempotent",
41
- "retry_params_name": "default"
42
- },
43
- "ListInfoTypes": {
44
- "timeout_millis": 300000,
45
- "retry_codes_name": "idempotent",
46
- "retry_params_name": "default"
47
- },
48
- "CreateInspectTemplate": {
49
- "timeout_millis": 300000,
50
- "retry_codes_name": "non_idempotent",
51
- "retry_params_name": "default"
52
- },
53
- "UpdateInspectTemplate": {
54
- "timeout_millis": 300000,
55
- "retry_codes_name": "non_idempotent",
56
- "retry_params_name": "default"
57
- },
58
- "GetInspectTemplate": {
59
- "timeout_millis": 300000,
60
- "retry_codes_name": "idempotent",
61
- "retry_params_name": "default"
62
- },
63
- "ListInspectTemplates": {
64
- "timeout_millis": 300000,
65
- "retry_codes_name": "idempotent",
66
- "retry_params_name": "default"
67
- },
68
- "DeleteInspectTemplate": {
69
- "timeout_millis": 300000,
70
- "retry_codes_name": "idempotent",
71
- "retry_params_name": "default"
72
- },
73
- "CreateDeidentifyTemplate": {
74
- "timeout_millis": 300000,
75
- "retry_codes_name": "non_idempotent",
76
- "retry_params_name": "default"
77
- },
78
- "UpdateDeidentifyTemplate": {
79
- "timeout_millis": 300000,
80
- "retry_codes_name": "non_idempotent",
81
- "retry_params_name": "default"
82
- },
83
- "GetDeidentifyTemplate": {
84
- "timeout_millis": 300000,
85
- "retry_codes_name": "idempotent",
86
- "retry_params_name": "default"
87
- },
88
- "ListDeidentifyTemplates": {
89
- "timeout_millis": 300000,
90
- "retry_codes_name": "idempotent",
91
- "retry_params_name": "default"
92
- },
93
- "DeleteDeidentifyTemplate": {
94
- "timeout_millis": 300000,
95
- "retry_codes_name": "idempotent",
96
- "retry_params_name": "default"
97
- },
98
- "CreateDlpJob": {
99
- "timeout_millis": 300000,
100
- "retry_codes_name": "non_idempotent",
101
- "retry_params_name": "default"
102
- },
103
- "ListDlpJobs": {
104
- "timeout_millis": 300000,
105
- "retry_codes_name": "idempotent",
106
- "retry_params_name": "default"
107
- },
108
- "GetDlpJob": {
109
- "timeout_millis": 300000,
110
- "retry_codes_name": "idempotent",
111
- "retry_params_name": "default"
112
- },
113
- "DeleteDlpJob": {
114
- "timeout_millis": 300000,
115
- "retry_codes_name": "idempotent",
116
- "retry_params_name": "default"
117
- },
118
- "CancelDlpJob": {
119
- "timeout_millis": 300000,
120
- "retry_codes_name": "non_idempotent",
121
- "retry_params_name": "default"
122
- },
123
- "ListJobTriggers": {
124
- "timeout_millis": 300000,
125
- "retry_codes_name": "idempotent",
126
- "retry_params_name": "default"
127
- },
128
- "GetJobTrigger": {
129
- "timeout_millis": 300000,
130
- "retry_codes_name": "idempotent",
131
- "retry_params_name": "default"
132
- },
133
- "DeleteJobTrigger": {
134
- "timeout_millis": 300000,
135
- "retry_codes_name": "idempotent",
136
- "retry_params_name": "default"
137
- },
138
- "UpdateJobTrigger": {
139
- "timeout_millis": 300000,
140
- "retry_codes_name": "non_idempotent",
141
- "retry_params_name": "default"
142
- },
143
- "CreateJobTrigger": {
144
- "timeout_millis": 300000,
145
- "retry_codes_name": "non_idempotent",
146
- "retry_params_name": "default"
147
- },
148
- "CreateStoredInfoType": {
149
- "timeout_millis": 300000,
150
- "retry_codes_name": "non_idempotent",
151
- "retry_params_name": "default"
152
- },
153
- "UpdateStoredInfoType": {
154
- "timeout_millis": 300000,
155
- "retry_codes_name": "non_idempotent",
156
- "retry_params_name": "default"
157
- },
158
- "GetStoredInfoType": {
159
- "timeout_millis": 300000,
160
- "retry_codes_name": "idempotent",
161
- "retry_params_name": "default"
162
- },
163
- "ListStoredInfoTypes": {
164
- "timeout_millis": 300000,
165
- "retry_codes_name": "idempotent",
166
- "retry_params_name": "default"
167
- },
168
- "DeleteStoredInfoType": {
169
- "timeout_millis": 300000,
170
- "retry_codes_name": "idempotent",
171
- "retry_params_name": "default"
172
- }
173
- }
174
- }
175
- }
176
- }
@@ -1,2925 +0,0 @@
1
- # Copyright 2020 Google LLC
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # https://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
-
16
- module Google
17
- module Privacy
18
- module Dlp
19
- module V2
20
- # List of exclude infoTypes.
21
- # @!attribute [rw] info_types
22
- # @return [Array<Google::Privacy::Dlp::V2::InfoType>]
23
- # InfoType list in ExclusionRule rule drops a finding when it overlaps or
24
- # contained within with a finding of an infoType from this list. For
25
- # example, for `InspectionRuleSet.info_types` containing "PHONE_NUMBER"` and
26
- # `exclusion_rule` containing `exclude_info_types.info_types` with
27
- # "EMAIL_ADDRESS" the phone number findings are dropped if they overlap
28
- # with EMAIL_ADDRESS finding.
29
- # That leads to "555-222-2222@example.org" to generate only a single
30
- # finding, namely email address.
31
- class ExcludeInfoTypes; end
32
-
33
- # The rule that specifies conditions when findings of infoTypes specified in
34
- # `InspectionRuleSet` are removed from results.
35
- # @!attribute [rw] dictionary
36
- # @return [Google::Privacy::Dlp::V2::CustomInfoType::Dictionary]
37
- # Dictionary which defines the rule.
38
- # @!attribute [rw] regex
39
- # @return [Google::Privacy::Dlp::V2::CustomInfoType::Regex]
40
- # Regular expression which defines the rule.
41
- # @!attribute [rw] exclude_info_types
42
- # @return [Google::Privacy::Dlp::V2::ExcludeInfoTypes]
43
- # Set of infoTypes for which findings would affect this rule.
44
- # @!attribute [rw] matching_type
45
- # @return [Google::Privacy::Dlp::V2::MatchingType]
46
- # How the rule is applied, see MatchingType documentation for details.
47
- class ExclusionRule; end
48
-
49
- # A single inspection rule to be applied to infoTypes, specified in
50
- # `InspectionRuleSet`.
51
- # @!attribute [rw] hotword_rule
52
- # @return [Google::Privacy::Dlp::V2::CustomInfoType::DetectionRule::HotwordRule]
53
- # Hotword-based detection rule.
54
- # @!attribute [rw] exclusion_rule
55
- # @return [Google::Privacy::Dlp::V2::ExclusionRule]
56
- # Exclusion rule.
57
- class InspectionRule; end
58
-
59
- # Rule set for modifying a set of infoTypes to alter behavior under certain
60
- # circumstances, depending on the specific details of the rules within the set.
61
- # @!attribute [rw] info_types
62
- # @return [Array<Google::Privacy::Dlp::V2::InfoType>]
63
- # List of infoTypes this rule set is applied to.
64
- # @!attribute [rw] rules
65
- # @return [Array<Google::Privacy::Dlp::V2::InspectionRule>]
66
- # Set of rules to be applied to infoTypes. The rules are applied in order.
67
- class InspectionRuleSet; end
68
-
69
- # Configuration description of the scanning process.
70
- # When used with redactContent only info_types and min_likelihood are currently
71
- # used.
72
- # @!attribute [rw] info_types
73
- # @return [Array<Google::Privacy::Dlp::V2::InfoType>]
74
- # Restricts what info_types to look for. The values must correspond to
75
- # InfoType values returned by ListInfoTypes or listed at
76
- # https://cloud.google.com/dlp/docs/infotypes-reference.
77
- #
78
- # When no InfoTypes or CustomInfoTypes are specified in a request, the
79
- # system may automatically choose what detectors to run. By default this may
80
- # be all types, but may change over time as detectors are updated.
81
- #
82
- # If you need precise control and predictability as to what detectors are
83
- # run you should specify specific InfoTypes listed in the reference,
84
- # otherwise a default list will be used, which may change over time.
85
- # @!attribute [rw] min_likelihood
86
- # @return [Google::Privacy::Dlp::V2::Likelihood]
87
- # Only returns findings equal or above this threshold. The default is
88
- # POSSIBLE.
89
- # See https://cloud.google.com/dlp/docs/likelihood to learn more.
90
- # @!attribute [rw] limits
91
- # @return [Google::Privacy::Dlp::V2::InspectConfig::FindingLimits]
92
- # Configuration to control the number of findings returned.
93
- # @!attribute [rw] include_quote
94
- # @return [true, false]
95
- # When true, a contextual quote from the data that triggered a finding is
96
- # included in the response; see Finding.quote.
97
- # @!attribute [rw] exclude_info_types
98
- # @return [true, false]
99
- # When true, excludes type information of the findings.
100
- # @!attribute [rw] custom_info_types
101
- # @return [Array<Google::Privacy::Dlp::V2::CustomInfoType>]
102
- # CustomInfoTypes provided by the user. See
103
- # https://cloud.google.com/dlp/docs/creating-custom-infotypes to learn more.
104
- # @!attribute [rw] content_options
105
- # @return [Array<Google::Privacy::Dlp::V2::ContentOption>]
106
- # List of options defining data content to scan.
107
- # If empty, text, images, and other content will be included.
108
- # @!attribute [rw] rule_set
109
- # @return [Array<Google::Privacy::Dlp::V2::InspectionRuleSet>]
110
- # Set of rules to apply to the findings for this InspectConfig.
111
- # Exclusion rules, contained in the set are executed in the end, other
112
- # rules are executed in the order they are specified for each info type.
113
- class InspectConfig
114
- # Configuration to control the number of findings returned.
115
- # @!attribute [rw] max_findings_per_item
116
- # @return [Integer]
117
- # Max number of findings that will be returned for each item scanned.
118
- # When set within `InspectDataSourceRequest`,
119
- # the maximum returned is 2000 regardless if this is set higher.
120
- # When set within `InspectContentRequest`, this field is ignored.
121
- # @!attribute [rw] max_findings_per_request
122
- # @return [Integer]
123
- # Max number of findings that will be returned per request/job.
124
- # When set within `InspectContentRequest`, the maximum returned is 2000
125
- # regardless if this is set higher.
126
- # @!attribute [rw] max_findings_per_info_type
127
- # @return [Array<Google::Privacy::Dlp::V2::InspectConfig::FindingLimits::InfoTypeLimit>]
128
- # Configuration of findings limit given for specified infoTypes.
129
- class FindingLimits
130
- # Max findings configuration per infoType, per content item or long
131
- # running DlpJob.
132
- # @!attribute [rw] info_type
133
- # @return [Google::Privacy::Dlp::V2::InfoType]
134
- # Type of information the findings limit applies to. Only one limit per
135
- # info_type should be provided. If InfoTypeLimit does not have an
136
- # info_type, the DLP API applies the limit against all info_types that
137
- # are found but not specified in another InfoTypeLimit.
138
- # @!attribute [rw] max_findings
139
- # @return [Integer]
140
- # Max findings limit for the given infoType.
141
- class InfoTypeLimit; end
142
- end
143
- end
144
-
145
- # Container for bytes to inspect or redact.
146
- # @!attribute [rw] type
147
- # @return [Google::Privacy::Dlp::V2::ByteContentItem::BytesType]
148
- # The type of data stored in the bytes string. Default will be TEXT_UTF8.
149
- # @!attribute [rw] data
150
- # @return [String]
151
- # Content data to inspect or redact.
152
- class ByteContentItem
153
- # The type of data being sent to in data.
154
- module BytesType
155
- # Unused
156
- BYTES_TYPE_UNSPECIFIED = 0
157
-
158
- # Any image type.
159
- IMAGE = 6
160
-
161
- # jpeg
162
- IMAGE_JPEG = 1
163
-
164
- # bmp
165
- IMAGE_BMP = 2
166
-
167
- # png
168
- IMAGE_PNG = 3
169
-
170
- # svg
171
- IMAGE_SVG = 4
172
-
173
- # plain text
174
- TEXT_UTF8 = 5
175
-
176
- # avro
177
- AVRO = 11
178
- end
179
- end
180
-
181
- # Container structure for the content to inspect.
182
- # @!attribute [rw] value
183
- # @return [String]
184
- # String data to inspect or redact.
185
- # @!attribute [rw] table
186
- # @return [Google::Privacy::Dlp::V2::Table]
187
- # Structured content for inspection. See
188
- # https://cloud.google.com/dlp/docs/inspecting-text#inspecting_a_table to
189
- # learn more.
190
- # @!attribute [rw] byte_item
191
- # @return [Google::Privacy::Dlp::V2::ByteContentItem]
192
- # Content data to inspect or redact. Replaces `type` and `data`.
193
- class ContentItem; end
194
-
195
- # Structured content to inspect. Up to 50,000 `Value`s per request allowed.
196
- # See https://cloud.google.com/dlp/docs/inspecting-text#inspecting_a_table to
197
- # learn more.
198
- # @!attribute [rw] headers
199
- # @return [Array<Google::Privacy::Dlp::V2::FieldId>]
200
- # Headers of the table.
201
- # @!attribute [rw] rows
202
- # @return [Array<Google::Privacy::Dlp::V2::Table::Row>]
203
- # Rows of the table.
204
- class Table
205
- # Values of the row.
206
- # @!attribute [rw] values
207
- # @return [Array<Google::Privacy::Dlp::V2::Value>]
208
- # Individual cells.
209
- class Row; end
210
- end
211
-
212
- # All the findings for a single scanned item.
213
- # @!attribute [rw] findings
214
- # @return [Array<Google::Privacy::Dlp::V2::Finding>]
215
- # List of findings for an item.
216
- # @!attribute [rw] findings_truncated
217
- # @return [true, false]
218
- # If true, then this item might have more findings than were returned,
219
- # and the findings returned are an arbitrary subset of all findings.
220
- # The findings list might be truncated because the input items were too
221
- # large, or because the server reached the maximum amount of resources
222
- # allowed for a single API call. For best results, divide the input into
223
- # smaller batches.
224
- class InspectResult; end
225
-
226
- # Represents a piece of potentially sensitive content.
227
- # @!attribute [rw] quote
228
- # @return [String]
229
- # The content that was found. Even if the content is not textual, it
230
- # may be converted to a textual representation here.
231
- # Provided if `include_quote` is true and the finding is
232
- # less than or equal to 4096 bytes long. If the finding exceeds 4096 bytes
233
- # in length, the quote may be omitted.
234
- # @!attribute [rw] info_type
235
- # @return [Google::Privacy::Dlp::V2::InfoType]
236
- # The type of content that might have been found.
237
- # Provided if `excluded_types` is false.
238
- # @!attribute [rw] likelihood
239
- # @return [Google::Privacy::Dlp::V2::Likelihood]
240
- # Confidence of how likely it is that the `info_type` is correct.
241
- # @!attribute [rw] location
242
- # @return [Google::Privacy::Dlp::V2::Location]
243
- # Where the content was found.
244
- # @!attribute [rw] create_time
245
- # @return [Google::Protobuf::Timestamp]
246
- # Timestamp when finding was detected.
247
- # @!attribute [rw] quote_info
248
- # @return [Google::Privacy::Dlp::V2::QuoteInfo]
249
- # Contains data parsed from quotes. Only populated if include_quote was set
250
- # to true and a supported infoType was requested. Currently supported
251
- # infoTypes: DATE, DATE_OF_BIRTH and TIME.
252
- class Finding; end
253
-
254
- # Specifies the location of the finding.
255
- # @!attribute [rw] byte_range
256
- # @return [Google::Privacy::Dlp::V2::Range]
257
- # Zero-based byte offsets delimiting the finding.
258
- # These are relative to the finding's containing element.
259
- # Note that when the content is not textual, this references
260
- # the UTF-8 encoded textual representation of the content.
261
- # Omitted if content is an image.
262
- # @!attribute [rw] codepoint_range
263
- # @return [Google::Privacy::Dlp::V2::Range]
264
- # Unicode character offsets delimiting the finding.
265
- # These are relative to the finding's containing element.
266
- # Provided when the content is text.
267
- # @!attribute [rw] content_locations
268
- # @return [Array<Google::Privacy::Dlp::V2::ContentLocation>]
269
- # List of nested objects pointing to the precise location of the finding
270
- # within the file or record.
271
- class Location; end
272
-
273
- # Findings container location data.
274
- # @!attribute [rw] container_name
275
- # @return [String]
276
- # Name of the container where the finding is located.
277
- # The top level name is the source file name or table name. Names of some
278
- # common storage containers are formatted as follows:
279
- #
280
- # * BigQuery tables: `{project_id}:{dataset_id}.{table_id}`
281
- # * Cloud Storage files: `gs://{bucket}/{path}`
282
- # * Datastore namespace: \\{namespace}
283
- #
284
- # Nested names could be absent if the embedded object has no string
285
- # identifier (for an example an image contained within a document).
286
- # @!attribute [rw] record_location
287
- # @return [Google::Privacy::Dlp::V2::RecordLocation]
288
- # Location within a row or record of a database table.
289
- # @!attribute [rw] image_location
290
- # @return [Google::Privacy::Dlp::V2::ImageLocation]
291
- # Location within an image's pixels.
292
- # @!attribute [rw] document_location
293
- # @return [Google::Privacy::Dlp::V2::DocumentLocation]
294
- # Location data for document files.
295
- # @!attribute [rw] container_timestamp
296
- # @return [Google::Protobuf::Timestamp]
297
- # Findings container modification timestamp, if applicable.
298
- # For Google Cloud Storage contains last file modification timestamp.
299
- # For BigQuery table contains last_modified_time property.
300
- # For Datastore - not populated.
301
- # @!attribute [rw] container_version
302
- # @return [String]
303
- # Findings container version, if available
304
- # ("generation" for Google Cloud Storage).
305
- class ContentLocation; end
306
-
307
- # Location of a finding within a document.
308
- # @!attribute [rw] file_offset
309
- # @return [Integer]
310
- # Offset of the line, from the beginning of the file, where the finding
311
- # is located.
312
- class DocumentLocation; end
313
-
314
- # Location of a finding within a row or record.
315
- # @!attribute [rw] record_key
316
- # @return [Google::Privacy::Dlp::V2::RecordKey]
317
- # Key of the finding.
318
- # @!attribute [rw] field_id
319
- # @return [Google::Privacy::Dlp::V2::FieldId]
320
- # Field id of the field containing the finding.
321
- # @!attribute [rw] table_location
322
- # @return [Google::Privacy::Dlp::V2::TableLocation]
323
- # Location within a `ContentItem.Table`.
324
- class RecordLocation; end
325
-
326
- # Location of a finding within a table.
327
- # @!attribute [rw] row_index
328
- # @return [Integer]
329
- # The zero-based index of the row where the finding is located.
330
- class TableLocation; end
331
-
332
- # Generic half-open interval [start, end)
333
- # @!attribute [rw] start
334
- # @return [Integer]
335
- # Index of the first character of the range (inclusive).
336
- # @!attribute [rw] end
337
- # @return [Integer]
338
- # Index of the last character of the range (exclusive).
339
- class Range; end
340
-
341
- # Location of the finding within an image.
342
- # @!attribute [rw] bounding_boxes
343
- # @return [Array<Google::Privacy::Dlp::V2::BoundingBox>]
344
- # Bounding boxes locating the pixels within the image containing the finding.
345
- class ImageLocation; end
346
-
347
- # Bounding box encompassing detected text within an image.
348
- # @!attribute [rw] top
349
- # @return [Integer]
350
- # Top coordinate of the bounding box. (0,0) is upper left.
351
- # @!attribute [rw] left
352
- # @return [Integer]
353
- # Left coordinate of the bounding box. (0,0) is upper left.
354
- # @!attribute [rw] width
355
- # @return [Integer]
356
- # Width of the bounding box in pixels.
357
- # @!attribute [rw] height
358
- # @return [Integer]
359
- # Height of the bounding box in pixels.
360
- class BoundingBox; end
361
-
362
- # Request to search for potentially sensitive info in an image and redact it
363
- # by covering it with a colored rectangle.
364
- # @!attribute [rw] parent
365
- # @return [String]
366
- # The parent resource name, for example projects/my-project-id.
367
- # @!attribute [rw] location_id
368
- # @return [String]
369
- # The geographic location to process the request. Reserved for future
370
- # extensions.
371
- # @!attribute [rw] inspect_config
372
- # @return [Google::Privacy::Dlp::V2::InspectConfig]
373
- # Configuration for the inspector.
374
- # @!attribute [rw] image_redaction_configs
375
- # @return [Array<Google::Privacy::Dlp::V2::RedactImageRequest::ImageRedactionConfig>]
376
- # The configuration for specifying what content to redact from images.
377
- # @!attribute [rw] include_findings
378
- # @return [true, false]
379
- # Whether the response should include findings along with the redacted
380
- # image.
381
- # @!attribute [rw] byte_item
382
- # @return [Google::Privacy::Dlp::V2::ByteContentItem]
383
- # The content must be PNG, JPEG, SVG or BMP.
384
- class RedactImageRequest
385
- # Configuration for determining how redaction of images should occur.
386
- # @!attribute [rw] info_type
387
- # @return [Google::Privacy::Dlp::V2::InfoType]
388
- # Only one per info_type should be provided per request. If not
389
- # specified, and redact_all_text is false, the DLP API will redact all
390
- # text that it matches against all info_types that are found, but not
391
- # specified in another ImageRedactionConfig.
392
- # @!attribute [rw] redact_all_text
393
- # @return [true, false]
394
- # If true, all text found in the image, regardless whether it matches an
395
- # info_type, is redacted. Only one should be provided.
396
- # @!attribute [rw] redaction_color
397
- # @return [Google::Privacy::Dlp::V2::Color]
398
- # The color to use when redacting content from an image. If not specified,
399
- # the default is black.
400
- class ImageRedactionConfig; end
401
- end
402
-
403
- # Represents a color in the RGB color space.
404
- # @!attribute [rw] red
405
- # @return [Float]
406
- # The amount of red in the color as a value in the interval [0, 1].
407
- # @!attribute [rw] green
408
- # @return [Float]
409
- # The amount of green in the color as a value in the interval [0, 1].
410
- # @!attribute [rw] blue
411
- # @return [Float]
412
- # The amount of blue in the color as a value in the interval [0, 1].
413
- class Color; end
414
-
415
- # Results of redacting an image.
416
- # @!attribute [rw] redacted_image
417
- # @return [String]
418
- # The redacted image. The type will be the same as the original image.
419
- # @!attribute [rw] extracted_text
420
- # @return [String]
421
- # If an image was being inspected and the InspectConfig's include_quote was
422
- # set to true, then this field will include all text, if any, that was found
423
- # in the image.
424
- # @!attribute [rw] inspect_result
425
- # @return [Google::Privacy::Dlp::V2::InspectResult]
426
- # The findings. Populated when include_findings in the request is true.
427
- class RedactImageResponse; end
428
-
429
- # Request to de-identify a list of items.
430
- # @!attribute [rw] parent
431
- # @return [String]
432
- # The parent resource name, for example projects/my-project-id.
433
- # @!attribute [rw] deidentify_config
434
- # @return [Google::Privacy::Dlp::V2::DeidentifyConfig]
435
- # Configuration for the de-identification of the content item.
436
- # Items specified here will override the template referenced by the
437
- # deidentify_template_name argument.
438
- # @!attribute [rw] inspect_config
439
- # @return [Google::Privacy::Dlp::V2::InspectConfig]
440
- # Configuration for the inspector.
441
- # Items specified here will override the template referenced by the
442
- # inspect_template_name argument.
443
- # @!attribute [rw] item
444
- # @return [Google::Privacy::Dlp::V2::ContentItem]
445
- # The item to de-identify. Will be treated as text.
446
- # @!attribute [rw] inspect_template_name
447
- # @return [String]
448
- # Template to use. Any configuration directly specified in
449
- # inspect_config will override those set in the template. Singular fields
450
- # that are set in this request will replace their corresponding fields in the
451
- # template. Repeated fields are appended. Singular sub-messages and groups
452
- # are recursively merged.
453
- # @!attribute [rw] deidentify_template_name
454
- # @return [String]
455
- # Template to use. Any configuration directly specified in
456
- # deidentify_config will override those set in the template. Singular fields
457
- # that are set in this request will replace their corresponding fields in the
458
- # template. Repeated fields are appended. Singular sub-messages and groups
459
- # are recursively merged.
460
- # @!attribute [rw] location_id
461
- # @return [String]
462
- # The geographic location to process de-identification. Reserved for future
463
- # extensions.
464
- class DeidentifyContentRequest; end
465
-
466
- # Results of de-identifying a ContentItem.
467
- # @!attribute [rw] item
468
- # @return [Google::Privacy::Dlp::V2::ContentItem]
469
- # The de-identified item.
470
- # @!attribute [rw] overview
471
- # @return [Google::Privacy::Dlp::V2::TransformationOverview]
472
- # An overview of the changes that were made on the `item`.
473
- class DeidentifyContentResponse; end
474
-
475
- # Request to re-identify an item.
476
- # @!attribute [rw] parent
477
- # @return [String]
478
- # Required. The parent resource name.
479
- # @!attribute [rw] reidentify_config
480
- # @return [Google::Privacy::Dlp::V2::DeidentifyConfig]
481
- # Configuration for the re-identification of the content item.
482
- # This field shares the same proto message type that is used for
483
- # de-identification, however its usage here is for the reversal of the
484
- # previous de-identification. Re-identification is performed by examining
485
- # the transformations used to de-identify the items and executing the
486
- # reverse. This requires that only reversible transformations
487
- # be provided here. The reversible transformations are:
488
- #
489
- # * `CryptoDeterministicConfig`
490
- # * `CryptoReplaceFfxFpeConfig`
491
- # @!attribute [rw] inspect_config
492
- # @return [Google::Privacy::Dlp::V2::InspectConfig]
493
- # Configuration for the inspector.
494
- # @!attribute [rw] item
495
- # @return [Google::Privacy::Dlp::V2::ContentItem]
496
- # The item to re-identify. Will be treated as text.
497
- # @!attribute [rw] inspect_template_name
498
- # @return [String]
499
- # Template to use. Any configuration directly specified in
500
- # `inspect_config` will override those set in the template. Singular fields
501
- # that are set in this request will replace their corresponding fields in the
502
- # template. Repeated fields are appended. Singular sub-messages and groups
503
- # are recursively merged.
504
- # @!attribute [rw] reidentify_template_name
505
- # @return [String]
506
- # Template to use. References an instance of `DeidentifyTemplate`.
507
- # Any configuration directly specified in `reidentify_config` or
508
- # `inspect_config` will override those set in the template. Singular fields
509
- # that are set in this request will replace their corresponding fields in the
510
- # template. Repeated fields are appended. Singular sub-messages and groups
511
- # are recursively merged.
512
- # @!attribute [rw] location_id
513
- # @return [String]
514
- # The geographic location to process content reidentification. Reserved for
515
- # future extensions.
516
- class ReidentifyContentRequest; end
517
-
518
- # Results of re-identifying a item.
519
- # @!attribute [rw] item
520
- # @return [Google::Privacy::Dlp::V2::ContentItem]
521
- # The re-identified item.
522
- # @!attribute [rw] overview
523
- # @return [Google::Privacy::Dlp::V2::TransformationOverview]
524
- # An overview of the changes that were made to the `item`.
525
- class ReidentifyContentResponse; end
526
-
527
- # Request to search for potentially sensitive info in a ContentItem.
528
- # @!attribute [rw] parent
529
- # @return [String]
530
- # The parent resource name, for example projects/my-project-id.
531
- # @!attribute [rw] inspect_config
532
- # @return [Google::Privacy::Dlp::V2::InspectConfig]
533
- # Configuration for the inspector. What specified here will override
534
- # the template referenced by the inspect_template_name argument.
535
- # @!attribute [rw] item
536
- # @return [Google::Privacy::Dlp::V2::ContentItem]
537
- # The item to inspect.
538
- # @!attribute [rw] inspect_template_name
539
- # @return [String]
540
- # Template to use. Any configuration directly specified in
541
- # inspect_config will override those set in the template. Singular fields
542
- # that are set in this request will replace their corresponding fields in the
543
- # template. Repeated fields are appended. Singular sub-messages and groups
544
- # are recursively merged.
545
- # @!attribute [rw] location_id
546
- # @return [String]
547
- # The geographic location to process content inspection. Reserved for future
548
- # extensions.
549
- class InspectContentRequest; end
550
-
551
- # Results of inspecting an item.
552
- # @!attribute [rw] result
553
- # @return [Google::Privacy::Dlp::V2::InspectResult]
554
- # The findings.
555
- class InspectContentResponse; end
556
-
557
- # Cloud repository for storing output.
558
- # @!attribute [rw] table
559
- # @return [Google::Privacy::Dlp::V2::BigQueryTable]
560
- # Store findings in an existing table or a new table in an existing
561
- # dataset. If table_id is not set a new one will be generated
562
- # for you with the following format:
563
- # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
564
- # generating the date details.
565
- #
566
- # For Inspect, each column in an existing output table must have the same
567
- # name, type, and mode of a field in the `Finding` object.
568
- #
569
- # For Risk, an existing output table should be the output of a previous
570
- # Risk analysis job run on the same source table, with the same privacy
571
- # metric and quasi-identifiers. Risk jobs that analyze the same table but
572
- # compute a different privacy metric, or use different sets of
573
- # quasi-identifiers, cannot store their results in the same table.
574
- # @!attribute [rw] output_schema
575
- # @return [Google::Privacy::Dlp::V2::OutputStorageConfig::OutputSchema]
576
- # Schema used for writing the findings for Inspect jobs. This field is only
577
- # used for Inspect and must be unspecified for Risk jobs. Columns are derived
578
- # from the `Finding` object. If appending to an existing table, any columns
579
- # from the predefined schema that are missing will be added. No columns in
580
- # the existing table will be deleted.
581
- #
582
- # If unspecified, then all available columns will be used for a new table or
583
- # an (existing) table with no schema, and no changes will be made to an
584
- # existing table that has a schema.
585
- class OutputStorageConfig
586
- # Predefined schemas for storing findings.
587
- module OutputSchema
588
- # Unused.
589
- OUTPUT_SCHEMA_UNSPECIFIED = 0
590
-
591
- # Basic schema including only `info_type`, `quote`, `certainty`, and
592
- # `timestamp`.
593
- BASIC_COLUMNS = 1
594
-
595
- # Schema tailored to findings from scanning Google Cloud Storage.
596
- GCS_COLUMNS = 2
597
-
598
- # Schema tailored to findings from scanning Google Datastore.
599
- DATASTORE_COLUMNS = 3
600
-
601
- # Schema tailored to findings from scanning Google BigQuery.
602
- BIG_QUERY_COLUMNS = 4
603
-
604
- # Schema containing all columns.
605
- ALL_COLUMNS = 5
606
- end
607
- end
608
-
609
- # Statistics regarding a specific InfoType.
610
- # @!attribute [rw] info_type
611
- # @return [Google::Privacy::Dlp::V2::InfoType]
612
- # The type of finding this stat is for.
613
- # @!attribute [rw] count
614
- # @return [Integer]
615
- # Number of findings for this infoType.
616
- class InfoTypeStats; end
617
-
618
- # The results of an inspect DataSource job.
619
- # @!attribute [rw] requested_options
620
- # @return [Google::Privacy::Dlp::V2::InspectDataSourceDetails::RequestedOptions]
621
- # The configuration used for this job.
622
- # @!attribute [rw] result
623
- # @return [Google::Privacy::Dlp::V2::InspectDataSourceDetails::Result]
624
- # A summary of the outcome of this inspect job.
625
- class InspectDataSourceDetails
626
- # Snapshot of the inspection configuration.
627
- # @!attribute [rw] snapshot_inspect_template
628
- # @return [Google::Privacy::Dlp::V2::InspectTemplate]
629
- # If run with an InspectTemplate, a snapshot of its state at the time of
630
- # this run.
631
- # @!attribute [rw] job_config
632
- # @return [Google::Privacy::Dlp::V2::InspectJobConfig]
633
- # Inspect config.
634
- class RequestedOptions; end
635
-
636
- # All result fields mentioned below are updated while the job is processing.
637
- # @!attribute [rw] processed_bytes
638
- # @return [Integer]
639
- # Total size in bytes that were processed.
640
- # @!attribute [rw] total_estimated_bytes
641
- # @return [Integer]
642
- # Estimate of the number of bytes to process.
643
- # @!attribute [rw] info_type_stats
644
- # @return [Array<Google::Privacy::Dlp::V2::InfoTypeStats>]
645
- # Statistics of how many instances of each info type were found during
646
- # inspect job.
647
- class Result; end
648
- end
649
-
650
- # InfoType description.
651
- # @!attribute [rw] name
652
- # @return [String]
653
- # Internal name of the infoType.
654
- # @!attribute [rw] display_name
655
- # @return [String]
656
- # Human readable form of the infoType name.
657
- # @!attribute [rw] supported_by
658
- # @return [Array<Google::Privacy::Dlp::V2::InfoTypeSupportedBy>]
659
- # Which parts of the API supports this InfoType.
660
- # @!attribute [rw] description
661
- # @return [String]
662
- # Description of the infotype. Translated when language is provided in the
663
- # request.
664
- class InfoTypeDescription; end
665
-
666
- # Request for the list of infoTypes.
667
- # @!attribute [rw] language_code
668
- # @return [String]
669
- # BCP-47 language code for localized infoType friendly
670
- # names. If omitted, or if localized strings are not available,
671
- # en-US strings will be returned.
672
- # @!attribute [rw] filter
673
- # @return [String]
674
- # filter to only return infoTypes supported by certain parts of the
675
- # API. Defaults to supported_by=INSPECT.
676
- # @!attribute [rw] location_id
677
- # @return [String]
678
- # The geographic location to list info types. Reserved for future
679
- # extensions.
680
- class ListInfoTypesRequest; end
681
-
682
- # Response to the ListInfoTypes request.
683
- # @!attribute [rw] info_types
684
- # @return [Array<Google::Privacy::Dlp::V2::InfoTypeDescription>]
685
- # Set of sensitive infoTypes.
686
- class ListInfoTypesResponse; end
687
-
688
- # Configuration for a risk analysis job. See
689
- # https://cloud.google.com/dlp/docs/concepts-risk-analysis to learn more.
690
- # @!attribute [rw] privacy_metric
691
- # @return [Google::Privacy::Dlp::V2::PrivacyMetric]
692
- # Privacy metric to compute.
693
- # @!attribute [rw] source_table
694
- # @return [Google::Privacy::Dlp::V2::BigQueryTable]
695
- # Input dataset to compute metrics over.
696
- # @!attribute [rw] actions
697
- # @return [Array<Google::Privacy::Dlp::V2::Action>]
698
- # Actions to execute at the completion of the job. Are executed in the order
699
- # provided.
700
- class RiskAnalysisJobConfig; end
701
-
702
- # A column with a semantic tag attached.
703
- # @!attribute [rw] field
704
- # @return [Google::Privacy::Dlp::V2::FieldId]
705
- # Required. Identifies the column.
706
- # @!attribute [rw] info_type
707
- # @return [Google::Privacy::Dlp::V2::InfoType]
708
- # A column can be tagged with a InfoType to use the relevant public
709
- # dataset as a statistical model of population, if available. We
710
- # currently support US ZIP codes, region codes, ages and genders.
711
- # To programmatically obtain the list of supported InfoTypes, use
712
- # ListInfoTypes with the supported_by=RISK_ANALYSIS filter.
713
- # @!attribute [rw] custom_tag
714
- # @return [String]
715
- # A column can be tagged with a custom tag. In this case, the user must
716
- # indicate an auxiliary table that contains statistical information on
717
- # the possible values of this column (below).
718
- # @!attribute [rw] inferred
719
- # @return [Google::Protobuf::Empty]
720
- # If no semantic tag is indicated, we infer the statistical model from
721
- # the distribution of values in the input data
722
- class QuasiId; end
723
-
724
- # An auxiliary table containing statistical information on the relative
725
- # frequency of different quasi-identifiers values. It has one or several
726
- # quasi-identifiers columns, and one column that indicates the relative
727
- # frequency of each quasi-identifier tuple.
728
- # If a tuple is present in the data but not in the auxiliary table, the
729
- # corresponding relative frequency is assumed to be zero (and thus, the
730
- # tuple is highly reidentifiable).
731
- # @!attribute [rw] table
732
- # @return [Google::Privacy::Dlp::V2::BigQueryTable]
733
- # Required. Auxiliary table location.
734
- # @!attribute [rw] quasi_ids
735
- # @return [Array<Google::Privacy::Dlp::V2::StatisticalTable::QuasiIdentifierField>]
736
- # Required. Quasi-identifier columns.
737
- # @!attribute [rw] relative_frequency
738
- # @return [Google::Privacy::Dlp::V2::FieldId]
739
- # Required. The relative frequency column must contain a floating-point number
740
- # between 0 and 1 (inclusive). Null values are assumed to be zero.
741
- class StatisticalTable
742
- # A quasi-identifier column has a custom_tag, used to know which column
743
- # in the data corresponds to which column in the statistical model.
744
- # @!attribute [rw] field
745
- # @return [Google::Privacy::Dlp::V2::FieldId]
746
- # Identifies the column.
747
- # @!attribute [rw] custom_tag
748
- # @return [String]
749
- # A column can be tagged with a custom tag. In this case, the user must
750
- # indicate an auxiliary table that contains statistical information on
751
- # the possible values of this column (below).
752
- class QuasiIdentifierField; end
753
- end
754
-
755
- # Privacy metric to compute for reidentification risk analysis.
756
- # @!attribute [rw] numerical_stats_config
757
- # @return [Google::Privacy::Dlp::V2::PrivacyMetric::NumericalStatsConfig]
758
- # Numerical stats
759
- # @!attribute [rw] categorical_stats_config
760
- # @return [Google::Privacy::Dlp::V2::PrivacyMetric::CategoricalStatsConfig]
761
- # Categorical stats
762
- # @!attribute [rw] k_anonymity_config
763
- # @return [Google::Privacy::Dlp::V2::PrivacyMetric::KAnonymityConfig]
764
- # K-anonymity
765
- # @!attribute [rw] l_diversity_config
766
- # @return [Google::Privacy::Dlp::V2::PrivacyMetric::LDiversityConfig]
767
- # l-diversity
768
- # @!attribute [rw] k_map_estimation_config
769
- # @return [Google::Privacy::Dlp::V2::PrivacyMetric::KMapEstimationConfig]
770
- # k-map
771
- # @!attribute [rw] delta_presence_estimation_config
772
- # @return [Google::Privacy::Dlp::V2::PrivacyMetric::DeltaPresenceEstimationConfig]
773
- # delta-presence
774
- class PrivacyMetric
775
- # Compute numerical stats over an individual column, including
776
- # min, max, and quantiles.
777
- # @!attribute [rw] field
778
- # @return [Google::Privacy::Dlp::V2::FieldId]
779
- # Field to compute numerical stats on. Supported types are
780
- # integer, float, date, datetime, timestamp, time.
781
- class NumericalStatsConfig; end
782
-
783
- # Compute numerical stats over an individual column, including
784
- # number of distinct values and value count distribution.
785
- # @!attribute [rw] field
786
- # @return [Google::Privacy::Dlp::V2::FieldId]
787
- # Field to compute categorical stats on. All column types are
788
- # supported except for arrays and structs. However, it may be more
789
- # informative to use NumericalStats when the field type is supported,
790
- # depending on the data.
791
- class CategoricalStatsConfig; end
792
-
793
- # k-anonymity metric, used for analysis of reidentification risk.
794
- # @!attribute [rw] quasi_ids
795
- # @return [Array<Google::Privacy::Dlp::V2::FieldId>]
796
- # Set of fields to compute k-anonymity over. When multiple fields are
797
- # specified, they are considered a single composite key. Structs and
798
- # repeated data types are not supported; however, nested fields are
799
- # supported so long as they are not structs themselves or nested within
800
- # a repeated field.
801
- # @!attribute [rw] entity_id
802
- # @return [Google::Privacy::Dlp::V2::EntityId]
803
- # Message indicating that multiple rows might be associated to a
804
- # single individual. If the same entity_id is associated to multiple
805
- # quasi-identifier tuples over distinct rows, we consider the entire
806
- # collection of tuples as the composite quasi-identifier. This collection
807
- # is a multiset: the order in which the different tuples appear in the
808
- # dataset is ignored, but their frequency is taken into account.
809
- #
810
- # Important note: a maximum of 1000 rows can be associated to a single
811
- # entity ID. If more rows are associated with the same entity ID, some
812
- # might be ignored.
813
- class KAnonymityConfig; end
814
-
815
- # l-diversity metric, used for analysis of reidentification risk.
816
- # @!attribute [rw] quasi_ids
817
- # @return [Array<Google::Privacy::Dlp::V2::FieldId>]
818
- # Set of quasi-identifiers indicating how equivalence classes are
819
- # defined for the l-diversity computation. When multiple fields are
820
- # specified, they are considered a single composite key.
821
- # @!attribute [rw] sensitive_attribute
822
- # @return [Google::Privacy::Dlp::V2::FieldId]
823
- # Sensitive field for computing the l-value.
824
- class LDiversityConfig; end
825
-
826
- # Reidentifiability metric. This corresponds to a risk model similar to what
827
- # is called "journalist risk" in the literature, except the attack dataset is
828
- # statistically modeled instead of being perfectly known. This can be done
829
- # using publicly available data (like the US Census), or using a custom
830
- # statistical model (indicated as one or several BigQuery tables), or by
831
- # extrapolating from the distribution of values in the input dataset.
832
- # @!attribute [rw] quasi_ids
833
- # @return [Array<Google::Privacy::Dlp::V2::PrivacyMetric::KMapEstimationConfig::TaggedField>]
834
- # Required. Fields considered to be quasi-identifiers. No two columns can have the
835
- # same tag.
836
- # @!attribute [rw] region_code
837
- # @return [String]
838
- # ISO 3166-1 alpha-2 region code to use in the statistical modeling.
839
- # Set if no column is tagged with a region-specific InfoType (like
840
- # US_ZIP_5) or a region code.
841
- # @!attribute [rw] auxiliary_tables
842
- # @return [Array<Google::Privacy::Dlp::V2::PrivacyMetric::KMapEstimationConfig::AuxiliaryTable>]
843
- # Several auxiliary tables can be used in the analysis. Each custom_tag
844
- # used to tag a quasi-identifiers column must appear in exactly one column
845
- # of one auxiliary table.
846
- class KMapEstimationConfig
847
- # A column with a semantic tag attached.
848
- # @!attribute [rw] field
849
- # @return [Google::Privacy::Dlp::V2::FieldId]
850
- # Required. Identifies the column.
851
- # @!attribute [rw] info_type
852
- # @return [Google::Privacy::Dlp::V2::InfoType]
853
- # A column can be tagged with a InfoType to use the relevant public
854
- # dataset as a statistical model of population, if available. We
855
- # currently support US ZIP codes, region codes, ages and genders.
856
- # To programmatically obtain the list of supported InfoTypes, use
857
- # ListInfoTypes with the supported_by=RISK_ANALYSIS filter.
858
- # @!attribute [rw] custom_tag
859
- # @return [String]
860
- # A column can be tagged with a custom tag. In this case, the user must
861
- # indicate an auxiliary table that contains statistical information on
862
- # the possible values of this column (below).
863
- # @!attribute [rw] inferred
864
- # @return [Google::Protobuf::Empty]
865
- # If no semantic tag is indicated, we infer the statistical model from
866
- # the distribution of values in the input data
867
- class TaggedField; end
868
-
869
- # An auxiliary table contains statistical information on the relative
870
- # frequency of different quasi-identifiers values. It has one or several
871
- # quasi-identifiers columns, and one column that indicates the relative
872
- # frequency of each quasi-identifier tuple.
873
- # If a tuple is present in the data but not in the auxiliary table, the
874
- # corresponding relative frequency is assumed to be zero (and thus, the
875
- # tuple is highly reidentifiable).
876
- # @!attribute [rw] table
877
- # @return [Google::Privacy::Dlp::V2::BigQueryTable]
878
- # Required. Auxiliary table location.
879
- # @!attribute [rw] quasi_ids
880
- # @return [Array<Google::Privacy::Dlp::V2::PrivacyMetric::KMapEstimationConfig::AuxiliaryTable::QuasiIdField>]
881
- # Required. Quasi-identifier columns.
882
- # @!attribute [rw] relative_frequency
883
- # @return [Google::Privacy::Dlp::V2::FieldId]
884
- # Required. The relative frequency column must contain a floating-point number
885
- # between 0 and 1 (inclusive). Null values are assumed to be zero.
886
- class AuxiliaryTable
887
- # A quasi-identifier column has a custom_tag, used to know which column
888
- # in the data corresponds to which column in the statistical model.
889
- # @!attribute [rw] field
890
- # @return [Google::Privacy::Dlp::V2::FieldId]
891
- # Identifies the column.
892
- # @!attribute [rw] custom_tag
893
- # @return [String]
894
- # A auxiliary field.
895
- class QuasiIdField; end
896
- end
897
- end
898
-
899
- # δ-presence metric, used to estimate how likely it is for an attacker to
900
- # figure out that one given individual appears in a de-identified dataset.
901
- # Similarly to the k-map metric, we cannot compute δ-presence exactly without
902
- # knowing the attack dataset, so we use a statistical model instead.
903
- # @!attribute [rw] quasi_ids
904
- # @return [Array<Google::Privacy::Dlp::V2::QuasiId>]
905
- # Required. Fields considered to be quasi-identifiers. No two fields can have the
906
- # same tag.
907
- # @!attribute [rw] region_code
908
- # @return [String]
909
- # ISO 3166-1 alpha-2 region code to use in the statistical modeling.
910
- # Set if no column is tagged with a region-specific InfoType (like
911
- # US_ZIP_5) or a region code.
912
- # @!attribute [rw] auxiliary_tables
913
- # @return [Array<Google::Privacy::Dlp::V2::StatisticalTable>]
914
- # Several auxiliary tables can be used in the analysis. Each custom_tag
915
- # used to tag a quasi-identifiers field must appear in exactly one
916
- # field of one auxiliary table.
917
- class DeltaPresenceEstimationConfig; end
918
- end
919
-
920
- # Result of a risk analysis operation request.
921
- # @!attribute [rw] requested_privacy_metric
922
- # @return [Google::Privacy::Dlp::V2::PrivacyMetric]
923
- # Privacy metric to compute.
924
- # @!attribute [rw] requested_source_table
925
- # @return [Google::Privacy::Dlp::V2::BigQueryTable]
926
- # Input dataset to compute metrics over.
927
- # @!attribute [rw] numerical_stats_result
928
- # @return [Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails::NumericalStatsResult]
929
- # Numerical stats result
930
- # @!attribute [rw] categorical_stats_result
931
- # @return [Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails::CategoricalStatsResult]
932
- # Categorical stats result
933
- # @!attribute [rw] k_anonymity_result
934
- # @return [Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails::KAnonymityResult]
935
- # K-anonymity result
936
- # @!attribute [rw] l_diversity_result
937
- # @return [Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails::LDiversityResult]
938
- # L-divesity result
939
- # @!attribute [rw] k_map_estimation_result
940
- # @return [Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails::KMapEstimationResult]
941
- # K-map result
942
- # @!attribute [rw] delta_presence_estimation_result
943
- # @return [Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails::DeltaPresenceEstimationResult]
944
- # Delta-presence result
945
- class AnalyzeDataSourceRiskDetails
946
- # Result of the numerical stats computation.
947
- # @!attribute [rw] min_value
948
- # @return [Google::Privacy::Dlp::V2::Value]
949
- # Minimum value appearing in the column.
950
- # @!attribute [rw] max_value
951
- # @return [Google::Privacy::Dlp::V2::Value]
952
- # Maximum value appearing in the column.
953
- # @!attribute [rw] quantile_values
954
- # @return [Array<Google::Privacy::Dlp::V2::Value>]
955
- # List of 99 values that partition the set of field values into 100 equal
956
- # sized buckets.
957
- class NumericalStatsResult; end
958
-
959
- # Result of the categorical stats computation.
960
- # @!attribute [rw] value_frequency_histogram_buckets
961
- # @return [Array<Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails::CategoricalStatsResult::CategoricalStatsHistogramBucket>]
962
- # Histogram of value frequencies in the column.
963
- class CategoricalStatsResult
964
- # Histogram of value frequencies in the column.
965
- # @!attribute [rw] value_frequency_lower_bound
966
- # @return [Integer]
967
- # Lower bound on the value frequency of the values in this bucket.
968
- # @!attribute [rw] value_frequency_upper_bound
969
- # @return [Integer]
970
- # Upper bound on the value frequency of the values in this bucket.
971
- # @!attribute [rw] bucket_size
972
- # @return [Integer]
973
- # Total number of values in this bucket.
974
- # @!attribute [rw] bucket_values
975
- # @return [Array<Google::Privacy::Dlp::V2::ValueFrequency>]
976
- # Sample of value frequencies in this bucket. The total number of
977
- # values returned per bucket is capped at 20.
978
- # @!attribute [rw] bucket_value_count
979
- # @return [Integer]
980
- # Total number of distinct values in this bucket.
981
- class CategoricalStatsHistogramBucket; end
982
- end
983
-
984
- # Result of the k-anonymity computation.
985
- # @!attribute [rw] equivalence_class_histogram_buckets
986
- # @return [Array<Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails::KAnonymityResult::KAnonymityHistogramBucket>]
987
- # Histogram of k-anonymity equivalence classes.
988
- class KAnonymityResult
989
- # The set of columns' values that share the same ldiversity value
990
- # @!attribute [rw] quasi_ids_values
991
- # @return [Array<Google::Privacy::Dlp::V2::Value>]
992
- # Set of values defining the equivalence class. One value per
993
- # quasi-identifier column in the original KAnonymity metric message.
994
- # The order is always the same as the original request.
995
- # @!attribute [rw] equivalence_class_size
996
- # @return [Integer]
997
- # Size of the equivalence class, for example number of rows with the
998
- # above set of values.
999
- class KAnonymityEquivalenceClass; end
1000
-
1001
- # Histogram of k-anonymity equivalence classes.
1002
- # @!attribute [rw] equivalence_class_size_lower_bound
1003
- # @return [Integer]
1004
- # Lower bound on the size of the equivalence classes in this bucket.
1005
- # @!attribute [rw] equivalence_class_size_upper_bound
1006
- # @return [Integer]
1007
- # Upper bound on the size of the equivalence classes in this bucket.
1008
- # @!attribute [rw] bucket_size
1009
- # @return [Integer]
1010
- # Total number of equivalence classes in this bucket.
1011
- # @!attribute [rw] bucket_values
1012
- # @return [Array<Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails::KAnonymityResult::KAnonymityEquivalenceClass>]
1013
- # Sample of equivalence classes in this bucket. The total number of
1014
- # classes returned per bucket is capped at 20.
1015
- # @!attribute [rw] bucket_value_count
1016
- # @return [Integer]
1017
- # Total number of distinct equivalence classes in this bucket.
1018
- class KAnonymityHistogramBucket; end
1019
- end
1020
-
1021
- # Result of the l-diversity computation.
1022
- # @!attribute [rw] sensitive_value_frequency_histogram_buckets
1023
- # @return [Array<Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails::LDiversityResult::LDiversityHistogramBucket>]
1024
- # Histogram of l-diversity equivalence class sensitive value frequencies.
1025
- class LDiversityResult
1026
- # The set of columns' values that share the same ldiversity value.
1027
- # @!attribute [rw] quasi_ids_values
1028
- # @return [Array<Google::Privacy::Dlp::V2::Value>]
1029
- # Quasi-identifier values defining the k-anonymity equivalence
1030
- # class. The order is always the same as the original request.
1031
- # @!attribute [rw] equivalence_class_size
1032
- # @return [Integer]
1033
- # Size of the k-anonymity equivalence class.
1034
- # @!attribute [rw] num_distinct_sensitive_values
1035
- # @return [Integer]
1036
- # Number of distinct sensitive values in this equivalence class.
1037
- # @!attribute [rw] top_sensitive_values
1038
- # @return [Array<Google::Privacy::Dlp::V2::ValueFrequency>]
1039
- # Estimated frequencies of top sensitive values.
1040
- class LDiversityEquivalenceClass; end
1041
-
1042
- # Histogram of l-diversity equivalence class sensitive value frequencies.
1043
- # @!attribute [rw] sensitive_value_frequency_lower_bound
1044
- # @return [Integer]
1045
- # Lower bound on the sensitive value frequencies of the equivalence
1046
- # classes in this bucket.
1047
- # @!attribute [rw] sensitive_value_frequency_upper_bound
1048
- # @return [Integer]
1049
- # Upper bound on the sensitive value frequencies of the equivalence
1050
- # classes in this bucket.
1051
- # @!attribute [rw] bucket_size
1052
- # @return [Integer]
1053
- # Total number of equivalence classes in this bucket.
1054
- # @!attribute [rw] bucket_values
1055
- # @return [Array<Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails::LDiversityResult::LDiversityEquivalenceClass>]
1056
- # Sample of equivalence classes in this bucket. The total number of
1057
- # classes returned per bucket is capped at 20.
1058
- # @!attribute [rw] bucket_value_count
1059
- # @return [Integer]
1060
- # Total number of distinct equivalence classes in this bucket.
1061
- class LDiversityHistogramBucket; end
1062
- end
1063
-
1064
- # Result of the reidentifiability analysis. Note that these results are an
1065
- # estimation, not exact values.
1066
- # @!attribute [rw] k_map_estimation_histogram
1067
- # @return [Array<Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails::KMapEstimationResult::KMapEstimationHistogramBucket>]
1068
- # The intervals [min_anonymity, max_anonymity] do not overlap. If a value
1069
- # doesn't correspond to any such interval, the associated frequency is
1070
- # zero. For example, the following records:
1071
- # {min_anonymity: 1, max_anonymity: 1, frequency: 17}
1072
- # {min_anonymity: 2, max_anonymity: 3, frequency: 42}
1073
- # {min_anonymity: 5, max_anonymity: 10, frequency: 99}
1074
- # mean that there are no record with an estimated anonymity of 4, 5, or
1075
- # larger than 10.
1076
- class KMapEstimationResult
1077
- # A tuple of values for the quasi-identifier columns.
1078
- # @!attribute [rw] quasi_ids_values
1079
- # @return [Array<Google::Privacy::Dlp::V2::Value>]
1080
- # The quasi-identifier values.
1081
- # @!attribute [rw] estimated_anonymity
1082
- # @return [Integer]
1083
- # The estimated anonymity for these quasi-identifier values.
1084
- class KMapEstimationQuasiIdValues; end
1085
-
1086
- # A KMapEstimationHistogramBucket message with the following values:
1087
- # min_anonymity: 3
1088
- # max_anonymity: 5
1089
- # frequency: 42
1090
- # means that there are 42 records whose quasi-identifier values correspond
1091
- # to 3, 4 or 5 people in the overlying population. An important particular
1092
- # case is when min_anonymity = max_anonymity = 1: the frequency field then
1093
- # corresponds to the number of uniquely identifiable records.
1094
- # @!attribute [rw] min_anonymity
1095
- # @return [Integer]
1096
- # Always positive.
1097
- # @!attribute [rw] max_anonymity
1098
- # @return [Integer]
1099
- # Always greater than or equal to min_anonymity.
1100
- # @!attribute [rw] bucket_size
1101
- # @return [Integer]
1102
- # Number of records within these anonymity bounds.
1103
- # @!attribute [rw] bucket_values
1104
- # @return [Array<Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails::KMapEstimationResult::KMapEstimationQuasiIdValues>]
1105
- # Sample of quasi-identifier tuple values in this bucket. The total
1106
- # number of classes returned per bucket is capped at 20.
1107
- # @!attribute [rw] bucket_value_count
1108
- # @return [Integer]
1109
- # Total number of distinct quasi-identifier tuple values in this bucket.
1110
- class KMapEstimationHistogramBucket; end
1111
- end
1112
-
1113
- # Result of the δ-presence computation. Note that these results are an
1114
- # estimation, not exact values.
1115
- # @!attribute [rw] delta_presence_estimation_histogram
1116
- # @return [Array<Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails::DeltaPresenceEstimationResult::DeltaPresenceEstimationHistogramBucket>]
1117
- # The intervals [min_probability, max_probability) do not overlap. If a
1118
- # value doesn't correspond to any such interval, the associated frequency
1119
- # is zero. For example, the following records:
1120
- # {min_probability: 0, max_probability: 0.1, frequency: 17}
1121
- # {min_probability: 0.2, max_probability: 0.3, frequency: 42}
1122
- # {min_probability: 0.3, max_probability: 0.4, frequency: 99}
1123
- # mean that there are no record with an estimated probability in [0.1, 0.2)
1124
- # nor larger or equal to 0.4.
1125
- class DeltaPresenceEstimationResult
1126
- # A tuple of values for the quasi-identifier columns.
1127
- # @!attribute [rw] quasi_ids_values
1128
- # @return [Array<Google::Privacy::Dlp::V2::Value>]
1129
- # The quasi-identifier values.
1130
- # @!attribute [rw] estimated_probability
1131
- # @return [Float]
1132
- # The estimated probability that a given individual sharing these
1133
- # quasi-identifier values is in the dataset. This value, typically called
1134
- # δ, is the ratio between the number of records in the dataset with these
1135
- # quasi-identifier values, and the total number of individuals (inside
1136
- # *and* outside the dataset) with these quasi-identifier values.
1137
- # For example, if there are 15 individuals in the dataset who share the
1138
- # same quasi-identifier values, and an estimated 100 people in the entire
1139
- # population with these values, then δ is 0.15.
1140
- class DeltaPresenceEstimationQuasiIdValues; end
1141
-
1142
- # A DeltaPresenceEstimationHistogramBucket message with the following
1143
- # values:
1144
- # min_probability: 0.1
1145
- # max_probability: 0.2
1146
- # frequency: 42
1147
- # means that there are 42 records for which δ is in [0.1, 0.2). An
1148
- # important particular case is when min_probability = max_probability = 1:
1149
- # then, every individual who shares this quasi-identifier combination is in
1150
- # the dataset.
1151
- # @!attribute [rw] min_probability
1152
- # @return [Float]
1153
- # Between 0 and 1.
1154
- # @!attribute [rw] max_probability
1155
- # @return [Float]
1156
- # Always greater than or equal to min_probability.
1157
- # @!attribute [rw] bucket_size
1158
- # @return [Integer]
1159
- # Number of records within these probability bounds.
1160
- # @!attribute [rw] bucket_values
1161
- # @return [Array<Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails::DeltaPresenceEstimationResult::DeltaPresenceEstimationQuasiIdValues>]
1162
- # Sample of quasi-identifier tuple values in this bucket. The total
1163
- # number of classes returned per bucket is capped at 20.
1164
- # @!attribute [rw] bucket_value_count
1165
- # @return [Integer]
1166
- # Total number of distinct quasi-identifier tuple values in this bucket.
1167
- class DeltaPresenceEstimationHistogramBucket; end
1168
- end
1169
- end
1170
-
1171
- # A value of a field, including its frequency.
1172
- # @!attribute [rw] value
1173
- # @return [Google::Privacy::Dlp::V2::Value]
1174
- # A value contained in the field in question.
1175
- # @!attribute [rw] count
1176
- # @return [Integer]
1177
- # How many times the value is contained in the field.
1178
- class ValueFrequency; end
1179
-
1180
- # Set of primitive values supported by the system.
1181
- # Note that for the purposes of inspection or transformation, the number
1182
- # of bytes considered to comprise a 'Value' is based on its representation
1183
- # as a UTF-8 encoded string. For example, if 'integer_value' is set to
1184
- # 123456789, the number of bytes would be counted as 9, even though an
1185
- # int64 only holds up to 8 bytes of data.
1186
- # @!attribute [rw] integer_value
1187
- # @return [Integer]
1188
- # integer
1189
- # @!attribute [rw] float_value
1190
- # @return [Float]
1191
- # float
1192
- # @!attribute [rw] string_value
1193
- # @return [String]
1194
- # string
1195
- # @!attribute [rw] boolean_value
1196
- # @return [true, false]
1197
- # boolean
1198
- # @!attribute [rw] timestamp_value
1199
- # @return [Google::Protobuf::Timestamp]
1200
- # timestamp
1201
- # @!attribute [rw] time_value
1202
- # @return [Google::Type::TimeOfDay]
1203
- # time of day
1204
- # @!attribute [rw] date_value
1205
- # @return [Google::Type::Date]
1206
- # date
1207
- # @!attribute [rw] day_of_week_value
1208
- # @return [Google::Type::DayOfWeek]
1209
- # day of week
1210
- class Value; end
1211
-
1212
- # Message for infoType-dependent details parsed from quote.
1213
- # @!attribute [rw] date_time
1214
- # @return [Google::Privacy::Dlp::V2::DateTime]
1215
- # The date time indicated by the quote.
1216
- class QuoteInfo; end
1217
-
1218
- # Message for a date time object.
1219
- # e.g. 2018-01-01, 5th August.
1220
- # @!attribute [rw] date
1221
- # @return [Google::Type::Date]
1222
- # One or more of the following must be set.
1223
- # Must be a valid date or time value.
1224
- # @!attribute [rw] day_of_week
1225
- # @return [Google::Type::DayOfWeek]
1226
- # Day of week
1227
- # @!attribute [rw] time
1228
- # @return [Google::Type::TimeOfDay]
1229
- # Time of day
1230
- # @!attribute [rw] time_zone
1231
- # @return [Google::Privacy::Dlp::V2::DateTime::TimeZone]
1232
- # Time zone
1233
- class DateTime
1234
- # Time zone of the date time object.
1235
- # @!attribute [rw] offset_minutes
1236
- # @return [Integer]
1237
- # Set only if the offset can be determined. Positive for time ahead of UTC.
1238
- # E.g. For "UTC-9", this value is -540.
1239
- class TimeZone; end
1240
- end
1241
-
1242
- # The configuration that controls how the data will change.
1243
- # @!attribute [rw] info_type_transformations
1244
- # @return [Google::Privacy::Dlp::V2::InfoTypeTransformations]
1245
- # Treat the dataset as free-form text and apply the same free text
1246
- # transformation everywhere.
1247
- # @!attribute [rw] record_transformations
1248
- # @return [Google::Privacy::Dlp::V2::RecordTransformations]
1249
- # Treat the dataset as structured. Transformations can be applied to
1250
- # specific locations within structured datasets, such as transforming
1251
- # a column within a table.
1252
- class DeidentifyConfig; end
1253
-
1254
- # A rule for transforming a value.
1255
- # @!attribute [rw] replace_config
1256
- # @return [Google::Privacy::Dlp::V2::ReplaceValueConfig]
1257
- # Replace
1258
- # @!attribute [rw] redact_config
1259
- # @return [Google::Privacy::Dlp::V2::RedactConfig]
1260
- # Redact
1261
- # @!attribute [rw] character_mask_config
1262
- # @return [Google::Privacy::Dlp::V2::CharacterMaskConfig]
1263
- # Mask
1264
- # @!attribute [rw] crypto_replace_ffx_fpe_config
1265
- # @return [Google::Privacy::Dlp::V2::CryptoReplaceFfxFpeConfig]
1266
- # Ffx-Fpe
1267
- # @!attribute [rw] fixed_size_bucketing_config
1268
- # @return [Google::Privacy::Dlp::V2::FixedSizeBucketingConfig]
1269
- # Fixed size bucketing
1270
- # @!attribute [rw] bucketing_config
1271
- # @return [Google::Privacy::Dlp::V2::BucketingConfig]
1272
- # Bucketing
1273
- # @!attribute [rw] replace_with_info_type_config
1274
- # @return [Google::Privacy::Dlp::V2::ReplaceWithInfoTypeConfig]
1275
- # Replace with infotype
1276
- # @!attribute [rw] time_part_config
1277
- # @return [Google::Privacy::Dlp::V2::TimePartConfig]
1278
- # Time extraction
1279
- # @!attribute [rw] crypto_hash_config
1280
- # @return [Google::Privacy::Dlp::V2::CryptoHashConfig]
1281
- # Crypto
1282
- # @!attribute [rw] date_shift_config
1283
- # @return [Google::Privacy::Dlp::V2::DateShiftConfig]
1284
- # Date Shift
1285
- # @!attribute [rw] crypto_deterministic_config
1286
- # @return [Google::Privacy::Dlp::V2::CryptoDeterministicConfig]
1287
- # Deterministic Crypto
1288
- class PrimitiveTransformation; end
1289
-
1290
- # For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a
1291
- # portion of the value.
1292
- # @!attribute [rw] part_to_extract
1293
- # @return [Google::Privacy::Dlp::V2::TimePartConfig::TimePart]
1294
- # The part of the time to keep.
1295
- class TimePartConfig
1296
- # Components that make up time.
1297
- module TimePart
1298
- # Unused
1299
- TIME_PART_UNSPECIFIED = 0
1300
-
1301
- # [0-9999]
1302
- YEAR = 1
1303
-
1304
- # [1-12]
1305
- MONTH = 2
1306
-
1307
- # [1-31]
1308
- DAY_OF_MONTH = 3
1309
-
1310
- # [1-7]
1311
- DAY_OF_WEEK = 4
1312
-
1313
- # [1-53]
1314
- WEEK_OF_YEAR = 5
1315
-
1316
- # [0-23]
1317
- HOUR_OF_DAY = 6
1318
- end
1319
- end
1320
-
1321
- # Pseudonymization method that generates surrogates via cryptographic hashing.
1322
- # Uses SHA-256.
1323
- # The key size must be either 32 or 64 bytes.
1324
- # Outputs a base64 encoded representation of the hashed output
1325
- # (for example, L7k0BHmF1ha5U3NfGykjro4xWi1MPVQPjhMAZbSV9mM=).
1326
- # Currently, only string and integer values can be hashed.
1327
- # See https://cloud.google.com/dlp/docs/pseudonymization to learn more.
1328
- # @!attribute [rw] crypto_key
1329
- # @return [Google::Privacy::Dlp::V2::CryptoKey]
1330
- # The key used by the hash function.
1331
- class CryptoHashConfig; end
1332
-
1333
- # Pseudonymization method that generates deterministic encryption for the given
1334
- # input. Outputs a base64 encoded representation of the encrypted output.
1335
- # Uses AES-SIV based on the RFC https://tools.ietf.org/html/rfc5297.
1336
- # @!attribute [rw] crypto_key
1337
- # @return [Google::Privacy::Dlp::V2::CryptoKey]
1338
- # The key used by the encryption function.
1339
- # @!attribute [rw] surrogate_info_type
1340
- # @return [Google::Privacy::Dlp::V2::InfoType]
1341
- # The custom info type to annotate the surrogate with.
1342
- # This annotation will be applied to the surrogate by prefixing it with
1343
- # the name of the custom info type followed by the number of
1344
- # characters comprising the surrogate. The following scheme defines the
1345
- # format: {info type name}({surrogate character count}):\\{surrogate}
1346
- #
1347
- # For example, if the name of custom info type is 'MY_TOKEN_INFO_TYPE' and
1348
- # the surrogate is 'abc', the full replacement value
1349
- # will be: 'MY_TOKEN_INFO_TYPE(3):abc'
1350
- #
1351
- # This annotation identifies the surrogate when inspecting content using the
1352
- # custom info type 'Surrogate'. This facilitates reversal of the
1353
- # surrogate when it occurs in free text.
1354
- #
1355
- # Note: For record transformations where the entire cell in a table is being
1356
- # transformed, surrogates are not mandatory. Surrogates are used to denote
1357
- # the location of the token and are necessary for re-identification in free
1358
- # form text.
1359
- #
1360
- # In order for inspection to work properly, the name of this info type must
1361
- # not occur naturally anywhere in your data; otherwise, inspection may either
1362
- #
1363
- # * reverse a surrogate that does not correspond to an actual identifier
1364
- # * be unable to parse the surrogate and result in an error
1365
- #
1366
- # Therefore, choose your custom info type name carefully after considering
1367
- # what your data looks like. One way to select a name that has a high chance
1368
- # of yielding reliable detection is to include one or more unicode characters
1369
- # that are highly improbable to exist in your data.
1370
- # For example, assuming your data is entered from a regular ASCII keyboard,
1371
- # the symbol with the hex code point 29DD might be used like so:
1372
- # ⧝MY_TOKEN_TYPE.
1373
- # @!attribute [rw] context
1374
- # @return [Google::Privacy::Dlp::V2::FieldId]
1375
- # A context may be used for higher security and maintaining
1376
- # referential integrity such that the same identifier in two different
1377
- # contexts will be given a distinct surrogate. The context is appended to
1378
- # plaintext value being encrypted. On decryption the provided context is
1379
- # validated against the value used during encryption. If a context was
1380
- # provided during encryption, same context must be provided during decryption
1381
- # as well.
1382
- #
1383
- # If the context is not set, plaintext would be used as is for encryption.
1384
- # If the context is set but:
1385
- #
1386
- # 1. there is no record present when transforming a given value or
1387
- # 2. the field is not present when transforming a given value,
1388
- #
1389
- # plaintext would be used as is for encryption.
1390
- #
1391
- # Note that case (1) is expected when an `InfoTypeTransformation` is
1392
- # applied to both structured and non-structured `ContentItem`s.
1393
- class CryptoDeterministicConfig; end
1394
-
1395
- # Replace each input value with a given `Value`.
1396
- # @!attribute [rw] new_value
1397
- # @return [Google::Privacy::Dlp::V2::Value]
1398
- # Value to replace it with.
1399
- class ReplaceValueConfig; end
1400
-
1401
- # Replace each matching finding with the name of the info_type.
1402
- class ReplaceWithInfoTypeConfig; end
1403
-
1404
- # Redact a given value. For example, if used with an `InfoTypeTransformation`
1405
- # transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the
1406
- # output would be 'My phone number is '.
1407
- class RedactConfig; end
1408
-
1409
- # Characters to skip when doing deidentification of a value. These will be left
1410
- # alone and skipped.
1411
- # @!attribute [rw] characters_to_skip
1412
- # @return [String]
1413
- # Characters to not transform when masking.
1414
- # @!attribute [rw] common_characters_to_ignore
1415
- # @return [Google::Privacy::Dlp::V2::CharsToIgnore::CommonCharsToIgnore]
1416
- # Common characters to not transform when masking. Useful to avoid removing
1417
- # punctuation.
1418
- class CharsToIgnore
1419
- # Convenience enum for indication common characters to not transform.
1420
- module CommonCharsToIgnore
1421
- # Unused.
1422
- COMMON_CHARS_TO_IGNORE_UNSPECIFIED = 0
1423
-
1424
- # 0-9
1425
- NUMERIC = 1
1426
-
1427
- # A-Z
1428
- ALPHA_UPPER_CASE = 2
1429
-
1430
- # a-z
1431
- ALPHA_LOWER_CASE = 3
1432
-
1433
- # US Punctuation, one of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
1434
- PUNCTUATION = 4
1435
-
1436
- # Whitespace character, one of [ \t\n\x0B\f\r]
1437
- WHITESPACE = 5
1438
- end
1439
- end
1440
-
1441
- # Partially mask a string by replacing a given number of characters with a
1442
- # fixed character. Masking can start from the beginning or end of the string.
1443
- # This can be used on data of any type (numbers, longs, and so on) and when
1444
- # de-identifying structured data we'll attempt to preserve the original data's
1445
- # type. (This allows you to take a long like 123 and modify it to a string like
1446
- # **3.
1447
- # @!attribute [rw] masking_character
1448
- # @return [String]
1449
- # Character to use to mask the sensitive values&mdash;for example, `*` for an
1450
- # alphabetic string such as a name, or `0` for a numeric string such as ZIP
1451
- # code or credit card number. This string must have a length of 1. If not
1452
- # supplied, this value defaults to `*` for strings, and `0` for digits.
1453
- # @!attribute [rw] number_to_mask
1454
- # @return [Integer]
1455
- # Number of characters to mask. If not set, all matching chars will be
1456
- # masked. Skipped characters do not count towards this tally.
1457
- # @!attribute [rw] reverse_order
1458
- # @return [true, false]
1459
- # Mask characters in reverse order. For example, if `masking_character` is
1460
- # `0`, `number_to_mask` is `14`, and `reverse_order` is `false`, then the
1461
- # input string `1234-5678-9012-3456` is masked as `00000000000000-3456`.
1462
- # If `masking_character` is `*`, `number_to_mask` is `3`, and `reverse_order`
1463
- # is `true`, then the string `12345` is masked as `12***`.
1464
- # @!attribute [rw] characters_to_ignore
1465
- # @return [Array<Google::Privacy::Dlp::V2::CharsToIgnore>]
1466
- # When masking a string, items in this list will be skipped when replacing
1467
- # characters. For example, if the input string is `555-555-5555` and you
1468
- # instruct Cloud DLP to skip `-` and mask 5 characters with `*`, Cloud DLP
1469
- # returns `***-**5-5555`.
1470
- class CharacterMaskConfig; end
1471
-
1472
- # Buckets values based on fixed size ranges. The
1473
- # Bucketing transformation can provide all of this functionality,
1474
- # but requires more configuration. This message is provided as a convenience to
1475
- # the user for simple bucketing strategies.
1476
- #
1477
- # The transformed value will be a hyphenated string of
1478
- # \\{lower_bound}-\\{upper_bound}, i.e if lower_bound = 10 and upper_bound = 20
1479
- # all values that are within this bucket will be replaced with "10-20".
1480
- #
1481
- # This can be used on data of type: double, long.
1482
- #
1483
- # If the bound Value type differs from the type of data
1484
- # being transformed, we will first attempt converting the type of the data to
1485
- # be transformed to match the type of the bound before comparing.
1486
- #
1487
- # See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more.
1488
- # @!attribute [rw] lower_bound
1489
- # @return [Google::Privacy::Dlp::V2::Value]
1490
- # Required. Lower bound value of buckets. All values less than `lower_bound` are
1491
- # grouped together into a single bucket; for example if `lower_bound` = 10,
1492
- # then all values less than 10 are replaced with the value “-10”.
1493
- # @!attribute [rw] upper_bound
1494
- # @return [Google::Privacy::Dlp::V2::Value]
1495
- # Required. Upper bound value of buckets. All values greater than upper_bound are
1496
- # grouped together into a single bucket; for example if `upper_bound` = 89,
1497
- # then all values greater than 89 are replaced with the value “89+”.
1498
- # @!attribute [rw] bucket_size
1499
- # @return [Float]
1500
- # Required. Size of each bucket (except for minimum and maximum buckets). So if
1501
- # `lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the
1502
- # following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60,
1503
- # 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
1504
- class FixedSizeBucketingConfig; end
1505
-
1506
- # Generalization function that buckets values based on ranges. The ranges and
1507
- # replacement values are dynamically provided by the user for custom behavior,
1508
- # such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH
1509
- # This can be used on
1510
- # data of type: number, long, string, timestamp.
1511
- # If the bound `Value` type differs from the type of data being transformed, we
1512
- # will first attempt converting the type of the data to be transformed to match
1513
- # the type of the bound before comparing.
1514
- # See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more.
1515
- # @!attribute [rw] buckets
1516
- # @return [Array<Google::Privacy::Dlp::V2::BucketingConfig::Bucket>]
1517
- # Set of buckets. Ranges must be non-overlapping.
1518
- class BucketingConfig
1519
- # Bucket is represented as a range, along with replacement values.
1520
- # @!attribute [rw] min
1521
- # @return [Google::Privacy::Dlp::V2::Value]
1522
- # Lower bound of the range, inclusive. Type should be the same as max if
1523
- # used.
1524
- # @!attribute [rw] max
1525
- # @return [Google::Privacy::Dlp::V2::Value]
1526
- # Upper bound of the range, exclusive; type must match min.
1527
- # @!attribute [rw] replacement_value
1528
- # @return [Google::Privacy::Dlp::V2::Value]
1529
- # Replacement value for this bucket. If not provided
1530
- # the default behavior will be to hyphenate the min-max range.
1531
- class Bucket; end
1532
- end
1533
-
1534
- # Replaces an identifier with a surrogate using Format Preserving Encryption
1535
- # (FPE) with the FFX mode of operation; however when used in the
1536
- # `ReidentifyContent` API method, it serves the opposite function by reversing
1537
- # the surrogate back into the original identifier. The identifier must be
1538
- # encoded as ASCII. For a given crypto key and context, the same identifier
1539
- # will be replaced with the same surrogate. Identifiers must be at least two
1540
- # characters long. In the case that the identifier is the empty string, it will
1541
- # be skipped. See https://cloud.google.com/dlp/docs/pseudonymization to learn
1542
- # more.
1543
- #
1544
- # Note: We recommend using CryptoDeterministicConfig for all use cases which
1545
- # do not require preserving the input alphabet space and size, plus warrant
1546
- # referential integrity.
1547
- # @!attribute [rw] crypto_key
1548
- # @return [Google::Privacy::Dlp::V2::CryptoKey]
1549
- # Required. The key used by the encryption algorithm.
1550
- # @!attribute [rw] context
1551
- # @return [Google::Privacy::Dlp::V2::FieldId]
1552
- # The 'tweak', a context may be used for higher security since the same
1553
- # identifier in two different contexts won't be given the same surrogate. If
1554
- # the context is not set, a default tweak will be used.
1555
- #
1556
- # If the context is set but:
1557
- #
1558
- # 1. there is no record present when transforming a given value or
1559
- # 1. the field is not present when transforming a given value,
1560
- #
1561
- # a default tweak will be used.
1562
- #
1563
- # Note that case (1) is expected when an `InfoTypeTransformation` is
1564
- # applied to both structured and non-structured `ContentItem`s.
1565
- # Currently, the referenced field may be of value type integer or string.
1566
- #
1567
- # The tweak is constructed as a sequence of bytes in big endian byte order
1568
- # such that:
1569
- #
1570
- # * a 64 bit integer is encoded followed by a single byte of value 1
1571
- # * a string is encoded in UTF-8 format followed by a single byte of value 2
1572
- # @!attribute [rw] common_alphabet
1573
- # @return [Google::Privacy::Dlp::V2::CryptoReplaceFfxFpeConfig::FfxCommonNativeAlphabet]
1574
- # Common alphabets.
1575
- # @!attribute [rw] custom_alphabet
1576
- # @return [String]
1577
- # This is supported by mapping these to the alphanumeric characters
1578
- # that the FFX mode natively supports. This happens before/after
1579
- # encryption/decryption.
1580
- # Each character listed must appear only once.
1581
- # Number of characters must be in the range [2, 95].
1582
- # This must be encoded as ASCII.
1583
- # The order of characters does not matter.
1584
- # @!attribute [rw] radix
1585
- # @return [Integer]
1586
- # The native way to select the alphabet. Must be in the range [2, 95].
1587
- # @!attribute [rw] surrogate_info_type
1588
- # @return [Google::Privacy::Dlp::V2::InfoType]
1589
- # The custom infoType to annotate the surrogate with.
1590
- # This annotation will be applied to the surrogate by prefixing it with
1591
- # the name of the custom infoType followed by the number of
1592
- # characters comprising the surrogate. The following scheme defines the
1593
- # format: info_type_name(surrogate_character_count):surrogate
1594
- #
1595
- # For example, if the name of custom infoType is 'MY_TOKEN_INFO_TYPE' and
1596
- # the surrogate is 'abc', the full replacement value
1597
- # will be: 'MY_TOKEN_INFO_TYPE(3):abc'
1598
- #
1599
- # This annotation identifies the surrogate when inspecting content using the
1600
- # custom infoType
1601
- # [`SurrogateType`](https://cloud.google.com/dlp/docs/reference/rest/v2/InspectConfig#surrogatetype).
1602
- # This facilitates reversal of the surrogate when it occurs in free text.
1603
- #
1604
- # In order for inspection to work properly, the name of this infoType must
1605
- # not occur naturally anywhere in your data; otherwise, inspection may
1606
- # find a surrogate that does not correspond to an actual identifier.
1607
- # Therefore, choose your custom infoType name carefully after considering
1608
- # what your data looks like. One way to select a name that has a high chance
1609
- # of yielding reliable detection is to include one or more unicode characters
1610
- # that are highly improbable to exist in your data.
1611
- # For example, assuming your data is entered from a regular ASCII keyboard,
1612
- # the symbol with the hex code point 29DD might be used like so:
1613
- # ⧝MY_TOKEN_TYPE
1614
- class CryptoReplaceFfxFpeConfig
1615
- # These are commonly used subsets of the alphabet that the FFX mode
1616
- # natively supports. In the algorithm, the alphabet is selected using
1617
- # the "radix". Therefore each corresponds to particular radix.
1618
- module FfxCommonNativeAlphabet
1619
- # Unused.
1620
- FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED = 0
1621
-
1622
- # [0-9] (radix of 10)
1623
- NUMERIC = 1
1624
-
1625
- # [0-9A-F] (radix of 16)
1626
- HEXADECIMAL = 2
1627
-
1628
- # [0-9A-Z] (radix of 36)
1629
- UPPER_CASE_ALPHA_NUMERIC = 3
1630
-
1631
- # [0-9A-Za-z] (radix of 62)
1632
- ALPHA_NUMERIC = 4
1633
- end
1634
- end
1635
-
1636
- # This is a data encryption key (DEK) (as opposed to
1637
- # a key encryption key (KEK) stored by KMS).
1638
- # When using KMS to wrap/unwrap DEKs, be sure to set an appropriate
1639
- # IAM policy on the KMS CryptoKey (KEK) to ensure an attacker cannot
1640
- # unwrap the data crypto key.
1641
- # @!attribute [rw] transient
1642
- # @return [Google::Privacy::Dlp::V2::TransientCryptoKey]
1643
- # Transient crypto key
1644
- # @!attribute [rw] unwrapped
1645
- # @return [Google::Privacy::Dlp::V2::UnwrappedCryptoKey]
1646
- # Unwrapped crypto key
1647
- # @!attribute [rw] kms_wrapped
1648
- # @return [Google::Privacy::Dlp::V2::KmsWrappedCryptoKey]
1649
- # Kms wrapped key
1650
- class CryptoKey; end
1651
-
1652
- # Use this to have a random data crypto key generated.
1653
- # It will be discarded after the request finishes.
1654
- # @!attribute [rw] name
1655
- # @return [String]
1656
- # Required. Name of the key.
1657
- # This is an arbitrary string used to differentiate different keys.
1658
- # A unique key is generated per name: two separate `TransientCryptoKey`
1659
- # protos share the same generated key if their names are the same.
1660
- # When the data crypto key is generated, this name is not used in any way
1661
- # (repeating the api call will result in a different key being generated).
1662
- class TransientCryptoKey; end
1663
-
1664
- # Using raw keys is prone to security risks due to accidentally
1665
- # leaking the key. Choose another type of key if possible.
1666
- # @!attribute [rw] key
1667
- # @return [String]
1668
- # Required. A 128/192/256 bit key.
1669
- class UnwrappedCryptoKey; end
1670
-
1671
- # Include to use an existing data crypto key wrapped by KMS.
1672
- # The wrapped key must be a 128/192/256 bit key.
1673
- # Authorization requires the following IAM permissions when sending a request
1674
- # to perform a crypto transformation using a kms-wrapped crypto key:
1675
- # dlp.kms.encrypt
1676
- # @!attribute [rw] wrapped_key
1677
- # @return [String]
1678
- # Required. The wrapped data crypto key.
1679
- # @!attribute [rw] crypto_key_name
1680
- # @return [String]
1681
- # Required. The resource name of the KMS CryptoKey to use for unwrapping.
1682
- class KmsWrappedCryptoKey; end
1683
-
1684
- # Shifts dates by random number of days, with option to be consistent for the
1685
- # same context. See https://cloud.google.com/dlp/docs/concepts-date-shifting
1686
- # to learn more.
1687
- # @!attribute [rw] upper_bound_days
1688
- # @return [Integer]
1689
- # Required. Range of shift in days. Actual shift will be selected at random within this
1690
- # range (inclusive ends). Negative means shift to earlier in time. Must not
1691
- # be more than 365250 days (1000 years) each direction.
1692
- #
1693
- # For example, 3 means shift date to at most 3 days into the future.
1694
- # @!attribute [rw] lower_bound_days
1695
- # @return [Integer]
1696
- # Required. For example, -5 means shift date to at most 5 days back in the past.
1697
- # @!attribute [rw] context
1698
- # @return [Google::Privacy::Dlp::V2::FieldId]
1699
- # Points to the field that contains the context, for example, an entity id.
1700
- # If set, must also set cryptoKey. If set, shift will be consistent for the
1701
- # given context.
1702
- # @!attribute [rw] crypto_key
1703
- # @return [Google::Privacy::Dlp::V2::CryptoKey]
1704
- # Causes the shift to be computed based on this key and the context. This
1705
- # results in the same shift for the same context and crypto_key. If
1706
- # set, must also set context. Can only be applied to table items.
1707
- class DateShiftConfig; end
1708
-
1709
- # A type of transformation that will scan unstructured text and
1710
- # apply various `PrimitiveTransformation`s to each finding, where the
1711
- # transformation is applied to only values that were identified as a specific
1712
- # info_type.
1713
- # @!attribute [rw] transformations
1714
- # @return [Array<Google::Privacy::Dlp::V2::InfoTypeTransformations::InfoTypeTransformation>]
1715
- # Required. Transformation for each infoType. Cannot specify more than one
1716
- # for a given infoType.
1717
- class InfoTypeTransformations
1718
- # A transformation to apply to text that is identified as a specific
1719
- # info_type.
1720
- # @!attribute [rw] info_types
1721
- # @return [Array<Google::Privacy::Dlp::V2::InfoType>]
1722
- # InfoTypes to apply the transformation to. An empty list will cause
1723
- # this transformation to apply to all findings that correspond to
1724
- # infoTypes that were requested in `InspectConfig`.
1725
- # @!attribute [rw] primitive_transformation
1726
- # @return [Google::Privacy::Dlp::V2::PrimitiveTransformation]
1727
- # Required. Primitive transformation to apply to the infoType.
1728
- class InfoTypeTransformation; end
1729
- end
1730
-
1731
- # The transformation to apply to the field.
1732
- # @!attribute [rw] fields
1733
- # @return [Array<Google::Privacy::Dlp::V2::FieldId>]
1734
- # Required. Input field(s) to apply the transformation to.
1735
- # @!attribute [rw] condition
1736
- # @return [Google::Privacy::Dlp::V2::RecordCondition]
1737
- # Only apply the transformation if the condition evaluates to true for the
1738
- # given `RecordCondition`. The conditions are allowed to reference fields
1739
- # that are not used in the actual transformation.
1740
- #
1741
- # Example Use Cases:
1742
- #
1743
- # * Apply a different bucket transformation to an age column if the zip code
1744
- # column for the same record is within a specific range.
1745
- # * Redact a field if the date of birth field is greater than 85.
1746
- # @!attribute [rw] primitive_transformation
1747
- # @return [Google::Privacy::Dlp::V2::PrimitiveTransformation]
1748
- # Apply the transformation to the entire field.
1749
- # @!attribute [rw] info_type_transformations
1750
- # @return [Google::Privacy::Dlp::V2::InfoTypeTransformations]
1751
- # Treat the contents of the field as free text, and selectively
1752
- # transform content that matches an `InfoType`.
1753
- class FieldTransformation; end
1754
-
1755
- # A type of transformation that is applied over structured data such as a
1756
- # table.
1757
- # @!attribute [rw] field_transformations
1758
- # @return [Array<Google::Privacy::Dlp::V2::FieldTransformation>]
1759
- # Transform the record by applying various field transformations.
1760
- # @!attribute [rw] record_suppressions
1761
- # @return [Array<Google::Privacy::Dlp::V2::RecordSuppression>]
1762
- # Configuration defining which records get suppressed entirely. Records that
1763
- # match any suppression rule are omitted from the output.
1764
- class RecordTransformations; end
1765
-
1766
- # Configuration to suppress records whose suppression conditions evaluate to
1767
- # true.
1768
- # @!attribute [rw] condition
1769
- # @return [Google::Privacy::Dlp::V2::RecordCondition]
1770
- # A condition that when it evaluates to true will result in the record being
1771
- # evaluated to be suppressed from the transformed content.
1772
- class RecordSuppression; end
1773
-
1774
- # A condition for determining whether a transformation should be applied to
1775
- # a field.
1776
- # @!attribute [rw] expressions
1777
- # @return [Google::Privacy::Dlp::V2::RecordCondition::Expressions]
1778
- # An expression.
1779
- class RecordCondition
1780
- # The field type of `value` and `field` do not need to match to be
1781
- # considered equal, but not all comparisons are possible.
1782
- # EQUAL_TO and NOT_EQUAL_TO attempt to compare even with incompatible types,
1783
- # but all other comparisons are invalid with incompatible types.
1784
- # A `value` of type:
1785
- #
1786
- # * `string` can be compared against all other types
1787
- # * `boolean` can only be compared against other booleans
1788
- # * `integer` can be compared against doubles or a string if the string value
1789
- # can be parsed as an integer.
1790
- # * `double` can be compared against integers or a string if the string can
1791
- # be parsed as a double.
1792
- # * `Timestamp` can be compared against strings in RFC 3339 date string
1793
- # format.
1794
- # * `TimeOfDay` can be compared against timestamps and strings in the format
1795
- # of 'HH:mm:ss'.
1796
- #
1797
- # If we fail to compare do to type mismatch, a warning will be given and
1798
- # the condition will evaluate to false.
1799
- # @!attribute [rw] field
1800
- # @return [Google::Privacy::Dlp::V2::FieldId]
1801
- # Required. Field within the record this condition is evaluated against.
1802
- # @!attribute [rw] operator
1803
- # @return [Google::Privacy::Dlp::V2::RelationalOperator]
1804
- # Required. Operator used to compare the field or infoType to the value.
1805
- # @!attribute [rw] value
1806
- # @return [Google::Privacy::Dlp::V2::Value]
1807
- # Value to compare against. [Mandatory, except for `EXISTS` tests.]
1808
- class Condition; end
1809
-
1810
- # A collection of conditions.
1811
- # @!attribute [rw] conditions
1812
- # @return [Array<Google::Privacy::Dlp::V2::RecordCondition::Condition>]
1813
- # A collection of conditions.
1814
- class Conditions; end
1815
-
1816
- # An expression, consisting or an operator and conditions.
1817
- # @!attribute [rw] logical_operator
1818
- # @return [Google::Privacy::Dlp::V2::RecordCondition::Expressions::LogicalOperator]
1819
- # The operator to apply to the result of conditions. Default and currently
1820
- # only supported value is `AND`.
1821
- # @!attribute [rw] conditions
1822
- # @return [Google::Privacy::Dlp::V2::RecordCondition::Conditions]
1823
- # Conditions to apply to the expression.
1824
- class Expressions
1825
- # Logical operators for conditional checks.
1826
- module LogicalOperator
1827
- # Unused
1828
- LOGICAL_OPERATOR_UNSPECIFIED = 0
1829
-
1830
- # Conditional AND
1831
- AND = 1
1832
- end
1833
- end
1834
- end
1835
-
1836
- # Overview of the modifications that occurred.
1837
- # @!attribute [rw] transformed_bytes
1838
- # @return [Integer]
1839
- # Total size in bytes that were transformed in some way.
1840
- # @!attribute [rw] transformation_summaries
1841
- # @return [Array<Google::Privacy::Dlp::V2::TransformationSummary>]
1842
- # Transformations applied to the dataset.
1843
- class TransformationOverview; end
1844
-
1845
- # Summary of a single transformation.
1846
- # Only one of 'transformation', 'field_transformation', or 'record_suppress'
1847
- # will be set.
1848
- # @!attribute [rw] info_type
1849
- # @return [Google::Privacy::Dlp::V2::InfoType]
1850
- # Set if the transformation was limited to a specific InfoType.
1851
- # @!attribute [rw] field
1852
- # @return [Google::Privacy::Dlp::V2::FieldId]
1853
- # Set if the transformation was limited to a specific FieldId.
1854
- # @!attribute [rw] transformation
1855
- # @return [Google::Privacy::Dlp::V2::PrimitiveTransformation]
1856
- # The specific transformation these stats apply to.
1857
- # @!attribute [rw] field_transformations
1858
- # @return [Array<Google::Privacy::Dlp::V2::FieldTransformation>]
1859
- # The field transformation that was applied.
1860
- # If multiple field transformations are requested for a single field,
1861
- # this list will contain all of them; otherwise, only one is supplied.
1862
- # @!attribute [rw] record_suppress
1863
- # @return [Google::Privacy::Dlp::V2::RecordSuppression]
1864
- # The specific suppression option these stats apply to.
1865
- # @!attribute [rw] results
1866
- # @return [Array<Google::Privacy::Dlp::V2::TransformationSummary::SummaryResult>]
1867
- # Collection of all transformations that took place or had an error.
1868
- # @!attribute [rw] transformed_bytes
1869
- # @return [Integer]
1870
- # Total size in bytes that were transformed in some way.
1871
- class TransformationSummary
1872
- # A collection that informs the user the number of times a particular
1873
- # `TransformationResultCode` and error details occurred.
1874
- # @!attribute [rw] count
1875
- # @return [Integer]
1876
- # Number of transformations counted by this result.
1877
- # @!attribute [rw] code
1878
- # @return [Google::Privacy::Dlp::V2::TransformationSummary::TransformationResultCode]
1879
- # Outcome of the transformation.
1880
- # @!attribute [rw] details
1881
- # @return [String]
1882
- # A place for warnings or errors to show up if a transformation didn't
1883
- # work as expected.
1884
- class SummaryResult; end
1885
-
1886
- # Possible outcomes of transformations.
1887
- module TransformationResultCode
1888
- # Unused
1889
- TRANSFORMATION_RESULT_CODE_UNSPECIFIED = 0
1890
-
1891
- # Transformation completed without an error.
1892
- SUCCESS = 1
1893
-
1894
- # Transformation had an error.
1895
- ERROR = 2
1896
- end
1897
- end
1898
-
1899
- # Schedule for triggeredJobs.
1900
- # @!attribute [rw] recurrence_period_duration
1901
- # @return [Google::Protobuf::Duration]
1902
- # With this option a job is started a regular periodic basis. For
1903
- # example: every day (86400 seconds).
1904
- #
1905
- # A scheduled start time will be skipped if the previous
1906
- # execution has not ended when its scheduled time occurs.
1907
- #
1908
- # This value must be set to a time duration greater than or equal
1909
- # to 1 day and can be no longer than 60 days.
1910
- class Schedule; end
1911
-
1912
- # The inspectTemplate contains a configuration (set of types of sensitive data
1913
- # to be detected) to be used anywhere you otherwise would normally specify
1914
- # InspectConfig. See https://cloud.google.com/dlp/docs/concepts-templates
1915
- # to learn more.
1916
- # @!attribute [rw] name
1917
- # @return [String]
1918
- # Output only. The template name.
1919
- #
1920
- # The template will have one of the following formats:
1921
- # `projects/PROJECT_ID/inspectTemplates/TEMPLATE_ID` OR
1922
- # `organizations/ORGANIZATION_ID/inspectTemplates/TEMPLATE_ID`;
1923
- # @!attribute [rw] display_name
1924
- # @return [String]
1925
- # Display name (max 256 chars).
1926
- # @!attribute [rw] description
1927
- # @return [String]
1928
- # Short description (max 256 chars).
1929
- # @!attribute [rw] create_time
1930
- # @return [Google::Protobuf::Timestamp]
1931
- # Output only. The creation timestamp of an inspectTemplate.
1932
- # @!attribute [rw] update_time
1933
- # @return [Google::Protobuf::Timestamp]
1934
- # Output only. The last update timestamp of an inspectTemplate.
1935
- # @!attribute [rw] inspect_config
1936
- # @return [Google::Privacy::Dlp::V2::InspectConfig]
1937
- # The core content of the template. Configuration of the scanning process.
1938
- class InspectTemplate; end
1939
-
1940
- # DeidentifyTemplates contains instructions on how to de-identify content.
1941
- # See https://cloud.google.com/dlp/docs/concepts-templates to learn more.
1942
- # @!attribute [rw] name
1943
- # @return [String]
1944
- # Output only. The template name.
1945
- #
1946
- # The template will have one of the following formats:
1947
- # `projects/PROJECT_ID/deidentifyTemplates/TEMPLATE_ID` OR
1948
- # `organizations/ORGANIZATION_ID/deidentifyTemplates/TEMPLATE_ID`
1949
- # @!attribute [rw] display_name
1950
- # @return [String]
1951
- # Display name (max 256 chars).
1952
- # @!attribute [rw] description
1953
- # @return [String]
1954
- # Short description (max 256 chars).
1955
- # @!attribute [rw] create_time
1956
- # @return [Google::Protobuf::Timestamp]
1957
- # Output only. The creation timestamp of an inspectTemplate.
1958
- # @!attribute [rw] update_time
1959
- # @return [Google::Protobuf::Timestamp]
1960
- # Output only. The last update timestamp of an inspectTemplate.
1961
- # @!attribute [rw] deidentify_config
1962
- # @return [Google::Privacy::Dlp::V2::DeidentifyConfig]
1963
- # ///////////// // The core content of the template // ///////////////
1964
- class DeidentifyTemplate; end
1965
-
1966
- # Details information about an error encountered during job execution or
1967
- # the results of an unsuccessful activation of the JobTrigger.
1968
- # @!attribute [rw] details
1969
- # @return [Google::Rpc::Status]
1970
- # Detailed error codes and messages.
1971
- # @!attribute [rw] timestamps
1972
- # @return [Array<Google::Protobuf::Timestamp>]
1973
- # The times the error occurred.
1974
- class Error; end
1975
-
1976
- # Contains a configuration to make dlp api calls on a repeating basis.
1977
- # See https://cloud.google.com/dlp/docs/concepts-job-triggers to learn more.
1978
- # @!attribute [rw] name
1979
- # @return [String]
1980
- # Unique resource name for the triggeredJob, assigned by the service when the
1981
- # triggeredJob is created, for example
1982
- # `projects/dlp-test-project/jobTriggers/53234423`.
1983
- # @!attribute [rw] display_name
1984
- # @return [String]
1985
- # Display name (max 100 chars)
1986
- # @!attribute [rw] description
1987
- # @return [String]
1988
- # User provided description (max 256 chars)
1989
- # @!attribute [rw] inspect_job
1990
- # @return [Google::Privacy::Dlp::V2::InspectJobConfig]
1991
- # For inspect jobs, a snapshot of the configuration.
1992
- # @!attribute [rw] triggers
1993
- # @return [Array<Google::Privacy::Dlp::V2::JobTrigger::Trigger>]
1994
- # A list of triggers which will be OR'ed together. Only one in the list
1995
- # needs to trigger for a job to be started. The list may contain only
1996
- # a single Schedule trigger and must have at least one object.
1997
- # @!attribute [rw] errors
1998
- # @return [Array<Google::Privacy::Dlp::V2::Error>]
1999
- # Output only. A stream of errors encountered when the trigger was activated. Repeated
2000
- # errors may result in the JobTrigger automatically being paused.
2001
- # Will return the last 100 errors. Whenever the JobTrigger is modified
2002
- # this list will be cleared.
2003
- # @!attribute [rw] create_time
2004
- # @return [Google::Protobuf::Timestamp]
2005
- # Output only. The creation timestamp of a triggeredJob.
2006
- # @!attribute [rw] update_time
2007
- # @return [Google::Protobuf::Timestamp]
2008
- # Output only. The last update timestamp of a triggeredJob.
2009
- # @!attribute [rw] last_run_time
2010
- # @return [Google::Protobuf::Timestamp]
2011
- # Output only. The timestamp of the last time this trigger executed.
2012
- # @!attribute [rw] status
2013
- # @return [Google::Privacy::Dlp::V2::JobTrigger::Status]
2014
- # Required. A status for this trigger.
2015
- class JobTrigger
2016
- # What event needs to occur for a new job to be started.
2017
- # @!attribute [rw] schedule
2018
- # @return [Google::Privacy::Dlp::V2::Schedule]
2019
- # Create a job on a repeating basis based on the elapse of time.
2020
- class Trigger; end
2021
-
2022
- # Whether the trigger is currently active. If PAUSED or CANCELLED, no jobs
2023
- # will be created with this configuration. The service may automatically
2024
- # pause triggers experiencing frequent errors. To restart a job, set the
2025
- # status to HEALTHY after correcting user errors.
2026
- module Status
2027
- # Unused.
2028
- STATUS_UNSPECIFIED = 0
2029
-
2030
- # Trigger is healthy.
2031
- HEALTHY = 1
2032
-
2033
- # Trigger is temporarily paused.
2034
- PAUSED = 2
2035
-
2036
- # Trigger is cancelled and can not be resumed.
2037
- CANCELLED = 3
2038
- end
2039
- end
2040
-
2041
- # A task to execute on the completion of a job.
2042
- # See https://cloud.google.com/dlp/docs/concepts-actions to learn more.
2043
- # @!attribute [rw] save_findings
2044
- # @return [Google::Privacy::Dlp::V2::Action::SaveFindings]
2045
- # Save resulting findings in a provided location.
2046
- # @!attribute [rw] pub_sub
2047
- # @return [Google::Privacy::Dlp::V2::Action::PublishToPubSub]
2048
- # Publish a notification to a pubsub topic.
2049
- # @!attribute [rw] publish_summary_to_cscc
2050
- # @return [Google::Privacy::Dlp::V2::Action::PublishSummaryToCscc]
2051
- # Publish summary to Cloud Security Command Center (Alpha).
2052
- # @!attribute [rw] publish_findings_to_cloud_data_catalog
2053
- # @return [Google::Privacy::Dlp::V2::Action::PublishFindingsToCloudDataCatalog]
2054
- # Publish findings to Cloud Datahub.
2055
- # @!attribute [rw] job_notification_emails
2056
- # @return [Google::Privacy::Dlp::V2::Action::JobNotificationEmails]
2057
- # Enable email notification for project owners and editors on job's
2058
- # completion/failure.
2059
- # @!attribute [rw] publish_to_stackdriver
2060
- # @return [Google::Privacy::Dlp::V2::Action::PublishToStackdriver]
2061
- # Enable Stackdriver metric dlp.googleapis.com/finding_count.
2062
- class Action
2063
- # If set, the detailed findings will be persisted to the specified
2064
- # OutputStorageConfig. Only a single instance of this action can be
2065
- # specified.
2066
- # Compatible with: Inspect, Risk
2067
- # @!attribute [rw] output_config
2068
- # @return [Google::Privacy::Dlp::V2::OutputStorageConfig]
2069
- # Location to store findings outside of DLP.
2070
- class SaveFindings; end
2071
-
2072
- # Publish a message into given Pub/Sub topic when DlpJob has completed. The
2073
- # message contains a single field, `DlpJobName`, which is equal to the
2074
- # finished job's
2075
- # [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
2076
- # Compatible with: Inspect, Risk
2077
- # @!attribute [rw] topic
2078
- # @return [String]
2079
- # Cloud Pub/Sub topic to send notifications to. The topic must have given
2080
- # publishing access rights to the DLP API service account executing
2081
- # the long running DlpJob sending the notifications.
2082
- # Format is projects/\\{project}/topics/\\{topic}.
2083
- class PublishToPubSub; end
2084
-
2085
- # Publish the result summary of a DlpJob to the Cloud Security
2086
- # Command Center (CSCC Alpha).
2087
- # This action is only available for projects which are parts of
2088
- # an organization and whitelisted for the alpha Cloud Security Command
2089
- # Center.
2090
- # The action will publish count of finding instances and their info types.
2091
- # The summary of findings will be persisted in CSCC and are governed by CSCC
2092
- # service-specific policy, see https://cloud.google.com/terms/service-terms
2093
- # Only a single instance of this action can be specified.
2094
- # Compatible with: Inspect
2095
- class PublishSummaryToCscc; end
2096
-
2097
- # Publish findings of a DlpJob to Cloud Data Catalog. Labels summarizing the
2098
- # results of the DlpJob will be applied to the entry for the resource scanned
2099
- # in Cloud Data Catalog. Any labels previously written by another DlpJob will
2100
- # be deleted. InfoType naming patterns are strictly enforced when using this
2101
- # feature. Note that the findings will be persisted in Cloud Data Catalog
2102
- # storage and are governed by Data Catalog service-specific policy, see
2103
- # https://cloud.google.com/terms/service-terms
2104
- # Only a single instance of this action can be specified and only allowed if
2105
- # all resources being scanned are BigQuery tables.
2106
- # Compatible with: Inspect
2107
- class PublishFindingsToCloudDataCatalog; end
2108
-
2109
- # Enable email notification to project owners and editors on jobs's
2110
- # completion/failure.
2111
- class JobNotificationEmails; end
2112
-
2113
- # Enable Stackdriver metric dlp.googleapis.com/finding_count. This
2114
- # will publish a metric to stack driver on each infotype requested and
2115
- # how many findings were found for it. CustomDetectors will be bucketed
2116
- # as 'Custom' under the Stackdriver label 'info_type'.
2117
- class PublishToStackdriver; end
2118
- end
2119
-
2120
- # Request message for CreateInspectTemplate.
2121
- # @!attribute [rw] parent
2122
- # @return [String]
2123
- # Required. The parent resource name, for example projects/my-project-id or
2124
- # organizations/my-org-id.
2125
- # @!attribute [rw] inspect_template
2126
- # @return [Google::Privacy::Dlp::V2::InspectTemplate]
2127
- # Required. The InspectTemplate to create.
2128
- # @!attribute [rw] template_id
2129
- # @return [String]
2130
- # The template id can contain uppercase and lowercase letters,
2131
- # numbers, and hyphens; that is, it must match the regular
2132
- # expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
2133
- # characters. Can be empty to allow the system to generate one.
2134
- # @!attribute [rw] location_id
2135
- # @return [String]
2136
- # The geographic location to store the inspection template. Reserved for
2137
- # future extensions.
2138
- class CreateInspectTemplateRequest; end
2139
-
2140
- # Request message for UpdateInspectTemplate.
2141
- # @!attribute [rw] name
2142
- # @return [String]
2143
- # Required. Resource name of organization and inspectTemplate to be updated, for
2144
- # example `organizations/433245324/inspectTemplates/432452342` or
2145
- # projects/project-id/inspectTemplates/432452342.
2146
- # @!attribute [rw] inspect_template
2147
- # @return [Google::Privacy::Dlp::V2::InspectTemplate]
2148
- # New InspectTemplate value.
2149
- # @!attribute [rw] update_mask
2150
- # @return [Google::Protobuf::FieldMask]
2151
- # Mask to control which fields get updated.
2152
- class UpdateInspectTemplateRequest; end
2153
-
2154
- # Request message for GetInspectTemplate.
2155
- # @!attribute [rw] name
2156
- # @return [String]
2157
- # Required. Resource name of the organization and inspectTemplate to be read, for
2158
- # example `organizations/433245324/inspectTemplates/432452342` or
2159
- # projects/project-id/inspectTemplates/432452342.
2160
- class GetInspectTemplateRequest; end
2161
-
2162
- # Request message for ListInspectTemplates.
2163
- # @!attribute [rw] parent
2164
- # @return [String]
2165
- # Required. The parent resource name, for example projects/my-project-id or
2166
- # organizations/my-org-id.
2167
- # @!attribute [rw] page_token
2168
- # @return [String]
2169
- # Page token to continue retrieval. Comes from previous call
2170
- # to `ListInspectTemplates`.
2171
- # @!attribute [rw] page_size
2172
- # @return [Integer]
2173
- # Size of the page, can be limited by server. If zero server returns
2174
- # a page of max size 100.
2175
- # @!attribute [rw] order_by
2176
- # @return [String]
2177
- # Comma separated list of fields to order by,
2178
- # followed by `asc` or `desc` postfix. This list is case-insensitive,
2179
- # default sorting order is ascending, redundant space characters are
2180
- # insignificant.
2181
- #
2182
- # Example: `name asc,update_time, create_time desc`
2183
- #
2184
- # Supported fields are:
2185
- #
2186
- # * `create_time`: corresponds to time the template was created.
2187
- # * `update_time`: corresponds to time the template was last updated.
2188
- # * `name`: corresponds to template's name.
2189
- # * `display_name`: corresponds to template's display name.
2190
- # @!attribute [rw] location_id
2191
- # @return [String]
2192
- # The geographic location where inspection templates will be retrieved from.
2193
- # Use `-` for all locations. Reserved for future extensions.
2194
- class ListInspectTemplatesRequest; end
2195
-
2196
- # Response message for ListInspectTemplates.
2197
- # @!attribute [rw] inspect_templates
2198
- # @return [Array<Google::Privacy::Dlp::V2::InspectTemplate>]
2199
- # List of inspectTemplates, up to page_size in ListInspectTemplatesRequest.
2200
- # @!attribute [rw] next_page_token
2201
- # @return [String]
2202
- # If the next page is available then the next page token to be used
2203
- # in following ListInspectTemplates request.
2204
- class ListInspectTemplatesResponse; end
2205
-
2206
- # Request message for DeleteInspectTemplate.
2207
- # @!attribute [rw] name
2208
- # @return [String]
2209
- # Required. Resource name of the organization and inspectTemplate to be deleted, for
2210
- # example `organizations/433245324/inspectTemplates/432452342` or
2211
- # projects/project-id/inspectTemplates/432452342.
2212
- class DeleteInspectTemplateRequest; end
2213
-
2214
- # Request message for CreateJobTrigger.
2215
- # @!attribute [rw] parent
2216
- # @return [String]
2217
- # Required. The parent resource name, for example projects/my-project-id.
2218
- # @!attribute [rw] job_trigger
2219
- # @return [Google::Privacy::Dlp::V2::JobTrigger]
2220
- # Required. The JobTrigger to create.
2221
- # @!attribute [rw] trigger_id
2222
- # @return [String]
2223
- # The trigger id can contain uppercase and lowercase letters,
2224
- # numbers, and hyphens; that is, it must match the regular
2225
- # expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
2226
- # characters. Can be empty to allow the system to generate one.
2227
- # @!attribute [rw] location_id
2228
- # @return [String]
2229
- # The geographic location to store the job trigger. Reserved for
2230
- # future extensions.
2231
- class CreateJobTriggerRequest; end
2232
-
2233
- # Request message for ActivateJobTrigger.
2234
- # @!attribute [rw] name
2235
- # @return [String]
2236
- # Required. Resource name of the trigger to activate, for example
2237
- # `projects/dlp-test-project/jobTriggers/53234423`.
2238
- class ActivateJobTriggerRequest; end
2239
-
2240
- # Request message for UpdateJobTrigger.
2241
- # @!attribute [rw] name
2242
- # @return [String]
2243
- # Required. Resource name of the project and the triggeredJob, for example
2244
- # `projects/dlp-test-project/jobTriggers/53234423`.
2245
- # @!attribute [rw] job_trigger
2246
- # @return [Google::Privacy::Dlp::V2::JobTrigger]
2247
- # New JobTrigger value.
2248
- # @!attribute [rw] update_mask
2249
- # @return [Google::Protobuf::FieldMask]
2250
- # Mask to control which fields get updated.
2251
- class UpdateJobTriggerRequest; end
2252
-
2253
- # Request message for GetJobTrigger.
2254
- # @!attribute [rw] name
2255
- # @return [String]
2256
- # Required. Resource name of the project and the triggeredJob, for example
2257
- # `projects/dlp-test-project/jobTriggers/53234423`.
2258
- class GetJobTriggerRequest; end
2259
-
2260
- # Request message for CreateDlpJobRequest. Used to initiate long running
2261
- # jobs such as calculating risk metrics or inspecting Google Cloud
2262
- # Storage.
2263
- # @!attribute [rw] parent
2264
- # @return [String]
2265
- # Required. The parent resource name, for example projects/my-project-id.
2266
- # @!attribute [rw] inspect_job
2267
- # @return [Google::Privacy::Dlp::V2::InspectJobConfig]
2268
- # Set to control what and how to inspect.
2269
- # @!attribute [rw] risk_job
2270
- # @return [Google::Privacy::Dlp::V2::RiskAnalysisJobConfig]
2271
- # Set to choose what metric to calculate.
2272
- # @!attribute [rw] job_id
2273
- # @return [String]
2274
- # The job id can contain uppercase and lowercase letters,
2275
- # numbers, and hyphens; that is, it must match the regular
2276
- # expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
2277
- # characters. Can be empty to allow the system to generate one.
2278
- # @!attribute [rw] location_id
2279
- # @return [String]
2280
- # The geographic location to store and process the job. Reserved for
2281
- # future extensions.
2282
- class CreateDlpJobRequest; end
2283
-
2284
- # Request message for ListJobTriggers.
2285
- # @!attribute [rw] parent
2286
- # @return [String]
2287
- # Required. The parent resource name, for example `projects/my-project-id`.
2288
- # @!attribute [rw] page_token
2289
- # @return [String]
2290
- # Page token to continue retrieval. Comes from previous call
2291
- # to ListJobTriggers. `order_by` field must not
2292
- # change for subsequent calls.
2293
- # @!attribute [rw] page_size
2294
- # @return [Integer]
2295
- # Size of the page, can be limited by a server.
2296
- # @!attribute [rw] order_by
2297
- # @return [String]
2298
- # Comma separated list of triggeredJob fields to order by,
2299
- # followed by `asc` or `desc` postfix. This list is case-insensitive,
2300
- # default sorting order is ascending, redundant space characters are
2301
- # insignificant.
2302
- #
2303
- # Example: `name asc,update_time, create_time desc`
2304
- #
2305
- # Supported fields are:
2306
- #
2307
- # * `create_time`: corresponds to time the JobTrigger was created.
2308
- # * `update_time`: corresponds to time the JobTrigger was last updated.
2309
- # * `last_run_time`: corresponds to the last time the JobTrigger ran.
2310
- # * `name`: corresponds to JobTrigger's name.
2311
- # * `display_name`: corresponds to JobTrigger's display name.
2312
- # * `status`: corresponds to JobTrigger's status.
2313
- # @!attribute [rw] filter
2314
- # @return [String]
2315
- # Allows filtering.
2316
- #
2317
- # Supported syntax:
2318
- #
2319
- # * Filter expressions are made up of one or more restrictions.
2320
- # * Restrictions can be combined by `AND` or `OR` logical operators. A
2321
- # sequence of restrictions implicitly uses `AND`.
2322
- # * A restriction has the form of `{field} {operator} {value}`.
2323
- # * Supported fields/values for inspect jobs:
2324
- # * `status` - HEALTHY|PAUSED|CANCELLED
2325
- # * `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
2326
- # * 'last_run_time` - RFC 3339 formatted timestamp, surrounded by
2327
- # quotation marks. Nanoseconds are ignored.
2328
- # * 'error_count' - Number of errors that have occurred while running.
2329
- # * The operator must be `=` or `!=` for status and inspected_storage.
2330
- #
2331
- # Examples:
2332
- #
2333
- # * inspected_storage = cloud_storage AND status = HEALTHY
2334
- # * inspected_storage = cloud_storage OR inspected_storage = bigquery
2335
- # * inspected_storage = cloud_storage AND (state = PAUSED OR state = HEALTHY)
2336
- # * last_run_time > \"2017-12-12T00:00:00+00:00\"
2337
- #
2338
- # The length of this field should be no more than 500 characters.
2339
- # @!attribute [rw] location_id
2340
- # @return [String]
2341
- # The geographic location where job triggers will be retrieved from.
2342
- # Use `-` for all locations. Reserved for future extensions.
2343
- class ListJobTriggersRequest; end
2344
-
2345
- # Response message for ListJobTriggers.
2346
- # @!attribute [rw] job_triggers
2347
- # @return [Array<Google::Privacy::Dlp::V2::JobTrigger>]
2348
- # List of triggeredJobs, up to page_size in ListJobTriggersRequest.
2349
- # @!attribute [rw] next_page_token
2350
- # @return [String]
2351
- # If the next page is available then the next page token to be used
2352
- # in following ListJobTriggers request.
2353
- class ListJobTriggersResponse; end
2354
-
2355
- # Request message for DeleteJobTrigger.
2356
- # @!attribute [rw] name
2357
- # @return [String]
2358
- # Required. Resource name of the project and the triggeredJob, for example
2359
- # `projects/dlp-test-project/jobTriggers/53234423`.
2360
- class DeleteJobTriggerRequest; end
2361
-
2362
- # Controls what and how to inspect for findings.
2363
- # @!attribute [rw] storage_config
2364
- # @return [Google::Privacy::Dlp::V2::StorageConfig]
2365
- # The data to scan.
2366
- # @!attribute [rw] inspect_config
2367
- # @return [Google::Privacy::Dlp::V2::InspectConfig]
2368
- # How and what to scan for.
2369
- # @!attribute [rw] inspect_template_name
2370
- # @return [String]
2371
- # If provided, will be used as the default for all values in InspectConfig.
2372
- # `inspect_config` will be merged into the values persisted as part of the
2373
- # template.
2374
- # @!attribute [rw] actions
2375
- # @return [Array<Google::Privacy::Dlp::V2::Action>]
2376
- # Actions to execute at the completion of the job.
2377
- class InspectJobConfig; end
2378
-
2379
- # Combines all of the information about a DLP job.
2380
- # @!attribute [rw] name
2381
- # @return [String]
2382
- # The server-assigned name.
2383
- # @!attribute [rw] type
2384
- # @return [Google::Privacy::Dlp::V2::DlpJobType]
2385
- # The type of job.
2386
- # @!attribute [rw] state
2387
- # @return [Google::Privacy::Dlp::V2::DlpJob::JobState]
2388
- # State of a job.
2389
- # @!attribute [rw] risk_details
2390
- # @return [Google::Privacy::Dlp::V2::AnalyzeDataSourceRiskDetails]
2391
- # Results from analyzing risk of a data source.
2392
- # @!attribute [rw] inspect_details
2393
- # @return [Google::Privacy::Dlp::V2::InspectDataSourceDetails]
2394
- # Results from inspecting a data source.
2395
- # @!attribute [rw] create_time
2396
- # @return [Google::Protobuf::Timestamp]
2397
- # Time when the job was created.
2398
- # @!attribute [rw] start_time
2399
- # @return [Google::Protobuf::Timestamp]
2400
- # Time when the job started.
2401
- # @!attribute [rw] end_time
2402
- # @return [Google::Protobuf::Timestamp]
2403
- # Time when the job finished.
2404
- # @!attribute [rw] job_trigger_name
2405
- # @return [String]
2406
- # If created by a job trigger, the resource name of the trigger that
2407
- # instantiated the job.
2408
- # @!attribute [rw] errors
2409
- # @return [Array<Google::Privacy::Dlp::V2::Error>]
2410
- # A stream of errors encountered running the job.
2411
- class DlpJob
2412
- # Possible states of a job.
2413
- module JobState
2414
- # Unused.
2415
- JOB_STATE_UNSPECIFIED = 0
2416
-
2417
- # The job has not yet started.
2418
- PENDING = 1
2419
-
2420
- # The job is currently running.
2421
- RUNNING = 2
2422
-
2423
- # The job is no longer running.
2424
- DONE = 3
2425
-
2426
- # The job was canceled before it could complete.
2427
- CANCELED = 4
2428
-
2429
- # The job had an error and did not complete.
2430
- FAILED = 5
2431
- end
2432
- end
2433
-
2434
- # The request message for {DlpJobs::GetDlpJob}.
2435
- # @!attribute [rw] name
2436
- # @return [String]
2437
- # Required. The name of the DlpJob resource.
2438
- class GetDlpJobRequest; end
2439
-
2440
- # The request message for listing DLP jobs.
2441
- # @!attribute [rw] parent
2442
- # @return [String]
2443
- # Required. The parent resource name, for example projects/my-project-id.
2444
- # @!attribute [rw] filter
2445
- # @return [String]
2446
- # Allows filtering.
2447
- #
2448
- # Supported syntax:
2449
- #
2450
- # * Filter expressions are made up of one or more restrictions.
2451
- # * Restrictions can be combined by `AND` or `OR` logical operators. A
2452
- # sequence of restrictions implicitly uses `AND`.
2453
- # * A restriction has the form of `{field} {operator} {value}`.
2454
- # * Supported fields/values for inspect jobs:
2455
- # * `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED
2456
- # * `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
2457
- # * `trigger_name` - The resource name of the trigger that created job.
2458
- # * 'end_time` - Corresponds to time the job finished.
2459
- # * 'start_time` - Corresponds to time the job finished.
2460
- # * Supported fields for risk analysis jobs:
2461
- # * `state` - RUNNING|CANCELED|FINISHED|FAILED
2462
- # * 'end_time` - Corresponds to time the job finished.
2463
- # * 'start_time` - Corresponds to time the job finished.
2464
- # * The operator must be `=` or `!=`.
2465
- #
2466
- # Examples:
2467
- #
2468
- # * inspected_storage = cloud_storage AND state = done
2469
- # * inspected_storage = cloud_storage OR inspected_storage = bigquery
2470
- # * inspected_storage = cloud_storage AND (state = done OR state = canceled)
2471
- # * end_time > \"2017-12-12T00:00:00+00:00\"
2472
- #
2473
- # The length of this field should be no more than 500 characters.
2474
- # @!attribute [rw] page_size
2475
- # @return [Integer]
2476
- # The standard list page size.
2477
- # @!attribute [rw] page_token
2478
- # @return [String]
2479
- # The standard list page token.
2480
- # @!attribute [rw] type
2481
- # @return [Google::Privacy::Dlp::V2::DlpJobType]
2482
- # The type of job. Defaults to `DlpJobType.INSPECT`
2483
- # @!attribute [rw] order_by
2484
- # @return [String]
2485
- # Comma separated list of fields to order by,
2486
- # followed by `asc` or `desc` postfix. This list is case-insensitive,
2487
- # default sorting order is ascending, redundant space characters are
2488
- # insignificant.
2489
- #
2490
- # Example: `name asc, end_time asc, create_time desc`
2491
- #
2492
- # Supported fields are:
2493
- #
2494
- # * `create_time`: corresponds to time the job was created.
2495
- # * `end_time`: corresponds to time the job ended.
2496
- # * `name`: corresponds to job's name.
2497
- # * `state`: corresponds to `state`
2498
- # @!attribute [rw] location_id
2499
- # @return [String]
2500
- # The geographic location where jobs will be retrieved from.
2501
- # Use `-` for all locations. Reserved for future extensions.
2502
- class ListDlpJobsRequest; end
2503
-
2504
- # The response message for listing DLP jobs.
2505
- # @!attribute [rw] jobs
2506
- # @return [Array<Google::Privacy::Dlp::V2::DlpJob>]
2507
- # A list of DlpJobs that matches the specified filter in the request.
2508
- # @!attribute [rw] next_page_token
2509
- # @return [String]
2510
- # The standard List next-page token.
2511
- class ListDlpJobsResponse; end
2512
-
2513
- # The request message for canceling a DLP job.
2514
- # @!attribute [rw] name
2515
- # @return [String]
2516
- # Required. The name of the DlpJob resource to be cancelled.
2517
- class CancelDlpJobRequest; end
2518
-
2519
- # The request message for deleting a DLP job.
2520
- # @!attribute [rw] name
2521
- # @return [String]
2522
- # Required. The name of the DlpJob resource to be deleted.
2523
- class DeleteDlpJobRequest; end
2524
-
2525
- # Request message for CreateDeidentifyTemplate.
2526
- # @!attribute [rw] parent
2527
- # @return [String]
2528
- # Required. The parent resource name, for example projects/my-project-id or
2529
- # organizations/my-org-id.
2530
- # @!attribute [rw] deidentify_template
2531
- # @return [Google::Privacy::Dlp::V2::DeidentifyTemplate]
2532
- # Required. The DeidentifyTemplate to create.
2533
- # @!attribute [rw] template_id
2534
- # @return [String]
2535
- # The template id can contain uppercase and lowercase letters,
2536
- # numbers, and hyphens; that is, it must match the regular
2537
- # expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
2538
- # characters. Can be empty to allow the system to generate one.
2539
- # @!attribute [rw] location_id
2540
- # @return [String]
2541
- # The geographic location to store the deidentification template. Reserved
2542
- # for future extensions.
2543
- class CreateDeidentifyTemplateRequest; end
2544
-
2545
- # Request message for UpdateDeidentifyTemplate.
2546
- # @!attribute [rw] name
2547
- # @return [String]
2548
- # Required. Resource name of organization and deidentify template to be updated, for
2549
- # example `organizations/433245324/deidentifyTemplates/432452342` or
2550
- # projects/project-id/deidentifyTemplates/432452342.
2551
- # @!attribute [rw] deidentify_template
2552
- # @return [Google::Privacy::Dlp::V2::DeidentifyTemplate]
2553
- # New DeidentifyTemplate value.
2554
- # @!attribute [rw] update_mask
2555
- # @return [Google::Protobuf::FieldMask]
2556
- # Mask to control which fields get updated.
2557
- class UpdateDeidentifyTemplateRequest; end
2558
-
2559
- # Request message for GetDeidentifyTemplate.
2560
- # @!attribute [rw] name
2561
- # @return [String]
2562
- # Required. Resource name of the organization and deidentify template to be read, for
2563
- # example `organizations/433245324/deidentifyTemplates/432452342` or
2564
- # projects/project-id/deidentifyTemplates/432452342.
2565
- class GetDeidentifyTemplateRequest; end
2566
-
2567
- # Request message for ListDeidentifyTemplates.
2568
- # @!attribute [rw] parent
2569
- # @return [String]
2570
- # Required. The parent resource name, for example projects/my-project-id or
2571
- # organizations/my-org-id.
2572
- # @!attribute [rw] page_token
2573
- # @return [String]
2574
- # Page token to continue retrieval. Comes from previous call
2575
- # to `ListDeidentifyTemplates`.
2576
- # @!attribute [rw] page_size
2577
- # @return [Integer]
2578
- # Size of the page, can be limited by server. If zero server returns
2579
- # a page of max size 100.
2580
- # @!attribute [rw] order_by
2581
- # @return [String]
2582
- # Comma separated list of fields to order by,
2583
- # followed by `asc` or `desc` postfix. This list is case-insensitive,
2584
- # default sorting order is ascending, redundant space characters are
2585
- # insignificant.
2586
- #
2587
- # Example: `name asc,update_time, create_time desc`
2588
- #
2589
- # Supported fields are:
2590
- #
2591
- # * `create_time`: corresponds to time the template was created.
2592
- # * `update_time`: corresponds to time the template was last updated.
2593
- # * `name`: corresponds to template's name.
2594
- # * `display_name`: corresponds to template's display name.
2595
- # @!attribute [rw] location_id
2596
- # @return [String]
2597
- # The geographic location where deidentifications templates will be retrieved
2598
- # from. Use `-` for all locations. Reserved for future extensions.
2599
- class ListDeidentifyTemplatesRequest; end
2600
-
2601
- # Response message for ListDeidentifyTemplates.
2602
- # @!attribute [rw] deidentify_templates
2603
- # @return [Array<Google::Privacy::Dlp::V2::DeidentifyTemplate>]
2604
- # List of deidentify templates, up to page_size in
2605
- # ListDeidentifyTemplatesRequest.
2606
- # @!attribute [rw] next_page_token
2607
- # @return [String]
2608
- # If the next page is available then the next page token to be used
2609
- # in following ListDeidentifyTemplates request.
2610
- class ListDeidentifyTemplatesResponse; end
2611
-
2612
- # Request message for DeleteDeidentifyTemplate.
2613
- # @!attribute [rw] name
2614
- # @return [String]
2615
- # Required. Resource name of the organization and deidentify template to be deleted,
2616
- # for example `organizations/433245324/deidentifyTemplates/432452342` or
2617
- # projects/project-id/deidentifyTemplates/432452342.
2618
- class DeleteDeidentifyTemplateRequest; end
2619
-
2620
- # Configuration for a custom dictionary created from a data source of any size
2621
- # up to the maximum size defined in the
2622
- # [limits](https://cloud.google.com/dlp/limits) page. The artifacts of
2623
- # dictionary creation are stored in the specified Google Cloud Storage
2624
- # location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries
2625
- # that satisfy the size requirements.
2626
- # @!attribute [rw] output_path
2627
- # @return [Google::Privacy::Dlp::V2::CloudStoragePath]
2628
- # Location to store dictionary artifacts in Google Cloud Storage. These files
2629
- # will only be accessible by project owners and the DLP API. If any of these
2630
- # artifacts are modified, the dictionary is considered invalid and can no
2631
- # longer be used.
2632
- # @!attribute [rw] cloud_storage_file_set
2633
- # @return [Google::Privacy::Dlp::V2::CloudStorageFileSet]
2634
- # Set of files containing newline-delimited lists of dictionary phrases.
2635
- # @!attribute [rw] big_query_field
2636
- # @return [Google::Privacy::Dlp::V2::BigQueryField]
2637
- # Field in a BigQuery table where each cell represents a dictionary phrase.
2638
- class LargeCustomDictionaryConfig; end
2639
-
2640
- # Summary statistics of a custom dictionary.
2641
- # @!attribute [rw] approx_num_phrases
2642
- # @return [Integer]
2643
- # Approximate number of distinct phrases in the dictionary.
2644
- class LargeCustomDictionaryStats; end
2645
-
2646
- # Configuration for stored infoTypes. All fields and subfield are provided
2647
- # by the user. For more information, see
2648
- # https://cloud.google.com/dlp/docs/creating-custom-infotypes.
2649
- # @!attribute [rw] display_name
2650
- # @return [String]
2651
- # Display name of the StoredInfoType (max 256 characters).
2652
- # @!attribute [rw] description
2653
- # @return [String]
2654
- # Description of the StoredInfoType (max 256 characters).
2655
- # @!attribute [rw] large_custom_dictionary
2656
- # @return [Google::Privacy::Dlp::V2::LargeCustomDictionaryConfig]
2657
- # StoredInfoType where findings are defined by a dictionary of phrases.
2658
- class StoredInfoTypeConfig; end
2659
-
2660
- # Statistics for a StoredInfoType.
2661
- # @!attribute [rw] large_custom_dictionary
2662
- # @return [Google::Privacy::Dlp::V2::LargeCustomDictionaryStats]
2663
- # StoredInfoType where findings are defined by a dictionary of phrases.
2664
- class StoredInfoTypeStats; end
2665
-
2666
- # Version of a StoredInfoType, including the configuration used to build it,
2667
- # create timestamp, and current state.
2668
- # @!attribute [rw] config
2669
- # @return [Google::Privacy::Dlp::V2::StoredInfoTypeConfig]
2670
- # StoredInfoType configuration.
2671
- # @!attribute [rw] create_time
2672
- # @return [Google::Protobuf::Timestamp]
2673
- # Create timestamp of the version. Read-only, determined by the system
2674
- # when the version is created.
2675
- # @!attribute [rw] state
2676
- # @return [Google::Privacy::Dlp::V2::StoredInfoTypeState]
2677
- # Stored info type version state. Read-only, updated by the system
2678
- # during dictionary creation.
2679
- # @!attribute [rw] errors
2680
- # @return [Array<Google::Privacy::Dlp::V2::Error>]
2681
- # Errors that occurred when creating this storedInfoType version, or
2682
- # anomalies detected in the storedInfoType data that render it unusable. Only
2683
- # the five most recent errors will be displayed, with the most recent error
2684
- # appearing first.
2685
- #
2686
- # For example, some of the data for stored custom dictionaries is put in
2687
- # the user's Google Cloud Storage bucket, and if this data is modified or
2688
- # deleted by the user or another system, the dictionary becomes invalid.
2689
- #
2690
- # If any errors occur, fix the problem indicated by the error message and
2691
- # use the UpdateStoredInfoType API method to create another version of the
2692
- # storedInfoType to continue using it, reusing the same `config` if it was
2693
- # not the source of the error.
2694
- # @!attribute [rw] stats
2695
- # @return [Google::Privacy::Dlp::V2::StoredInfoTypeStats]
2696
- # Statistics about this storedInfoType version.
2697
- class StoredInfoTypeVersion; end
2698
-
2699
- # StoredInfoType resource message that contains information about the current
2700
- # version and any pending updates.
2701
- # @!attribute [rw] name
2702
- # @return [String]
2703
- # Resource name.
2704
- # @!attribute [rw] current_version
2705
- # @return [Google::Privacy::Dlp::V2::StoredInfoTypeVersion]
2706
- # Current version of the stored info type.
2707
- # @!attribute [rw] pending_versions
2708
- # @return [Array<Google::Privacy::Dlp::V2::StoredInfoTypeVersion>]
2709
- # Pending versions of the stored info type. Empty if no versions are
2710
- # pending.
2711
- class StoredInfoType; end
2712
-
2713
- # Request message for CreateStoredInfoType.
2714
- # @!attribute [rw] parent
2715
- # @return [String]
2716
- # Required. The parent resource name, for example projects/my-project-id or
2717
- # organizations/my-org-id.
2718
- # @!attribute [rw] config
2719
- # @return [Google::Privacy::Dlp::V2::StoredInfoTypeConfig]
2720
- # Required. Configuration of the storedInfoType to create.
2721
- # @!attribute [rw] stored_info_type_id
2722
- # @return [String]
2723
- # The storedInfoType ID can contain uppercase and lowercase letters,
2724
- # numbers, and hyphens; that is, it must match the regular
2725
- # expression: `[a-zA-Z\\d-_]+`. The maximum length is 100
2726
- # characters. Can be empty to allow the system to generate one.
2727
- # @!attribute [rw] location_id
2728
- # @return [String]
2729
- # The geographic location to store the stored infoType. Reserved for
2730
- # future extensions.
2731
- class CreateStoredInfoTypeRequest; end
2732
-
2733
- # Request message for UpdateStoredInfoType.
2734
- # @!attribute [rw] name
2735
- # @return [String]
2736
- # Required. Resource name of organization and storedInfoType to be updated, for
2737
- # example `organizations/433245324/storedInfoTypes/432452342` or
2738
- # projects/project-id/storedInfoTypes/432452342.
2739
- # @!attribute [rw] config
2740
- # @return [Google::Privacy::Dlp::V2::StoredInfoTypeConfig]
2741
- # Updated configuration for the storedInfoType. If not provided, a new
2742
- # version of the storedInfoType will be created with the existing
2743
- # configuration.
2744
- # @!attribute [rw] update_mask
2745
- # @return [Google::Protobuf::FieldMask]
2746
- # Mask to control which fields get updated.
2747
- class UpdateStoredInfoTypeRequest; end
2748
-
2749
- # Request message for GetStoredInfoType.
2750
- # @!attribute [rw] name
2751
- # @return [String]
2752
- # Required. Resource name of the organization and storedInfoType to be read, for
2753
- # example `organizations/433245324/storedInfoTypes/432452342` or
2754
- # projects/project-id/storedInfoTypes/432452342.
2755
- class GetStoredInfoTypeRequest; end
2756
-
2757
- # Request message for ListStoredInfoTypes.
2758
- # @!attribute [rw] parent
2759
- # @return [String]
2760
- # Required. The parent resource name, for example projects/my-project-id or
2761
- # organizations/my-org-id.
2762
- # @!attribute [rw] page_token
2763
- # @return [String]
2764
- # Page token to continue retrieval. Comes from previous call
2765
- # to `ListStoredInfoTypes`.
2766
- # @!attribute [rw] page_size
2767
- # @return [Integer]
2768
- # Size of the page, can be limited by server. If zero server returns
2769
- # a page of max size 100.
2770
- # @!attribute [rw] order_by
2771
- # @return [String]
2772
- # Comma separated list of fields to order by,
2773
- # followed by `asc` or `desc` postfix. This list is case-insensitive,
2774
- # default sorting order is ascending, redundant space characters are
2775
- # insignificant.
2776
- #
2777
- # Example: `name asc, display_name, create_time desc`
2778
- #
2779
- # Supported fields are:
2780
- #
2781
- # * `create_time`: corresponds to time the most recent version of the
2782
- # resource was created.
2783
- # * `state`: corresponds to the state of the resource.
2784
- # * `name`: corresponds to resource name.
2785
- # * `display_name`: corresponds to info type's display name.
2786
- # @!attribute [rw] location_id
2787
- # @return [String]
2788
- # The geographic location where stored infoTypes will be retrieved from.
2789
- # Use `-` for all locations. Reserved for future extensions.
2790
- class ListStoredInfoTypesRequest; end
2791
-
2792
- # Response message for ListStoredInfoTypes.
2793
- # @!attribute [rw] stored_info_types
2794
- # @return [Array<Google::Privacy::Dlp::V2::StoredInfoType>]
2795
- # List of storedInfoTypes, up to page_size in ListStoredInfoTypesRequest.
2796
- # @!attribute [rw] next_page_token
2797
- # @return [String]
2798
- # If the next page is available then the next page token to be used
2799
- # in following ListStoredInfoTypes request.
2800
- class ListStoredInfoTypesResponse; end
2801
-
2802
- # Request message for DeleteStoredInfoType.
2803
- # @!attribute [rw] name
2804
- # @return [String]
2805
- # Required. Resource name of the organization and storedInfoType to be deleted, for
2806
- # example `organizations/433245324/storedInfoTypes/432452342` or
2807
- # projects/project-id/storedInfoTypes/432452342.
2808
- class DeleteStoredInfoTypeRequest; end
2809
-
2810
- # Options describing which parts of the provided content should be scanned.
2811
- module ContentOption
2812
- # Includes entire content of a file or a data stream.
2813
- CONTENT_UNSPECIFIED = 0
2814
-
2815
- # Text content within the data, excluding any metadata.
2816
- CONTENT_TEXT = 1
2817
-
2818
- # Images found in the data.
2819
- CONTENT_IMAGE = 2
2820
- end
2821
-
2822
- # An enum to represent the various types of DLP jobs.
2823
- module DlpJobType
2824
- # Unused
2825
- DLP_JOB_TYPE_UNSPECIFIED = 0
2826
-
2827
- # The job inspected Google Cloud for sensitive data.
2828
- INSPECT_JOB = 1
2829
-
2830
- # The job executed a Risk Analysis computation.
2831
- RISK_ANALYSIS_JOB = 2
2832
- end
2833
-
2834
- # Parts of the APIs which use certain infoTypes.
2835
- module InfoTypeSupportedBy
2836
- # Unused.
2837
- ENUM_TYPE_UNSPECIFIED = 0
2838
-
2839
- # Supported by the inspect operations.
2840
- INSPECT = 1
2841
-
2842
- # Supported by the risk analysis operations.
2843
- RISK_ANALYSIS = 2
2844
- end
2845
-
2846
- # Type of the match which can be applied to different ways of matching, like
2847
- # Dictionary, regular expression and intersecting with findings of another
2848
- # info type.
2849
- module MatchingType
2850
- # Invalid.
2851
- MATCHING_TYPE_UNSPECIFIED = 0
2852
-
2853
- # Full match.
2854
- #
2855
- # * Dictionary: join of Dictionary results matched complete finding quote
2856
- # * Regex: all regex matches fill a finding quote start to end
2857
- # * Exclude info type: completely inside affecting info types findings
2858
- MATCHING_TYPE_FULL_MATCH = 1
2859
-
2860
- # Partial match.
2861
- #
2862
- # * Dictionary: at least one of the tokens in the finding matches
2863
- # * Regex: substring of the finding matches
2864
- # * Exclude info type: intersects with affecting info types findings
2865
- MATCHING_TYPE_PARTIAL_MATCH = 2
2866
-
2867
- # Inverse match.
2868
- #
2869
- # * Dictionary: no tokens in the finding match the dictionary
2870
- # * Regex: finding doesn't match the regex
2871
- # * Exclude info type: no intersection with affecting info types findings
2872
- MATCHING_TYPE_INVERSE_MATCH = 3
2873
- end
2874
-
2875
- # Operators available for comparing the value of fields.
2876
- module RelationalOperator
2877
- # Unused
2878
- RELATIONAL_OPERATOR_UNSPECIFIED = 0
2879
-
2880
- # Equal. Attempts to match even with incompatible types.
2881
- EQUAL_TO = 1
2882
-
2883
- # Not equal to. Attempts to match even with incompatible types.
2884
- NOT_EQUAL_TO = 2
2885
-
2886
- # Greater than.
2887
- GREATER_THAN = 3
2888
-
2889
- # Less than.
2890
- LESS_THAN = 4
2891
-
2892
- # Greater than or equals.
2893
- GREATER_THAN_OR_EQUALS = 5
2894
-
2895
- # Less than or equals.
2896
- LESS_THAN_OR_EQUALS = 6
2897
-
2898
- # Exists
2899
- EXISTS = 7
2900
- end
2901
-
2902
- # State of a StoredInfoType version.
2903
- module StoredInfoTypeState
2904
- # Unused
2905
- STORED_INFO_TYPE_STATE_UNSPECIFIED = 0
2906
-
2907
- # StoredInfoType version is being created.
2908
- PENDING = 1
2909
-
2910
- # StoredInfoType version is ready for use.
2911
- READY = 2
2912
-
2913
- # StoredInfoType creation failed. All relevant error messages are returned in
2914
- # the `StoredInfoTypeVersion` message.
2915
- FAILED = 3
2916
-
2917
- # StoredInfoType is no longer valid because artifacts stored in
2918
- # user-controlled storage were modified. To fix an invalid StoredInfoType,
2919
- # use the `UpdateStoredInfoType` method to create a new version.
2920
- INVALID = 4
2921
- end
2922
- end
2923
- end
2924
- end
2925
- end