google-apis-dlp_v2 0.27.0 → 0.30.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -27,13 +27,28 @@ module Google
27
27
  class GooglePrivacyDlpV2Action
28
28
  include Google::Apis::Core::Hashable
29
29
 
30
- # Enable email notification to project owners and editors on jobs's completion/
31
- # failure.
30
+ # Create a de-identified copy of the requested table or files. A
31
+ # TransformationDetail will be created for each transformation. If any rows in
32
+ # BigQuery are skipped during de-identification (transformation errors or row
33
+ # size exceeds BigQuery insert API limits) they are placed in the failure output
34
+ # table. If the original row exceeds the BigQuery insert API limit it will be
35
+ # truncated when written to the failure output table. The failure output table
36
+ # can be set in the action.deidentify.output.big_query_output.
37
+ # deidentified_failure_output_table field, if no table is set, a table will be
38
+ # automatically created in the same project and dataset as the original table.
39
+ # Compatible with: Inspect
40
+ # Corresponds to the JSON property `deidentify`
41
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2Deidentify]
42
+ attr_accessor :deidentify
43
+
44
+ # Sends an email when the job completes. The email goes to IAM project owners
45
+ # and technical [Essential Contacts](https://cloud.google.com/resource-manager/
46
+ # docs/managing-notification-contacts).
32
47
  # Corresponds to the JSON property `jobNotificationEmails`
33
48
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2JobNotificationEmails]
34
49
  attr_accessor :job_notification_emails
35
50
 
36
- # Publish a message into given Pub/Sub topic when DlpJob has completed. The
51
+ # Publish a message into a given Pub/Sub topic when DlpJob has completed. The
37
52
  # message contains a single field, `DlpJobName`, which is equal to the finished
38
53
  # job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/
39
54
  # projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk
@@ -41,15 +56,19 @@ module Google
41
56
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2PublishToPubSub]
42
57
  attr_accessor :pub_sub
43
58
 
44
- # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results
45
- # of the DlpJob will be applied to the entry for the resource scanned in Data
46
- # Catalog. Any labels previously written by another DlpJob will be deleted.
47
- # InfoType naming patterns are strictly enforced when using this feature. Note
48
- # that the findings will be persisted in Data Catalog storage and are governed
49
- # by Data Catalog service-specific policy, see https://cloud.google.com/terms/
50
- # service-terms Only a single instance of this action can be specified and only
51
- # allowed if all resources being scanned are BigQuery tables. Compatible with:
52
- # Inspect
59
+ # Publish findings of a DlpJob to Data Catalog. In Data Catalog, tag templates
60
+ # are applied to the resource that Cloud DLP scanned. Data Catalog tag templates
61
+ # are stored in the same project and region where the BigQuery table exists. For
62
+ # Cloud DLP to create and apply the tag template, the Cloud DLP service agent
63
+ # must have the `roles/datacatalog.tagTemplateOwner` permission on the project.
64
+ # The tag template contains fields summarizing the results of the DlpJob. Any
65
+ # field values previously written by another DlpJob are deleted. InfoType naming
66
+ # patterns are strictly enforced when using this feature. Findings are persisted
67
+ # in Data Catalog storage and are governed by service-specific policies for Data
68
+ # Catalog. For more information, see [Service Specific Terms](https://cloud.
69
+ # google.com/terms/service-terms). Only a single instance of this action can be
70
+ # specified. This action is allowed only if all resources being scanned are
71
+ # BigQuery tables. Compatible with: Inspect
53
72
  # Corresponds to the JSON property `publishFindingsToCloudDataCatalog`
54
73
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2PublishFindingsToCloudDataCatalog]
55
74
  attr_accessor :publish_findings_to_cloud_data_catalog
@@ -57,7 +76,7 @@ module Google
57
76
  # Publish the result summary of a DlpJob to the Cloud Security Command Center (
58
77
  # CSCC Alpha). This action is only available for projects which are parts of an
59
78
  # organization and whitelisted for the alpha Cloud Security Command Center. The
60
- # action will publish count of finding instances and their info types. The
79
+ # action will publish the count of finding instances and their info types. The
61
80
  # summary of findings will be persisted in CSCC and are governed by CSCC service-
62
81
  # specific policy, see https://cloud.google.com/terms/service-terms Only a
63
82
  # single instance of this action can be specified. Compatible with: Inspect
@@ -86,6 +105,7 @@ module Google
86
105
 
87
106
  # Update properties of this object
88
107
  def update!(**args)
108
+ @deidentify = args[:deidentify] if args.key?(:deidentify)
89
109
  @job_notification_emails = args[:job_notification_emails] if args.key?(:job_notification_emails)
90
110
  @pub_sub = args[:pub_sub] if args.key?(:pub_sub)
91
111
  @publish_findings_to_cloud_data_catalog = args[:publish_findings_to_cloud_data_catalog] if args.key?(:publish_findings_to_cloud_data_catalog)
@@ -108,6 +128,32 @@ module Google
108
128
  end
109
129
  end
110
130
 
131
+ # Apply transformation to all findings.
132
+ class GooglePrivacyDlpV2AllInfoTypes
133
+ include Google::Apis::Core::Hashable
134
+
135
+ def initialize(**args)
136
+ update!(**args)
137
+ end
138
+
139
+ # Update properties of this object
140
+ def update!(**args)
141
+ end
142
+ end
143
+
144
+ # Apply to all text.
145
+ class GooglePrivacyDlpV2AllText
146
+ include Google::Apis::Core::Hashable
147
+
148
+ def initialize(**args)
149
+ update!(**args)
150
+ end
151
+
152
+ # Update properties of this object
153
+ def update!(**args)
154
+ end
155
+ end
156
+
111
157
  # Result of a risk analysis operation request.
112
158
  class GooglePrivacyDlpV2AnalyzeDataSourceRiskDetails
113
159
  include Google::Apis::Core::Hashable
@@ -710,7 +756,7 @@ module Google
710
756
  end
711
757
  end
712
758
 
