google-apis-dlp_v2 0.51.0 → 0.53.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,50 @@ 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
+ # Corresponds to the JSON property `conditions`
314
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryBigQueryConditions]
315
+ attr_accessor :conditions
316
+
317
+ # Do nothing.
318
+ # Corresponds to the JSON property `disabled`
319
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2Disabled]
320
+ attr_accessor :disabled
321
+
322
+ # Determines what tables will have profiles generated within an organization or
323
+ # project. Includes the ability to filter by regular expression patterns on
324
+ # project ID, dataset ID, and table ID. Also lets you set minimum conditions
325
+ # that must be met before Cloud DLP scans a table (like a minimum row count or a
326
+ # minimum table age).
327
+ # Corresponds to the JSON property `filter`
328
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryBigQueryFilter]
329
+ attr_accessor :filter
330
+
331
+ def initialize(**args)
332
+ update!(**args)
333
+ end
334
+
335
+ # Update properties of this object
336
+ def update!(**args)
337
+ @cadence = args[:cadence] if args.key?(:cadence)
338
+ @conditions = args[:conditions] if args.key?(:conditions)
339
+ @disabled = args[:disabled] if args.key?(:disabled)
340
+ @filter = args[:filter] if args.key?(:filter)
341
+ end
342
+ end
343
+
285
344
  # Message defining a field of a BigQuery table.
286
345
  class GooglePrivacyDlpV2BigQueryField
287
346
  include Google::Apis::Core::Hashable
@@ -346,7 +405,7 @@ module Google
346
405
  # References to fields excluded from scanning. This allows you to skip
347
406
  # inspection of entire columns which you know have no findings. When inspecting
348
407
  # a table, we recommend that you inspect all columns. Otherwise, findings might
349
- # be impacted because hints from excluded columns will not be used.
408
+ # be affected because hints from excluded columns will not be used.
350
409
  # Corresponds to the JSON property `excludedFields`
351
410
  # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2FieldId>]
352
411
  attr_accessor :excluded_fields
@@ -361,7 +420,7 @@ module Google
361
420
  attr_accessor :identifying_fields
362
421
 
363
422
  # Limit scanning only to these fields. When inspecting a table, we recommend
364
- # that you inspect all columns. Otherwise, findings might be impacted because
423
+ # that you inspect all columns. Otherwise, findings might be affected because
365
424
  # hints from excluded columns will not be used.
366
425
  # Corresponds to the JSON property `includedFields`
367
426
  # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2FieldId>]
@@ -412,6 +471,61 @@ module Google
412
471
  end
413
472
  end
414
473
 
474
+ # A pattern to match against one or more tables, datasets, or projects that
475
+ # contain BigQuery tables. At least one pattern must be specified. Regular
476
+ # expressions use RE2 [syntax](https://github.com/google/re2/wiki/Syntax); a
477
+ # guide can be found under the google/re2 repository on GitHub.
478
+ class GooglePrivacyDlpV2BigQueryRegex
479
+ include Google::Apis::Core::Hashable
480
+
481
+ # If unset, this property matches all datasets.
482
+ # Corresponds to the JSON property `datasetIdRegex`
483
+ # @return [String]
484
+ attr_accessor :dataset_id_regex
485
+
486
+ # For organizations, if unset, will match all projects. Has no effect for data
487
+ # profile configurations created within a project.
488
+ # Corresponds to the JSON property `projectIdRegex`
489
+ # @return [String]
490
+ attr_accessor :project_id_regex
491
+
492
+ # If unset, this property matches all tables.
493
+ # Corresponds to the JSON property `tableIdRegex`
494
+ # @return [String]
495
+ attr_accessor :table_id_regex
496
+
497
+ def initialize(**args)
498
+ update!(**args)
499
+ end
500
+
501
+ # Update properties of this object
502
+ def update!(**args)
503
+ @dataset_id_regex = args[:dataset_id_regex] if args.key?(:dataset_id_regex)
504
+ @project_id_regex = args[:project_id_regex] if args.key?(:project_id_regex)
505
+ @table_id_regex = args[:table_id_regex] if args.key?(:table_id_regex)
506
+ end
507
+ end
508
+
509
+ # A collection of regular expressions to determine what tables to match against.
510
+ class GooglePrivacyDlpV2BigQueryRegexes
511
+ include Google::Apis::Core::Hashable
512
+
513
+ # A single BigQuery regular expression pattern to match against one or more
514
+ # tables, datasets, or projects that contain BigQuery tables.
515
+ # Corresponds to the JSON property `patterns`
516
+ # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2BigQueryRegex>]
517
+ attr_accessor :patterns
518
+
519
+ def initialize(**args)
520
+ update!(**args)
521
+ end
522
+
523
+ # Update properties of this object
524
+ def update!(**args)
525
+ @patterns = args[:patterns] if args.key?(:patterns)
526
+ end
527
+ end
528
+
415
529
  # Message defining the location of a BigQuery table. A table is uniquely
