google-cloud-dlp-v2 1.0.0 → 1.2.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.
@@ -312,6 +312,15 @@ module Google
312
312
 
313
313
  # tsv
314
314
  TSV = 13
315
+
316
+ # Audio file types. Only used for profiling.
317
+ AUDIO = 15
318
+
319
+ # Video file types. Only used for profiling.
320
+ VIDEO = 16
321
+
322
+ # Executable file types. Only used for profiling.
323
+ EXECUTABLE = 17
315
324
  end
316
325
  end
317
326
 
@@ -422,6 +431,7 @@ module Google
422
431
  # No more than 10 labels can be associated with a given finding.
423
432
  #
424
433
  # Examples:
434
+ #
425
435
  # * `"environment" : "production"`
426
436
  # * `"pipeline" : "etl"`
427
437
  # @!attribute [rw] job_create_time
@@ -670,10 +680,10 @@ module Google
670
680
  # processing
671
681
  # location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
672
682
  #
673
- # + Projects scope, location specified:<br/>
674
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
675
- # + Projects scope, no location specified (defaults to global):<br/>
676
- # `projects/`<var>PROJECT_ID</var>
683
+ # + Projects scope, location specified:
684
+ # `projects/{project_id}/locations/{location_id}`
685
+ # + Projects scope, no location specified (defaults to global):
686
+ # `projects/{project_id}`
677
687
  #
678
688
  # The following example `parent` string specifies a parent project with the
679
689
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -762,10 +772,10 @@ module Google
762
772
  # processing
763
773
  # location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
764
774
  #
765
- # + Projects scope, location specified:<br/>
766
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
767
- # + Projects scope, no location specified (defaults to global):<br/>
768
- # `projects/`<var>PROJECT_ID</var>
775
+ # + Projects scope, location specified:
776
+ # `projects/{project_id}/locations/{location_id}`
777
+ # + Projects scope, no location specified (defaults to global):
778
+ # `projects/{project_id}`
769
779
  #
770
780
  # The following example `parent` string specifies a parent project with the
771
781
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -835,10 +845,10 @@ module Google
835
845
  # processing
836
846
  # location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
837
847
  #
838
- # + Projects scope, location specified:<br/>
839
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
840
- # + Projects scope, no location specified (defaults to global):<br/>
841
- # `projects/`<var>PROJECT_ID</var>
848
+ # + Projects scope, location specified:
849
+ # `projects/{project_id}/locations/{location_id}`
850
+ # + Projects scope, no location specified (defaults to global):
851
+ # `projects/{project_id}`
842
852
  #
843
853
  # The following example `parent` string specifies a parent project with the
844
854
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -908,10 +918,10 @@ module Google
908
918
  # processing
909
919
  # location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
910
920
  #
911
- # + Projects scope, location specified:<br/>
912
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
913
- # + Projects scope, no location specified (defaults to global):<br/>
914
- # `projects/`<var>PROJECT_ID</var>
921
+ # + Projects scope, location specified:
922
+ # `projects/{project_id}/locations/{location_id}`
923
+ # + Projects scope, no location specified (defaults to global):
924
+ # `projects/{project_id}`
915
925
  #
916
926
  # The following example `parent` string specifies a parent project with the
917
927
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -1074,6 +1084,9 @@ module Google
1074
1084
  # @!attribute [rw] column_profile
1075
1085
  # @return [::Google::Cloud::Dlp::V2::ColumnDataProfile]
1076
1086
  # Column data profile column
1087
+ # @!attribute [rw] file_store_profile
1088
+ # @return [::Google::Cloud::Dlp::V2::FileStoreDataProfile]
1089
+ # File store data profile column.
1077
1090
  class DataProfileBigQueryRowSchema
1078
1091
  include ::Google::Protobuf::MessageExts
1079
1092
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1212,12 +1225,18 @@ module Google
1212
1225
  # The infoType is typically used in Argentina.
1213
1226
  ARGENTINA = 2
1214
1227
 
1228
+ # The infoType is typically used in Armenia.
1229
+ ARMENIA = 51
1230
+
1215
1231
  # The infoType is typically used in Australia.
1216
1232
  AUSTRALIA = 3
1217
1233
 
1218
1234
  # The infoType is typically used in Azerbaijan.
1219
1235
  AZERBAIJAN = 48
1220
1236
 
1237
+ # The infoType is typically used in Belarus.
1238
+ BELARUS = 50
1239
+
1221
1240
  # The infoType is typically used in Belgium.
1222
1241
  BELGIUM = 4
1223
1242
 
@@ -1419,7 +1438,7 @@ module Google
1419
1438
  #
1420
1439
  # The format of this value is as follows:
1421
1440
  #
1422
- # locations/<var>LOCATION_ID</var>
1441
+ # `locations/{location_id}`
1423
1442
  # @!attribute [rw] language_code
1424
1443
  # @return [::String]
1425
1444
  # BCP-47 language code for localized infoType friendly
@@ -2545,9 +2564,10 @@ module Google
2545
2564
 
2546
2565
  # Generalization function that buckets values based on ranges. The ranges and
2547
2566
  # replacement values are dynamically provided by the user for custom behavior,
2548
- # such as 1-30 -> LOW 31-65 -> MEDIUM 66-100 -> HIGH
2549
- # This can be used on
2550
- # data of type: number, long, string, timestamp.
2567
+ # such as 1-30 -> LOW, 31-65 -> MEDIUM, 66-100 -> HIGH.
2568
+ #
2569
+ # This can be used on data of type: number, long, string, timestamp.
2570
+ #
2551
2571
  # If the bound `Value` type differs from the type of data being transformed, we
2552
2572
  # will first attempt converting the type of the data to be transformed to match
2553
2573
  # the type of the bound before comparing.
@@ -2630,8 +2650,7 @@ module Google
2630
2650
  # This must be encoded as ASCII.
2631
2651
  # The order of characters does not matter.
2632
2652
  # The full list of allowed characters is:
2633
- # <code>0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
2634
- # ~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/</code>
2653
+ # ``0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/``
2635
2654
  # @!attribute [rw] radix
2636
2655
  # @return [::Integer]
2637
2656
  # The native way to select the alphabet. Must be in the range [2, 95].
@@ -3237,9 +3256,24 @@ module Google
3237
3256
  # @return [::Array<::Google::Protobuf::Timestamp>]
3238
3257
  # The times the error occurred. List includes the oldest timestamp and the
3239
3258
  # last 9 timestamps.
3259
+ # @!attribute [rw] extra_info
3260
+ # @return [::Google::Cloud::Dlp::V2::Error::ErrorExtraInfo]
3261
+ # Additional information about the error.
3240
3262
  class Error
3241
3263
  include ::Google::Protobuf::MessageExts
3242
3264
  extend ::Google::Protobuf::MessageExts::ClassMethods
3265
+
3266
+ # Additional information about the error.
3267
+ module ErrorExtraInfo
3268
+ # Unused.
3269
+ ERROR_INFO_UNSPECIFIED = 0
3270
+
3271
+ # Image scan is not available in the region.
3272
+ IMAGE_SCAN_UNAVAILABLE_IN_REGION = 1
3273
+
3274
+ # File store cluster is not supported for profile generation.
3275
+ FILE_STORE_CLUSTER_UNSUPPORTED = 2
3276
+ end
3243
3277
  end
3244
3278
 
3245
3279
  # Contains a configuration to make API calls on a repeating basis.
@@ -3442,7 +3476,7 @@ module Google
3442
3476
  # @!attribute [rw] cloud_storage_output
3443
3477
  # @return [::String]
3444
3478
  # Required. User settable Cloud Storage bucket and folders to store
3445
- # de-identified files. This field must be set for cloud storage
3479
+ # de-identified files. This field must be set for Cloud Storage
3446
3480
  # deidentification. The output Cloud Storage bucket must be different
3447
3481
  # from the input bucket. De-identified files will overwrite files in the
3448
3482
  # output path.
@@ -3451,12 +3485,12 @@ module Google
3451
3485
  # @!attribute [rw] file_types_to_transform
3452
3486
  # @return [::Array<::Google::Cloud::Dlp::V2::FileType>]
3453
3487
  # List of user-specified file type groups to transform. If specified, only
