google-cloud-dataplex-v1 0.19.0 → 0.20.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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +4 -4
  3. data/README.md +3 -3
  4. data/lib/google/cloud/dataplex/v1/bindings_override.rb +1 -1
  5. data/lib/google/cloud/dataplex/v1/catalog_pb.rb +101 -0
  6. data/lib/google/cloud/dataplex/v1/catalog_service/client.rb +2795 -0
  7. data/lib/google/cloud/dataplex/v1/catalog_service/credentials.rb +47 -0
  8. data/lib/google/cloud/dataplex/v1/catalog_service/operations.rb +801 -0
  9. data/lib/google/cloud/dataplex/v1/catalog_service/paths.rb +128 -0
  10. data/lib/google/cloud/dataplex/v1/catalog_service/rest/client.rb +2620 -0
  11. data/lib/google/cloud/dataplex/v1/catalog_service/rest/operations.rb +895 -0
  12. data/lib/google/cloud/dataplex/v1/catalog_service/rest/service_stub.rb +1375 -0
  13. data/lib/google/cloud/dataplex/v1/catalog_service/rest.rb +58 -0
  14. data/lib/google/cloud/dataplex/v1/catalog_service.rb +60 -0
  15. data/lib/google/cloud/dataplex/v1/catalog_services_pb.rb +91 -0
  16. data/lib/google/cloud/dataplex/v1/data_quality_pb.rb +6 -1
  17. data/lib/google/cloud/dataplex/v1/data_scan_service/client.rb +95 -0
  18. data/lib/google/cloud/dataplex/v1/data_scan_service/rest/client.rb +88 -0
  19. data/lib/google/cloud/dataplex/v1/data_scan_service/rest/service_stub.rb +68 -0
  20. data/lib/google/cloud/dataplex/v1/datascans_pb.rb +4 -2
  21. data/lib/google/cloud/dataplex/v1/datascans_services_pb.rb +2 -0
  22. data/lib/google/cloud/dataplex/v1/rest.rb +3 -2
  23. data/lib/google/cloud/dataplex/v1/version.rb +1 -1
  24. data/lib/google/cloud/dataplex/v1.rb +4 -3
  25. data/proto_docs/google/api/client.rb +4 -0
  26. data/proto_docs/google/cloud/dataplex/v1/catalog.rb +1115 -0
  27. data/proto_docs/google/cloud/dataplex/v1/data_quality.rb +57 -0
  28. data/proto_docs/google/cloud/dataplex/v1/datascans.rb +21 -0
  29. data/proto_docs/google/protobuf/struct.rb +96 -0
  30. metadata +15 -2
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/rest"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/dataplex/v1/version"
24
+ require "google/cloud/dataplex/v1/bindings_override"
25
+
26
+ require "google/cloud/dataplex/v1/catalog_service/credentials"
27
+ require "google/cloud/dataplex/v1/catalog_service/paths"
28
+ require "google/cloud/dataplex/v1/catalog_service/rest/operations"
29
+ require "google/cloud/dataplex/v1/catalog_service/rest/client"
30
+
31
+ module Google
32
+ module Cloud
33
+ module Dataplex
34
+ module V1
35
+ ##
36
+ # The primary resources offered by this service are EntryGroups, EntryTypes,
37
+ # AspectTypes, Entry and Aspect which collectively allow a data administrator
38
+ # to organize, manage, secure and catalog data across their organization
39
+ # located across cloud projects in a variety of storage systems including Cloud
40
+ # Storage and BigQuery.
41
+ #
42
+ # To load this service and instantiate a REST client:
43
+ #
44
+ # require "google/cloud/dataplex/v1/catalog_service/rest"
45
+ # client = ::Google::Cloud::Dataplex::V1::CatalogService::Rest::Client.new
46
+ #
47
+ module CatalogService
48
+ # Client for the REST transport
49
+ module Rest
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+
57
+ helper_path = ::File.join __dir__, "rest", "helpers.rb"
58
+ require "google/cloud/dataplex/v1/catalog_service/rest/helpers" if ::File.file? helper_path
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "gapic/common"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/dataplex/v1/version"
24
+
25
+ require "google/cloud/dataplex/v1/catalog_service/credentials"
26
+ require "google/cloud/dataplex/v1/catalog_service/paths"
27
+ require "google/cloud/dataplex/v1/catalog_service/operations"
28
+ require "google/cloud/dataplex/v1/catalog_service/client"
29
+ require "google/cloud/dataplex/v1/catalog_service/rest"
30
+
31
+ module Google
32
+ module Cloud
33
+ module Dataplex
34
+ module V1
35
+ ##
36
+ # The primary resources offered by this service are EntryGroups, EntryTypes,
37
+ # AspectTypes, Entry and Aspect which collectively allow a data administrator
38
+ # to organize, manage, secure and catalog data across their organization
39
+ # located across cloud projects in a variety of storage systems including Cloud
40
+ # Storage and BigQuery.
41
+ #
42
+ # @example Load this service and instantiate a gRPC client
43
+ #
44
+ # require "google/cloud/dataplex/v1/catalog_service"
45
+ # client = ::Google::Cloud::Dataplex::V1::CatalogService::Client.new
46
+ #
47
+ # @example Load this service and instantiate a REST client
48
+ #
49
+ # require "google/cloud/dataplex/v1/catalog_service/rest"
50
+ # client = ::Google::Cloud::Dataplex::V1::CatalogService::Rest::Client.new
51
+ #
52
+ module CatalogService
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
58
+
59
+ helper_path = ::File.join __dir__, "catalog_service", "helpers.rb"
60
+ require "google/cloud/dataplex/v1/catalog_service/helpers" if ::File.file? helper_path
@@ -0,0 +1,91 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/dataplex/v1/catalog.proto for package 'Google.Cloud.Dataplex.V1'
3
+ # Original file comments:
4
+ # Copyright 2024 Google LLC
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'grpc'
20
+ require 'google/cloud/dataplex/v1/catalog_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module Dataplex
25
+ module V1
26
+ module CatalogService
27
+ # The primary resources offered by this service are EntryGroups, EntryTypes,
28
+ # AspectTypes, Entry and Aspect which collectively allow a data administrator
29
+ # to organize, manage, secure and catalog data across their organization
30
+ # located across cloud projects in a variety of storage systems including Cloud
31
+ # Storage and BigQuery.
32
+ class Service
33
+
34
+ include ::GRPC::GenericService
35
+
36
+ self.marshal_class_method = :encode
37
+ self.unmarshal_class_method = :decode
38
+ self.service_name = 'google.cloud.dataplex.v1.CatalogService'
39
+
40
+ # Creates an EntryType
41
+ rpc :CreateEntryType, ::Google::Cloud::Dataplex::V1::CreateEntryTypeRequest, ::Google::Longrunning::Operation
42
+ # Updates a EntryType resource.
43
+ rpc :UpdateEntryType, ::Google::Cloud::Dataplex::V1::UpdateEntryTypeRequest, ::Google::Longrunning::Operation
44
+ # Deletes a EntryType resource.
45
+ rpc :DeleteEntryType, ::Google::Cloud::Dataplex::V1::DeleteEntryTypeRequest, ::Google::Longrunning::Operation
46
+ # Lists EntryType resources in a project and location.
47
+ rpc :ListEntryTypes, ::Google::Cloud::Dataplex::V1::ListEntryTypesRequest, ::Google::Cloud::Dataplex::V1::ListEntryTypesResponse
48
+ # Retrieves a EntryType resource.
49
+ rpc :GetEntryType, ::Google::Cloud::Dataplex::V1::GetEntryTypeRequest, ::Google::Cloud::Dataplex::V1::EntryType
50
+ # Creates an AspectType
51
+ rpc :CreateAspectType, ::Google::Cloud::Dataplex::V1::CreateAspectTypeRequest, ::Google::Longrunning::Operation
52
+ # Updates a AspectType resource.
53
+ rpc :UpdateAspectType, ::Google::Cloud::Dataplex::V1::UpdateAspectTypeRequest, ::Google::Longrunning::Operation
54
+ # Deletes a AspectType resource.
55
+ rpc :DeleteAspectType, ::Google::Cloud::Dataplex::V1::DeleteAspectTypeRequest, ::Google::Longrunning::Operation
56
+ # Lists AspectType resources in a project and location.
57
+ rpc :ListAspectTypes, ::Google::Cloud::Dataplex::V1::ListAspectTypesRequest, ::Google::Cloud::Dataplex::V1::ListAspectTypesResponse
58
+ # Retrieves a AspectType resource.
59
+ rpc :GetAspectType, ::Google::Cloud::Dataplex::V1::GetAspectTypeRequest, ::Google::Cloud::Dataplex::V1::AspectType
60
+ # Creates an EntryGroup
61
+ rpc :CreateEntryGroup, ::Google::Cloud::Dataplex::V1::CreateEntryGroupRequest, ::Google::Longrunning::Operation
62
+ # Updates a EntryGroup resource.
63
+ rpc :UpdateEntryGroup, ::Google::Cloud::Dataplex::V1::UpdateEntryGroupRequest, ::Google::Longrunning::Operation
64
+ # Deletes a EntryGroup resource.
65
+ rpc :DeleteEntryGroup, ::Google::Cloud::Dataplex::V1::DeleteEntryGroupRequest, ::Google::Longrunning::Operation
66
+ # Lists EntryGroup resources in a project and location.
67
+ rpc :ListEntryGroups, ::Google::Cloud::Dataplex::V1::ListEntryGroupsRequest, ::Google::Cloud::Dataplex::V1::ListEntryGroupsResponse
68
+ # Retrieves a EntryGroup resource.
69
+ rpc :GetEntryGroup, ::Google::Cloud::Dataplex::V1::GetEntryGroupRequest, ::Google::Cloud::Dataplex::V1::EntryGroup
70
+ # Creates an Entry.
71
+ rpc :CreateEntry, ::Google::Cloud::Dataplex::V1::CreateEntryRequest, ::Google::Cloud::Dataplex::V1::Entry
72
+ # Updates an Entry.
73
+ rpc :UpdateEntry, ::Google::Cloud::Dataplex::V1::UpdateEntryRequest, ::Google::Cloud::Dataplex::V1::Entry
74
+ # Deletes an Entry.
75
+ rpc :DeleteEntry, ::Google::Cloud::Dataplex::V1::DeleteEntryRequest, ::Google::Cloud::Dataplex::V1::Entry
76
+ # Lists entries within an entry group.
77
+ rpc :ListEntries, ::Google::Cloud::Dataplex::V1::ListEntriesRequest, ::Google::Cloud::Dataplex::V1::ListEntriesResponse
78
+ # Gets a single entry.
79
+ rpc :GetEntry, ::Google::Cloud::Dataplex::V1::GetEntryRequest, ::Google::Cloud::Dataplex::V1::Entry
80
+ # Looks up a single entry.
81
+ rpc :LookupEntry, ::Google::Cloud::Dataplex::V1::LookupEntryRequest, ::Google::Cloud::Dataplex::V1::Entry
82
+ # Searches for entries matching given query and scope.
83
+ rpc :SearchEntries, ::Google::Cloud::Dataplex::V1::SearchEntriesRequest, ::Google::Cloud::Dataplex::V1::SearchEntriesResponse
84
+ end
85
+
86
+ Stub = Service.rpc_stub_class
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -9,7 +9,7 @@ require 'google/api/resource_pb'
9
9
  require 'google/cloud/dataplex/v1/processing_pb'
