google-cloud-dlp 0.14.0 → 0.15.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 503aa128d923060ccddbdf1329f32e3304348a421182c452a2131b52cd074653
4
- data.tar.gz: 5eed5de459cf167c2df2995b0588362ee85e9c01112f4d1bac4e4dcb5fd2c33c
3
+ metadata.gz: 88badb6241aa666a5444dd0519c11563c3b0f0684b9cccccb6899369a6caa2f2
4
+ data.tar.gz: 84458d32f19cde35abda87761b05098b53926fb33ff96755f1d70bcb57898def
5
5
  SHA512:
6
- metadata.gz: 8f04b891907c9de11f9fee5187e178d23e7f8dcb30221f1e695359c75660071f66b1823a7407396637bede4a16220ffaa62b5bf3bd5756ac63bc31d3ab3c2460
7
- data.tar.gz: 856f7d0a0018d307354be1999bb7886205a01c257a8e58cf3a63035e2974721d54c60b81834fa607edf5bd5ba949c5cf01f44e5c068e3a9a9c6e737f7d63591f
6
+ metadata.gz: a94146a2afef35635bf42a4d1cf919a5f3d21b4ba9f7b93aa4e2a1df99765b95fdb320d07397dc5ab92ddab338d1366e0725cc4577964f590611c18350f56fc8
7
+ data.tar.gz: 867efb9002ee72e12b1cb33554e241c57183abfaacf94d7d8d016b453d73e8f9d717604f12a42e080b2639b0786a212409279458974e1552fba71bddb6d4bd54
@@ -530,6 +530,22 @@ module Google
530
530
  {'name' => request.name}
531
531
  end
532
532
  )
533
+ @finish_dlp_job = Google::Gax.create_api_call(
534
+ @dlp_service_stub.method(:finish_dlp_job),
535
+ defaults["finish_dlp_job"],
536
+ exception_transformer: exception_transformer,
537
+ params_extractor: proc do |request|
538
+ {'name' => request.name}
539
+ end
540
+ )
541
+ @hybrid_inspect_dlp_job = Google::Gax.create_api_call(
542
+ @dlp_service_stub.method(:hybrid_inspect_dlp_job),
543
+ defaults["hybrid_inspect_dlp_job"],
544
+ exception_transformer: exception_transformer,
545
+ params_extractor: proc do |request|
546
+ {'name' => request.name}
547
+ end
548
+ )
533
549
  @list_job_triggers = Google::Gax.create_api_call(
534
550
  @dlp_service_stub.method(:list_job_triggers),
535
551
  defaults["list_job_triggers"],
@@ -554,6 +570,14 @@ module Google
554
570
  {'name' => request.name}
555
571
  end
556
572
  )
