google-apis-dlp_v2 0.52.0 → 0.54.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.
@@ -160,6 +160,21 @@ module Google
160
160
  end
161
161
  end
162
162
 
163
+ # Catch-all for all other tables not specified by other filters. Should always
164
+ # be last, except for single-table configurations, which will only have a
165
+ # TableReference target.
166
+ class GooglePrivacyDlpV2AllOtherBigQueryTables
167
+ include Google::Apis::Core::Hashable
168
+
169
+ def initialize(**args)
170
+ update!(**args)
171
+ end
172
+
173
+ # Update properties of this object
174
+ def update!(**args)
175
+ end
176
+ end
177
+
163
178
  # Apply to all text.
164
179
  class GooglePrivacyDlpV2AllText
165
180
  include Google::Apis::Core::Hashable
@@ -282,6 +297,51 @@ module Google
282
297
  end
283
298
  end
284
299
 
300
+ # Target used to match against for discovery with BigQuery tables
301
+ class GooglePrivacyDlpV2BigQueryDiscoveryTarget
302
+ include Google::Apis::Core::Hashable
303
+
304
+ # What must take place for a profile to be updated and how frequently it should
305
+ # occur. New tables are scanned as quickly as possible depending on system
306
+ # capacity.
307
+ # Corresponds to the JSON property `cadence`
308
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryGenerationCadence]
309
+ attr_accessor :cadence
310
+
311
+ # Requirements that must be true before a table is scanned in discovery for the
312
+ # first time. There is an AND relationship between the top-level attributes.
313
+ # Additionally, minimum conditions with an OR relationship that must be met
314
+ # before Cloud DLP scans a table can be set (like a minimum row count or a
315
+ # minimum table age).
316
+ # Corresponds to the JSON property `conditions`
317
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryBigQueryConditions]
318
+ attr_accessor :conditions
319
+
320
+ # Do not profile the tables.
321
+ # Corresponds to the JSON property `disabled`
322
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2Disabled]
323
+ attr_accessor :disabled
324
+
325
+ # Determines what tables will have profiles generated within an organization or
326
+ # project. Includes the ability to filter by regular expression patterns on
327
+ # project ID, dataset ID, and table ID.
328
+ # Corresponds to the JSON property `filter`
329
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryBigQueryFilter]
330
+ attr_accessor :filter
331
+
332
+ def initialize(**args)
333
+ update!(**args)
334
+ end
335
+
336
+ # Update properties of this object
337
+ def update!(**args)
338
+ @cadence = args[:cadence] if args.key?(:cadence)
339
+ @conditions = args[:conditions] if args.key?(:conditions)
340
+ @disabled = args[:disabled] if args.key?(:disabled)
341
+ @filter = args[:filter] if args.key?(:filter)
342
+ end
343
+ end
344
+
285
345
  # Message defining a field of a BigQuery table.
286
346
  class GooglePrivacyDlpV2BigQueryField
287
347
  include Google::Apis::Core::Hashable
@@ -412,6 +472,61 @@ module Google
412
472
  end
413
473
  end
414
474
 
475
+ # A pattern to match against one or more tables, datasets, or projects that
476
+ # contain BigQuery tables. At least one pattern must be specified. Regular
477
+ # expressions use RE2 [syntax](https://github.com/google/re2/wiki/Syntax); a
478
+ # guide can be found under the google/re2 repository on GitHub.
479
+ class GooglePrivacyDlpV2BigQueryRegex
480
+ include Google::Apis::Core::Hashable
481
+
482
+ # If unset, this property matches all datasets.
483
+ # Corresponds to the JSON property `datasetIdRegex`
484
+ # @return [String]
485
+ attr_accessor :dataset_id_regex
486
+
487
+ # For organizations, if unset, will match all projects. Has no effect for data
488
+ # profile configurations created within a project.
489
+ # Corresponds to the JSON property `projectIdRegex`
490
+ # @return [String]
491
+ attr_accessor :project_id_regex
492
+
493
+ # If unset, this property matches all tables.
494
+ # Corresponds to the JSON property `tableIdRegex`
495
+ # @return [String]
496
+ attr_accessor :table_id_regex
497
+
498
+ def initialize(**args)
499
+ update!(**args)
500
+ end
501
+
502
+ # Update properties of this object
503
+ def update!(**args)
504
+ @dataset_id_regex = args[:dataset_id_regex] if args.key?(:dataset_id_regex)
505
+ @project_id_regex = args[:project_id_regex] if args.key?(:project_id_regex)
506
+ @table_id_regex = args[:table_id_regex] if args.key?(:table_id_regex)
507
+ end
508
+ end
509
+
510
+ # A collection of regular expressions to determine what tables to match against.
511
+ class GooglePrivacyDlpV2BigQueryRegexes
512
+ include Google::Apis::Core::Hashable
513
+
514
+ # A single BigQuery regular expression pattern to match against one or more
515
+ # tables, datasets, or projects that contain BigQuery tables.
516
+ # Corresponds to the JSON property `patterns`
517
+ # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2BigQueryRegex>]
518
+ attr_accessor :patterns
519
+
520
+ def initialize(**args)
521
+ update!(**args)
522
+ end
523
+
524
+ # Update properties of this object
525
+ def update!(**args)
526
+ @patterns = args[:patterns] if args.key?(:patterns)
527
+ end
528
+ end
529
+
415
530
  # Message defining the location of a BigQuery table. A table is uniquely
416
531
  # identified by its project_id, dataset_id, and table_name. Within a query a
417
532
  # table is often referenced with a string in the format of: `:.` or `..`.
@@ -446,6 +561,44 @@ module Google
446
561
  end
447
562
  end
448
563
 
564
+ # Specifies a collection of BigQuery tables. Used for Discovery.
565
+ class GooglePrivacyDlpV2BigQueryTableCollection
566
+ include Google::Apis::Core::Hashable
567
+
568
+ # A collection of regular expressions to determine what tables to match against.
569
+ # Corresponds to the JSON property `includeRegexes`
570
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2BigQueryRegexes]
571
+ attr_accessor :include_regexes
572
+
573
+ def initialize(**args)
574
+ update!(**args)
575
+ end
576
+
577
+ # Update properties of this object
578
+ def update!(**args)
579
+ @include_regexes = args[:include_regexes] if args.key?(:include_regexes)
580
+ end
581
+ end
582
+
583
+ # The types of BigQuery tables supported by Cloud DLP.
584
+ class GooglePrivacyDlpV2BigQueryTableTypes
585
+ include Google::Apis::Core::Hashable
586
+
587
+ # A set of BigQuery table types.
588
+ # Corresponds to the JSON property `types`
589
+ # @return [Array<String>]
590
+ attr_accessor :types
591
+
592
+ def initialize(**args)
593
+ update!(**args)
594
+ end
595
+
596
+ # Update properties of this object
597
+ def update!(**args)
598
+ @types = args[:types] if args.key?(:types)
599
+ end
600
+ end
601
+
449
602
  # Bounding box encompassing detected text within an image.
450
603
  class GooglePrivacyDlpV2BoundingBox
451
604
  include Google::Apis::Core::Hashable
@@ -1020,7 +1173,7 @@ module Google
1020
1173
  # @return [String]
1021
1174
  attr_accessor :name
1022
1175
 
1023
- # Other types found within this column. List will be un-ordered.
1176
+ # Other types found within this column. List will be unordered.
1024
1177
  # Corresponds to the JSON property `otherMatches`
1025
1178
  # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2OtherInfoTypeSummary>]
1026
1179
  attr_accessor :other_matches
@@ -1052,7 +1205,7 @@ module Google
1052
1205
  # @return [String]
1053
1206
  attr_accessor :state
1054
1207
 
1055
- # The resource name to the table data profile.
1208
+ # The resource name of the table data profile.
1056
1209
  # Corresponds to the JSON property `tableDataProfile`
1057
1210
  # @return [String]
1058
1211
  attr_accessor :table_data_profile
@@ -1359,6 +1512,37 @@ module Google
1359
1512
  end
1360
1513
  end
1361
1514
 
1515
+ # Request message for CreateDiscoveryConfig.
1516
+ class GooglePrivacyDlpV2CreateDiscoveryConfigRequest
1517
+ include Google::Apis::Core::Hashable
1518
+
1519
+ # The config ID can contain uppercase and lowercase letters, numbers, and
1520
+ # hyphens; that is, it must match the regular expression: `[a-zA-Z\d-_]+`. The
1521
+ # maximum length is 100 characters. Can be empty to allow the system to generate
1522
+ # one.
1523
+ # Corresponds to the JSON property `configId`
1524
+ # @return [String]
1525
+ attr_accessor :config_id
1526
+
1527
+ # Configuration for discovery to scan resources for profile generation. Only one
1528
+ # discovery configuration may exist per organization, folder, or project. The
1529
+ # generated data profiles are retained according to the [data retention policy] (
1530
+ # https://cloud.google.com/dlp/docs/data-profiles#retention).
1531
+ # Corresponds to the JSON property `discoveryConfig`
1532
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryConfig]
1533
+ attr_accessor :discovery_config
1534
+
1535
+ def initialize(**args)
1536
+ update!(**args)
1537
+ end
1538
+
1539
+ # Update properties of this object
1540
+ def update!(**args)
1541
+ @config_id = args[:config_id] if args.key?(:config_id)
1542
+ @discovery_config = args[:discovery_config] if args.key?(:discovery_config)
1543
+ end
1544
+ end
1545
+
1362
1546
  # Request message for CreateDlpJobRequest. Used to initiate long running jobs
1363
1547
  # such as calculating risk metrics or inspecting Google Cloud Storage.
1364
1548
  class GooglePrivacyDlpV2CreateDlpJobRequest
@@ -1806,8 +1990,8 @@ module Google
1806
1990
  end
1807
1991
  end
1808
1992
 
1809
- # The schema of data to be saved to the BigQuery when the `DataProfileAction` is
1810
- # enabled.
1993
+ # The schema of data to be saved to the BigQuery table when the `
1994
+ # DataProfileAction` is enabled.
1811
1995
  class GooglePrivacyDlpV2DataProfileBigQueryRowSchema
1812
1996
  include Google::Apis::Core::Hashable
1813
1997
 
@@ -1882,7 +2066,7 @@ module Google
1882
2066
  # be copied to that region and used instead. If no global or region-specific
1883
2067
  # template is provided for a region with data, that region's data will not be
1884
2068
  # scanned. For more information, see https://cloud.google.com/dlp/docs/data-
1885
- # profiles#data_residency.
2069
+ # profiles#data-residency.
1886
2070
  # Corresponds to the JSON property `inspectTemplates`
1887
2071
  # @return [Array<String>]
1888
2072
  attr_accessor :inspect_templates
@@ -2335,7 +2519,7 @@ module Google
2335
2519
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DeidentifyDataSourceStats]
2336
2520
  attr_accessor :deidentify_stats
2337
2521
 
2338
- # De-id options.
2522
+ # De-identification options.
2339
2523
  # Corresponds to the JSON property `requestedOptions`
2340
2524
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2RequestedDeidentifyOptions]
2341
2525
  attr_accessor :requested_options
@@ -2643,6 +2827,313 @@ module Google
2643
2827
  end
2644
2828
  end
2645
2829
 
