google-api-client 0.13.6 → 0.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +56 -0
  3. data/generated/google/apis/adsense_v1_4.rb +1 -1
  4. data/generated/google/apis/adsensehost_v4_1.rb +1 -1
  5. data/generated/google/apis/androiddeviceprovisioning_v1.rb +3 -3
  6. data/generated/google/apis/androiddeviceprovisioning_v1/service.rb +3 -3
  7. data/generated/google/apis/androidenterprise_v1.rb +1 -1
  8. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  9. data/generated/google/apis/androidmanagement_v1/classes.rb +8 -0
  10. data/generated/google/apis/androidmanagement_v1/representations.rb +1 -0
  11. data/generated/google/apis/androidpublisher_v1.rb +1 -1
  12. data/generated/google/apis/androidpublisher_v1_1.rb +1 -1
  13. data/generated/google/apis/androidpublisher_v2.rb +1 -1
  14. data/generated/google/apis/androidpublisher_v2/classes.rb +1 -0
  15. data/generated/google/apis/androidpublisher_v2/service.rb +1 -1
  16. data/generated/google/apis/appstate_v1.rb +1 -1
  17. data/generated/google/apis/bigquery_v2.rb +1 -1
  18. data/generated/google/apis/bigquery_v2/classes.rb +6 -0
  19. data/generated/google/apis/bigquery_v2/representations.rb +1 -0
  20. data/generated/google/apis/bigquerydatatransfer_v1.rb +2 -2
  21. data/generated/google/apis/bigquerydatatransfer_v1/classes.rb +19 -69
  22. data/generated/google/apis/bigquerydatatransfer_v1/representations.rb +3 -41
  23. data/generated/google/apis/bigquerydatatransfer_v1/service.rb +17 -149
  24. data/generated/google/apis/calendar_v3.rb +1 -1
  25. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  26. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  27. data/generated/google/apis/cloudfunctions_v1/classes.rb +7 -0
  28. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -0
  29. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  30. data/generated/google/apis/cloudfunctions_v1beta2/classes.rb +30 -0
  31. data/generated/google/apis/cloudfunctions_v1beta2/representations.rb +4 -0
  32. data/generated/google/apis/{toolresults_v1beta3firstparty.rb → cloudtasks_v2beta2.rb} +13 -9
  33. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +1709 -0
  34. data/generated/google/apis/cloudtasks_v2beta2/representations.rb +585 -0
  35. data/generated/google/apis/cloudtasks_v2beta2/service.rb +1016 -0
  36. data/generated/google/apis/cloudtrace_v2.rb +1 -4
  37. data/generated/google/apis/cloudtrace_v2/classes.rb +0 -78
  38. data/generated/google/apis/cloudtrace_v2/representations.rb +0 -43
  39. data/generated/google/apis/cloudtrace_v2/service.rb +0 -101
  40. data/generated/google/apis/compute_alpha.rb +1 -1
  41. data/generated/google/apis/compute_alpha/classes.rb +833 -120
  42. data/generated/google/apis/compute_alpha/representations.rb +263 -26
  43. data/generated/google/apis/compute_alpha/service.rb +795 -107
  44. data/generated/google/apis/compute_beta.rb +1 -1
  45. data/generated/google/apis/compute_beta/classes.rb +5329 -524
  46. data/generated/google/apis/compute_beta/representations.rb +2241 -36
  47. data/generated/google/apis/compute_beta/service.rb +5 -5
  48. data/generated/google/apis/compute_v1.rb +1 -1
  49. data/generated/google/apis/compute_v1/classes.rb +4 -5
  50. data/generated/google/apis/container_v1.rb +1 -1
  51. data/generated/google/apis/container_v1/classes.rb +12 -0
  52. data/generated/google/apis/container_v1/representations.rb +1 -0
  53. data/generated/google/apis/container_v1beta1.rb +1 -1
  54. data/generated/google/apis/container_v1beta1/classes.rb +54 -0
  55. data/generated/google/apis/container_v1beta1/representations.rb +18 -0
  56. data/generated/google/apis/content_v2.rb +1 -1
  57. data/generated/google/apis/content_v2sandbox.rb +1 -1
  58. data/generated/google/apis/dataflow_v1b3.rb +1 -1
  59. data/generated/google/apis/dataflow_v1b3/classes.rb +6 -39
  60. data/generated/google/apis/dataflow_v1b3/representations.rb +1 -16
  61. data/generated/google/apis/deploymentmanager_alpha.rb +1 -1
  62. data/generated/google/apis/deploymentmanager_alpha/classes.rb +71 -3
  63. data/generated/google/apis/deploymentmanager_alpha/representations.rb +32 -0
  64. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  65. data/generated/google/apis/deploymentmanager_v2/service.rb +1 -1
  66. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  67. data/generated/google/apis/deploymentmanager_v2beta/classes.rb +39 -3
  68. data/generated/google/apis/deploymentmanager_v2beta/representations.rb +16 -0
  69. data/generated/google/apis/dlp_v2beta1.rb +1 -1
  70. data/generated/google/apis/dlp_v2beta1/classes.rb +1605 -49
  71. data/generated/google/apis/dlp_v2beta1/representations.rb +832 -30
  72. data/generated/google/apis/dlp_v2beta1/service.rb +62 -0
  73. data/generated/google/apis/doubleclicksearch_v2.rb +1 -1
  74. data/generated/google/apis/games_configuration_v1configuration.rb +1 -1
  75. data/generated/google/apis/games_management_v1management.rb +1 -1
  76. data/generated/google/apis/games_v1.rb +1 -1
  77. data/generated/google/apis/gmail_v1.rb +1 -1
  78. data/generated/google/apis/gmail_v1/classes.rb +0 -36
  79. data/generated/google/apis/gmail_v1/representations.rb +0 -16
  80. data/generated/google/apis/language_v1.rb +1 -1
  81. data/generated/google/apis/language_v1/classes.rb +74 -0
  82. data/generated/google/apis/language_v1/representations.rb +35 -0
  83. data/generated/google/apis/language_v1/service.rb +31 -0
  84. data/generated/google/apis/language_v1beta1.rb +1 -1
  85. data/generated/google/apis/language_v1beta2.rb +1 -1
  86. data/generated/google/apis/ml_v1.rb +1 -1
  87. data/generated/google/apis/ml_v1/classes.rb +3 -0
  88. data/generated/google/apis/people_v1.rb +1 -1
  89. data/generated/google/apis/people_v1/classes.rb +8 -0
  90. data/generated/google/apis/people_v1/representations.rb +1 -0
  91. data/generated/google/apis/plus_domains_v1/service.rb +1 -1
  92. data/generated/google/apis/plus_v1/service.rb +1 -1
  93. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  94. data/generated/google/apis/servicecontrol_v1/classes.rb +35 -6
  95. data/generated/google/apis/servicecontrol_v1/representations.rb +16 -1
  96. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  97. data/generated/google/apis/servicemanagement_v1/classes.rb +1 -1
  98. data/generated/google/apis/serviceuser_v1.rb +1 -1
  99. data/generated/google/apis/serviceuser_v1/classes.rb +1 -1
  100. data/generated/google/apis/sourcerepo_v1.rb +4 -1
  101. data/generated/google/apis/sourcerepo_v1/classes.rb +45 -204
  102. data/generated/google/apis/sourcerepo_v1/representations.rb +10 -90
  103. data/generated/google/apis/storage_v1beta1.rb +1 -1
  104. data/generated/google/apis/storage_v1beta1/service.rb +1 -1
  105. data/generated/google/apis/storage_v1beta2.rb +1 -1
  106. data/generated/google/apis/storage_v1beta2/service.rb +1 -1
  107. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  108. data/generated/google/apis/streetviewpublish_v1/classes.rb +5 -3
  109. data/generated/google/apis/streetviewpublish_v1/service.rb +6 -4
  110. data/generated/google/apis/toolresults_v1beta3.rb +1 -1
  111. data/generated/google/apis/youtube_analytics_v1.rb +1 -1
  112. data/generated/google/apis/youtube_analytics_v1beta1.rb +1 -1
  113. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  114. data/generated/google/apis/youtube_v3.rb +1 -1
  115. data/generated/google/apis/youtube_v3/classes.rb +22 -85
  116. data/generated/google/apis/youtube_v3/representations.rb +3 -46
  117. data/generated/google/apis/youtube_v3/service.rb +11 -1
  118. data/lib/google/apis/version.rb +1 -1
  119. metadata +6 -6
  120. data/generated/google/apis/toolresults_v1beta3firstparty/classes.rb +0 -2630
  121. data/generated/google/apis/toolresults_v1beta3firstparty/representations.rb +0 -886
  122. data/generated/google/apis/toolresults_v1beta3firstparty/service.rb +0 -1336
@@ -112,6 +112,12 @@ module Google
112
112
  include Google::Apis::Core::JsonObjectSupport
113
113
  end
114
114
 
115
+ class DeploymentOutputsEntry
116
+ class Representation < Google::Apis::Core::JsonRepresentation; end
117
+
118
+ include Google::Apis::Core::JsonObjectSupport
119
+ end
120
+
115
121
  class DeploymentUpdate
116
122
  class Representation < Google::Apis::Core::JsonRepresentation; end
117
123
 
@@ -310,6 +316,12 @@ module Google
310
316
  include Google::Apis::Core::JsonObjectSupport
311
317
  end
312
318
 
319
+ class ServiceAccount
320
+ class Representation < Google::Apis::Core::JsonRepresentation; end
321
+
322
+ include Google::Apis::Core::JsonObjectSupport
323
+ end
324
+
313
325
  class TargetConfiguration
314
326
  class Representation < Google::Apis::Core::JsonRepresentation; end
315
327
 
@@ -518,6 +530,9 @@ module Google
518
530
  class Representation < Google::Apis::Core::JsonRepresentation
519
531
  property :basic_auth, as: 'basicAuth', class: Google::Apis::DeploymentmanagerAlpha::BasicAuth, decorator: Google::Apis::DeploymentmanagerAlpha::BasicAuth::Representation
520
532
 
533
+ property :service_account, as: 'serviceAccount', class: Google::Apis::DeploymentmanagerAlpha::ServiceAccount, decorator: Google::Apis::DeploymentmanagerAlpha::ServiceAccount::Representation
534
+
535
+ property :use_project_default, as: 'useProjectDefault'
521
536
  end
522
537
  end
523
538
 
@@ -534,6 +549,8 @@ module Google
534
549
  property :name, as: 'name'
535
550
  property :operation, as: 'operation', class: Google::Apis::DeploymentmanagerAlpha::Operation, decorator: Google::Apis::DeploymentmanagerAlpha::Operation::Representation
536
551
 
552
+ collection :outputs, as: 'outputs', class: Google::Apis::DeploymentmanagerAlpha::DeploymentOutputsEntry, decorator: Google::Apis::DeploymentmanagerAlpha::DeploymentOutputsEntry::Representation
553
+
537
554
  property :self_link, as: 'selfLink'
538
555
  property :target, as: 'target', class: Google::Apis::DeploymentmanagerAlpha::TargetConfiguration, decorator: Google::Apis::DeploymentmanagerAlpha::TargetConfiguration::Representation
539
556
 
@@ -550,6 +567,14 @@ module Google
550
567
  end
551
568
  end
552
569
 
570
+ class DeploymentOutputsEntry
571
+ # @private
572
+ class Representation < Google::Apis::Core::JsonRepresentation
573
+ property :key, as: 'key'
574
+ property :value, as: 'value'
575
+ end
576
+ end
577
+
553
578
  class DeploymentUpdate
554
579
  # @private
555
580
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -903,6 +928,13 @@ module Google
903
928
  end
904
929
  end
905
930
 