3454
- # the files with these filetypes will be transformed. If empty, all
3488
+ # the files with these file types will be transformed. If empty, all
3455
3489
  # supported files will be transformed. Supported types may be automatically
3456
3490
  # added over time. If a file type is set in this field that isn't supported
3457
3491
  # by the Deidentify action then the job will fail and will not be
3458
- # successfully created/started. Currently the only filetypes supported are:
3459
- # IMAGES, TEXT_FILES, CSV, TSV.
3492
+ # successfully created/started. Currently the only file types supported
3493
+ # are: IMAGES, TEXT_FILES, CSV, TSV.
3460
3494
  class Deidentify
3461
3495
  include ::Google::Protobuf::MessageExts
3462
3496
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -3520,14 +3554,14 @@ module Google
3520
3554
  # (project or organization) and whether you have [specified a processing
3521
3555
  # location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
3522
3556
  #
3523
- # + Projects scope, location specified:<br/>
3524
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
3525
- # + Projects scope, no location specified (defaults to global):<br/>
3526
- # `projects/`<var>PROJECT_ID</var>
3527
- # + Organizations scope, location specified:<br/>
3528
- # `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var>
3529
- # + Organizations scope, no location specified (defaults to global):<br/>
3530
- # `organizations/`<var>ORG_ID</var>
3557
+ # + Projects scope, location specified:
3558
+ # `projects/{project_id}/locations/{location_id}`
3559
+ # + Projects scope, no location specified (defaults to global):
3560
+ # `projects/{project_id}`
3561
+ # + Organizations scope, location specified:
3562
+ # `organizations/{org_id}/locations/{location_id}`
3563
+ # + Organizations scope, no location specified (defaults to global):
3564
+ # `organizations/{org_id}`
3531
3565
  #
3532
3566
  # The following example `parent` string specifies a parent project with the
3533
3567
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -3588,14 +3622,14 @@ module Google
3588
3622
  # (project or organization) and whether you have [specified a processing
3589
3623
  # location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
3590
3624
  #
3591
- # + Projects scope, location specified:<br/>
3592
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
3593
- # + Projects scope, no location specified (defaults to global):<br/>
3594
- # `projects/`<var>PROJECT_ID</var>
3595
- # + Organizations scope, location specified:<br/>
3596
- # `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var>
3597
- # + Organizations scope, no location specified (defaults to global):<br/>
3598
- # `organizations/`<var>ORG_ID</var>
3625
+ # + Projects scope, location specified:
3626
+ # `projects/{project_id}/locations/{location_id}`
3627
+ # + Projects scope, no location specified (defaults to global):
3628
+ # `projects/{project_id}`
3629
+ # + Organizations scope, location specified:
3630
+ # `organizations/{org_id}/locations/{location_id}`
3631
+ # + Organizations scope, no location specified (defaults to global):
3632
+ # `organizations/{org_id}`
3599
3633
  #
3600
3634
  # The following example `parent` string specifies a parent project with the
3601
3635
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -3612,7 +3646,7 @@ module Google
3612
3646
  # returns a page of max size 100.
3613
3647
  # @!attribute [rw] order_by
3614
3648
  # @return [::String]
3615
- # Comma separated list of fields to order by,
3649
+ # Comma-separated list of fields to order by,
3616
3650
  # followed by `asc` or `desc` postfix. This list is case insensitive. The
3617
3651
  # default sorting order is ascending. Redundant space characters are
3618
3652
  # insignificant.
@@ -3666,10 +3700,10 @@ module Google
3666
3700
  # processing
3667
3701
  # location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
3668
3702
  #
3669
- # + Projects scope, location specified:<br/>
3670
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
3671
- # + Projects scope, no location specified (defaults to global):<br/>
3672
- # `projects/`<var>PROJECT_ID</var>
3703
+ # + Projects scope, location specified:
3704
+ # `projects/{project_id}/locations/{location_id}`
3705
+ # + Projects scope, no location specified (defaults to global):
3706
+ # `projects/{project_id}`
3673
3707
  #
3674
3708
  # The following example `parent` string specifies a parent project with the
3675
3709
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -3734,8 +3768,13 @@ module Google
3734
3768
  # @return [::String]
3735
3769
  # Required. Parent resource name.
3736
3770
  #
3737
- # The format of this value is as follows:
3738
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
3771
+ # The format of this value varies depending on the scope of the request
3772
+ # (project or organization):
3773
+ #
3774
+ # + Projects scope:
3775
+ # `projects/{project_id}/locations/{location_id}`
3776
+ # + Organizations scope:
3777
+ # `organizations/{org_id}/locations/{location_id}`
3739
3778
  #
3740
3779
  # The following example `parent` string specifies a parent project with the
3741
3780
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -3788,7 +3827,7 @@ module Google
3788
3827
  # Required. Parent resource name.
3789
3828
  #
3790
3829
  # The format of this value is as follows:
3791
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
3830
+ # `projects/{project_id}/locations/{location_id}`
3792
3831
  #
3793
3832
  # The following example `parent` string specifies a parent project with the
3794
3833
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -3805,7 +3844,7 @@ module Google
3805
3844
  # Size of the page. This value can be limited by a server.
3806
3845
  # @!attribute [rw] order_by
3807
3846
  # @return [::String]
3808
- # Comma separated list of config fields to order by,
3847
+ # Comma-separated list of config fields to order by,
3809
3848
  # followed by `asc` or `desc` postfix. This list is case insensitive. The
3810
3849
  # default sorting order is ascending. Redundant space characters are
3811
3850
  # insignificant.
@@ -3856,10 +3895,10 @@ module Google
3856
3895
  # processing
3857
3896
  # location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
3858
3897
  #
3859
- # + Projects scope, location specified:<br/>
3860
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
3861
- # + Projects scope, no location specified (defaults to global):<br/>
3862
- # `projects/`<var>PROJECT_ID</var>
3898
+ # + Projects scope, location specified:
3899
+ # `projects/{project_id}/locations/{location_id}`
3900
+ # + Projects scope, no location specified (defaults to global):
3901
+ # `projects/{project_id}`
3863
3902
  #
3864
3903
  # The following example `parent` string specifies a parent project with the
3865
3904
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -3896,10 +3935,10 @@ module Google
3896
3935
  # processing
3897
3936
  # location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
3898
3937
  #
3899
- # + Projects scope, location specified:<br/>
3900
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
3901
- # + Projects scope, no location specified (defaults to global):<br/>
3902
- # `projects/`<var>PROJECT_ID</var>
3938
+ # + Projects scope, location specified:
3939
+ # `projects/{project_id}/locations/{location_id}`
3940
+ # + Projects scope, no location specified (defaults to global):
3941
+ # `projects/{project_id}`
3903
3942
  #
3904
3943
  # The following example `parent` string specifies a parent project with the
3905
3944
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -3916,7 +3955,7 @@ module Google
3916
3955
  # Size of the page. This value can be limited by a server.
3917
3956
  # @!attribute [rw] order_by
3918
3957
  # @return [::String]
3919
- # Comma separated list of triggeredJob fields to order by,
3958
+ # Comma-separated list of triggeredJob fields to order by,
3920
3959
  # followed by `asc` or `desc` postfix. This list is case insensitive. The
3921
3960
  # default sorting order is ascending. Redundant space characters are
3922
3961
  # insignificant.
@@ -4018,6 +4057,9 @@ module Google
4018
4057
  # @!attribute [rw] pub_sub_notification
4019
4058
  # @return [::Google::Cloud::Dlp::V2::DataProfileAction::PubSubNotification]
4020
4059
  # Publish a message into the Pub/Sub topic.
4060
+ # @!attribute [rw] tag_resources
4061
+ # @return [::Google::Cloud::Dlp::V2::DataProfileAction::TagResources]
4062
+ # Tags the profiled resources with the specified tag values.
4021
4063
  class DataProfileAction
4022
4064
  include ::Google::Protobuf::MessageExts
4023
4065
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -4074,6 +4116,66 @@ module Google
4074
4116
 
4075
4117
  # The name of the profiled resource.
4076
4118
  RESOURCE_NAME = 2