713
- # Options defining a file or a set of files within a Google Cloud Storage bucket.
759
+ # Options defining a file or a set of files within a Cloud Storage bucket.
714
760
  class GooglePrivacyDlpV2CloudStorageOptions
715
761
  include Google::Apis::Core::Hashable
716
762
 
@@ -954,8 +1000,7 @@ module Google
954
1000
  include Google::Apis::Core::Hashable
955
1001
 
956
1002
  # A string representation of the full container name. Examples: - BigQuery: '
957
- # Project:DataSetId.TableId' - Google Cloud Storage: 'gs://Bucket/folders/
958
- # filename.txt'
1003
+ # Project:DataSetId.TableId' - Cloud Storage: 'gs://Bucket/folders/filename.txt'
959
1004
  # Corresponds to the JSON property `fullPath`
960
1005
  # @return [String]
961
1006
  attr_accessor :full_path
@@ -967,34 +1012,34 @@ module Google
967
1012
  attr_accessor :project_id
968
1013
 
969
1014
  # The rest of the path after the root. Examples: - For BigQuery table `
970
- # project_id:dataset_id.table_id`, the relative path is `table_id` - Google
971
- # Cloud Storage file `gs://bucket/folder/filename.txt`, the relative path is `
972
- # folder/filename.txt`
1015
+ # project_id:dataset_id.table_id`, the relative path is `table_id` - For Cloud
1016
+ # Storage file `gs://bucket/folder/filename.txt`, the relative path is `folder/
1017
+ # filename.txt`
973
1018
  # Corresponds to the JSON property `relativePath`
974
1019
  # @return [String]
975
1020
  attr_accessor :relative_path
976
1021
 
977
1022
  # The root of the container. Examples: - For BigQuery table `project_id:
978
- # dataset_id.table_id`, the root is `dataset_id` - For Google Cloud Storage file
979
- # `gs://bucket/folder/filename.txt`, the root is `gs://bucket`
1023
+ # dataset_id.table_id`, the root is `dataset_id` - For Cloud Storage file `gs://
1024
+ # bucket/folder/filename.txt`, the root is `gs://bucket`
980
1025
  # Corresponds to the JSON property `rootPath`
981
1026
  # @return [String]
982
1027
  attr_accessor :root_path
983
1028
 
984
- # Container type, for example BigQuery or Google Cloud Storage.
1029
+ # Container type, for example BigQuery or Cloud Storage.
985
1030
  # Corresponds to the JSON property `type`
986
1031
  # @return [String]
987
1032
  attr_accessor :type
988
1033
 
989
- # Findings container modification timestamp, if applicable. For Google Cloud
990
- # Storage contains last file modification timestamp. For BigQuery table contains
991
- # last_modified_time property. For Datastore - not populated.
1034
+ # Findings container modification timestamp, if applicable. For Cloud Storage,
1035
+ # this field contains the last file modification timestamp. For a BigQuery table,
1036
+ # this field contains the last_modified_time property. For Datastore, this
1037
+ # field isn't populated.
992
1038
  # Corresponds to the JSON property `updateTime`
993
1039
  # @return [String]
994
1040
  attr_accessor :update_time
995
1041
 
996
- # Findings container version, if available ("generation" for Google Cloud
997
- # Storage).
1042
+ # Findings container version, if available ("generation" for Cloud Storage).
998
1043
  # Corresponds to the JSON property `version`
999
1044
  # @return [String]
1000
1045
  attr_accessor :version
@@ -1058,20 +1103,20 @@ module Google
1058
1103
  # formatted as follows: * BigQuery tables: ``project_id`:`dataset_id`.`table_id``
1059
1104
  # * Cloud Storage files: `gs://`bucket`/`path`` * Datastore namespace: `
1060
1105
  # namespace` Nested names could be absent if the embedded object has no string
1061
- # identifier (for an example an image contained within a document).
1106
+ # identifier (for example, an image contained within a document).
1062
1107
  # Corresponds to the JSON property `containerName`
1063
1108
  # @return [String]
1064
1109
  attr_accessor :container_name
1065
1110
 
1066
- # Findings container modification timestamp, if applicable. For Google Cloud
1067
- # Storage contains last file modification timestamp. For BigQuery table contains
1068
- # last_modified_time property. For Datastore - not populated.
1111
+ # Finding container modification timestamp, if applicable. For Cloud Storage,
1112
+ # this field contains the last file modification timestamp. For a BigQuery table,
1113
+ # this field contains the last_modified_time property. For Datastore, this
1114
+ # field isn't populated.
1069
1115
  # Corresponds to the JSON property `containerTimestamp`
1070
1116
  # @return [String]
1071
1117
  attr_accessor :container_timestamp
1072
1118
 
1073
- # Findings container version, if available ("generation" for Google Cloud
1074
- # Storage).
1119
+ # Finding container version, if available ("generation" for Cloud Storage).
1075
1120
  # Corresponds to the JSON property `containerVersion`
1076
1121
  # @return [String]
1077
1122
  attr_accessor :container_version
@@ -1711,10 +1756,10 @@ module Google
1711
1756
  end
1712
1757
  end
1713
1758
 
1714
- # The message that will be published to a Pub/Sub topic. To receive a message of
1715
- # protocol buffer schema type, convert the message data to an object of this
1716
- # proto class. https://cloud.google.com/pubsub/docs/samples/pubsub-subscribe-
1717
- # proto-messages
1759
+ # Pub/Sub topic message for a DataProfileAction.PubSubNotification event. To
1760
+ # receive a message of protocol buffer schema type, convert the message data to
1761
+ # an object of this proto class. https://cloud.google.com/pubsub/docs/samples/
1762
+ # pubsub-subscribe-proto-messages
1718
1763
  class GooglePrivacyDlpV2DataProfilePubSubMessage
1719
1764
  include Google::Apis::Core::Hashable
1720
1765
 
@@ -1740,7 +1785,7 @@ module Google
1740
1785
  end
1741
1786
 
1742
1787
  # Score is a summary of all elements in the data profile. A higher number means