10
10
 
11
11
 
12
- descriptor_data = "\n+google/cloud/dataplex/v1/data_quality.proto\x12\x18google.cloud.dataplex.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a)google/cloud/dataplex/v1/processing.proto\"\x8d\x03\n\x0f\x44\x61taQualitySpec\x12=\n\x05rules\x18\x01 \x03(\x0b\x32).google.cloud.dataplex.v1.DataQualityRuleB\x03\xe0\x41\x02\x12\x1d\n\x10sampling_percent\x18\x04 \x01(\x02\x42\x03\xe0\x41\x01\x12\x17\n\nrow_filter\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12Y\n\x11post_scan_actions\x18\x06 \x01(\x0b\x32\x39.google.cloud.dataplex.v1.DataQualitySpec.PostScanActionsB\x03\xe0\x41\x01\x1a\xa7\x01\n\x0fPostScanActions\x12\x66\n\x0f\x62igquery_export\x18\x01 \x01(\x0b\x32H.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.BigQueryExportB\x03\xe0\x41\x01\x1a,\n\x0e\x42igQueryExport\x12\x1a\n\rresults_table\x18\x01 \x01(\tB\x03\xe0\x41\x01\"\xd3\x06\n\x11\x44\x61taQualityResult\x12\x0e\n\x06passed\x18\x05 \x01(\x08\x12\x17\n\x05score\x18\t \x01(\x02\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x12H\n\ndimensions\x18\x02 \x03(\x0b\x32\x34.google.cloud.dataplex.v1.DataQualityDimensionResult\x12G\n\x07\x63olumns\x18\n \x03(\x0b\x32\x31.google.cloud.dataplex.v1.DataQualityColumnResultB\x03\xe0\x41\x03\x12>\n\x05rules\x18\x03 \x03(\x0b\x32/.google.cloud.dataplex.v1.DataQualityRuleResult\x12\x11\n\trow_count\x18\x04 \x01(\x03\x12;\n\x0cscanned_data\x18\x07 \x01(\x0b\x32%.google.cloud.dataplex.v1.ScannedData\x12h\n\x18post_scan_actions_result\x18\x08 \x01(\x0b\x32\x41.google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResultB\x03\xe0\x41\x03\x1a\xfd\x02\n\x15PostScanActionsResult\x12{\n\x16\x62igquery_export_result\x18\x01 \x01(\x0b\x32V.google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.BigQueryExportResultB\x03\xe0\x41\x03\x1a\xe6\x01\n\x14\x42igQueryExportResult\x12p\n\x05state\x18\x01 \x01(\x0e\x32\\.google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.BigQueryExportResult.StateB\x03\xe0\x41\x03\x12\x14\n\x07message\x18\x02 \x01(\tB\x03\xe0\x41\x03\"F\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x0b\n\x07SKIPPED\x10\x03\x42\x08\n\x06_score\"\xd3\x01\n\x15\x44\x61taQualityRuleResult\x12\x37\n\x04rule\x18\x01 \x01(\x0b\x32).google.cloud.dataplex.v1.DataQualityRule\x12\x0e\n\x06passed\x18\x07 \x01(\x08\x12\x17\n\x0f\x65valuated_count\x18\t \x01(\x03\x12\x14\n\x0cpassed_count\x18\x08 \x01(\x03\x12\x12\n\nnull_count\x18\x05 \x01(\x03\x12\x12\n\npass_ratio\x18\x06 \x01(\x01\x12\x1a\n\x12\x66\x61iling_rows_query\x18\n \x01(\t\"\x97\x01\n\x1a\x44\x61taQualityDimensionResult\x12\x46\n\tdimension\x18\x01 \x01(\x0b\x32..google.cloud.dataplex.v1.DataQualityDimensionB\x03\xe0\x41\x03\x12\x0e\n\x06passed\x18\x03 \x01(\x08\x12\x17\n\x05score\x18\x04 \x01(\x02\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x42\x08\n\x06_score\"$\n\x14\x44\x61taQualityDimension\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xf6\x0c\n\x0f\x44\x61taQualityRule\x12W\n\x11range_expectation\x18\x01 \x01(\x0b\x32:.google.cloud.dataplex.v1.DataQualityRule.RangeExpectationH\x00\x12\\\n\x14non_null_expectation\x18\x02 \x01(\x0b\x32<.google.cloud.dataplex.v1.DataQualityRule.NonNullExpectationH\x00\x12S\n\x0fset_expectation\x18\x03 \x01(\x0b\x32\x38.google.cloud.dataplex.v1.DataQualityRule.SetExpectationH\x00\x12W\n\x11regex_expectation\x18\x04 \x01(\x0b\x32:.google.cloud.dataplex.v1.DataQualityRule.RegexExpectationH\x00\x12\x61\n\x16uniqueness_expectation\x18\x64 \x01(\x0b\x32?.google.cloud.dataplex.v1.DataQualityRule.UniquenessExpectationH\x00\x12j\n\x1bstatistic_range_expectation\x18\x65 \x01(\x0b\x32\x43.google.cloud.dataplex.v1.DataQualityRule.StatisticRangeExpectationH\x00\x12g\n\x19row_condition_expectation\x18\xc8\x01 \x01(\x0b\x32\x41.google.cloud.dataplex.v1.DataQualityRule.RowConditionExpectationH\x00\x12k\n\x1btable_condition_expectation\x18\xc9\x01 \x01(\x0b\x32\x43.google.cloud.dataplex.v1.DataQualityRule.TableConditionExpectationH\x00\x12\x14\n\x06\x63olumn\x18\xf4\x03 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0bignore_null\x18\xf5\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x17\n\tdimension\x18\xf6\x03 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\tthreshold\x18\xf7\x03 \x01(\x01\x42\x03\xe0\x41\x01\x12\x12\n\x04name\x18\xf8\x03 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0b\x64\x65scription\x18\xf9\x03 \x01(\tB\x03\xe0\x41\x01\x1a\x84\x01\n\x10RangeExpectation\x12\x16\n\tmin_value\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tmax_value\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1f\n\x12strict_min_enabled\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1f\n\x12strict_max_enabled\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x1a\x14\n\x12NonNullExpectation\x1a%\n\x0eSetExpectation\x12\x13\n\x06values\x18\x01 \x03(\tB\x03\xe0\x41\x01\x1a&\n\x10RegexExpectation\x12\x12\n\x05regex\x18\x01 \x01(\tB\x03\xe0\x41\x01\x1a\x17\n\x15UniquenessExpectation\x1a\xc2\x02\n\x19StatisticRangeExpectation\x12k\n\tstatistic\x18\x01 \x01(\x0e\x32S.google.cloud.dataplex.v1.DataQualityRule.StatisticRangeExpectation.ColumnStatisticB\x03\xe0\x41\x01\x12\x16\n\tmin_value\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tmax_value\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1f\n\x12strict_min_enabled\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1f\n\x12strict_max_enabled\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"F\n\x0f\x43olumnStatistic\x12\x17\n\x13STATISTIC_UNDEFINED\x10\x00\x12\x08\n\x04MEAN\x10\x01\x12\x07\n\x03MIN\x10\x02\x12\x07\n\x03MAX\x10\x03\x1a\x36\n\x17RowConditionExpectation\x12\x1b\n\x0esql_expression\x18\x01 \x01(\tB\x03\xe0\x41\x01\x1a\x38\n\x19TableConditionExpectation\x12\x1b\n\x0esql_expression\x18\x01 \x01(\tB\x03\xe0\x41\x01\x42\x0b\n\trule_type\"Q\n\x17\x44\x61taQualityColumnResult\x12\x13\n\x06\x63olumn\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x17\n\x05score\x18\x02 \x01(\x02\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x42\x08\n\x06_scoreB\xc4\x01\n\x1c\x63om.google.cloud.dataplex.v1B\x10\x44\x61taQualityProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpb\xea\x41U\n\x1d\x62igquery.googleapis.com/Table\x12\x34projects/{project}/datasets/{dataset}/tables/{table}b\x06proto3"
12
+ descriptor_data = "\n+google/cloud/dataplex/v1/data_quality.proto\x12\x18google.cloud.dataplex.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a)google/cloud/dataplex/v1/processing.proto\"\xc0\x08\n\x0f\x44\x61taQualitySpec\x12=\n\x05rules\x18\x01 \x03(\x0b\x32).google.cloud.dataplex.v1.DataQualityRuleB\x03\xe0\x41\x02\x12\x1d\n\x10sampling_percent\x18\x04 \x01(\x02\x42\x03\xe0\x41\x01\x12\x17\n\nrow_filter\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12Y\n\x11post_scan_actions\x18\x06 \x01(\x0b\x32\x39.google.cloud.dataplex.v1.DataQualitySpec.PostScanActionsB\x03\xe0\x41\x01\x1a\xda\x06\n\x0fPostScanActions\x12\x66\n\x0f\x62igquery_export\x18\x01 \x01(\x0b\x32H.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.BigQueryExportB\x03\xe0\x41\x01\x12n\n\x13notification_report\x18\x02 \x01(\x0b\x32L.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.NotificationReportB\x03\xe0\x41\x01\x1a,\n\x0e\x42igQueryExport\x12\x1a\n\rresults_table\x18\x01 \x01(\tB\x03\xe0\x41\x01\x1a!\n\nRecipients\x12\x13\n\x06\x65mails\x18\x01 \x03(\tB\x03\xe0\x41\x01\x1a\x35\n\x15ScoreThresholdTrigger\x12\x1c\n\x0fscore_threshold\x18\x02 \x01(\x02\x42\x03\xe0\x41\x01\x1a\x13\n\x11JobFailureTrigger\x1a\x0f\n\rJobEndTrigger\x1a\xc0\x03\n\x12NotificationReport\x12]\n\nrecipients\x18\x01 \x01(\x0b\x32\x44.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.RecipientsB\x03\xe0\x41\x02\x12u\n\x17score_threshold_trigger\x18\x02 \x01(\x0b\x32O.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.ScoreThresholdTriggerB\x03\xe0\x41\x01\x12m\n\x13job_failure_trigger\x18\x04 \x01(\x0b\x32K.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.JobFailureTriggerB\x03\xe0\x41\x01\x12\x65\n\x0fjob_end_trigger\x18\x05 \x01(\x0b\x32G.google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.JobEndTriggerB\x03\xe0\x41\x01\"\xd3\x06\n\x11\x44\x61taQualityResult\x12\x0e\n\x06passed\x18\x05 \x01(\x08\x12\x17\n\x05score\x18\t \x01(\x02\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x12H\n\ndimensions\x18\x02 \x03(\x0b\x32\x34.google.cloud.dataplex.v1.DataQualityDimensionResult\x12G\n\x07\x63olumns\x18\n \x03(\x0b\x32\x31.google.cloud.dataplex.v1.DataQualityColumnResultB\x03\xe0\x41\x03\x12>\n\x05rules\x18\x03 \x03(\x0b\x32/.google.cloud.dataplex.v1.DataQualityRuleResult\x12\x11\n\trow_count\x18\x04 \x01(\x03\x12;\n\x0cscanned_data\x18\x07 \x01(\x0b\x32%.google.cloud.dataplex.v1.ScannedData\x12h\n\x18post_scan_actions_result\x18\x08 \x01(\x0b\x32\x41.google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResultB\x03\xe0\x41\x03\x1a\xfd\x02\n\x15PostScanActionsResult\x12{\n\x16\x62igquery_export_result\x18\x01 \x01(\x0b\x32V.google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.BigQueryExportResultB\x03\xe0\x41\x03\x1a\xe6\x01\n\x14\x42igQueryExportResult\x12p\n\x05state\x18\x01 \x01(\x0e\x32\\.google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.BigQueryExportResult.StateB\x03\xe0\x41\x03\x12\x14\n\x07message\x18\x02 \x01(\tB\x03\xe0\x41\x03\"F\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x0b\n\x07SKIPPED\x10\x03\x42\x08\n\x06_score\"\xd3\x01\n\x15\x44\x61taQualityRuleResult\x12\x37\n\x04rule\x18\x01 \x01(\x0b\x32).google.cloud.dataplex.v1.DataQualityRule\x12\x0e\n\x06passed\x18\x07 \x01(\x08\x12\x17\n\x0f\x65valuated_count\x18\t \x01(\x03\x12\x14\n\x0cpassed_count\x18\x08 \x01(\x03\x12\x12\n\nnull_count\x18\x05 \x01(\x03\x12\x12\n\npass_ratio\x18\x06 \x01(\x01\x12\x1a\n\x12\x66\x61iling_rows_query\x18\n \x01(\t\"\x97\x01\n\x1a\x44\x61taQualityDimensionResult\x12\x46\n\tdimension\x18\x01 \x01(\x0b\x32..google.cloud.dataplex.v1.DataQualityDimensionB\x03\xe0\x41\x03\x12\x0e\n\x06passed\x18\x03 \x01(\x08\x12\x17\n\x05score\x18\x04 \x01(\x02\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x42\x08\n\x06_score\"$\n\x14\x44\x61taQualityDimension\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xf6\x0c\n\x0f\x44\x61taQualityRule\x12W\n\x11range_expectation\x18\x01 \x01(\x0b\x32:.google.cloud.dataplex.v1.DataQualityRule.RangeExpectationH\x00\x12\\\n\x14non_null_expectation\x18\x02 \x01(\x0b\x32<.google.cloud.dataplex.v1.DataQualityRule.NonNullExpectationH\x00\x12S\n\x0fset_expectation\x18\x03 \x01(\x0b\x32\x38.google.cloud.dataplex.v1.DataQualityRule.SetExpectationH\x00\x12W\n\x11regex_expectation\x18\x04 \x01(\x0b\x32:.google.cloud.dataplex.v1.DataQualityRule.RegexExpectationH\x00\x12\x61\n\x16uniqueness_expectation\x18\x64 \x01(\x0b\x32?.google.cloud.dataplex.v1.DataQualityRule.UniquenessExpectationH\x00\x12j\n\x1bstatistic_range_expectation\x18\x65 \x01(\x0b\x32\x43.google.cloud.dataplex.v1.DataQualityRule.StatisticRangeExpectationH\x00\x12g\n\x19row_condition_expectation\x18\xc8\x01 \x01(\x0b\x32\x41.google.cloud.dataplex.v1.DataQualityRule.RowConditionExpectationH\x00\x12k\n\x1btable_condition_expectation\x18\xc9\x01 \x01(\x0b\x32\x43.google.cloud.dataplex.v1.DataQualityRule.TableConditionExpectationH\x00\x12\x14\n\x06\x63olumn\x18\xf4\x03 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0bignore_null\x18\xf5\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x17\n\tdimension\x18\xf6\x03 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\tthreshold\x18\xf7\x03 \x01(\x01\x42\x03\xe0\x41\x01\x12\x12\n\x04name\x18\xf8\x03 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0b\x64\x65scription\x18\xf9\x03 \x01(\tB\x03\xe0\x41\x01\x1a\x84\x01\n\x10RangeExpectation\x12\x16\n\tmin_value\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tmax_value\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1f\n\x12strict_min_enabled\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1f\n\x12strict_max_enabled\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x1a\x14\n\x12NonNullExpectation\x1a%\n\x0eSetExpectation\x12\x13\n\x06values\x18\x01 \x03(\tB\x03\xe0\x41\x01\x1a&\n\x10RegexExpectation\x12\x12\n\x05regex\x18\x01 \x01(\tB\x03\xe0\x41\x01\x1a\x17\n\x15UniquenessExpectation\x1a\xc2\x02\n\x19StatisticRangeExpectation\x12k\n\tstatistic\x18\x01 \x01(\x0e\x32S.google.cloud.dataplex.v1.DataQualityRule.StatisticRangeExpectation.ColumnStatisticB\x03\xe0\x41\x01\x12\x16\n\tmin_value\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x16\n\tmax_value\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1f\n\x12strict_min_enabled\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1f\n\x12strict_max_enabled\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01\"F\n\x0f\x43olumnStatistic\x12\x17\n\x13STATISTIC_UNDEFINED\x10\x00\x12\x08\n\x04MEAN\x10\x01\x12\x07\n\x03MIN\x10\x02\x12\x07\n\x03MAX\x10\x03\x1a\x36\n\x17RowConditionExpectation\x12\x1b\n\x0esql_expression\x18\x01 \x01(\tB\x03\xe0\x41\x01\x1a\x38\n\x19TableConditionExpectation\x12\x1b\n\x0esql_expression\x18\x01 \x01(\tB\x03\xe0\x41\x01\x42\x0b\n\trule_type\"Q\n\x17\x44\x61taQualityColumnResult\x12\x13\n\x06\x63olumn\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x17\n\x05score\x18\x02 \x01(\x02\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x42\x08\n\x06_scoreB\xc4\x01\n\x1c\x63om.google.cloud.dataplex.v1B\x10\x44\x61taQualityProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpb\xea\x41U\n\x1d\x62igquery.googleapis.com/Table\x12\x34projects/{project}/datasets/{dataset}/tables/{table}b\x06proto3"
13
13
 
14
14
  pool = Google::Protobuf::DescriptorPool.generated_pool
15
15
 
@@ -43,6 +43,11 @@ module Google
43
43
  DataQualitySpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DataQualitySpec").msgclass
44
44
  DataQualitySpec::PostScanActions = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DataQualitySpec.PostScanActions").msgclass
45
45
  DataQualitySpec::PostScanActions::BigQueryExport = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.BigQueryExport").msgclass
46
+ DataQualitySpec::PostScanActions::Recipients = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.Recipients").msgclass
47
+ DataQualitySpec::PostScanActions::ScoreThresholdTrigger = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.ScoreThresholdTrigger").msgclass
48
+ DataQualitySpec::PostScanActions::JobFailureTrigger = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.JobFailureTrigger").msgclass
49
+ DataQualitySpec::PostScanActions::JobEndTrigger = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.JobEndTrigger").msgclass
50
+ DataQualitySpec::PostScanActions::NotificationReport = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DataQualitySpec.PostScanActions.NotificationReport").msgclass
46
51
  DataQualityResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DataQualityResult").msgclass
47
52
  DataQualityResult::PostScanActionsResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult").msgclass
48
53
  DataQualityResult::PostScanActionsResult::BigQueryExportResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DataQualityResult.PostScanActionsResult.BigQueryExportResult").msgclass
@@ -1009,6 +1009,94 @@ module Google
1009
1009
  raise ::Google::Cloud::Error.from_error(e)
1010
1010
  end
1011
1011
 
1012
+ ##
1013
+ # Generates recommended DataQualityRule from a data profiling DataScan.
1014
+ #
1015
+ # @overload generate_data_quality_rules(request, options = nil)
1016
+ # Pass arguments to `generate_data_quality_rules` via a request object, either of type
1017
+ # {::Google::Cloud::Dataplex::V1::GenerateDataQualityRulesRequest} or an equivalent Hash.
1018
+ #
1019
+ # @param request [::Google::Cloud::Dataplex::V1::GenerateDataQualityRulesRequest, ::Hash]
1020
+ # A request object representing the call parameters. Required. To specify no
1021
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
1022
+ # @param options [::Gapic::CallOptions, ::Hash]
1023
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1024
+ #
1025
+ # @overload generate_data_quality_rules(name: nil)
1026
+ # Pass arguments to `generate_data_quality_rules` via keyword arguments. Note that at
1027
+ # least one keyword argument is required. To specify no parameters, or to keep all
1028
+ # the default parameter values, pass an empty Hash as a request object (see above).
1029
+ #
1030
+ # @param name [::String]
1031
+ # Required. The name should be either
1032
+ # * the name of a datascan with at least one successful completed data
1033
+ # profiling job, or
1034
+ # * the name of a successful completed data profiling datascan job.
1035
+ #
1036
+ # @yield [response, operation] Access the result along with the RPC operation
1037
+ # @yieldparam response [::Google::Cloud::Dataplex::V1::GenerateDataQualityRulesResponse]
1038
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
1039
+ #
1040
+ # @return [::Google::Cloud::Dataplex::V1::GenerateDataQualityRulesResponse]
1041
+ #
1042
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
1043
+ #
1044
+ # @example Basic example
1045
+ # require "google/cloud/dataplex/v1"
1046
+ #
1047
+ # # Create a client object. The client can be reused for multiple calls.
1048
+ # client = Google::Cloud::Dataplex::V1::DataScanService::Client.new
1049
+ #
1050
+ # # Create a request. To set request fields, pass in keyword arguments.
1051
+ # request = Google::Cloud::Dataplex::V1::GenerateDataQualityRulesRequest.new
1052
+ #
1053
+ # # Call the generate_data_quality_rules method.
1054
+ # result = client.generate_data_quality_rules request
1055
+ #
1056
+ # # The returned object is of type Google::Cloud::Dataplex::V1::GenerateDataQualityRulesResponse.
1057
+ # p result
1058
+ #
1059
+ def generate_data_quality_rules request, options = nil
1060
+ raise ::ArgumentError, "request must be provided" if request.nil?
1061
+
1062
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dataplex::V1::GenerateDataQualityRulesRequest
1063
+
1064
+ # Converts hash and nil to an options object
1065
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1066
+
1067
+ # Customize the options with defaults
1068
+ metadata = @config.rpcs.generate_data_quality_rules.metadata.to_h
1069
+
1070
+ # Set x-goog-api-client and x-goog-user-project headers
1071
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1072
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1073
+ gapic_version: ::Google::Cloud::Dataplex::V1::VERSION
1074
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1075
+
1076
+ header_params = {}
1077
+ if request.name
1078
+ header_params["name"] = request.name
1079
+ end
1080
+
1081
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
1082
+ metadata[:"x-goog-request-params"] ||= request_params_header
1083
+
1084
+ options.apply_defaults timeout: @config.rpcs.generate_data_quality_rules.timeout,
1085
+ metadata: metadata,
1086
+ retry_policy: @config.rpcs.generate_data_quality_rules.retry_policy
1087
+
1088
+ options.apply_defaults timeout: @config.timeout,
1089
+ metadata: @config.metadata,
1090
+ retry_policy: @config.retry_policy
1091
+
1092
+ @data_scan_service_stub.call_rpc :generate_data_quality_rules, request, options: options do |response, operation|
1093
+ yield response, operation if block_given?
1094
+ return response
1095
+ end
1096
+ rescue ::GRPC::BadStatus => e
1097
+ raise ::Google::Cloud::Error.from_error(e)
1098
+ end
1099
+
1012
1100
  ##
1013
1101
  # Configuration class for the DataScanService API.
1014
1102
  #
@@ -1202,6 +1290,11 @@ module Google
1202
1290
  # @return [::Gapic::Config::Method]
1203
1291
  #
1204
1292
  attr_reader :list_data_scan_jobs
1293
+ ##
1294
+ # RPC-specific configuration for `generate_data_quality_rules`
1295
+ # @return [::Gapic::Config::Method]
1296
+ #
1297
+ attr_reader :generate_data_quality_rules
1205
1298
 
1206
1299
  # @private
1207
1300
  def initialize parent_rpcs = nil
@@ -1221,6 +1314,8 @@ module Google
1221
1314
  @get_data_scan_job = ::Gapic::Config::Method.new get_data_scan_job_config
1222
1315
  list_data_scan_jobs_config = parent_rpcs.list_data_scan_jobs if parent_rpcs.respond_to? :list_data_scan_jobs
1223
1316
  @list_data_scan_jobs = ::Gapic::Config::Method.new list_data_scan_jobs_config
1317
+ generate_data_quality_rules_config = parent_rpcs.generate_data_quality_rules if parent_rpcs.respond_to? :generate_data_quality_rules
1318
+ @generate_data_quality_rules = ::Gapic::Config::Method.new generate_data_quality_rules_config
1224
1319
 
1225
1320
  yield self if block_given?
1226
1321
  end
@@ -947,6 +947,87 @@ module Google
947
947
  raise ::Google::Cloud::Error.from_error(e)
948
948
  end
949
949
 
950
+ ##
951
+ # Generates recommended DataQualityRule from a data profiling DataScan.
952
+ #
953
+ # @overload generate_data_quality_rules(request, options = nil)
954
+ # Pass arguments to `generate_data_quality_rules` via a request object, either of type
955
+ # {::Google::Cloud::Dataplex::V1::GenerateDataQualityRulesRequest} or an equivalent Hash.
956
+ #
957
+ # @param request [::Google::Cloud::Dataplex::V1::GenerateDataQualityRulesRequest, ::Hash]
958
+ # A request object representing the call parameters. Required. To specify no
959
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
960
+ # @param options [::Gapic::CallOptions, ::Hash]
961
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
962
+ #
963
+ # @overload generate_data_quality_rules(name: nil)
964
+ # Pass arguments to `generate_data_quality_rules` via keyword arguments. Note that at
965
+ # least one keyword argument is required. To specify no parameters, or to keep all
966
+ # the default parameter values, pass an empty Hash as a request object (see above).
967
+ #
968
+ # @param name [::String]
969
+ # Required. The name should be either
970
+ # * the name of a datascan with at least one successful completed data
971
+ # profiling job, or
972
+ # * the name of a successful completed data profiling datascan job.
973
+ # @yield [result, operation] Access the result along with the TransportOperation object
974
+ # @yieldparam result [::Google::Cloud::Dataplex::V1::GenerateDataQualityRulesResponse]
975
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
976
+ #
977
+ # @return [::Google::Cloud::Dataplex::V1::GenerateDataQualityRulesResponse]
978
+ #
979
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
980
+ #
981
+ # @example Basic example
982
+ # require "google/cloud/dataplex/v1"
983
+ #
984
+ # # Create a client object. The client can be reused for multiple calls.
985
+ # client = Google::Cloud::Dataplex::V1::DataScanService::Rest::Client.new
986
+ #
987
+ # # Create a request. To set request fields, pass in keyword arguments.
988
+ # request = Google::Cloud::Dataplex::V1::GenerateDataQualityRulesRequest.new
989
+ #
990
+ # # Call the generate_data_quality_rules method.
991
+ # result = client.generate_data_quality_rules request
992
+ #
993
+ # # The returned object is of type Google::Cloud::Dataplex::V1::GenerateDataQualityRulesResponse.
994
+ # p result
995
+ #
996
+ def generate_data_quality_rules request, options = nil
997
+ raise ::ArgumentError, "request must be provided" if request.nil?
998
+
999
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Dataplex::V1::GenerateDataQualityRulesRequest
1000
+
1001
+ # Converts hash and nil to an options object
1002
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
1003
+
1004
+ # Customize the options with defaults
1005
+ call_metadata = @config.rpcs.generate_data_quality_rules.metadata.to_h
1006
+
1007
+ # Set x-goog-api-client and x-goog-user-project headers
1008
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
1009
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
1010
+ gapic_version: ::Google::Cloud::Dataplex::V1::VERSION,
1011
+ transports_version_send: [:rest]
1012
+
1013
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
1014
+
1015
+ options.apply_defaults timeout: @config.rpcs.generate_data_quality_rules.timeout,
1016
+ metadata: call_metadata,
1017
+ retry_policy: @config.rpcs.generate_data_quality_rules.retry_policy
1018
+
1019
+ options.apply_defaults timeout: @config.timeout,
1020
+ metadata: @config.metadata,
1021
+ retry_policy: @config.retry_policy
1022
+
1023
+ @data_scan_service_stub.generate_data_quality_rules request, options do |result, operation|
1024
+ yield result, operation if block_given?
1025
+ return result
1026
+ end
1027
+ rescue ::Gapic::Rest::Error => e
1028
+ raise ::Google::Cloud::Error.from_error(e)
1029
+ end
1030
+
950
1031
  ##
951
1032
  # Configuration class for the DataScanService REST API.
952
1033
  #
@@ -1127,6 +1208,11 @@ module Google
1127
1208
  # @return [::Gapic::Config::Method]
1128
1209
  #
1129
1210
  attr_reader :list_data_scan_jobs
1211
+ ##
1212
+ # RPC-specific configuration for `generate_data_quality_rules`
1213
+ # @return [::Gapic::Config::Method]
1214
+ #
1215
+ attr_reader :generate_data_quality_rules
1130
1216
 
1131
1217
  # @private
1132
1218
  def initialize parent_rpcs = nil
@@ -1146,6 +1232,8 @@ module Google
1146
1232
  @get_data_scan_job = ::Gapic::Config::Method.new get_data_scan_job_config
1147
1233
  list_data_scan_jobs_config = parent_rpcs.list_data_scan_jobs if parent_rpcs.respond_to? :list_data_scan_jobs
1148
1234
  @list_data_scan_jobs = ::Gapic::Config::Method.new list_data_scan_jobs_config
1235
+ generate_data_quality_rules_config = parent_rpcs.generate_data_quality_rules if parent_rpcs.respond_to? :generate_data_quality_rules
1236
+ @generate_data_quality_rules = ::Gapic::Config::Method.new generate_data_quality_rules_config
1149
1237
 
1150
1238
  yield self if block_given?
1151
1239
  end
@@ -365,6 +365,44 @@ module Google
365
365
  result
366
366
  end
367
367
 
368
+ ##
369
+ # Baseline implementation for the generate_data_quality_rules REST call
370
+ #
371
+ # @param request_pb [::Google::Cloud::Dataplex::V1::GenerateDataQualityRulesRequest]
372
+ # A request object representing the call parameters. Required.
373
+ # @param options [::Gapic::CallOptions]
374
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
375
+ #
376
+ # @yield [result, operation] Access the result along with the TransportOperation object
377
+ # @yieldparam result [::Google::Cloud::Dataplex::V1::GenerateDataQualityRulesResponse]
378
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
379
+ #
380
+ # @return [::Google::Cloud::Dataplex::V1::GenerateDataQualityRulesResponse]
381
+ # A result object deserialized from the server's reply
382
+ def generate_data_quality_rules request_pb, options = nil
383
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
384
+
385
+ verb, uri, query_string_params, body = ServiceStub.transcode_generate_data_quality_rules_request request_pb
386
+ query_string_params = if query_string_params.any?
387
+ query_string_params.to_h { |p| p.split "=", 2 }
388
+ else
389
+ {}
390
+ end
391
+
392
+ response = @client_stub.make_http_request(
393
+ verb,
394
+ uri: uri,
395
+ body: body || "",
396
+ params: query_string_params,
397
+ options: options
398
+ )
399
+ operation = ::Gapic::Rest::TransportOperation.new response
400
+ result = ::Google::Cloud::Dataplex::V1::GenerateDataQualityRulesResponse.decode_json response.body, ignore_unknown_fields: true
401
+
402
+ yield result, operation if block_given?
403
+ result
404
+ end
405
+
368
406
  ##
369
407
  # @private
370
408
  #
@@ -535,6 +573,36 @@ module Google
535
573
  )
536
574
  transcoder.transcode request_pb
537
575
  end
576
+
577
+ ##
578
+ # @private
579
+ #
580
+ # GRPC transcoding helper method for the generate_data_quality_rules REST call
581
+ #
582
+ # @param request_pb [::Google::Cloud::Dataplex::V1::GenerateDataQualityRulesRequest]
583
+ # A request object representing the call parameters. Required.
584
+ # @return [Array(String, [String, nil], Hash{String => String})]
585
+ # Uri, Body, Query string parameters
586
+ def self.transcode_generate_data_quality_rules_request request_pb
587
+ transcoder = Gapic::Rest::GrpcTranscoder.new
588
+ .with_bindings(
589
+ uri_method: :post,
590
+ uri_template: "/v1/{name}:generateDataQualityRules",
591
+ body: "*",
592
+ matches: [
593
+ ["name", %r{^projects/[^/]+/locations/[^/]+/dataScans/[^/]+/?$}, false]
594
+ ]
595
+ )
596
+ .with_bindings(
597
+ uri_method: :post,
598
+ uri_template: "/v1/{name}:generateDataQualityRules",
599
+ body: "*",
600
+ matches: [
601
+ ["name", %r{^projects/[^/]+/locations/[^/]+/dataScans/[^/]+/jobs/[^/]+/?$}, false]
602
+ ]
603
+ )
604
+ transcoder.transcode request_pb
605
+ end
538
606
  end
539
607
  end
540
608
  end
@@ -19,7 +19,7 @@ require 'google/protobuf/field_mask_pb'
19
19
  require 'google/protobuf/timestamp_pb'
20
20
 
21
21
 
22
- descriptor_data = "\n(google/cloud/dataplex/v1/datascans.proto\x12\x18google.cloud.dataplex.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a+google/cloud/dataplex/v1/data_profile.proto\x1a+google/cloud/dataplex/v1/data_quality.proto\x1a)google/cloud/dataplex/v1/processing.proto\x1a(google/cloud/dataplex/v1/resources.proto\x1a&google/cloud/dataplex/v1/service.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc5\x01\n\x15\x43reateDataScanRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12:\n\tdata_scan\x18\x02 \x01(\x0b\x32\".google.cloud.dataplex.v1.DataScanB\x03\xe0\x41\x02\x12\x19\n\x0c\x64\x61ta_scan_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\"\xa5\x01\n\x15UpdateDataScanRequest\x12:\n\tdata_scan\x18\x01 \x01(\x0b\x32\".google.cloud.dataplex.v1.DataScanB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12\x1a\n\rvalidate_only\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"O\n\x15\x44\x65leteDataScanRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n dataplex.googleapis.com/DataScan\"\xdf\x01\n\x12GetDataScanRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n dataplex.googleapis.com/DataScan\x12L\n\x04view\x18\x02 \x01(\x0e\x32\x39.google.cloud.dataplex.v1.GetDataScanRequest.DataScanViewB\x03\xe0\x41\x01\"C\n\x0c\x44\x61taScanView\x12\x1e\n\x1a\x44\x41TA_SCAN_VIEW_UNSPECIFIED\x10\x00\x12\t\n\x05\x42\x41SIC\x10\x01\x12\x08\n\x04\x46ULL\x10\n\"\xae\x01\n\x14ListDataScansRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"}\n\x15ListDataScansResponse\x12\x36\n\ndata_scans\x18\x01 \x03(\x0b\x32\".google.cloud.dataplex.v1.DataScan\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"L\n\x12RunDataScanRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n dataplex.googleapis.com/DataScan\"I\n\x13RunDataScanResponse\x12\x32\n\x03job\x18\x01 \x01(\x0b\x32%.google.cloud.dataplex.v1.DataScanJob\"\xf2\x01\n\x15GetDataScanJobRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#dataplex.googleapis.com/DataScanJob\x12R\n\x04view\x18\x02 \x01(\x0e\x32?.google.cloud.dataplex.v1.GetDataScanJobRequest.DataScanJobViewB\x03\xe0\x41\x01\"J\n\x0f\x44\x61taScanJobView\x12\"\n\x1e\x44\x41TA_SCAN_JOB_VIEW_UNSPECIFIED\x10\x00\x12\t\n\x05\x42\x41SIC\x10\x01\x12\x08\n\x04\x46ULL\x10\n\"\x99\x01\n\x17ListDataScanJobsRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n dataplex.googleapis.com/DataScan\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\"r\n\x18ListDataScanJobsResponse\x12=\n\x0e\x64\x61ta_scan_jobs\x18\x01 \x03(\x0b\x32%.google.cloud.dataplex.v1.DataScanJob\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xb1\n\n\x08\x44\x61taScan\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0c\x64isplay_name\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x43\n\x06labels\x18\x05 \x03(\x0b\x32..google.cloud.dataplex.v1.DataScan.LabelsEntryB\x03\xe0\x41\x01\x12\x33\n\x05state\x18\x06 \x01(\x0e\x32\x1f.google.cloud.dataplex.v1.StateB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x37\n\x04\x64\x61ta\x18\t \x01(\x0b\x32$.google.cloud.dataplex.v1.DataSourceB\x03\xe0\x41\x02\x12M\n\x0e\x65xecution_spec\x18\n \x01(\x0b\x32\x30.google.cloud.dataplex.v1.DataScan.ExecutionSpecB\x03\xe0\x41\x01\x12Q\n\x10\x65xecution_status\x18\x0b \x01(\x0b\x32\x32.google.cloud.dataplex.v1.DataScan.ExecutionStatusB\x03\xe0\x41\x03\x12\x39\n\x04type\x18\x0c \x01(\x0e\x32&.google.cloud.dataplex.v1.DataScanTypeB\x03\xe0\x41\x03\x12\x46\n\x11\x64\x61ta_quality_spec\x18\x64 \x01(\x0b\x32).google.cloud.dataplex.v1.DataQualitySpecH\x00\x12\x46\n\x11\x64\x61ta_profile_spec\x18\x65 \x01(\x0b\x32).google.cloud.dataplex.v1.DataProfileSpecH\x00\x12P\n\x13\x64\x61ta_quality_result\x18\xc8\x01 \x01(\x0b\x32+.google.cloud.dataplex.v1.DataQualityResultB\x03\xe0\x41\x03H\x01\x12P\n\x13\x64\x61ta_profile_result\x18\xc9\x01 \x01(\x0b\x32+.google.cloud.dataplex.v1.DataProfileResultB\x03\xe0\x41\x03H\x01\x1am\n\rExecutionSpec\x12\x37\n\x07trigger\x18\x01 \x01(\x0b\x32!.google.cloud.dataplex.v1.TriggerB\x03\xe0\x41\x01\x12\x14\n\x05\x66ield\x18\x64 \x01(\tB\x03\xe0\x41\x05H\x00\x42\r\n\x0bincremental\x1a\x85\x01\n\x0f\x45xecutionStatus\x12\x39\n\x15latest_job_start_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x13latest_job_end_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:c\xea\x41`\n dataplex.googleapis.com/DataScan\x12<projects/{project}/locations/{location}/dataScans/{dataScan}B\x06\n\x04specB\x08\n\x06result\"\xe2\x06\n\x0b\x44\x61taScanJob\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x33\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12?\n\x05state\x18\x05 \x01(\x0e\x32+.google.cloud.dataplex.v1.DataScanJob.StateB\x03\xe0\x41\x03\x12\x14\n\x07message\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12\x39\n\x04type\x18\x07 \x01(\x0e\x32&.google.cloud.dataplex.v1.DataScanTypeB\x03\xe0\x41\x03\x12K\n\x11\x64\x61ta_quality_spec\x18\x64 \x01(\x0b\x32).google.cloud.dataplex.v1.DataQualitySpecB\x03\xe0\x41\x03H\x00\x12K\n\x11\x64\x61ta_profile_spec\x18\x65 \x01(\x0b\x32).google.cloud.dataplex.v1.DataProfileSpecB\x03\xe0\x41\x03H\x00\x12P\n\x13\x64\x61ta_quality_result\x18\xc8\x01 \x01(\x0b\x32+.google.cloud.dataplex.v1.DataQualityResultB\x03\xe0\x41\x03H\x01\x12P\n\x13\x64\x61ta_profile_result\x18\xc9\x01 \x01(\x0b\x32+.google.cloud.dataplex.v1.DataProfileResultB\x03\xe0\x41\x03H\x01\"q\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07RUNNING\x10\x01\x12\r\n\tCANCELING\x10\x02\x12\r\n\tCANCELLED\x10\x03\x12\r\n\tSUCCEEDED\x10\x04\x12\n\n\x06\x46\x41ILED\x10\x05\x12\x0b\n\x07PENDING\x10\x07:q\xea\x41n\n#dataplex.googleapis.com/DataScanJob\x12Gprojects/{project}/locations/{location}/dataScans/{dataScan}/jobs/{job}B\x06\n\x04specB\x08\n\x06result*R\n\x0c\x44\x61taScanType\x12\x1e\n\x1a\x44\x41TA_SCAN_TYPE_UNSPECIFIED\x10\x00\x12\x10\n\x0c\x44\x41TA_QUALITY\x10\x01\x12\x10\n\x0c\x44\x41TA_PROFILE\x10\x02\x32\xf2\x0c\n\x0f\x44\x61taScanService\x12\xe3\x01\n\x0e\x43reateDataScan\x12/.google.cloud.dataplex.v1.CreateDataScanRequest\x1a\x1d.google.longrunning.Operation\"\x80\x01\xca\x41\x1d\n\x08\x44\x61taScan\x12\x11OperationMetadata\xda\x41\x1dparent,data_scan,data_scan_id\x82\xd3\xe4\x93\x02:\"-/v1/{parent=projects/*/locations/*}/dataScans:\tdata_scan\x12\xe5\x01\n\x0eUpdateDataScan\x12/.google.cloud.dataplex.v1.UpdateDataScanRequest\x1a\x1d.google.longrunning.Operation\"\x82\x01\xca\x41\x1d\n\x08\x44\x61taScan\x12\x11OperationMetadata\xda\x41\x15\x64\x61ta_scan,update_mask\x82\xd3\xe4\x93\x02\x44\x32\x37/v1/{data_scan.name=projects/*/locations/*/dataScans/*}:\tdata_scan\x12\xcb\x01\n\x0e\x44\x65leteDataScan\x12/.google.cloud.dataplex.v1.DeleteDataScanRequest\x1a\x1d.google.longrunning.Operation\"i\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02/*-/v1/{name=projects/*/locations/*/dataScans/*}\x12\x9d\x01\n\x0bGetDataScan\x12,.google.cloud.dataplex.v1.GetDataScanRequest\x1a\".google.cloud.dataplex.v1.DataScan\"<\xda\x41\x04name\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/locations/*/dataScans/*}\x12\xb0\x01\n\rListDataScans\x12..google.cloud.dataplex.v1.ListDataScansRequest\x1a/.google.cloud.dataplex.v1.ListDataScansResponse\">\xda\x41\x06parent\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/locations/*}/dataScans\x12\xaf\x01\n\x0bRunDataScan\x12,.google.cloud.dataplex.v1.RunDataScanRequest\x1a-.google.cloud.dataplex.v1.RunDataScanResponse\"C\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36\"1/v1/{name=projects/*/locations/*/dataScans/*}:run:\x01*\x12\xad\x01\n\x0eGetDataScanJob\x12/.google.cloud.dataplex.v1.GetDataScanJobRequest\x1a%.google.cloud.dataplex.v1.DataScanJob\"C\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{name=projects/*/locations/*/dataScans/*/jobs/*}\x12\xc0\x01\n\x10ListDataScanJobs\x12\x31.google.cloud.dataplex.v1.ListDataScanJobsRequest\x1a\x32.google.cloud.dataplex.v1.ListDataScanJobsResponse\"E\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/locations/*/dataScans/*}/jobs\x1aK\xca\x41\x17\x64\x61taplex.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformBj\n\x1c\x63om.google.cloud.dataplex.v1B\x0e\x44\x61taScansProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3"
22
+ descriptor_data = "\n(google/cloud/dataplex/v1/datascans.proto\x12\x18google.cloud.dataplex.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a+google/cloud/dataplex/v1/data_profile.proto\x1a+google/cloud/dataplex/v1/data_quality.proto\x1a)google/cloud/dataplex/v1/processing.proto\x1a(google/cloud/dataplex/v1/resources.proto\x1a&google/cloud/dataplex/v1/service.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc5\x01\n\x15\x43reateDataScanRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12:\n\tdata_scan\x18\x02 \x01(\x0b\x32\".google.cloud.dataplex.v1.DataScanB\x03\xe0\x41\x02\x12\x19\n\x0c\x64\x61ta_scan_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\"\xa5\x01\n\x15UpdateDataScanRequest\x12:\n\tdata_scan\x18\x01 \x01(\x0b\x32\".google.cloud.dataplex.v1.DataScanB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12\x1a\n\rvalidate_only\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\"O\n\x15\x44\x65leteDataScanRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n dataplex.googleapis.com/DataScan\"\xdf\x01\n\x12GetDataScanRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n dataplex.googleapis.com/DataScan\x12L\n\x04view\x18\x02 \x01(\x0e\x32\x39.google.cloud.dataplex.v1.GetDataScanRequest.DataScanViewB\x03\xe0\x41\x01\"C\n\x0c\x44\x61taScanView\x12\x1e\n\x1a\x44\x41TA_SCAN_VIEW_UNSPECIFIED\x10\x00\x12\t\n\x05\x42\x41SIC\x10\x01\x12\x08\n\x04\x46ULL\x10\n\"\xae\x01\n\x14ListDataScansRequest\x12\x39\n\x06parent\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"}\n\x15ListDataScansResponse\x12\x36\n\ndata_scans\x18\x01 \x03(\x0b\x32\".google.cloud.dataplex.v1.DataScan\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"L\n\x12RunDataScanRequest\x12\x36\n\x04name\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n dataplex.googleapis.com/DataScan\"I\n\x13RunDataScanResponse\x12\x32\n\x03job\x18\x01 \x01(\x0b\x32%.google.cloud.dataplex.v1.DataScanJob\"\xf2\x01\n\x15GetDataScanJobRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#dataplex.googleapis.com/DataScanJob\x12R\n\x04view\x18\x02 \x01(\x0e\x32?.google.cloud.dataplex.v1.GetDataScanJobRequest.DataScanJobViewB\x03\xe0\x41\x01\"J\n\x0f\x44\x61taScanJobView\x12\"\n\x1e\x44\x41TA_SCAN_JOB_VIEW_UNSPECIFIED\x10\x00\x12\t\n\x05\x42\x41SIC\x10\x01\x12\x08\n\x04\x46ULL\x10\n\"\x99\x01\n\x17ListDataScanJobsRequest\x12\x38\n\x06parent\x18\x01 \x01(\tB(\xe0\x41\x02\xfa\x41\"\n dataplex.googleapis.com/DataScan\x12\x16\n\tpage_size\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\x12\x17\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01\"r\n\x18ListDataScanJobsResponse\x12=\n\x0e\x64\x61ta_scan_jobs\x18\x01 \x03(\x0b\x32%.google.cloud.dataplex.v1.DataScanJob\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"4\n\x1fGenerateDataQualityRulesRequest\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\"[\n GenerateDataQualityRulesResponse\x12\x37\n\x04rule\x18\x01 \x03(\x0b\x32).google.cloud.dataplex.v1.DataQualityRule\"\xb1\n\n\x08\x44\x61taScan\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0c\x64isplay_name\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x43\n\x06labels\x18\x05 \x03(\x0b\x32..google.cloud.dataplex.v1.DataScan.LabelsEntryB\x03\xe0\x41\x01\x12\x33\n\x05state\x18\x06 \x01(\x0e\x32\x1f.google.cloud.dataplex.v1.StateB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x37\n\x04\x64\x61ta\x18\t \x01(\x0b\x32$.google.cloud.dataplex.v1.DataSourceB\x03\xe0\x41\x02\x12M\n\x0e\x65xecution_spec\x18\n \x01(\x0b\x32\x30.google.cloud.dataplex.v1.DataScan.ExecutionSpecB\x03\xe0\x41\x01\x12Q\n\x10\x65xecution_status\x18\x0b \x01(\x0b\x32\x32.google.cloud.dataplex.v1.DataScan.ExecutionStatusB\x03\xe0\x41\x03\x12\x39\n\x04type\x18\x0c \x01(\x0e\x32&.google.cloud.dataplex.v1.DataScanTypeB\x03\xe0\x41\x03\x12\x46\n\x11\x64\x61ta_quality_spec\x18\x64 \x01(\x0b\x32).google.cloud.dataplex.v1.DataQualitySpecH\x00\x12\x46\n\x11\x64\x61ta_profile_spec\x18\x65 \x01(\x0b\x32).google.cloud.dataplex.v1.DataProfileSpecH\x00\x12P\n\x13\x64\x61ta_quality_result\x18\xc8\x01 \x01(\x0b\x32+.google.cloud.dataplex.v1.DataQualityResultB\x03\xe0\x41\x03H\x01\x12P\n\x13\x64\x61ta_profile_result\x18\xc9\x01 \x01(\x0b\x32+.google.cloud.dataplex.v1.DataProfileResultB\x03\xe0\x41\x03H\x01\x1am\n\rExecutionSpec\x12\x37\n\x07trigger\x18\x01 \x01(\x0b\x32!.google.cloud.dataplex.v1.TriggerB\x03\xe0\x41\x01\x12\x14\n\x05\x66ield\x18\x64 \x01(\tB\x03\xe0\x41\x05H\x00\x42\r\n\x0bincremental\x1a\x85\x01\n\x0f\x45xecutionStatus\x12\x39\n\x15latest_job_start_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x37\n\x13latest_job_end_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:c\xea\x41`\n dataplex.googleapis.com/DataScan\x12<projects/{project}/locations/{location}/dataScans/{dataScan}B\x06\n\x04specB\x08\n\x06result\"\xe2\x06\n\x0b\x44\x61taScanJob\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x10\n\x03uid\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x33\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12?\n\x05state\x18\x05 \x01(\x0e\x32+.google.cloud.dataplex.v1.DataScanJob.StateB\x03\xe0\x41\x03\x12\x14\n\x07message\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12\x39\n\x04type\x18\x07 \x01(\x0e\x32&.google.cloud.dataplex.v1.DataScanTypeB\x03\xe0\x41\x03\x12K\n\x11\x64\x61ta_quality_spec\x18\x64 \x01(\x0b\x32).google.cloud.dataplex.v1.DataQualitySpecB\x03\xe0\x41\x03H\x00\x12K\n\x11\x64\x61ta_profile_spec\x18\x65 \x01(\x0b\x32).google.cloud.dataplex.v1.DataProfileSpecB\x03\xe0\x41\x03H\x00\x12P\n\x13\x64\x61ta_quality_result\x18\xc8\x01 \x01(\x0b\x32+.google.cloud.dataplex.v1.DataQualityResultB\x03\xe0\x41\x03H\x01\x12P\n\x13\x64\x61ta_profile_result\x18\xc9\x01 \x01(\x0b\x32+.google.cloud.dataplex.v1.DataProfileResultB\x03\xe0\x41\x03H\x01\"q\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07RUNNING\x10\x01\x12\r\n\tCANCELING\x10\x02\x12\r\n\tCANCELLED\x10\x03\x12\r\n\tSUCCEEDED\x10\x04\x12\n\n\x06\x46\x41ILED\x10\x05\x12\x0b\n\x07PENDING\x10\x07:q\xea\x41n\n#dataplex.googleapis.com/DataScanJob\x12Gprojects/{project}/locations/{location}/dataScans/{dataScan}/jobs/{job}B\x06\n\x04specB\x08\n\x06result*R\n\x0c\x44\x61taScanType\x12\x1e\n\x1a\x44\x41TA_SCAN_TYPE_UNSPECIFIED\x10\x00\x12\x10\n\x0c\x44\x41TA_QUALITY\x10\x01\x12\x10\n\x0c\x44\x41TA_PROFILE\x10\x02\x32\xb6\x0f\n\x0f\x44\x61taScanService\x12\xe3\x01\n\x0e\x43reateDataScan\x12/.google.cloud.dataplex.v1.CreateDataScanRequest\x1a\x1d.google.longrunning.Operation\"\x80\x01\xca\x41\x1d\n\x08\x44\x61taScan\x12\x11OperationMetadata\xda\x41\x1dparent,data_scan,data_scan_id\x82\xd3\xe4\x93\x02:\"-/v1/{parent=projects/*/locations/*}/dataScans:\tdata_scan\x12\xe5\x01\n\x0eUpdateDataScan\x12/.google.cloud.dataplex.v1.UpdateDataScanRequest\x1a\x1d.google.longrunning.Operation\"\x82\x01\xca\x41\x1d\n\x08\x44\x61taScan\x12\x11OperationMetadata\xda\x41\x15\x64\x61ta_scan,update_mask\x82\xd3\xe4\x93\x02\x44\x32\x37/v1/{data_scan.name=projects/*/locations/*/dataScans/*}:\tdata_scan\x12\xcb\x01\n\x0e\x44\x65leteDataScan\x12/.google.cloud.dataplex.v1.DeleteDataScanRequest\x1a\x1d.google.longrunning.Operation\"i\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02/*-/v1/{name=projects/*/locations/*/dataScans/*}\x12\x9d\x01\n\x0bGetDataScan\x12,.google.cloud.dataplex.v1.GetDataScanRequest\x1a\".google.cloud.dataplex.v1.DataScan\"<\xda\x41\x04name\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/locations/*/dataScans/*}\x12\xb0\x01\n\rListDataScans\x12..google.cloud.dataplex.v1.ListDataScansRequest\x1a/.google.cloud.dataplex.v1.ListDataScansResponse\">\xda\x41\x06parent\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/locations/*}/dataScans\x12\xaf\x01\n\x0bRunDataScan\x12,.google.cloud.dataplex.v1.RunDataScanRequest\x1a-.google.cloud.dataplex.v1.RunDataScanResponse\"C\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36\"1/v1/{name=projects/*/locations/*/dataScans/*}:run:\x01*\x12\xad\x01\n\x0eGetDataScanJob\x12/.google.cloud.dataplex.v1.GetDataScanJobRequest\x1a%.google.cloud.dataplex.v1.DataScanJob\"C\xda\x41\x04name\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{name=projects/*/locations/*/dataScans/*/jobs/*}\x12\xc0\x01\n\x10ListDataScanJobs\x12\x31.google.cloud.dataplex.v1.ListDataScanJobsRequest\x1a\x32.google.cloud.dataplex.v1.ListDataScanJobsResponse\"E\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/locations/*/dataScans/*}/jobs\x12\xc1\x02\n\x18GenerateDataQualityRules\x12\x39.google.cloud.dataplex.v1.GenerateDataQualityRulesRequest\x1a:.google.cloud.dataplex.v1.GenerateDataQualityRulesResponse\"\xad\x01\xda\x41\x04name\x82\xd3\xe4\x93\x02\x9f\x01\"F/v1/{name=projects/*/locations/*/dataScans/*}:generateDataQualityRules:\x01*ZR\"M/v1/{name=projects/*/locations/*/dataScans/*/jobs/*}:generateDataQualityRules:\x01*\x1aK\xca\x41\x17\x64\x61taplex.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformBj\n\x1c\x63om.google.cloud.dataplex.v1B\x0e\x44\x61taScansProtoP\x01Z8cloud.google.com/go/dataplex/apiv1/dataplexpb;dataplexpbb\x06proto3"
23
23
 
24
24
  pool = Google::Protobuf::DescriptorPool.generated_pool
25
25
 
@@ -35,9 +35,9 @@ rescue TypeError
35
35
  warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
36
36
  imports = [
37
37
  ["google.protobuf.FieldMask", "google/protobuf/field_mask.proto"],
38
+ ["google.cloud.dataplex.v1.DataQualityRule", "google/cloud/dataplex/v1/data_quality.proto"],
38
39
  ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
39
40
  ["google.cloud.dataplex.v1.DataSource", "google/cloud/dataplex/v1/processing.proto"],
40
- ["google.cloud.dataplex.v1.DataQualitySpec", "google/cloud/dataplex/v1/data_quality.proto"],
41
41
  ["google.cloud.dataplex.v1.DataProfileSpec", "google/cloud/dataplex/v1/data_profile.proto"],
42
42
  ]
43
43
  imports.each do |type_name, expected_filename|
@@ -67,6 +67,8 @@ module Google
67
67
  GetDataScanJobRequest::DataScanJobView = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.GetDataScanJobRequest.DataScanJobView").enummodule
68
68
  ListDataScanJobsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.ListDataScanJobsRequest").msgclass
69
69
  ListDataScanJobsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.ListDataScanJobsResponse").msgclass
70
+ GenerateDataQualityRulesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.GenerateDataQualityRulesRequest").msgclass
71
+ GenerateDataQualityRulesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.GenerateDataQualityRulesResponse").msgclass
70
72
  DataScan = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DataScan").msgclass
71
73
  DataScan::ExecutionSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DataScan.ExecutionSpec").msgclass
72
74
  DataScan::ExecutionStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.dataplex.v1.DataScan.ExecutionStatus").msgclass