2830
+ # Do not profile the tables.
2831
+ class GooglePrivacyDlpV2Disabled
2832
+ include Google::Apis::Core::Hashable
2833
+
2834
+ def initialize(**args)
2835
+ update!(**args)
2836
+ end
2837
+
2838
+ # Update properties of this object
2839
+ def update!(**args)
2840
+ end
2841
+ end
2842
+
2843
+ # Requirements that must be true before a table is scanned in discovery for the
2844
+ # first time. There is an AND relationship between the top-level attributes.
2845
+ # Additionally, minimum conditions with an OR relationship that must be met
2846
+ # before Cloud DLP scans a table can be set (like a minimum row count or a
2847
+ # minimum table age).
2848
+ class GooglePrivacyDlpV2DiscoveryBigQueryConditions
2849
+ include Google::Apis::Core::Hashable
2850
+
2851
+ # BigQuery table must have been created after this date. Used to avoid
2852
+ # backfilling.
2853
+ # Corresponds to the JSON property `createdAfter`
2854
+ # @return [String]
2855
+ attr_accessor :created_after
2856
+
2857
+ # There is an OR relationship between these attributes. They are used to
2858
+ # determine if a table should be scanned or not in Discovery.
2859
+ # Corresponds to the JSON property `orConditions`
2860
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2OrConditions]
2861
+ attr_accessor :or_conditions
2862
+
2863
+ # Restrict discovery to categories of table types.
2864
+ # Corresponds to the JSON property `typeCollection`
2865
+ # @return [String]
2866
+ attr_accessor :type_collection
2867
+
2868
+ # The types of BigQuery tables supported by Cloud DLP.
2869
+ # Corresponds to the JSON property `types`
2870
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2BigQueryTableTypes]
2871
+ attr_accessor :types
2872
+
2873
+ def initialize(**args)
2874
+ update!(**args)
2875
+ end
2876
+
2877
+ # Update properties of this object
2878
+ def update!(**args)
2879
+ @created_after = args[:created_after] if args.key?(:created_after)
2880
+ @or_conditions = args[:or_conditions] if args.key?(:or_conditions)
2881
+ @type_collection = args[:type_collection] if args.key?(:type_collection)
2882
+ @types = args[:types] if args.key?(:types)
2883
+ end
2884
+ end
2885
+
2886
+ # Determines what tables will have profiles generated within an organization or
2887
+ # project. Includes the ability to filter by regular expression patterns on
2888
+ # project ID, dataset ID, and table ID.
2889
+ class GooglePrivacyDlpV2DiscoveryBigQueryFilter
2890
+ include Google::Apis::Core::Hashable
2891
+
2892
+ # Catch-all for all other tables not specified by other filters. Should always
2893
+ # be last, except for single-table configurations, which will only have a
2894
+ # TableReference target.
2895
+ # Corresponds to the JSON property `otherTables`
2896
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2AllOtherBigQueryTables]
2897
+ attr_accessor :other_tables
2898
+
2899
+ # Specifies a collection of BigQuery tables. Used for Discovery.
2900
+ # Corresponds to the JSON property `tables`
2901
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2BigQueryTableCollection]
2902
+ attr_accessor :tables
2903
+
2904
+ def initialize(**args)
2905
+ update!(**args)
2906
+ end
2907
+
2908
+ # Update properties of this object
2909
+ def update!(**args)
2910
+ @other_tables = args[:other_tables] if args.key?(:other_tables)
2911
+ @tables = args[:tables] if args.key?(:tables)
2912
+ end
2913
+ end
2914
+
2915
+ # Configuration for discovery to scan resources for profile generation. Only one
2916
+ # discovery configuration may exist per organization, folder, or project. The
2917
+ # generated data profiles are retained according to the [data retention policy] (
2918
+ # https://cloud.google.com/dlp/docs/data-profiles#retention).
2919
+ class GooglePrivacyDlpV2DiscoveryConfig
2920
+ include Google::Apis::Core::Hashable
2921
+
2922
+ # Actions to execute at the completion of scanning.
2923
+ # Corresponds to the JSON property `actions`
2924
+ # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2DataProfileAction>]
2925
+ attr_accessor :actions
2926
+
2927
+ # Output only. The creation timestamp of a DiscoveryConfig.
2928
+ # Corresponds to the JSON property `createTime`
2929
+ # @return [String]
2930
+ attr_accessor :create_time
2931
+
2932
+ # Display name (max 100 chars)
2933
+ # Corresponds to the JSON property `displayName`
2934
+ # @return [String]
2935
+ attr_accessor :display_name
2936
+
2937
+ # Output only. A stream of errors encountered when the config was activated.
2938
+ # Repeated errors may result in the config automatically being paused. Output
2939
+ # only field. Will return the last 100 errors. Whenever the config is modified
2940
+ # this list will be cleared.
2941
+ # Corresponds to the JSON property `errors`
2942
+ # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2Error>]
2943
+ attr_accessor :errors
2944
+
2945
+ # Detection logic for profile generation. Not all template features are used by
2946
+ # Discovery. FindingLimits, include_quote and exclude_info_types have no impact
2947
+ # on Discovery. Multiple templates may be provided if there is data in multiple
2948
+ # regions. At most one template must be specified per-region (including "global")
2949
+ # . Each region is scanned using the applicable template. If no region-specific
2950
+ # template is specified, but a "global" template is specified, it will be copied
2951
+ # to that region and used instead. If no global or region-specific template is
2952
+ # provided for a region with data, that region's data will not be scanned. For
2953
+ # more information, see https://cloud.google.com/dlp/docs/data-profiles#data-
2954
+ # residency.
2955
+ # Corresponds to the JSON property `inspectTemplates`
2956
+ # @return [Array<String>]
2957
+ attr_accessor :inspect_templates
2958
+
2959
+ # Output only. The timestamp of the last time this config was executed.
2960
+ # Corresponds to the JSON property `lastRunTime`
2961
+ # @return [String]
2962
+ attr_accessor :last_run_time
2963
+
2964
+ # Unique resource name for the DiscoveryConfig, assigned by the service when the
2965
+ # DiscoveryConfig is created, for example `projects/dlp-test-project/locations/
2966
+ # global/discoveryConfigs/53234423`.
2967
+ # Corresponds to the JSON property `name`
2968
+ # @return [String]
2969
+ attr_accessor :name
2970
+
2971
+ # Project and scan location information. Only set when the parent is an org.
2972
+ # Corresponds to the JSON property `orgConfig`
2973
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2OrgConfig]
2974
+ attr_accessor :org_config
2975
+
2976
+ # Required. A status for this configuration.
2977
+ # Corresponds to the JSON property `status`
2978
+ # @return [String]
2979
+ attr_accessor :status
2980
+
2981
+ # Target to match against for determining what to scan and how frequently.
2982
+ # Corresponds to the JSON property `targets`
2983
+ # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryTarget>]
2984
+ attr_accessor :targets
2985
+
2986
+ # Output only. The last update timestamp of a DiscoveryConfig.
2987
+ # Corresponds to the JSON property `updateTime`
2988
+ # @return [String]
2989
+ attr_accessor :update_time
2990
+
2991
+ def initialize(**args)
2992
+ update!(**args)
2993
+ end
2994
+
2995
+ # Update properties of this object
2996
+ def update!(**args)
2997
+ @actions = args[:actions] if args.key?(:actions)
2998
+ @create_time = args[:create_time] if args.key?(:create_time)
2999
+ @display_name = args[:display_name] if args.key?(:display_name)
3000
+ @errors = args[:errors] if args.key?(:errors)
3001
+ @inspect_templates = args[:inspect_templates] if args.key?(:inspect_templates)
3002
+ @last_run_time = args[:last_run_time] if args.key?(:last_run_time)
3003
+ @name = args[:name] if args.key?(:name)
3004
+ @org_config = args[:org_config] if args.key?(:org_config)
3005
+ @status = args[:status] if args.key?(:status)
3006
+ @targets = args[:targets] if args.key?(:targets)
3007
+ @update_time = args[:update_time] if args.key?(:update_time)
3008
+ end
3009
+ end
3010
+
3011
+ # What must take place for a profile to be updated and how frequently it should
3012
+ # occur. New tables are scanned as quickly as possible depending on system
3013
+ # capacity.
3014
+ class GooglePrivacyDlpV2DiscoveryGenerationCadence
3015
+ include Google::Apis::Core::Hashable
3016
+
3017
+ # The cadence at which to update data profiles when a schema is modified.
3018
+ # Corresponds to the JSON property `schemaModifiedCadence`
3019
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoverySchemaModifiedCadence]
3020
+ attr_accessor :schema_modified_cadence
3021
+
3022
+ # The cadence at which to update data profiles when a table is modified.
3023
+ # Corresponds to the JSON property `tableModifiedCadence`
3024
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryTableModifiedCadence]
3025
+ attr_accessor :table_modified_cadence
3026
+
3027
+ def initialize(**args)
3028
+ update!(**args)
3029
+ end
3030
+
3031
+ # Update properties of this object
3032
+ def update!(**args)
3033
+ @schema_modified_cadence = args[:schema_modified_cadence] if args.key?(:schema_modified_cadence)
3034
+ @table_modified_cadence = args[:table_modified_cadence] if args.key?(:table_modified_cadence)
3035
+ end
3036
+ end
3037
+
3038
+ # The cadence at which to update data profiles when a schema is modified.
3039
+ class GooglePrivacyDlpV2DiscoverySchemaModifiedCadence
3040
+ include Google::Apis::Core::Hashable
3041
+
3042
+ # How frequently profiles may be updated when schemas are modified. Defaults to
3043
+ # monthly.
3044
+ # Corresponds to the JSON property `frequency`
3045
+ # @return [String]
3046
+ attr_accessor :frequency
3047
+
3048
+ # The type of events to consider when deciding if the table's schema has been
3049
+ # modified and should have the profile updated. Defaults to NEW_COLUMNS.
3050
+ # Corresponds to the JSON property `types`
3051
+ # @return [Array<String>]
3052
+ attr_accessor :types
3053
+
3054
+ def initialize(**args)
3055
+ update!(**args)
3056
+ end
3057
+
3058
+ # Update properties of this object
3059
+ def update!(**args)
3060
+ @frequency = args[:frequency] if args.key?(:frequency)
3061
+ @types = args[:types] if args.key?(:types)
3062
+ end
3063
+ end
3064
+
3065
+ # The location to begin a discovery scan. Denotes an organization ID or folder
3066
+ # ID within an organization.
3067
+ class GooglePrivacyDlpV2DiscoveryStartingLocation
3068
+ include Google::Apis::Core::Hashable
3069
+
3070
+ # The ID of the Folder within an organization to scan.
3071
+ # Corresponds to the JSON property `folderId`
3072
+ # @return [Fixnum]
3073
+ attr_accessor :folder_id
3074
+
3075
+ # The ID of an organization to scan.
3076
+ # Corresponds to the JSON property `organizationId`
3077
+ # @return [Fixnum]
3078
+ attr_accessor :organization_id
3079
+
3080
+ def initialize(**args)
3081
+ update!(**args)
3082
+ end
3083
+
3084
+ # Update properties of this object
3085
+ def update!(**args)
3086
+ @folder_id = args[:folder_id] if args.key?(:folder_id)
3087
+ @organization_id = args[:organization_id] if args.key?(:organization_id)
3088
+ end
3089
+ end
3090
+
3091
+ # The cadence at which to update data profiles when a table is modified.
3092
+ class GooglePrivacyDlpV2DiscoveryTableModifiedCadence
3093
+ include Google::Apis::Core::Hashable
3094
+
3095
+ # How frequently data profiles can be updated when tables are modified. Defaults
3096
+ # to never.
3097
+ # Corresponds to the JSON property `frequency`
3098
+ # @return [String]
3099
+ attr_accessor :frequency
3100
+
3101
+ # The type of events to consider when deciding if the table has been modified
3102
+ # and should have the profile updated. Defaults to MODIFIED_TIMESTAMP.
3103
+ # Corresponds to the JSON property `types`
3104
+ # @return [Array<String>]
3105
+ attr_accessor :types
3106
+
3107
+ def initialize(**args)
3108
+ update!(**args)
3109
+ end
3110
+
3111
+ # Update properties of this object
3112
+ def update!(**args)
3113
+ @frequency = args[:frequency] if args.key?(:frequency)
3114
+ @types = args[:types] if args.key?(:types)
3115
+ end
3116
+ end
3117
+
3118
+ # Target used to match against for Discovery.
3119
+ class GooglePrivacyDlpV2DiscoveryTarget
3120
+ include Google::Apis::Core::Hashable
3121
+
3122
+ # Target used to match against for discovery with BigQuery tables
3123
+ # Corresponds to the JSON property `bigQueryTarget`
3124
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2BigQueryDiscoveryTarget]
3125
+ attr_accessor :big_query_target
3126
+
3127
+ def initialize(**args)
3128
+ update!(**args)
3129
+ end
3130
+
3131
+ # Update properties of this object
3132
+ def update!(**args)
3133
+ @big_query_target = args[:big_query_target] if args.key?(:big_query_target)
3134
+ end
3135
+ end
3136
+
2646
3137
  # Combines all of the information about a DLP job.