1743
- # more risky.
1788
+ # more risk.
1744
1789
  class GooglePrivacyDlpV2DataRiskLevel
1745
1790
  include Google::Apis::Core::Hashable
1746
1791
 
@@ -1898,10 +1943,72 @@ module Google
1898
1943
  end
1899
1944
  end
1900
1945
 
1946
+ # Create a de-identified copy of the requested table or files. A
1947
+ # TransformationDetail will be created for each transformation. If any rows in
1948
+ # BigQuery are skipped during de-identification (transformation errors or row
1949
+ # size exceeds BigQuery insert API limits) they are placed in the failure output
1950
+ # table. If the original row exceeds the BigQuery insert API limit it will be
1951
+ # truncated when written to the failure output table. The failure output table
1952
+ # can be set in the action.deidentify.output.big_query_output.
1953
+ # deidentified_failure_output_table field, if no table is set, a table will be
1954
+ # automatically created in the same project and dataset as the original table.
1955
+ # Compatible with: Inspect
1956
+ class GooglePrivacyDlpV2Deidentify
1957
+ include Google::Apis::Core::Hashable
1958
+
1959
+ # Required. User settable Cloud Storage bucket and folders to store de-
1960
+ # identified files. This field must be set for cloud storage deidentification.
1961
+ # The output Cloud Storage bucket must be different from the input bucket. De-
1962
+ # identified files will overwrite files in the output path. Form of: gs://bucket/
1963
+ # folder/ or gs://bucket
1964
+ # Corresponds to the JSON property `cloudStorageOutput`
1965
+ # @return [String]
1966
+ attr_accessor :cloud_storage_output
1967
+
1968
+ # List of user-specified file type groups to transform. If specified, only the
1969
+ # files with these filetypes will be transformed. If empty, all supported files
1970
+ # will be transformed. Supported types may be automatically added over time. If
1971
+ # a file type is set in this field that isn't supported by the Deidentify action
1972
+ # then the job will fail and will not be successfully created/started. Currently
1973
+ # the only filetypes supported are: IMAGES, TEXT_FILES, CSV, TSV.
1974
+ # Corresponds to the JSON property `fileTypesToTransform`
1975
+ # @return [Array<String>]
1976
+ attr_accessor :file_types_to_transform
1977
+
1978
+ # User specified templates and configs for how to deidentify structured,
1979
+ # unstructures, and image files. User must provide either a unstructured
1980
+ # deidentify template or at least one redact image config.
1981
+ # Corresponds to the JSON property `transformationConfig`
1982
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2TransformationConfig]
1983
+ attr_accessor :transformation_config
1984
+
1985
+ # Config for storing transformation details.
1986
+ # Corresponds to the JSON property `transformationDetailsStorageConfig`
1987
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2TransformationDetailsStorageConfig]
1988
+ attr_accessor :transformation_details_storage_config
1989
+
1990
+ def initialize(**args)
1991
+ update!(**args)
1992
+ end
1993
+
1994
+ # Update properties of this object
1995
+ def update!(**args)
1996
+ @cloud_storage_output = args[:cloud_storage_output] if args.key?(:cloud_storage_output)
1997
+ @file_types_to_transform = args[:file_types_to_transform] if args.key?(:file_types_to_transform)
1998
+ @transformation_config = args[:transformation_config] if args.key?(:transformation_config)
1999
+ @transformation_details_storage_config = args[:transformation_details_storage_config] if args.key?(:transformation_details_storage_config)
2000
+ end
2001
+ end
2002
+
1901
2003
  # The configuration that controls how the data will change.
1902
2004
  class GooglePrivacyDlpV2DeidentifyConfig
1903
2005
  include Google::Apis::Core::Hashable
1904
2006
 
2007
+ # A type of transformation that is applied over images.
2008
+ # Corresponds to the JSON property `imageTransformations`
2009
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2ImageTransformations]
2010
+ attr_accessor :image_transformations
2011
+
1905
2012
  # A type of transformation that will scan unstructured text and apply various `
1906
2013
  # PrimitiveTransformation`s to each finding, where the transformation is applied
1907
2014
  # to only values that were identified as a specific info_type.
@@ -1931,13 +2038,14 @@ module Google
1931
2038
 
1932
2039
  # Update properties of this object
1933
2040
  def update!(**args)
2041
+ @image_transformations = args[:image_transformations] if args.key?(:image_transformations)
1934
2042
  @info_type_transformations = args[:info_type_transformations] if args.key?(:info_type_transformations)
1935
2043
  @record_transformations = args[:record_transformations] if args.key?(:record_transformations)
1936
2044
  @transformation_error_handling = args[:transformation_error_handling] if args.key?(:transformation_error_handling)
1937
2045
  end
1938
2046
  end
1939
2047
 
1940
- # Request to de-identify a list of items.
2048
+ # Request to de-identify a ContentItem.
1941
2049
  class GooglePrivacyDlpV2DeidentifyContentRequest
1942
2050
  include Google::Apis::Core::Hashable
1943
2051
 
@@ -2427,7 +2535,7 @@ module Google
2427
2535
  end
2428
2536
  end
2429
2537
 
2430
- # List of exclude infoTypes.
2538
+ # List of excluded infoTypes.
2431
2539
  class GooglePrivacyDlpV2ExcludeInfoTypes
2432
2540
  include Google::Apis::Core::Hashable
2433
2541
 
@@ -2479,7 +2587,7 @@ module Google
2479
2587
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2Dictionary]
2480
2588
  attr_accessor :dictionary
2481
2589
 
2482
- # List of exclude infoTypes.
2590
+ # List of excluded infoTypes.
2483
2591
  # Corresponds to the JSON property `excludeInfoTypes`
2484
2592
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2ExcludeInfoTypes]
2485
2593
  attr_accessor :exclude_info_types
@@ -2529,7 +2637,7 @@ module Google
2529
2637
  end
2530
2638
  end
2531
2639
 
