@google-cloud/dlp 6.4.0 → 6.6.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.
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Google LLC
1
+ // Copyright 2026 Google LLC
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -1001,6 +1001,30 @@ message ExcludeByHotword {
1001
1001
  CustomInfoType.DetectionRule.Proximity proximity = 2;
1002
1002
  }
1003
1003
 
1004
+ // The rule to exclude image findings based on spatial relationships with
1005
+ // other image findings. For example, exclude an image finding if it overlaps
1006
+ // with another image finding.
1007
+ // This rule is silently ignored if the content being inspected is not an image.
1008
+ message ExcludeByImageFindings {
1009
+ // A list of image-supported infoTypes—excluding [document
1010
+ // infoTypes](https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference#documents)—to
1011
+ // be used as context for the exclusion rule. A finding is excluded if
1012
+ // its bounding box has the specified spatial relationship (defined by
1013
+ // `image_containment_type`) with a finding of an infoType in this list.
1014
+ //
1015
+ // For example, if `InspectionRuleSet.info_types` includes
1016
+ // `OBJECT_TYPE/PERSON` and this `exclusion_rule` specifies `info_types` as
1017
+ // `OBJECT_TYPE/PERSON/PASSPORT` with `image_containment_type` set to
1018
+ // `encloses`, then `OBJECT_TYPE/PERSON` findings will be excluded if they
1019
+ // are fully contained within the bounding box of an
1020
+ // `OBJECT_TYPE/PERSON/PASSPORT` finding.
1021
+ repeated InfoType info_types = 1;
1022
+
1023
+ // Specifies the required spatial relationship between the bounding boxes
1024
+ // of the target finding and the context infoType findings.
1025
+ ImageContainmentType image_containment_type = 2;
1026
+ }
1027
+
1004
1028
  // The rule that specifies conditions when findings of infoTypes specified in
1005
1029
  // `InspectionRuleSet` are removed from results.
1006
1030
  message ExclusionRule {
@@ -1018,12 +1042,95 @@ message ExclusionRule {
1018
1042
  // Drop if the hotword rule is contained in the proximate context. For
1019
1043
  // tabular data, the context includes the column name.
1020
1044
  ExcludeByHotword exclude_by_hotword = 5;
1045
+
1046
+ // Exclude findings based on image containment rules. For example, exclude
1047
+ // an image finding if it overlaps with another image finding.
1048
+ ExcludeByImageFindings exclude_by_image_findings = 6;
1021
1049
  }
1022
1050
 
1023
1051
  // How the rule is applied, see MatchingType documentation for details.
1024
1052
  MatchingType matching_type = 4;
1025
1053
  }
1026
1054
 
1055
+ // AdjustmentRule condition for matching infoTypes.
1056
+ message AdjustByMatchingInfoTypes {
1057
+ // Sensitive Data Protection adjusts the likelihood of a finding if that
1058
+ // finding also matches one of these infoTypes.
1059
+ //
1060
+ // For example, you can create a rule to adjust the likelihood of a
1061
+ // `PHONE_NUMBER` finding if the string is found within a document that is
1062
+ // classified as `DOCUMENT_TYPE/HR/RESUME`. To configure this, set
1063
+ // `PHONE_NUMBER` in `InspectionRuleSet.info_types`. Add an `adjustment_rule`
1064
+ // with an `adjust_by_matching_info_types.info_types` that contains
1065
+ // `DOCUMENT_TYPE/HR/RESUME`. In this case, the likelihood of the
1066
+ // `PHONE_NUMBER` finding is adjusted, but the likelihood of the
1067
+ // `DOCUMENT_TYPE/HR/RESUME` finding is not.
1068
+ repeated InfoType info_types = 1;
1069
+
1070
+ // Required. Minimum likelihood of the
1071
+ // `adjust_by_matching_info_types.info_types` finding. If the likelihood is
1072
+ // lower than this value, Sensitive Data Protection doesn't adjust the
1073
+ // likelihood of the `InspectionRuleSet.info_types` finding.
1074
+ Likelihood min_likelihood = 2;
1075
+
1076
+ // How the adjustment rule is applied.
1077
+ //
1078
+ // Only `MATCHING_TYPE_PARTIAL_MATCH` is supported:
1079
+ //
1080
+ // - Partial match: adjusts the findings of infoTypes specified in the
1081
+ // inspection rule when they have a nonempty intersection with a finding of an
1082
+ // infoType specified in this adjustment rule.
1083
+ MatchingType matching_type = 3;
1084
+ }
1085
+
1086
+ // AdjustmentRule condition for image findings.
1087
+ // This rule is silently ignored if the content being inspected is not an image.
1088
+ message AdjustByImageFindings {
1089
+ // A list of image-supported infoTypes—excluding [document
1090
+ // infoTypes](https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference#documents)—to
1091
+ // be used as context for the adjustment rule. Sensitive Data Protection
1092
+ // adjusts the likelihood of an image finding if its bounding box has the
1093
+ // specified spatial relationship (defined by `image_containment_type`) with a
1094
+ // finding of an infoType in this list.
1095
+ //
1096
+ // For example, you can create a rule to adjust the likelihood of a
1097
+ // `US_PASSPORT` finding if it is enclosed by a finding of
1098
+ // `OBJECT_TYPE/PERSON/PASSPORT`. To configure this, set `US_PASSPORT` in
1099
+ // `InspectionRuleSet.info_types`. Add an `adjustment_rule` with an
1100
+ // `adjust_by_image_findings.info_types` that contains
1101
+ // `OBJECT_TYPE/PERSON/PASSPORT` and `image_containment_type` set
1102
+ // to `encloses`. In this case, the likelihood of the `US_PASSPORT` finding is
1103
+ // adjusted, but the likelihood of the `OBJECT_TYPE/PERSON/PASSPORT`
1104
+ // finding is not.
1105
+ repeated InfoType info_types = 1;
1106
+
1107
+ // Required. Minimum likelihood of the
1108
+ // `adjust_by_image_findings.info_types` finding. If the likelihood is
1109
+ // lower than this value, Sensitive Data Protection doesn't adjust the
1110
+ // likelihood of the `InspectionRuleSet.info_types` finding.
1111
+ Likelihood min_likelihood = 2;
1112
+
1113
+ // Specifies the required spatial relationship between the bounding boxes
1114
+ // of the target finding and the context infoType findings.
1115
+ ImageContainmentType image_containment_type = 3;
1116
+ }
1117
+
1118
+ // Rule that specifies conditions when a certain infoType's finding details
1119
+ // should be adjusted.
1120
+ message AdjustmentRule {
1121
+ // Condition under which the adjustment rule is applied.
1122
+ oneof conditions {
1123
+ // Set of infoTypes for which findings would affect this rule.
1124
+ AdjustByMatchingInfoTypes adjust_by_matching_info_types = 1;
1125
+
1126
+ // AdjustmentRule condition for image findings.
1127
+ AdjustByImageFindings adjust_by_image_findings = 3;
1128
+ }
1129
+
1130
+ // Likelihood adjustment to apply to the infoType.
1131
+ CustomInfoType.DetectionRule.LikelihoodAdjustment likelihood_adjustment = 2;
1132
+ }
1133
+
1027
1134
  // A single inspection rule to be applied to infoTypes, specified in