416
530
  # identified by its project_id, dataset_id, and table_name. Within a query a
417
531
  # table is often referenced with a string in the format of: `:.` or `..`.
@@ -446,6 +560,44 @@ module Google
446
560
  end
447
561
  end
448
562
 
563
+ # Specifies a collection of BigQuery tables. Used for Discovery.
564
+ class GooglePrivacyDlpV2BigQueryTableCollection
565
+ include Google::Apis::Core::Hashable
566
+
567
+ # A collection of regular expressions to determine what tables to match against.
568
+ # Corresponds to the JSON property `includeRegexes`
569
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2BigQueryRegexes]
570
+ attr_accessor :include_regexes
571
+
572
+ def initialize(**args)
573
+ update!(**args)
574
+ end
575
+
576
+ # Update properties of this object
577
+ def update!(**args)
578
+ @include_regexes = args[:include_regexes] if args.key?(:include_regexes)
579
+ end
580
+ end
581
+
582
+ # The types of bigquery tables supported by Cloud DLP.
583
+ class GooglePrivacyDlpV2BigQueryTableTypes
584
+ include Google::Apis::Core::Hashable
585
+
586
+ # A set of bigquery table types.
587
+ # Corresponds to the JSON property `types`
588
+ # @return [Array<String>]
589
+ attr_accessor :types
590
+
591
+ def initialize(**args)
592
+ update!(**args)
593
+ end
594
+
595
+ # Update properties of this object
596
+ def update!(**args)
597
+ @types = args[:types] if args.key?(:types)
598
+ end
599
+ end
600
+
449
601
  # Bounding box encompassing detected text within an image.
450
602
  class GooglePrivacyDlpV2BoundingBox
451
603
  include Google::Apis::Core::Hashable
@@ -1359,6 +1511,37 @@ module Google
1359
1511
  end
1360
1512
  end
1361
1513
 
1514
+ # Request message for CreateDiscoveryConfig.
1515
+ class GooglePrivacyDlpV2CreateDiscoveryConfigRequest
1516
+ include Google::Apis::Core::Hashable
1517
+
1518
+ # The config id can contain uppercase and lowercase letters, numbers, and
1519
+ # hyphens; that is, it must match the regular expression: `[a-zA-Z\d-_]+`. The
1520
+ # maximum length is 100 characters. Can be empty to allow the system to generate
1521
+ # one.
1522
+ # Corresponds to the JSON property `configId`
1523
+ # @return [String]
1524
+ attr_accessor :config_id
1525
+
1526
+ # Configuration for Discovery to scan resources for profile generation. Only one
1527
+ # Discovery configuration may exist per organization, folder, or project. The
1528
+ # generated data profiles are retained according to the [data retention policy] (
1529
+ # https://cloud.google.com/dlp/docs/data-profiles#retention).
1530
+ # Corresponds to the JSON property `discoveryConfig`
1531
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryConfig]
1532
+ attr_accessor :discovery_config
1533
+
1534
+ def initialize(**args)
1535
+ update!(**args)
1536
+ end
1537
+
1538
+ # Update properties of this object
1539
+ def update!(**args)
1540
+ @config_id = args[:config_id] if args.key?(:config_id)
1541
+ @discovery_config = args[:discovery_config] if args.key?(:discovery_config)
1542
+ end
1543
+ end
1544
+
1362
1545
  # Request message for CreateDlpJobRequest. Used to initiate long running jobs