2532
- # An expression, consisting or an operator and conditions.
2640
+ # An expression, consisting of an operator and conditions.
2533
2641
  class GooglePrivacyDlpV2Expressions
2534
2642
  include Google::Apis::Core::Hashable
2535
2643
 
@@ -2767,7 +2875,10 @@ module Google
2767
2875
  end
2768
2876
 
2769
2877
  # Configuration to control the number of findings returned for inspection. This
2770
- # is not used for de-identification or data profiling.
2878
+ # is not used for de-identification or data profiling. When redacting sensitive
2879
+ # data from images, finding limits don't apply. They can cause unexpected or
2880
+ # inconsistent results, where only some data is redacted. Don't include finding
2881
+ # limits in RedactImage requests. Otherwise, Cloud DLP returns an error.
2771
2882
  class GooglePrivacyDlpV2FindingLimits
2772
2883
  include Google::Apis::Core::Hashable
2773
2884
 
@@ -3168,6 +3279,62 @@ module Google
3168
3279
  end
3169
3280
  end
3170
3281
 
3282
+ # Configuration for determining how redaction of images should occur.
3283
+ class GooglePrivacyDlpV2ImageTransformation
3284
+ include Google::Apis::Core::Hashable
3285
+
3286
+ # Apply transformation to all findings.
3287
+ # Corresponds to the JSON property `allInfoTypes`
3288
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2AllInfoTypes]
3289
+ attr_accessor :all_info_types
3290
+
3291
+ # Apply to all text.
3292
+ # Corresponds to the JSON property `allText`
3293
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2AllText]
3294
+ attr_accessor :all_text
3295
+
3296
+ # Represents a color in the RGB color space.
3297
+ # Corresponds to the JSON property `redactionColor`
3298
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2Color]
3299
+ attr_accessor :redaction_color
3300
+
3301
+ # Apply transformation to the selected info_types.
3302
+ # Corresponds to the JSON property `selectedInfoTypes`
3303
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2SelectedInfoTypes]
3304
+ attr_accessor :selected_info_types
3305
+
3306
+ def initialize(**args)
3307
+ update!(**args)
3308
+ end
3309
+
3310
+ # Update properties of this object
3311
+ def update!(**args)
3312
+ @all_info_types = args[:all_info_types] if args.key?(:all_info_types)
3313
+ @all_text = args[:all_text] if args.key?(:all_text)
3314
+ @redaction_color = args[:redaction_color] if args.key?(:redaction_color)
3315
+ @selected_info_types = args[:selected_info_types] if args.key?(:selected_info_types)
3316
+ end
3317
+ end
3318
+
3319
+ # A type of transformation that is applied over images.
3320
+ class GooglePrivacyDlpV2ImageTransformations
3321
+ include Google::Apis::Core::Hashable
3322
+
3323
+ #
3324
+ # Corresponds to the JSON property `transforms`
3325
+ # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2ImageTransformation>]
3326
+ attr_accessor :transforms
3327
+
3328
+ def initialize(**args)
3329
+ update!(**args)
3330
+ end
3331
+
3332
+ # Update properties of this object
3333
+ def update!(**args)
3334
+ @transforms = args[:transforms] if args.key?(:transforms)
3335
+ end
3336
+ end
3337
+
3171
3338
  # Type of information detected by the API.
3172
3339
  class GooglePrivacyDlpV2InfoType
3173
3340
  include Google::Apis::Core::Hashable
@@ -3260,6 +3427,11 @@ module Google
3260
3427
  # @return [Array<String>]
3261
3428
  attr_accessor :supported_by
3262
3429
 
3430
+ # A list of available versions for the infotype.
3431
+ # Corresponds to the JSON property `versions`
3432
+ # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2VersionDescription>]
3433
+ attr_accessor :versions
3434
+
3263
3435
  def initialize(**args)
3264
3436
  update!(**args)
3265
3437
  end
@@ -3271,6 +3443,7 @@ module Google
3271
3443
  @display_name = args[:display_name] if args.key?(:display_name)
3272
3444
  @name = args[:name] if args.key?(:name)
3273
3445
  @supported_by = args[:supported_by] if args.key?(:supported_by)
3446
+ @versions = args[:versions] if args.key?(:versions)
3274
3447
  end
3275
3448
  end
3276
3449
 
@@ -3444,7 +3617,10 @@ module Google
3444
3617
  attr_accessor :info_types
3445
3618
 
3446
3619
  # Configuration to control the number of findings returned for inspection. This
3447
- # is not used for de-identification or data profiling.
3620
+ # is not used for de-identification or data profiling. When redacting sensitive
3621
+ # data from images, finding limits don't apply. They can cause unexpected or
3622
+ # inconsistent results, where only some data is redacted. Don't include finding
3623
+ # limits in RedactImage requests. Otherwise, Cloud DLP returns an error.
3448
3624
  # Corresponds to the JSON property `limits`
3449
3625
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2FindingLimits]
3450
3626
  attr_accessor :limits
@@ -3743,8 +3919,9 @@ module Google
3743
3919
  end
3744
3920
  end
3745
3921
 
3746
- # Enable email notification to project owners and editors on jobs's completion/
3747
- # failure.
3922
+ # Sends an email when the job completes. The email goes to IAM project owners
3923
+ # and technical [Essential Contacts](https://cloud.google.com/resource-manager/
3924
+ # docs/managing-notification-contacts).
3748
3925
  class GooglePrivacyDlpV2JobNotificationEmails
3749
3926
  include Google::Apis::Core::Hashable
3750
3927
 
@@ -4320,8 +4497,8 @@ module Google
4320
4497
  # Configuration for a custom dictionary created from a data source of any size
4321
4498
  # up to the maximum size defined in the [limits](https://cloud.google.com/dlp/
4322
4499
  # limits) page. The artifacts of dictionary creation are stored in the specified
4323
- # Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for
4324
- # smaller dictionaries that satisfy the size requirements.
4500
+ # Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller
4501
+ # dictionaries that satisfy the size requirements.
4325
4502
  class GooglePrivacyDlpV2LargeCustomDictionaryConfig