931
+ class ServiceAccount
932
+ # @private
933
+ class Representation < Google::Apis::Core::JsonRepresentation
934
+ property :email, as: 'email'
935
+ end
936
+ end
937
+
906
938
  class TargetConfiguration
907
939
  # @private
908
940
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/deployment-manager/
26
26
  module DeploymentmanagerV2
27
27
  VERSION = 'V2'
28
- REVISION = '20170810'
28
+ REVISION = '20170907'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -50,7 +50,7 @@ module Google
50
50
 
51
51
  def initialize
52
52
  super('https://www.googleapis.com/', 'deploymentmanager/v2/projects/')
53
- @batch_path = 'batch/deploymentmanager/v2'
53
+ @batch_path = 'batch'
54
54
  end
55
55
 
56
56
  # Cancels and removes the preview currently associated with the deployment.
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/deployment-manager/
27
27
  module DeploymentmanagerV2beta
28
28
  VERSION = 'V2beta'
29
- REVISION = '20170810'
29
+ REVISION = '20170907'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -129,7 +129,8 @@ module Google
129
129
  # @return [Array<Google::Apis::DeploymentmanagerV2beta::CollectionOverride>]
130
130
  attr_accessor :collection_overrides
131
131
 
132
- # Credential used by ConfigurableResourceTypes.
132
+ # The credential used by Deployment Manager and TypeProvider. Only one of the
133
+ # options is permitted.
133
134
  # Corresponds to the JSON property `credential`
134
135
  # @return [Google::Apis::DeploymentmanagerV2beta::Credential]
135
136
  attr_accessor :credential
@@ -448,7 +449,8 @@ module Google
448
449
  end
449
450
  end
450
451
 
451
- # Credential used by ConfigurableResourceTypes.
452
+ # The credential used by Deployment Manager and TypeProvider. Only one of the
453
+ # options is permitted.
452
454
  class Credential
453
455
  include Google::Apis::Core::Hashable
454
456
 
@@ -457,6 +459,17 @@ module Google
457
459
  # @return [Google::Apis::DeploymentmanagerV2beta::BasicAuth]
458
460
  attr_accessor :basic_auth
459
461
 
462
+ # Service Account used as a credential.
463
+ # Corresponds to the JSON property `serviceAccount`
464
+ # @return [Google::Apis::DeploymentmanagerV2beta::ServiceAccount]
465
+ attr_accessor :service_account
466
+
467
+ # Specify to use the project default credential, only supported by Deployment.
468
+ # Corresponds to the JSON property `useProjectDefault`
469
+ # @return [Boolean]
470
+ attr_accessor :use_project_default
471
+ alias_method :use_project_default?, :use_project_default
472
+
460
473
  def initialize(**args)
461
474
  update!(**args)
462
475
  end
@@ -464,6 +477,8 @@ module Google
464
477
  # Update properties of this object
465
478
  def update!(**args)
466
479
  @basic_auth = args[:basic_auth] if args.key?(:basic_auth)
480
+ @service_account = args[:service_account] if args.key?(:service_account)
481
+ @use_project_default = args[:use_project_default] if args.key?(:use_project_default)
467
482
  end
468
483
  end
469
484
 
@@ -1930,6 +1945,26 @@ module Google
1930
1945
  end
1931
1946
  end
1932
1947
 
1948
+ # Service Account used as a credential.
1949
+ class ServiceAccount
1950
+ include Google::Apis::Core::Hashable
1951
+
1952
+ # The IAM service account email address like test@myproject.iam.gserviceaccount.
1953
+ # com
1954
+ # Corresponds to the JSON property `email`
1955
+ # @return [String]
1956
+ attr_accessor :email
1957
+
1958
+ def initialize(**args)
1959
+ update!(**args)
1960
+ end
1961
+
1962
+ # Update properties of this object
1963
+ def update!(**args)
1964
+ @email = args[:email] if args.key?(:email)
1965
+ end
1966
+ end
1967
+
1933
1968
  #
1934
1969
  class TargetConfiguration
1935
1970
  include Google::Apis::Core::Hashable
@@ -2219,7 +2254,8 @@ module Google
2219
2254
  # @return [Array<Google::Apis::DeploymentmanagerV2beta::CollectionOverride>]
2220
2255
  attr_accessor :collection_overrides
2221
2256
 
2222
- # Credential used by ConfigurableResourceTypes.
2257
+ # The credential used by Deployment Manager and TypeProvider. Only one of the
2258
+ # options is permitted.
2223
2259
  # Corresponds to the JSON property `credential`
2224
2260
  # @return [Google::Apis::DeploymentmanagerV2beta::Credential]
2225
2261
  attr_accessor :credential
@@ -310,6 +310,12 @@ module Google
310
310
  include Google::Apis::Core::JsonObjectSupport
311
311
  end
312
312
 
313
+ class ServiceAccount
314
+ class Representation < Google::Apis::Core::JsonRepresentation; end
315
+
316
+ include Google::Apis::Core::JsonObjectSupport
317
+ end
318
+
313
319
  class TargetConfiguration
314
320
  class Representation < Google::Apis::Core::JsonRepresentation; end
315
321
 
@@ -518,6 +524,9 @@ module Google
518
524
  class Representation < Google::Apis::Core::JsonRepresentation
519
525
  property :basic_auth, as: 'basicAuth', class: Google::Apis::DeploymentmanagerV2beta::BasicAuth, decorator: Google::Apis::DeploymentmanagerV2beta::BasicAuth::Representation
520
526
 
527
+ property :service_account, as: 'serviceAccount', class: Google::Apis::DeploymentmanagerV2beta::ServiceAccount, decorator: Google::Apis::DeploymentmanagerV2beta::ServiceAccount::Representation
528
+
529
+ property :use_project_default, as: 'useProjectDefault'
521
530
  end
522
531
  end
523
532
 
@@ -903,6 +912,13 @@ module Google
903
912
  end
904
913
  end
905
914
 
915
+ class ServiceAccount
916
+ # @private
917
+ class Representation < Google::Apis::Core::JsonRepresentation
918
+ property :email, as: 'email'
919
+ end
920
+ end
921
+
906
922
  class TargetConfiguration
907
923
  # @private
908
924
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://cloud.google.com/dlp/docs/
28
28
  module DlpV2beta1
29
29
  VERSION = 'V2beta1'
30
- REVISION = '20170830'
30
+ REVISION = '20170913'
31
31
 
32
32
  # View and manage your data across Google Cloud Platform services
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -147,6 +147,35 @@ module Google
147
147
  end
148
148
  end
149
149
 
150
+ # Request for creating a risk analysis operation.
151
+ class GooglePrivacyDlpV2beta1AnalyzeDataSourceRiskRequest
152
+ include Google::Apis::Core::Hashable
153
+
154
+ # Privacy metric to compute for reidentification risk analysis.
155
+ # Corresponds to the JSON property `privacyMetric`
156
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1PrivacyMetric]
157
+ attr_accessor :privacy_metric
158
+
159
+ # Message defining the location of a BigQuery table. A table is uniquely
160
+ # identified by its project_id, dataset_id, and table_name. Within a query
161
+ # a table is often referenced with a string in the format of:
162
+ # `<project_id>:<dataset_id>.<table_id>` or
163
+ # `<project_id>.<dataset_id>.<table_id>`.
164
+ # Corresponds to the JSON property `sourceTable`
165
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1BigQueryTable]
166
+ attr_accessor :source_table
167
+
168
+ def initialize(**args)
169
+ update!(**args)
170
+ end
171
+
172
+ # Update properties of this object
173
+ def update!(**args)
174
+ @privacy_metric = args[:privacy_metric] if args.key?(:privacy_metric)
175
+ @source_table = args[:source_table] if args.key?(:source_table)
176
+ end
177
+ end
178
+
150
179
  # Options defining BigQuery table and row identifiers.
151
180
  class GooglePrivacyDlpV2beta1BigQueryOptions
152
181
  include Google::Apis::Core::Hashable
@@ -213,6 +242,141 @@ module Google
213
242
  end
214
243
  end
215
244
 
245
+ # Buckets represented as ranges, along with replacement values. Ranges must
246
+ # be non-overlapping.
247
+ class GooglePrivacyDlpV2beta1Bucket
248
+ include Google::Apis::Core::Hashable
249
+
250
+ # Set of primitive values supported by the system.
251
+ # Corresponds to the JSON property `max`
252
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Value]
253
+ attr_accessor :max
254
+
255
+ # Set of primitive values supported by the system.
256
+ # Corresponds to the JSON property `min`
257
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Value]
258
+ attr_accessor :min
259
+
260
+ # Set of primitive values supported by the system.
261
+ # Corresponds to the JSON property `replacementValue`
262
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Value]
263
+ attr_accessor :replacement_value
264
+
265
+ def initialize(**args)
266
+ update!(**args)
267
+ end
268
+
269
+ # Update properties of this object
270
+ def update!(**args)
271
+ @max = args[:max] if args.key?(:max)
272
+ @min = args[:min] if args.key?(:min)
273
+ @replacement_value = args[:replacement_value] if args.key?(:replacement_value)
274
+ end
275
+ end
276
+
277
+ # Generalization function that buckets values based on ranges. The ranges and
278
+ # replacement values are dynamically provided by the user for custom behavior,
279
+ # such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH
280
+ # This can be used on
281
+ # data of type: number, long, string, timestamp.
282
+ # If the bound `Value` type differs from the type of data being transformed, we
283
+ # will first attempt converting the type of the data to be transformed to match
284
+ # the type of the bound before comparing.
285
+ class GooglePrivacyDlpV2beta1BucketingConfig
286
+ include Google::Apis::Core::Hashable
287
+
288
+ #
289
+ # Corresponds to the JSON property `buckets`
290
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Bucket>]
291
+ attr_accessor :buckets
292
+
293
+ def initialize(**args)
294
+ update!(**args)
295
+ end
296
+
297
+ # Update properties of this object
298
+ def update!(**args)
299
+ @buckets = args[:buckets] if args.key?(:buckets)
300
+ end
301
+ end
302
+
303
+ # Compute numerical stats over an individual column, including
304
+ # number of distinct values and value count distribution.
305
+ class GooglePrivacyDlpV2beta1CategoricalStatsConfig
306
+ include Google::Apis::Core::Hashable
307
+
308
+ # General identifier of a data field in a storage service.
309
+ # Corresponds to the JSON property `field`
310
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1FieldId]
311
+ attr_accessor :field
312
+
313
+ def initialize(**args)
314
+ update!(**args)
315
+ end
316
+
317
+ # Update properties of this object
318
+ def update!(**args)
319
+ @field = args[:field] if args.key?(:field)
320
+ end
321
+ end
322
+
323
+ #
324
+ class GooglePrivacyDlpV2beta1CategoricalStatsHistogramBucket
325
+ include Google::Apis::Core::Hashable
326
+
327
+ # Total number of records in this bucket.
328
+ # Corresponds to the JSON property `bucketSize`
329
+ # @return [Fixnum]
330
+ attr_accessor :bucket_size
331
+
332
+ # Sample of value frequencies in this bucket. The total number of
333
+ # values returned per bucket is capped at 20.
334
+ # Corresponds to the JSON property `bucketValues`
335
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1ValueFrequency>]
336
+ attr_accessor :bucket_values
337
+
338
+ # Lower bound on the value frequency of the values in this bucket.
339
+ # Corresponds to the JSON property `valueFrequencyLowerBound`
340
+ # @return [Fixnum]
341
+ attr_accessor :value_frequency_lower_bound
342
+
343
+ # Upper bound on the value frequency of the values in this bucket.
344
+ # Corresponds to the JSON property `valueFrequencyUpperBound`
345
+ # @return [Fixnum]
346
+ attr_accessor :value_frequency_upper_bound
347
+
348
+ def initialize(**args)
349
+ update!(**args)
350
+ end
351
+
352
+ # Update properties of this object
353
+ def update!(**args)
354
+ @bucket_size = args[:bucket_size] if args.key?(:bucket_size)
355
+ @bucket_values = args[:bucket_values] if args.key?(:bucket_values)
356
+ @value_frequency_lower_bound = args[:value_frequency_lower_bound] if args.key?(:value_frequency_lower_bound)
357
+ @value_frequency_upper_bound = args[:value_frequency_upper_bound] if args.key?(:value_frequency_upper_bound)
358
+ end
359
+ end
360
+
361
+ # Result of the categorical stats computation.
362
+ class GooglePrivacyDlpV2beta1CategoricalStatsResult
363
+ include Google::Apis::Core::Hashable
364
+
365
+ # Histogram of value frequencies in the column.
366
+ # Corresponds to the JSON property `valueFrequencyHistogramBuckets`
367
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1CategoricalStatsHistogramBucket>]
368
+ attr_accessor :value_frequency_histogram_buckets
369
+
370
+ def initialize(**args)
371
+ update!(**args)
372
+ end
373
+
374
+ # Update properties of this object
375
+ def update!(**args)
376
+ @value_frequency_histogram_buckets = args[:value_frequency_histogram_buckets] if args.key?(:value_frequency_histogram_buckets)
377
+ end
378
+ end
379
+
216
380
  # Info Type Category description.
