google-api-client 0.13.6 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: