google-cloud-dlp-v2 0.12.0 → 0.13.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.
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Dlp
23
23
  module V2
24
- # List of exclude infoTypes.
24
+ # List of excluded infoTypes.
25
25
  # @!attribute [rw] info_types
26
26
  # @return [::Array<::Google::Cloud::Dlp::V2::InfoType>]
27
27
  # InfoType list in ExclusionRule rule drops a finding when it overlaps or
@@ -107,6 +107,12 @@ module Google
107
107
  # @return [::Google::Cloud::Dlp::V2::InspectConfig::FindingLimits]
108
108
  # Configuration to control the number of findings returned.
109
109
  # This is not used for data profiling.
110
+ #
111
+ # When redacting sensitive data from images, finding limits don't apply. They
112
+ # can cause unexpected or inconsistent results, where only some data is
113
+ # redacted. Don't include finding limits in
114
+ # {::Google::Cloud::Dlp::V2::DlpService::Client#redact_image RedactImage}
115
+ # requests. Otherwise, Cloud DLP returns an error.
110
116
  # @!attribute [rw] include_quote
111
117
  # @return [::Boolean]
112
118
  # When true, a contextual quote from the data that triggered a finding is
@@ -134,6 +140,12 @@ module Google
134
140
 
135
141
  # Configuration to control the number of findings returned for inspection.
136
142
  # This is not used for de-identification or data profiling.
143
+ #
144
+ # When redacting sensitive data from images, finding limits don't apply. They
145
+ # can cause unexpected or inconsistent results, where only some data is
146
+ # redacted. Don't include finding limits in
147
+ # {::Google::Cloud::Dlp::V2::DlpService::Client#redact_image RedactImage}
148
+ # requests. Otherwise, Cloud DLP returns an error.
137
149
  # @!attribute [rw] max_findings_per_item
138
150
  # @return [::Integer]
139
151
  # Max number of findings that will be returned for each item scanned.
@@ -399,7 +411,7 @@ module Google
399
411
  # * Datastore namespace: \\{namespace}
400
412
  #
401
413
  # Nested names could be absent if the embedded object has no string
402
- # identifier (for an example an image contained within a document).
414
+ # identifier (for example, an image contained within a document).
403
415
  # @!attribute [rw] record_location
404
416
  # @return [::Google::Cloud::Dlp::V2::RecordLocation]
405
417
  # Location within a row or record of a database table.
@@ -414,14 +426,14 @@ module Google
414
426
  # Location within the metadata for inspected content.
415
427
  # @!attribute [rw] container_timestamp
416
428
  # @return [::Google::Protobuf::Timestamp]
417
- # Findings container modification timestamp, if applicable.
418
- # For Google Cloud Storage contains last file modification timestamp.
419
- # For BigQuery table contains last_modified_time property.
420
- # For Datastore - not populated.
429
+ # Finding container modification timestamp, if applicable. For Cloud Storage,
430
+ # this field contains the last file modification timestamp. For a BigQuery
431
+ # table, this field contains the last_modified_time property. For Datastore,
432
+ # this field isn't populated.
421
433
  # @!attribute [rw] container_version
422
434
  # @return [::String]
423
- # Findings container version, if available
424
- # ("generation" for Google Cloud Storage).
435
+ # Finding container version, if available
436
+ # ("generation" for Cloud Storage).
425
437
  class ContentLocation
426
438
  include ::Google::Protobuf::MessageExts
427
439
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -490,7 +502,7 @@ module Google
490
502
  # Examples of a container include a file, table, or database record.
491
503
  # @!attribute [rw] type
492
504
  # @return [::String]
493
- # Container type, for example BigQuery or Google Cloud Storage.
505
+ # Container type, for example BigQuery or Cloud Storage.
494
506
  # @!attribute [rw] project_id
495
507
  # @return [::String]
496
508
  # Project where the finding was found.
@@ -500,33 +512,35 @@ module Google
500
512
  # A string representation of the full container name.
501
513
  # Examples:
502
514
  # - BigQuery: 'Project:DataSetId.TableId'
503
- # - Google Cloud Storage: 'gs://Bucket/folders/filename.txt'
515
+ # - Cloud Storage: 'gs://Bucket/folders/filename.txt'
504
516
  # @!attribute [rw] root_path
505
517
  # @return [::String]
506
518
  # The root of the container.
507
519
  # Examples:
520
+ #
508
521
  # - For BigQuery table `project_id:dataset_id.table_id`, the root is
509
522
  # `dataset_id`
510
- # - For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root
523
+ # - For Cloud Storage file `gs://bucket/folder/filename.txt`, the root
511
524
  # is `gs://bucket`
512
525
  # @!attribute [rw] relative_path
513
526
  # @return [::String]
514
527
  # The rest of the path after the root.
515
528
  # Examples:
529
+ #
516
530
  # - For BigQuery table `project_id:dataset_id.table_id`, the relative path is
517
531
  # `table_id`
518
- # - Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative
532
+ # - For Cloud Storage file `gs://bucket/folder/filename.txt`, the relative
519
533
  # path is `folder/filename.txt`
520
534
  # @!attribute [rw] update_time
521
535
  # @return [::Google::Protobuf::Timestamp]
522
- # Findings container modification timestamp, if applicable.
523
- # For Google Cloud Storage contains last file modification timestamp.
524
- # For BigQuery table contains last_modified_time property.
525
- # For Datastore - not populated.
536
+ # Findings container modification timestamp, if applicable. For Cloud
537
+ # Storage, this field contains the last file modification timestamp. For a
538
+ # BigQuery table, this field contains the last_modified_time property. For
539
+ # Datastore, this field isn't populated.
526
540
  # @!attribute [rw] version
527
541
  # @return [::String]
528
542
  # Findings container version, if available
529
- # ("generation" for Google Cloud Storage).
543
+ # ("generation" for Cloud Storage).
530
544
  class Container
531
545
  include ::Google::Protobuf::MessageExts
532
546
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -664,7 +678,7 @@ module Google
664
678
  extend ::Google::Protobuf::MessageExts::ClassMethods
665
679
  end
666
680
 
667
- # Request to de-identify a list of items.
681
+ # Request to de-identify a ContentItem.
668
682
  # @!attribute [rw] parent
669
683
  # @return [::String]
670
684
  # Parent resource name.
@@ -791,7 +805,7 @@ module Google
791
805
  extend ::Google::Protobuf::MessageExts::ClassMethods