217
381
  class GooglePrivacyDlpV2beta1CategoryDescription
218
382
  include Google::Apis::Core::Hashable
@@ -238,6 +402,85 @@ module Google
238
402
  end
239
403
  end
240
404
 
405
+ # Partially mask a string by replacing a given number of characters with a
406
+ # fixed character. Masking can start from the beginning or end of the string.
407
+ # This can be used on data of any type (numbers, longs, and so on) and when
408
+ # de-identifying structured data we'll attempt to preserve the original data's
409
+ # type. (This allows you to take a long like 123 and modify it to a string like
410
+ # **3.
411
+ class GooglePrivacyDlpV2beta1CharacterMaskConfig
412
+ include Google::Apis::Core::Hashable
413
+
414
+ # When masking a string, items in this list will be skipped when replacing.
415
+ # For example, if your string is 555-555-5555 and you ask us to skip `-` and
416
+ # mask 5 chars with * we would produce ***-*55-5555.
417
+ # Corresponds to the JSON property `charactersToIgnore`
418
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1CharsToIgnore>]
419
+ attr_accessor :characters_to_ignore
420
+
421
+ # Character to mask the sensitive values&mdash;for example, "*" for an
422
+ # alphabetic string such as name, or "0" for a numeric string such as ZIP
423
+ # code or credit card number. String must have length 1. If not supplied, we
424
+ # will default to "*" for strings, 0 for digits.
425
+ # Corresponds to the JSON property `maskingCharacter`
426
+ # @return [String]
427
+ attr_accessor :masking_character
428
+
429
+ # Number of characters to mask. If not set, all matching chars will be
430
+ # masked. Skipped characters do not count towards this tally.
431
+ # Corresponds to the JSON property `numberToMask`
432
+ # @return [Fixnum]
433
+ attr_accessor :number_to_mask
434
+
435
+ # Mask characters in reverse order. For example, if `masking_character` is
436
+ # '0', number_to_mask is 14, and `reverse_order` is false, then
437
+ # 1234-5678-9012-3456 -> 00000000000000-3456
438
+ # If `masking_character` is '*', `number_to_mask` is 3, and `reverse_order`
439
+ # is true, then 12345 -> 12***
440
+ # Corresponds to the JSON property `reverseOrder`
441
+ # @return [Boolean]
442
+ attr_accessor :reverse_order
443
+ alias_method :reverse_order?, :reverse_order
444
+
445
+ def initialize(**args)
446
+ update!(**args)
447
+ end
448
+
449
+ # Update properties of this object
450
+ def update!(**args)
451
+ @characters_to_ignore = args[:characters_to_ignore] if args.key?(:characters_to_ignore)
452
+ @masking_character = args[:masking_character] if args.key?(:masking_character)
453
+ @number_to_mask = args[:number_to_mask] if args.key?(:number_to_mask)
454
+ @reverse_order = args[:reverse_order] if args.key?(:reverse_order)
455
+ end
456
+ end
457
+
458
+ # Characters to skip when doing deidentification of a value. These will be left
459
+ # alone and skipped.
460
+ class GooglePrivacyDlpV2beta1CharsToIgnore
461
+ include Google::Apis::Core::Hashable
462
+
463
+ #
464
+ # Corresponds to the JSON property `charactersToSkip`
465
+ # @return [String]
466
+ attr_accessor :characters_to_skip
467
+
468
+ #
469
+ # Corresponds to the JSON property `commonCharactersToIgnore`
470
+ # @return [String]
471
+ attr_accessor :common_characters_to_ignore
472
+
473
+ def initialize(**args)
474
+ update!(**args)
475
+ end
476
+
477
+ # Update properties of this object
478
+ def update!(**args)
479
+ @characters_to_skip = args[:characters_to_skip] if args.key?(:characters_to_skip)
480
+ @common_characters_to_ignore = args[:common_characters_to_ignore] if args.key?(:common_characters_to_ignore)
481
+ end
482
+ end
483
+
241
484
  # Record key for a finding in a Cloud Storage file.
242
485
  class GooglePrivacyDlpV2beta1CloudStorageKey
243
486
  include Google::Apis::Core::Hashable
@@ -333,6 +576,70 @@ module Google
333
576
  end
334
577
  end
335
578
 
579
+ # The field type of `value` and `field` do not need to match to be
580
+ # considered equal, but not all comparisons are possible.
581
+ # A `value` of type:
582
+ # - `string` can be compared against all other types
583
+ # - `boolean` can only be compared against other booleans
584
+ # - `integer` can be compared against doubles or a string if the string value
585
+ # can be parsed as an integer.
586
+ # - `double` can be compared against integers or a string if the string can
587
+ # be parsed as a double.
588
+ # - `Timestamp` can be compared against strings in RFC 3339 date string
589
+ # format.
590
+ # - `TimeOfDay` can be compared against timestamps and strings in the format
591
+ # of 'HH:mm:ss'.
592
+ # If we fail to compare do to type mismatch, a warning will be given and
593
+ # the condition will evaluate to false.
594
+ class GooglePrivacyDlpV2beta1Condition
595
+ include Google::Apis::Core::Hashable
596
+
597
+ # General identifier of a data field in a storage service.
598
+ # Corresponds to the JSON property `field`
599
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1FieldId]
600
+ attr_accessor :field
601
+
602
+ # Operator used to compare the field or info type to the value. [required]
603
+ # Corresponds to the JSON property `operator`
604
+ # @return [String]
605
+ attr_accessor :operator
606
+
607
+ # Set of primitive values supported by the system.
608
+ # Corresponds to the JSON property `value`
609
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Value]
610
+ attr_accessor :value
611
+
612
+ def initialize(**args)
613
+ update!(**args)
614
+ end
615
+
616
+ # Update properties of this object
617
+ def update!(**args)
618
+ @field = args[:field] if args.key?(:field)
619
+ @operator = args[:operator] if args.key?(:operator)
620
+ @value = args[:value] if args.key?(:value)
621
+ end
622
+ end
623
+
624
+ #
625
+ class GooglePrivacyDlpV2beta1Conditions
626
+ include Google::Apis::Core::Hashable
627
+
628
+ #
629
+ # Corresponds to the JSON property `conditions`
630
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Condition>]
631
+ attr_accessor :conditions
632
+
633
+ def initialize(**args)
634
+ update!(**args)
635
+ end
636
+
637
+ # Update properties of this object
638
+ def update!(**args)
639
+ @conditions = args[:conditions] if args.key?(:conditions)
640
+ end
641
+ end
642
+
336
643
  # Container structure for the content to inspect.
337
644
  class GooglePrivacyDlpV2beta1ContentItem
338
645
  include Google::Apis::Core::Hashable
@@ -413,6 +720,133 @@ module Google
413
720
  end
414
721
  end
415
722
 
723
+ # Pseudonymization method that generates surrogates via cryptographic hashing.
724
+ # Uses SHA-256.
725
+ # The key size must be either 32 or 64 bytes.
726
+ # Outputs a 32 byte digest as an uppercase hex string
727
+ # (for example, 41D1567F7F99F1DC2A5FAB886DEE5BEE).
728
+ # Currently, only string and integer values can be hashed.
729
+ class GooglePrivacyDlpV2beta1CryptoHashConfig
730
+ include Google::Apis::Core::Hashable
731
+
732
+ # This is a data encryption key (DEK) (as opposed to
733
+ # a key encryption key (KEK) stored by KMS).
734
+ # When using KMS to wrap/unwrap DEKs, be sure to set an appropriate
735
+ # IAM policy on the KMS CryptoKey (KEK) to ensure an attacker cannot
736
+ # unwrap the data crypto key.
737
+ # Corresponds to the JSON property `cryptoKey`
738
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1CryptoKey]
739
+ attr_accessor :crypto_key
740
+
741
+ def initialize(**args)
742
+ update!(**args)
743
+ end
744
+
745
+ # Update properties of this object
746
+ def update!(**args)
747
+ @crypto_key = args[:crypto_key] if args.key?(:crypto_key)
748
+ end
749
+ end
750
+
751
+ # This is a data encryption key (DEK) (as opposed to
752
+ # a key encryption key (KEK) stored by KMS).
753
+ # When using KMS to wrap/unwrap DEKs, be sure to set an appropriate
754
+ # IAM policy on the KMS CryptoKey (KEK) to ensure an attacker cannot
755
+ # unwrap the data crypto key.
756
+ class GooglePrivacyDlpV2beta1CryptoKey
757
+ include Google::Apis::Core::Hashable
758
+
759
+ # Include to use an existing data crypto key wrapped by KMS.
760
+ # Authorization requires the following IAM permissions when sending a request
761
+ # to perform a crypto transformation using a kms-wrapped crypto key:
762
+ # dlp.kms.encrypt
763
+ # Corresponds to the JSON property `kmsWrapped`
764
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1KmsWrappedCryptoKey]
765
+ attr_accessor :kms_wrapped
766
+
767
+ # Use this to have a random data crypto key generated.
768
+ # It will be discarded after the operation/request finishes.
769
+ # Corresponds to the JSON property `transient`
770
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1TransientCryptoKey]
771
+ attr_accessor :transient
772
+
773
+ # Using raw keys is prone to security risks due to accidentally
774
+ # leaking the key. Choose another type of key if possible.
775
+ # Corresponds to the JSON property `unwrapped`
776
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1UnwrappedCryptoKey]
777
+ attr_accessor :unwrapped
778
+
779
+ def initialize(**args)
780
+ update!(**args)
781
+ end
782
+
783
+ # Update properties of this object
784
+ def update!(**args)
785
+ @kms_wrapped = args[:kms_wrapped] if args.key?(:kms_wrapped)
786
+ @transient = args[:transient] if args.key?(:transient)
787
+ @unwrapped = args[:unwrapped] if args.key?(:unwrapped)
788
+ end
789
+ end
790
+
791
+ # Replaces an identifier with an surrogate using FPE with the FFX
792
+ # mode of operation.
793
+ # The identifier must be encoded as ASCII.
794
+ # For a given crypto key and context, the same identifier will be
795
+ # replaced with the same surrogate.
796
+ # Note that a given identifier must be either the empty string or be at
797
+ # least two characters long.
798
+ class GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig
799
+ include Google::Apis::Core::Hashable
800
+
801
+ #
802
+ # Corresponds to the JSON property `commonAlphabet`
803
+ # @return [String]
804
+ attr_accessor :common_alphabet
805
+
806
+ # General identifier of a data field in a storage service.
807
+ # Corresponds to the JSON property `context`
808
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1FieldId]
809
+ attr_accessor :context
810
+
811
+ # This is a data encryption key (DEK) (as opposed to
812
+ # a key encryption key (KEK) stored by KMS).
813
+ # When using KMS to wrap/unwrap DEKs, be sure to set an appropriate
814
+ # IAM policy on the KMS CryptoKey (KEK) to ensure an attacker cannot
815
+ # unwrap the data crypto key.
816
+ # Corresponds to the JSON property `cryptoKey`
817
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1CryptoKey]
818
+ attr_accessor :crypto_key
819
+
820
+ # This is supported by mapping these to the alphanumeric characters
821
+ # that the FFX mode natively supports. This happens before/after
822
+ # encryption/decryption.
823
+ # Each character listed must appear only once.
824
+ # Number of characters must be in the range [2, 62].
825
+ # This must be encoded as ASCII.
826
+ # The order of characters does not matter.
827
+ # Corresponds to the JSON property `customAlphabet`
828
+ # @return [String]
829
+ attr_accessor :custom_alphabet
830
+
831
+ # The native way to select the alphabet. Must be in the range [2, 62].
832
+ # Corresponds to the JSON property `radix`
833
+ # @return [Fixnum]
834
+ attr_accessor :radix
835
+
836
+ def initialize(**args)
837
+ update!(**args)
838
+ end
839
+
840
+ # Update properties of this object
841
+ def update!(**args)
842
+ @common_alphabet = args[:common_alphabet] if args.key?(:common_alphabet)
843
+ @context = args[:context] if args.key?(:context)
844
+ @crypto_key = args[:crypto_key] if args.key?(:crypto_key)
845
+ @custom_alphabet = args[:custom_alphabet] if args.key?(:custom_alphabet)
846
+ @radix = args[:radix] if args.key?(:radix)
847
+ end
848
+ end
849
+
416
850
  # Record key for a finding in Cloud Datastore.