2647
3138
  class GooglePrivacyDlpV2DlpJob
2648
3139
  include Google::Apis::Core::Hashable
@@ -3959,11 +4450,11 @@ module Google
3959
4450
  # Restricts what info_types to look for. The values must correspond to InfoType
3960
4451
  # values returned by ListInfoTypes or listed at https://cloud.google.com/dlp/
3961
4452
  # docs/infotypes-reference. When no InfoTypes or CustomInfoTypes are specified
3962
- # in a request, the system may automatically choose what detectors to run. By
3963
- # default this may be all types, but may change over time as detectors are
3964
- # updated. If you need precise control and predictability as to what detectors
3965
- # are run you should specify specific InfoTypes listed in the reference,
3966
- # otherwise a default list will be used, which may change over time.
4453
+ # in a request, the system may automatically choose a default list of detectors
4454
+ # to run, which may change over time. If you need precise control and
4455
+ # predictability as to what detectors are run you should specify specific
4456
+ # InfoTypes listed in the reference, otherwise a default list will be used,
4457
+ # which may change over time.
3967
4458
  # Corresponds to the JSON property `infoTypes`
3968
4459
  # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2InfoType>]
3969
4460
  attr_accessor :info_types
@@ -4969,8 +5460,8 @@ module Google
4969
5460
  # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2DeidentifyTemplate>]
