google-cloud-dlp 0.3.0 → 0.4.0

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,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