4326
4503
  include Google::Apis::Core::Hashable
4327
4504
 
@@ -5164,15 +5341,19 @@ module Google
5164
5341
  end
5165
5342
  end
5166
5343
 
5167
- # Publish findings of a DlpJob to Data Catalog. Labels summarizing the results
5168
- # of the DlpJob will be applied to the entry for the resource scanned in Data
5169
- # Catalog. Any labels previously written by another DlpJob will be deleted.
5170
- # InfoType naming patterns are strictly enforced when using this feature. Note
5171
- # that the findings will be persisted in Data Catalog storage and are governed
5172
- # by Data Catalog service-specific policy, see https://cloud.google.com/terms/
5173
- # service-terms Only a single instance of this action can be specified and only
5174
- # allowed if all resources being scanned are BigQuery tables. Compatible with:
5175
- # Inspect
5344
+ # Publish findings of a DlpJob to Data Catalog. In Data Catalog, tag templates
5345
+ # are applied to the resource that Cloud DLP scanned. Data Catalog tag templates
5346
+ # are stored in the same project and region where the BigQuery table exists. For
5347
+ # Cloud DLP to create and apply the tag template, the Cloud DLP service agent
5348
+ # must have the `roles/datacatalog.tagTemplateOwner` permission on the project.
5349
+ # The tag template contains fields summarizing the results of the DlpJob. Any
5350
+ # field values previously written by another DlpJob are deleted. InfoType naming
5351
+ # patterns are strictly enforced when using this feature. Findings are persisted
5352
+ # in Data Catalog storage and are governed by service-specific policies for Data
5353
+ # Catalog. For more information, see [Service Specific Terms](https://cloud.
5354
+ # google.com/terms/service-terms). Only a single instance of this action can be
5355
+ # specified. This action is allowed only if all resources being scanned are
5356
+ # BigQuery tables. Compatible with: Inspect
5176
5357
  class GooglePrivacyDlpV2PublishFindingsToCloudDataCatalog
5177
5358
  include Google::Apis::Core::Hashable
5178
5359
 
@@ -5188,7 +5369,7 @@ module Google
5188
5369
  # Publish the result summary of a DlpJob to the Cloud Security Command Center (
5189
5370
  # CSCC Alpha). This action is only available for projects which are parts of an
5190
5371
  # organization and whitelisted for the alpha Cloud Security Command Center. The
5191
- # action will publish count of finding instances and their info types. The
5372
+ # action will publish the count of finding instances and their info types. The
5192
5373
  # summary of findings will be persisted in CSCC and are governed by CSCC service-
5193
5374
  # specific policy, see https://cloud.google.com/terms/service-terms Only a
5194
5375
  # single instance of this action can be specified. Compatible with: Inspect
@@ -5204,7 +5385,7 @@ module Google
5204
5385
  end
5205
5386
  end
5206
5387
 
5207
- # Publish a message into given Pub/Sub topic when DlpJob has completed. The
5388
+ # Publish a message into a given Pub/Sub topic when DlpJob has completed. The
5208
5389
  # message contains a single field, `DlpJobName`, which is equal to the finished
5209
5390
  # job's [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/
5210
5391
  # projects.dlpJobs#DlpJob). Compatible with: Inspect, Risk
@@ -5390,7 +5571,7 @@ module Google
5390
5571
  class GooglePrivacyDlpV2RecordCondition
5391
5572
  include Google::Apis::Core::Hashable
5392
5573
 
5393
- # An expression, consisting or an operator and conditions.
5574
+ # An expression, consisting of an operator and conditions.
5394
5575
  # Corresponds to the JSON property `expressions`
5395
5576
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2Expressions]
5396
5577
  attr_accessor :expressions
@@ -5489,6 +5670,37 @@ module Google
5489
5670
  end
5490
5671
  end
5491
5672
 
5673
+ #
5674
+ class GooglePrivacyDlpV2RecordTransformation
5675
+ include Google::Apis::Core::Hashable
5676
+
5677
+ # Findings container modification timestamp, if applicable.
5678
+ # Corresponds to the JSON property `containerTimestamp`
5679
+ # @return [String]
5680
+ attr_accessor :container_timestamp
5681
+
5682
+ # Container version, if available ("generation" for Cloud Storage).
5683
+ # Corresponds to the JSON property `containerVersion`
5684
+ # @return [String]
5685
+ attr_accessor :container_version
5686
+
5687
+ # General identifier of a data field in a storage service.
5688
+ # Corresponds to the JSON property `fieldId`
5689
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2FieldId]
5690
+ attr_accessor :field_id
5691
+
5692
+ def initialize(**args)
5693
+ update!(**args)
5694
+ end
5695
+
5696
+ # Update properties of this object
5697
+ def update!(**args)
5698
+ @container_timestamp = args[:container_timestamp] if args.key?(:container_timestamp)
5699
+ @container_version = args[:container_version] if args.key?(:container_version)
5700
+ @field_id = args[:field_id] if args.key?(:field_id)
5701
+ end
5702
+ end
5703
+
5492
5704
  # A type of transformation that is applied over structured data such as a table.
5493
5705
  class GooglePrivacyDlpV2RecordTransformations
5494
5706
  include Google::Apis::Core::Hashable
@@ -5695,7 +5907,7 @@ module Google
5695
5907
  end
5696
5908
  end
5697
5909
 
5698
- # Results of re-identifying a item.
5910
+ # Results of re-identifying an item.
5699
5911
  class GooglePrivacyDlpV2ReidentifyContentResponse
5700
5912
  include Google::Apis::Core::Hashable
5701
5913
 
@@ -5940,11 +6152,11 @@ module Google
5940
6152
  class GooglePrivacyDlpV2Schedule
5941
6153
  include Google::Apis::Core::Hashable
5942
6154
 