4119
+
4120
+ # The full file store data profile.
4121
+ FILE_STORE_PROFILE = 3
4122
+ end
4123
+ end
4124
+
4125
+ # If set, attaches the [tags]
4126
+ # (https://cloud.google.com/resource-manager/docs/tags/tags-overview)
4127
+ # provided to profiled resources. Tags support [access
4128
+ # control](https://cloud.google.com/iam/docs/tags-access-control). You can
4129
+ # conditionally grant or deny access to a resource based on whether the
4130
+ # resource has a specific tag.
4131
+ # @!attribute [rw] tag_conditions
4132
+ # @return [::Array<::Google::Cloud::Dlp::V2::DataProfileAction::TagResources::TagCondition>]
4133
+ # The tags to associate with different conditions.
4134
+ # @!attribute [rw] profile_generations_to_tag
4135
+ # @return [::Array<::Google::Cloud::Dlp::V2::ProfileGeneration>]
4136
+ # The profile generations for which the tag should be attached to
4137
+ # resources. If you attach a tag to only new profiles, then if the
4138
+ # sensitivity score of a profile subsequently changes, its tag doesn't
4139
+ # change. By default, this field includes only new profiles. To include
4140
+ # both new and updated profiles for tagging, this field should explicitly
4141
+ # include both `PROFILE_GENERATION_NEW` and `PROFILE_GENERATION_UPDATE`.
4142
+ # @!attribute [rw] lower_data_risk_to_low
4143
+ # @return [::Boolean]
4144
+ # Whether applying a tag to a resource should lower the risk of the profile
4145
+ # for that resource. For example, in conjunction with an [IAM deny
4146
+ # policy](https://cloud.google.com/iam/docs/deny-overview), you can deny
4147
+ # all principals a permission if a tag value is present, mitigating the
4148
+ # risk of the resource. This also lowers the data risk of resources at the
4149
+ # lower levels of the resource hierarchy. For example, reducing the data
4150
+ # risk of a table data profile also reduces the data risk of the
4151
+ # constituent column data profiles.
4152
+ class TagResources
4153
+ include ::Google::Protobuf::MessageExts
4154
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4155
+
4156
+ # The tag to attach to profiles matching the condition. At most one
4157
+ # `TagCondition` can be specified per sensitivity level.
4158
+ # @!attribute [rw] tag
4159
+ # @return [::Google::Cloud::Dlp::V2::DataProfileAction::TagResources::TagValue]
4160
+ # The tag value to attach to resources.
4161
+ # @!attribute [rw] sensitivity_score
4162
+ # @return [::Google::Cloud::Dlp::V2::SensitivityScore]
4163
+ # Conditions attaching the tag to a resource on its profile having this
4164
+ # sensitivity score.
4165
+ class TagCondition
4166
+ include ::Google::Protobuf::MessageExts
4167
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4168
+ end
4169
+
4170
+ # A value of a tag.
4171
+ # @!attribute [rw] namespaced_value
4172
+ # @return [::String]
4173
+ # The namespaced name for the tag value to attach to resources. Must be
4174
+ # in the format `{parent_id}/{tag_key_short_name}/{short_name}`, for
4175
+ # example, "123456/environment/prod".
4176
+ class TagValue
4177
+ include ::Google::Protobuf::MessageExts
4178
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4077
4179
  end
4078
4180
  end
4079
4181
 
@@ -4191,7 +4293,7 @@ module Google
4191
4293
  # The ID of an organization to scan.
4192
4294
  # @!attribute [rw] folder_id
4193
4295
  # @return [::Integer]
4194
- # The ID of the Folder within an organization to scan.
4296
+ # The ID of the folder within an organization to scan.
4195
4297
  class DataProfileLocation
4196
4298
  include ::Google::Protobuf::MessageExts
4197
4299
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -4303,6 +4405,10 @@ module Google
4303
4405
  # Discovery target that looks for credentials and secrets stored in cloud
4304
4406
  # resource metadata and reports them as vulnerabilities to Security Command
4305
4407
  # Center. Only one target of this type is allowed.
4408
+ # @!attribute [rw] cloud_storage_target
4409
+ # @return [::Google::Cloud::Dlp::V2::CloudStorageDiscoveryTarget]
4410
+ # Cloud Storage target for Discovery. The first target to match a table
4411
+ # will be the one applied.
4306
4412
  class DiscoveryTarget
4307
4413
  include ::Google::Protobuf::MessageExts
4308
4414
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -4420,6 +4526,15 @@ module Google
4420
4526
  # @!attribute [rw] table_modified_cadence
4421
4527
  # @return [::Google::Cloud::Dlp::V2::DiscoveryTableModifiedCadence]
4422
4528
  # Governs when to update data profiles when a table is modified.
4529
+ # @!attribute [rw] inspect_template_modified_cadence
4530
+ # @return [::Google::Cloud::Dlp::V2::DiscoveryInspectTemplateModifiedCadence]
4531
+ # Governs when to update data profiles when the inspection rules
4532
+ # defined by the `InspectTemplate` change.
4533
+ # If not set, changing the template will not cause a data profile to update.
4534
+ # @!attribute [rw] refresh_frequency
4535
+ # @return [::Google::Cloud::Dlp::V2::DataProfileUpdateFrequency]
4536
+ # Frequency at which profiles should be updated, regardless of whether the
4537
+ # underlying resource has changed. Defaults to never.
4423
4538
  class DiscoveryGenerationCadence
4424
4539
  include ::Google::Protobuf::MessageExts
4425
4540
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -4455,6 +4570,17 @@ module Google
4455
4570
  extend ::Google::Protobuf::MessageExts::ClassMethods
4456
4571
  end
4457
4572
 
4573
+ # The cadence at which to update data profiles when the inspection rules
4574
+ # defined by the `InspectTemplate` change.
4575
+ # @!attribute [rw] frequency
4576
+ # @return [::Google::Cloud::Dlp::V2::DataProfileUpdateFrequency]
4577
+ # How frequently data profiles can be updated when the template is modified.
4578
+ # Defaults to never.
4579
+ class DiscoveryInspectTemplateModifiedCadence
4580
+ include ::Google::Protobuf::MessageExts
4581
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4582
+ end
4583
+
4458
4584
  # Target used to match against for discovery with Cloud SQL tables.
4459
4585
  # @!attribute [rw] filter
4460
4586
  # @return [::Google::Cloud::Dlp::V2::DiscoveryCloudSqlFilter]
@@ -4676,6 +4802,224 @@ module Google
4676
4802
  extend ::Google::Protobuf::MessageExts::ClassMethods
4677
4803
  end
4678
4804
 