417
851
  class GooglePrivacyDlpV2beta1DatastoreKey
418
852
  include Google::Apis::Core::Hashable
@@ -471,14 +905,19 @@ module Google
471
905
  end
472
906
  end
473
907
 
474
- # General identifier of a data field in a storage service.
475
- class GooglePrivacyDlpV2beta1FieldId
908
+ # High level summary of deidentification.
909
+ class GooglePrivacyDlpV2beta1DeidentificationSummary
476
910
  include Google::Apis::Core::Hashable
477
911
 
478
- # Name describing the field.
479
- # Corresponds to the JSON property `columnName`
480
- # @return [String]
481
- attr_accessor :column_name
912
+ # Transformations applied to the dataset.
913
+ # Corresponds to the JSON property `transformationSummaries`
914
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1TransformationSummary>]
915
+ attr_accessor :transformation_summaries
916
+
917
+ # Total size in bytes that were transformed in some way.
918
+ # Corresponds to the JSON property `transformedBytes`
919
+ # @return [Fixnum]
920
+ attr_accessor :transformed_bytes
482
921
 
483
922
  def initialize(**args)
484
923
  update!(**args)
@@ -486,19 +925,28 @@ module Google
486
925
 
487
926
  # Update properties of this object
488
927
  def update!(**args)
489
- @column_name = args[:column_name] if args.key?(:column_name)
928
+ @transformation_summaries = args[:transformation_summaries] if args.key?(:transformation_summaries)
929
+ @transformed_bytes = args[:transformed_bytes] if args.key?(:transformed_bytes)
490
930
  end
491
931
  end
492
932
 
493
- # Set of files to scan.
494
- class GooglePrivacyDlpV2beta1FileSet
933
+ # The configuration that controls how the data will change.
934
+ class GooglePrivacyDlpV2beta1DeidentifyConfig
495
935
  include Google::Apis::Core::Hashable
496
936
 
497
- # The url, in the format `gs://<bucket>/<path>`. Trailing wildcard in the
498
- # path is allowed.
499
- # Corresponds to the JSON property `url`
500
- # @return [String]
501
- attr_accessor :url
937
+ # A type of transformation that will scan unstructured text and
938
+ # apply various `PrimitiveTransformation`s to each finding, where the
939
+ # transformation is applied to only values that were identified as a specific
940
+ # info_type.
941
+ # Corresponds to the JSON property `infoTypeTransformations`
942
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1InfoTypeTransformations]
943
+ attr_accessor :info_type_transformations
944
+
945
+ # A type of transformation that is applied over structured data such as a
946
+ # table.
947
+ # Corresponds to the JSON property `recordTransformations`
948
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1RecordTransformations]
949
+ attr_accessor :record_transformations
502
950
 
503
951
  def initialize(**args)
504
952
  update!(**args)
@@ -506,38 +954,32 @@ module Google
506
954
 
507
955
  # Update properties of this object
508
956
  def update!(**args)
509
- @url = args[:url] if args.key?(:url)
957
+ @info_type_transformations = args[:info_type_transformations] if args.key?(:info_type_transformations)
958
+ @record_transformations = args[:record_transformations] if args.key?(:record_transformations)
510
959
  end
511
960
  end
512
961
 
513
- # Container structure describing a single finding within a string or image.
514
- class GooglePrivacyDlpV2beta1Finding
962
+ # Request to de-identify a list of items.
963
+ class GooglePrivacyDlpV2beta1DeidentifyContentRequest
515
964
  include Google::Apis::Core::Hashable
516
965
 
517
- # Timestamp when finding was detected.
518
- # Corresponds to the JSON property `createTime`
519
- # @return [String]
520
- attr_accessor :create_time
521
-
522
- # Type of information detected by the API.
523
- # Corresponds to the JSON property `infoType`
524
- # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1InfoType]
525
- attr_accessor :info_type
526
-
527
- # Estimate of how likely it is that the info_type is correct.
528
- # Corresponds to the JSON property `likelihood`
529
- # @return [String]
530
- attr_accessor :likelihood
966
+ # The configuration that controls how the data will change.
967
+ # Corresponds to the JSON property `deidentifyConfig`
968
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1DeidentifyConfig]
969
+ attr_accessor :deidentify_config
531
970
 
532
- # Specifies the location of a finding within its source item.
533
- # Corresponds to the JSON property `location`
534
- # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Location]
535
- attr_accessor :location
971
+ # Configuration description of the scanning process.
972
+ # When used with redactContent only info_types and min_likelihood are currently
973
+ # used.
974
+ # Corresponds to the JSON property `inspectConfig`
975
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1InspectConfig]
976
+ attr_accessor :inspect_config
536
977
 
537
- # The specific string that may be potentially sensitive info.
538
- # Corresponds to the JSON property `quote`
539
- # @return [String]
540
- attr_accessor :quote
978
+ # The list of items to inspect. Up to 100 are allowed per request.
979
+ # All items will be treated as text/*.
980
+ # Corresponds to the JSON property `items`
981
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1ContentItem>]
982
+ attr_accessor :items
541
983
 
542
984
  def initialize(**args)
543
985
  update!(**args)
@@ -545,14 +987,252 @@ module Google
545
987
 
546
988
  # Update properties of this object
547
989
  def update!(**args)
548
- @create_time = args[:create_time] if args.key?(:create_time)
549
- @info_type = args[:info_type] if args.key?(:info_type)
990
+ @deidentify_config = args[:deidentify_config] if args.key?(:deidentify_config)
991
+ @inspect_config = args[:inspect_config] if args.key?(:inspect_config)
992
+ @items = args[:items] if args.key?(:items)
993
+ end
994
+ end
995
+
996
+ # Results of de-identifying a list of items.
997
+ class GooglePrivacyDlpV2beta1DeidentifyContentResponse
998
+ include Google::Apis::Core::Hashable
999
+
1000
+ #
1001
+ # Corresponds to the JSON property `items`
1002
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1ContentItem>]
1003
+ attr_accessor :items
1004
+
1005
+ # A review of the transformations that took place for each item.
1006
+ # Corresponds to the JSON property `summaries`
1007
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1DeidentificationSummary>]
1008
+ attr_accessor :summaries
1009
+
1010
+ def initialize(**args)
1011
+ update!(**args)
1012
+ end
1013
+
1014
+ # Update properties of this object
1015
+ def update!(**args)
1016
+ @items = args[:items] if args.key?(:items)
1017
+ @summaries = args[:summaries] if args.key?(:summaries)
1018
+ end
1019
+ end
1020
+
1021
+ # An entity in a dataset is a field or set of fields that correspond to a
1022
+ # single person. For example, in medical records the `EntityId` might be
1023
+ # a patient identifier, or for financial records it might be an account
1024
+ # identifier. This message is used when generalizations or analysis must be
1025
+ # consistent across multiple rows pertaining to the same entity.
1026
+ class GooglePrivacyDlpV2beta1EntityId
1027
+ include Google::Apis::Core::Hashable
1028
+
1029
+ # General identifier of a data field in a storage service.
1030
+ # Corresponds to the JSON property `field`
1031
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1FieldId]
1032
+ attr_accessor :field
1033
+
1034
+ def initialize(**args)
1035
+ update!(**args)
1036
+ end
1037
+
1038
+ # Update properties of this object
1039
+ def update!(**args)
1040
+ @field = args[:field] if args.key?(:field)
1041
+ end
1042
+ end
1043
+
1044
+ # A collection of expressions
1045
+ class GooglePrivacyDlpV2beta1Expressions
1046
+ include Google::Apis::Core::Hashable
1047
+
1048
+ #
1049
+ # Corresponds to the JSON property `conditions`
1050
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Conditions]
1051
+ attr_accessor :conditions
1052
+
1053
+ # The operator to apply to the result of conditions. Default and currently
1054
+ # only supported value is `AND`.
1055
+ # Corresponds to the JSON property `logicalOperator`
1056
+ # @return [String]
1057
+ attr_accessor :logical_operator
1058
+
1059
+ def initialize(**args)
1060
+ update!(**args)
1061
+ end
1062
+
1063
+ # Update properties of this object
1064
+ def update!(**args)
1065
+ @conditions = args[:conditions] if args.key?(:conditions)
1066
+ @logical_operator = args[:logical_operator] if args.key?(:logical_operator)
1067
+ end
1068
+ end
1069
+
1070
+ # General identifier of a data field in a storage service.
1071
+ class GooglePrivacyDlpV2beta1FieldId
1072
+ include Google::Apis::Core::Hashable
1073
+
1074
+ # Name describing the field.
1075
+ # Corresponds to the JSON property `columnName`
1076
+ # @return [String]
1077
+ attr_accessor :column_name
1078
+
1079
+ def initialize(**args)
1080
+ update!(**args)
1081
+ end
1082
+
1083
+ # Update properties of this object
1084
+ def update!(**args)
1085
+ @column_name = args[:column_name] if args.key?(:column_name)
1086
+ end
1087
+ end
1088
+
1089
+ # The transformation to apply to the field.
1090
+ class GooglePrivacyDlpV2beta1FieldTransformation
1091
+ include Google::Apis::Core::Hashable
1092
+
1093
+ # A condition for determing whether a transformation should be applied to
1094
+ # a field.
1095
+ # Corresponds to the JSON property `condition`
1096
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1RecordCondition]
1097
+ attr_accessor :condition
1098
+
1099
+ # Input field(s) to apply the transformation to. [required]
1100
+ # Corresponds to the JSON property `fields`
1101
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1FieldId>]
1102
+ attr_accessor :fields
1103
+
1104
+ # A type of transformation that will scan unstructured text and
1105
+ # apply various `PrimitiveTransformation`s to each finding, where the
1106
+ # transformation is applied to only values that were identified as a specific
1107
+ # info_type.
1108
+ # Corresponds to the JSON property `infoTypeTransformations`
1109
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1InfoTypeTransformations]
1110
+ attr_accessor :info_type_transformations
1111
+
1112
+ # A rule for transforming a value.
1113
+ # Corresponds to the JSON property `primitiveTransformation`
1114
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1PrimitiveTransformation]
1115
+ attr_accessor :primitive_transformation
1116
+
1117
+ def initialize(**args)
1118
+ update!(**args)
1119
+ end
1120
+
1121
+ # Update properties of this object
1122
+ def update!(**args)
1123
+ @condition = args[:condition] if args.key?(:condition)
1124
+ @fields = args[:fields] if args.key?(:fields)
1125
+ @info_type_transformations = args[:info_type_transformations] if args.key?(:info_type_transformations)
1126
+ @primitive_transformation = args[:primitive_transformation] if args.key?(:primitive_transformation)
1127
+ end
1128
+ end
1129
+
1130
+ # Set of files to scan.
1131
+ class GooglePrivacyDlpV2beta1FileSet
1132
+ include Google::Apis::Core::Hashable
1133
+
1134
+ # The url, in the format `gs://<bucket>/<path>`. Trailing wildcard in the
1135
+ # path is allowed.
1136
+ # Corresponds to the JSON property `url`
1137
+ # @return [String]
1138
+ attr_accessor :url
1139
+
1140
+ def initialize(**args)
1141
+ update!(**args)
1142
+ end
1143
+
1144
+ # Update properties of this object
1145
+ def update!(**args)
1146
+ @url = args[:url] if args.key?(:url)
1147
+ end
1148
+ end
1149
+
1150
+ # Container structure describing a single finding within a string or image.
1151
+ class GooglePrivacyDlpV2beta1Finding
1152
+ include Google::Apis::Core::Hashable
1153
+
1154
+ # Timestamp when finding was detected.
1155
+ # Corresponds to the JSON property `createTime`
1156
+ # @return [String]
1157
+ attr_accessor :create_time
1158
+
1159
+ # Type of information detected by the API.
1160
+ # Corresponds to the JSON property `infoType`
1161
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1InfoType]
1162
+ attr_accessor :info_type
1163
+
1164
+ # Estimate of how likely it is that the info_type is correct.
1165
+ # Corresponds to the JSON property `likelihood`
1166
+ # @return [String]
1167
+ attr_accessor :likelihood
1168
+
1169
+ # Specifies the location of a finding within its source item.
1170
+ # Corresponds to the JSON property `location`
1171
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Location]
1172
+ attr_accessor :location
1173
+
1174
+ # The specific string that may be potentially sensitive info.
1175
+ # Corresponds to the JSON property `quote`
1176
+ # @return [String]
1177
+ attr_accessor :quote
1178
+
1179
+ def initialize(**args)
1180
+ update!(**args)
1181
+ end
1182
+
1183
+ # Update properties of this object
1184
+ def update!(**args)
1185
+ @create_time = args[:create_time] if args.key?(:create_time)
1186
+ @info_type = args[:info_type] if args.key?(:info_type)
550
1187
  @likelihood = args[:likelihood] if args.key?(:likelihood)