1028
1135
  // `InspectionRuleSet`.
1029
1136
  message InspectionRule {
@@ -1034,6 +1141,9 @@ message InspectionRule {
1034
1141
 
1035
1142
  // Exclusion rule.
1036
1143
  ExclusionRule exclusion_rule = 2;
1144
+
1145
+ // Adjustment rule.
1146
+ AdjustmentRule adjustment_rule = 3;
1037
1147
  }
1038
1148
  }
1039
1149
 
@@ -1183,7 +1293,8 @@ message InspectConfig {
1183
1293
 
1184
1294
  // Set of rules to apply to the findings for this InspectConfig.
1185
1295
  // Exclusion rules, contained in the set are executed in the end, other
1186
- // rules are executed in the order they are specified for each info type.
1296
+ // rules are executed in the order they are specified for each info type. Not
1297
+ // supported for the `metadata_key_value_expression` CustomInfoType.
1187
1298
  repeated InspectionRuleSet rule_set = 10;
1188
1299
  }
1189
1300
 
@@ -1452,6 +1563,9 @@ message MetadataLocation {
1452
1563
  oneof label {
1453
1564
  // Storage metadata.
1454
1565
  StorageMetadataLabel storage_label = 3;
1566
+
1567
+ // Metadata key that contains the finding.
1568
+ KeyValueMetadataLabel key_value_metadata_label = 4;
1455
1569
  }
1456
1570
  }
1457
1571
 
@@ -1461,6 +1575,17 @@ message StorageMetadataLabel {
1461
1575
  string key = 1;
1462
1576
  }
1463
1577
 
1578
+ // The metadata key that contains a finding.
1579
+ message KeyValueMetadataLabel {
1580
+ // The metadata key. The format depends on the source of the metadata.
1581
+ //
1582
+ // Example:
1583
+ //
1584
+ // - `MSIP_Label_122709e3-8f6b-4860-985f-7f722a94f61e_Enabled` (a Microsoft
1585
+ // Purview Information Protection key example)
1586
+ string key = 1;
1587
+ }
1588
+
1464
1589
  // Location of a finding within a document.