4805
+ # Target used to match against for discovery with Cloud Storage buckets.
4806
+ # @!attribute [rw] filter
4807
+ # @return [::Google::Cloud::Dlp::V2::DiscoveryCloudStorageFilter]
4808
+ # Required. The buckets the generation_cadence applies to. The first target
4809
+ # with a matching filter will be the one to apply to a bucket.
4810
+ # @!attribute [rw] conditions
4811
+ # @return [::Google::Cloud::Dlp::V2::DiscoveryFileStoreConditions]
4812
+ # Optional. In addition to matching the filter, these conditions must be true
4813
+ # before a profile is generated.
4814
+ # @!attribute [rw] generation_cadence
4815
+ # @return [::Google::Cloud::Dlp::V2::DiscoveryCloudStorageGenerationCadence]
4816
+ # Optional. How often and when to update profiles. New buckets that match
4817
+ # both the filter and conditions are scanned as quickly as possible
4818
+ # depending on system capacity.
4819
+ # @!attribute [rw] disabled
4820
+ # @return [::Google::Cloud::Dlp::V2::Disabled]
4821
+ # Optional. Disable profiling for buckets that match this filter.
4822
+ class CloudStorageDiscoveryTarget
4823
+ include ::Google::Protobuf::MessageExts
4824
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4825
+ end
4826
+
4827
+ # Determines which buckets will have profiles generated within an organization
4828
+ # or project. Includes the ability to filter by regular expression patterns
4829
+ # on project ID and bucket name.
4830
+ # @!attribute [rw] collection
4831
+ # @return [::Google::Cloud::Dlp::V2::FileStoreCollection]
4832
+ # Optional. A specific set of buckets for this filter to apply to.
4833
+ # @!attribute [rw] cloud_storage_resource_reference
4834
+ # @return [::Google::Cloud::Dlp::V2::CloudStorageResourceReference]
4835
+ # Optional. The bucket to scan. Targets including this can only include one
4836
+ # target (the target with this bucket). This enables profiling the contents
4837
+ # of a single bucket, while the other options allow for easy profiling of
4838
+ # many bucets within a project or an organization.
4839
+ # @!attribute [rw] others
4840
+ # @return [::Google::Cloud::Dlp::V2::AllOtherResources]
4841
+ # Optional. Catch-all. This should always be the last target in the list
4842
+ # because anything above it will apply first. Should only appear once in a
4843
+ # configuration. If none is specified, a default one will be added
4844
+ # automatically.
4845
+ class DiscoveryCloudStorageFilter
4846
+ include ::Google::Protobuf::MessageExts
4847
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4848
+ end
4849
+
4850
+ # Match file stores (e.g. buckets) using regex filters.
4851
+ # @!attribute [rw] include_regexes
4852
+ # @return [::Google::Cloud::Dlp::V2::FileStoreRegexes]
4853
+ # Optional. A collection of regular expressions to match a file store
4854
+ # against.
4855
+ class FileStoreCollection
4856
+ include ::Google::Protobuf::MessageExts
4857
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4858
+ end
4859
+
4860
+ # A collection of regular expressions to determine what file store to match
4861
+ # against.
4862
+ # @!attribute [rw] patterns
4863
+ # @return [::Array<::Google::Cloud::Dlp::V2::FileStoreRegex>]
4864
+ # Required. The group of regular expression patterns to match against one or
4865
+ # more file stores. Maximum of 100 entries. The sum of all regular
4866
+ # expression's length can't exceed 10 KiB.
4867
+ class FileStoreRegexes
4868
+ include ::Google::Protobuf::MessageExts
4869
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4870
+ end
4871
+
4872
+ # A pattern to match against one or more file stores.
4873
+ # @!attribute [rw] cloud_storage_regex
4874
+ # @return [::Google::Cloud::Dlp::V2::CloudStorageRegex]
4875
+ # Optional. Regex for Cloud Storage.
4876
+ class FileStoreRegex
4877
+ include ::Google::Protobuf::MessageExts
4878
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4879
+ end
4880
+
4881
+ # A pattern to match against one or more file stores. At least one
4882
+ # pattern must be specified. Regular expressions use RE2
4883
+ # [syntax](https://github.com/google/re2/wiki/Syntax); a guide can be found
4884
+ # under the google/re2 repository on GitHub.
4885
+ # @!attribute [rw] project_id_regex
4886
+ # @return [::String]
4887
+ # Optional. For organizations, if unset, will match all projects.
4888
+ # @!attribute [rw] bucket_name_regex
4889
+ # @return [::String]
4890
+ # Optional. Regex to test the bucket name against. If empty, all buckets
4891
+ # match. Example: "marketing2021" or "(marketing)\d\\{4}" will both match the
4892
+ # bucket gs://marketing2021
4893
+ class CloudStorageRegex
4894
+ include ::Google::Protobuf::MessageExts
4895
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4896
+ end
4897
+
4898
+ # Identifies a single Cloud Storage bucket.
4899
+ # @!attribute [rw] bucket_name
4900
+ # @return [::String]
4901
+ # Required. The bucket to scan.
4902
+ # @!attribute [rw] project_id
4903
+ # @return [::String]
4904
+ # Required. If within a project-level config, then this must match the
4905
+ # config's project id.
4906
+ class CloudStorageResourceReference
4907
+ include ::Google::Protobuf::MessageExts
4908
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4909
+ end
4910
+
4911
+ # How often existing buckets should have their profiles refreshed.
4912
+ # New buckets are scanned as quickly as possible depending on system
4913
+ # capacity.
4914
+ # @!attribute [rw] refresh_frequency
4915
+ # @return [::Google::Cloud::Dlp::V2::DataProfileUpdateFrequency]
4916
+ # Optional. Data changes in Cloud Storage can't trigger reprofiling. If you
4917
+ # set this field, profiles are refreshed at this frequency regardless of
4918
+ # whether the underlying buckets have changed. Defaults to never.
4919
+ # @!attribute [rw] inspect_template_modified_cadence
4920
+ # @return [::Google::Cloud::Dlp::V2::DiscoveryInspectTemplateModifiedCadence]
4921
+ # Optional. Governs when to update data profiles when the inspection rules
4922
+ # defined by the `InspectTemplate` change.
4923
+ # If not set, changing the template will not cause a data profile to update.
4924
+ class DiscoveryCloudStorageGenerationCadence
4925
+ include ::Google::Protobuf::MessageExts
4926
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4927
+ end
4928
+
4929
+ # Requirements that must be true before a Cloud Storage bucket or object is
4930
+ # scanned in discovery for the first time. There is an AND relationship between
4931
+ # the top-level attributes.
4932
+ # @!attribute [rw] included_object_attributes
4933
+ # @return [::Array<::Google::Cloud::Dlp::V2::DiscoveryCloudStorageConditions::CloudStorageObjectAttribute>]
4934
+ # Required. Only objects with the specified attributes will be scanned. If an
4935
+ # object has one of the specified attributes but is inside an excluded
4936
+ # bucket, it will not be scanned. Defaults to [ALL_SUPPORTED_OBJECTS]. A
4937
+ # profile will be created even if no objects match the
4938
+ # included_object_attributes.
4939
+ # @!attribute [rw] included_bucket_attributes
4940
+ # @return [::Array<::Google::Cloud::Dlp::V2::DiscoveryCloudStorageConditions::CloudStorageBucketAttribute>]
4941
+ # Required. Only objects with the specified attributes will be scanned.
4942
+ # Defaults to [ALL_SUPPORTED_BUCKETS] if unset.
4943
+ class DiscoveryCloudStorageConditions
4944
+ include ::Google::Protobuf::MessageExts
4945
+ extend ::Google::Protobuf::MessageExts::ClassMethods
4946
+
4947
+ # The attribute of an object. See
4948
+ # https://cloud.google.com/storage/docs/storage-classes for more information
4949
+ # on storage classes.
4950
+ module CloudStorageObjectAttribute
4951
+ # Unused.
4952
+ CLOUD_STORAGE_OBJECT_ATTRIBUTE_UNSPECIFIED = 0
4953
+
4954
+ # Scan objects regardless of the attribute.
4955
+ ALL_SUPPORTED_OBJECTS = 1
4956
+
4957
+ # Scan objects with the standard storage class.
4958
+ STANDARD = 2
4959
+
4960
+ # Scan objects with the nearline storage class. This will incur retrieval
4961
+ # fees.
4962
+ NEARLINE = 3
4963
+
4964
+ # Scan objects with the coldline storage class. This will incur retrieval
4965
+ # fees.
4966
+ COLDLINE = 4
4967
+
4968
+ # Scan objects with the archive storage class. This will incur retrieval
4969
+ # fees.
4970
+ ARCHIVE = 5
4971
+
4972
+ # Scan objects with the regional storage class.
4973
+ REGIONAL = 6
4974
+
4975
+ # Scan objects with the multi-regional storage class.
4976
+ MULTI_REGIONAL = 7
4977
+
4978
+ # Scan objects with the dual-regional storage class. This will incur
4979
+ # retrieval fees.
4980
+ DURABLE_REDUCED_AVAILABILITY = 8
4981
+ end
4982
+
4983
+ # The attribute of a bucket.
4984
+ module CloudStorageBucketAttribute
4985
+ # Unused.
4986
+ CLOUD_STORAGE_BUCKET_ATTRIBUTE_UNSPECIFIED = 0
4987
+
4988
+ # Scan buckets regardless of the attribute.
4989
+ ALL_SUPPORTED_BUCKETS = 1
4990
+
4991
+ # Buckets with autoclass disabled
4992
+ # (https://cloud.google.com/storage/docs/autoclass). Only one of
4993
+ # AUTOCLASS_DISABLED or AUTOCLASS_ENABLED should be set.
4994
+ AUTOCLASS_DISABLED = 2
4995
+
4996
+ # Buckets with autoclass enabled
4997
+ # (https://cloud.google.com/storage/docs/autoclass). Only one of
4998
+ # AUTOCLASS_DISABLED or AUTOCLASS_ENABLED should be set. Scanning
4999
+ # Autoclass-enabled buckets can affect object storage classes.
5000
+ AUTOCLASS_ENABLED = 3
5001
+ end
5002
+ end
5003
+
5004
+ # Requirements that must be true before a file store is scanned in discovery
5005
+ # for the first time. There is an AND relationship between the top-level
5006
+ # attributes.
5007
+ # @!attribute [rw] created_after
5008
+ # @return [::Google::Protobuf::Timestamp]
5009
+ # Optional. File store must have been created after this date. Used to avoid
5010
+ # backfilling.
5011
+ # @!attribute [rw] min_age
5012
+ # @return [::Google::Protobuf::Duration]
5013
+ # Optional. Minimum age a file store must have. If set, the value must be 1
5014
+ # hour or greater.
5015
+ # @!attribute [rw] cloud_storage_conditions
5016
+ # @return [::Google::Cloud::Dlp::V2::DiscoveryCloudStorageConditions]
5017
+ # Optional. Cloud Storage conditions.
5018
+ class DiscoveryFileStoreConditions
5019
+ include ::Google::Protobuf::MessageExts
5020
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5021
+ end
5022
+
4679
5023
  # The location to begin a discovery scan. Denotes an organization ID or folder