1363
1546
  # such as calculating risk metrics or inspecting Google Cloud Storage.
1364
1547
  class GooglePrivacyDlpV2CreateDlpJobRequest
@@ -2643,6 +2826,312 @@ module Google
2643
2826
  end
2644
2827
  end
2645
2828
 
2829
+ # Do nothing.
2830
+ class GooglePrivacyDlpV2Disabled
2831
+ include Google::Apis::Core::Hashable
2832
+
2833
+ def initialize(**args)
2834
+ update!(**args)
2835
+ end
2836
+
2837
+ # Update properties of this object
2838
+ def update!(**args)
2839
+ end
2840
+ end
2841
+
2842
+ # Requirements that must be true before a table is scanned in Discovery for the
2843
+ # first time. There is an AND relationship between the top-level attributes.
2844
+ class GooglePrivacyDlpV2DiscoveryBigQueryConditions
2845
+ include Google::Apis::Core::Hashable
2846
+
2847
+ # BigQuery table must have been created after this date. Used to avoid
2848
+ # backfilling.
2849
+ # Corresponds to the JSON property `createdAfter`
2850
+ # @return [String]
2851
+ attr_accessor :created_after
2852
+
2853
+ # There is an OR relationship between these attributes. They are used to
2854
+ # determine if a table should be scanned or not in Discovery.
2855
+ # Corresponds to the JSON property `orConditions`
2856
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2OrConditions]
2857
+ attr_accessor :or_conditions
2858
+
2859
+ # Restrict Discovery to categories of table types.
2860
+ # Corresponds to the JSON property `typeCollection`
2861
+ # @return [String]
2862
+ attr_accessor :type_collection
2863
+
2864
+ # The types of bigquery tables supported by Cloud DLP.
2865
+ # Corresponds to the JSON property `types`
2866
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2BigQueryTableTypes]
2867
+ attr_accessor :types
2868
+
2869
+ def initialize(**args)
2870
+ update!(**args)
2871
+ end
2872
+
2873
+ # Update properties of this object
2874
+ def update!(**args)
2875
+ @created_after = args[:created_after] if args.key?(:created_after)
2876
+ @or_conditions = args[:or_conditions] if args.key?(:or_conditions)
2877
+ @type_collection = args[:type_collection] if args.key?(:type_collection)
2878
+ @types = args[:types] if args.key?(:types)
2879
+ end
2880
+ end
2881
+
2882
+ # Determines what tables will have profiles generated within an organization or
2883
+ # project. Includes the ability to filter by regular expression patterns on
2884
+ # project ID, dataset ID, and table ID. Also lets you set minimum conditions
2885
+ # that must be met before Cloud DLP scans a table (like a minimum row count or a
2886
+ # minimum table age).
2887
+ class GooglePrivacyDlpV2DiscoveryBigQueryFilter
2888
+ include Google::Apis::Core::Hashable
2889
+
2890
+ # Catch-all for all other tables not specified by other filters. Should always
2891
+ # be last, except for single-table configurations, which will only have a
2892
+ # TableReference target.
2893
+ # Corresponds to the JSON property `otherTables`
2894
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2AllOtherBigQueryTables]
2895
+ attr_accessor :other_tables
2896
+
2897
+ # Specifies a collection of BigQuery tables. Used for Discovery.
2898
+ # Corresponds to the JSON property `tables`
2899
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2BigQueryTableCollection]
2900
+ attr_accessor :tables
2901
+
2902
+ def initialize(**args)
2903
+ update!(**args)
2904
+ end
2905
+
2906
+ # Update properties of this object
2907
+ def update!(**args)
2908
+ @other_tables = args[:other_tables] if args.key?(:other_tables)
2909
+ @tables = args[:tables] if args.key?(:tables)
2910
+ end
2911
+ end
2912
+
2913
+ # Configuration for Discovery to scan resources for profile generation. Only one
2914
+ # Discovery configuration may exist per organization, folder, or project. The
2915
+ # generated data profiles are retained according to the [data retention policy] (
2916
+ # https://cloud.google.com/dlp/docs/data-profiles#retention).
2917
+ class GooglePrivacyDlpV2DiscoveryConfig
2918
+ include Google::Apis::Core::Hashable
2919
+
2920
+ # Actions to execute at the completion of scanning.
2921
+ # Corresponds to the JSON property `actions`
2922
+ # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2DataProfileAction>]
2923
+ attr_accessor :actions
2924
+
2925
+ # Output only. The creation timestamp of a DiscoveryConfig.
2926
+ # Corresponds to the JSON property `createTime`
2927
+ # @return [String]
2928
+ attr_accessor :create_time
2929
+
2930
+ # Display name (max 100 chars)
2931
+ # Corresponds to the JSON property `displayName`
2932
+ # @return [String]
2933
+ attr_accessor :display_name
2934
+
2935
+ # Output only. A stream of errors encountered when the config was activated.
2936
+ # Repeated errors may result in the config automatically being paused. Output
2937
+ # only field. Will return the last 100 errors. Whenever the config is modified
2938
+ # this list will be cleared.
2939
+ # Corresponds to the JSON property `errors`
2940
+ # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2Error>]
2941
+ attr_accessor :errors
2942
+
2943
+ # Detection logic for profile generation. Not all template features are used by
2944
+ # Discovery. FindingLimits, include_quote and exclude_info_types have no impact
2945
+ # on Discovery. Multiple templates may be provided if there is data in multiple
2946
+ # regions. At most one template must be specified per-region (including "global")
2947
+ # . Each region is scanned using the applicable template. If no region-specific
2948
+ # template is specified, but a "global" template is specified, it will be copied
2949
+ # to that region and used instead. If no global or region-specific template is
2950
+ # provided for a region with data, that region's data will not be scanned. For
2951
+ # more information, see https://cloud.google.com/dlp/docs/data-profiles#
2952
+ # data_residency.
2953
+ # Corresponds to the JSON property `inspectTemplates`
2954
+ # @return [Array<String>]
2955
+ attr_accessor :inspect_templates
2956
+
2957
+ # Output only. The timestamp of the last time this config was executed.
2958
+ # Corresponds to the JSON property `lastRunTime`
2959
+ # @return [String]
2960
+ attr_accessor :last_run_time
2961
+
2962
+ # Unique resource name for the DiscoveryConfig, assigned by the service when the
2963
+ # DiscoveryConfig is created, for example `projects/dlp-test-project/locations/
2964
+ # global/discoveryConfigs/53234423`.
2965
+ # Corresponds to the JSON property `name`
2966
+ # @return [String]
2967
+ attr_accessor :name
2968
+
2969
+ # Project and scan location information. Only set when the parent is an org.
2970
+ # Corresponds to the JSON property `orgConfig`
2971
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2OrgConfig]
2972
+ attr_accessor :org_config
2973
+
2974
+ # Required. A status for this configuration.
2975
+ # Corresponds to the JSON property `status`
2976
+ # @return [String]
2977
+ attr_accessor :status
2978
+
2979
+ # Target to match against for determining what to scan and how frequently.
2980
+ # Corresponds to the JSON property `targets`
2981
+ # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryTarget>]
2982
+ attr_accessor :targets
2983
+
2984
+ # Output only. The last update timestamp of a DiscoveryConfig.
2985
+ # Corresponds to the JSON property `updateTime`
2986
+ # @return [String]
2987
+ attr_accessor :update_time
2988
+
2989
+ def initialize(**args)
2990
+ update!(**args)
2991
+ end
2992
+
2993
+ # Update properties of this object
2994
+ def update!(**args)
2995
+ @actions = args[:actions] if args.key?(:actions)
2996
+ @create_time = args[:create_time] if args.key?(:create_time)
2997
+ @display_name = args[:display_name] if args.key?(:display_name)
2998
+ @errors = args[:errors] if args.key?(:errors)
2999
+ @inspect_templates = args[:inspect_templates] if args.key?(:inspect_templates)
3000
+ @last_run_time = args[:last_run_time] if args.key?(:last_run_time)
3001
+ @name = args[:name] if args.key?(:name)
3002
+ @org_config = args[:org_config] if args.key?(:org_config)
3003
+ @status = args[:status] if args.key?(:status)
3004
+ @targets = args[:targets] if args.key?(:targets)
3005
+ @update_time = args[:update_time] if args.key?(:update_time)
3006
+ end
3007
+ end
3008
+
3009
+ # What must take place for a profile to be updated and how frequently it should
3010
+ # occur. New tables are scanned as quickly as possible depending on system
3011
+ # capacity.
3012
+ class GooglePrivacyDlpV2DiscoveryGenerationCadence
3013
+ include Google::Apis::Core::Hashable
3014
+
3015
+ # The cadence at which to update data profiles when a schema is modified.
3016
+ # Corresponds to the JSON property `schemaModifiedCadence`
3017
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoverySchemaModifiedCadence]
3018
+ attr_accessor :schema_modified_cadence
3019
+
3020
+ # The cadence at which to update data profiles when a table is modified.
3021
+ # Corresponds to the JSON property `tableModifiedCadence`
3022
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryTableModifiedCadence]
3023
+ attr_accessor :table_modified_cadence
3024
+
3025
+ def initialize(**args)
3026
+ update!(**args)
3027
+ end
3028
+
3029
+ # Update properties of this object
3030
+ def update!(**args)
3031
+ @schema_modified_cadence = args[:schema_modified_cadence] if args.key?(:schema_modified_cadence)
3032
+ @table_modified_cadence = args[:table_modified_cadence] if args.key?(:table_modified_cadence)
3033
+ end
3034
+ end
3035
+
3036
+ # The cadence at which to update data profiles when a schema is modified.
3037
+ class GooglePrivacyDlpV2DiscoverySchemaModifiedCadence
3038
+ include Google::Apis::Core::Hashable
3039
+
3040
+ # How frequently profiles may be updated when schemas are modified. Defaults to
3041
+ # monthly.
3042
+ # Corresponds to the JSON property `frequency`
3043
+ # @return [String]
3044
+ attr_accessor :frequency
3045
+
3046
+ # The type of events to consider when deciding if the table's schema has been
3047
+ # modified and should have the profile updated. Defaults to NEW_COLUMNS.
3048
+ # Corresponds to the JSON property `types`
3049
+ # @return [Array<String>]
3050
+ attr_accessor :types
3051
+
3052
+ def initialize(**args)
3053
+ update!(**args)
3054
+ end
3055
+
3056
+ # Update properties of this object
3057
+ def update!(**args)
3058
+ @frequency = args[:frequency] if args.key?(:frequency)
3059
+ @types = args[:types] if args.key?(:types)
3060
+ end
3061
+ end
3062
+
3063
+ # The location to begin a Discovery scan. Denotes an organization ID or folder
3064
+ # ID within an organization.
3065
+ class GooglePrivacyDlpV2DiscoveryStartingLocation
3066
+ include Google::Apis::Core::Hashable
3067
+
3068
+ # The ID of the Folder within an organization to scan.
3069
+ # Corresponds to the JSON property `folderId`
3070
+ # @return [Fixnum]
3071
+ attr_accessor :folder_id
3072
+
3073
+ # The ID of an organization to scan.
3074
+ # Corresponds to the JSON property `organizationId`
3075
+ # @return [Fixnum]
3076
+ attr_accessor :organization_id
3077
+
3078
+ def initialize(**args)
3079
+ update!(**args)
3080
+ end
3081
+
3082
+ # Update properties of this object
3083
+ def update!(**args)
3084
+ @folder_id = args[:folder_id] if args.key?(:folder_id)
3085
+ @organization_id = args[:organization_id] if args.key?(:organization_id)
3086
+ end
3087
+ end
3088
+
3089
+ # The cadence at which to update data profiles when a table is modified.
3090
+ class GooglePrivacyDlpV2DiscoveryTableModifiedCadence
3091
+ include Google::Apis::Core::Hashable
3092
+
3093
+ # How frequently data profiles can be updated when tables are modified. Defaults
3094
+ # to never.
3095
+ # Corresponds to the JSON property `frequency`
3096
+ # @return [String]
3097
+ attr_accessor :frequency
3098
+
3099
+ # The type of events to consider when deciding if the table has been modified
3100
+ # and should have the profile updated. Defaults to MODIFIED_TIMESTAMP.
3101
+ # Corresponds to the JSON property `types`
3102
+ # @return [Array<String>]
3103
+ attr_accessor :types
3104
+
3105
+ def initialize(**args)
3106
+ update!(**args)
3107
+ end
3108
+
3109
+ # Update properties of this object
3110
+ def update!(**args)
3111
+ @frequency = args[:frequency] if args.key?(:frequency)
3112
+ @types = args[:types] if args.key?(:types)
3113
+ end
3114
+ end
3115
+
3116
+ # Target used to match against for Discovery.
3117
+ class GooglePrivacyDlpV2DiscoveryTarget
3118
+ include Google::Apis::Core::Hashable
3119
+
3120
+ # Target used to match against for Discovery with BigQuery tables
3121
+ # Corresponds to the JSON property `bigQueryTarget`
3122
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2BigQueryDiscoveryTarget]
3123
+ attr_accessor :big_query_target
3124
+
3125
+ def initialize(**args)
3126
+ update!(**args)
3127
+ end
3128
+
3129
+ # Update properties of this object
3130
+ def update!(**args)
3131
+ @big_query_target = args[:big_query_target] if args.key?(:big_query_target)
3132
+ end
3133
+ end
3134
+
2646
3135
  # Combines all of the information about a DLP job.