4970
5461
  attr_accessor :deidentify_templates
4971
5462
 
4972
- # If the next page is available then the next page token to be used in following
4973
- # ListDeidentifyTemplates request.
5463
+ # If the next page is available then the next page token to be used in the
5464
+ # following ListDeidentifyTemplates request.
4974
5465
  # Corresponds to the JSON property `nextPageToken`
4975
5466
  # @return [String]
4976
5467
  attr_accessor :next_page_token
@@ -4986,6 +5477,32 @@ module Google
4986
5477
  end
4987
5478
  end
4988
5479
 
5480
+ # Response message for ListDiscoveryConfigs.
5481
+ class GooglePrivacyDlpV2ListDiscoveryConfigsResponse
5482
+ include Google::Apis::Core::Hashable
5483
+
5484
+ # List of configs, up to page_size in ListDiscoveryConfigsRequest.
5485
+ # Corresponds to the JSON property `discoveryConfigs`
5486
+ # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryConfig>]
5487
+ attr_accessor :discovery_configs
5488
+
5489
+ # If the next page is available then this value is the next page token to be
5490
+ # used in the following ListDiscoveryConfigs request.
5491
+ # Corresponds to the JSON property `nextPageToken`
5492
+ # @return [String]
5493
+ attr_accessor :next_page_token
5494
+
5495
+ def initialize(**args)
5496
+ update!(**args)
5497
+ end
5498
+
5499
+ # Update properties of this object
5500
+ def update!(**args)
5501
+ @discovery_configs = args[:discovery_configs] if args.key?(:discovery_configs)
5502
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
5503
+ end
5504
+ end
5505
+
4989
5506
  # The response message for listing DLP jobs.