4680
5024
  # ID within an organization.
4681
5025
  # @!attribute [rw] organization_id
@@ -4683,12 +5027,18 @@ module Google
4683
5027
  # The ID of an organization to scan.
4684
5028
  # @!attribute [rw] folder_id
4685
5029
  # @return [::Integer]
4686
- # The ID of the Folder within an organization to scan.
5030
+ # The ID of the folder within an organization to be scanned.
4687
5031
  class DiscoveryStartingLocation
4688
5032
  include ::Google::Protobuf::MessageExts
4689
5033
  extend ::Google::Protobuf::MessageExts::ClassMethods
4690
5034
  end
4691
5035
 
5036
+ # Match discovery resources not covered by any other filter.
5037
+ class AllOtherResources
5038
+ include ::Google::Protobuf::MessageExts
5039
+ extend ::Google::Protobuf::MessageExts::ClassMethods
5040
+ end
5041
+
4692
5042
  # Combines all of the information about a DLP job.
4693
5043
  # @!attribute [rw] name
4694
5044
  # @return [::String]
@@ -4778,10 +5128,10 @@ module Google
4778
5128
  # processing
4779
5129
  # location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
4780
5130
  #
4781
- # + Projects scope, location specified:<br/>
4782
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
4783
- # + Projects scope, no location specified (defaults to global):<br/>
4784
- # `projects/`<var>PROJECT_ID</var>
5131
+ # + Projects scope, location specified:
5132
+ # `projects/{project_id}/locations/{location_id}`
5133
+ # + Projects scope, no location specified (defaults to global):
5134
+ # `projects/{project_id}`
4785
5135
  #
4786
5136
  # The following example `parent` string specifies a parent project with the
4787
5137
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -4829,7 +5179,7 @@ module Google
4829
5179
  # The type of job. Defaults to `DlpJobType.INSPECT`
4830
5180
  # @!attribute [rw] order_by
4831
5181
  # @return [::String]
4832
- # Comma separated list of fields to order by,
5182
+ # Comma-separated list of fields to order by,
4833
5183
  # followed by `asc` or `desc` postfix. This list is case insensitive. The
4834
5184
  # default sorting order is ascending. Redundant space characters are
4835
5185
  # insignificant.
@@ -4898,14 +5248,14 @@ module Google
4898
5248
  # (project or organization) and whether you have [specified a processing
4899
5249
  # location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
4900
5250
  #
4901
- # + Projects scope, location specified:<br/>
4902
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
4903
- # + Projects scope, no location specified (defaults to global):<br/>
4904
- # `projects/`<var>PROJECT_ID</var>
4905
- # + Organizations scope, location specified:<br/>
4906
- # `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var>
4907
- # + Organizations scope, no location specified (defaults to global):<br/>
4908
- # `organizations/`<var>ORG_ID</var>
5251
+ # + Projects scope, location specified:
5252
+ # `projects/{project_id}/locations/{location_id}`
5253
+ # + Projects scope, no location specified (defaults to global):
5254
+ # `projects/{project_id}`
5255
+ # + Organizations scope, location specified:
5256
+ # `organizations/{org_id}/locations/{location_id}`
5257
+ # + Organizations scope, no location specified (defaults to global):
5258
+ # `organizations/{org_id}`
4909
5259
  #
4910
5260
  # The following example `parent` string specifies a parent project with the
4911
5261
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -4967,14 +5317,14 @@ module Google
4967
5317
  # (project or organization) and whether you have [specified a processing
4968
5318
  # location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
4969
5319
  #
4970
- # + Projects scope, location specified:<br/>
4971
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
4972
- # + Projects scope, no location specified (defaults to global):<br/>
4973
- # `projects/`<var>PROJECT_ID</var>
4974
- # + Organizations scope, location specified:<br/>
4975
- # `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var>
4976
- # + Organizations scope, no location specified (defaults to global):<br/>
4977
- # `organizations/`<var>ORG_ID</var>
5320
+ # + Projects scope, location specified:
5321
+ # `projects/{project_id}/locations/{location_id}`
5322
+ # + Projects scope, no location specified (defaults to global):
5323
+ # `projects/{project_id}`
5324
+ # + Organizations scope, location specified:
5325
+ # `organizations/{org_id}/locations/{location_id}`
5326
+ # + Organizations scope, no location specified (defaults to global):
5327
+ # `organizations/{org_id}`
4978
5328
  #
4979
5329
  # The following example `parent` string specifies a parent project with the
4980
5330
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -4991,7 +5341,7 @@ module Google
4991
5341
  # returns a page of max size 100.
4992
5342
  # @!attribute [rw] order_by
4993
5343
  # @return [::String]
4994
- # Comma separated list of fields to order by,
5344
+ # Comma-separated list of fields to order by,
4995
5345
  # followed by `asc` or `desc` postfix. This list is case insensitive. The
4996
5346
  # default sorting order is ascending. Redundant space characters are
4997
5347
  # insignificant.
@@ -5164,14 +5514,14 @@ module Google
5164
5514
  # (project or organization) and whether you have [specified a processing
5165
5515
  # location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
5166
5516
  #
5167
- # + Projects scope, location specified:<br/>
5168
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
5169
- # + Projects scope, no location specified (defaults to global):<br/>
5170
- # `projects/`<var>PROJECT_ID</var>
5171
- # + Organizations scope, location specified:<br/>
5172
- # `organizations/`<var>ORG_ID</var>`/locations/`<var>LOCATION_ID</var>
5173
- # + Organizations scope, no location specified (defaults to global):<br/>
5174
- # `organizations/`<var>ORG_ID</var>
5517
+ # + Projects scope, location specified:
5518
+ # `projects/{project_id}/locations/{location_id}`
5519
+ # + Projects scope, no location specified (defaults to global):
5520
+ # `projects/{project_id}`
5521
+ # + Organizations scope, location specified:
5522
+ # `organizations/{org_id}/locations/{location_id}`
5523
+ # + Organizations scope, no location specified (defaults to global):
5524
+ # `organizations/{org_id}`
5175
5525
  #
5176
5526
  # The following example `parent` string specifies a parent project with the
5177
5527
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -5234,10 +5584,10 @@ module Google
5234
5584
  # (project or organization) and whether you have [specified a processing
5235
5585
  # location](https://cloud.google.com/sensitive-data-protection/docs/specifying-location):
5236
5586
  #
5237
- # + Projects scope, location specified:<br/>
5238
- # `projects/`<var>PROJECT_ID</var>`/locations/`<var>LOCATION_ID</var>
5239
- # + Projects scope, no location specified (defaults to global):<br/>
5240
- # `projects/`<var>PROJECT_ID</var>
5587
+ # + Projects scope, location specified:
5588
+ # `projects/{project_id}/locations/{location_id}`
5589
+ # + Projects scope, no location specified (defaults to global):
5590
+ # `projects/{project_id}`
5241
5591
  #
5242
5592
  # The following example `parent` string specifies a parent project with the
5243
5593
  # identifier `example-project`, and specifies the `europe-west3` location
@@ -5254,7 +5604,7 @@ module Google
5254
5604
  # returns a page of max size 100.
5255
5605
  # @!attribute [rw] order_by
5256
5606
  # @return [::String]