792
806
  end
793
807
 
794
- # Results of re-identifying a item.
808
+ # Results of re-identifying an item.
795
809
  # @!attribute [rw] item
796
810
  # @return [::Google::Cloud::Dlp::V2::ContentItem]
797
811
  # The re-identified item.
@@ -859,8 +873,8 @@ module Google
859
873
  # Store findings in an existing table or a new table in an existing
860
874
  # dataset. If table_id is not set a new one will be generated
861
875
  # for you with the following format:
862
- # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific timezone will be used for
863
- # generating the date details.
876
+ # dlp_googleapis_yyyy_mm_dd_[dlp_job_id]. Pacific time zone will be used
877
+ # for generating the date details.
864
878
  #
865
879
  # For Inspect, each column in an existing output table must have the same
866
880
  # name, type, and mode of a field in the `Finding` object.
@@ -896,7 +910,7 @@ module Google
896
910
  # `timestamp`.
897
911
  BASIC_COLUMNS = 1
898
912
 
899
- # Schema tailored to findings from scanning Google Cloud Storage.
913
+ # Schema tailored to findings from scanning Cloud Storage.
900
914
  GCS_COLUMNS = 2
901
915
 
902
916
  # Schema tailored to findings from scanning Google Datastore.
@@ -1000,6 +1014,9 @@ module Google
1000
1014
  # @return [::String]
1001
1015
  # Description of the infotype. Translated when language is provided in the
1002
1016
  # request.
1017
+ # @!attribute [rw] versions
1018
+ # @return [::Array<::Google::Cloud::Dlp::V2::VersionDescription>]
1019
+ # A list of available versions for the infotype.
1003
1020
  # @!attribute [rw] categories
1004
1021
  # @return [::Array<::Google::Cloud::Dlp::V2::InfoTypeCategory>]
1005
1022
  # The category of the infoType.
@@ -1201,6 +1218,18 @@ module Google
1201
1218
  end
1202
1219
  end
1203
1220
 
1221
+ # Details about each available version for an infotype.
1222
+ # @!attribute [rw] version
1223
+ # @return [::String]
1224
+ # Name of the version
1225
+ # @!attribute [rw] description
1226
+ # @return [::String]
1227
+ # Description of the version.
1228
+ class VersionDescription
1229
+ include ::Google::Protobuf::MessageExts
1230
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1231
+ end
1232
+
1204
1233
  # Request for the list of infoTypes.
1205
1234
  # @!attribute [rw] parent
1206
1235
  # @return [::String]
@@ -1767,10 +1796,10 @@ module Google
1767
1796
  # @!attribute [rw] estimated_probability
1768
1797
  # @return [::Float]
1769
1798
  # The estimated probability that a given individual sharing these
1770
- # quasi-identifier values is in the dataset. This value, typically called
1771
- # δ, is the ratio between the number of records in the dataset with these
1772
- # quasi-identifier values, and the total number of individuals (inside
1773
- # *and* outside the dataset) with these quasi-identifier values.
1799
+ # quasi-identifier values is in the dataset. This value, typically
1800
+ # called δ, is the ratio between the number of records in the dataset
1801
+ # with these quasi-identifier values, and the total number of individuals
1802
+ # (inside *and* outside the dataset) with these quasi-identifier values.
1774
1803
  # For example, if there are 15 individuals in the dataset who share the
1775
1804
  # same quasi-identifier values, and an estimated 100 people in the entire
1776
1805
  # population with these values, then δ is 0.15.
@@ -1916,6 +1945,9 @@ module Google
1916
1945
  # Treat the dataset as structured. Transformations can be applied to
1917
1946
  # specific locations within structured datasets, such as transforming
1918
1947
  # a column within a table.
1948
+ # @!attribute [rw] image_transformations
1949
+ # @return [::Google::Cloud::Dlp::V2::ImageTransformations]
1950
+ # Treat the dataset as an image and redact.
1919
1951
  # @!attribute [rw] transformation_error_handling
1920
1952
  # @return [::Google::Cloud::Dlp::V2::TransformationErrorHandling]
1921
1953
  # Mode for handling transformation errors. If left unspecified, the default
@@ -1925,6 +1957,58 @@ module Google
1925
1957
  extend ::Google::Protobuf::MessageExts::ClassMethods
1926
1958
  end
1927
1959
 
1960
+ # A type of transformation that is applied over images.
1961
+ # @!attribute [rw] transforms
1962
+ # @return [::Array<::Google::Cloud::Dlp::V2::ImageTransformations::ImageTransformation>]
1963
+ class ImageTransformations
1964
+ include ::Google::Protobuf::MessageExts
1965
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1966
+
1967
+ # Configuration for determining how redaction of images should occur.
1968
+ # @!attribute [rw] selected_info_types
1969
+ # @return [::Google::Cloud::Dlp::V2::ImageTransformations::ImageTransformation::SelectedInfoTypes]
1970
+ # Apply transformation to the selected info_types.
1971
+ # @!attribute [rw] all_info_types
1972
+ # @return [::Google::Cloud::Dlp::V2::ImageTransformations::ImageTransformation::AllInfoTypes]
1973
+ # Apply transformation to all findings not specified in other
1974
+ # ImageTransformation's selected_info_types. Only one instance is allowed
1975
+ # within the ImageTransformations message.
1976
+ # @!attribute [rw] all_text
1977
+ # @return [::Google::Cloud::Dlp::V2::ImageTransformations::ImageTransformation::AllText]
1978
+ # Apply transformation to all text that doesn't match an infoType. Only
1979
+ # one instance is allowed within the ImageTransformations message.
1980
+ # @!attribute [rw] redaction_color
1981
+ # @return [::Google::Cloud::Dlp::V2::Color]
1982
+ # The color to use when redacting content from an image. If not
1983
+ # specified, the default is black.
1984
+ class ImageTransformation
1985
+ include ::Google::Protobuf::MessageExts
1986
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1987
+
1988
+ # Apply transformation to the selected info_types.
1989
+ # @!attribute [rw] info_types
1990
+ # @return [::Array<::Google::Cloud::Dlp::V2::InfoType>]
1991
+ # Required. InfoTypes to apply the transformation to. Required. Provided InfoType
1992
+ # must be unique within the ImageTransformations message.
1993
+ class SelectedInfoTypes
1994
+ include ::Google::Protobuf::MessageExts
1995
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1996
+ end
1997
+
1998
+ # Apply transformation to all findings.
1999
+ class AllInfoTypes
2000
+ include ::Google::Protobuf::MessageExts
2001
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2002
+ end
2003
+
2004
+ # Apply to all text.
2005
+ class AllText
2006
+ include ::Google::Protobuf::MessageExts
2007
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2008
+ end
2009
+ end
2010
+ end
2011
+
1928
2012
  # How to handle transformation errors during de-identification. A