5943
- # With this option a job is started a regular periodic basis. For example: every
5944
- # day (86400 seconds). A scheduled start time will be skipped if the previous
5945
- # execution has not ended when its scheduled time occurs. This value must be set
5946
- # to a time duration greater than or equal to 1 day and can be no longer than 60
5947
- # days.
6155
+ # With this option a job is started on a regular periodic basis. For example:
6156
+ # every day (86400 seconds). A scheduled start time will be skipped if the
6157
+ # previous execution has not ended when its scheduled time occurs. This value
6158
+ # must be set to a time duration greater than or equal to 1 day and can be no
6159
+ # longer than 60 days.
5948
6160
  # Corresponds to the JSON property `recurrencePeriodDuration`
5949
6161
  # @return [String]
5950
6162
  attr_accessor :recurrence_period_duration
@@ -5959,6 +6171,26 @@ module Google
5959
6171
  end
5960
6172
  end
5961
6173
 
6174
+ # Apply transformation to the selected info_types.
6175
+ class GooglePrivacyDlpV2SelectedInfoTypes
6176
+ include Google::Apis::Core::Hashable
6177
+
6178
+ # Required. InfoTypes to apply the transformation to. Required. Provided
6179
+ # InfoType must be unique within the ImageTransformations message.
6180
+ # Corresponds to the JSON property `infoTypes`
6181
+ # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2InfoType>]
6182
+ attr_accessor :info_types
6183
+
6184
+ def initialize(**args)
6185
+ update!(**args)
6186
+ end
6187
+
6188
+ # Update properties of this object
6189
+ def update!(**args)
6190
+ @info_types = args[:info_types] if args.key?(:info_types)
6191
+ end
6192
+ end
6193
+
5962
6194
  # Score is a summary of all elements in the data profile. A higher number means
5963
6195
  # more sensitive.
5964
6196
  class GooglePrivacyDlpV2SensitivityScore
@@ -6026,7 +6258,7 @@ module Google
6026
6258
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2BigQueryOptions]
6027
6259
  attr_accessor :big_query_options
6028
6260
 
6029
- # Options defining a file or a set of files within a Google Cloud Storage bucket.
6261
+ # Options defining a file or a set of files within a Cloud Storage bucket.
6030
6262
  # Corresponds to the JSON property `cloudStorageOptions`
6031
6263
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2CloudStorageOptions]
6032
6264
  attr_accessor :cloud_storage_options
@@ -6043,7 +6275,7 @@ module Google
6043
6275
  attr_accessor :hybrid_options
6044
6276
 
6045
6277
  # Configuration of the timespan of the items to include in scanning. Currently
6046
- # only supported when inspecting Google Cloud Storage and BigQuery.
6278
+ # only supported when inspecting Cloud Storage and BigQuery.
6047
6279
  # Corresponds to the JSON property `timespanConfig`
6048
6280
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2TimespanConfig]
6049
6281
  attr_accessor :timespan_config
@@ -6155,8 +6387,8 @@ module Google
6155
6387
  # Configuration for a custom dictionary created from a data source of any size
6156
6388
  # up to the maximum size defined in the [limits](https://cloud.google.com/dlp/
6157
6389
  # limits) page. The artifacts of dictionary creation are stored in the specified
6158
- # Google Cloud Storage location. Consider using `CustomInfoType.Dictionary` for
6159
- # smaller dictionaries that satisfy the size requirements.
6390
+ # Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller
6391
+ # dictionaries that satisfy the size requirements.
6160
6392
  # Corresponds to the JSON property `largeCustomDictionary`
6161
6393
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2LargeCustomDictionaryConfig]
6162
6394
  attr_accessor :large_custom_dictionary
@@ -6221,9 +6453,9 @@ module Google
6221
6453
  # detected in the storedInfoType data that render it unusable. Only the five
6222
6454
  # most recent errors will be displayed, with the most recent error appearing
6223
6455
  # first. For example, some of the data for stored custom dictionaries is put in
6224
- # the user's Google Cloud Storage bucket, and if this data is modified or
6225
- # deleted by the user or another system, the dictionary becomes invalid. If any
6226
- # errors occur, fix the problem indicated by the error message and use the
6456
+ # the user's Cloud Storage bucket, and if this data is modified or deleted by
6457
+ # the user or another system, the dictionary becomes invalid. If any errors
6458
+ # occur, fix the problem indicated by the error message and use the
6227
6459
  # UpdateStoredInfoType API method to create another version of the
6228
6460
  # storedInfoType to continue using it, reusing the same `config` if it was not
6229
6461
  # the source of the error.
@@ -6378,7 +6610,7 @@ module Google
6378
6610
  attr_accessor :create_time
6379
6611
 
6380
6612
  # Score is a summary of all elements in the data profile. A higher number means
6381
- # more risky.
6613
+ # more risk.
6382
6614
  # Corresponds to the JSON property `dataRiskLevel`
6383
6615
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DataRiskLevel]
6384
6616
  attr_accessor :data_risk_level
@@ -6672,7 +6904,7 @@ module Google
6672
6904
  end
6673
6905
 
6674
6906
  # Configuration of the timespan of the items to include in scanning. Currently
6675
- # only supported when inspecting Google Cloud Storage and BigQuery.
6907
+ # only supported when inspecting Cloud Storage and BigQuery.
6676
6908
  class GooglePrivacyDlpV2TimespanConfig
6677
6909
  include Google::Apis::Core::Hashable
6678
6910
 
@@ -6715,6 +6947,176 @@ module Google
6715
6947
  end
6716
6948
  end
6717
6949
 