551
1188
  @location = args[:location] if args.key?(:location)
552
1189
  @quote = args[:quote] if args.key?(:quote)
553
1190
  end
554
1191
  end
555
1192
 
1193
+ # Buckets values based on fixed size ranges. The
1194
+ # Bucketing transformation can provide all of this functionality,
1195
+ # but requires more configuration. This message is provided as a convenience to
1196
+ # the user for simple bucketing strategies.
1197
+ # The resulting value will be a hyphenated string of
1198
+ # lower_bound-upper_bound.
1199
+ # This can be used on data of type: double, long.
1200
+ # If the bound Value type differs from the type of data
1201
+ # being transformed, we will first attempt converting the type of the data to
1202
+ # be transformed to match the type of the bound before comparing.
1203
+ class GooglePrivacyDlpV2beta1FixedSizeBucketingConfig
1204
+ include Google::Apis::Core::Hashable
1205
+
1206
+ # Size of each bucket (except for minimum and maximum buckets). So if
1207
+ # `lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the
1208
+ # following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60,
1209
+ # 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works. [Required].
1210
+ # Corresponds to the JSON property `bucketSize`
1211
+ # @return [Float]
1212
+ attr_accessor :bucket_size
1213
+
1214
+ # Set of primitive values supported by the system.
1215
+ # Corresponds to the JSON property `lowerBound`
1216
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Value]
1217
+ attr_accessor :lower_bound
1218
+
1219
+ # Set of primitive values supported by the system.
1220
+ # Corresponds to the JSON property `upperBound`
1221
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Value]
1222
+ attr_accessor :upper_bound
1223
+
1224
+ def initialize(**args)
1225
+ update!(**args)
1226
+ end
1227
+
1228
+ # Update properties of this object
1229
+ def update!(**args)
1230
+ @bucket_size = args[:bucket_size] if args.key?(:bucket_size)
1231
+ @lower_bound = args[:lower_bound] if args.key?(:lower_bound)
1232
+ @upper_bound = args[:upper_bound] if args.key?(:upper_bound)
1233
+ end
1234
+ end
1235
+
556
1236
  # Bounding box encompassing detected text within an image.
557
1237
  class GooglePrivacyDlpV2beta1ImageLocation
558
1238
  include Google::Apis::Core::Hashable
@@ -724,6 +1404,56 @@ module Google
724
1404
  end
725
1405
  end
726
1406
 
1407
+ # A transformation to apply to text that is identified as a specific
1408
+ # info_type.
1409
+ class GooglePrivacyDlpV2beta1InfoTypeTransformation
1410
+ include Google::Apis::Core::Hashable
1411
+
1412
+ # Info types to apply the transformation to. Empty list will match all
1413
+ # available info types for this transformation.
1414
+ # Corresponds to the JSON property `infoTypes`
1415
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1InfoType>]
1416
+ attr_accessor :info_types
1417
+
1418
+ # A rule for transforming a value.
1419
+ # Corresponds to the JSON property `primitiveTransformation`
1420
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1PrimitiveTransformation]
1421
+ attr_accessor :primitive_transformation
1422
+
1423
+ def initialize(**args)
1424
+ update!(**args)
1425
+ end
1426
+
1427
+ # Update properties of this object
1428
+ def update!(**args)
1429
+ @info_types = args[:info_types] if args.key?(:info_types)
1430
+ @primitive_transformation = args[:primitive_transformation] if args.key?(:primitive_transformation)
1431
+ end
1432
+ end
1433
+
1434
+ # A type of transformation that will scan unstructured text and
1435
+ # apply various `PrimitiveTransformation`s to each finding, where the
1436
+ # transformation is applied to only values that were identified as a specific
1437
+ # info_type.
1438
+ class GooglePrivacyDlpV2beta1InfoTypeTransformations
1439
+ include Google::Apis::Core::Hashable
1440
+
1441
+ # Transformation for each info type. Cannot specify more than one
1442
+ # for a given info type. [required]
1443
+ # Corresponds to the JSON property `transformations`
1444
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1InfoTypeTransformation>]
1445
+ attr_accessor :transformations
1446
+
1447
+ def initialize(**args)
1448
+ update!(**args)
1449
+ end
1450
+
1451
+ # Update properties of this object
1452
+ def update!(**args)
1453
+ @transformations = args[:transformations] if args.key?(:transformations)
1454
+ end
1455
+ end
1456
+
727
1457
  # Configuration description of the scanning process.
728
1458
  # When used with redactContent only info_types and min_likelihood are currently
729
1459
  # used.
@@ -938,6 +1668,124 @@ module Google
938
1668
  end
939
1669
  end
940
1670
 
1671
+ # k-anonymity metric, used for analysis of reidentification risk.
1672
+ class GooglePrivacyDlpV2beta1KAnonymityConfig
1673
+ include Google::Apis::Core::Hashable
1674
+
1675
+ # An entity in a dataset is a field or set of fields that correspond to a
1676
+ # single person. For example, in medical records the `EntityId` might be
1677
+ # a patient identifier, or for financial records it might be an account
1678
+ # identifier. This message is used when generalizations or analysis must be
1679
+ # consistent across multiple rows pertaining to the same entity.
1680
+ # Corresponds to the JSON property `entityId`
1681
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1EntityId]
1682
+ attr_accessor :entity_id
1683
+
1684
+ # Set of fields to compute k-anonymity over. When multiple fields are
1685
+ # specified, they are considered a single composite key. Structs and
1686
+ # repeated data types are not supported; however, nested fields are
1687
+ # supported so long as they are not structs themselves or nested within
1688
+ # a repeated field.
1689
+ # Corresponds to the JSON property `quasiIds`
1690
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1FieldId>]
1691
+ attr_accessor :quasi_ids
1692
+
1693
+ def initialize(**args)
1694
+ update!(**args)
1695
+ end
1696
+
1697
+ # Update properties of this object
1698
+ def update!(**args)
1699
+ @entity_id = args[:entity_id] if args.key?(:entity_id)
1700
+ @quasi_ids = args[:quasi_ids] if args.key?(:quasi_ids)
1701
+ end
1702
+ end
1703
+
1704
+ # The set of columns' values that share the same ldiversity value
1705
+ class GooglePrivacyDlpV2beta1KAnonymityEquivalenceClass
1706
+ include Google::Apis::Core::Hashable
1707
+
1708
+ # Size of the equivalence class, for example number of rows with the
1709
+ # above set of values.
1710
+ # Corresponds to the JSON property `equivalenceClassSize`
1711
+ # @return [Fixnum]
1712
+ attr_accessor :equivalence_class_size
1713
+
1714
+ # Set of values defining the equivalence class. One value per
1715
+ # quasi-identifier column in the original KAnonymity metric message.
1716
+ # The order is always the same as the original request.
1717
+ # Corresponds to the JSON property `quasiIdsValues`
1718
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Value>]
1719
+ attr_accessor :quasi_ids_values
1720
+
1721
+ def initialize(**args)
1722
+ update!(**args)
1723
+ end
1724
+
1725
+ # Update properties of this object
1726
+ def update!(**args)
1727
+ @equivalence_class_size = args[:equivalence_class_size] if args.key?(:equivalence_class_size)
1728
+ @quasi_ids_values = args[:quasi_ids_values] if args.key?(:quasi_ids_values)
1729
+ end
1730
+ end
1731
+
1732
+ #
1733
+ class GooglePrivacyDlpV2beta1KAnonymityHistogramBucket
1734
+ include Google::Apis::Core::Hashable
1735
+
1736
+ # Total number of records in this bucket.
1737
+ # Corresponds to the JSON property `bucketSize`
1738
+ # @return [Fixnum]
1739
+ attr_accessor :bucket_size
1740
+
1741
+ # Sample of equivalence classes in this bucket. The total number of
1742
+ # classes returned per bucket is capped at 20.
1743
+ # Corresponds to the JSON property `bucketValues`
1744
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1KAnonymityEquivalenceClass>]
1745
+ attr_accessor :bucket_values
1746
+
1747
+ # Lower bound on the size of the equivalence classes in this bucket.
1748
+ # Corresponds to the JSON property `equivalenceClassSizeLowerBound`
1749
+ # @return [Fixnum]
1750
+ attr_accessor :equivalence_class_size_lower_bound
1751
+
1752
+ # Upper bound on the size of the equivalence classes in this bucket.
1753
+ # Corresponds to the JSON property `equivalenceClassSizeUpperBound`
1754
+ # @return [Fixnum]
1755
+ attr_accessor :equivalence_class_size_upper_bound
1756
+
1757
+ def initialize(**args)
1758
+ update!(**args)
1759
+ end
1760
+
1761
+ # Update properties of this object
1762
+ def update!(**args)
1763
+ @bucket_size = args[:bucket_size] if args.key?(:bucket_size)
1764
+ @bucket_values = args[:bucket_values] if args.key?(:bucket_values)
1765
+ @equivalence_class_size_lower_bound = args[:equivalence_class_size_lower_bound] if args.key?(:equivalence_class_size_lower_bound)
1766
+ @equivalence_class_size_upper_bound = args[:equivalence_class_size_upper_bound] if args.key?(:equivalence_class_size_upper_bound)
1767
+ end
1768
+ end
1769
+
1770
+ # Result of the k-anonymity computation.
1771
+ class GooglePrivacyDlpV2beta1KAnonymityResult
1772
+ include Google::Apis::Core::Hashable
1773
+
1774
+ # Histogram of k-anonymity equivalence classes.
1775
+ # Corresponds to the JSON property `equivalenceClassHistogramBuckets`
1776
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1KAnonymityHistogramBucket>]
1777
+ attr_accessor :equivalence_class_histogram_buckets
1778
+
1779
+ def initialize(**args)
1780
+ update!(**args)
1781
+ end
1782
+
1783
+ # Update properties of this object
1784
+ def update!(**args)
1785
+ @equivalence_class_histogram_buckets = args[:equivalence_class_histogram_buckets] if args.key?(:equivalence_class_histogram_buckets)
1786
+ end
1787
+ end
1788
+
941
1789
  # A unique identifier for a Datastore entity.
