google-apis-dlp_v2 0.52.0 → 0.54.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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