1929
2013
  # transformation error occurs when the requested transformation is incompatible
1930
2014
  # with the data. For example, trying to de-identify an IP address using a
@@ -2111,7 +2195,7 @@ module Google
2111
2195
  # plaintext would be used as is for encryption.
2112
2196
  #
2113
2197
  # Note that case (1) is expected when an `InfoTypeTransformation` is
2114
- # applied to both structured and non-structured `ContentItem`s.
2198
+ # applied to both structured and unstructured `ContentItem`s.
2115
2199
  class CryptoDeterministicConfig
2116
2200
  include ::Google::Protobuf::MessageExts
2117
2201
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2164,7 +2248,7 @@ module Google
2164
2248
  include ::Google::Protobuf::MessageExts
2165
2249
  extend ::Google::Protobuf::MessageExts::ClassMethods
2166
2250
 
2167
- # Convenience enum for indication common characters to not transform.
2251
+ # Convenience enum for indicating common characters to not transform.
2168
2252
  module CommonCharsToIgnore
2169
2253
  # Unused.
2170
2254
  COMMON_CHARS_TO_IGNORE_UNSPECIFIED = 0
@@ -2202,6 +2286,21 @@ module Google
2202
2286
  # @return [::Integer]
2203
2287
  # Number of characters to mask. If not set, all matching chars will be
2204
2288
  # masked. Skipped characters do not count towards this tally.
2289
+ #
2290
+ # If `number_to_mask` is negative, this denotes inverse masking. Cloud DLP
2291
+ # masks all but a number of characters.
2292
+ # For example, suppose you have the following values:
2293
+ #
2294
+ # - `masking_character` is `*`
2295
+ # - `number_to_mask` is `-4`
2296
+ # - `reverse_order` is `false`
2297
+ # - `CharsToIgnore` includes `-`
2298
+ # - Input string is `1234-5678-9012-3456`
2299
+ #
2300
+ # The resulting de-identified string is
2301
+ # `****-****-****-3456`. Cloud DLP masks all but the last four characters.
2302
+ # If `reverse_order` is `true`, all but the first four characters are masked
2303
+ # as `1234-****-****-****`.
2205
2304
  # @!attribute [rw] reverse_order
2206
2305
  # @return [::Boolean]
2207
2306
  # Mask characters in reverse order. For example, if `masking_character` is
@@ -2320,7 +2419,7 @@ module Google
2320
2419
  # a default tweak will be used.
2321
2420
  #
2322
2421
  # Note that case (1) is expected when an `InfoTypeTransformation` is
2323
- # applied to both structured and non-structured `ContentItem`s.
2422
+ # applied to both structured and unstructured `ContentItem`s.
2324
2423
  # Currently, the referenced field may be of value type integer or string.
2325
2424
  #
2326
2425
  # The tweak is constructed as a sequence of bytes in big endian byte order
@@ -2379,7 +2478,7 @@ module Google
2379
2478
 
2380
2479
  # These are commonly used subsets of the alphabet that the FFX mode
2381
2480
  # natively supports. In the algorithm, the alphabet is selected using
2382
- # the "radix". Therefore each corresponds to particular radix.
2481
+ # the "radix". Therefore each corresponds to a particular radix.
2383
2482
  module FfxCommonNativeAlphabet
2384
2483
  # Unused.
2385
2484
  FFX_COMMON_NATIVE_ALPHABET_UNSPECIFIED = 0
@@ -2627,7 +2726,7 @@ module Google
2627
2726
  extend ::Google::Protobuf::MessageExts::ClassMethods
2628
2727
  end
2629
2728
 
2630
- # An expression, consisting or an operator and conditions.
2729
+ # An expression, consisting of an operator and conditions.
2631
2730
  # @!attribute [rw] logical_operator
2632
2731
  # @return [::Google::Cloud::Dlp::V2::RecordCondition::Expressions::LogicalOperator]
2633
2732
  # The operator to apply to the result of conditions. Default and currently
@@ -2722,10 +2821,137 @@ module Google
2722
2821
  end
2723
2822
  end
2724
2823
 