2647
3136
  class GooglePrivacyDlpV2DlpJob
2648
3137
  include Google::Apis::Core::Hashable
@@ -2787,8 +3276,8 @@ module Google
2787
3276
  # @return [Google::Apis::DlpV2::GoogleRpcStatus]
2788
3277
  attr_accessor :details
2789
3278
 
2790
- # The times the error occurred. List includes the oldest timestamp, and the last
2791
- # 9 ones.
3279
+ # The times the error occurred. List includes the oldest timestamp and the last
3280
+ # 9 timestamps.
2792
3281
  # Corresponds to the JSON property `timestamps`
2793
3282
  # @return [Array<String>]
2794
3283
  attr_accessor :timestamps
@@ -3771,10 +4260,10 @@ module Google
3771
4260
  end
3772
4261
  end
3773
4262
 
3774
- # Configuration to control custom minimum likelihoods per infotype. Used when
3775
- # certain infotypes need to return with higher or lower precision than the
3776
- # baseline, i.e. when wanting PERSON_NAME to return all possible names without
3777
- # lowering the precision of other infotypes.
4263
+ # Configuration for setting a minimum likelihood per infotype. Used to customize
4264
+ # the minimum likelihood level for specific infotypes in the request. For
4265
+ # example, use this if you want to lower the precision for PERSON_NAME without
4266
+ # lowering the precision for the other infotypes in the request.
3778
4267
  class GooglePrivacyDlpV2InfoTypeLikelihood