5257
- # Comma separated list of fields to order by,
5607
+ # Comma-separated list of fields to order by,
5258
5608
  # followed by `asc` or `desc` postfix. This list is case insensitive. The
5259
5609
  # default sorting order is ascending. Redundant space characters are
5260
5610
  # insignificant.
@@ -5377,6 +5727,7 @@ module Google
5377
5727
  # No more than 10 labels can be associated with a given finding.
5378
5728
  #
5379
5729
  # Examples:
5730
+ #
5380
5731
  # * `"environment" : "production"`
5381
5732
  # * `"pipeline" : "etl"`
5382
5733
  class HybridFindingDetails
@@ -5412,7 +5763,7 @@ module Google
5412
5763
  # returns a page of max size 100.
5413
5764
  # @!attribute [rw] order_by
5414
5765
  # @return [::String]
5415
- # Comma separated list of fields to order by, followed by `asc` or `desc`
5766
+ # Comma-separated list of fields to order by, followed by `asc` or `desc`
5416
5767
  # postfix. This list is case insensitive. The default sorting order is
5417
5768
  # ascending. Redundant space characters are insignificant. Only one order
5418
5769
  # field at a time is allowed.
@@ -5483,7 +5834,7 @@ module Google
5483
5834
  # returns a page of max size 100.
5484
5835
  # @!attribute [rw] order_by
5485
5836
  # @return [::String]
5486
- # Comma separated list of fields to order by, followed by `asc` or `desc`
5837
+ # Comma-separated list of fields to order by, followed by `asc` or `desc`
5487
5838
  # postfix. This list is case insensitive. The default sorting order is
5488
5839
  # ascending. Redundant space characters are insignificant. Only one order
5489
5840
  # field at a time is allowed.
@@ -5565,12 +5916,13 @@ module Google
5565
5916
  # returns a page of max size 100.
5566
5917
  # @!attribute [rw] order_by
5567
5918
  # @return [::String]
5568
- # Comma separated list of fields to order by, followed by `asc` or `desc`
5919
+ # Comma-separated list of fields to order by, followed by `asc` or `desc`
5569
5920
  # postfix. This list is case insensitive. The default sorting order is
5570
5921
  # ascending. Redundant space characters are insignificant. Only one order
5571
5922
  # field at a time is allowed.
5572
5923
  #
5573
5924
  # Examples:
5925
+ #
5574
5926
  # * `project_id asc`
5575
5927
  # * `table_id`
5576
5928
  # * `sensitivity_level desc`
@@ -5652,6 +6004,9 @@ module Google
5652
6004
  # data found.
5653
6005
  RISK_LOW = 10
5654
6006
 
6007
+ # Unable to determine risk.
6008
+ RISK_UNKNOWN = 12
6009
+
5655
6010
  # Medium risk - Sensitive data may be present but additional access or fine
5656
6011
  # grain access restrictions appear to be present. Consider limiting
5657
6012
  # access even further or transform data to mask.
@@ -5684,6 +6039,12 @@ module Google
5684
6039
  # @!attribute [rw] profile_status
5685
6040
  # @return [::Google::Cloud::Dlp::V2::ProfileStatus]
5686
6041
  # Success or error status of the last attempt to profile the project.
6042
+ # @!attribute [rw] table_data_profile_count
6043
+ # @return [::Integer]
6044
+ # The number of table data profiles generated for this project.
6045
+ # @!attribute [rw] file_store_data_profile_count
6046
+ # @return [::Integer]
6047
+ # The number of file store data profiles generated for this project.
5687
6048
  class ProjectDataProfile
5688
6049
  include ::Google::Protobuf::MessageExts
5689
6050
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -5725,7 +6086,7 @@ module Google
5725
6086
  # The resource type that was profiled.
5726
6087
  # @!attribute [rw] project_data_profile
5727
6088
  # @return [::String]
5728
- # The resource name to the project data profile for this table.
6089
+ # The resource name of the project data profile for this table.
5729
6090
  # @!attribute [rw] dataset_project_id
5730
6091
  # @return [::String]
5731
6092
  # The Google Cloud project ID that owns the resource.
@@ -6031,6 +6392,188 @@ module Google
6031
6392
  end
6032
6393
  end
6033
6394
 