2824
+ # A flattened description of a `PrimitiveTransformation` or
2825
+ # `RecordSuppression`.
2826
+ # @!attribute [rw] type
2827
+ # @return [::Google::Cloud::Dlp::V2::TransformationType]
2828
+ # The transformation type.
2829
+ # @!attribute [rw] description
2830
+ # @return [::String]
2831
+ # A description of the transformation. This is empty for a
2832
+ # RECORD_SUPPRESSION, or is the output of calling toString() on the
2833
+ # `PrimitiveTransformation` protocol buffer message for any other type of
2834
+ # transformation.
2835
+ # @!attribute [rw] condition
2836
+ # @return [::String]
2837
+ # A human-readable string representation of the `RecordCondition`
2838
+ # corresponding to this transformation. Set if a `RecordCondition` was used
2839
+ # to determine whether or not to apply this transformation.
2840
+ #
2841
+ # Examples:
2842
+ # * (age_field > 85)
2843
+ # * (age_field <= 18)
2844
+ # * (zip_field exists)
2845
+ # * (zip_field == 01234) && (city_field != "Springville")
2846
+ # * (zip_field == 01234) && (age_field <= 18) && (city_field exists)
2847
+ # @!attribute [rw] info_type
2848
+ # @return [::Google::Cloud::Dlp::V2::InfoType]
2849
+ # Set if the transformation was limited to a specific `InfoType`.
2850
+ class TransformationDescription
2851
+ include ::Google::Protobuf::MessageExts
2852
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2853
+ end
2854
+
2855
+ # Details about a single transformation. This object contains a description of
2856
+ # the transformation, information about whether the transformation was
2857
+ # successfully applied, and the precise location where the transformation
2858
+ # occurred. These details are stored in a user-specified BigQuery table.
2859
+ # @!attribute [rw] resource_name
2860
+ # @return [::String]
2861
+ # The name of the job that completed the transformation.
2862
+ # @!attribute [rw] container_name
2863
+ # @return [::String]
2864
+ # The top level name of the container where the transformation is located
2865
+ # (this will be the source file name or table name).
2866
+ # @!attribute [rw] transformation
2867
+ # @return [::Array<::Google::Cloud::Dlp::V2::TransformationDescription>]
2868
+ # Description of transformation. This would only contain more than one
2869
+ # element if there were multiple matching transformations and which one to
2870
+ # apply was ambiguous. Not set for states that contain no transformation,
2871
+ # currently only state that contains no transformation is
2872
+ # TransformationResultStateType.METADATA_UNRETRIEVABLE.
2873
+ # @!attribute [rw] status_details
2874
+ # @return [::Google::Cloud::Dlp::V2::TransformationResultStatus]
2875
+ # Status of the transformation, if transformation was not successful, this
2876
+ # will specify what caused it to fail, otherwise it will show that the
2877
+ # transformation was successful.
2878
+ # @!attribute [rw] transformed_bytes
2879
+ # @return [::Integer]
2880
+ # The number of bytes that were transformed. If transformation was
2881
+ # unsuccessful or did not take place because there was no content to
2882
+ # transform, this will be zero.
2883
+ # @!attribute [rw] transformation_location
2884
+ # @return [::Google::Cloud::Dlp::V2::TransformationLocation]
2885
+ # The precise location of the transformed content in the original container.
2886
+ class TransformationDetails
2887
+ include ::Google::Protobuf::MessageExts
2888
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2889
+ end
2890
+
2891
+ # Specifies the location of a transformation.
2892
+ # @!attribute [rw] finding_id
2893
+ # @return [::String]
2894
+ # For infotype transformations, link to the corresponding findings ID so
2895
+ # that location information does not need to be duplicated. Each findings
2896
+ # ID correlates to an entry in the findings output table, this table only
2897
+ # gets created when users specify to save findings (add the save findings
2898
+ # action to the request).
2899
+ # @!attribute [rw] record_transformation
2900
+ # @return [::Google::Cloud::Dlp::V2::RecordTransformation]
2901
+ # For record transformations, provide a field and container information.
2902
+ # @!attribute [rw] container_type
2903
+ # @return [::Google::Cloud::Dlp::V2::TransformationContainerType]
2904
+ # Information about the functionality of the container where this finding
2905
+ # occurred, if available.
2906
+ class TransformationLocation
2907
+ include ::Google::Protobuf::MessageExts
2908
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2909
+ end
2910
+
2911
+ # @!attribute [rw] field_id
2912
+ # @return [::Google::Cloud::Dlp::V2::FieldId]
2913
+ # For record transformations, provide a field.
2914
+ # @!attribute [rw] container_timestamp
2915
+ # @return [::Google::Protobuf::Timestamp]
2916
+ # Findings container modification timestamp, if applicable.
2917
+ # @!attribute [rw] container_version
2918
+ # @return [::String]
2919
+ # Container version, if available ("generation" for Cloud Storage).
2920
+ class RecordTransformation
2921
+ include ::Google::Protobuf::MessageExts
2922
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2923
+ end
2924
+
2925
+ # @!attribute [rw] result_status_type
2926
+ # @return [::Google::Cloud::Dlp::V2::TransformationResultStatusType]
2927
+ # Transformation result status type, this will be either SUCCESS, or it will
2928
+ # be the reason for why the transformation was not completely successful.
2929
+ # @!attribute [rw] details
2930
+ # @return [::Google::Rpc::Status]
2931
+ # Detailed error codes and messages
2932
+ class TransformationResultStatus
2933
+ include ::Google::Protobuf::MessageExts
2934
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2935
+ end
2936
+
2937
+ # Config for storing transformation details.
2938
+ # @!attribute [rw] table
2939
+ # @return [::Google::Cloud::Dlp::V2::BigQueryTable]
2940
+ # The BigQuery table in which to store the output. This may be an existing
2941
+ # table or in a new table in an existing dataset.
2942
+ # If table_id is not set a new one will be generated for you with the
2943
+ # following format:
2944
+ # dlp_googleapis_transformation_details_yyyy_mm_dd_[dlp_job_id]. Pacific
2945
+ # time zone will be used for generating the date details.
2946
+ class TransformationDetailsStorageConfig
2947
+ include ::Google::Protobuf::MessageExts
2948
+ extend ::Google::Protobuf::MessageExts::ClassMethods
2949
+ end
2950
+
2725
2951
  # Schedule for inspect job triggers.
2726
2952
  # @!attribute [rw] recurrence_period_duration
2727
2953
  # @return [::Google::Protobuf::Duration]
2728
- # With this option a job is started a regular periodic basis. For
2954
+ # With this option a job is started on a regular periodic basis. For
2729
2955
  # example: every day (86400 seconds).
2730
2956
  #
2731
2957
  # A scheduled start time will be skipped if the previous
@@ -2899,13 +3125,16 @@ module Google
2899
3125
  # Save resulting findings in a provided location.
2900
3126
  # @!attribute [rw] pub_sub
2901
3127
  # @return [::Google::Cloud::Dlp::V2::Action::PublishToPubSub]
2902
- # Publish a notification to a pubsub topic.
3128
+ # Publish a notification to a Pub/Sub topic.
2903
3129
  # @!attribute [rw] publish_summary_to_cscc
2904
3130
  # @return [::Google::Cloud::Dlp::V2::Action::PublishSummaryToCscc]
2905
3131
  # Publish summary to Cloud Security Command Center (Alpha).
2906
3132
  # @!attribute [rw] publish_findings_to_cloud_data_catalog
2907
3133
  # @return [::Google::Cloud::Dlp::V2::Action::PublishFindingsToCloudDataCatalog]
2908
3134
  # Publish findings to Cloud Datahub.
3135
+ # @!attribute [rw] deidentify
3136
+ # @return [::Google::Cloud::Dlp::V2::Action::Deidentify]
3137
+ # Create a de-identified copy of the input data.
2909
3138
  # @!attribute [rw] job_notification_emails
2910
3139
  # @return [::Google::Cloud::Dlp::V2::Action::JobNotificationEmails]
2911
3140
  # Enable email notification for project owners and editors on job's
@@ -2929,7 +3158,7 @@ module Google
2929
3158
  extend ::Google::Protobuf::MessageExts::ClassMethods
2930
3159
  end
2931
3160
 
2932
- # Publish a message into given Pub/Sub topic when DlpJob has completed. The
3161
+ # Publish a message into a given Pub/Sub topic when DlpJob has completed. The
2933
3162
  # message contains a single field, `DlpJobName`, which is equal to the