3779
4268
  include Google::Apis::Core::Hashable
3780
4269
 
@@ -3783,8 +4272,8 @@ module Google
3783
4272
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2InfoType]
3784
4273
  attr_accessor :info_type
3785
4274
 
3786
- # Only returns findings equal or above this threshold. This field is required or
3787
- # else the configuration fails.
4275
+ # Only returns findings equal to or above this threshold. This field is required
4276
+ # or else the configuration fails.
3788
4277
  # Corresponds to the JSON property `minLikelihood`
3789
4278
  # @return [String]
3790
4279
  attr_accessor :min_likelihood
@@ -3977,15 +4466,19 @@ module Google
3977
4466
  # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2FindingLimits]
3978
4467
  attr_accessor :limits
3979
4468
 
3980
- # Only returns findings equal or above this threshold. The default is POSSIBLE.
3981
- # See https://cloud.google.com/dlp/docs/likelihood to learn more.
4469
+ # Only returns findings equal to or above this threshold. The default is
4470
+ # POSSIBLE. In general, the highest likelihood setting yields the fewest
4471
+ # findings in results and the lowest chance of a false positive. For more
4472
+ # information, see [Match likelihood](https://cloud.google.com/dlp/docs/
4473
+ # likelihood).
3982
4474
  # Corresponds to the JSON property `minLikelihood`