6950
+ # User specified templates and configs for how to deidentify structured,
6951
+ # unstructures, and image files. User must provide either a unstructured
6952
+ # deidentify template or at least one redact image config.
6953
+ class GooglePrivacyDlpV2TransformationConfig
6954
+ include Google::Apis::Core::Hashable
6955
+
6956
+ # De-identify template. If this template is specified, it will serve as the
6957
+ # default de-identify template. This template cannot contain `
6958
+ # record_transformations` since it can be used for unstructured content such as
6959
+ # free-form text files. If this template is not set, a default `
6960
+ # ReplaceWithInfoTypeConfig` will be used to de-identify unstructured content.
6961
+ # Corresponds to the JSON property `deidentifyTemplate`
6962
+ # @return [String]
6963
+ attr_accessor :deidentify_template
6964
+
6965
+ # Image redact template. If this template is specified, it will serve as the de-
6966
+ # identify template for images. If this template is not set, all findings in the
6967
+ # image will be redacted with a black box.
6968
+ # Corresponds to the JSON property `imageRedactTemplate`
6969
+ # @return [String]
6970
+ attr_accessor :image_redact_template
6971
+
6972
+ # Structured de-identify template. If this template is specified, it will serve
6973
+ # as the de-identify template for structured content such as delimited files and
6974
+ # tables. If this template is not set but the `deidentify_template` is set, then
6975
+ # `deidentify_template` will also apply to the structured content. If neither
6976
+ # template is set, a default `ReplaceWithInfoTypeConfig` will be used to de-
6977
+ # identify structured content.
6978
+ # Corresponds to the JSON property `structuredDeidentifyTemplate`
6979
+ # @return [String]
6980
+ attr_accessor :structured_deidentify_template
6981
+
6982
+ def initialize(**args)
6983
+ update!(**args)
6984
+ end
6985
+
6986
+ # Update properties of this object
6987
+ def update!(**args)
6988
+ @deidentify_template = args[:deidentify_template] if args.key?(:deidentify_template)
6989
+ @image_redact_template = args[:image_redact_template] if args.key?(:image_redact_template)
6990
+ @structured_deidentify_template = args[:structured_deidentify_template] if args.key?(:structured_deidentify_template)
6991
+ end
6992
+ end
6993
+
6994
+ # A flattened description of a `PrimitiveTransformation` or `RecordSuppression`.
6995
+ class GooglePrivacyDlpV2TransformationDescription
6996
+ include Google::Apis::Core::Hashable
6997
+
6998
+ # A human-readable string representation of the `RecordCondition` corresponding
6999
+ # to this transformation. Set if a `RecordCondition` was used to determine
7000
+ # whether or not to apply this transformation. Examples: * (age_field > 85) * (
7001
+ # age_field <= 18) * (zip_field exists) * (zip_field == 01234) && (city_field !=
7002
+ # "Springville") * (zip_field == 01234) && (age_field <= 18) && (city_field
7003
+ # exists)
7004
+ # Corresponds to the JSON property `condition`
7005
+ # @return [String]
7006
+ attr_accessor :condition
7007
+
7008
+ # A description of the transformation. This is empty for a RECORD_SUPPRESSION,
7009
+ # or is the output of calling toString() on the `PrimitiveTransformation`
7010
+ # protocol buffer message for any other type of transformation.
7011
+ # Corresponds to the JSON property `description`
7012
+ # @return [String]
7013
+ attr_accessor :description
7014
+
7015
+ # Type of information detected by the API.
7016
+ # Corresponds to the JSON property `infoType`
7017
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2InfoType]
7018
+ attr_accessor :info_type
7019
+
7020
+ # The transformation type.
7021
+ # Corresponds to the JSON property `type`
7022
+ # @return [String]
7023
+ attr_accessor :type
7024
+
7025
+ def initialize(**args)
7026
+ update!(**args)
7027
+ end
7028
+
7029
+ # Update properties of this object
7030
+ def update!(**args)
7031
+ @condition = args[:condition] if args.key?(:condition)
7032
+ @description = args[:description] if args.key?(:description)
7033
+ @info_type = args[:info_type] if args.key?(:info_type)
7034
+ @type = args[:type] if args.key?(:type)
7035
+ end
7036
+ end
7037
+
7038
+ # Details about a single transformation. This object contains a description of
7039
+ # the transformation, information about whether the transformation was
7040
+ # successfully applied, and the precise location where the transformation
7041
+ # occurred. These details are stored in a user-specified BigQuery table.
7042
+ class GooglePrivacyDlpV2TransformationDetails
7043
+ include Google::Apis::Core::Hashable
7044
+
7045
+ # The top level name of the container where the transformation is located (this
7046
+ # will be the source file name or table name).
7047
+ # Corresponds to the JSON property `containerName`
7048
+ # @return [String]
7049
+ attr_accessor :container_name
7050
+
7051
+ # The name of the job that completed the transformation.
7052
+ # Corresponds to the JSON property `resourceName`
7053
+ # @return [String]
7054
+ attr_accessor :resource_name
7055
+
7056
+ # Status of the transformation, if transformation was not successful, this will
7057
+ # specify what caused it to fail, otherwise it will show that the transformation
7058
+ # was successful.
7059
+ # Corresponds to the JSON property `statusDetails`
7060
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2TransformationResultStatus]
7061
+ attr_accessor :status_details
7062
+
7063
+ # Description of transformation. This would only contain more than one element
7064
+ # if there were multiple matching transformations and which one to apply was
7065
+ # ambiguous. Not set for states that contain no transformation, currently only
7066
+ # state that contains no transformation is TransformationResultStateType.
7067
+ # METADATA_UNRETRIEVABLE.
7068
+ # Corresponds to the JSON property `transformation`
7069
+ # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2TransformationDescription>]
7070
+ attr_accessor :transformation
7071
+
7072
+ # Specifies the location of a transformation.
7073
+ # Corresponds to the JSON property `transformationLocation`
7074
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2TransformationLocation]
7075
+ attr_accessor :transformation_location
7076
+
7077
+ # The number of bytes that were transformed. If transformation was unsuccessful
7078
+ # or did not take place because there was no content to transform, this will be
7079
+ # zero.
7080
+ # Corresponds to the JSON property `transformedBytes`
7081
+ # @return [Fixnum]
7082
+ attr_accessor :transformed_bytes
7083
+
7084
+ def initialize(**args)
7085
+ update!(**args)
7086
+ end
7087
+
7088
+ # Update properties of this object
7089
+ def update!(**args)
7090
+ @container_name = args[:container_name] if args.key?(:container_name)
7091
+ @resource_name = args[:resource_name] if args.key?(:resource_name)
7092
+ @status_details = args[:status_details] if args.key?(:status_details)
7093
+ @transformation = args[:transformation] if args.key?(:transformation)
7094
+ @transformation_location = args[:transformation_location] if args.key?(:transformation_location)
7095
+ @transformed_bytes = args[:transformed_bytes] if args.key?(:transformed_bytes)
7096
+ end
7097
+ end
7098
+
7099
+ # Config for storing transformation details.
7100
+ class GooglePrivacyDlpV2TransformationDetailsStorageConfig
7101
+ include Google::Apis::Core::Hashable
7102
+
7103
+ # Message defining the location of a BigQuery table. A table is uniquely
7104
+ # identified by its project_id, dataset_id, and table_name. Within a query a
7105
+ # table is often referenced with a string in the format of: `:.` or `..`.
7106
+ # Corresponds to the JSON property `table`
7107
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2BigQueryTable]
7108
+ attr_accessor :table
7109
+
7110
+ def initialize(**args)
7111
+ update!(**args)
7112
+ end
7113
+
7114
+ # Update properties of this object
7115
+ def update!(**args)
7116
+ @table = args[:table] if args.key?(:table)
7117
+ end
7118
+ end
7119
+
6718
7120
  # How to handle transformation errors during de-identification. A transformation