2934
3163
  # finished job's
2935
3164
  # [`DlpJob.name`](https://cloud.google.com/dlp/docs/reference/rest/v2/projects.dlpJobs#DlpJob).
@@ -2950,33 +3179,91 @@ module Google
2950
3179
  # This action is only available for projects which are parts of
2951
3180
  # an organization and whitelisted for the alpha Cloud Security Command
2952
3181
  # Center.
2953
- # The action will publish count of finding instances and their info types.
2954
- # The summary of findings will be persisted in CSCC and are governed by CSCC
2955
- # service-specific policy, see https://cloud.google.com/terms/service-terms
2956
- # Only a single instance of this action can be specified.
2957
- # Compatible with: Inspect
3182
+ # The action will publish the count of finding instances and their info
3183
+ # types. The summary of findings will be persisted in CSCC and are governed
3184
+ # by CSCC service-specific policy, see
3185
+ # https://cloud.google.com/terms/service-terms Only a single instance of this
3186
+ # action can be specified. Compatible with: Inspect
2958
3187
  class PublishSummaryToCscc
2959
3188
  include ::Google::Protobuf::MessageExts
2960
3189
  extend ::Google::Protobuf::MessageExts::ClassMethods
2961
3190
  end
2962
3191
 
2963
- # Publish findings of a DlpJob to Data Catalog. Labels summarizing the
2964
- # results of the DlpJob will be applied to the entry for the resource scanned
2965
- # in Data Catalog. Any labels previously written by another DlpJob will
2966
- # be deleted. InfoType naming patterns are strictly enforced when using this
2967
- # feature. Note that the findings will be persisted in Data Catalog
2968
- # storage and are governed by Data Catalog service-specific policy, see
2969
- # https://cloud.google.com/terms/service-terms
2970
- # Only a single instance of this action can be specified and only allowed if
2971
- # all resources being scanned are BigQuery tables.
3192
+ # Publish findings of a DlpJob to Data Catalog. In Data Catalog, tag
3193
+ # templates are applied to the resource that Cloud DLP scanned. Data
3194
+ # Catalog tag templates are stored in the same project and region where the
3195
+ # BigQuery table exists. For Cloud DLP to create and apply the tag template,
3196
+ # the Cloud DLP service agent must have the
3197
+ # `roles/datacatalog.tagTemplateOwner` permission on the project. The tag
3198
+ # template contains fields summarizing the results of the DlpJob. Any field
3199
+ # values previously written by another DlpJob are deleted. [InfoType naming
3200
+ # patterns][google.privacy.dlp.v2.InfoType] are strictly enforced when using
3201
+ # this feature.
3202
+ #
3203
+ # Findings are persisted in Data Catalog storage and are governed by
3204
+ # service-specific policies for Data Catalog. For more information, see
3205
+ # [Service Specific Terms](https://cloud.google.com/terms/service-terms).
3206
+ #
3207
+ # Only a single instance of this action can be specified. This action is
3208
+ # allowed only if all resources being scanned are BigQuery tables.
2972
3209
  # Compatible with: Inspect
2973
3210
  class PublishFindingsToCloudDataCatalog
2974
3211
  include ::Google::Protobuf::MessageExts
2975
3212
  extend ::Google::Protobuf::MessageExts::ClassMethods
2976
3213
  end
2977
3214
 
2978
- # Enable email notification to project owners and editors on jobs's
2979
- # completion/failure.
3215
+ # Create a de-identified copy of the requested table or files.
3216
+ #
3217
+ # A TransformationDetail will be created for each transformation.
3218
+ #
3219
+ # If any rows in BigQuery are skipped during de-identification
3220
+ # (transformation errors or row size exceeds BigQuery insert API limits) they
3221
+ # are placed in the failure output table. If the original row exceeds
3222
+ # the BigQuery insert API limit it will be truncated when written to the
3223
+ # failure output table. The failure output table can be set in the
3224
+ # action.deidentify.output.big_query_output.deidentified_failure_output_table
3225
+ # field, if no table is set, a table will be automatically created in the
3226
+ # same project and dataset as the original table.
3227
+ #
3228
+ # Compatible with: Inspect
3229
+ # @!attribute [rw] transformation_config
3230
+ # @return [::Google::Cloud::Dlp::V2::TransformationConfig]
3231
+ # User specified deidentify templates and configs for structured,
3232
+ # unstructured, and image files.
3233
+ # @!attribute [rw] transformation_details_storage_config
3234
+ # @return [::Google::Cloud::Dlp::V2::TransformationDetailsStorageConfig]
3235
+ # Config for storing transformation details. This is separate from the
3236
+ # de-identified content, and contains metadata about the successful
3237
+ # transformations and/or failures that occurred while de-identifying. This
3238
+ # needs to be set in order for users to access information about the status
3239
+ # of each transformation (see
3240
+ # {::Google::Cloud::Dlp::V2::TransformationDetails TransformationDetails}
3241
+ # message for more information about what is noted).
3242
+ # @!attribute [rw] cloud_storage_output
3243
+ # @return [::String]
3244
+ # Required. User settable Cloud Storage bucket and folders to store de-identified
3245
+ # files. This field must be set for cloud storage deidentification. The
3246
+ # output Cloud Storage bucket must be different from the input bucket.
3247
+ # De-identified files will overwrite files in the output path.
3248
+ #
3249
+ # Form of: gs://bucket/folder/ or gs://bucket
3250
+ # @!attribute [rw] file_types_to_transform
3251
+ # @return [::Array<::Google::Cloud::Dlp::V2::FileType>]
3252
+ # List of user-specified file type groups to transform. If specified, only
3253
+ # the files with these filetypes will be transformed. If empty, all
3254
+ # supported files will be transformed. Supported types may be automatically
3255
+ # added over time. If a file type is set in this field that isn't supported
3256
+ # by the Deidentify action then the job will fail and will not be
3257
+ # successfully created/started. Currently the only filetypes supported are:
3258
+ # IMAGES, TEXT_FILES, CSV, TSV.
3259
+ class Deidentify
3260
+ include ::Google::Protobuf::MessageExts
3261
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3262
+ end
3263
+
3264
+ # Sends an email when the job completes. The email goes to IAM project owners
3265
+ # and technical [Essential
3266
+ # Contacts](https://cloud.google.com/resource-manager/docs/managing-notification-contacts).
2980
3267
  class JobNotificationEmails