4990
5507
  class GooglePrivacyDlpV2ListDlpJobsResponse
4991
5508
  include Google::Apis::Core::Hashable
@@ -5039,8 +5556,8 @@ module Google
5039
5556
  # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2InspectTemplate>]
5040
5557
  attr_accessor :inspect_templates
5041
5558
 
5042
- # If the next page is available then the next page token to be used in following
5043
- # ListInspectTemplates request.
5559
+ # If the next page is available then the next page token to be used in the
5560
+ # following ListInspectTemplates request.
5044
5561
  # Corresponds to the JSON property `nextPageToken`
5045
5562
  # @return [String]
5046
5563
  attr_accessor :next_page_token
@@ -5065,8 +5582,8 @@ module Google
5065
5582
  # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2JobTrigger>]
5066
5583
  attr_accessor :job_triggers
5067
5584
 
5068
- # If the next page is available then the next page token to be used in following
5069
- # ListJobTriggers request.
5585
+ # If the next page is available then this value is the next page token to be
5586
+ # used in the following ListJobTriggers request.
5070
5587
  # Corresponds to the JSON property `nextPageToken`
5071
5588
  # @return [String]
5072
5589
  attr_accessor :next_page_token
@@ -5086,8 +5603,8 @@ module Google
5086
5603
  class GooglePrivacyDlpV2ListStoredInfoTypesResponse
5087
5604
  include Google::Apis::Core::Hashable
5088
5605
 
5089
- # If the next page is available then the next page token to be used in following
5090
- # ListStoredInfoTypes request.
5606
+ # If the next page is available then the next page token to be used in the
5607
+ # following ListStoredInfoTypes request.
5091
5608
  # Corresponds to the JSON property `nextPageToken`
5092
5609
  # @return [String]
5093
5610
  attr_accessor :next_page_token
@@ -5245,6 +5762,62 @@ module Google
5245
5762
  end
5246
5763
  end
5247
5764
 