6719
7121
  # error occurs when the requested transformation is incompatible with the data.
6720
7122
  # For example, trying to de-identify an IP address using a `DateShift`
@@ -6748,6 +7150,42 @@ module Google
6748
7150
  end
6749
7151
  end
6750
7152
 
7153
+ # Specifies the location of a transformation.
7154
+ class GooglePrivacyDlpV2TransformationLocation
7155
+ include Google::Apis::Core::Hashable
7156
+
7157
+ # Information about the functionality of the container where this finding
7158
+ # occurred, if available.
7159
+ # Corresponds to the JSON property `containerType`
7160
+ # @return [String]
7161
+ attr_accessor :container_type
7162
+
7163
+ # For infotype transformations, link to the corresponding findings ID so that
7164
+ # location information does not need to be duplicated. Each findings ID
7165
+ # correlates to an entry in the findings output table, this table only gets
7166
+ # created when users specify to save findings (add the save findings action to
7167
+ # the request).
7168
+ # Corresponds to the JSON property `findingId`
7169
+ # @return [String]
7170
+ attr_accessor :finding_id
7171
+
7172
+ # For record transformations, provide a field and container information.
7173
+ # Corresponds to the JSON property `recordTransformation`
7174
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2RecordTransformation]
7175
+ attr_accessor :record_transformation
7176
+
7177
+ def initialize(**args)
7178
+ update!(**args)
7179
+ end
7180
+
7181
+ # Update properties of this object
7182
+ def update!(**args)
7183
+ @container_type = args[:container_type] if args.key?(:container_type)
7184
+ @finding_id = args[:finding_id] if args.key?(:finding_id)
7185
+ @record_transformation = args[:record_transformation] if args.key?(:record_transformation)
7186
+ end
7187
+ end
7188
+
6751
7189
  # Overview of the modifications that occurred.
6752
7190
  class GooglePrivacyDlpV2TransformationOverview
6753
7191
  include Google::Apis::Core::Hashable
@@ -6773,6 +7211,37 @@ module Google
6773
7211
  end
6774
7212
  end
6775
7213
 
7214
+ #
7215
+ class GooglePrivacyDlpV2TransformationResultStatus
7216
+ include Google::Apis::Core::Hashable
7217
+
7218
+ # The `Status` type defines a logical error model that is suitable for different
7219
+ # programming environments, including REST APIs and RPC APIs. It is used by [
7220
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
7221
+ # data: error code, error message, and error details. You can find out more
7222
+ # about this error model and how to work with it in the [API Design Guide](https:
7223
+ # //cloud.google.com/apis/design/errors).
7224
+ # Corresponds to the JSON property `details`
7225
+ # @return [Google::Apis::DlpV2::GoogleRpcStatus]
7226
+ attr_accessor :details
7227
+
7228
+ # Transformation result status type, this will be either SUCCESS, or it will be
7229
+ # the reason for why the transformation was not completely successful.
7230
+ # Corresponds to the JSON property `resultStatusType`
7231
+ # @return [String]
7232
+ attr_accessor :result_status_type
7233
+
7234
+ def initialize(**args)
7235
+ update!(**args)
7236
+ end
7237
+
7238
+ # Update properties of this object
7239
+ def update!(**args)
7240
+ @details = args[:details] if args.key?(:details)
7241
+ @result_status_type = args[:result_status_type] if args.key?(:result_status_type)
7242
+ end
7243
+ end
7244
+
6776
7245
  # Summary of a single transformation. Only one of 'transformation', '
6777
7246
  # field_transformation', or 'record_suppress' will be set.
6778
7247
  class GooglePrivacyDlpV2TransformationSummary
@@ -7113,6 +7582,31 @@ module Google
7113
7582
  end
7114
7583
  end
7115
7584
 
7585
+ # Details about each available version for an infotype.
7586
+ class GooglePrivacyDlpV2VersionDescription
7587
+ include Google::Apis::Core::Hashable
7588
+
7589
+ # Description of the version.
7590
+ # Corresponds to the JSON property `description`
7591
+ # @return [String]
7592
+ attr_accessor :description
7593
+
7594
+ # Name of the version
7595
+ # Corresponds to the JSON property `version`
7596
+ # @return [String]
7597
+ attr_accessor :version
7598
+
7599
+ def initialize(**args)
7600
+ update!(**args)
7601
+ end
7602
+
7603
+ # Update properties of this object
7604
+ def update!(**args)
7605
+ @description = args[:description] if args.key?(:description)
7606
+ @version = args[:version] if args.key?(:version)
7607
+ end
7608
+ end
7609
+
7116
7610
  # Message defining a list of words or phrases to search for in the data.
7117
7611
  class GooglePrivacyDlpV2WordList
7118
7612
  include Google::Apis::Core::Hashable