2981
3268
  include ::Google::Protobuf::MessageExts
2982
3269
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -2992,6 +3279,37 @@ module Google
2992
3279
  end
2993
3280
  end
2994
3281
 
3282
+ # User specified templates and configs for how to deidentify structured,
3283
+ # unstructures, and image files. User must provide either a unstructured
3284
+ # deidentify template or at least one redact image config.
3285
+ # @!attribute [rw] deidentify_template
3286
+ # @return [::String]
3287
+ # De-identify template.
3288
+ # If this template is specified, it will serve as the default de-identify
3289
+ # template. This template cannot contain `record_transformations` since it
3290
+ # can be used for unstructured content such as free-form text files. If this
3291
+ # template is not set, a default `ReplaceWithInfoTypeConfig` will be used to
3292
+ # de-identify unstructured content.
3293
+ # @!attribute [rw] structured_deidentify_template
3294
+ # @return [::String]
3295
+ # Structured de-identify template.
3296
+ # If this template is specified, it will serve as the de-identify template
3297
+ # for structured content such as delimited files and tables. If this template
3298
+ # is not set but the `deidentify_template` is set, then `deidentify_template`
3299
+ # will also apply to the structured content. If neither template is set, a
3300
+ # default `ReplaceWithInfoTypeConfig` will be used to de-identify structured
3301
+ # content.
3302
+ # @!attribute [rw] image_redact_template
3303
+ # @return [::String]
3304
+ # Image redact template.
3305
+ # If this template is specified, it will serve as the de-identify template
3306
+ # for images. If this template is not set, all findings in the image will be
3307
+ # redacted with a black box.
3308
+ class TransformationConfig
3309
+ include ::Google::Protobuf::MessageExts
3310
+ extend ::Google::Protobuf::MessageExts::ClassMethods
3311
+ end
3312
+
2995
3313
  # Request message for CreateInspectTemplate.
2996
3314
  # @!attribute [rw] parent
2997
3315
  # @return [::String]
@@ -3089,7 +3407,7 @@ module Google
3089
3407
  # to `ListInspectTemplates`.
3090
3408
  # @!attribute [rw] page_size
3091
3409
  # @return [::Integer]
3092
- # Size of the page, can be limited by server. If zero server returns
3410
+ # Size of the page, can be limited by the server. If zero server returns
3093
3411
  # a page of max size 100.
3094
3412
  # @!attribute [rw] order_by
3095
3413
  # @return [::String]
@@ -3102,10 +3420,10 @@ module Google
3102
3420
  #
3103
3421
  # Supported fields are:
3104
3422
  #
3105
- # - `create_time`: corresponds to time the template was created.
3106
- # - `update_time`: corresponds to time the template was last updated.
3107
- # - `name`: corresponds to template's name.
3108
- # - `display_name`: corresponds to template's display name.
3423
+ # - `create_time`: corresponds to the time the template was created.
3424
+ # - `update_time`: corresponds to the time the template was last updated.
3425
+ # - `name`: corresponds to the template's name.
3426
+ # - `display_name`: corresponds to the template's display name.
3109
3427
  # @!attribute [rw] location_id
3110
3428
  # @return [::String]
3111
3429
  # Deprecated. This field has no effect.
@@ -3290,11 +3608,11 @@ module Google
3290
3608
  #
3291
3609
  # Supported fields are:
3292
3610
  #
3293
- # - `create_time`: corresponds to time the JobTrigger was created.
3294
- # - `update_time`: corresponds to time the JobTrigger was last updated.
3611
+ # - `create_time`: corresponds to the time the JobTrigger was created.
3612
+ # - `update_time`: corresponds to the time the JobTrigger was last updated.
3295
3613
  # - `last_run_time`: corresponds to the last time the JobTrigger ran.
3296
- # - `name`: corresponds to JobTrigger's name.
3297
- # - `display_name`: corresponds to JobTrigger's display name.
3614
+ # - `name`: corresponds to the JobTrigger's name.
3615
+ # - `display_name`: corresponds to the JobTrigger's display name.
3298
3616
  # - `status`: corresponds to JobTrigger's status.
3299
3617
  # @!attribute [rw] filter
3300
3618
  # @return [::String]
@@ -3565,7 +3883,7 @@ module Google
3565
3883
  # The job is no longer running.
3566
3884
  DONE = 3
3567
3885
 
3568
- # The job was canceled before it could complete.
3886
+ # The job was canceled before it could be completed.
3569
3887
  CANCELED = 4
3570
3888
 
3571
3889
  # The job had an error and did not complete.
@@ -3573,7 +3891,7 @@ module Google
3573
3891
 
3574
3892
  # The job is currently accepting findings via hybridInspect.
3575
3893
  # A hybrid job in ACTIVE state may continue to have findings added to it
3576
- # through calling of hybridInspect. After the job has finished no more
3894
+ # through the calling of hybridInspect. After the job has finished no more
3577
3895
  # calls to hybridInspect may be made. ACTIVE jobs can transition to DONE.
3578
3896
  ACTIVE = 6
3579
3897
  end
@@ -3620,13 +3938,13 @@ module Google
3620
3938
  # * Supported fields/values for inspect jobs:
3621
3939
  # - `state` - PENDING|RUNNING|CANCELED|FINISHED|FAILED
3622
3940
  # - `inspected_storage` - DATASTORE|CLOUD_STORAGE|BIGQUERY
3623
- # - `trigger_name` - The resource name of the trigger that created job.
3624
- # - 'end_time` - Corresponds to time the job finished.
3625
- # - 'start_time` - Corresponds to time the job finished.
3941
+ # - `trigger_name` - The name of the trigger that created the job.
3942
+ # - 'end_time` - Corresponds to the time the job finished.
3943
+ # - 'start_time` - Corresponds to the time the job finished.
3626
3944
  # * Supported fields for risk analysis jobs:
3627
3945
  # - `state` - RUNNING|CANCELED|FINISHED|FAILED
3628
- # - 'end_time` - Corresponds to time the job finished.
3629
- # - 'start_time` - Corresponds to time the job finished.
3946
+ # - 'end_time` - Corresponds to the time the job finished.
3947
+ # - 'start_time` - Corresponds to the time the job finished.
3630
3948
  # * The operator must be `=` or `!=`.
3631
3949
  #
3632
3950
  # Examples:
@@ -3657,9 +3975,9 @@ module Google
3657
3975
  #