5765
+ # There is an OR relationship between these attributes. They are used to
5766
+ # determine if a table should be scanned or not in Discovery.
5767
+ class GooglePrivacyDlpV2OrConditions
5768
+ include Google::Apis::Core::Hashable
5769
+
5770
+ # Minimum age a table must have before Cloud DLP can profile it. Value must be 1
5771
+ # hour or greater.
5772
+ # Corresponds to the JSON property `minAge`
5773
+ # @return [String]
5774
+ attr_accessor :min_age
5775
+
5776
+ # Minimum number of rows that should be present before Cloud DLP profiles a
5777
+ # table
5778
+ # Corresponds to the JSON property `minRowCount`
5779
+ # @return [Fixnum]
5780
+ attr_accessor :min_row_count
5781
+
5782
+ def initialize(**args)
5783
+ update!(**args)
5784
+ end
5785
+
5786
+ # Update properties of this object
5787
+ def update!(**args)
5788
+ @min_age = args[:min_age] if args.key?(:min_age)
5789
+ @min_row_count = args[:min_row_count] if args.key?(:min_row_count)
5790
+ end
5791
+ end
5792
+
5793
+ # Project and scan location information. Only set when the parent is an org.
5794
+ class GooglePrivacyDlpV2OrgConfig
5795
+ include Google::Apis::Core::Hashable
5796
+
5797
+ # The location to begin a discovery scan. Denotes an organization ID or folder
5798
+ # ID within an organization.
5799
+ # Corresponds to the JSON property `location`
5800
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryStartingLocation]
5801
+ attr_accessor :location
5802
+
5803
+ # The project that will run the scan. The DLP service account that exists within
5804
+ # this project must have access to all resources that are profiled, and the
5805
+ # Cloud DLP API must be enabled.
5806
+ # Corresponds to the JSON property `projectId`
5807
+ # @return [String]
5808
+ attr_accessor :project_id
5809
+
5810
+ def initialize(**args)
5811
+ update!(**args)
5812
+ end
5813
+
5814
+ # Update properties of this object
5815
+ def update!(**args)
5816
+ @location = args[:location] if args.key?(:location)
5817
+ @project_id = args[:project_id] if args.key?(:project_id)
5818
+ end
5819
+ end
5820
+
5248
5821
  # Infotype details for other infoTypes found within a column.
5249
5822
  class GooglePrivacyDlpV2OtherInfoTypeSummary
5250
5823
  include Google::Apis::Core::Hashable
@@ -6359,7 +6932,7 @@ module Google
6359
6932
  end
6360
6933
  end
6361
6934
 
6362
- # De-id options.
6935
+ # De-identification options.
6363
6936
  class GooglePrivacyDlpV2RequestedDeidentifyOptions
6364
6937
  include Google::Apis::Core::Hashable
6365
6938
 
@@ -7805,6 +8378,34 @@ module Google
7805
8378
  end
7806
8379
  end
7807
8380
 
8381
+ # Request message for UpdateDiscoveryConfig.
8382
+ class GooglePrivacyDlpV2UpdateDiscoveryConfigRequest
8383
+ include Google::Apis::Core::Hashable
8384
+
8385
+ # Configuration for discovery to scan resources for profile generation. Only one
8386
+ # discovery configuration may exist per organization, folder, or project. The
8387
+ # generated data profiles are retained according to the [data retention policy] (
8388
+ # https://cloud.google.com/dlp/docs/data-profiles#retention).
8389
+ # Corresponds to the JSON property `discoveryConfig`
8390
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryConfig]
8391
+ attr_accessor :discovery_config
8392
+
8393
+ # Mask to control which fields get updated.
8394
+ # Corresponds to the JSON property `updateMask`
8395
+ # @return [String]
8396
+ attr_accessor :update_mask
8397
+
8398
+ def initialize(**args)
8399
+ update!(**args)
8400
+ end
8401
+
8402
+ # Update properties of this object
8403
+ def update!(**args)
8404
+ @discovery_config = args[:discovery_config] if args.key?(:discovery_config)
8405
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
8406
+ end
8407
+ end
8408
+
7808
8409
  # Request message for UpdateInspectTemplate.
7809
8410
  class GooglePrivacyDlpV2UpdateInspectTemplateRequest
7810
8411
  include Google::Apis::Core::Hashable