6395
+ # The profile for a file store.
6396
+ #
6397
+ # * Cloud Storage: maps 1:1 with a bucket.
6398
+ # @!attribute [rw] name
6399
+ # @return [::String]
6400
+ # The name of the profile.
6401
+ # @!attribute [rw] data_source_type
6402
+ # @return [::Google::Cloud::Dlp::V2::DataSourceType]
6403
+ # The resource type that was profiled.
6404
+ # @!attribute [rw] project_data_profile
6405
+ # @return [::String]
6406
+ # The resource name of the project data profile for this file store.
6407
+ # @!attribute [rw] project_id
6408
+ # @return [::String]
6409
+ # The Google Cloud project ID that owns the resource.
6410
+ # @!attribute [rw] file_store_location
6411
+ # @return [::String]
6412
+ # The location of the file store.
6413
+ #
6414
+ # * Cloud Storage:
6415
+ # https://cloud.google.com/storage/docs/locations#available-locations
6416
+ # @!attribute [rw] data_storage_locations
6417
+ # @return [::Array<::String>]
6418
+ # For resources that have multiple storage locations, these are those
6419
+ # regions. For Cloud Storage this is the list of regions chosen for
6420
+ # dual-region storage. `file_store_location` will normally be the
6421
+ # corresponding multi-region for the list of individual locations. The first
6422
+ # region is always picked as the processing and storage location for the data
6423
+ # profile.
6424
+ # @!attribute [rw] location_type
6425
+ # @return [::String]
6426
+ # The location type of the bucket (region, dual-region, multi-region, etc).
6427
+ # If dual-region, expect data_storage_locations to be populated.
6428
+ # @!attribute [rw] file_store_path
6429
+ # @return [::String]
6430
+ # The file store path.
6431
+ #
6432
+ # * Cloud Storage: `gs://{bucket}`
6433
+ # @!attribute [rw] full_resource
6434
+ # @return [::String]
6435
+ # The resource name of the resource profiled.
6436
+ # https://cloud.google.com/apis/design/resource_names#full_resource_name
6437
+ # @!attribute [rw] config_snapshot
6438
+ # @return [::Google::Cloud::Dlp::V2::DataProfileConfigSnapshot]
6439
+ # The snapshot of the configurations used to generate the profile.
6440
+ # @!attribute [rw] profile_status
6441
+ # @return [::Google::Cloud::Dlp::V2::ProfileStatus]
6442
+ # Success or error status from the most recent profile generation attempt.
6443
+ # May be empty if the profile is still being generated.
6444
+ # @!attribute [rw] state
6445
+ # @return [::Google::Cloud::Dlp::V2::FileStoreDataProfile::State]
6446
+ # State of a profile.
6447
+ # @!attribute [rw] profile_last_generated
6448
+ # @return [::Google::Protobuf::Timestamp]
6449
+ # The last time the profile was generated.
6450
+ # @!attribute [rw] resource_visibility
6451
+ # @return [::Google::Cloud::Dlp::V2::ResourceVisibility]
6452
+ # How broadly a resource has been shared.
6453
+ # @!attribute [rw] sensitivity_score
6454
+ # @return [::Google::Cloud::Dlp::V2::SensitivityScore]
6455
+ # The sensitivity score of this resource.
6456
+ # @!attribute [rw] data_risk_level
6457
+ # @return [::Google::Cloud::Dlp::V2::DataRiskLevel]
6458
+ # The data risk level of this resource.
6459
+ # @!attribute [rw] create_time
6460
+ # @return [::Google::Protobuf::Timestamp]
6461
+ # The time the file store was first created.
6462
+ # @!attribute [rw] last_modified_time
6463
+ # @return [::Google::Protobuf::Timestamp]
6464
+ # The time the file store was last modified.
6465
+ # @!attribute [rw] file_cluster_summaries
6466
+ # @return [::Array<::Google::Cloud::Dlp::V2::FileClusterSummary>]
6467
+ # FileClusterSummary per each cluster.
6468
+ # @!attribute [rw] resource_attributes
6469
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::Dlp::V2::Value}]
6470
+ # Attributes of the resource being profiled.
6471
+ # Currently used attributes:
6472
+ #
6473
+ # * customer_managed_encryption: boolean
6474
+ # - true: the resource is encrypted with a customer-managed key.
6475
+ # - false: the resource is encrypted with a provider-managed key.
6476
+ # @!attribute [rw] resource_labels
6477
+ # @return [::Google::Protobuf::Map{::String => ::String}]
6478
+ # The labels applied to the resource at the time the profile was generated.
6479
+ # @!attribute [rw] file_store_info_type_summaries
6480
+ # @return [::Array<::Google::Cloud::Dlp::V2::FileStoreInfoTypeSummary>]
6481
+ # InfoTypes detected in this file store.
6482
+ # @!attribute [rw] file_store_is_empty
6483
+ # @return [::Boolean]
6484
+ # The file store does not have any files.
6485
+ class FileStoreDataProfile
6486
+ include ::Google::Protobuf::MessageExts
6487
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6488
+
6489
+ # @!attribute [rw] key
6490
+ # @return [::String]
6491
+ # @!attribute [rw] value
6492
+ # @return [::Google::Cloud::Dlp::V2::Value]
6493
+ class ResourceAttributesEntry
6494
+ include ::Google::Protobuf::MessageExts
6495
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6496
+ end
6497
+
6498
+ # @!attribute [rw] key
6499
+ # @return [::String]
6500
+ # @!attribute [rw] value
6501
+ # @return [::String]
6502
+ class ResourceLabelsEntry
6503
+ include ::Google::Protobuf::MessageExts
6504
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6505
+ end
6506
+
6507
+ # Possible states of a profile. New items may be added.
6508
+ module State
6509
+ # Unused.
6510
+ STATE_UNSPECIFIED = 0
6511
+
6512
+ # The profile is currently running. Once a profile has finished it will
6513
+ # transition to DONE.
6514
+ RUNNING = 1
6515
+
6516
+ # The profile is no longer generating.
6517
+ # If profile_status.status.code is 0, the profile succeeded, otherwise, it
6518
+ # failed.
6519
+ DONE = 2
6520
+ end
6521
+ end
6522
+
6523
+ # Information regarding the discovered InfoType.
6524
+ # @!attribute [rw] info_type
6525
+ # @return [::Google::Cloud::Dlp::V2::InfoType]
6526
+ # The InfoType seen.
6527
+ class FileStoreInfoTypeSummary
6528
+ include ::Google::Protobuf::MessageExts
6529
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6530
+ end
6531
+
6532
+ # Information regarding the discovered file extension.
6533
+ # @!attribute [rw] file_extension
6534
+ # @return [::String]
6535
+ # The file extension if set. (aka .pdf, .jpg, .txt)
6536
+ class FileExtensionInfo
6537
+ include ::Google::Protobuf::MessageExts
6538
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6539
+ end
6540
+
6541
+ # The file cluster summary.
6542
+ # @!attribute [rw] file_cluster_type
6543
+ # @return [::Google::Cloud::Dlp::V2::FileClusterType]
6544
+ # The file cluster type.
6545
+ # @!attribute [rw] file_store_info_type_summaries
6546
+ # @return [::Array<::Google::Cloud::Dlp::V2::FileStoreInfoTypeSummary>]
6547
+ # InfoTypes detected in this cluster.
6548
+ # @!attribute [rw] sensitivity_score
6549
+ # @return [::Google::Cloud::Dlp::V2::SensitivityScore]
6550
+ # The sensitivity score of this cluster. The score will be SENSITIVITY_LOW
6551
+ # if nothing has been scanned.
6552
+ # @!attribute [rw] data_risk_level
6553
+ # @return [::Google::Cloud::Dlp::V2::DataRiskLevel]
6554
+ # The data risk level of this cluster. RISK_LOW if nothing has been
6555
+ # scanned.
6556
+ # @!attribute [rw] errors
6557
+ # @return [::Array<::Google::Cloud::Dlp::V2::Error>]
6558
+ # A list of errors detected while scanning this cluster. The list is
6559
+ # truncated to 10 per cluster.
6560
+ # @!attribute [rw] file_extensions_scanned
6561
+ # @return [::Array<::Google::Cloud::Dlp::V2::FileExtensionInfo>]
6562
+ # A sample of file types scanned in this cluster. Empty if no files were
6563
+ # scanned.
6564
+ # @!attribute [rw] file_extensions_seen
6565
+ # @return [::Array<::Google::Cloud::Dlp::V2::FileExtensionInfo>]
6566
+ # A sample of file types seen in this cluster. Empty if no files were seen.
6567
+ # @!attribute [rw] no_files_exist
6568
+ # @return [::Boolean]
6569
+ # True if no files exist in this cluster. If the bucket had more files than
6570
+ # could be listed, this will be false even if no files for this cluster
6571
+ # were seen and file_extensions_seen is empty.
6572
+ class FileClusterSummary
6573
+ include ::Google::Protobuf::MessageExts
6574
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6575
+ end
6576
+
6034
6577
  # Request to get a project data profile.
6035
6578
  # @!attribute [rw] name
6036
6579
  # @return [::String]
@@ -6041,6 +6584,109 @@ module Google
6041
6584
  extend ::Google::Protobuf::MessageExts::ClassMethods
6042
6585
  end
6043
6586
 
6587
+ # Request to get a file store data profile.
6588
+ # @!attribute [rw] name
6589
+ # @return [::String]
6590
+ # Required. Resource name, for example
6591
+ # `organizations/12345/locations/us/fileStoreDataProfiles/53234423`.
6592
+ class GetFileStoreDataProfileRequest
6593
+ include ::Google::Protobuf::MessageExts
6594
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6595
+ end
6596
+
6597
+ # Request to list the file store profiles generated for a given organization or
6598
+ # project.
6599
+ # @!attribute [rw] parent
6600
+ # @return [::String]
6601
+ # Required. Resource name of the organization or project, for
6602
+ # example `organizations/433245324/locations/europe` or
6603
+ # `projects/project-id/locations/asia`.
6604
+ # @!attribute [rw] page_token
6605
+ # @return [::String]
6606
+ # Optional. Page token to continue retrieval.
6607
+ # @!attribute [rw] page_size
6608
+ # @return [::Integer]
6609
+ # Optional. Size of the page. This value can be limited by the server. If
6610
+ # zero, server returns a page of max size 100.
6611
+ # @!attribute [rw] order_by
6612
+ # @return [::String]
6613
+ # Optional. Comma-separated list of fields to order by, followed by `asc` or
6614
+ # `desc` postfix. This list is case insensitive. The default sorting order is
6615
+ # ascending. Redundant space characters are insignificant. Only one order
6616
+ # field at a time is allowed.
6617
+ #
6618
+ # Examples:
6619
+ #
6620
+ # * `project_id asc`
6621
+ # * `name`
6622
+ # * `sensitivity_level desc`
6623
+ #
6624
+ # Supported fields are:
6625
+ #
6626
+ # - `project_id`: The Google Cloud project ID.
6627
+ # - `sensitivity_level`: How sensitive the data in a table is, at most.
6628
+ # - `data_risk_level`: How much risk is associated with this data.
6629
+ # - `profile_last_generated`: When the profile was last updated in epoch
6630
+ # seconds.
6631
+ # - `last_modified`: The last time the resource was modified.
6632
+ # - `resource_visibility`: Visibility restriction for this resource.
6633
+ # - `name`: The name of the profile.
6634
+ # - `create_time`: The time the file store was first created.
6635
+ # @!attribute [rw] filter
6636
+ # @return [::String]
6637
+ # Optional. Allows filtering.
6638
+ #
6639
+ # Supported syntax:
6640
+ #
6641
+ # * Filter expressions are made up of one or more restrictions.
6642
+ # * Restrictions can be combined by `AND` or `OR` logical operators. A
6643
+ # sequence of restrictions implicitly uses `AND`.
6644
+ # * A restriction has the form of `{field} {operator} {value}`.
6645
+ # * Supported fields/values:
6646
+ # - `project_id` - The Google Cloud project ID.
6647
+ # - `file_store_path` - The path like "gs://bucket".
6648
+ # - `sensitivity_level` - HIGH|MODERATE|LOW
6649
+ # - `data_risk_level` - HIGH|MODERATE|LOW
6650
+ # - `resource_visibility`: PUBLIC|RESTRICTED
6651
+ # - `status_code` - an RPC status code as defined in
6652
+ # https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto
6653
+ # * The operator must be `=` or `!=`.
6654
+ #
6655
+ # Examples:
6656
+ #
6657
+ # * `project_id = 12345 AND status_code = 1`
6658
+ # * `project_id = 12345 AND sensitivity_level = HIGH`
6659
+ # * `project_id = 12345 AND resource_visibility = PUBLIC`
6660
+ # * `file_store_path = "gs://mybucket"`
6661
+ #
6662
+ # The length of this field should be no more than 500 characters.
6663
+ class ListFileStoreDataProfilesRequest
6664
+ include ::Google::Protobuf::MessageExts
6665
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6666
+ end
6667
+
6668
+ # List of file store data profiles generated for a given organization or
6669
+ # project.
6670
+ # @!attribute [rw] file_store_data_profiles
6671
+ # @return [::Array<::Google::Cloud::Dlp::V2::FileStoreDataProfile>]
6672
+ # List of data profiles.
6673
+ # @!attribute [rw] next_page_token
6674
+ # @return [::String]
6675
+ # The next page token.
6676
+ class ListFileStoreDataProfilesResponse
6677
+ include ::Google::Protobuf::MessageExts
6678
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6679
+ end
6680
+
6681
+ # Request message for DeleteFileStoreProfile.
6682
+ # @!attribute [rw] name
6683
+ # @return [::String]
6684
+ # Required. Resource name of the file store data profile.
6685
+ class DeleteFileStoreDataProfileRequest
6686
+ include ::Google::Protobuf::MessageExts
6687
+ extend ::Google::Protobuf::MessageExts::ClassMethods
6688
+ end
6689
+
6044
6690
  # Request to get a table data profile.