3658
3976
  # Supported fields are:
3659
3977
  #
3660
- # - `create_time`: corresponds to time the job was created.
3661
- # - `end_time`: corresponds to time the job ended.
3662
- # - `name`: corresponds to job's name.
3978
+ # - `create_time`: corresponds to the time the job was created.
3979
+ # - `end_time`: corresponds to the time the job ended.
3980
+ # - `name`: corresponds to the job's name.
3663
3981
  # - `state`: corresponds to `state`
3664
3982
  # @!attribute [rw] location_id
3665
3983
  # @return [::String]
@@ -3805,7 +4123,7 @@ module Google
3805
4123
  # to `ListDeidentifyTemplates`.
3806
4124
  # @!attribute [rw] page_size
3807
4125
  # @return [::Integer]
3808
- # Size of the page, can be limited by server. If zero server returns
4126
+ # Size of the page, can be limited by the server. If zero server returns
3809
4127
  # a page of max size 100.
3810
4128
  # @!attribute [rw] order_by
3811
4129
  # @return [::String]
@@ -3818,10 +4136,10 @@ module Google
3818
4136
  #
3819
4137
  # Supported fields are:
3820
4138
  #
3821
- # - `create_time`: corresponds to time the template was created.
3822
- # - `update_time`: corresponds to time the template was last updated.
3823
- # - `name`: corresponds to template's name.
3824
- # - `display_name`: corresponds to template's display name.
4139
+ # - `create_time`: corresponds to the time the template was created.
4140
+ # - `update_time`: corresponds to the time the template was last updated.
4141
+ # - `name`: corresponds to the template's name.
4142
+ # - `display_name`: corresponds to the template's display name.
3825
4143
  # @!attribute [rw] location_id
3826
4144
  # @return [::String]
3827
4145
  # Deprecated. This field has no effect.
@@ -3858,12 +4176,12 @@ module Google
3858
4176
  # Configuration for a custom dictionary created from a data source of any size
3859
4177
  # up to the maximum size defined in the
3860
4178
  # [limits](https://cloud.google.com/dlp/limits) page. The artifacts of
3861
- # dictionary creation are stored in the specified Google Cloud Storage
4179
+ # dictionary creation are stored in the specified Cloud Storage
3862
4180
  # location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries
3863
4181
  # that satisfy the size requirements.
3864
4182
  # @!attribute [rw] output_path
3865
4183
  # @return [::Google::Cloud::Dlp::V2::CloudStoragePath]
3866
- # Location to store dictionary artifacts in Google Cloud Storage. These files
4184
+ # Location to store dictionary artifacts in Cloud Storage. These files
3867
4185
  # will only be accessible by project owners and the DLP API. If any of these
3868
4186
  # artifacts are modified, the dictionary is considered invalid and can no
3869
4187
  # longer be used.
@@ -3940,7 +4258,7 @@ module Google
3940
4258
  # appearing first.
3941
4259
  #
3942
4260
  # For example, some of the data for stored custom dictionaries is put in
3943
- # the user's Google Cloud Storage bucket, and if this data is modified or
4261
+ # the user's Cloud Storage bucket, and if this data is modified or
3944
4262
  # deleted by the user or another system, the dictionary becomes invalid.
3945
4263
  #
3946
4264
  # If any errors occur, fix the problem indicated by the error message and
@@ -4055,10 +4373,6 @@ module Google
4055
4373
  # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
4056
4374
  # + Projects scope, no location specified (defaults to global):<br/>
4057
4375
  # `projects/`<var>PROJECT_ID</var>
4058
- # + Organizations scope, location specified:<br/>
4059
- # `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var>
4060
- # + Organizations scope, no location specified (defaults to global):<br/>
4061
- # `organizations/`<var>ORG_ID</var>
4062
4376
  #
4063
4377
  # The following example `parent` string specifies a parent project with the
4064
4378
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -4071,7 +4385,7 @@ module Google
4071
4385
  # to `ListStoredInfoTypes`.
4072
4386
  # @!attribute [rw] page_size
4073
4387
  # @return [::Integer]
4074
- # Size of the page, can be limited by server. If zero server returns
4388
+ # Size of the page, can be limited by the server. If zero server returns
4075
4389
  # a page of max size 100.
4076
4390
  # @!attribute [rw] order_by
4077
4391
  # @return [::String]
@@ -4084,7 +4398,7 @@ module Google
4084
4398
  #
4085
4399
  # Supported fields are:
4086
4400
  #
4087
- # - `create_time`: corresponds to time the most recent version of the
4401
+ # - `create_time`: corresponds to the time the most recent version of the
4088
4402
  # resource was created.
4089
4403
  # - `state`: corresponds to the state of the resource.
4090
4404
  # - `name`: corresponds to resource name.
@@ -4221,36 +4535,7 @@ module Google
4221
4535
  end
4222
4536
 
4223
4537
  # Score is a summary of all elements in the data profile.
4224
- # A higher number means more sensitive.
4225
- # @!attribute [rw] score
4226
- # @return [::Google::Cloud::Dlp::V2::SensitivityScore::SensitivityScoreLevel]
4227
- # The score applied to the resource.
4228
- class SensitivityScore
4229
- include ::Google::Protobuf::MessageExts
4230
- extend ::Google::Protobuf::MessageExts::ClassMethods
4231
-
4232
- # Various score levels for resources.
4233
- module SensitivityScoreLevel
4234
- # Unused.
4235
- SENSITIVITY_SCORE_UNSPECIFIED = 0
4236
-
4237
- # No sensitive information detected. Limited access.
4238
- SENSITIVITY_LOW = 10
4239
-
4240
- # Medium risk - PII, potentially sensitive data, or fields with free-text
4241
- # data that are at higher risk of having intermittent sensitive data.
4242
- # Consider limiting access.
4243
- SENSITIVITY_MODERATE = 20
4244
-
4245
- # High risk – SPII may be present. Exfiltration of data may lead to user
4246
- # data loss. Re-identification of users may be possible. Consider limiting
4247
- # usage and or removing SPII.
4248
- SENSITIVITY_HIGH = 30
4249
- end
4250
- end
4251
-
4252
- # Score is a summary of all elements in the data profile.
4253
- # A higher number means more risky.
4538
+ # A higher number means more risk.
4254
4539
  # @!attribute [rw] score
4255
4540
  # @return [::Google::Cloud::Dlp::V2::DataRiskLevel::DataRiskLevelScore]