942
1790
  # If a key's partition ID or any of its path kinds or names are
943
1791
  # reserved/read-only, the key is reserved/read-only.
@@ -996,17 +1844,170 @@ module Google
996
1844
  end
997
1845
  end
998
1846
 
999
- # Response to the ListInfoTypes request.
1000
- class GooglePrivacyDlpV2beta1ListInfoTypesResponse
1847
+ # Include to use an existing data crypto key wrapped by KMS.
1848
+ # Authorization requires the following IAM permissions when sending a request
1849
+ # to perform a crypto transformation using a kms-wrapped crypto key:
1850
+ # dlp.kms.encrypt
1851
+ class GooglePrivacyDlpV2beta1KmsWrappedCryptoKey
1001
1852
  include Google::Apis::Core::Hashable
1002
1853
 
1003
- # Set of sensitive info types belonging to a category.
1004
- # Corresponds to the JSON property `infoTypes`
1005
- # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1InfoTypeDescription>]
1006
- attr_accessor :info_types
1854
+ # The resource name of the KMS CryptoKey to use for unwrapping. [required]
1855
+ # Corresponds to the JSON property `cryptoKeyName`
1856
+ # @return [String]
1857
+ attr_accessor :crypto_key_name
1007
1858
 
1008
- def initialize(**args)
1009
- update!(**args)
1859
+ # The wrapped data crypto key. [required]
1860
+ # Corresponds to the JSON property `wrappedKey`
1861
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1862
+ # @return [String]
1863
+ attr_accessor :wrapped_key
1864
+
1865
+ def initialize(**args)
1866
+ update!(**args)
1867
+ end
1868
+
1869
+ # Update properties of this object
1870
+ def update!(**args)
1871
+ @crypto_key_name = args[:crypto_key_name] if args.key?(:crypto_key_name)
1872
+ @wrapped_key = args[:wrapped_key] if args.key?(:wrapped_key)
1873
+ end
1874
+ end
1875
+
1876
+ # l-diversity metric, used for analysis of reidentification risk.
1877
+ class GooglePrivacyDlpV2beta1LDiversityConfig
1878
+ include Google::Apis::Core::Hashable
1879
+
1880
+ # Set of quasi-identifiers indicating how equivalence classes are
1881
+ # defined for the l-diversity computation. When multiple fields are
1882
+ # specified, they are considered a single composite key.
1883
+ # Corresponds to the JSON property `quasiIds`
1884
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1FieldId>]
1885
+ attr_accessor :quasi_ids
1886
+
1887
+ # General identifier of a data field in a storage service.
1888
+ # Corresponds to the JSON property `sensitiveAttribute`
1889
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1FieldId]
1890
+ attr_accessor :sensitive_attribute
1891
+
1892
+ def initialize(**args)
1893
+ update!(**args)
1894
+ end
1895
+
1896
+ # Update properties of this object
1897
+ def update!(**args)
1898
+ @quasi_ids = args[:quasi_ids] if args.key?(:quasi_ids)
1899
+ @sensitive_attribute = args[:sensitive_attribute] if args.key?(:sensitive_attribute)
1900
+ end
1901
+ end
1902
+
1903
+ # The set of columns' values that share the same ldiversity value.
1904
+ class GooglePrivacyDlpV2beta1LDiversityEquivalenceClass
1905
+ include Google::Apis::Core::Hashable
1906
+
1907
+ # Size of the k-anonymity equivalence class.
1908
+ # Corresponds to the JSON property `equivalenceClassSize`
1909
+ # @return [Fixnum]
1910
+ attr_accessor :equivalence_class_size
1911
+
1912
+ # Number of distinct sensitive values in this equivalence class.
1913
+ # Corresponds to the JSON property `numDistinctSensitiveValues`
1914
+ # @return [Fixnum]
1915
+ attr_accessor :num_distinct_sensitive_values
1916
+
1917
+ # Quasi-identifier values defining the k-anonymity equivalence
1918
+ # class. The order is always the same as the original request.
1919
+ # Corresponds to the JSON property `quasiIdsValues`
1920
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Value>]
1921
+ attr_accessor :quasi_ids_values
1922
+
1923
+ # Estimated frequencies of top sensitive values.
1924
+ # Corresponds to the JSON property `topSensitiveValues`
1925
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1ValueFrequency>]
1926
+ attr_accessor :top_sensitive_values
1927
+
1928
+ def initialize(**args)
1929
+ update!(**args)
1930
+ end
1931
+
1932
+ # Update properties of this object
1933
+ def update!(**args)
1934
+ @equivalence_class_size = args[:equivalence_class_size] if args.key?(:equivalence_class_size)
1935
+ @num_distinct_sensitive_values = args[:num_distinct_sensitive_values] if args.key?(:num_distinct_sensitive_values)
1936
+ @quasi_ids_values = args[:quasi_ids_values] if args.key?(:quasi_ids_values)
1937
+ @top_sensitive_values = args[:top_sensitive_values] if args.key?(:top_sensitive_values)
1938
+ end
1939
+ end
1940
+
1941
+ #
1942
+ class GooglePrivacyDlpV2beta1LDiversityHistogramBucket
1943
+ include Google::Apis::Core::Hashable
1944
+
1945
+ # Total number of records in this bucket.
1946
+ # Corresponds to the JSON property `bucketSize`
1947
+ # @return [Fixnum]
1948
+ attr_accessor :bucket_size
1949
+
1950
+ # Sample of equivalence classes in this bucket. The total number of
1951
+ # classes returned per bucket is capped at 20.
1952
+ # Corresponds to the JSON property `bucketValues`
1953
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1LDiversityEquivalenceClass>]
1954
+ attr_accessor :bucket_values
1955
+
1956
+ # Lower bound on the sensitive value frequencies of the equivalence
1957
+ # classes in this bucket.
1958
+ # Corresponds to the JSON property `sensitiveValueFrequencyLowerBound`
1959
+ # @return [Fixnum]
1960
+ attr_accessor :sensitive_value_frequency_lower_bound
1961
+
1962
+ # Upper bound on the sensitive value frequencies of the equivalence
1963
+ # classes in this bucket.
1964
+ # Corresponds to the JSON property `sensitiveValueFrequencyUpperBound`
1965
+ # @return [Fixnum]
1966
+ attr_accessor :sensitive_value_frequency_upper_bound
1967
+
1968
+ def initialize(**args)
1969
+ update!(**args)
1970
+ end
1971
+
1972
+ # Update properties of this object
1973
+ def update!(**args)
1974
+ @bucket_size = args[:bucket_size] if args.key?(:bucket_size)
1975
+ @bucket_values = args[:bucket_values] if args.key?(:bucket_values)
1976
+ @sensitive_value_frequency_lower_bound = args[:sensitive_value_frequency_lower_bound] if args.key?(:sensitive_value_frequency_lower_bound)
1977
+ @sensitive_value_frequency_upper_bound = args[:sensitive_value_frequency_upper_bound] if args.key?(:sensitive_value_frequency_upper_bound)
1978
+ end
1979
+ end
1980
+
1981
+ # Result of the l-diversity computation.
1982
+ class GooglePrivacyDlpV2beta1LDiversityResult
1983
+ include Google::Apis::Core::Hashable
1984
+
1985
+ # Histogram of l-diversity equivalence class sensitive value frequencies.
1986
+ # Corresponds to the JSON property `sensitiveValueFrequencyHistogramBuckets`
1987
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1LDiversityHistogramBucket>]
1988
+ attr_accessor :sensitive_value_frequency_histogram_buckets
1989
+
1990
+ def initialize(**args)
1991
+ update!(**args)
1992
+ end
1993
+
1994
+ # Update properties of this object
1995
+ def update!(**args)
1996
+ @sensitive_value_frequency_histogram_buckets = args[:sensitive_value_frequency_histogram_buckets] if args.key?(:sensitive_value_frequency_histogram_buckets)
1997
+ end
1998
+ end
1999
+
2000
+ # Response to the ListInfoTypes request.
2001
+ class GooglePrivacyDlpV2beta1ListInfoTypesResponse
2002
+ include Google::Apis::Core::Hashable
2003
+
2004
+ # Set of sensitive info types belonging to a category.
2005
+ # Corresponds to the JSON property `infoTypes`
2006
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1InfoTypeDescription>]
2007
+ attr_accessor :info_types
2008
+
2009
+ def initialize(**args)
2010
+ update!(**args)
1010
2011
  end
1011
2012
 
1012
2013
  # Update properties of this object
@@ -1109,6 +2110,58 @@ module Google
1109
2110
  end
1110
2111
  end
1111
2112
 
2113
+ # Compute numerical stats over an individual column, including
2114
+ # min, max, and quantiles.
2115
+ class GooglePrivacyDlpV2beta1NumericalStatsConfig
2116
+ include Google::Apis::Core::Hashable
2117
+
2118
+ # General identifier of a data field in a storage service.
2119
+ # Corresponds to the JSON property `field`
2120
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1FieldId]
2121
+ attr_accessor :field
2122
+
2123
+ def initialize(**args)
2124
+ update!(**args)
2125
+ end
2126
+
2127
+ # Update properties of this object
2128
+ def update!(**args)
2129
+ @field = args[:field] if args.key?(:field)
2130
+ end
2131
+ end
2132
+
2133
+ # Result of the numerical stats computation.
2134
+ class GooglePrivacyDlpV2beta1NumericalStatsResult
2135
+ include Google::Apis::Core::Hashable
2136
+
2137
+ # Set of primitive values supported by the system.
2138
+ # Corresponds to the JSON property `maxValue`
2139
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Value]
2140
+ attr_accessor :max_value
2141
+
2142
+ # Set of primitive values supported by the system.
2143
+ # Corresponds to the JSON property `minValue`
2144
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Value]
2145
+ attr_accessor :min_value
2146
+
2147
+ # List of 99 values that partition the set of field values into 100 equal
2148
+ # sized buckets.
2149
+ # Corresponds to the JSON property `quantileValues`
2150
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Value>]
2151
+ attr_accessor :quantile_values
2152
+
2153
+ def initialize(**args)
2154
+ update!(**args)
2155
+ end
2156
+
2157
+ # Update properties of this object
2158
+ def update!(**args)
2159
+ @max_value = args[:max_value] if args.key?(:max_value)
2160
+ @min_value = args[:min_value] if args.key?(:min_value)
2161
+ @quantile_values = args[:quantile_values] if args.key?(:quantile_values)
2162
+ end
2163
+ end
2164
+
1112
2165
  # Additional configuration for inspect long running operations.
1113
2166
  class GooglePrivacyDlpV2beta1OperationConfig
1114
2167
  include Google::Apis::Core::Hashable