3983
4475
  # @return [String]
3984
4476
  attr_accessor :min_likelihood
3985
4477
 
3986
- # Per infotype likelihoods. For each infotype, a user can specify a minimum
3987
- # likelihood, and only return that infotype if it is above that threshold. If an
3988
- # infotype is not included, it uses the InspectConfig min_likelihood.
4478
+ # Minimum likelihood per infotype. For each infotype, a user can specify a
4479
+ # minimum likelihood. The system only returns a finding if its likelihood is
4480
+ # above this threshold. If this field is not set, the system uses the
4481
+ # InspectConfig min_likelihood.
3989
4482
  # Corresponds to the JSON property `minLikelihoodPerInfoType`
3990
4483
  # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2InfoTypeLikelihood>]
3991
4484
  attr_accessor :min_likelihood_per_info_type
@@ -4982,6 +5475,32 @@ module Google
4982
5475
  end
4983
5476
  end
4984
5477
 
5478
+ # Response message for ListDiscoveryConfigs.
5479
+ class GooglePrivacyDlpV2ListDiscoveryConfigsResponse
5480
+ include Google::Apis::Core::Hashable
5481
+
5482
+ # List of configs, up to page_size in ListDiscoveryConfigsRequest.
5483
+ # Corresponds to the JSON property `discoveryConfigs`
5484
+ # @return [Array<Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryConfig>]
5485
+ attr_accessor :discovery_configs
5486
+
5487
+ # If the next page is available then the next page token to be used in following
5488
+ # ListDiscoveryConfigs request.
5489
+ # Corresponds to the JSON property `nextPageToken`
5490
+ # @return [String]
5491
+ attr_accessor :next_page_token
5492
+
5493
+ def initialize(**args)
5494
+ update!(**args)
5495
+ end
5496
+
5497
+ # Update properties of this object
5498
+ def update!(**args)
5499
+ @discovery_configs = args[:discovery_configs] if args.key?(:discovery_configs)
5500
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
5501
+ end
5502
+ end
5503
+
4985
5504
  # The response message for listing DLP jobs.