573
+ @hybrid_inspect_job_trigger = Google::Gax.create_api_call(
574
+ @dlp_service_stub.method(:hybrid_inspect_job_trigger),
575
+ defaults["hybrid_inspect_job_trigger"],
576
+ exception_transformer: exception_transformer,
577
+ params_extractor: proc do |request|
578
+ {'name' => request.name}
579
+ end
580
+ )
557
581
  @update_job_trigger = Google::Gax.create_api_call(
558
582
  @dlp_service_stub.method(:update_job_trigger),
559
583
  defaults["update_job_trigger"],
@@ -1003,8 +1027,8 @@ module Google
1003
1027
  # See https://cloud.google.com/dlp/docs/creating-templates to learn more.
1004
1028
  #
1005
1029
  # @param name [String]
1006
- # Required. Resource name of organization and inspectTemplate to be updated, for
1007
- # example `organizations/433245324/inspectTemplates/432452342` or
1030
+ # Required. Resource name of organization and inspectTemplate to be updated,
1031
+ # for example `organizations/433245324/inspectTemplates/432452342` or
1008
1032
  # projects/project-id/inspectTemplates/432452342.
1009
1033
  # @param inspect_template [Google::Privacy::Dlp::V2::InspectTemplate | Hash]
1010
1034
  # New InspectTemplate value.
@@ -1048,8 +1072,8 @@ module Google
1048
1072
  # See https://cloud.google.com/dlp/docs/creating-templates to learn more.
1049
1073
  #
1050
1074
  # @param name [String]
1051
- # Required. Resource name of the organization and inspectTemplate to be read, for
1052
- # example `organizations/433245324/inspectTemplates/432452342` or
1075
+ # Required. Resource name of the organization and inspectTemplate to be read,
1076
+ # for example `organizations/433245324/inspectTemplates/432452342` or
1053
1077
  # projects/project-id/inspectTemplates/432452342.
1054
1078
  # @param options [Google::Gax::CallOptions]
1055
1079
  # Overrides the default settings for this call, e.g, timeout,
@@ -1157,9 +1181,9 @@ module Google
1157
1181
  # See https://cloud.google.com/dlp/docs/creating-templates to learn more.
1158
1182
  #
1159
1183
  # @param name [String]
1160
- # Required. Resource name of the organization and inspectTemplate to be deleted, for
1161
- # example `organizations/433245324/inspectTemplates/432452342` or
1162
- # projects/project-id/inspectTemplates/432452342.
1184
+ # Required. Resource name of the organization and inspectTemplate to be
1185
+ # deleted, for example `organizations/433245324/inspectTemplates/432452342`
1186
+ # or projects/project-id/inspectTemplates/432452342.
1163
1187
  # @param options [Google::Gax::CallOptions]
1164
1188
  # Overrides the default settings for this call, e.g, timeout,
1165
1189
  # retries, etc.
@@ -1243,8 +1267,9 @@ module Google
1243
1267
  # more.
1244
1268
  #
1245
1269
  # @param name [String]
1246
- # Required. Resource name of organization and deidentify template to be updated, for
1247
- # example `organizations/433245324/deidentifyTemplates/432452342` or
1270
+ # Required. Resource name of organization and deidentify template to be
1271
+ # updated, for example
1272
+ # `organizations/433245324/deidentifyTemplates/432452342` or
1248
1273
  # projects/project-id/deidentifyTemplates/432452342.
1249
1274
  # @param deidentify_template [Google::Privacy::Dlp::V2::DeidentifyTemplate | Hash]
1250
1275
  # New DeidentifyTemplate value.
@@ -1289,9 +1314,9 @@ module Google
1289
1314
  # more.
1290
1315
  #
1291
1316
  # @param name [String]
1292
- # Required. Resource name of the organization and deidentify template to be read, for
1293
- # example `organizations/433245324/deidentifyTemplates/432452342` or
1294
- # projects/project-id/deidentifyTemplates/432452342.
1317
+ # Required. Resource name of the organization and deidentify template to be
1318
+ # read, for example `organizations/433245324/deidentifyTemplates/432452342`
1319
+ # or projects/project-id/deidentifyTemplates/432452342.
1295
1320
  # @param options [Google::Gax::CallOptions]
1296
1321
  # Overrides the default settings for this call, e.g, timeout,
1297
1322
  # retries, etc.
@@ -1401,8 +1426,9 @@ module Google
1401
1426
  # more.
1402
1427
  #
1403
1428
  # @param name [String]
1404
- # Required. Resource name of the organization and deidentify template to be deleted,
1405
- # for example `organizations/433245324/deidentifyTemplates/432452342` or
1429
+ # Required. Resource name of the organization and deidentify template to be
1430
+ # deleted, for example
1431
+ # `organizations/433245324/deidentifyTemplates/432452342` or
1406
1432
  # projects/project-id/deidentifyTemplates/432452342.
1407
1433
  # @param options [Google::Gax::CallOptions]
1408
1434
  # Overrides the default settings for this call, e.g, timeout,
@@ -1702,6 +1728,84 @@ module Google
1702
1728
  nil
1703
1729
  end
1704
1730
 
1731
+ # Finish a running hybrid DlpJob. Triggers the finalization steps and running
1732
+ # of any enabled actions that have not yet run.
1733
+ # Early access feature is in a pre-release state and might change or have
1734
+ # limited support. For more information, see
1735
+ # https://cloud.google.com/products#product-launch-stages.
1736
+ #
1737
+ # @param name [String]
1738
+ # Required. The name of the DlpJob resource to be cancelled.
1739
+ # @param options [Google::Gax::CallOptions]
1740
+ # Overrides the default settings for this call, e.g, timeout,
1741
+ # retries, etc.
1742
+ # @yield [result, operation] Access the result along with the RPC operation
1743
+ # @yieldparam result []
1744
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
1745
+ # @raise [Google::Gax::GaxError] if the RPC is aborted.
1746
+ # @example
1747
+ # require "google/cloud/dlp"
1748
+ #
1749
+ # dlp_client = Google::Cloud::Dlp.new(version: :v2)
1750
+ # formatted_name = Google::Cloud::Dlp::V2::DlpServiceClient.dlp_job_path("[PROJECT]", "[DLP_JOB]")
1751
+ # dlp_client.finish_dlp_job(formatted_name)
1752
+
1753
+ def finish_dlp_job \
1754
+ name,
1755
+ options: nil,
1756
+ &block
1757
+ req = {
1758
+ name: name
1759
+ }.delete_if { |_, v| v.nil? }
1760
+ req = Google::Gax::to_proto(req, Google::Privacy::Dlp::V2::FinishDlpJobRequest)
1761
+ @finish_dlp_job.call(req, options, &block)
1762
+ nil
1763
+ end
1764
+
1765
+ # Inspect hybrid content and store findings to a job.
1766
+ # To review the findings inspect the job. Inspection will occur
1767
+ # asynchronously.
1768
+ # Early access feature is in a pre-release state and might change or have
1769
+ # limited support. For more information, see
1770
+ # https://cloud.google.com/products#product-launch-stages.
1771
+ #
1772
+ # @param name [String]
1773
+ # Required. Resource name of the job to execute a hybrid inspect on, for
1774
+ # example `projects/dlp-test-project/dlpJob/53234423`.
1775
+ # @param hybrid_item [Google::Privacy::Dlp::V2::HybridContentItem | Hash]
1776
+ # The item to inspect.
1777
+ # A hash of the same form as `Google::Privacy::Dlp::V2::HybridContentItem`
1778
+ # can also be provided.
1779
+ # @param options [Google::Gax::CallOptions]
1780
+ # Overrides the default settings for this call, e.g, timeout,
1781
+ # retries, etc.
1782
+ # @yield [result, operation] Access the result along with the RPC operation
1783
+ # @yieldparam result [Google::Privacy::Dlp::V2::HybridInspectResponse]
1784
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
1785
+ # @return [Google::Privacy::Dlp::V2::HybridInspectResponse]
1786
+ # @raise [Google::Gax::GaxError] if the RPC is aborted.
1787
+ # @example
1788
+ # require "google/cloud/dlp"
1789
+ #
1790
+ # dlp_client = Google::Cloud::Dlp.new(version: :v2)
1791
+ #
1792
+ # # TODO: Initialize `name`:
1793
+ # name = ''
1794
+ # response = dlp_client.hybrid_inspect_dlp_job(name)
1795
+
1796
+ def hybrid_inspect_dlp_job \
1797
+ name,
1798
+ hybrid_item: nil,
1799
+ options: nil,
1800
+ &block
1801
+ req = {
1802
+ name: name,
1803
+ hybrid_item: hybrid_item
1804
+ }.delete_if { |_, v| v.nil? }
1805
+ req = Google::Gax::to_proto(req, Google::Privacy::Dlp::V2::HybridInspectDlpJobRequest)
1806
+ @hybrid_inspect_dlp_job.call(req, options, &block)
1807
+ end
1808
+
1705
1809
  # Lists job triggers.
1706
1810
  # See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
1707
1811
  #
@@ -1873,6 +1977,50 @@ module Google
1873
1977
  nil
1874
1978
  end
1875
1979
 
1980
+ # Inspect hybrid content and store findings to a trigger. The inspection
1981
+ # will be processed asynchronously. To review the findings monitor the
1982
+ # jobs within the trigger.
1983
+ # Early access feature is in a pre-release state and might change or have
1984
+ # limited support. For more information, see
1985
+ # https://cloud.google.com/products#product-launch-stages.
1986
+ #
1987
+ # @param name [String]
1988
+ # Required. Resource name of the trigger to execute a hybrid inspect on, for
1989
+ # example `projects/dlp-test-project/jobTriggers/53234423`.
1990
+ # @param hybrid_item [Google::Privacy::Dlp::V2::HybridContentItem | Hash]
1991
+ # The item to inspect.
1992
+ # A hash of the same form as `Google::Privacy::Dlp::V2::HybridContentItem`
1993
+ # can also be provided.
1994
+ # @param options [Google::Gax::CallOptions]
1995
+ # Overrides the default settings for this call, e.g, timeout,
1996
+ # retries, etc.
1997
+ # @yield [result, operation] Access the result along with the RPC operation
1998
+ # @yieldparam result [Google::Privacy::Dlp::V2::HybridInspectResponse]
1999
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
2000
+ # @return [Google::Privacy::Dlp::V2::HybridInspectResponse]
2001
+ # @raise [Google::Gax::GaxError] if the RPC is aborted.
2002
+ # @example
2003
+ # require "google/cloud/dlp"
2004
+ #
2005
+ # dlp_client = Google::Cloud::Dlp.new(version: :v2)
2006
+ #
2007
+ # # TODO: Initialize `name`:
2008
+ # name = ''
2009
+ # response = dlp_client.hybrid_inspect_job_trigger(name)
2010
+
2011
+ def hybrid_inspect_job_trigger \
2012
+ name,
2013
+ hybrid_item: nil,
2014
+ options: nil,
2015
+ &block
2016
+ req = {
2017
+ name: name,
2018
+ hybrid_item: hybrid_item
2019
+ }.delete_if { |_, v| v.nil? }
2020
+ req = Google::Gax::to_proto(req, Google::Privacy::Dlp::V2::HybridInspectJobTriggerRequest)
2021
+ @hybrid_inspect_job_trigger.call(req, options, &block)
2022
+ end
2023
+
1876
2024
  # Updates a job trigger.
1877
2025
  # See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
1878
2026
  #
@@ -2024,8 +2172,8 @@ module Google
2024
2172
  # learn more.
2025
2173
  #
2026
2174
  # @param name [String]
2027
- # Required. Resource name of organization and storedInfoType to be updated, for
2028
- # example `organizations/433245324/storedInfoTypes/432452342` or
2175
+ # Required. Resource name of organization and storedInfoType to be updated,
2176
+ # for example `organizations/433245324/storedInfoTypes/432452342` or
2029
2177
  # projects/project-id/storedInfoTypes/432452342.
2030
2178
  # @param config [Google::Privacy::Dlp::V2::StoredInfoTypeConfig | Hash]
2031
2179
  # Updated configuration for the storedInfoType. If not provided, a new
@@ -2072,8 +2220,8 @@ module Google
2072
2220
  # learn more.
2073
2221
  #
2074
2222
  # @param name [String]
2075
- # Required. Resource name of the organization and storedInfoType to be read, for
2076
- # example `organizations/433245324/storedInfoTypes/432452342` or
2223
+ # Required. Resource name of the organization and storedInfoType to be read,
2224
+ # for example `organizations/433245324/storedInfoTypes/432452342` or
2077
2225
  # projects/project-id/storedInfoTypes/432452342.
2078
2226
  # @param options [Google::Gax::CallOptions]
2079
2227
  # Overrides the default settings for this call, e.g, timeout,
@@ -2185,8 +2333,8 @@ module Google
2185
2333
  # learn more.
2186
2334
  #
2187
2335
  # @param name [String]
2188
- # Required. Resource name of the organization and storedInfoType to be deleted, for
2189
- # example `organizations/433245324/storedInfoTypes/432452342` or
2336
+ # Required. Resource name of the organization and storedInfoType to be
2337
+ # deleted, for example `organizations/433245324/storedInfoTypes/432452342` or
2190
2338
  # projects/project-id/storedInfoTypes/432452342.
2191
2339
  # @param options [Google::Gax::CallOptions]
2192
2340
  # Overrides the default settings for this call, e.g, timeout,
@@ -120,6 +120,16 @@
120
120
  "retry_codes_name": "non_idempotent",
121
121
  "retry_params_name": "default"
122
122
  },
123
+ "FinishDlpJob": {
124
+ "timeout_millis": 300000,
125
+ "retry_codes_name": "non_idempotent",
126
+ "retry_params_name": "default"
127
+ },
128
+ "HybridInspectDlpJob": {
129
+ "timeout_millis": 300000,
130
+ "retry_codes_name": "non_idempotent",
131
+ "retry_params_name": "default"
132
+ },
123
133
  "ListJobTriggers": {
124
134
  "timeout_millis": 300000,
125
135
  "retry_codes_name": "idempotent",
@@ -135,6 +145,11 @@
135
145
  "retry_codes_name": "idempotent",
136
146
  "retry_params_name": "default"
137
147
  },
148
+ "HybridInspectJobTrigger": {
149
+ "timeout_millis": 300000,
150
+ "retry_codes_name": "non_idempotent",
151
+ "retry_params_name": "default"
152
+ },
138
153
  "UpdateJobTrigger": {
139
154
  "timeout_millis": 300000,
140
155
  "retry_codes_name": "non_idempotent",
@@ -115,7 +115,7 @@ module Google
115
115
  # @!attribute [rw] max_findings_per_item
116
116
  # @return [Integer]
117
117
  # Max number of findings that will be returned for each item scanned.
118
- # When set within `InspectDataSourceRequest`,
118
+ # When set within `InspectJobConfig`,
119
119
  # the maximum returned is 2000 regardless if this is set higher.
120
120
  # When set within `InspectContentRequest`, this field is ignored.
121
121
  # @!attribute [rw] max_findings_per_request
@@ -224,6 +224,11 @@ module Google
224
224
  class InspectResult; end
225
225
 
226
226
  # Represents a piece of potentially sensitive content.
227
+ # @!attribute [rw] name
228
+ # @return [String]
229
+ # Resource name in format
230
+ # projects/\\{project}/locations/\\{location}/findings/\\{finding}
231
+ # Populated only when viewing persisted findings.
227
232
  # @!attribute [rw] quote
228
233
  # @return [String]
229
234
  # The content that was found. Even if the content is not textual, it
@@ -249,6 +254,32 @@ module Google
249
254
  # Contains data parsed from quotes. Only populated if include_quote was set
250
255
  # to true and a supported infoType was requested. Currently supported
251
256
  # infoTypes: DATE, DATE_OF_BIRTH and TIME.
257
+ # @!attribute [rw] resource_name
258
+ # @return [String]
259
+ # The job that stored the finding.
260
+ # @!attribute [rw] trigger_name
261
+ # @return [String]
262
+ # Job trigger name, if applicable, for this finding.
263
+ # @!attribute [rw] labels
264
+ # @return [Hash{String => String}]
265
+ # The labels associated with this `InspectFinding`.
266
+ #
267
+ # Label keys must be between 1 and 63 characters long and must conform
268
+ # to the following regular expression: \[a-z\](https://cloud.google.com\[-a-z0-9\]*\[a-z0-9\])?.
269
+ #
270
+ # Label values must be between 0 and 63 characters long and must conform
271
+ # to the regular expression (\[a-z\](https://cloud.google.com\[-a-z0-9\]*\[a-z0-9\])?)?.
272
+ #
273
+ # No more than 10 labels can be associated with a given finding.
274
+ #
275
+ # Example: <code>"environment" : "production"</code>
276
+ # Example: <code>"pipeline" : "etl"</code>
277
+ # @!attribute [rw] job_create_time
278
+ # @return [Google::Protobuf::Timestamp]
279
+ # Time the job started that produced this finding.
280
+ # @!attribute [rw] job_name
281
+ # @return [String]
282
+ # The job that stored the finding.
252
283
  class Finding; end
253
284
 
254
285
  # Specifies the location of the finding.
@@ -268,9 +299,13 @@ module Google
268
299
  # @return [Array<Google::Privacy::Dlp::V2::ContentLocation>]
269
300
  # List of nested objects pointing to the precise location of the finding
270
301
  # within the file or record.
302
+ # @!attribute [rw] container
303
+ # @return [Google::Privacy::Dlp::V2::Container]
304
+ # Information about the container where this finding occurred, if available.
271
305
  class Location; end
272
306
 
273
- # Findings container location data.
307
+ # Precise location of the finding within a document, record, image, or metadata
308
+ # container.
274
309
  # @!attribute [rw] container_name
275
310
  # @return [String]
276
311
  # Name of the container where the finding is located.
@@ -329,6 +364,49 @@ module Google
329
364
  # The zero-based index of the row where the finding is located.
330
365
  class TableLocation; end
331
366
 
367
+ # Represents a container that may contain DLP findings.
368
+ # Examples of a container include a file, table, or database record.
369
+ # @!attribute [rw] type
370
+ # @return [String]
371
+ # Container type, for example BigQuery or Google Cloud Storage.
372
+ # @!attribute [rw] project_id
373
+ # @return [String]
374
+ # Project where the finding was found.
375
+ # Can be different from the project that owns the finding.
376
+ # @!attribute [rw] full_path
377
+ # @return [String]
378
+ # A string representation of the full container name.
379
+ # Examples:
380
+ # * BigQuery: 'Project:DataSetId.TableId'
381
+ # * Google Cloud Storage: 'gs://Bucket/folders/filename.txt'
382
+ # @!attribute [rw] root_path
383
+ # @return [String]
384
+ # The root of the container.
385
+ # Examples:
386
+ # * For BigQuery table `project_id:dataset_id.table_id`, the root is
387
+ # `dataset_id`
388
+ # * For Google Cloud Storage file `gs://bucket/folder/filename.txt`, the root
389
+ # is `gs://bucket`
390
+ # @!attribute [rw] relative_path
391
+ # @return [String]
392
+ # The rest of the path after the root.
393
+ # Examples:
394
+ # * For BigQuery table `project_id:dataset_id.table_id`, the relative path is
395
+ # `table_id`
396
+ # * Google Cloud Storage file `gs://bucket/folder/filename.txt`, the relative
397
+ # path is `folder/filename.txt`
398
+ # @!attribute [rw] update_time
399
+ # @return [Google::Protobuf::Timestamp]
400
+ # Findings container modification timestamp, if applicable.
401
+ # For Google Cloud Storage contains last file modification timestamp.
402
+ # For BigQuery table contains last_modified_time property.
403
+ # For Datastore - not populated.
404
+ # @!attribute [rw] version
405
+ # @return [String]
406
+ # Findings container version, if available
407
+ # ("generation" for Google Cloud Storage).
408
+ class Container; end
409
+
332
410
  # Generic half-open interval [start, end)
333
411
  # @!attribute [rw] start
334
412
  # @return [Integer]
@@ -582,8 +660,10 @@ module Google
582
660
  # If unspecified, then all available columns will be used for a new table or
583
661
  # an (existing) table with no schema, and no changes will be made to an
584
662
  # existing table that has a schema.
663
+ # Only for use with external storage.
585
664
  class OutputStorageConfig
586
665
  # Predefined schemas for storing findings.
666
+ # Only for use with external storage.
587
667
  module OutputSchema
588
668
  # Unused.
589
669
  OUTPUT_SCHEMA_UNSPECIFIED = 0
@@ -644,9 +724,32 @@ module Google
644
724
  # @return [Array<Google::Privacy::Dlp::V2::InfoTypeStats>]
645
725
  # Statistics of how many instances of each info type were found during
646
726
  # inspect job.
727
+ # @!attribute [rw] hybrid_stats
728
+ # @return [Google::Privacy::Dlp::V2::HybridInspectStatistics]
729
+ # Statistics related to the processing of hybrid inspect.
730
+ # Early access feature is in a pre-release state and might change or have
731
+ # limited support. For more information, see
732
+ # https://cloud.google.com/products#product-launch-stages.
647
733
  class Result; end
648
734
  end
649
735
 
736
+ # Statistics related to processing hybrid inspect requests.s
737
+ # @!attribute [rw] processed_count
738
+ # @return [Integer]
739
+ # The number of hybrid inspection requests processed within this job.
740
+ # @!attribute [rw] aborted_count
741
+ # @return [Integer]
742
+ # The number of hybrid inspection requests aborted because the job ran
743
+ # out of quota or was ended before they could be processed.
744
+ # @!attribute [rw] pending_count
745
+ # @return [Integer]
746
+ # The number of hybrid requests currently being processed. Only populated
747
+ # when called via method `getDlpJob`.
748
+ # A burst of traffic may cause hybrid inspect requests to be enqueued.
749
+ # Processing will take place as quickly as possible, but resource limitations
750
+ # may impact how long a request is enqueued for.
751
+ class HybridInspectStatistics; end
752
+
650
753
  # InfoType description.
651
754
  # @!attribute [rw] name
652
755
  # @return [String]
@@ -736,8 +839,8 @@ module Google
736
839
  # Required. Quasi-identifier columns.
737
840
  # @!attribute [rw] relative_frequency
738
841
  # @return [Google::Privacy::Dlp::V2::FieldId]
739
- # Required. The relative frequency column must contain a floating-point number
740
- # between 0 and 1 (inclusive). Null values are assumed to be zero.
842
+ # Required. The relative frequency column must contain a floating-point
843
+ # number between 0 and 1 (inclusive). Null values are assumed to be zero.
741
844
  class StatisticalTable
742
845
  # A quasi-identifier column has a custom_tag, used to know which column
743
846
  # in the data corresponds to which column in the statistical model.
@@ -831,8 +934,8 @@ module Google
831
934
  # extrapolating from the distribution of values in the input dataset.
832
935
  # @!attribute [rw] quasi_ids
833
936
  # @return [Array<Google::Privacy::Dlp::V2::PrivacyMetric::KMapEstimationConfig::TaggedField>]
834
- # Required. Fields considered to be quasi-identifiers. No two columns can have the
835
- # same tag.
937
+ # Required. Fields considered to be quasi-identifiers. No two columns can
938
+ # have the same tag.
836
939
  # @!attribute [rw] region_code
837
940
  # @return [String]
838
941
  # ISO 3166-1 alpha-2 region code to use in the statistical modeling.
@@ -881,8 +984,8 @@ module Google
881
984
  # Required. Quasi-identifier columns.
882
985
  # @!attribute [rw] relative_frequency
883
986
  # @return [Google::Privacy::Dlp::V2::FieldId]
884
- # Required. The relative frequency column must contain a floating-point number
885
- # between 0 and 1 (inclusive). Null values are assumed to be zero.
987
+ # Required. The relative frequency column must contain a floating-point
988
+ # number between 0 and 1 (inclusive). Null values are assumed to be zero.
886
989
  class AuxiliaryTable
887
990
  # A quasi-identifier column has a custom_tag, used to know which column
888
991
  # in the data corresponds to which column in the statistical model.
@@ -902,8 +1005,8 @@ module Google
902
1005
  # knowing the attack dataset, so we use a statistical model instead.
903
1006
  # @!attribute [rw] quasi_ids
904
1007
  # @return [Array<Google::Privacy::Dlp::V2::QuasiId>]
905
- # Required. Fields considered to be quasi-identifiers. No two fields can have the
906
- # same tag.
1008
+ # Required. Fields considered to be quasi-identifiers. No two fields can
1009
+ # have the same tag.
907
1010
  # @!attribute [rw] region_code
908
1011
  # @return [String]
909
1012
  # ISO 3166-1 alpha-2 region code to use in the statistical modeling.
@@ -1249,8 +1352,37 @@ module Google
1249
1352
  # Treat the dataset as structured. Transformations can be applied to
1250
1353
  # specific locations within structured datasets, such as transforming
1251
1354
  # a column within a table.
1355
+ # @!attribute [rw] transformation_error_handling
1356
+ # @return [Google::Privacy::Dlp::V2::TransformationErrorHandling]
1357
+ # Mode for handling transformation errors. If left unspecified, the default
1358
+ # mode is `TransformationErrorHandling.ThrowError`.
1252
1359
  class DeidentifyConfig; end
1253
1360
 
1361
+ # How to handle transformation errors during de-identification. A
1362
+ # transformation error occurs when the requested transformation is incompatible
1363
+ # with the data. For example, trying to de-identify an IP address using a
1364
+ # `DateShift` transformation would result in a transformation error, since date
1365
+ # info cannot be extracted from an IP address.
1366
+ # Information about any incompatible transformations, and how they were
1367
+ # handled, is returned in the response as part of the
1368
+ # `TransformationOverviews`.
1369
+ # @!attribute [rw] throw_error
1370
+ # @return [Google::Privacy::Dlp::V2::TransformationErrorHandling::ThrowError]
1371
+ # Throw an error
1372
+ # @!attribute [rw] leave_untransformed
1373
+ # @return [Google::Privacy::Dlp::V2::TransformationErrorHandling::LeaveUntransformed]
1374
+ # Ignore errors
1375
+ class TransformationErrorHandling
1376
+ # Throw an error and fail the request when a transformation error occurs.
1377
+ class ThrowError; end
1378
+
1379
+ # Skips the data without modifying it if the requested transformation would
1380
+ # cause an error. For example, if a `DateShift` transformation were applied
1381
+ # an an IP address, this mode would leave the IP address unchanged in the
1382
+ # response.
1383
+ class LeaveUntransformed; end
1384
+ end
1385
+
1254
1386
  # A rule for transforming a value.
1255
1387
  # @!attribute [rw] replace_config
1256
1388
  # @return [Google::Privacy::Dlp::V2::ReplaceValueConfig]
@@ -1487,18 +1619,18 @@ module Google
1487
1619
  # See https://cloud.google.com/dlp/docs/concepts-bucketing to learn more.
1488
1620
  # @!attribute [rw] lower_bound
1489
1621
  # @return [Google::Privacy::Dlp::V2::Value]
1490
- # Required. Lower bound value of buckets. All values less than `lower_bound` are
1491
- # grouped together into a single bucket; for example if `lower_bound` = 10,
1492
- # then all values less than 10 are replaced with the value “-10”.
1622
+ # Required. Lower bound value of buckets. All values less than `lower_bound`
1623
+ # are grouped together into a single bucket; for example if `lower_bound` =
1624
+ # 10, then all values less than 10 are replaced with the value “-10”.
1493
1625
  # @!attribute [rw] upper_bound
1494
1626
  # @return [Google::Privacy::Dlp::V2::Value]
1495
- # Required. Upper bound value of buckets. All values greater than upper_bound are
1496
- # grouped together into a single bucket; for example if `upper_bound` = 89,
1497
- # then all values greater than 89 are replaced with the value “89+”.
1627
+ # Required. Upper bound value of buckets. All values greater than upper_bound
1628
+ # are grouped together into a single bucket; for example if `upper_bound` =
1629
+ # 89, then all values greater than 89 are replaced with the value “89+”.
1498
1630
  # @!attribute [rw] bucket_size
1499
1631
  # @return [Float]
1500
- # Required. Size of each bucket (except for minimum and maximum buckets). So if
1501
- # `lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the
1632
+ # Required. Size of each bucket (except for minimum and maximum buckets). So
1633
+ # if `lower_bound` = 10, `upper_bound` = 89, and `bucket_size` = 10, then the
1502
1634
  # following buckets would be used: -10, 10-20, 20-30, 30-40, 40-50, 50-60,
1503
1635
  # 60-70, 70-80, 80-89, 89+. Precision up to 2 decimals works.
1504
1636
  class FixedSizeBucketingConfig; end
@@ -1686,14 +1818,15 @@ module Google
1686
1818
  # to learn more.
1687
1819
  # @!attribute [rw] upper_bound_days
1688
1820
  # @return [Integer]
1689
- # Required. Range of shift in days. Actual shift will be selected at random within this
1690
- # range (inclusive ends). Negative means shift to earlier in time. Must not
1691
- # be more than 365250 days (1000 years) each direction.
1821
+ # Required. Range of shift in days. Actual shift will be selected at random
1822
+ # within this range (inclusive ends). Negative means shift to earlier in
1823
+ # time. Must not be more than 365250 days (1000 years) each direction.
1692
1824
  #
1693
1825
  # For example, 3 means shift date to at most 3 days into the future.
1694
1826
  # @!attribute [rw] lower_bound_days
1695
1827
  # @return [Integer]
1696
- # Required. For example, -5 means shift date to at most 5 days back in the past.
1828
+ # Required. For example, -5 means shift date to at most 5 days back in the
1829
+ # past.
1697
1830
  # @!attribute [rw] context
1698
1831
  # @return [Google::Privacy::Dlp::V2::FieldId]
1699
1832
  # Points to the field that contains the context, for example, an entity id.
@@ -1909,6 +2042,10 @@ module Google
1909
2042
  # to 1 day and can be no longer than 60 days.
1910
2043
  class Schedule; end
1911
2044
 
2045
+ # Job trigger option for hybrid jobs. Jobs must be manually created
2046
+ # and finished.
2047
+ class Manual; end
2048
+
1912
2049
  # The inspectTemplate contains a configuration (set of types of sensitive data
1913
2050
  # to be detected) to be used anywhere you otherwise would normally specify
1914
2051
  # InspectConfig. See https://cloud.google.com/dlp/docs/concepts-templates
@@ -1996,8 +2133,8 @@ module Google
1996
2133
  # a single Schedule trigger and must have at least one object.
1997
2134
  # @!attribute [rw] errors
1998
2135
  # @return [Array<Google::Privacy::Dlp::V2::Error>]
1999
- # Output only. A stream of errors encountered when the trigger was activated. Repeated
2000
- # errors may result in the JobTrigger automatically being paused.
2136
+ # Output only. A stream of errors encountered when the trigger was activated.
2137
+ # Repeated errors may result in the JobTrigger automatically being paused.
2001
2138
  # Will return the last 100 errors. Whenever the JobTrigger is modified
2002
2139
  # this list will be cleared.
2003
2140
  # @!attribute [rw] create_time
@@ -2017,6 +2154,12 @@ module Google
2017
2154
  # @!attribute [rw] schedule
2018
2155
  # @return [Google::Privacy::Dlp::V2::Schedule]
2019
2156
  # Create a job on a repeating basis based on the elapse of time.
2157
+ # @!attribute [rw] manual
2158
+ # @return [Google::Privacy::Dlp::V2::Manual]
2159
+ # For use with hybrid jobs. Jobs must be manually created and finished.
2160
+ # Early access feature is in a pre-release state and might change or have
2161
+ # limited support. For more information, see
2162
+ # https://cloud.google.com/products#product-launch-stages.
2020
2163
  class Trigger; end
2021
2164
 
2022
2165
  # Whether the trigger is currently active. If PAUSED or CANCELLED, no jobs
@@ -2140,8 +2283,8 @@ module Google
2140
2283
  # Request message for UpdateInspectTemplate.
2141
2284
  # @!attribute [rw] name
2142
2285
  # @return [String]
2143
- # Required. Resource name of organization and inspectTemplate to be updated, for
2144
- # example `organizations/433245324/inspectTemplates/432452342` or
2286
+ # Required. Resource name of organization and inspectTemplate to be updated,
2287
+ # for example `organizations/433245324/inspectTemplates/432452342` or
2145
2288
  # projects/project-id/inspectTemplates/432452342.
2146
2289
  # @!attribute [rw] inspect_template
2147
2290
  # @return [Google::Privacy::Dlp::V2::InspectTemplate]
@@ -2154,8 +2297,8 @@ module Google
2154
2297
  # Request message for GetInspectTemplate.
2155
2298
  # @!attribute [rw] name
2156
2299
  # @return [String]
2157
- # Required. Resource name of the organization and inspectTemplate to be read, for
2158
- # example `organizations/433245324/inspectTemplates/432452342` or
2300
+ # Required. Resource name of the organization and inspectTemplate to be read,
2301
+ # for example `organizations/433245324/inspectTemplates/432452342` or
2159
2302
  # projects/project-id/inspectTemplates/432452342.
2160
2303
  class GetInspectTemplateRequest; end
2161
2304
 
@@ -2206,9 +2349,9 @@ module Google
2206
2349
  # Request message for DeleteInspectTemplate.
2207
2350
  # @!attribute [rw] name
2208
2351
  # @return [String]
2209
- # Required. Resource name of the organization and inspectTemplate to be deleted, for
2210
- # example `organizations/433245324/inspectTemplates/432452342` or
2211
- # projects/project-id/inspectTemplates/432452342.
2352
+ # Required. Resource name of the organization and inspectTemplate to be
2353
+ # deleted, for example `organizations/433245324/inspectTemplates/432452342`
2354
+ # or projects/project-id/inspectTemplates/432452342.
2212
2355
  class DeleteInspectTemplateRequest; end
2213
2356
 
2214
2357
  # Request message for CreateJobTrigger.
@@ -2409,7 +2552,7 @@ module Google
2409
2552
  # @return [Array<Google::Privacy::Dlp::V2::Error>]
2410
2553
  # A stream of errors encountered running the job.
2411
2554
  class DlpJob
2412
- # Possible states of a job.
2555
+ # Possible states of a job. New items may be added.
2413
2556
  module JobState
2414
2557
  # Unused.
2415
2558
  JOB_STATE_UNSPECIFIED = 0
@@ -2417,7 +2560,8 @@ module Google
2417
2560
  # The job has not yet started.
2418
2561
  PENDING = 1
2419
2562
 
2420
- # The job is currently running.
2563
+ # The job is currently running. Once a job has finished it will transition
2564
+ # to FAILED or DONE.
2421
2565
  RUNNING = 2
2422
2566
 
2423
2567
  # The job is no longer running.
@@ -2428,6 +2572,12 @@ module Google
2428
2572
 
2429
2573
  # The job had an error and did not complete.
2430
2574
  FAILED = 5
2575
+
2576
+ # The job is currently accepting findings via hybridInspect.
2577
+ # A hybrid job in ACTIVE state may continue to have findings added to it
2578
+ # through calling of hybridInspect. After the job has finished no more
2579
+ # calls to hybridInspect may be made. ACTIVE jobs can transition to DONE.
2580
+ ACTIVE = 6
2431
2581
  end
2432
2582
  end
2433
2583
 
@@ -2516,6 +2666,12 @@ module Google
2516
2666
  # Required. The name of the DlpJob resource to be cancelled.
2517
2667
  class CancelDlpJobRequest; end
2518
2668
 
2669
+ # The request message for finishing a DLP hybrid job.
2670
+ # @!attribute [rw] name
2671
+ # @return [String]
2672
+ # Required. The name of the DlpJob resource to be cancelled.
2673
+ class FinishDlpJobRequest; end
2674
+
2519
2675
  # The request message for deleting a DLP job.
2520
2676
  # @!attribute [rw] name
2521
2677
  # @return [String]
@@ -2545,8 +2701,9 @@ module Google
2545
2701
  # Request message for UpdateDeidentifyTemplate.
2546
2702
  # @!attribute [rw] name
2547
2703
  # @return [String]
2548
- # Required. Resource name of organization and deidentify template to be updated, for
2549
- # example `organizations/433245324/deidentifyTemplates/432452342` or
2704
+ # Required. Resource name of organization and deidentify template to be
2705
+ # updated, for example
2706
+ # `organizations/433245324/deidentifyTemplates/432452342` or
2550
2707
  # projects/project-id/deidentifyTemplates/432452342.
2551
2708
  # @!attribute [rw] deidentify_template
2552
2709
  # @return [Google::Privacy::Dlp::V2::DeidentifyTemplate]
@@ -2559,9 +2716,9 @@ module Google
2559
2716
  # Request message for GetDeidentifyTemplate.
2560
2717
  # @!attribute [rw] name
2561
2718
  # @return [String]
2562
- # Required. Resource name of the organization and deidentify template to be read, for
2563
- # example `organizations/433245324/deidentifyTemplates/432452342` or
2564
- # projects/project-id/deidentifyTemplates/432452342.
2719
+ # Required. Resource name of the organization and deidentify template to be
2720
+ # read, for example `organizations/433245324/deidentifyTemplates/432452342`
2721
+ # or projects/project-id/deidentifyTemplates/432452342.
2565
2722
  class GetDeidentifyTemplateRequest; end
2566
2723
 
2567
2724
  # Request message for ListDeidentifyTemplates.
@@ -2612,8 +2769,9 @@ module Google
2612
2769
  # Request message for DeleteDeidentifyTemplate.
2613
2770
  # @!attribute [rw] name
2614
2771
  # @return [String]
2615
- # Required. Resource name of the organization and deidentify template to be deleted,
2616
- # for example `organizations/433245324/deidentifyTemplates/432452342` or
2772
+ # Required. Resource name of the organization and deidentify template to be
2773
+ # deleted, for example
2774
+ # `organizations/433245324/deidentifyTemplates/432452342` or
2617
2775
  # projects/project-id/deidentifyTemplates/432452342.
2618
2776
  class DeleteDeidentifyTemplateRequest; end
2619
2777
 
@@ -2655,6 +2813,12 @@ module Google
2655
2813
  # @!attribute [rw] large_custom_dictionary
2656
2814
  # @return [Google::Privacy::Dlp::V2::LargeCustomDictionaryConfig]
2657
2815
  # StoredInfoType where findings are defined by a dictionary of phrases.
2816
+ # @!attribute [rw] dictionary
2817
+ # @return [Google::Privacy::Dlp::V2::CustomInfoType::Dictionary]
2818
+ # Store dictionary-based CustomInfoType.
2819
+ # @!attribute [rw] regex
2820
+ # @return [Google::Privacy::Dlp::V2::CustomInfoType::Regex]
2821
+ # Store regular expression-based StoredInfoType.
2658
2822
  class StoredInfoTypeConfig; end
2659
2823
 
2660
2824
  # Statistics for a StoredInfoType.
@@ -2733,8 +2897,8 @@ module Google
2733
2897
  # Request message for UpdateStoredInfoType.
2734
2898
  # @!attribute [rw] name
2735
2899
  # @return [String]
2736
- # Required. Resource name of organization and storedInfoType to be updated, for
2737
- # example `organizations/433245324/storedInfoTypes/432452342` or
2900
+ # Required. Resource name of organization and storedInfoType to be updated,
2901
+ # for example `organizations/433245324/storedInfoTypes/432452342` or
2738
2902
  # projects/project-id/storedInfoTypes/432452342.
2739
2903
  # @!attribute [rw] config
2740
2904
  # @return [Google::Privacy::Dlp::V2::StoredInfoTypeConfig]
@@ -2749,8 +2913,8 @@ module Google
2749
2913
  # Request message for GetStoredInfoType.
2750
2914
  # @!attribute [rw] name
2751
2915
  # @return [String]
2752
- # Required. Resource name of the organization and storedInfoType to be read, for
2753
- # example `organizations/433245324/storedInfoTypes/432452342` or
2916
+ # Required. Resource name of the organization and storedInfoType to be read,
2917
+ # for example `organizations/433245324/storedInfoTypes/432452342` or
2754
2918
  # projects/project-id/storedInfoTypes/432452342.
2755
2919
  class GetStoredInfoTypeRequest; end
2756
2920
 
@@ -2802,11 +2966,85 @@ module Google
2802
2966
  # Request message for DeleteStoredInfoType.
2803
2967
  # @!attribute [rw] name
2804
2968
  # @return [String]
2805
- # Required. Resource name of the organization and storedInfoType to be deleted, for
2806
- # example `organizations/433245324/storedInfoTypes/432452342` or
2969
+ # Required. Resource name of the organization and storedInfoType to be
2970
+ # deleted, for example `organizations/433245324/storedInfoTypes/432452342` or
2807
2971
  # projects/project-id/storedInfoTypes/432452342.
2808
2972
  class DeleteStoredInfoTypeRequest; end
2809
2973
 
2974
+ # Request to search for potentially sensitive info in a custom location.
2975
+ # @!attribute [rw] name
2976
+ # @return [String]
2977
+ # Required. Resource name of the trigger to execute a hybrid inspect on, for
2978
+ # example `projects/dlp-test-project/jobTriggers/53234423`.
2979
+ # @!attribute [rw] hybrid_item
2980
+ # @return [Google::Privacy::Dlp::V2::HybridContentItem]
2981
+ # The item to inspect.
2982
+ class HybridInspectJobTriggerRequest; end
2983
+
2984
+ # Request to search for potentially sensitive info in a custom location.
2985
+ # @!attribute [rw] name
2986
+ # @return [String]
2987
+ # Required. Resource name of the job to execute a hybrid inspect on, for
2988
+ # example `projects/dlp-test-project/dlpJob/53234423`.
2989
+ # @!attribute [rw] hybrid_item
2990
+ # @return [Google::Privacy::Dlp::V2::HybridContentItem]
2991
+ # The item to inspect.
2992
+ class HybridInspectDlpJobRequest; end
2993
+
2994
+ # An individual hybrid item to inspect. Will be stored temporarily during
2995
+ # processing.
2996
+ # @!attribute [rw] item
2997
+ # @return [Google::Privacy::Dlp::V2::ContentItem]
2998
+ # The item to inspect.
2999
+ # @!attribute [rw] finding_details
3000
+ # @return [Google::Privacy::Dlp::V2::HybridFindingDetails]
3001
+ # Supplementary information that will be added to each finding.
3002
+ class HybridContentItem; end
3003
+
3004
+ # Populate to associate additional data with each finding.
3005
+ # @!attribute [rw] container_details
3006
+ # @return [Google::Privacy::Dlp::V2::Container]
3007
+ # Details about the container where the content being inspected is from.
3008
+ # @!attribute [rw] file_offset
3009
+ # @return [Integer]
3010
+ # Offset in bytes of the line, from the beginning of the file, where the
3011
+ # finding is located. Populate if the item being scanned is only part of a
3012
+ # bigger item, such as a shard of a file and you want to track the absolute
3013
+ # position of the finding.
3014
+ # @!attribute [rw] row_offset
3015
+ # @return [Integer]
3016
+ # Offset of the row for tables. Populate if the row(s) being scanned are
3017
+ # part of a bigger dataset and you want to keep track of their absolute
3018
+ # position.
3019
+ # @!attribute [rw] table_options
3020
+ # @return [Google::Privacy::Dlp::V2::TableOptions]
3021
+ # If the container is a table, additional information to make findings
3022
+ # meaningful such as the columns that are primary keys. If not known ahead
3023
+ # of time, can also be set within each inspect hybrid call and the two
3024
+ # will be merged. Note that identifying_fields will only be stored to
3025
+ # BigQuery, and only if the BigQuery action has been included.
3026
+ # @!attribute [rw] labels
3027
+ # @return [Hash{String => String}]
3028
+ # Labels to represent user provided metadata about the data being inspected.
3029
+ # If configured by the job, some key values may be required.
3030
+ # The labels associated with `Finding`'s produced by hybrid
3031
+ # inspection.
3032
+ #
3033
+ # Label keys must be between 1 and 63 characters long and must conform
3034
+ # to the following regular expression: \[a-z\](https://cloud.google.com\[-a-z0-9\]*\[a-z0-9\])?.
3035
+ #
3036
+ # Label values must be between 0 and 63 characters long and must conform
3037
+ # to the regular expression (\[a-z\](https://cloud.google.com\[-a-z0-9\]*\[a-z0-9\])?)?.
3038
+ #
3039
+ # No more than 10 labels can be associated with a given finding.
3040
+ #
3041
+ # Example: <code>"environment" : "production"</code>
3042
+ # Example: <code>"pipeline" : "etl"</code>
3043
+ class HybridFindingDetails; end
3044
+
3045
+ # Quota exceeded errors will be thrown once quota has been met.
3046
+ class HybridInspectResponse; end
3047
+
2810
3048
  # Options describing which parts of the provided content should be scanned.
2811
3049
  module ContentOption
2812
3050
  # Includes entire content of a file or a data stream.