@@ -1227,6 +2280,147 @@ module Google
1227
2280
  end
1228
2281
  end
1229
2282
 
2283
+ # A rule for transforming a value.
2284
+ class GooglePrivacyDlpV2beta1PrimitiveTransformation
2285
+ include Google::Apis::Core::Hashable
2286
+
2287
+ # Generalization function that buckets values based on ranges. The ranges and
2288
+ # replacement values are dynamically provided by the user for custom behavior,
2289
+ # such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH
2290
+ # This can be used on
2291
+ # data of type: number, long, string, timestamp.
2292
+ # If the bound `Value` type differs from the type of data being transformed, we
2293
+ # will first attempt converting the type of the data to be transformed to match
2294
+ # the type of the bound before comparing.
2295
+ # Corresponds to the JSON property `bucketingConfig`
2296
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1BucketingConfig]
2297
+ attr_accessor :bucketing_config
2298
+
2299
+ # Partially mask a string by replacing a given number of characters with a
2300
+ # fixed character. Masking can start from the beginning or end of the string.
2301
+ # This can be used on data of any type (numbers, longs, and so on) and when
2302
+ # de-identifying structured data we'll attempt to preserve the original data's
2303
+ # type. (This allows you to take a long like 123 and modify it to a string like
2304
+ # **3.
2305
+ # Corresponds to the JSON property `characterMaskConfig`
2306
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1CharacterMaskConfig]
2307
+ attr_accessor :character_mask_config
2308
+
2309
+ # Pseudonymization method that generates surrogates via cryptographic hashing.
2310
+ # Uses SHA-256.
2311
+ # The key size must be either 32 or 64 bytes.
2312
+ # Outputs a 32 byte digest as an uppercase hex string
2313
+ # (for example, 41D1567F7F99F1DC2A5FAB886DEE5BEE).
2314
+ # Currently, only string and integer values can be hashed.
2315
+ # Corresponds to the JSON property `cryptoHashConfig`
2316
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1CryptoHashConfig]
2317
+ attr_accessor :crypto_hash_config
2318
+
2319
+ # Replaces an identifier with an surrogate using FPE with the FFX
2320
+ # mode of operation.
2321
+ # The identifier must be encoded as ASCII.
2322
+ # For a given crypto key and context, the same identifier will be
2323
+ # replaced with the same surrogate.
2324
+ # Note that a given identifier must be either the empty string or be at
2325
+ # least two characters long.
2326
+ # Corresponds to the JSON property `cryptoReplaceFfxFpeConfig`
2327
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1CryptoReplaceFfxFpeConfig]
2328
+ attr_accessor :crypto_replace_ffx_fpe_config
2329
+
2330
+ # Buckets values based on fixed size ranges. The
2331
+ # Bucketing transformation can provide all of this functionality,
2332
+ # but requires more configuration. This message is provided as a convenience to
2333
+ # the user for simple bucketing strategies.
2334
+ # The resulting value will be a hyphenated string of
2335
+ # lower_bound-upper_bound.
2336
+ # This can be used on data of type: double, long.
2337
+ # If the bound Value type differs from the type of data
2338
+ # being transformed, we will first attempt converting the type of the data to
2339
+ # be transformed to match the type of the bound before comparing.
2340
+ # Corresponds to the JSON property `fixedSizeBucketingConfig`
2341
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1FixedSizeBucketingConfig]
2342
+ attr_accessor :fixed_size_bucketing_config
2343
+
2344
+ # Redact a given value. For example, if used with an `InfoTypeTransformation`
2345
+ # transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the
2346
+ # output would be 'My phone number is '.
2347
+ # Corresponds to the JSON property `redactConfig`
2348
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1RedactConfig]
2349
+ attr_accessor :redact_config
2350
+
2351
+ # Replace each input value with a given `Value`.
2352
+ # Corresponds to the JSON property `replaceConfig`
2353
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1ReplaceValueConfig]
2354
+ attr_accessor :replace_config
2355
+
2356
+ # Replace each matching finding with the name of the info_type.
2357
+ # Corresponds to the JSON property `replaceWithInfoTypeConfig`
2358
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1ReplaceWithInfoTypeConfig]
2359
+ attr_accessor :replace_with_info_type_config
2360
+
2361
+ # For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a
2362
+ # portion of the value.
2363
+ # Corresponds to the JSON property `timePartConfig`
2364
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1TimePartConfig]
2365
+ attr_accessor :time_part_config
2366
+
2367
+ def initialize(**args)
2368
+ update!(**args)
2369
+ end
2370
+
2371
+ # Update properties of this object
2372
+ def update!(**args)
2373
+ @bucketing_config = args[:bucketing_config] if args.key?(:bucketing_config)
2374
+ @character_mask_config = args[:character_mask_config] if args.key?(:character_mask_config)
2375
+ @crypto_hash_config = args[:crypto_hash_config] if args.key?(:crypto_hash_config)
2376
+ @crypto_replace_ffx_fpe_config = args[:crypto_replace_ffx_fpe_config] if args.key?(:crypto_replace_ffx_fpe_config)
2377
+ @fixed_size_bucketing_config = args[:fixed_size_bucketing_config] if args.key?(:fixed_size_bucketing_config)
2378
+ @redact_config = args[:redact_config] if args.key?(:redact_config)
2379
+ @replace_config = args[:replace_config] if args.key?(:replace_config)
2380
+ @replace_with_info_type_config = args[:replace_with_info_type_config] if args.key?(:replace_with_info_type_config)
2381
+ @time_part_config = args[:time_part_config] if args.key?(:time_part_config)
2382
+ end
2383
+ end
2384
+
2385
+ # Privacy metric to compute for reidentification risk analysis.
2386
+ class GooglePrivacyDlpV2beta1PrivacyMetric
2387
+ include Google::Apis::Core::Hashable
2388
+
2389
+ # Compute numerical stats over an individual column, including
2390
+ # number of distinct values and value count distribution.
2391
+ # Corresponds to the JSON property `categoricalStatsConfig`
2392
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1CategoricalStatsConfig]
2393
+ attr_accessor :categorical_stats_config
2394
+
2395
+ # k-anonymity metric, used for analysis of reidentification risk.
2396
+ # Corresponds to the JSON property `kAnonymityConfig`
2397
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1KAnonymityConfig]
2398
+ attr_accessor :k_anonymity_config
2399
+
2400
+ # l-diversity metric, used for analysis of reidentification risk.
2401
+ # Corresponds to the JSON property `lDiversityConfig`
2402
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1LDiversityConfig]
2403
+ attr_accessor :l_diversity_config
2404
+
2405
+ # Compute numerical stats over an individual column, including
2406
+ # min, max, and quantiles.
2407
+ # Corresponds to the JSON property `numericalStatsConfig`
2408
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1NumericalStatsConfig]
2409
+ attr_accessor :numerical_stats_config
2410
+
2411
+ def initialize(**args)
2412
+ update!(**args)
2413
+ end
2414
+
2415
+ # Update properties of this object
2416
+ def update!(**args)
2417
+ @categorical_stats_config = args[:categorical_stats_config] if args.key?(:categorical_stats_config)
2418
+ @k_anonymity_config = args[:k_anonymity_config] if args.key?(:k_anonymity_config)
2419
+ @l_diversity_config = args[:l_diversity_config] if args.key?(:l_diversity_config)
2420
+ @numerical_stats_config = args[:numerical_stats_config] if args.key?(:numerical_stats_config)
2421
+ end
2422
+ end
2423
+
1230
2424
  # A representation of a Datastore property in a projection.
1231
2425
  class GooglePrivacyDlpV2beta1Projection
1232
2426
  include Google::Apis::Core::Hashable
@@ -1291,6 +2485,26 @@ module Google
1291
2485
  end
1292
2486
  end
1293
2487
 
2488
+ # A condition for determing whether a transformation should be applied to
2489
+ # a field.
2490
+ class GooglePrivacyDlpV2beta1RecordCondition
2491
+ include Google::Apis::Core::Hashable
2492
+
2493
+ # A collection of expressions
2494
+ # Corresponds to the JSON property `expressions`
2495
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Expressions]
2496
+ attr_accessor :expressions
2497
+
2498
+ def initialize(**args)
2499
+ update!(**args)
2500
+ end
2501
+
2502
+ # Update properties of this object
2503
+ def update!(**args)
2504
+ @expressions = args[:expressions] if args.key?(:expressions)
2505
+ end
2506
+ end
2507
+
1294
2508
  # Message for a unique key indicating a record that contains a finding.
1295
2509
  class GooglePrivacyDlpV2beta1RecordKey
1296
2510
  include Google::Apis::Core::Hashable
@@ -1316,6 +2530,69 @@ module Google
1316
2530
  end
1317
2531
  end
1318
2532
 
2533
+ # Configuration to suppress records whose suppression conditions evaluate to
2534
+ # true.
2535
+ class GooglePrivacyDlpV2beta1RecordSuppression
2536
+ include Google::Apis::Core::Hashable
2537
+
2538
+ # A condition for determing whether a transformation should be applied to
2539
+ # a field.
2540
+ # Corresponds to the JSON property `condition`
2541
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1RecordCondition]
2542
+ attr_accessor :condition
2543
+
2544
+ def initialize(**args)
2545
+ update!(**args)
2546
+ end
2547
+
2548
+ # Update properties of this object
2549
+ def update!(**args)
2550
+ @condition = args[:condition] if args.key?(:condition)
2551
+ end
2552
+ end
2553
+
2554
+ # A type of transformation that is applied over structured data such as a
2555
+ # table.
2556
+ class GooglePrivacyDlpV2beta1RecordTransformations
2557
+ include Google::Apis::Core::Hashable
2558
+
2559
+ # Transform the record by applying various field transformations.
2560
+ # Corresponds to the JSON property `fieldTransformations`
2561
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1FieldTransformation>]
2562
+ attr_accessor :field_transformations
2563
+
2564
+ # Configuration defining which records get suppressed entirely. Records that
2565
+ # match any suppression rule are omitted from the output [optional].
2566
+ # Corresponds to the JSON property `recordSuppressions`
2567
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1RecordSuppression>]
2568
+ attr_accessor :record_suppressions
2569
+
2570
+ def initialize(**args)
2571
+ update!(**args)
2572
+ end
2573
+
2574
+ # Update properties of this object
2575
+ def update!(**args)
2576
+ @field_transformations = args[:field_transformations] if args.key?(:field_transformations)
2577
+ @record_suppressions = args[:record_suppressions] if args.key?(:record_suppressions)
2578
+ end
2579
+ end
2580
+
2581
+ # Redact a given value. For example, if used with an `InfoTypeTransformation`
2582
+ # transforming PHONE_NUMBER, and input 'My phone number is 206-555-0123', the
2583
+ # output would be 'My phone number is '.
2584
+ class GooglePrivacyDlpV2beta1RedactConfig
2585
+ include Google::Apis::Core::Hashable
2586
+
2587
+ def initialize(**args)
2588
+ update!(**args)
2589
+ end
2590
+
2591
+ # Update properties of this object
2592
+ def update!(**args)
2593
+ end
2594
+ end
2595
+
1319
2596
  # Request to search for potentially sensitive info in a list of items
1320
2597
  # and replace it with a default or provided content.
1321
2598
  class GooglePrivacyDlpV2beta1RedactContentRequest
@@ -1401,6 +2678,110 @@ module Google
1401
2678
  end
1402
2679
  end
1403
2680
 