1465
1590
  message DocumentLocation {
1466
1591
  // Offset of the line, from the beginning of the file, where the finding
@@ -1624,6 +1749,25 @@ message RedactImageRequest {
1624
1749
 
1625
1750
  // The content must be PNG, JPEG, SVG or BMP.
1626
1751
  ByteContentItem byte_item = 7;
1752
+
1753
+ // The full resource name of the inspection template to use. Settings in the
1754
+ // main `inspect_config` field override the corresponding settings in this
1755
+ // inspection template.
1756
+ //
1757
+ // The merge behavior is as follows:
1758
+ //
1759
+ // - Singular field: The main field's value replaces the value of the
1760
+ // corresponding field in the template.
1761
+ // - Repeated fields: The field values are appended to the list defined in
1762
+ // the template.
1763
+ // - Sub-messages and groups: The fields are recursively merged.
1764
+ string inspect_template = 9;
1765
+
1766
+ // The full resource name of the de-identification template to use. Settings
1767
+ // in the main `image_redaction_configs` field override the corresponding
1768
+ // settings in this de-identification template. The request fails if the
1769
+ // type of the template's deidentify_config is not image_transformations.
1770
+ string deidentify_template = 10;
1627
1771
  }
1628
1772
 
1629
1773
  // Represents a color in the RGB color space.
@@ -1865,6 +2009,7 @@ message OutputStorageConfig {
1865
2009
  }
1866
2010
 
1867
2011
  // Output storage types.
2012
+ // *
1868
2013
  oneof type {
1869
2014
  // Store findings in an existing table or a new table in an existing
1870
2015
  // dataset. If table_id is not set a new one will be generated
@@ -1881,6 +2026,19 @@ message OutputStorageConfig {
1881
2026
  // compute a different privacy metric, or use different sets of
1882
2027
  // quasi-identifiers, cannot store their results in the same table.
1883
2028
  BigQueryTable table = 1;
2029
+
2030
+ // Store findings in an existing Cloud Storage bucket. Files will be
2031
+ // generated with the job ID and file part number as the filename and will
2032
+ // contain findings in textproto format as
2033
+ // [SaveToGcsFindingsOutput][google.privacy.dlp.v2.SaveToGcsFindingsOutput].
2034
+ // The filename will follow the naming convention `<job_id>-<shard_number>`.
2035
+ // Example: `my-job-id-2`.
2036
+ //
2037
+ // Supported for [Inspect jobs][google.privacy.dlp.v2.InspectJobConfig]. The
2038
+ // bucket must not be the same as the bucket being inspected. If storing
2039
+ // findings to Cloud Storage, the output schema field should not be set. If
2040
+ // set, it will be ignored.
2041
+ CloudStoragePath storage_path = 5;
1884
2042
  }
1885
2043
 
1886
2044
  // Schema used for writing the findings for Inspect jobs. This field is only
@@ -2049,6 +2207,21 @@ message LocationSupport {
2049
2207
 
2050
2208
  // InfoType description.
2051
2209
  message InfoTypeDescription {
2210
+ // The launch status of an infoType.
2211
+ enum InfoTypeLaunchStatus {
2212
+ // Unspecified.
2213
+ INFO_TYPE_LAUNCH_STATUS_UNSPECIFIED = 0;
2214
+
2215
+ // InfoType is generally available.
2216
+ GENERAL_AVAILABILITY = 1;
2217
+
2218
+ // InfoType is in public preview.
2219
+ PUBLIC_PREVIEW = 2;
2220
+
2221
+ // InfoType is in private preview.
2222
+ PRIVATE_PREVIEW = 3;
2223
+ }
2224
+
2052
2225
  // Internal name of the infoType.
2053
2226
  string name = 1;
2054
2227
 
@@ -2083,6 +2256,9 @@ message InfoTypeDescription {
2083
2256
  // For example, the "GEOGRAPHIC_DATA" general infoType would have set for this
2084
2257
  // field "LOCATION", "LOCATION_COORDINATES", and "STREET_ADDRESS".
2085
2258
  repeated string specific_info_types = 12;
2259
+
2260
+ // The launch status of the infoType.
2261
+ InfoTypeLaunchStatus launch_status = 13;
2086
2262
  }
2087
2263
 
2088
2264
  // Classification of infoTypes to organize them according to geographic
@@ -4228,6 +4404,21 @@ message Action {
4228
4404
  // Compatible with: Inspect
4229
4405
  message PublishFindingsToCloudDataCatalog {}
4230
4406
 
4407
+ // Publish findings of a DlpJob to Dataplex Universal Catalog as a
4408
+ // `sensitive-data-protection-job-result` aspect. For more information,
4409
+ // see [Send inspection results to Dataplex Universal Catalog as
4410
+ // aspects](https://cloud.google.com/sensitive-data-protection/docs/add-aspects-inspection-job).
4411
+ //
4412
+ // Aspects are stored in Dataplex Universal Catalog storage and are
4413
+ // governed by service-specific policies for Dataplex Universal Catalog. For
4414
+ // more information, see [Service Specific
4415
+ // Terms](https://cloud.google.com/terms/service-terms).
4416
+ //
4417
+ // Only a single instance of this action can be specified. This action is
4418
+ // allowed only if all resources being scanned are BigQuery tables.
4419
+ // Compatible with: Inspect
4420
+ message PublishFindingsToDataplexCatalog {}
4421
+
4231
4422
  // Create a de-identified copy of a storage bucket. Only compatible
4232
4423
  // with Cloud Storage buckets.
4233
4424
  //
@@ -4347,9 +4538,14 @@ message Action {
4347
4538
  // Publish summary to Cloud Security Command Center (Alpha).
4348
4539
  PublishSummaryToCscc publish_summary_to_cscc = 3;
4349
4540
 
4350
- // Publish findings to Cloud Datahub.
4351
- PublishFindingsToCloudDataCatalog publish_findings_to_cloud_data_catalog =
4352
- 5;
4541
+ // Deprecated because Data Catalog is being turned down. Use
4542
+ // publish_findings_to_dataplex_catalog to publish findings to Dataplex
4543
+ // Universal Catalog.
4544
+ PublishFindingsToCloudDataCatalog publish_findings_to_cloud_data_catalog = 5
4545
+ [deprecated = true];
4546
+
4547
+ // Publish findings as an aspect to Dataplex Universal Catalog.
4548
+ PublishFindingsToDataplexCatalog publish_findings_to_dataplex_catalog = 10;
4353
4549
 
4354
4550
  // Create a de-identified copy of the input data.
4355
4551
  Deidentify deidentify = 7;
@@ -4860,6 +5056,8 @@ message ListJobTriggersRequest {
4860
5056
  // - 'error_count' - Number of errors that have occurred while running.
4861
5057
  // * The operator must be `=` or `!=` for status and inspected_storage.
4862
5058
  //
5059
+ // The syntax is based on https://google.aip.dev/160.
5060
+ //
4863
5061
  // Examples:
4864
5062
  //
4865
5063
  // * inspected_storage = cloud_storage AND status = HEALTHY
@@ -5033,15 +5231,16 @@ message DataProfileAction {
5033
5231
  // Center for each profile.
5034
5232
  message PublishToSecurityCommandCenter {}
5035
5233
 
5036
- // Create Dataplex Catalog aspects for profiled resources with the aspect type
5037
- // Sensitive Data Protection Profile. To learn more about aspects, see
5038
- // https://cloud.google.com/sensitive-data-protection/docs/add-aspects.
5234
+ // Create Dataplex Universal Catalog aspects for profiled resources with the
5235
+ // aspect type Sensitive Data Protection Profile. To learn more about aspects,
5236
+ // see https://cloud.google.com/sensitive-data-protection/docs/add-aspects.
5039
5237
  message PublishToDataplexCatalog {
5040
- // Whether creating a Dataplex Catalog aspect for a profiled resource should
5041
- // lower the risk of the profile for that resource. This also lowers the
5042
- // data risk of resources at the lower levels of the resource hierarchy. For
5043
- // example, reducing the data risk of a table data profile also reduces the
5044
- // data risk of the constituent column data profiles.
5238
+ // Whether creating a Dataplex Universal Catalog aspect for a profiled
5239
+ // resource should lower the risk of the profile for that resource. This
5240
+ // also lowers the data risk of resources at the lower levels of the
5241
+ // resource hierarchy. For example, reducing the data risk of a table data
5242
+ // profile also reduces the data risk of the constituent column data
5243
+ // profiles.
5045
5244
  bool lower_data_risk_to_low = 1;
5046
5245
  }
5047
5246
 
@@ -5072,7 +5271,8 @@ message DataProfileAction {
5072
5271
  oneof format {
5073
5272
  // The namespaced name for the tag value to attach to resources. Must be
5074
5273
  // in the format `{parent_id}/{tag_key_short_name}/{short_name}`, for
5075
- // example, "123456/environment/prod".
5274
+ // example, "123456/environment/prod" for an organization parent, or
5275
+ // "my-project/environment/prod" for a project parent.
5076
5276
  string namespaced_value = 1;
5077
5277
  }
5078
5278
  }
@@ -5119,8 +5319,8 @@ message DataProfileAction {
5119
5319
  // Tags the profiled resources with the specified tag values.
5120
5320
  TagResources tag_resources = 8;
5121
5321
 
5122
- // Publishes a portion of each profile to Dataplex Catalog with the aspect
5123
- // type Sensitive Data Protection Profile.
5322
+ // Publishes a portion of each profile to Dataplex Universal Catalog with
5323
+ // the aspect type Sensitive Data Protection Profile.
5124
5324
  PublishToDataplexCatalog publish_to_dataplex_catalog = 9;
5125
5325
  }
5126
5326
  }
@@ -5921,6 +6121,18 @@ message FileStoreCollection {
5921
6121
  FileStoreRegexes include_regexes = 1
5922
6122
  [(google.api.field_behavior) = OPTIONAL];
5923
6123
  }
6124
+
6125
+ // Optional. To be included in the collection, a resource must meet all of the
6126
+ // following requirements:
6127
+ //
6128
+ // - If tag filters are provided, match all provided tag filters.
6129
+ // - If one or more patterns are specified, match at least one pattern.
6130
+ //
6131
+ // For a resource to match the tag filters, the resource must have all of the
6132
+ // provided tags attached. Tags refer to Resource Manager tags bound to the
6133
+ // resource or its ancestors. For more information, see [Manage
6134
+ // schedules](https://cloud.google.com/sensitive-data-protection/docs/profile-project-cloud-storage#manage-schedules).
6135
+ TagFilters include_tags = 2 [(google.api.field_behavior) = OPTIONAL];
5924
6136
  }
5925
6137
 
5926
6138
  // A collection of regular expressions to determine what file store to match
@@ -6394,10 +6606,14 @@ message VertexDatasetRegex {
6394
6606
  string project_id_regex = 1;
6395
6607
  }
6396
6608
 
6397
- // Identifies a single Vertex AI dataset.
6609
+ // Identifies a single Vertex AI resource. Only datasets are
6610
+ // supported.
6398
6611
  message VertexDatasetResourceReference {
6399
- // Required. The name of the dataset resource. If set within a project-level
6612
+ // Required. The name of the Vertex AI resource. If set within a project-level
6400
6613
  // configuration, the specified resource must be within the project.
6614
+ // Examples:
6615
+ //
6616
+ // * `projects/{project}/locations/{location}/datasets/{dataset}`
6401
6617
  string dataset_resource_name = 1 [(google.api.field_behavior) = REQUIRED];
6402
6618
  }
6403
6619
 
@@ -6561,6 +6777,8 @@ message ListDlpJobsRequest {
6561
6777
  // - 'start_time` - Corresponds to the time the job finished.
6562
6778
  // * The operator must be `=` or `!=`.
6563
6779
  //
6780
+ // The syntax is based on https://google.aip.dev/160.
6781
+ //
6564
6782
  // Examples:
6565
6783
  //
6566
6784
  // * inspected_storage = cloud_storage AND state = done
@@ -7171,33 +7389,73 @@ enum RelationalOperator {
7171
7389
 
7172
7390
  // Type of the match which can be applied to different ways of matching, like
7173
7391
  // Dictionary, regular expression and intersecting with findings of another
7174
- // info type.
7392
+ // infoType.
7175
7393
  enum MatchingType {
7176
7394
  // Invalid.
7177
7395
  MATCHING_TYPE_UNSPECIFIED = 0;
7178
7396
 
7179
7397
  // Full match.
7180
7398
  //
7181
- // - Dictionary: join of Dictionary results matched complete finding quote
7182
- // - Regex: all regex matches fill a finding quote start to end
7183
- // - Exclude info type: completely inside affecting info types findings
7399
+ // - Dictionary: join of Dictionary results matched the complete finding quote
7400
+ // - Regex: all regex matches fill a finding quote from start to end
7401
+ // - Exclude infoType: completely inside affecting infoTypes findings
7184
7402
  MATCHING_TYPE_FULL_MATCH = 1;
7185
7403
 
7186
7404
  // Partial match.
7187
7405
  //
7188
7406
  // - Dictionary: at least one of the tokens in the finding matches
7189
7407
  // - Regex: substring of the finding matches
7190
- // - Exclude info type: intersects with affecting info types findings
7408
+ // - Exclude infoType: intersects with affecting infoTypes findings
7191
7409
  MATCHING_TYPE_PARTIAL_MATCH = 2;
7192
7410
 
7193
7411
  // Inverse match.
7194
7412
  //
7195
7413
  // - Dictionary: no tokens in the finding match the dictionary
7196
7414
  // - Regex: finding doesn't match the regex
7197
- // - Exclude info type: no intersection with affecting info types findings
7415
+ // - Exclude infoType: no intersection with affecting infoTypes findings
7198
7416
  MATCHING_TYPE_INVERSE_MATCH = 3;
7417
+
7418
+ // Rule-specific match.
7419
+ //
7420
+ // The matching logic is based on the specific rule being used. This is
7421
+ // required for rules where the matching behavior is not a simple string
7422
+ // comparison (e.g., image containment). This matching type can only be
7423
+ // used with the `ExcludeByImageFindings` rule.
7424
+ //
7425
+ // - Exclude by image findings: The matching logic is defined within
7426
+ // `ExcludeByImageFindings` based on spatial relationships between bounding
7427
+ // boxes.
7428
+ MATCHING_TYPE_RULE_SPECIFIC = 4;
7199
7429
  }
7200
7430
 
7431
+ // Specifies the relationship between bounding boxes for image findings.
7432
+ message ImageContainmentType {
7433
+ // The type of relationship to check between the target finding and the
7434
+ // context finding.
7435
+ oneof type {
7436
+ // The context finding's bounding box must fully contain the target
7437
+ // finding's bounding box.
7438
+ Encloses encloses = 1;
7439
+
7440
+ // The context finding's bounding box must be fully inside the target
7441
+ // finding's bounding box.
7442
+ FullyInside fully_inside = 2;
7443
+
7444
+ // The context finding's bounding box and the target finding's bounding box
7445
+ // must have a non-zero intersection.
7446
+ Overlap overlaps = 3;
7447
+ }
7448
+ }
7449
+
7450
+ // Defines a condition for overlapping bounding boxes.
7451
+ message Overlap {}
7452
+
7453
+ // Defines a condition where one bounding box encloses another.
7454
+ message Encloses {}
7455
+
7456
+ // Defines a condition where one bounding box is fully inside another.
7457
+ message FullyInside {}
7458
+
7201
7459
  // Deprecated and unused.
7202
7460
  enum ContentOption {
7203
7461
  // Includes entire content of a file or a data stream.
@@ -7217,6 +7475,9 @@ enum MetadataType {
7217
7475
 
7218
7476
  // General file metadata provided by Cloud Storage.
7219
7477
  STORAGE_METADATA = 2;
7478
+
7479
+ // Metadata extracted from the files.
7480
+ CONTENT_METADATA = 3;
7220
7481
  }
7221
7482
 
7222
7483
  // Parts of the APIs which use certain infoTypes.
@@ -7290,13 +7551,13 @@ message ListProjectDataProfilesRequest {
7290
7551
  // * `project_id`
7291
7552
  // * `sensitivity_level desc`
7292
7553
  //
7293
- // Supported fields are:
7554
+ // Supported fields:
7294
7555
  //
7295
7556
  // - `project_id`: Google Cloud project ID
7296
- // - `sensitivity_level`: How sensitive the data in a project is, at most.
7297
- // - `data_risk_level`: How much risk is associated with this data.
7298
- // - `profile_last_generated`: When the profile was last updated in epoch
7299
- // seconds.
7557
+ // - `sensitivity_level`: How sensitive the data in a project is, at most
7558
+ // - `data_risk_level`: How much risk is associated with this data
7559
+ // - `profile_last_generated`: Date and time (in epoch seconds) the profile
7560
+ // was last generated
7300
7561
  string order_by = 4;
7301
7562
 
7302
7563
  // Allows filtering.
@@ -7307,17 +7568,24 @@ message ListProjectDataProfilesRequest {
7307
7568
  // * Restrictions can be combined by `AND` or `OR` logical operators. A
7308
7569
  // sequence of restrictions implicitly uses `AND`.
7309
7570
  // * A restriction has the form of `{field} {operator} {value}`.
7310
- // * Supported fields/values:
7311
- // - `sensitivity_level` - HIGH|MODERATE|LOW
7312
- // - `data_risk_level` - HIGH|MODERATE|LOW
7313
- // - `status_code` - an RPC status code as defined in
7571
+ // * Supported fields:
7572
+ // - `project_id`: the Google Cloud project ID
7573
+ // - `sensitivity_level`: HIGH|MODERATE|LOW
7574
+ // - `data_risk_level`: HIGH|MODERATE|LOW
7575
+ // - `status_code`: an RPC status code as defined in
7314
7576
  // https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto
7315
- // * The operator must be `=` or `!=`.
7577
+ // - `profile_last_generated`: Date and time the profile was last
7578
+ // generated
7579
+ // * The operator must be `=` or `!=`. The `profile_last_generated` filter
7580
+ // also supports `<` and `>`.
7581
+ //
7582
+ // The syntax is based on https://google.aip.dev/160.
7316
7583
  //
7317
7584
  // Examples:
7318
7585
  //
7319
7586
  // * `project_id = 12345 AND status_code = 1`
7320
7587
  // * `project_id = 12345 AND sensitivity_level = HIGH`
7588
+ // * `profile_last_generated < "2025-01-01T00:00:00.000Z"`
7321
7589
  //
7322
7590
  // The length of this field should be no more than 500 characters.
7323
7591
  string filter = 5;
@@ -7383,23 +7651,29 @@ message ListTableDataProfilesRequest {
7383
7651
  // * Restrictions can be combined by `AND` or `OR` logical operators. A
7384
7652
  // sequence of restrictions implicitly uses `AND`.
7385
7653
  // * A restriction has the form of `{field} {operator} {value}`.
7386
- // * Supported fields/values:
7387
- // - `project_id` - The Google Cloud project ID.
7388
- // - `dataset_id` - The BigQuery dataset ID.
7389
- // - `table_id` - The ID of the BigQuery table.
7390
- // - `sensitivity_level` - HIGH|MODERATE|LOW
7391
- // - `data_risk_level` - HIGH|MODERATE|LOW
7654
+ // * Supported fields:
7655
+ // - `project_id`: The Google Cloud project ID
7656
+ // - `dataset_id`: The BigQuery dataset ID
7657
+ // - `table_id`: The ID of the BigQuery table
7658
+ // - `sensitivity_level`: HIGH|MODERATE|LOW
7659
+ // - `data_risk_level`: HIGH|MODERATE|LOW
7392
7660
  // - `resource_visibility`: PUBLIC|RESTRICTED
7393
- // - `status_code` - an RPC status code as defined in
7661
+ // - `status_code`: an RPC status code as defined in
7394
7662
  // https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto
7663
+ // - `profile_last_generated`: Date and time the profile was last
7664
+ // generated
7395
7665
  //
7396
- // * The operator must be `=` or `!=`.
7666
+ // * The operator must be `=` or `!=`. The `profile_last_generated` filter
7667
+ // also supports `<` and `>`.
7668
+ //
7669
+ // The syntax is based on https://google.aip.dev/160.
7397
7670
  //
7398
7671
  // Examples:
7399
7672
  //
7400
7673
  // * `project_id = 12345 AND status_code = 1`
7401
7674
  // * `project_id = 12345 AND sensitivity_level = HIGH`
7402
7675
  // * `project_id = 12345 AND resource_visibility = PUBLIC`
7676
+ // * `profile_last_generated < "2025-01-01T00:00:00.000Z"`
7403
7677
  //
7404
7678
  // The length of this field should be no more than 500 characters.
7405
7679
  string filter = 5;
@@ -7463,26 +7737,32 @@ message ListColumnDataProfilesRequest {
7463
7737
  // * Restrictions can be combined by `AND` or `OR` logical operators. A
7464
7738
  // sequence of restrictions implicitly uses `AND`.
7465
7739
  // * A restriction has the form of `{field} {operator} {value}`.
7466
- // * Supported fields/values:
7467
- // - `table_data_profile_name` - The name of the related table data
7468
- // profile.
7469
- // - `project_id` - The Google Cloud project ID. (REQUIRED)
7470
- // - `dataset_id` - The BigQuery dataset ID. (REQUIRED)
7471
- // - `table_id` - The BigQuery table ID. (REQUIRED)
7472
- // - `field_id` - The ID of the BigQuery field.
7473
- // - `info_type` - The infotype detected in the resource.
7474
- // - `sensitivity_level` - HIGH|MEDIUM|LOW
7475
- // - `data_risk_level`: How much risk is associated with this data.
7476
- // - `status_code` - an RPC status code as defined in
7740
+ // * Supported fields:
7741
+ // - `table_data_profile_name`: The name of the related table data
7742
+ // profile
7743
+ // - `project_id`: The Google Cloud project ID (REQUIRED)
7744
+ // - `dataset_id`: The BigQuery dataset ID (REQUIRED)
7745
+ // - `table_id`: The BigQuery table ID (REQUIRED)
7746
+ // - `field_id`: The ID of the BigQuery field
7747
+ // - `info_type`: The infotype detected in the resource
7748
+ // - `sensitivity_level`: HIGH|MEDIUM|LOW
7749
+ // - `data_risk_level`: How much risk is associated with this data
7750
+ // - `status_code`: An RPC status code as defined in
7477
7751
  // https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto
7752
+ // - `profile_last_generated`: Date and time the profile was last
7753
+ // generated
7478
7754
  // * The operator must be `=` for project_id, dataset_id, and table_id. Other
7479
- // filters also support `!=`.
7755
+ // filters also support `!=`. The `profile_last_generated` filter also
7756
+ // supports `<` and `>`.
7757
+ //
7758
+ // The syntax is based on https://google.aip.dev/160.
7480
7759
  //
7481
7760
  // Examples:
7482
7761
  //
7483
7762
  // * project_id = 12345 AND status_code = 1
7484
7763
  // * project_id = 12345 AND sensitivity_level = HIGH
7485
7764
  // * project_id = 12345 AND info_type = STREET_ADDRESS
7765
+ // * profile_last_generated < "2025-01-01T00:00:00.000Z"
7486
7766
  //
7487
7767
  // The length of this field should be no more than 500 characters.
7488
7768
  string filter = 5;
@@ -8112,8 +8392,9 @@ message FileStoreDataProfile {
8112
8392
  message Tag {
8113
8393
  // The namespaced name for the tag value to attach to Google Cloud resources.
8114
8394
  // Must be in the format `{parent_id}/{tag_key_short_name}/{short_name}`, for
8115
- // example, "123456/environment/prod". This is only set for Google Cloud
8116
- // resources.
8395
+ // example, "123456/environment/prod" for an organization parent, or
8396
+ // "my-project/environment/prod" for a project parent. This is only set for
8397
+ // Google Cloud resources.
8117
8398
  string namespaced_tag_value = 1;
8118
8399
 
8119
8400
  // The key of a tag key-value pair. For Google Cloud resources, this is the
@@ -8125,6 +8406,31 @@ message Tag {
8125
8406
  string value = 3;
8126
8407
  }
8127
8408
 
8409
+ // Tags to match against for filtering.
8410
+ message TagFilters {
8411
+ // Required. A resource must match ALL of the specified tag filters to be
8412
+ // included in the collection.
8413
+ repeated TagFilter tag_filters = 1 [(google.api.field_behavior) = REQUIRED];
8414
+ }
8415
+
8416
+ // A single tag to filter against.
8417
+ message TagFilter {
8418
+ // Tag filter formats. Tags refer to Resource Manager tags bound to the
8419
+ // resource or its ancestors.
8420
+ oneof format {
8421
+ // The namespaced name for the tag value. Must be in the format
8422
+ // `{parent_id}/{tag_key_short_name}/{short_name}`, for example,
8423
+ // "123456/environment/prod" for an organization parent, or
8424
+ // "my-project/environment/prod" for a project parent.
8425
+ string namespaced_tag_value = 1;
8426
+
8427
+ // The namespaced name for the tag key. Must be in the format
8428
+ // `{parent_id}/{tag_key_short_name}`, for example, "123456/sensitive" for
8429
+ // an organization parent, or "my-project/sensitive" for a project parent.
8430
+ string namespaced_tag_key = 2;
8431
+ }
8432
+ }
8433
+
8128
8434
  // A related resource.
8129
8435
  // Examples:
8130
8436
  //
@@ -8258,21 +8564,26 @@ message ListFileStoreDataProfilesRequest {
8258
8564
  // * Restrictions can be combined by `AND` or `OR` logical operators. A
8259
8565
  // sequence of restrictions implicitly uses `AND`.
8260
8566
  // * A restriction has the form of `{field} {operator} {value}`.
8261
- // * Supported fields/values:
8262
- // - `project_id` - The Google Cloud project ID.
8263
- // - `account_id` - The AWS account ID.
8264
- // - `file_store_path` - The path like "gs://bucket".
8265
- // - `data_source_type` - The profile's data source type, like
8266
- // "google/storage/bucket".
8267
- // - `data_storage_location` - The location where the file store's data is
8268
- // stored, like "us-central1".
8269
- // - `sensitivity_level` - HIGH|MODERATE|LOW
8270
- // - `data_risk_level` - HIGH|MODERATE|LOW
8567
+ // * Supported fields:
8568
+ // - `project_id`: The Google Cloud project ID
8569
+ // - `account_id`: The AWS account ID
8570
+ // - `file_store_path`: The path like "gs://bucket"
8571
+ // - `data_source_type`: The profile's data source type, like
8572
+ // "google/storage/bucket"
8573
+ // - `data_storage_location`: The location where the file store's data is
8574
+ // stored, like "us-central1"
8575
+ // - `sensitivity_level`: HIGH|MODERATE|LOW
8576
+ // - `data_risk_level`: HIGH|MODERATE|LOW
8271
8577
  // - `resource_visibility`: PUBLIC|RESTRICTED
8272
- // - `status_code` - an RPC status code as defined in
8578
+ // - `status_code`: an RPC status code as defined in
8273
8579
  // https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto
8580
+ // - `profile_last_generated`: Date and time the profile was last
8581
+ // generated
8274
8582
  //
8275
- // * The operator must be `=` or `!=`.
8583
+ // * The operator must be `=` or `!=`. The `profile_last_generated` filter
8584
+ // also supports `<` and `>`.
8585
+ //
8586
+ // The syntax is based on https://google.aip.dev/160.
8276
8587
  //
8277
8588
  // Examples:
8278
8589
  //
@@ -8280,6 +8591,7 @@ message ListFileStoreDataProfilesRequest {
8280
8591
  // * `project_id = 12345 AND sensitivity_level = HIGH`
8281
8592
  // * `project_id = 12345 AND resource_visibility = PUBLIC`
8282
8593
  // * `file_store_path = "gs://mybucket"`
8594
+ // * `profile_last_generated < "2025-01-01T00:00:00.000Z"`
8283
8595
  //
8284
8596
  // The length of this field should be no more than 500 characters.
8285
8597
  string filter = 5 [(google.api.field_behavior) = OPTIONAL];
@@ -8451,6 +8763,8 @@ message ListConnectionsRequest {
8451
8763
  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
8452
8764
 
8453
8765
  // Optional. Supported field/value: `state` - MISSING|AVAILABLE|ERROR
8766
+ //
8767
+ // The syntax is based on https://google.aip.dev/160.
8454
8768
  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
8455
8769
  }
8456
8770
 
@@ -8474,6 +8788,8 @@ message SearchConnectionsRequest {
8474
8788
  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
8475
8789
 
8476
8790
  // Optional. Supported field/value: - `state` - MISSING|AVAILABLE|ERROR
8791
+ //
8792
+ // The syntax is based on https://google.aip.dev/160.
8477
8793
  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
8478
8794
  }
8479
8795
 
@@ -8657,14 +8973,14 @@ message DeleteTableDataProfileRequest {
8657
8973
 
8658
8974
  // Message used to identify the type of resource being profiled.
8659
8975
  message DataSourceType {
8660
- // Output only. An identifying string to the type of resource being profiled.
8976
+ // A string that identifies the type of resource being profiled.
8661
8977
  // Current values:
8662
8978
  //
8663
8979
  // * google/bigquery/table
8664
8980
  // * google/project
8665
8981
  // * google/sql/table
8666
8982
  // * google/gcs/bucket
8667
- string data_source = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
8983
+ string data_source = 1;
8668
8984
  }
8669
8985
 
8670
8986
  // Message used to identify file cluster type being profiled.
@@ -8781,7 +9097,7 @@ message Domain {
8781
9097
  }
8782
9098
 
8783
9099
  // The signal used to determine the category.
8784
- // This list may increase over time.
9100
+ // New values may be added in the future.
8785
9101
  enum Signal {
8786
9102
  // Unused.
8787
9103
  SIGNAL_UNSPECIFIED = 0;
@@ -8789,9 +9105,14 @@ message Domain {
8789
9105
  // One or more machine learning models are present.
8790
9106
  MODEL = 1;
8791
9107
 
8792
- // A table appears to be a text embedding.
9108
+ // A table appears to contain text embeddings.
8793
9109
  TEXT_EMBEDDING = 2;
8794
9110
 
9111
+ // A table appears to contain embeddings of any type (for example, text,
9112
+ // image, multimodal). The `TEXT_EMBEDDING` signal might also be present if
9113
+ // the table contains text embeddings.
9114
+ EMBEDDING = 7;
9115
+
8795
9116
  // The [Cloud SQL Vertex
8796
9117
  // AI](https://cloud.google.com/sql/docs/postgres/integrate-cloud-sql-with-vertex-ai)
8797
9118
  // plugin is installed on the database.