4986
5505
  class GooglePrivacyDlpV2ListDlpJobsResponse
4987
5506
  include Google::Apis::Core::Hashable
@@ -5241,6 +5760,62 @@ module Google
5241
5760
  end
5242
5761
  end
5243
5762
 
5763
+ # There is an OR relationship between these attributes. They are used to
5764
+ # determine if a table should be scanned or not in Discovery.
5765
+ class GooglePrivacyDlpV2OrConditions
5766
+ include Google::Apis::Core::Hashable
5767
+
5768
+ # Minimum age a table must have before Cloud DLP can profile it. Value must be 1
5769
+ # hour or greater.
5770
+ # Corresponds to the JSON property `minAge`
5771
+ # @return [String]
5772
+ attr_accessor :min_age
5773
+
5774
+ # Minimum number of rows that should be present before Cloud DLP profiles a
5775
+ # table
5776
+ # Corresponds to the JSON property `minRowCount`
5777
+ # @return [Fixnum]
5778
+ attr_accessor :min_row_count
5779
+
5780
+ def initialize(**args)
5781
+ update!(**args)
5782
+ end
5783
+
5784
+ # Update properties of this object
5785
+ def update!(**args)
5786
+ @min_age = args[:min_age] if args.key?(:min_age)
5787
+ @min_row_count = args[:min_row_count] if args.key?(:min_row_count)
5788
+ end
5789
+ end
5790
+
5791
+ # Project and scan location information. Only set when the parent is an org.
5792
+ class GooglePrivacyDlpV2OrgConfig
5793
+ include Google::Apis::Core::Hashable
5794
+
5795
+ # The location to begin a Discovery scan. Denotes an organization ID or folder
5796
+ # ID within an organization.
5797
+ # Corresponds to the JSON property `location`
5798
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryStartingLocation]
5799
+ attr_accessor :location
5800
+
5801
+ # The project that will run the scan. The DLP service account that exists within
5802
+ # this project must have access to all resources that are profiled, and the
5803
+ # Cloud DLP API must be enabled.
5804
+ # Corresponds to the JSON property `projectId`
5805
+ # @return [String]
5806
+ attr_accessor :project_id
5807
+
5808
+ def initialize(**args)
5809
+ update!(**args)
5810
+ end
5811
+
5812
+ # Update properties of this object
5813
+ def update!(**args)
5814
+ @location = args[:location] if args.key?(:location)
5815
+ @project_id = args[:project_id] if args.key?(:project_id)
5816
+ end
5817
+ end
5818
+
5244
5819
  # Infotype details for other infoTypes found within a column.