2681
+ # Replace each input value with a given `Value`.
2682
+ class GooglePrivacyDlpV2beta1ReplaceValueConfig
2683
+ include Google::Apis::Core::Hashable
2684
+
2685
+ # Set of primitive values supported by the system.
2686
+ # Corresponds to the JSON property `newValue`
2687
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Value]
2688
+ attr_accessor :new_value
2689
+
2690
+ def initialize(**args)
2691
+ update!(**args)
2692
+ end
2693
+
2694
+ # Update properties of this object
2695
+ def update!(**args)
2696
+ @new_value = args[:new_value] if args.key?(:new_value)
2697
+ end
2698
+ end
2699
+
2700
+ # Replace each matching finding with the name of the info_type.
2701
+ class GooglePrivacyDlpV2beta1ReplaceWithInfoTypeConfig
2702
+ include Google::Apis::Core::Hashable
2703
+
2704
+ def initialize(**args)
2705
+ update!(**args)
2706
+ end
2707
+
2708
+ # Update properties of this object
2709
+ def update!(**args)
2710
+ end
2711
+ end
2712
+
2713
+ # Metadata returned within GetOperation for risk analysis.
2714
+ class GooglePrivacyDlpV2beta1RiskAnalysisOperationMetadata
2715
+ include Google::Apis::Core::Hashable
2716
+
2717
+ # The time which this request was started.
2718
+ # Corresponds to the JSON property `createTime`
2719
+ # @return [String]
2720
+ attr_accessor :create_time
2721
+
2722
+ # Privacy metric to compute for reidentification risk analysis.
2723
+ # Corresponds to the JSON property `requestedPrivacyMetric`
2724
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1PrivacyMetric]
2725
+ attr_accessor :requested_privacy_metric
2726
+
2727
+ # Message defining the location of a BigQuery table. A table is uniquely
2728
+ # identified by its project_id, dataset_id, and table_name. Within a query
2729
+ # a table is often referenced with a string in the format of:
2730
+ # `<project_id>:<dataset_id>.<table_id>` or
2731
+ # `<project_id>.<dataset_id>.<table_id>`.
2732
+ # Corresponds to the JSON property `requestedSourceTable`
2733
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1BigQueryTable]
2734
+ attr_accessor :requested_source_table
2735
+
2736
+ def initialize(**args)
2737
+ update!(**args)
2738
+ end
2739
+
2740
+ # Update properties of this object
2741
+ def update!(**args)
2742
+ @create_time = args[:create_time] if args.key?(:create_time)
2743
+ @requested_privacy_metric = args[:requested_privacy_metric] if args.key?(:requested_privacy_metric)
2744
+ @requested_source_table = args[:requested_source_table] if args.key?(:requested_source_table)
2745
+ end
2746
+ end
2747
+
2748
+ # Result of a risk analysis operation request.
2749
+ class GooglePrivacyDlpV2beta1RiskAnalysisOperationResult
2750
+ include Google::Apis::Core::Hashable
2751
+
2752
+ # Result of the categorical stats computation.
2753
+ # Corresponds to the JSON property `categoricalStatsResult`
2754
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1CategoricalStatsResult]
2755
+ attr_accessor :categorical_stats_result
2756
+
2757
+ # Result of the k-anonymity computation.
2758
+ # Corresponds to the JSON property `kAnonymityResult`
2759
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1KAnonymityResult]
2760
+ attr_accessor :k_anonymity_result
2761
+
2762
+ # Result of the l-diversity computation.
2763
+ # Corresponds to the JSON property `lDiversityResult`
2764
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1LDiversityResult]
2765
+ attr_accessor :l_diversity_result
2766
+
2767
+ # Result of the numerical stats computation.
2768
+ # Corresponds to the JSON property `numericalStatsResult`
2769
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1NumericalStatsResult]
2770
+ attr_accessor :numerical_stats_result
2771
+
2772
+ def initialize(**args)
2773
+ update!(**args)
2774
+ end
2775
+
2776
+ # Update properties of this object
2777
+ def update!(**args)
2778
+ @categorical_stats_result = args[:categorical_stats_result] if args.key?(:categorical_stats_result)
2779
+ @k_anonymity_result = args[:k_anonymity_result] if args.key?(:k_anonymity_result)
2780
+ @l_diversity_result = args[:l_diversity_result] if args.key?(:l_diversity_result)
2781
+ @numerical_stats_result = args[:numerical_stats_result] if args.key?(:numerical_stats_result)
2782
+ end
2783
+ end
2784
+
1404
2785
  #
1405
2786
  class GooglePrivacyDlpV2beta1Row
1406
2787
  include Google::Apis::Core::Hashable
@@ -1452,6 +2833,39 @@ module Google
1452
2833
  end
1453
2834
  end
1454
2835
 
2836
+ # A collection that informs the user the number of times a particular
2837
+ # `TransformationResultCode` and error details occurred.
2838
+ class GooglePrivacyDlpV2beta1SummaryResult
2839
+ include Google::Apis::Core::Hashable
2840
+
2841
+ #
2842
+ # Corresponds to the JSON property `code`
2843
+ # @return [String]
2844
+ attr_accessor :code
2845
+
2846
+ #
2847
+ # Corresponds to the JSON property `count`
2848
+ # @return [Fixnum]
2849
+ attr_accessor :count
2850
+
2851
+ # A place for warnings or errors to show up if a transformation didn't
2852
+ # work as expected.
2853
+ # Corresponds to the JSON property `details`
2854
+ # @return [String]
2855
+ attr_accessor :details
2856
+
2857
+ def initialize(**args)
2858
+ update!(**args)
2859
+ end
2860
+
2861
+ # Update properties of this object
2862
+ def update!(**args)
2863
+ @code = args[:code] if args.key?(:code)
2864
+ @count = args[:count] if args.key?(:count)
2865
+ @details = args[:details] if args.key?(:details)
2866
+ end
2867
+ end
2868
+
1455
2869
  # Structured content to inspect. Up to 50,000 `Value`s per request allowed.
1456
2870
  class GooglePrivacyDlpV2beta1Table
1457
2871
  include Google::Apis::Core::Hashable
@@ -1496,6 +2910,123 @@ module Google
1496
2910
  end
1497
2911
  end
1498
2912
 
2913
+ # For use with `Date`, `Timestamp`, and `TimeOfDay`, extract or preserve a
2914
+ # portion of the value.
2915
+ class GooglePrivacyDlpV2beta1TimePartConfig
2916
+ include Google::Apis::Core::Hashable
2917
+
2918
+ #
2919
+ # Corresponds to the JSON property `partToExtract`
2920
+ # @return [String]
2921
+ attr_accessor :part_to_extract
2922
+
2923
+ def initialize(**args)
2924
+ update!(**args)
2925
+ end
2926
+
2927
+ # Update properties of this object
2928
+ def update!(**args)
2929
+ @part_to_extract = args[:part_to_extract] if args.key?(:part_to_extract)
2930
+ end
2931
+ end
2932
+
2933
+ # Summary of a single tranformation.
2934
+ class GooglePrivacyDlpV2beta1TransformationSummary
2935
+ include Google::Apis::Core::Hashable
2936
+
2937
+ # General identifier of a data field in a storage service.
2938
+ # Corresponds to the JSON property `field`
2939
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1FieldId]
2940
+ attr_accessor :field
2941
+
2942
+ # The field transformation that was applied. This list will contain
2943
+ # multiple only in the case of errors.
2944
+ # Corresponds to the JSON property `fieldTransformations`
2945
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1FieldTransformation>]
2946
+ attr_accessor :field_transformations
2947
+
2948
+ # Type of information detected by the API.
2949
+ # Corresponds to the JSON property `infoType`
2950
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1InfoType]
2951
+ attr_accessor :info_type
2952
+
2953
+ # Configuration to suppress records whose suppression conditions evaluate to
2954
+ # true.
2955
+ # Corresponds to the JSON property `recordSuppress`
2956
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1RecordSuppression]
2957
+ attr_accessor :record_suppress
2958
+
2959
+ #
2960
+ # Corresponds to the JSON property `results`
2961
+ # @return [Array<Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1SummaryResult>]
2962
+ attr_accessor :results
2963
+
2964
+ # A rule for transforming a value.
2965
+ # Corresponds to the JSON property `transformation`
2966
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1PrimitiveTransformation]
2967
+ attr_accessor :transformation
2968
+
2969
+ def initialize(**args)
2970
+ update!(**args)
2971
+ end
2972
+
2973
+ # Update properties of this object
2974
+ def update!(**args)
2975
+ @field = args[:field] if args.key?(:field)
2976
+ @field_transformations = args[:field_transformations] if args.key?(:field_transformations)
2977
+ @info_type = args[:info_type] if args.key?(:info_type)
2978
+ @record_suppress = args[:record_suppress] if args.key?(:record_suppress)
2979
+ @results = args[:results] if args.key?(:results)
2980
+ @transformation = args[:transformation] if args.key?(:transformation)
2981
+ end
2982
+ end
2983
+
2984
+ # Use this to have a random data crypto key generated.
2985
+ # It will be discarded after the operation/request finishes.
2986
+ class GooglePrivacyDlpV2beta1TransientCryptoKey
2987
+ include Google::Apis::Core::Hashable
2988
+
2989
+ # Name of the key. [required]
2990
+ # This is an arbitrary string used to differentiate different keys.
2991
+ # A unique key is generated per name: two separate `TransientCryptoKey`
2992
+ # protos share the same generated key if their names are the same.
2993
+ # When the data crypto key is generated, this name is not used in any way
2994
+ # (repeating the api call will result in a different key being generated).
2995
+ # Corresponds to the JSON property `name`
2996
+ # @return [String]
2997
+ attr_accessor :name
2998
+
2999
+ def initialize(**args)
3000
+ update!(**args)
3001
+ end
3002
+
3003
+ # Update properties of this object
3004
+ def update!(**args)
3005
+ @name = args[:name] if args.key?(:name)
3006
+ end
3007
+ end
3008
+
3009
+ # Using raw keys is prone to security risks due to accidentally
3010
+ # leaking the key. Choose another type of key if possible.
3011
+ class GooglePrivacyDlpV2beta1UnwrappedCryptoKey
3012
+ include Google::Apis::Core::Hashable
3013
+
3014
+ # The AES 128/192/256 bit key. [required]
3015
+ # Corresponds to the JSON property `key`
3016
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
3017
+ # @return [String]
3018
+ attr_accessor :key
3019
+
3020
+ def initialize(**args)
3021
+ update!(**args)
3022
+ end
3023
+
3024
+ # Update properties of this object
3025
+ def update!(**args)
3026
+ @key = args[:key] if args.key?(:key)
3027
+ end
3028
+ end
3029
+
1499
3030
  # Set of primitive values supported by the system.
1500
3031
  class GooglePrivacyDlpV2beta1Value
1501
3032
  include Google::Apis::Core::Hashable
@@ -1560,6 +3091,31 @@ module Google
1560
3091
  end
1561
3092
  end
1562
3093
 
3094
+ # A value of a field, including its frequency.
3095
+ class GooglePrivacyDlpV2beta1ValueFrequency
3096
+ include Google::Apis::Core::Hashable
3097
+
3098
+ # How many times the value is contained in the field.
3099
+ # Corresponds to the JSON property `count`
3100
+ # @return [Fixnum]
3101
+ attr_accessor :count
3102
+
3103
+ # Set of primitive values supported by the system.
3104
+ # Corresponds to the JSON property `value`
3105
+ # @return [Google::Apis::DlpV2beta1::GooglePrivacyDlpV2beta1Value]
3106
+ attr_accessor :value
3107
+
3108
+ def initialize(**args)
3109
+ update!(**args)
3110
+ end
3111
+
3112
+ # Update properties of this object
3113
+ def update!(**args)
3114
+ @count = args[:count] if args.key?(:count)
3115
+ @value = args[:value] if args.key?(:value)
3116
+ end
3117
+ end
3118
+
1563
3119
  # A generic empty message that you can re-use to avoid defining duplicated
1564
3120
  # empty messages in your APIs. A typical example is to use it as the request
1565
3121
  # or the response type of an API method. For instance: