google-cloud-dataplex-v1 0.19.0 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
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