5245
5820
  class GooglePrivacyDlpV2OtherInfoTypeSummary
5246
5821
  include Google::Apis::Core::Hashable
@@ -7801,6 +8376,34 @@ module Google
7801
8376
  end
7802
8377
  end
7803
8378
 
8379
+ # Request message for UpdateDiscoveryConfig.
8380
+ class GooglePrivacyDlpV2UpdateDiscoveryConfigRequest
8381
+ include Google::Apis::Core::Hashable
8382
+
8383
+ # Configuration for Discovery to scan resources for profile generation. Only one
8384
+ # Discovery configuration may exist per organization, folder, or project. The
8385
+ # generated data profiles are retained according to the [data retention policy] (
8386
+ # https://cloud.google.com/dlp/docs/data-profiles#retention).
8387
+ # Corresponds to the JSON property `discoveryConfig`
8388
+ # @return [Google::Apis::DlpV2::GooglePrivacyDlpV2DiscoveryConfig]
8389
+ attr_accessor :discovery_config
8390
+
8391
+ # Mask to control which fields get updated.
8392
+ # Corresponds to the JSON property `updateMask`
8393
+ # @return [String]
8394
+ attr_accessor :update_mask
8395
+
8396
+ def initialize(**args)
8397
+ update!(**args)
8398
+ end
8399
+
8400
+ # Update properties of this object
8401
+ def update!(**args)
8402
+ @discovery_config = args[:discovery_config] if args.key?(:discovery_config)
8403
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
8404
+ end
8405
+ end
8406
+
7804
8407
  # Request message for UpdateInspectTemplate.
7805
8408
  class GooglePrivacyDlpV2UpdateInspectTemplateRequest
7806
8409
  include Google::Apis::Core::Hashable