4256
4541
  # The score applied to the resource.
@@ -4269,8 +4554,8 @@ module Google
4269
4554
  RISK_LOW = 10
4270
4555
 
4271
4556
  # Medium risk - Sensitive data may be present but additional access or fine
4272
- # grain access restrictions appears to be present. Consider limiting
4273
- # access even further or transforming data to mask.
4557
+ # grain access restrictions appear to be present. Consider limiting
4558
+ # access even further or transform data to mask.
4274
4559
  RISK_MODERATE = 20
4275
4560
 
4276
4561
  # High risk – SPII may be present. Access controls may include public
@@ -4417,6 +4702,10 @@ module Google
4417
4702
  # @!attribute [rw] info_type
4418
4703
  # @return [::Google::Cloud::Dlp::V2::InfoType]
4419
4704
  # The infoType.
4705
+ # @!attribute [rw] estimated_prevalence
4706
+ # @return [::Integer]
4707
+ # Approximate percentage of non-null rows that contained data detected by
4708
+ # this infotype.
4420
4709
  class InfoTypeSummary
4421
4710
  include ::Google::Protobuf::MessageExts
4422
4711
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -4426,12 +4715,16 @@ module Google
4426
4715
  # @!attribute [rw] info_type
4427
4716
  # @return [::Google::Cloud::Dlp::V2::InfoType]
4428
4717
  # The other infoType.
4718
+ # @!attribute [rw] estimated_prevalence
4719
+ # @return [::Integer]
4720
+ # Approximate percentage of non-null rows that contained data detected by
4721
+ # this infotype.
4429
4722
  class OtherInfoTypeSummary
4430
4723
  include ::Google::Protobuf::MessageExts
4431
4724
  extend ::Google::Protobuf::MessageExts::ClassMethods
4432
4725
  end
4433
4726
 
4434
- # A condition for determining whether a PubSub should be triggered.
4727
+ # A condition for determining whether a Pub/Sub should be triggered.
4435
4728
  # @!attribute [rw] expressions
4436
4729
  # @return [::Google::Cloud::Dlp::V2::DataProfilePubSubCondition::PubSubExpressions]
4437
4730
  # An expression.
@@ -4488,10 +4781,9 @@ module Google
4488
4781
  end
4489
4782
  end
4490
4783
 
4491
- # The message that will be published to a Pub/Sub topic.
4784
+ # Pub/Sub topic message for a DataProfileAction.PubSubNotification event.
4492
4785
  # To receive a message of protocol buffer schema type, convert the message data
4493
4786
  # to an object of this proto class.
4494
- # https://cloud.google.com/pubsub/docs/samples/pubsub-subscribe-proto-messages
4495
4787
  # @!attribute [rw] profile
4496
4788
  # @return [::Google::Cloud::Dlp::V2::TableDataProfile]
4497
4789
  # If `DetailLevel` is `TABLE_PROFILE` this will be fully populated.
@@ -4505,6 +4797,91 @@ module Google
4505
4797
  extend ::Google::Protobuf::MessageExts::ClassMethods
4506
4798
  end
4507
4799
 
4800
+ # Enum of possible outcomes of transformations. SUCCESS if transformation and
4801
+ # storing of transformation was successful, otherwise, reason for not
4802
+ # transforming.
4803
+ module TransformationResultStatusType
4804
+ STATE_TYPE_UNSPECIFIED = 0
4805
+
4806
+ # This will be set when a finding could not be transformed (i.e. outside user
4807
+ # set bucket range).
4808
+ INVALID_TRANSFORM = 1
4809
+
4810
+ # This will be set when a BigQuery transformation was successful but could
4811
+ # not be stored back in BigQuery because the transformed row exceeds
4812
+ # BigQuery's max row size.
4813
+ BIGQUERY_MAX_ROW_SIZE_EXCEEDED = 2
4814
+
4815
+ # This will be set when there is a finding in the custom metadata of a file,
4816
+ # but at the write time of the transformed file, this key / value pair is
4817
+ # unretrievable.
4818
+ METADATA_UNRETRIEVABLE = 3
4819
+
4820
+ # This will be set when the transformation and storing of it is successful.
4821
+ SUCCESS = 4
4822
+ end
4823
+
4824
+ # Describes functionality of a given container in its original format.
4825
+ module TransformationContainerType
4826
+ TRANSFORM_UNKNOWN_CONTAINER = 0
4827
+
4828
+ TRANSFORM_BODY = 1
4829
+
4830
+ TRANSFORM_METADATA = 2
4831
+
4832
+ TRANSFORM_TABLE = 3
4833
+ end
4834
+
4835
+ # An enum of rules that can be used to transform a value. Can be a
4836
+ # record suppression, or one of the transformation rules specified under
4837
+ # `PrimitiveTransformation`.
4838
+ module TransformationType
4839
+ # Unused
4840
+ TRANSFORMATION_TYPE_UNSPECIFIED = 0
4841
+
4842
+ # Record suppression
4843
+ RECORD_SUPPRESSION = 1
4844
+
4845
+ # Replace value
4846
+ REPLACE_VALUE = 2
4847
+
4848
+ # Replace value using a dictionary.
4849
+ REPLACE_DICTIONARY = 15
4850
+
4851
+ # Redact
4852
+ REDACT = 3
4853
+
4854
+ # Character mask
4855
+ CHARACTER_MASK = 4
4856
+
4857
+ # FFX-FPE
4858
+ CRYPTO_REPLACE_FFX_FPE = 5
4859
+
4860
+ # Fixed size bucketing
4861
+ FIXED_SIZE_BUCKETING = 6
4862
+
4863
+ # Bucketing
4864
+ BUCKETING = 7
4865
+
4866
+ # Replace with info type
4867
+ REPLACE_WITH_INFO_TYPE = 8
4868
+
4869
+ # Time part
4870
+ TIME_PART = 9
4871
+
4872
+ # Crypto hash
4873
+ CRYPTO_HASH = 10
4874
+
4875
+ # Date shift
4876
+ DATE_SHIFT = 12
4877
+
4878
+ # Deterministic crypto
4879
+ CRYPTO_DETERMINISTIC_CONFIG = 13
4880
+
4881
+ # Redact image
4882
+ REDACT_IMAGE = 14
4883
+ end
4884
+
4508
4885
  # Operators available for comparing the value of fields.
4509
4886
  module RelationalOperator
4510
4887
  # Unused