6045
6691
  # @!attribute [rw] name
6046
6692
  # @return [::String]
@@ -6126,6 +6772,11 @@ module Google
6126
6772
  # If `DetailLevel` is `TABLE_PROFILE` this will be fully populated.
6127
6773
  # Otherwise, if `DetailLevel` is `RESOURCE_NAME`, then only `name` and
6128
6774
  # `full_resource` will be populated.
6775
+ # @!attribute [rw] file_store_profile
6776
+ # @return [::Google::Cloud::Dlp::V2::FileStoreDataProfile]
6777
+ # If `DetailLevel` is `FILE_STORE_PROFILE` this will be fully populated.
6778
+ # Otherwise, if `DetailLevel` is `RESOURCE_NAME`, then only `name` and
6779
+ # `file_store_path` will be populated.
6129
6780
  # @!attribute [rw] event
6130
6781
  # @return [::Google::Cloud::Dlp::V2::DataProfileAction::EventType]
6131
6782
  # The event that caused the Pub/Sub message to be sent.
@@ -6137,8 +6788,15 @@ module Google
6137
6788
  # Request message for CreateConnection.
6138
6789
  # @!attribute [rw] parent
6139
6790
  # @return [::String]
6140
- # Required. Parent resource name in the format:
6141
- # `projects/{project}/locations/{location}`.
6791
+ # Required. Parent resource name.
6792
+ #
6793
+ # The format of this value varies depending on the scope of the request
6794
+ # (project or organization):
6795
+ #
6796
+ # + Projects scope:
6797
+ # `projects/{project_id}/locations/{location_id}`
6798
+ # + Organizations scope:
6799
+ # `organizations/{org_id}/locations/{location_id}`
6142
6800
  # @!attribute [rw] connection
6143
6801
  # @return [::Google::Cloud::Dlp::V2::Connection]
6144
6802
  # Required. The connection resource.
@@ -6160,8 +6818,9 @@ module Google
6160
6818
  # Request message for ListConnections.
6161
6819
  # @!attribute [rw] parent
6162
6820
  # @return [::String]
6163
- # Required. Parent name, for example:
6164
- # `projects/project-id/locations/global`.
6821
+ # Required. Resource name of the organization or project, for
6822
+ # example, `organizations/433245324/locations/europe` or
6823
+ # `projects/project-id/locations/asia`.
6165
6824
  # @!attribute [rw] page_size
6166
6825
  # @return [::Integer]
6167
6826
  # Optional. Number of results per page, max 1000.
@@ -6180,8 +6839,9 @@ module Google
6180
6839
  # Request message for SearchConnections.
6181
6840
  # @!attribute [rw] parent
6182
6841
  # @return [::String]
6183
- # Required. Parent name, typically an organization, without location.
6184
- # For example: `organizations/12345678`.
6842
+ # Required. Resource name of the organization or project with a wildcard
6843
+ # location, for example, `organizations/433245324/locations/-` or
6844
+ # `projects/project-id/locations/-`.
6185
6845
  # @!attribute [rw] page_size
6186
6846
  # @return [::Integer]
6187
6847
  # Optional. Number of results per page, max 1000.
@@ -6361,6 +7021,49 @@ module Google
6361
7021
  extend ::Google::Protobuf::MessageExts::ClassMethods
6362
7022
  end
6363
7023
 
7024
+ # Message used to identify file cluster type being profiled.
7025
+ # @!attribute [rw] cluster
7026
+ # @return [::Google::Cloud::Dlp::V2::FileClusterType::Cluster]
7027
+ # Cluster type.
7028
+ class FileClusterType
7029
+ include ::Google::Protobuf::MessageExts
7030
+ extend ::Google::Protobuf::MessageExts::ClassMethods
7031
+
7032
+ # Cluster type. Each cluster corresponds to a set of file types.
7033
+ # Over time, new types may be added and files may move between clusters.
7034
+ module Cluster
7035
+ # Unused.
7036
+ CLUSTER_UNSPECIFIED = 0
7037
+
7038
+ # Unsupported files.
7039
+ CLUSTER_UNKNOWN = 1
7040
+
7041
+ # Plain text.
7042
+ CLUSTER_TEXT = 2
7043
+
7044
+ # Structured data like CSV, TSV etc.
7045
+ CLUSTER_STRUCTURED_DATA = 3
7046
+
7047
+ # Source code.
7048
+ CLUSTER_SOURCE_CODE = 4
7049
+
7050
+ # Rich document like docx, xlsx etc.
7051
+ CLUSTER_RICH_DOCUMENT = 5
7052
+
7053
+ # Images like jpeg, bmp.
7054
+ CLUSTER_IMAGE = 6
7055
+
7056
+ # Archives and containers like .zip, .tar etc.
7057
+ CLUSTER_ARCHIVE = 7
7058
+
7059
+ # Multimedia like .mp4, .avi etc.
7060
+ CLUSTER_MULTIMEDIA = 8
7061
+
7062
+ # Executable files like .exe, .class, .apk etc.
7063
+ CLUSTER_EXECUTABLE = 9
7064
+ end
7065
+ end
7066
+
6364
7067
  # Enum of possible outcomes of transformations. SUCCESS if transformation and
6365
7068
  # storing of transformation was successful, otherwise, reason for not
6366
7069
  # transforming.
@@ -6451,6 +7154,18 @@ module Google
6451
7154
  REDACT_IMAGE = 14
6452
7155
  end
6453
7156
 
7157
+ # Whether a profile being created is the first generation or an update.
7158
+ module ProfileGeneration
7159
+ # Unused.
7160
+ PROFILE_GENERATION_UNSPECIFIED = 0
7161
+
7162
+ # The profile is the first profile for the resource.
7163
+ PROFILE_GENERATION_NEW = 1
7164
+
7165
+ # The profile is an update to a previous profile.
7166
+ PROFILE_GENERATION_UPDATE = 2
7167
+ end
7168
+
6454
7169
  # Over time new types may be added. Currently VIEW, MATERIALIZED_VIEW,
6455
7170
  # and SNAPSHOT are not supported.
6456
7171
  module BigQueryTableTypeCollection
@@ -6657,7 +7372,7 @@ module Google
6657
7372
 
6658
7373
  # May contain public items.
6659
7374
  # For example, if a Cloud Storage bucket has uniform bucket level access
6660
- # disabled, some objects inside it may be public.
7375
+ # disabled, some objects inside it may be public, but none are known yet.
6661
7376
  RESOURCE_VISIBILITY_INCONCLUSIVE = 15
6662
7377
 
6663
7378
  # Visible only to specific users.