google-cloud-dlp 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,66 +0,0 @@
1
- {
2
- "interfaces": {
3
- "google.privacy.dlp.v2beta1.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": 60000,
25
- "retry_codes_name": "non_idempotent",
26
- "retry_params_name": "default"
27
- },
28
- "RedactContent": {
29
- "timeout_millis": 60000,
30
- "retry_codes_name": "non_idempotent",
31
- "retry_params_name": "default"
32
- },
33
- "DeidentifyContent": {
34
- "timeout_millis": 60000,
35
- "retry_codes_name": "idempotent",
36
- "retry_params_name": "default"
37
- },
38
- "AnalyzeDataSourceRisk": {
39
- "timeout_millis": 60000,
40
- "retry_codes_name": "idempotent",
41
- "retry_params_name": "default"
42
- },
43
- "CreateInspectOperation": {
44
- "timeout_millis": 60000,
45
- "retry_codes_name": "non_idempotent",
46
- "retry_params_name": "default"
47
- },
48
- "ListInspectFindings": {
49
- "timeout_millis": 60000,
50
- "retry_codes_name": "idempotent",
51
- "retry_params_name": "default"
52
- },
53
- "ListInfoTypes": {
54
- "timeout_millis": 60000,
55
- "retry_codes_name": "idempotent",
56
- "retry_params_name": "default"
57
- },
58
- "ListRootCategories": {
59
- "timeout_millis": 60000,
60
- "retry_codes_name": "idempotent",
61
- "retry_params_name": "default"
62
- }
63
- }
64
- }
65
- }
66
- }
@@ -1,1241 +0,0 @@
1
- # Copyright 2017 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
- module Google
16
- module Privacy
17
- module Dlp
18
- ##
19
- # # DLP API Contents
20
- #
21
- # | Class | Description |
22
- # | ----- | ----------- |
23
- # | [DlpServiceClient][] | The Google Data Loss Prevention API provides methods for detection of privacy-sensitive fragments in text, images, and Google Cloud Platform storage repositories. |
24
- # | [Data Types][] | Data types for Google::Cloud::Dlp::V2beta1 |
25
- #
26
- # [DlpServiceClient]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-dlp/latest/google/privacy/dlp/v2beta1/dlpserviceclient
27
- # [Data Types]: https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-dlp/latest/google/privacy/dlp/v2beta1/datatypes
28
- #
29
- module V2beta1
30
- # Configuration description of the scanning process.
31
- # When used with redactContent only info_types and min_likelihood are currently
32
- # used.
33
- # @!attribute [rw] info_types
34
- # @return [Array<Google::Privacy::Dlp::V2beta1::InfoType>]
35
- # Restricts what info_types to look for. The values must correspond to
36
- # InfoType values returned by ListInfoTypes or found in documentation.
37
- # Empty info_types runs all enabled detectors.
38
- # @!attribute [rw] min_likelihood
39
- # @return [Google::Privacy::Dlp::V2beta1::Likelihood]
40
- # Only returns findings equal or above this threshold.
41
- # @!attribute [rw] max_findings
42
- # @return [Integer]
43
- # Limits the number of findings per content item or long running operation.
44
- # @!attribute [rw] include_quote
45
- # @return [true, false]
46
- # When true, a contextual quote from the data that triggered a finding is
47
- # included in the response; see Finding.quote.
48
- # @!attribute [rw] exclude_types
49
- # @return [true, false]
50
- # When true, excludes type information of the findings.
51
- # @!attribute [rw] info_type_limits
52
- # @return [Array<Google::Privacy::Dlp::V2beta1::InspectConfig::InfoTypeLimit>]
53
- # Configuration of findings limit given for specified info types.
54
- # @!attribute [rw] custom_info_types
55
- # @return [Array<Google::Privacy::Dlp::V2beta1::CustomInfoType>]
56
- # Custom info types provided by the user.
57
- class InspectConfig
58
- # Max findings configuration per info type, per content item or long running
59
- # operation.
60
- # @!attribute [rw] info_type
61
- # @return [Google::Privacy::Dlp::V2beta1::InfoType]
62
- # Type of information the findings limit applies to. Only one limit per
63
- # info_type should be provided. If InfoTypeLimit does not have an
64
- # info_type, the DLP API applies the limit against all info_types that are
65
- # found but not specified in another InfoTypeLimit.
66
- # @!attribute [rw] max_findings
67
- # @return [Integer]
68
- # Max findings limit for the given infoType.
69
- class InfoTypeLimit; end
70
- end
71
-
72
- # Additional configuration for inspect long running operations.
73
- # @!attribute [rw] max_item_findings
74
- # @return [Integer]
75
- # Max number of findings per file, Datastore entity, or database row.
76
- class OperationConfig; end
77
-
78
- # Container structure for the content to inspect.
79
- # @!attribute [rw] type
80
- # @return [String]
81
- # Type of the content, as defined in Content-Type HTTP header.
82
- # Supported types are: all "text" types, octet streams, PNG images,
83
- # JPEG images.
84
- # @!attribute [rw] data
85
- # @return [String]
86
- # Content data to inspect or redact.
87
- # @!attribute [rw] value
88
- # @return [String]
89
- # String data to inspect or redact.
90
- # @!attribute [rw] table
91
- # @return [Google::Privacy::Dlp::V2beta1::Table]
92
- # Structured content for inspection.
93
- class ContentItem; end
94
-
95
- # Structured content to inspect. Up to 50,000 +Value+s per request allowed.
96
- # @!attribute [rw] headers
97
- # @return [Array<Google::Privacy::Dlp::V2beta1::FieldId>]
98
- # @!attribute [rw] rows
99
- # @return [Array<Google::Privacy::Dlp::V2beta1::Table::Row>]
100
- class Table
101
- # @!attribute [rw] values
102
- # @return [Array<Google::Privacy::Dlp::V2beta1::Value>]
103
- class Row; end
104
- end
105
-
106
- # All the findings for a single scanned item.
107
- # @!attribute [rw] findings
108
- # @return [Array<Google::Privacy::Dlp::V2beta1::Finding>]
109
- # List of findings for an item.
110
- # @!attribute [rw] findings_truncated
111
- # @return [true, false]
112
- # If true, then this item might have more findings than were returned,
113
- # and the findings returned are an arbitrary subset of all findings.
114
- # The findings list might be truncated because the input items were too
115
- # large, or because the server reached the maximum amount of resources
116
- # allowed for a single API call. For best results, divide the input into
117
- # smaller batches.
118
- class InspectResult; end
119
-
120
- # Container structure describing a single finding within a string or image.
121
- # @!attribute [rw] quote
122
- # @return [String]
123
- # The specific string that may be potentially sensitive info.
124
- # @!attribute [rw] info_type
125
- # @return [Google::Privacy::Dlp::V2beta1::InfoType]
126
- # The specific type of info the string might be.
127
- # @!attribute [rw] likelihood
128
- # @return [Google::Privacy::Dlp::V2beta1::Likelihood]
129
- # Estimate of how likely it is that the info_type is correct.
130
- # @!attribute [rw] location
131
- # @return [Google::Privacy::Dlp::V2beta1::Location]
132
- # Location of the info found.
133
- # @!attribute [rw] create_time
134
- # @return [Google::Protobuf::Timestamp]
135
- # Timestamp when finding was detected.
136
- class Finding; end
137
-
138
- # Specifies the location of a finding within its source item.
139
- # @!attribute [rw] byte_range
140
- # @return [Google::Privacy::Dlp::V2beta1::Range]
141
- # Zero-based byte offsets within a content item.
142
- # @!attribute [rw] codepoint_range
143
- # @return [Google::Privacy::Dlp::V2beta1::Range]
144
- # Character offsets within a content item, included when content type
145
- # is a text. Default charset assumed to be UTF-8.
146
- # @!attribute [rw] image_boxes
147
- # @return [Array<Google::Privacy::Dlp::V2beta1::ImageLocation>]
148
- # Location within an image's pixels.
149
- # @!attribute [rw] record_key
150
- # @return [Google::Privacy::Dlp::V2beta1::RecordKey]
151
- # Key of the finding.
152
- # @!attribute [rw] field_id
153
- # @return [Google::Privacy::Dlp::V2beta1::FieldId]
154
- # Field id of the field containing the finding.
155
- # @!attribute [rw] table_location
156
- # @return [Google::Privacy::Dlp::V2beta1::TableLocation]
157
- # Location within a +ContentItem.Table+.
158
- class Location; end
159
-
160
- # Location of a finding within a +ContentItem.Table+.
161
- # @!attribute [rw] row_index
162
- # @return [Integer]
163
- # The zero-based index of the row where the finding is located.
164
- class TableLocation; end
165
-
166
- # Generic half-open interval [start, end)
167
- # @!attribute [rw] start
168
- # @return [Integer]
169
- # Index of the first character of the range (inclusive).
170
- # @!attribute [rw] end
171
- # @return [Integer]
172
- # Index of the last character of the range (exclusive).
173
- class Range; end
174
-
175
- # Bounding box encompassing detected text within an image.
176
- # @!attribute [rw] top
177
- # @return [Integer]
178
- # Top coordinate of the bounding box. (0,0) is upper left.
179
- # @!attribute [rw] left
180
- # @return [Integer]
181
- # Left coordinate of the bounding box. (0,0) is upper left.
182
- # @!attribute [rw] width
183
- # @return [Integer]
184
- # Width of the bounding box in pixels.
185
- # @!attribute [rw] height
186
- # @return [Integer]
187
- # Height of the bounding box in pixels.
188
- class ImageLocation; end
189
-
190
- # Request to search for potentially sensitive info in a list of items
191
- # and replace it with a default or provided content.
192
- # @!attribute [rw] inspect_config
193
- # @return [Google::Privacy::Dlp::V2beta1::InspectConfig]
194
- # Configuration for the inspector.
195
- # @!attribute [rw] items
196
- # @return [Array<Google::Privacy::Dlp::V2beta1::ContentItem>]
197
- # The list of items to inspect. Up to 100 are allowed per request.
198
- # @!attribute [rw] replace_configs
199
- # @return [Array<Google::Privacy::Dlp::V2beta1::RedactContentRequest::ReplaceConfig>]
200
- # The strings to replace findings text findings with. Must specify at least
201
- # one of these or one ImageRedactionConfig if redacting images.
202
- # @!attribute [rw] image_redaction_configs
203
- # @return [Array<Google::Privacy::Dlp::V2beta1::RedactContentRequest::ImageRedactionConfig>]
204
- # The configuration for specifying what content to redact from images.
205
- class RedactContentRequest
206
- # @!attribute [rw] info_type
207
- # @return [Google::Privacy::Dlp::V2beta1::InfoType]
208
- # Type of information to replace. Only one ReplaceConfig per info_type
209
- # should be provided. If ReplaceConfig does not have an info_type, the DLP
210
- # API matches it against all info_types that are found but not specified in
211
- # another ReplaceConfig.
212
- # @!attribute [rw] replace_with
213
- # @return [String]
214
- # Content replacing sensitive information of given type. Max 256 chars.
215
- class ReplaceConfig; end
216
-
217
- # Configuration for determining how redaction of images should occur.
218
- # @!attribute [rw] info_type
219
- # @return [Google::Privacy::Dlp::V2beta1::InfoType]
220
- # Only one per info_type should be provided per request. If not
221
- # specified, and redact_all_text is false, the DLP API will redact all
222
- # text that it matches against all info_types that are found, but not
223
- # specified in another ImageRedactionConfig.
224
- # @!attribute [rw] redact_all_text
225
- # @return [true, false]
226
- # If true, all text found in the image, regardless whether it matches an
227
- # info_type, is redacted.
228
- # @!attribute [rw] redaction_color
229
- # @return [Google::Privacy::Dlp::V2beta1::Color]
230
- # The color to use when redacting content from an image. If not specified,
231
- # the default is black.
232
- class ImageRedactionConfig; end
233
- end
234
-
235
- # Represents a color in the RGB color space.
236
- # @!attribute [rw] red
237
- # @return [Float]
238
- # The amount of red in the color as a value in the interval [0, 1].
239
- # @!attribute [rw] green
240
- # @return [Float]
241
- # The amount of green in the color as a value in the interval [0, 1].
242
- # @!attribute [rw] blue
243
- # @return [Float]
244
- # The amount of blue in the color as a value in the interval [0, 1].
245
- class Color; end
246
-
247
- # Results of redacting a list of items.
248
- # @!attribute [rw] items
249
- # @return [Array<Google::Privacy::Dlp::V2beta1::ContentItem>]
250
- # The redacted content.
251
- class RedactContentResponse; end
252
-
253
- # Request to de-identify a list of items.
254
- # @!attribute [rw] deidentify_config
255
- # @return [Google::Privacy::Dlp::V2beta1::DeidentifyConfig]
256
- # Configuration for the de-identification of the list of content items.
257
- # @!attribute [rw] inspect_config
258
- # @return [Google::Privacy::Dlp::V2beta1::InspectConfig]
259
- # Configuration for the inspector.
260
- # @!attribute [rw] items
261
- # @return [Array<Google::Privacy::Dlp::V2beta1::ContentItem>]
262
- # The list of items to inspect. Up to 100 are allowed per request.
263
- # All items will be treated as text/*.
264
- class DeidentifyContentRequest; end
265
-
266
- # Results of de-identifying a list of items.
267
- # @!attribute [rw] items
268
- # @return [Array<Google::Privacy::Dlp::V2beta1::ContentItem>]
269
- # @!attribute [rw] summaries
270
- # @return [Array<Google::Privacy::Dlp::V2beta1::DeidentificationSummary>]
271
- # A review of the transformations that took place for each item.
272
- class DeidentifyContentResponse; end
273
-
274
- # Request to search for potentially sensitive info in a list of items.
275
- # @!attribute [rw] inspect_config
276
- # @return [Google::Privacy::Dlp::V2beta1::InspectConfig]
277
- # Configuration for the inspector.
278
- # @!attribute [rw] items
279
- # @return [Array<Google::Privacy::Dlp::V2beta1::ContentItem>]
280
- # The list of items to inspect. Items in a single request are
281
- # considered "related" unless inspect_config.independent_inputs is true.
282
- # Up to 100 are allowed per request.
283
- class InspectContentRequest; end
284
-
285
- # Results of inspecting a list of items.
286
- # @!attribute [rw] results
287
- # @return [Array<Google::Privacy::Dlp::V2beta1::InspectResult>]
288
- # Each content_item from the request has a result in this list, in the
289
- # same order as the request.
290
- class InspectContentResponse; end
291
-
292
- # Request for scheduling a scan of a data subset from a Google Platform data
293
- # repository.
294
- # @!attribute [rw] inspect_config
295
- # @return [Google::Privacy::Dlp::V2beta1::InspectConfig]
296
- # Configuration for the inspector.
297
- # @!attribute [rw] storage_config
298
- # @return [Google::Privacy::Dlp::V2beta1::StorageConfig]
299
- # Specification of the data set to process.
300
- # @!attribute [rw] output_config
301
- # @return [Google::Privacy::Dlp::V2beta1::OutputStorageConfig]
302
- # Optional location to store findings.
303
- # @!attribute [rw] operation_config
304
- # @return [Google::Privacy::Dlp::V2beta1::OperationConfig]
305
- # Additional configuration settings for long running operations.
306
- class CreateInspectOperationRequest; end
307
-
308
- # Cloud repository for storing output.
309
- # @!attribute [rw] table
310
- # @return [Google::Privacy::Dlp::V2beta1::BigQueryTable]
311
- # Store findings in a new table in the dataset.
312
- # @!attribute [rw] storage_path
313
- # @return [Google::Privacy::Dlp::V2beta1::CloudStoragePath]
314
- # The path to a Google Cloud Storage location to store output.
315
- # The bucket must already exist and
316
- # the Google APIs service account for DLP must have write permission to
317
- # write to the given bucket.
318
- # Results are split over multiple csv files with each file name matching
319
- # the pattern "[operation_id]_[count].csv", for example
320
- # +3094877188788974909_1.csv+. The +operation_id+ matches the
321
- # identifier for the Operation, and the +count+ is a counter used for
322
- # tracking the number of files written.
323
- #
324
- # The CSV file(s) contain the following columns regardless of storage type
325
- # scanned:
326
- # * id
327
- # * info_type
328
- # * likelihood
329
- # * byte size of finding
330
- # * quote
331
- # * timestamp
332
- #
333
- # For Cloud Storage the next columns are:
334
- #
335
- # * file_path
336
- # * start_offset
337
- #
338
- # For Cloud Datastore the next columns are:
339
- #
340
- # * project_id
341
- # * namespace_id
342
- # * path
343
- # * column_name
344
- # * offset
345
- #
346
- # For BigQuery the next columns are:
347
- #
348
- # * row_number
349
- # * project_id
350
- # * dataset_id
351
- # * table_id
352
- class OutputStorageConfig; end
353
-
354
- # Statistics regarding a specific InfoType.
355
- # @!attribute [rw] info_type
356
- # @return [Google::Privacy::Dlp::V2beta1::InfoType]
357
- # The type of finding this stat is for.
358
- # @!attribute [rw] count
359
- # @return [Integer]
360
- # Number of findings for this info type.
361
- class InfoTypeStatistics; end
362
-
363
- # Metadata returned within GetOperation for an inspect request.
364
- # @!attribute [rw] processed_bytes
365
- # @return [Integer]
366
- # Total size in bytes that were processed.
367
- # @!attribute [rw] total_estimated_bytes
368
- # @return [Integer]
369
- # Estimate of the number of bytes to process.
370
- # @!attribute [rw] info_type_stats
371
- # @return [Array<Google::Privacy::Dlp::V2beta1::InfoTypeStatistics>]
372
- # @!attribute [rw] create_time
373
- # @return [Google::Protobuf::Timestamp]
374
- # The time which this request was started.
375
- # @!attribute [rw] request_inspect_config
376
- # @return [Google::Privacy::Dlp::V2beta1::InspectConfig]
377
- # The inspect config used to create the Operation.
378
- # @!attribute [rw] request_storage_config
379
- # @return [Google::Privacy::Dlp::V2beta1::StorageConfig]
380
- # The storage config used to create the Operation.
381
- # @!attribute [rw] request_output_config
382
- # @return [Google::Privacy::Dlp::V2beta1::OutputStorageConfig]
383
- # Optional location to store findings.
384
- class InspectOperationMetadata; end
385
-
386
- # The operational data.
387
- # @!attribute [rw] name
388
- # @return [String]
389
- # The server-assigned name, which is only unique within the same service that
390
- # originally returns it. If you use the default HTTP mapping, the
391
- # +name+ should have the format of +inspect/results/{id}+.
392
- class InspectOperationResult; end
393
-
394
- # Request for the list of results in a given inspect operation.
395
- # @!attribute [rw] name
396
- # @return [String]
397
- # Identifier of the results set returned as metadata of
398
- # the longrunning operation created by a call to InspectDataSource.
399
- # Should be in the format of +inspect/results/{id}+.
400
- # @!attribute [rw] page_size
401
- # @return [Integer]
402
- # Maximum number of results to return.
403
- # If 0, the implementation selects a reasonable value.
404
- # @!attribute [rw] page_token
405
- # @return [String]
406
- # The value returned by the last +ListInspectFindingsResponse+; indicates
407
- # that this is a continuation of a prior +ListInspectFindings+ call, and that
408
- # the system should return the next page of data.
409
- # @!attribute [rw] filter
410
- # @return [String]
411
- # Restricts findings to items that match. Supports info_type and likelihood.
412
- #
413
- # Examples:
414
- #
415
- # * info_type=EMAIL_ADDRESS
416
- # * info_type=PHONE_NUMBER,EMAIL_ADDRESS
417
- # * likelihood=VERY_LIKELY
418
- # * likelihood=VERY_LIKELY,LIKELY
419
- # * info_type=EMAIL_ADDRESS,likelihood=VERY_LIKELY,LIKELY
420
- class ListInspectFindingsRequest; end
421
-
422
- # Response to the ListInspectFindings request.
423
- # @!attribute [rw] result
424
- # @return [Google::Privacy::Dlp::V2beta1::InspectResult]
425
- # The results.
426
- # @!attribute [rw] next_page_token
427
- # @return [String]
428
- # If not empty, indicates that there may be more results that match the
429
- # request; this value should be passed in a new +ListInspectFindingsRequest+.
430
- class ListInspectFindingsResponse; end
431
-
432
- # Description of the information type (infoType).
433
- # @!attribute [rw] name
434
- # @return [String]
435
- # Internal name of the infoType.
436
- # @!attribute [rw] display_name
437
- # @return [String]
438
- # Human readable form of the infoType name.
439
- # @!attribute [rw] categories
440
- # @return [Array<Google::Privacy::Dlp::V2beta1::CategoryDescription>]
441
- # List of categories this infoType belongs to.
442
- class InfoTypeDescription; end
443
-
444
- # Request for the list of info types belonging to a given category,
445
- # or all supported info types if no category is specified.
446
- # @!attribute [rw] category
447
- # @return [String]
448
- # Category name as returned by ListRootCategories.
449
- # @!attribute [rw] language_code
450
- # @return [String]
451
- # Optional BCP-47 language code for localized info type friendly
452
- # names. If omitted, or if localized strings are not available,
453
- # en-US strings will be returned.
454
- class ListInfoTypesRequest; end
455
-
456
- # Response to the ListInfoTypes request.
457
- # @!attribute [rw] info_types
458
- # @return [Array<Google::Privacy::Dlp::V2beta1::InfoTypeDescription>]
459
- # Set of sensitive info types belonging to a category.
460
- class ListInfoTypesResponse; end
461
-
462
- # Info Type Category description.
463
- # @!attribute [rw] name
464
- # @return [String]
465
- # Internal name of the category.
466
- # @!attribute [rw] display_name
467
- # @return [String]
468
- # Human readable form of the category name.
469
- class CategoryDescription; end
470
-
471
- # Request for root categories of Info Types supported by the API.
472
- # Example values might include "FINANCE", "HEALTH", "FAST", "DEFAULT".
473
- # @!attribute [rw] language_code
474
- # @return [String]
475
- # Optional language code for localized friendly category names.
476
- # If omitted or if localized strings are not available,
477
- # en-US strings will be returned.
478
- class ListRootCategoriesRequest; end
479
-
480
- # Response for ListRootCategories request.
481
- # @!attribute [rw] categories
482
- # @return [Array<Google::Privacy::Dlp::V2beta1::CategoryDescription>]
483
- # List of all into type categories supported by the API.
484
- class ListRootCategoriesResponse; end
485
-
486
- # Request for creating a risk analysis operation.
487
- # @!attribute [rw] privacy_metric
488
- # @return [Google::Privacy::Dlp::V2beta1::PrivacyMetric]
489
- # Privacy metric to compute.
490
- # @!attribute [rw] source_table
491
- # @return [Google::Privacy::Dlp::V2beta1::BigQueryTable]
492
- # Input dataset to compute metrics over.
493
- class AnalyzeDataSourceRiskRequest; end
494
-
495
- # Privacy metric to compute for reidentification risk analysis.
496
- # @!attribute [rw] numerical_stats_config
497
- # @return [Google::Privacy::Dlp::V2beta1::PrivacyMetric::NumericalStatsConfig]
498
- # @!attribute [rw] categorical_stats_config
499
- # @return [Google::Privacy::Dlp::V2beta1::PrivacyMetric::CategoricalStatsConfig]
500
- # @!attribute [rw] k_anonymity_config
501
- # @return [Google::Privacy::Dlp::V2beta1::PrivacyMetric::KAnonymityConfig]
502
- # @!attribute [rw] l_diversity_config
503
- # @return [Google::Privacy::Dlp::V2beta1::PrivacyMetric::LDiversityConfig]
504
- class PrivacyMetric
505
- # Compute numerical stats over an individual column, including
506
- # min, max, and quantiles.
507
- # @!attribute [rw] field
508
- # @return [Google::Privacy::Dlp::V2beta1::FieldId]
509
- # Field to compute numerical stats on. Supported types are
510
- # integer, float, date, datetime, timestamp, time.
511
- class NumericalStatsConfig; end
512
-
513
- # Compute numerical stats over an individual column, including
514
- # number of distinct values and value count distribution.
515
- # @!attribute [rw] field
516
- # @return [Google::Privacy::Dlp::V2beta1::FieldId]
517
- # Field to compute categorical stats on. All column types are
518
- # supported except for arrays and structs. However, it may be more
519
- # informative to use NumericalStats when the field type is supported,
520
- # depending on the data.
521
- class CategoricalStatsConfig; end
522
-
523
- # k-anonymity metric, used for analysis of reidentification risk.
524
- # @!attribute [rw] quasi_ids
525
- # @return [Array<Google::Privacy::Dlp::V2beta1::FieldId>]
526
- # Set of fields to compute k-anonymity over. When multiple fields are
527
- # specified, they are considered a single composite key. Structs and
528
- # repeated data types are not supported; however, nested fields are
529
- # supported so long as they are not structs themselves or nested within
530
- # a repeated field.
531
- # @!attribute [rw] entity_id
532
- # @return [Google::Privacy::Dlp::V2beta1::EntityId]
533
- # Optional message indicating that each distinct +EntityId+ should not
534
- # contribute to the k-anonymity count more than once per equivalence class.
535
- class KAnonymityConfig; end
536
-
537
- # l-diversity metric, used for analysis of reidentification risk.
538
- # @!attribute [rw] quasi_ids
539
- # @return [Array<Google::Privacy::Dlp::V2beta1::FieldId>]
540
- # Set of quasi-identifiers indicating how equivalence classes are
541
- # defined for the l-diversity computation. When multiple fields are
542
- # specified, they are considered a single composite key.
543
- # @!attribute [rw] sensitive_attribute
544
- # @return [Google::Privacy::Dlp::V2beta1::FieldId]
545
- # Sensitive field for computing the l-value.
546
- class LDiversityConfig; end
547
- end
548
-
549
- # Metadata returned within the
550
- # [+riskAnalysis.operations.get+](https://cloud.google.com/dlp/docs/reference/rest/v2beta1/riskAnalysis.operations/get)
551
- # for risk analysis.
552
- # @!attribute [rw] create_time
553
- # @return [Google::Protobuf::Timestamp]
554
- # The time which this request was started.
555
- # @!attribute [rw] requested_privacy_metric
556
- # @return [Google::Privacy::Dlp::V2beta1::PrivacyMetric]
557
- # Privacy metric to compute.
558
- # @!attribute [rw] requested_source_table
559
- # @return [Google::Privacy::Dlp::V2beta1::BigQueryTable]
560
- # Input dataset to compute metrics over.
561
- class RiskAnalysisOperationMetadata; end
562
-
563
- # Result of a risk analysis
564
- # [+Operation+](https://cloud.google.com/dlp/docs/reference/rest/v2beta1/inspect.operations)
565
- # request.
566
- # @!attribute [rw] numerical_stats_result
567
- # @return [Google::Privacy::Dlp::V2beta1::RiskAnalysisOperationResult::NumericalStatsResult]
568
- # @!attribute [rw] categorical_stats_result
569
- # @return [Google::Privacy::Dlp::V2beta1::RiskAnalysisOperationResult::CategoricalStatsResult]
570
- # @!attribute [rw] k_anonymity_result
571
- # @return [Google::Privacy::Dlp::V2beta1::RiskAnalysisOperationResult::KAnonymityResult]
572
- # @!attribute [rw] l_diversity_result
573
- # @return [Google::Privacy::Dlp::V2beta1::RiskAnalysisOperationResult::LDiversityResult]
574
- class RiskAnalysisOperationResult
575
- # Result of the numerical stats computation.
576
- # @!attribute [rw] min_value
577
- # @return [Google::Privacy::Dlp::V2beta1::Value]
578
- # Minimum value appearing in the column.
579
- # @!attribute [rw] max_value
580
- # @return [Google::Privacy::Dlp::V2beta1::Value]
581
- # Maximum value appearing in the column.
582
- # @!attribute [rw] quantile_values
583
- # @return [Array<Google::Privacy::Dlp::V2beta1::Value>]
584
- # List of 99 values that partition the set of field values into 100 equal
585
- # sized buckets.
586
- class NumericalStatsResult; end
587
-
588
- # Result of the categorical stats computation.
589
- # @!attribute [rw] value_frequency_histogram_buckets
590
- # @return [Array<Google::Privacy::Dlp::V2beta1::RiskAnalysisOperationResult::CategoricalStatsResult::CategoricalStatsHistogramBucket>]
591
- # Histogram of value frequencies in the column.
592
- class CategoricalStatsResult
593
- # Histogram bucket of value frequencies in the column.
594
- # @!attribute [rw] value_frequency_lower_bound
595
- # @return [Integer]
596
- # Lower bound on the value frequency of the values in this bucket.
597
- # @!attribute [rw] value_frequency_upper_bound
598
- # @return [Integer]
599
- # Upper bound on the value frequency of the values in this bucket.
600
- # @!attribute [rw] bucket_size
601
- # @return [Integer]
602
- # Total number of records in this bucket.
603
- # @!attribute [rw] bucket_values
604
- # @return [Array<Google::Privacy::Dlp::V2beta1::ValueFrequency>]
605
- # Sample of value frequencies in this bucket. The total number of
606
- # values returned per bucket is capped at 20.
607
- class CategoricalStatsHistogramBucket; end
608
- end
609
-
610
- # Result of the k-anonymity computation.
611
- # @!attribute [rw] equivalence_class_histogram_buckets
612
- # @return [Array<Google::Privacy::Dlp::V2beta1::RiskAnalysisOperationResult::KAnonymityResult::KAnonymityHistogramBucket>]
613
- # Histogram of k-anonymity equivalence classes.
614
- class KAnonymityResult
615
- # The set of columns' values that share the same k-anonymity value.
616
- # @!attribute [rw] quasi_ids_values
617
- # @return [Array<Google::Privacy::Dlp::V2beta1::Value>]
618
- # Set of values defining the equivalence class. One value per
619
- # quasi-identifier column in the original KAnonymity metric message.
620
- # The order is always the same as the original request.
621
- # @!attribute [rw] equivalence_class_size
622
- # @return [Integer]
623
- # Size of the equivalence class, for example number of rows with the
624
- # above set of values.
625
- class KAnonymityEquivalenceClass; end
626
-
627
- # Histogram bucket of equivalence class sizes in the table.
628
- # @!attribute [rw] equivalence_class_size_lower_bound
629
- # @return [Integer]
630
- # Lower bound on the size of the equivalence classes in this bucket.
631
- # @!attribute [rw] equivalence_class_size_upper_bound
632
- # @return [Integer]
633
- # Upper bound on the size of the equivalence classes in this bucket.
634
- # @!attribute [rw] bucket_size
635
- # @return [Integer]
636
- # Total number of records in this bucket.
637
- # @!attribute [rw] bucket_values
638
- # @return [Array<Google::Privacy::Dlp::V2beta1::RiskAnalysisOperationResult::KAnonymityResult::KAnonymityEquivalenceClass>]
639
- # Sample of equivalence classes in this bucket. The total number of
640
- # classes returned per bucket is capped at 20.
641
- class KAnonymityHistogramBucket; end
642
- end
643
-
644
- # Result of the l-diversity computation.
645
- # @!attribute [rw] sensitive_value_frequency_histogram_buckets
646
- # @return [Array<Google::Privacy::Dlp::V2beta1::RiskAnalysisOperationResult::LDiversityResult::LDiversityHistogramBucket>]
647
- # Histogram of l-diversity equivalence class sensitive value frequencies.
648
- class LDiversityResult
649
- # The set of columns' values that share the same l-diversity value.
650
- # @!attribute [rw] quasi_ids_values
651
- # @return [Array<Google::Privacy::Dlp::V2beta1::Value>]
652
- # Quasi-identifier values defining the k-anonymity equivalence
653
- # class. The order is always the same as the original request.
654
- # @!attribute [rw] equivalence_class_size
655
- # @return [Integer]
656
- # Size of the k-anonymity equivalence class.
657
- # @!attribute [rw] num_distinct_sensitive_values
658
- # @return [Integer]
659
- # Number of distinct sensitive values in this equivalence class.
660
- # @!attribute [rw] top_sensitive_values
661
- # @return [Array<Google::Privacy::Dlp::V2beta1::ValueFrequency>]
662
- # Estimated frequencies of top sensitive values.
663
- class LDiversityEquivalenceClass; end
664
-
665
- # Histogram bucket of sensitive value frequencies in the table.
666
- # @!attribute [rw] sensitive_value_frequency_lower_bound
667
- # @return [Integer]
668
- # Lower bound on the sensitive value frequencies of the equivalence
669
- # classes in this bucket.
670
- # @!attribute [rw] sensitive_value_frequency_upper_bound
671
- # @return [Integer]
672
- # Upper bound on the sensitive value frequencies of the equivalence
673
- # classes in this bucket.
674
- # @!attribute [rw] bucket_size
675
- # @return [Integer]
676
- # Total number of records in this bucket.
677
- # @!attribute [rw] bucket_values
678
- # @return [Array<Google::Privacy::Dlp::V2beta1::RiskAnalysisOperationResult::LDiversityResult::LDiversityEquivalenceClass>]
679
- # Sample of equivalence classes in this bucket. The total number of
680
- # classes returned per bucket is capped at 20.
681
- class LDiversityHistogramBucket; end
682
- end
683
- end
684
-
685
- # A value of a field, including its frequency.
686
- # @!attribute [rw] value
687
- # @return [Google::Privacy::Dlp::V2beta1::Value]
688
- # A value contained in the field in question.
689
- # @!attribute [rw] count
690
- # @return [Integer]
691
- # How many times the value is contained in the field.
692
- class ValueFrequency; end
693
-
694
- # Set of primitive values supported by the system.
695
- # @!attribute [rw] integer_value
696
- # @return [Integer]
697
- # @!attribute [rw] float_value
698
- # @return [Float]
699
- # @!attribute [rw] string_value
700
- # @return [String]
701
- # @!attribute [rw] boolean_value
702
- # @return [true, false]
703
- # @!attribute [rw] timestamp_value
704
- # @return [Google::Protobuf::Timestamp]
705
- # @!attribute [rw] time_value
706
- # @return [Google::Type::TimeOfDay]
707
- # @!attribute [rw] date_value
708
- # @return [Google::Type::Date]
709
- class Value; end
710
-
711
- # The configuration that controls how the data will change.
712
- # @!attribute [rw] info_type_transformations
713
- # @return [Google::Privacy::Dlp::V2beta1::InfoTypeTransformations]
714
- # Treat the dataset as free-form text and apply the same free text
715
- # transformation everywhere.
716
- # @!attribute [rw] record_transformations
717
- # @return [Google::Privacy::Dlp::V2beta1::RecordTransformations]
718
- # Treat the dataset as structured. Transformations can be applied to
719
- # specific locations within structured datasets, such as transforming
720
- # a column within a table.
721
- class DeidentifyConfig; end
722
-
723
- # A rule for transforming a value.
724
- # @!attribute [rw] replace_config
725
- # @return [Google::Privacy::Dlp::V2beta1::ReplaceValueConfig]
726
- # @!attribute [rw] redact_config
727
- # @return [Google::Privacy::Dlp::V2beta1::RedactConfig]
728
- # @!attribute [rw] character_mask_config
729
- # @return [Google::Privacy::Dlp::V2beta1::CharacterMaskConfig]
730
- # @!attribute [rw] crypto_replace_ffx_fpe_config
731
- # @return [Google::Privacy::Dlp::V2beta1::CryptoReplaceFfxFpeConfig]
732
- # @!attribute [rw] fixed_size_bucketing_config
733
- # @return [Google::Privacy::Dlp::V2beta1::FixedSizeBucketingConfig]
734
- # @!attribute [rw] bucketing_config
735
- # @return [Google::Privacy::Dlp::V2beta1::BucketingConfig]
736
- # @!attribute [rw] replace_with_info_type_config
737
- # @return [Google::Privacy::Dlp::V2beta1::ReplaceWithInfoTypeConfig]
738
- # @!attribute [rw] time_part_config
739
- # @return [Google::Privacy::Dlp::V2beta1::TimePartConfig]
740
- # @!attribute [rw] crypto_hash_config
741
- # @return [Google::Privacy::Dlp::V2beta1::CryptoHashConfig]
742
- class PrimitiveTransformation; end
743
-
744
- # For use with +Date+, +Timestamp+, and +TimeOfDay+, extract or preserve a
745
- # portion of the value.
746
- # @!attribute [rw] part_to_extract
747
- # @return [Google::Privacy::Dlp::V2beta1::TimePartConfig::TimePart]
748
- class TimePartConfig
749
- module TimePart
750
- TIME_PART_UNSPECIFIED = 0
751
-
752
- # [000-9999]
753
- YEAR = 1
754
-
755
- # [1-12]
756
- MONTH = 2
757
-
758
- # [1-31]
759
- DAY_OF_MONTH = 3
760
-
761
- # [1-7]
762
- DAY_OF_WEEK = 4
763
-
764
- # [1-52]
765
- WEEK_OF_YEAR = 5
766
-
767
- # [0-24]
768
- HOUR_OF_DAY = 6
769
- end
770
- end
771
-
772
- # Pseudonymization method that generates surrogates via cryptographic hashing.
773
- # Uses SHA-256.
774
- # Outputs a 32 byte digest as an uppercase hex string
775
- # (for example, 41D1567F7F99F1DC2A5FAB886DEE5BEE).
776
- # Currently, only string and integer values can be hashed.
777
- # @!attribute [rw] crypto_key
778
- # @return [Google::Privacy::Dlp::V2beta1::CryptoKey]
779
- # The key used by the hash function.
780
- class CryptoHashConfig; end
781
-
782
- # Replace each input value with a given +Value+.
783
- # @!attribute [rw] new_value
784
- # @return [Google::Privacy::Dlp::V2beta1::Value]
785
- # Value to replace it with.
786
- class ReplaceValueConfig; end
787
-
788
- # Replace each matching finding with the name of the info_type.
789
- class ReplaceWithInfoTypeConfig; end
790
-
791
- # Redact a given value. For example, if used with an +InfoTypeTransformation+
792
- # transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the
793
- # output would be 'My phone number is '.
794
- class RedactConfig; end
795
-
796
- # Characters to skip when doing deidentification of a value. These will be left
797
- # alone and skipped.
798
- # @!attribute [rw] characters_to_skip
799
- # @return [String]
800
- # @!attribute [rw] common_characters_to_ignore
801
- # @return [Google::Privacy::Dlp::V2beta1::CharsToIgnore::CharacterGroup]
802
- class CharsToIgnore
803
- module CharacterGroup
804
- CHARACTER_GROUP_UNSPECIFIED = 0
805
-
806
- # 0-9
807
- NUMERIC = 1
808
-
809
- # A-Z
810
- ALPHA_UPPER_CASE = 2
811
-
812
- # a-z
813
- ALPHA_LOWER_CASE = 3
814
-
815
- # US Punctuation, one of !"#$%&'()*+,-./:;<=>?@[\]^_+{|}~
816
- PUNCTUATION = 4
817
-
818
- # Whitespace character, one of [ \t\n\x0B\f\r]
819
- WHITESPACE = 5
820
- end
821
- end
822
-
823
- # Partially mask a string by replacing a given number of characters with a
824
- # fixed character. Masking can start from the beginning or end of the string.
825
- # This can be used on data of any type (numbers, longs, and so on) and when
826
- # de-identifying structured data we'll attempt to preserve the original data's
827
- # type. (This allows you to take a long like 123 and modify it to a string like
828
- # **3.
829
- # @!attribute [rw] masking_character
830
- # @return [String]
831
- # Character to mask the sensitive values&mdash;for example, "*" for an
832
- # alphabetic string such as name, or "0" for a numeric string such as ZIP
833
- # code or credit card number. String must have length 1. If not supplied, we
834
- # will default to "*" for strings, 0 for digits.
835
- # @!attribute [rw] number_to_mask
836
- # @return [Integer]
837
- # Number of characters to mask. If not set, all matching chars will be
838
- # masked. Skipped characters do not count towards this tally.
839
- # @!attribute [rw] reverse_order
840
- # @return [true, false]
841
- # Mask characters in reverse order. For example, if +masking_character+ is
842
- # '0', number_to_mask is 14, and +reverse_order+ is false, then
843
- # 1234-5678-9012-3456 -> 00000000000000-3456
844
- # If +masking_character+ is '*', +number_to_mask+ is 3, and +reverse_order+
845
- # is true, then 12345 -> 12***
846
- # @!attribute [rw] characters_to_ignore
847
- # @return [Array<Google::Privacy::Dlp::V2beta1::CharsToIgnore>]
848
- # When masking a string, items in this list will be skipped when replacing.
849
- # For example, if your string is 555-555-5555 and you ask us to skip +-+ and
850
- # mask 5 chars with * we would produce ***-*55-5555.
851
- class CharacterMaskConfig; end
852
-
853
- # Buckets values based on fixed size ranges. The
854
- # Bucketing transformation can provide all of this functionality,
855
- # but requires more configuration. This message is provided as a convenience to
856
- # the user for simple bucketing strategies.
857
- # The resulting value will be a hyphenated string of
858
- # lower_bound-upper_bound.
859
- # This can be used on data of type: double, long.
860
- # If the bound Value type differs from the type of data
861
- # being transformed, we will first attempt converting the type of the data to
862
- # be transformed to match the type of the bound before comparing.
863
- # @!attribute [rw] lower_bound
864
- # @return [Google::Privacy::Dlp::V2beta1::Value]
865
- # Lower bound value of buckets. All values less than +lower_bound+ are
866
- # grouped together into a single bucket; for example if +lower_bound+ = 10,
867
- # then all values less than 10 are replaced with the value “-10”. [Required].
868
- # @!attribute [rw] upper_bound
869
- # @return [Google::Privacy::Dlp::V2beta1::Value]
870
- # Upper bound value of buckets. All values greater than upper_bound are
871
- # grouped together into a single bucket; for example if +upper_bound+ = 89,
872
- # then all values greater than 89 are replaced with the value “89+”.
873
- # [Required].
874
- # @!attribute [rw] bucket_size
875
- # @return [Float]
876
- # Size of each bucket (except for minimum and maximum buckets). So if
877
- # +lower_bound+ = 10, +upper_bound+ = 89, and +bucket_size+ = 10, then the
878
- # following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60,
879
- # 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works. [Required].
880
- class FixedSizeBucketingConfig; end
881
-
882
- # Generalization function that buckets values based on ranges. The ranges and
883
- # replacement values are dynamically provided by the user for custom behavior,
884
- # such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH
885
- # This can be used on
886
- # data of type: number, long, string, timestamp.
887
- # If the bound +Value+ type differs from the type of data being transformed, we
888
- # will first attempt converting the type of the data to be transformed to match
889
- # the type of the bound before comparing.
890
- # @!attribute [rw] buckets
891
- # @return [Array<Google::Privacy::Dlp::V2beta1::BucketingConfig::Bucket>]
892
- class BucketingConfig
893
- # Buckets represented as ranges, along with replacement values. Ranges must
894
- # be non-overlapping.
895
- # @!attribute [rw] min
896
- # @return [Google::Privacy::Dlp::V2beta1::Value]
897
- # Lower bound of the range, inclusive. Type should be the same as max if
898
- # used.
899
- # @!attribute [rw] max
900
- # @return [Google::Privacy::Dlp::V2beta1::Value]
901
- # Upper bound of the range, exclusive; type must match min.
902
- # @!attribute [rw] replacement_value
903
- # @return [Google::Privacy::Dlp::V2beta1::Value]
904
- # Replacement value for this bucket. If not provided
905
- # the default behavior will be to hyphenate the min-max range.
906
- class Bucket; end
907
- end
908
-
909
- # Replaces an identifier with a surrogate using FPE with the FFX
910
- # mode of operation.
911
- # The identifier must be representable by the US-ASCII character set.
912
- # For a given crypto key and context, the same identifier will be
913
- # replaced with the same surrogate.
914
- # Identifiers must be at least two characters long.
915
- # In the case that the identifier is the empty string, it will be skipped.
916
- # @!attribute [rw] crypto_key
917
- # @return [Google::Privacy::Dlp::V2beta1::CryptoKey]
918
- # The key used by the encryption algorithm. [required]
919
- # @!attribute [rw] context
920
- # @return [Google::Privacy::Dlp::V2beta1::FieldId]
921
- # A context may be used for higher security since the same
922
- # identifier in two different contexts likely will be given a distinct
923
- # surrogate. The principle is that the likeliness is inversely related
924
- # to the ratio of the number of distinct identifiers per context over the
925
- # number of possible surrogates: As long as this ratio is small, the
926
- # likehood is large.
927
- #
928
- # If the context is not set, a default tweak will be used.
929
- # If the context is set but:
930
- #
931
- # 1. there is no record present when transforming a given value or
932
- # 1. the field is not present when transforming a given value,
933
- #
934
- # a default tweak will be used.
935
- #
936
- # Note that case (1) is expected when an +InfoTypeTransformation+ is
937
- # applied to both structured and non-structured +ContentItem+s.
938
- # Currently, the referenced field may be of value type integer or string.
939
- #
940
- # The tweak is constructed as a sequence of bytes in big endian byte order
941
- # such that:
942
- #
943
- # * a 64 bit integer is encoded followed by a single byte of value 1
944
- # * a string is encoded in UTF-8 format followed by a single byte of value 2
945
- #
946
- # This is also known as the 'tweak', as in tweakable encryption.
947
- # @!attribute [rw] common_alphabet
948
- # @return [Google::Privacy::Dlp::V2beta1::CryptoReplaceFfxFpeConfig::FfxCommonNativeAlphabet]
949
- # @!attribute [rw] custom_alphabet
950
- # @return [String]
951
- # This is supported by mapping these to the alphanumeric characters
952
- # that the FFX mode natively supports. This happens before/after
953
- # encryption/decryption.
954
- # Each character listed must appear only once.
955
- # Number of characters must be in the range [2, 62].
956
- # This must be encoded as ASCII.
957
- # The order of characters does not matter.
958
- # @!attribute [rw] radix
959
- # @return [Integer]
960
- # The native way to select the alphabet. Must be in the range [2, 62].
961
- class CryptoReplaceFfxFpeConfig
962
- # These are commonly used subsets of the alphabet that the FFX mode
963
- # natively supports. In the algorithm, the alphabet is selected using
964
- # the "radix". Therefore each corresponds to particular radix.
965
- module FfxCommonNativeAlphabet
966
- FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED = 0
967
-
968
- # [0-9] (radix of 10)
969
- NUMERIC = 1
970
-
971
- # [0-9A-F] (radix of 16)
972
- HEXADECIMAL = 2
973
-
974
- # [0-9A-Z] (radix of 36)
975
- UPPER_CASE_ALPHA_NUMERIC = 3
976
-
977
- # [0-9A-Za-z] (radix of 62)
978
- ALPHA_NUMERIC = 4
979
- end
980
- end
981
-
982
- # This is a data encryption key (DEK) (as opposed to
983
- # a key encryption key (KEK) stored by KMS).
984
- # When using KMS to wrap/unwrap DEKs, be sure to set an appropriate
985
- # IAM policy on the KMS CryptoKey (KEK) to ensure an attacker cannot
986
- # unwrap the data crypto key.
987
- # @!attribute [rw] transient
988
- # @return [Google::Privacy::Dlp::V2beta1::TransientCryptoKey]
989
- # @!attribute [rw] unwrapped
990
- # @return [Google::Privacy::Dlp::V2beta1::UnwrappedCryptoKey]
991
- # @!attribute [rw] kms_wrapped
992
- # @return [Google::Privacy::Dlp::V2beta1::KmsWrappedCryptoKey]
993
- class CryptoKey; end
994
-
995
- # Use this to have a random data crypto key generated.
996
- # It will be discarded after the operation/request finishes.
997
- # @!attribute [rw] name
998
- # @return [String]
999
- # Name of the key. [required]
1000
- # This is an arbitrary string used to differentiate different keys.
1001
- # A unique key is generated per name: two separate +TransientCryptoKey+
1002
- # protos share the same generated key if their names are the same.
1003
- # When the data crypto key is generated, this name is not used in any way
1004
- # (repeating the api call will result in a different key being generated).
1005
- class TransientCryptoKey; end
1006
-
1007
- # Using raw keys is prone to security risks due to accidentally
1008
- # leaking the key. Choose another type of key if possible.
1009
- # @!attribute [rw] key
1010
- # @return [String]
1011
- # The AES 128/192/256 bit key. [required]
1012
- class UnwrappedCryptoKey; end
1013
-
1014
- # Include to use an existing data crypto key wrapped by KMS.
1015
- # Authorization requires the following IAM permissions when sending a request
1016
- # to perform a crypto transformation using a kms-wrapped crypto key:
1017
- # dlp.kms.encrypt
1018
- # @!attribute [rw] wrapped_key
1019
- # @return [String]
1020
- # The wrapped data crypto key. [required]
1021
- # @!attribute [rw] crypto_key_name
1022
- # @return [String]
1023
- # The resource name of the KMS CryptoKey to use for unwrapping. [required]
1024
- class KmsWrappedCryptoKey; end
1025
-
1026
- # A type of transformation that will scan unstructured text and
1027
- # apply various +PrimitiveTransformation+s to each finding, where the
1028
- # transformation is applied to only values that were identified as a specific
1029
- # info_type.
1030
- # @!attribute [rw] transformations
1031
- # @return [Array<Google::Privacy::Dlp::V2beta1::InfoTypeTransformations::InfoTypeTransformation>]
1032
- # Transformation for each info type. Cannot specify more than one
1033
- # for a given info type. [required]
1034
- class InfoTypeTransformations
1035
- # A transformation to apply to text that is identified as a specific
1036
- # info_type.
1037
- # @!attribute [rw] info_types
1038
- # @return [Array<Google::Privacy::Dlp::V2beta1::InfoType>]
1039
- # Info types to apply the transformation to. Empty list will match all
1040
- # available info types for this transformation.
1041
- # @!attribute [rw] primitive_transformation
1042
- # @return [Google::Privacy::Dlp::V2beta1::PrimitiveTransformation]
1043
- # Primitive transformation to apply to the info type. [required]
1044
- class InfoTypeTransformation; end
1045
- end
1046
-
1047
- # The transformation to apply to the field.
1048
- # @!attribute [rw] fields
1049
- # @return [Array<Google::Privacy::Dlp::V2beta1::FieldId>]
1050
- # Input field(s) to apply the transformation to. [required]
1051
- # @!attribute [rw] condition
1052
- # @return [Google::Privacy::Dlp::V2beta1::RecordCondition]
1053
- # Only apply the transformation if the condition evaluates to true for the
1054
- # given +RecordCondition+. The conditions are allowed to reference fields
1055
- # that are not used in the actual transformation. [optional]
1056
- #
1057
- # Example Use Cases:
1058
- #
1059
- # * Apply a different bucket transformation to an age column if the zip code
1060
- # column for the same record is within a specific range.
1061
- # * Redact a field if the date of birth field is greater than 85.
1062
- # @!attribute [rw] primitive_transformation
1063
- # @return [Google::Privacy::Dlp::V2beta1::PrimitiveTransformation]
1064
- # Apply the transformation to the entire field.
1065
- # @!attribute [rw] info_type_transformations
1066
- # @return [Google::Privacy::Dlp::V2beta1::InfoTypeTransformations]
1067
- # Treat the contents of the field as free text, and selectively
1068
- # transform content that matches an +InfoType+.
1069
- class FieldTransformation; end
1070
-
1071
- # A type of transformation that is applied over structured data such as a
1072
- # table.
1073
- # @!attribute [rw] field_transformations
1074
- # @return [Array<Google::Privacy::Dlp::V2beta1::FieldTransformation>]
1075
- # Transform the record by applying various field transformations.
1076
- # @!attribute [rw] record_suppressions
1077
- # @return [Array<Google::Privacy::Dlp::V2beta1::RecordSuppression>]
1078
- # Configuration defining which records get suppressed entirely. Records that
1079
- # match any suppression rule are omitted from the output [optional].
1080
- class RecordTransformations; end
1081
-
1082
- # Configuration to suppress records whose suppression conditions evaluate to
1083
- # true.
1084
- # @!attribute [rw] condition
1085
- # @return [Google::Privacy::Dlp::V2beta1::RecordCondition]
1086
- class RecordSuppression; end
1087
-
1088
- # A condition for determining whether a transformation should be applied to
1089
- # a field.
1090
- # @!attribute [rw] expressions
1091
- # @return [Google::Privacy::Dlp::V2beta1::RecordCondition::Expressions]
1092
- class RecordCondition
1093
- # The field type of +value+ and +field+ do not need to match to be
1094
- # considered equal, but not all comparisons are possible.
1095
- #
1096
- # A +value+ of type:
1097
- #
1098
- # * +string+ can be compared against all other types
1099
- # * +boolean+ can only be compared against other booleans
1100
- # * +integer+ can be compared against doubles or a string if the string value
1101
- # can be parsed as an integer.
1102
- # * +double+ can be compared against integers or a string if the string can
1103
- # be parsed as a double.
1104
- # * +Timestamp+ can be compared against strings in RFC 3339 date string
1105
- # format.
1106
- # * +TimeOfDay+ can be compared against timestamps and strings in the format
1107
- # of 'HH:mm:ss'.
1108
- #
1109
- # If we fail to compare do to type mismatch, a warning will be given and
1110
- # the condition will evaluate to false.
1111
- # @!attribute [rw] field
1112
- # @return [Google::Privacy::Dlp::V2beta1::FieldId]
1113
- # Field within the record this condition is evaluated against. [required]
1114
- # @!attribute [rw] operator
1115
- # @return [Google::Privacy::Dlp::V2beta1::RelationalOperator]
1116
- # Operator used to compare the field or info type to the value. [required]
1117
- # @!attribute [rw] value
1118
- # @return [Google::Privacy::Dlp::V2beta1::Value]
1119
- # Value to compare against. [Required, except for +EXISTS+ tests.]
1120
- class Condition; end
1121
-
1122
- # @!attribute [rw] conditions
1123
- # @return [Array<Google::Privacy::Dlp::V2beta1::RecordCondition::Condition>]
1124
- class Conditions; end
1125
-
1126
- # A collection of expressions
1127
- # @!attribute [rw] logical_operator
1128
- # @return [Google::Privacy::Dlp::V2beta1::RecordCondition::Expressions::LogicalOperator]
1129
- # The operator to apply to the result of conditions. Default and currently
1130
- # only supported value is +AND+.
1131
- # @!attribute [rw] conditions
1132
- # @return [Google::Privacy::Dlp::V2beta1::RecordCondition::Conditions]
1133
- class Expressions
1134
- module LogicalOperator
1135
- LOGICAL_OPERATOR_UNSPECIFIED = 0
1136
-
1137
- AND = 1
1138
- end
1139
- end
1140
- end
1141
-
1142
- # High level summary of deidentification.
1143
- # @!attribute [rw] transformed_bytes
1144
- # @return [Integer]
1145
- # Total size in bytes that were transformed in some way.
1146
- # @!attribute [rw] transformation_summaries
1147
- # @return [Array<Google::Privacy::Dlp::V2beta1::TransformationSummary>]
1148
- # Transformations applied to the dataset.
1149
- class DeidentificationSummary; end
1150
-
1151
- # Summary of a single tranformation.
1152
- # @!attribute [rw] info_type
1153
- # @return [Google::Privacy::Dlp::V2beta1::InfoType]
1154
- # Set if the transformation was limited to a specific info_type.
1155
- # @!attribute [rw] field
1156
- # @return [Google::Privacy::Dlp::V2beta1::FieldId]
1157
- # Set if the transformation was limited to a specific FieldId.
1158
- # @!attribute [rw] transformation
1159
- # @return [Google::Privacy::Dlp::V2beta1::PrimitiveTransformation]
1160
- # The specific transformation these stats apply to.
1161
- # @!attribute [rw] field_transformations
1162
- # @return [Array<Google::Privacy::Dlp::V2beta1::FieldTransformation>]
1163
- # The field transformation that was applied. This list will contain
1164
- # multiple only in the case of errors.
1165
- # @!attribute [rw] record_suppress
1166
- # @return [Google::Privacy::Dlp::V2beta1::RecordSuppression]
1167
- # The specific suppression option these stats apply to.
1168
- # @!attribute [rw] results
1169
- # @return [Array<Google::Privacy::Dlp::V2beta1::TransformationSummary::SummaryResult>]
1170
- class TransformationSummary
1171
- # A collection that informs the user the number of times a particular
1172
- # +TransformationResultCode+ and error details occurred.
1173
- # @!attribute [rw] count
1174
- # @return [Integer]
1175
- # @!attribute [rw] code
1176
- # @return [Google::Privacy::Dlp::V2beta1::TransformationSummary::TransformationResultCode]
1177
- # @!attribute [rw] details
1178
- # @return [String]
1179
- # A place for warnings or errors to show up if a transformation didn't
1180
- # work as expected.
1181
- class SummaryResult; end
1182
-
1183
- # Possible outcomes of transformations.
1184
- module TransformationResultCode
1185
- TRANSFORMATION_RESULT_CODE_UNSPECIFIED = 0
1186
-
1187
- SUCCESS = 1
1188
-
1189
- ERROR = 2
1190
- end
1191
- end
1192
-
1193
- # Categorization of results based on how likely they are to represent a match,
1194
- # based on the number of elements they contain which imply a match.
1195
- module Likelihood
1196
- # Default value; information with all likelihoods is included.
1197
- LIKELIHOOD_UNSPECIFIED = 0
1198
-
1199
- # Few matching elements.
1200
- VERY_UNLIKELY = 1
1201
-
1202
- UNLIKELY = 2
1203
-
1204
- # Some matching elements.
1205
- POSSIBLE = 3
1206
-
1207
- LIKELY = 4
1208
-
1209
- # Many matching elements.
1210
- VERY_LIKELY = 5
1211
- end
1212
-
1213
- # Operators available for comparing the value of fields.
1214
- module RelationalOperator
1215
- RELATIONAL_OPERATOR_UNSPECIFIED = 0
1216
-
1217
- # Equal.
1218
- EQUAL_TO = 1
1219
-
1220
- # Not equal to.
1221
- NOT_EQUAL_TO = 2
1222
-
1223
- # Greater than.
1224
- GREATER_THAN = 3
1225
-
1226
- # Less than.
1227
- LESS_THAN = 4
1228
-
1229
- # Greater than or equals.
1230
- GREATER_THAN_OR_EQUALS = 5
1231
-
1232
- # Less than or equals.
1233
- LESS_THAN_OR_EQUALS = 6
1234
-
1235
- # Exists
1236
- EXISTS = 7
1237
- end
1238
- end
1239
- end
1240
- end
1241
- end