google-cloud-data_catalog-lineage-v1 0.4.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -36,6 +36,9 @@ module Google
36
36
  # example, when table data is based on data from multiple tables.
37
37
  #
38
38
  class Client
39
+ # @private
40
+ DEFAULT_ENDPOINT_TEMPLATE = "datalineage.$UNIVERSE_DOMAIN$"
41
+
39
42
  include Paths
40
43
 
41
44
  # @private
@@ -101,6 +104,15 @@ module Google
101
104
  @config
102
105
  end
103
106
 
107
+ ##
108
+ # The effective universe domain
109
+ #
110
+ # @return [String]
111
+ #
112
+ def universe_domain
113
+ @lineage_stub.universe_domain
114
+ end
115
+
104
116
  ##
105
117
  # Create a new Lineage REST client object.
106
118
  #
@@ -128,8 +140,9 @@ module Google
128
140
  credentials = @config.credentials
129
141
  # Use self-signed JWT if the endpoint is unchanged from default,
130
142
  # but only if the default endpoint does not have a region prefix.
131
- enable_self_signed_jwt = @config.endpoint == Configuration::DEFAULT_ENDPOINT &&
132
- !@config.endpoint.split(".").first.include?("-")
143
+ enable_self_signed_jwt = @config.endpoint.nil? ||
144
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
145
+ !@config.endpoint.split(".").first.include?("-"))
133
146
  credentials ||= Credentials.default scope: @config.scope,
134
147
  enable_self_signed_jwt: enable_self_signed_jwt
135
148
  if credentials.is_a?(::String) || credentials.is_a?(::Hash)
@@ -143,9 +156,15 @@ module Google
143
156
  config.credentials = credentials
144
157
  config.quota_project = @quota_project_id
145
158
  config.endpoint = @config.endpoint
159
+ config.universe_domain = @config.universe_domain
146
160
  end
147
161
 
148
- @lineage_stub = ::Google::Cloud::DataCatalog::Lineage::V1::Lineage::Rest::ServiceStub.new endpoint: @config.endpoint, credentials: credentials
162
+ @lineage_stub = ::Google::Cloud::DataCatalog::Lineage::V1::Lineage::Rest::ServiceStub.new(
163
+ endpoint: @config.endpoint,
164
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
165
+ universe_domain: @config.universe_domain,
166
+ credentials: credentials
167
+ )
149
168
  end
150
169
 
151
170
  ##
@@ -157,6 +176,95 @@ module Google
157
176
 
158
177
  # Service calls
159
178
 
179
+ ##
180
+ # Creates new lineage events together with their parents: process and run.
181
+ # Updates the process and run if they already exist.
182
+ # Mapped from Open Lineage specification:
183
+ # https://github.com/OpenLineage/OpenLineage/blob/main/spec/OpenLineage.json.
184
+ #
185
+ # @overload process_open_lineage_run_event(request, options = nil)
186
+ # Pass arguments to `process_open_lineage_run_event` via a request object, either of type
187
+ # {::Google::Cloud::DataCatalog::Lineage::V1::ProcessOpenLineageRunEventRequest} or an equivalent Hash.
188
+ #
189
+ # @param request [::Google::Cloud::DataCatalog::Lineage::V1::ProcessOpenLineageRunEventRequest, ::Hash]
190
+ # A request object representing the call parameters. Required. To specify no
191
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
192
+ # @param options [::Gapic::CallOptions, ::Hash]
193
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
194
+ #
195
+ # @overload process_open_lineage_run_event(parent: nil, open_lineage: nil, request_id: nil)
196
+ # Pass arguments to `process_open_lineage_run_event` via keyword arguments. Note that at
197
+ # least one keyword argument is required. To specify no parameters, or to keep all
198
+ # the default parameter values, pass an empty Hash as a request object (see above).
199
+ #
200
+ # @param parent [::String]
201
+ # Required. The name of the project and its location that should own the
202
+ # process, run, and lineage event.
203
+ # @param open_lineage [::Google::Protobuf::Struct, ::Hash]
204
+ # Required. OpenLineage message following OpenLineage format:
205
+ # https://github.com/OpenLineage/OpenLineage/blob/main/spec/OpenLineage.json
206
+ # @param request_id [::String]
207
+ # A unique identifier for this request. Restricted to 36 ASCII characters.
208
+ # A random UUID is recommended. This request is idempotent only if a
209
+ # `request_id` is provided.
210
+ # @yield [result, operation] Access the result along with the TransportOperation object
211
+ # @yieldparam result [::Google::Cloud::DataCatalog::Lineage::V1::ProcessOpenLineageRunEventResponse]
212
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
213
+ #
214
+ # @return [::Google::Cloud::DataCatalog::Lineage::V1::ProcessOpenLineageRunEventResponse]
215
+ #
216
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
217
+ #
218
+ # @example Basic example
219
+ # require "google/cloud/data_catalog/lineage/v1"
220
+ #
221
+ # # Create a client object. The client can be reused for multiple calls.
222
+ # client = Google::Cloud::DataCatalog::Lineage::V1::Lineage::Rest::Client.new
223
+ #
224
+ # # Create a request. To set request fields, pass in keyword arguments.
225
+ # request = Google::Cloud::DataCatalog::Lineage::V1::ProcessOpenLineageRunEventRequest.new
226
+ #
227
+ # # Call the process_open_lineage_run_event method.
228
+ # result = client.process_open_lineage_run_event request
229
+ #
230
+ # # The returned object is of type Google::Cloud::DataCatalog::Lineage::V1::ProcessOpenLineageRunEventResponse.
231
+ # p result
232
+ #
233
+ def process_open_lineage_run_event request, options = nil
234
+ raise ::ArgumentError, "request must be provided" if request.nil?
235
+
236
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::DataCatalog::Lineage::V1::ProcessOpenLineageRunEventRequest
237
+
238
+ # Converts hash and nil to an options object
239
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
240
+
241
+ # Customize the options with defaults
242
+ call_metadata = @config.rpcs.process_open_lineage_run_event.metadata.to_h
243
+
244
+ # Set x-goog-api-client and x-goog-user-project headers
245
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
246
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
247
+ gapic_version: ::Google::Cloud::DataCatalog::Lineage::V1::VERSION,
248
+ transports_version_send: [:rest]
249
+
250
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
251
+
252
+ options.apply_defaults timeout: @config.rpcs.process_open_lineage_run_event.timeout,
253
+ metadata: call_metadata,
254
+ retry_policy: @config.rpcs.process_open_lineage_run_event.retry_policy
255
+
256
+ options.apply_defaults timeout: @config.timeout,
257
+ metadata: @config.metadata,
258
+ retry_policy: @config.retry_policy
259
+
260
+ @lineage_stub.process_open_lineage_run_event request, options do |result, operation|
261
+ yield result, operation if block_given?
262
+ return result
263
+ end
264
+ rescue ::Gapic::Rest::Error => e
265
+ raise ::Google::Cloud::Error.from_error(e)
266
+ end
267
+
160
268
  ##
161
269
  # Creates a new process.
162
270
  #
@@ -687,7 +795,7 @@ module Google
687
795
  # @param options [::Gapic::CallOptions, ::Hash]
688
796
  # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
689
797
  #
690
- # @overload update_run(run: nil, update_mask: nil)
798
+ # @overload update_run(run: nil, update_mask: nil, allow_missing: nil)
691
799
  # Pass arguments to `update_run` via keyword arguments. Note that at
692
800
  # least one keyword argument is required. To specify no parameters, or to keep all
693
801
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -702,6 +810,8 @@ module Google
702
810
  # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
703
811
  # The list of fields to update. Currently not used. The whole message is
704
812
  # updated.
813
+ # @param allow_missing [::Boolean]
814
+ # If set to true and the run is not found, the request creates it.
705
815
  # @yield [result, operation] Access the result along with the TransportOperation object
706
816
  # @yieldparam result [::Google::Cloud::DataCatalog::Lineage::V1::Run]
707
817
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -1389,7 +1499,7 @@ module Google
1389
1499
  # the default parameter values, pass an empty Hash as a request object (see above).
1390
1500
  #
1391
1501
  # @param parent [::String]
1392
- # Required. The project and location you want search in the format `projects/*/locations/*`
1502
+ # Required. The project and location you want search in.
1393
1503
  # @param source [::Google::Cloud::DataCatalog::Lineage::V1::EntityReference, ::Hash]
1394
1504
  # Optional. Send asset information in the **source** field to retrieve all
1395
1505
  # links that lead from the specified asset to downstream assets.
@@ -1504,7 +1614,7 @@ module Google
1504
1614
  # the default parameter values, pass an empty Hash as a request object (see above).
1505
1615
  #
1506
1616
  # @param parent [::String]
1507
- # Required. The project and location you want search in the format `projects/*/locations/*`
1617
+ # Required. The project and location where you want to search.
1508
1618
  # @param links [::Array<::String>]
1509
1619
  # Required. An array of links to check for their associated LineageProcesses.
1510
1620
  #
@@ -1602,23 +1712,23 @@ module Google
1602
1712
  # @example
1603
1713
  #
1604
1714
  # # Modify the global config, setting the timeout for
1605
- # # create_process to 20 seconds,
1715
+ # # process_open_lineage_run_event to 20 seconds,
1606
1716
  # # and all remaining timeouts to 10 seconds.
1607
1717
  # ::Google::Cloud::DataCatalog::Lineage::V1::Lineage::Rest::Client.configure do |config|
1608
1718
  # config.timeout = 10.0
1609
- # config.rpcs.create_process.timeout = 20.0
1719
+ # config.rpcs.process_open_lineage_run_event.timeout = 20.0
1610
1720
  # end
1611
1721
  #
1612
1722
  # # Apply the above configuration only to a new client.
1613
1723
  # client = ::Google::Cloud::DataCatalog::Lineage::V1::Lineage::Rest::Client.new do |config|
1614
1724
  # config.timeout = 10.0
1615
- # config.rpcs.create_process.timeout = 20.0
1725
+ # config.rpcs.process_open_lineage_run_event.timeout = 20.0
1616
1726
  # end
1617
1727
  #
1618
1728
  # @!attribute [rw] endpoint
1619
- # The hostname or hostname:port of the service endpoint.
1620
- # Defaults to `"datalineage.googleapis.com"`.
1621
- # @return [::String]
1729
+ # A custom service endpoint, as a hostname or hostname:port. The default is
1730
+ # nil, indicating to use the default endpoint in the current universe domain.
1731
+ # @return [::String,nil]
1622
1732
  # @!attribute [rw] credentials
1623
1733
  # Credentials to send with calls. You may provide any of the following types:
1624
1734
  # * (`String`) The path to a service account key file in JSON format
@@ -1655,13 +1765,20 @@ module Google
1655
1765
  # @!attribute [rw] quota_project
1656
1766
  # A separate project against which to charge quota.
1657
1767
  # @return [::String]
1768
+ # @!attribute [rw] universe_domain
1769
+ # The universe domain within which to make requests. This determines the
1770
+ # default endpoint URL. The default value of nil uses the environment
1771
+ # universe (usually the default "googleapis.com" universe).
1772
+ # @return [::String,nil]
1658
1773
  #
1659
1774
  class Configuration
1660
1775
  extend ::Gapic::Config
1661
1776
 
1777
+ # @private
1778
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
1662
1779
  DEFAULT_ENDPOINT = "datalineage.googleapis.com"
1663
1780
 
1664
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
1781
+ config_attr :endpoint, nil, ::String, nil
1665
1782
  config_attr :credentials, nil do |value|
1666
1783
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
1667
1784
  allowed.any? { |klass| klass === value }
@@ -1673,6 +1790,7 @@ module Google
1673
1790
  config_attr :metadata, nil, ::Hash, nil
1674
1791
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
1675
1792
  config_attr :quota_project, nil, ::String, nil
1793
+ config_attr :universe_domain, nil, ::String, nil
1676
1794
 
1677
1795
  # @private
1678
1796
  def initialize parent_config = nil
@@ -1711,6 +1829,11 @@ module Google
1711
1829
  # trigger a retry.
1712
1830
  #
1713
1831
  class Rpcs
1832
+ ##
1833
+ # RPC-specific configuration for `process_open_lineage_run_event`
1834
+ # @return [::Gapic::Config::Method]
1835
+ #
1836
+ attr_reader :process_open_lineage_run_event
1714
1837
  ##
1715
1838
  # RPC-specific configuration for `create_process`
1716
1839
  # @return [::Gapic::Config::Method]
@@ -1794,6 +1917,8 @@ module Google
1794
1917
 
1795
1918
  # @private
1796
1919
  def initialize parent_rpcs = nil
1920
+ process_open_lineage_run_event_config = parent_rpcs.process_open_lineage_run_event if parent_rpcs.respond_to? :process_open_lineage_run_event
1921
+ @process_open_lineage_run_event = ::Gapic::Config::Method.new process_open_lineage_run_event_config
1797
1922
  create_process_config = parent_rpcs.create_process if parent_rpcs.respond_to? :create_process
1798
1923
  @create_process = ::Gapic::Config::Method.new create_process_config
1799
1924
  update_process_config = parent_rpcs.update_process if parent_rpcs.respond_to? :update_process
@@ -27,6 +27,9 @@ module Google
27
27
  module Rest
28
28
  # Service that implements Longrunning Operations API.
29
29
  class Operations
30
+ # @private
31
+ DEFAULT_ENDPOINT_TEMPLATE = "datalineage.$UNIVERSE_DOMAIN$"
32
+
30
33
  # @private
31
34
  attr_reader :operations_stub
32
35
 
@@ -61,6 +64,15 @@ module Google
61
64
  @config
62
65
  end
63
66
 
67
+ ##
68
+ # The effective universe domain
69
+ #
70
+ # @return [String]
71
+ #
72
+ def universe_domain
73
+ @operations_stub.universe_domain
74
+ end
75
+
64
76
  ##
65
77
  # Create a new Operations client object.
66
78
  #
@@ -85,8 +97,10 @@ module Google
85
97
  @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
86
98
 
87
99
  @operations_stub = OperationsServiceStub.new(
88
- endpoint: @config.endpoint,
89
- credentials: credentials
100
+ endpoint: @config.endpoint,
101
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
102
+ universe_domain: @config.universe_domain,
103
+ credentials: credentials
90
104
  )
91
105
 
92
106
  # Used by an LRO wrapper for some methods of this service
@@ -479,9 +493,9 @@ module Google
479
493
  # end
480
494
  #
481
495
  # @!attribute [rw] endpoint
482
- # The hostname or hostname:port of the service endpoint.
483
- # Defaults to `"datalineage.googleapis.com"`.
484
- # @return [::String]
496
+ # A custom service endpoint, as a hostname or hostname:port. The default is
497
+ # nil, indicating to use the default endpoint in the current universe domain.
498
+ # @return [::String,nil]
485
499
  # @!attribute [rw] credentials
486
500
  # Credentials to send with calls. You may provide any of the following types:
487
501
  # * (`String`) The path to a service account key file in JSON format
@@ -518,13 +532,20 @@ module Google
518
532
  # @!attribute [rw] quota_project
519
533
  # A separate project against which to charge quota.
520
534
  # @return [::String]
535
+ # @!attribute [rw] universe_domain
536
+ # The universe domain within which to make requests. This determines the
537
+ # default endpoint URL. The default value of nil uses the environment
538
+ # universe (usually the default "googleapis.com" universe).
539
+ # @return [::String,nil]
521
540
  #
522
541
  class Configuration
523
542
  extend ::Gapic::Config
524
543
 
544
+ # @private
545
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
525
546
  DEFAULT_ENDPOINT = "datalineage.googleapis.com"
526
547
 
527
- config_attr :endpoint, DEFAULT_ENDPOINT, ::String
548
+ config_attr :endpoint, nil, ::String, nil
528
549
  config_attr :credentials, nil do |value|
529
550
  allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
530
551
  allowed.any? { |klass| klass === value }
@@ -536,6 +557,7 @@ module Google
536
557
  config_attr :metadata, nil, ::Hash, nil
537
558
  config_attr :retry_policy, nil, ::Hash, ::Proc, nil
538
559
  config_attr :quota_project, nil, ::String, nil
560
+ config_attr :universe_domain, nil, ::String, nil
539
561
 
540
562
  # @private
541
563
  def initialize parent_config = nil
@@ -618,12 +640,15 @@ module Google
618
640
  # Service stub contains baseline method implementations
619
641
  # including transcoding, making the REST call, and deserialing the response.
620
642
  class OperationsServiceStub
621
- def initialize endpoint:, credentials:
643
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
622
644
  # These require statements are intentionally placed here to initialize
623
645
  # the REST modules only when it's required.
624
646
  require "gapic/rest"
625
647
 
626
- @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials
648
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
649
+ endpoint_template: endpoint_template,
650
+ universe_domain: universe_domain,
651
+ credentials: credentials
627
652
  end
628
653
 
629
654
  ##
@@ -31,16 +31,66 @@ module Google
31
31
  # including transcoding, making the REST call, and deserialing the response.
32
32
  #
33
33
  class ServiceStub
34
- def initialize endpoint:, credentials:
34
+ def initialize endpoint:, endpoint_template:, universe_domain:, credentials:
35
35
  # These require statements are intentionally placed here to initialize
36
36
  # the REST modules only when it's required.
37
37
  require "gapic/rest"
38
38
 
39
- @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint, credentials: credentials,
39
+ @client_stub = ::Gapic::Rest::ClientStub.new endpoint: endpoint,
40
+ endpoint_template: endpoint_template,
41
+ universe_domain: universe_domain,
42
+ credentials: credentials,
40
43
  numeric_enums: true,
41
44
  raise_faraday_errors: false
42
45
  end
43
46
 
47
+ ##
48
+ # The effective universe domain
49
+ #
50
+ # @return [String]
51
+ #
52
+ def universe_domain
53
+ @client_stub.universe_domain
54
+ end
55
+
56
+ ##
57
+ # Baseline implementation for the process_open_lineage_run_event REST call
58
+ #
59
+ # @param request_pb [::Google::Cloud::DataCatalog::Lineage::V1::ProcessOpenLineageRunEventRequest]
60
+ # A request object representing the call parameters. Required.
61
+ # @param options [::Gapic::CallOptions]
62
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
63
+ #
64
+ # @yield [result, operation] Access the result along with the TransportOperation object
65
+ # @yieldparam result [::Google::Cloud::DataCatalog::Lineage::V1::ProcessOpenLineageRunEventResponse]
66
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
67
+ #
68
+ # @return [::Google::Cloud::DataCatalog::Lineage::V1::ProcessOpenLineageRunEventResponse]
69
+ # A result object deserialized from the server's reply
70
+ def process_open_lineage_run_event request_pb, options = nil
71
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
72
+
73
+ verb, uri, query_string_params, body = ServiceStub.transcode_process_open_lineage_run_event_request request_pb
74
+ query_string_params = if query_string_params.any?
75
+ query_string_params.to_h { |p| p.split "=", 2 }
76
+ else
77
+ {}
78
+ end
79
+
80
+ response = @client_stub.make_http_request(
81
+ verb,
82
+ uri: uri,
83
+ body: body || "",
84
+ params: query_string_params,
85
+ options: options
86
+ )
87
+ operation = ::Gapic::Rest::TransportOperation.new response
88
+ result = ::Google::Cloud::DataCatalog::Lineage::V1::ProcessOpenLineageRunEventResponse.decode_json response.body, ignore_unknown_fields: true
89
+
90
+ yield result, operation if block_given?
91
+ result
92
+ end
93
+
44
94
  ##
45
95
  # Baseline implementation for the create_process REST call
46
96
  #
@@ -649,6 +699,28 @@ module Google
649
699
  result
650
700
  end
651
701
 
702
+ ##
703
+ # @private
704
+ #
705
+ # GRPC transcoding helper method for the process_open_lineage_run_event REST call
706
+ #
707
+ # @param request_pb [::Google::Cloud::DataCatalog::Lineage::V1::ProcessOpenLineageRunEventRequest]
708
+ # A request object representing the call parameters. Required.
709
+ # @return [Array(String, [String, nil], Hash{String => String})]
710
+ # Uri, Body, Query string parameters
711
+ def self.transcode_process_open_lineage_run_event_request request_pb
712
+ transcoder = Gapic::Rest::GrpcTranscoder.new
713
+ .with_bindings(
714
+ uri_method: :post,
715
+ uri_template: "/v1/{parent}:processOpenLineageRunEvent",
716
+ body: "open_lineage",
717
+ matches: [
718
+ ["parent", %r{^projects/[^/]+/locations/[^/]+/?$}, false]
719
+ ]
720
+ )
721
+ transcoder.transcode request_pb
722
+ end
723
+
652
724
  ##
653
725
  # @private
654
726
  #
@@ -22,7 +22,7 @@ module Google
22
22
  module DataCatalog
23
23
  module Lineage
24
24
  module V1
25
- VERSION = "0.4.0"
25
+ VERSION = "0.6.0"
26
26
  end
27
27
  end
28
28
  end
@@ -15,7 +15,7 @@ require 'google/protobuf/struct_pb'
15
15
  require 'google/protobuf/timestamp_pb'
16
16
 
17
17
 
18
- descriptor_data = "\n1google/cloud/datacatalog/lineage/v1/lineage.proto\x12#google.cloud.datacatalog.lineage.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x81\x03\n\x07Process\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x19\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12U\n\nattributes\x18\x03 \x03(\x0b\x32<.google.cloud.datacatalog.lineage.v1.Process.AttributesEntryB\x03\xe0\x41\x01\x12@\n\x06origin\x18\x04 \x01(\x0b\x32+.google.cloud.datacatalog.lineage.v1.OriginB\x03\xe0\x41\x01\x1aI\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01:d\xea\x41\x61\n\"datalineage.googleapis.com/Process\x12;projects/{project}/locations/{location}/processes/{process}\"\xb5\x04\n\x03Run\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x19\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12Q\n\nattributes\x18\x03 \x03(\x0b\x32\x38.google.cloud.datacatalog.lineage.v1.Run.AttributesEntryB\x03\xe0\x41\x01\x12\x33\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02\x12\x31\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12\x42\n\x05state\x18\x06 \x01(\x0e\x32..google.cloud.datacatalog.lineage.v1.Run.StateB\x03\xe0\x41\x02\x1aI\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\"I\n\x05State\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07STARTED\x10\x01\x12\r\n\tCOMPLETED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\x12\x0b\n\x07\x41\x42ORTED\x10\x04:k\xea\x41h\n\x1e\x64\x61talineage.googleapis.com/Run\x12\x46projects/{project}/locations/{location}/processes/{process}/runs/{run}\"\xe3\x02\n\x0cLineageEvent\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x42\n\x05links\x18\x08 \x03(\x0b\x32..google.cloud.datacatalog.lineage.v1.EventLinkB\x03\xe0\x41\x01\x12\x33\n\nstart_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12\x31\n\x08\x65nd_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01:\x93\x01\xea\x41\x8f\x01\n\'datalineage.googleapis.com/LineageEvent\x12\x64projects/{project}/locations/{location}/processes/{process}/runs/{run}/lineageEvents/{lineage_event}\"\xa1\x01\n\tEventLink\x12I\n\x06source\x18\x01 \x01(\x0b\x32\x34.google.cloud.datacatalog.lineage.v1.EntityReferenceB\x03\xe0\x41\x02\x12I\n\x06target\x18\x02 \x01(\x0b\x32\x34.google.cloud.datacatalog.lineage.v1.EntityReferenceB\x03\xe0\x41\x02\"4\n\x0f\x45ntityReference\x12!\n\x14\x66ully_qualified_name\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\xda\x03\n\x11OperationMetadata\x12P\n\x05state\x18\x01 \x01(\x0e\x32<.google.cloud.datacatalog.lineage.v1.OperationMetadata.StateB\x03\xe0\x41\x03\x12X\n\x0eoperation_type\x18\x02 \x01(\x0e\x32;.google.cloud.datacatalog.lineage.v1.OperationMetadata.TypeB\x03\xe0\x41\x03\x12\x15\n\x08resource\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rresource_uuid\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"S\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\r\n\tSUCCEEDED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\"(\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06\x44\x45LETE\x10\x01\"\xaa\x01\n\x14\x43reateProcessRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"datalineage.googleapis.com/Process\x12\x42\n\x07process\x18\x02 \x01(\x0b\x32,.google.cloud.datacatalog.lineage.v1.ProcessB\x03\xe0\x41\x02\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"\xa2\x01\n\x14UpdateProcessRequest\x12\x42\n\x07process\x18\x01 \x01(\x0b\x32,.google.cloud.datacatalog.lineage.v1.ProcessB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x15\n\rallow_missing\x18\x03 \x01(\x08\"M\n\x11GetProcessRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"datalineage.googleapis.com/Process\"y\n\x14ListProcessesRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"datalineage.googleapis.com/Process\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"q\n\x15ListProcessesResponse\x12?\n\tprocesses\x18\x01 \x03(\x0b\x32,.google.cloud.datacatalog.lineage.v1.Process\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"g\n\x14\x44\x65leteProcessRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"datalineage.googleapis.com/Process\x12\x15\n\rallow_missing\x18\x02 \x01(\x08\"\x9a\x01\n\x10\x43reateRunRequest\x12\x36\n\x06parent\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \x12\x1e\x64\x61talineage.googleapis.com/Run\x12:\n\x03run\x18\x02 \x01(\x0b\x32(.google.cloud.datacatalog.lineage.v1.RunB\x03\xe0\x41\x02\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"\x7f\n\x10UpdateRunRequest\x12:\n\x03run\x18\x01 \x01(\x0b\x32(.google.cloud.datacatalog.lineage.v1.RunB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"E\n\rGetRunRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x64\x61talineage.googleapis.com/Run\"p\n\x0fListRunsRequest\x12\x36\n\x06parent\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \x12\x1e\x64\x61talineage.googleapis.com/Run\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"c\n\x10ListRunsResponse\x12\x36\n\x04runs\x18\x01 \x03(\x0b\x32(.google.cloud.datacatalog.lineage.v1.Run\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"_\n\x10\x44\x65leteRunRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x64\x61talineage.googleapis.com/Run\x12\x15\n\rallow_missing\x18\x02 \x01(\x08\"\xbf\x01\n\x19\x43reateLineageEventRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\x12\'datalineage.googleapis.com/LineageEvent\x12M\n\rlineage_event\x18\x02 \x01(\x0b\x32\x31.google.cloud.datacatalog.lineage.v1.LineageEventB\x03\xe0\x41\x02\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"W\n\x16GetLineageEventRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'datalineage.googleapis.com/LineageEvent\"\x82\x01\n\x18ListLineageEventsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\x12\'datalineage.googleapis.com/LineageEvent\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x7f\n\x19ListLineageEventsResponse\x12I\n\x0elineage_events\x18\x01 \x03(\x0b\x32\x31.google.cloud.datacatalog.lineage.v1.LineageEvent\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"q\n\x19\x44\x65leteLineageEventRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'datalineage.googleapis.com/LineageEvent\x12\x15\n\rallow_missing\x18\x02 \x01(\x08\"\xa7\x02\n\x12SearchLinksRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"datalineage.googleapis.com/Process\x12K\n\x06source\x18\x04 \x01(\x0b\x32\x34.google.cloud.datacatalog.lineage.v1.EntityReferenceB\x03\xe0\x41\x01H\x00\x12K\n\x06target\x18\x05 \x01(\x0b\x32\x34.google.cloud.datacatalog.lineage.v1.EntityReferenceB\x03\xe0\x41\x01H\x00\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\x42\n\n\x08\x63riteria\"h\n\x13SearchLinksResponse\x12\x38\n\x05links\x18\x01 \x03(\x0b\x32).google.cloud.datacatalog.lineage.v1.Link\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x86\x02\n\x04Link\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x03\xe0\x41\x05\x12\x44\n\x06source\x18\x02 \x01(\x0b\x32\x34.google.cloud.datacatalog.lineage.v1.EntityReference\x12\x44\n\x06target\x18\x03 \x01(\x0b\x32\x34.google.cloud.datacatalog.lineage.v1.EntityReference\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x98\x01\n\x1f\x42\x61tchSearchLinkProcessesRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"datalineage.googleapis.com/Process\x12\x12\n\x05links\x18\x02 \x03(\tB\x03\xe0\x41\x02\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"\x85\x01\n BatchSearchLinkProcessesResponse\x12H\n\rprocess_links\x18\x01 \x03(\x0b\x32\x31.google.cloud.datacatalog.lineage.v1.ProcessLinks\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x8d\x01\n\x0cProcessLinks\x12\x38\n\x07process\x18\x01 \x01(\tB\'\xfa\x41$\n\"datalineage.googleapis.com/Process\x12\x43\n\x05links\x18\x02 \x03(\x0b\x32\x34.google.cloud.datacatalog.lineage.v1.ProcessLinkInfo\"}\n\x0fProcessLinkInfo\x12\x0c\n\x04link\x18\x01 \x01(\t\x12.\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xda\x01\n\x06Origin\x12K\n\x0bsource_type\x18\x01 \x01(\x0e\x32\x36.google.cloud.datacatalog.lineage.v1.Origin.SourceType\x12\x0c\n\x04name\x18\x02 \x01(\t\"u\n\nSourceType\x12\x1b\n\x17SOURCE_TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0c\n\x08\x42IGQUERY\x10\x02\x12\x0f\n\x0b\x44\x41TA_FUSION\x10\x03\x12\x0c\n\x08\x43OMPOSER\x10\x04\x12\x11\n\rLOOKER_STUDIO\x10\x05\x32\xa0\x1b\n\x07Lineage\x12\xc9\x01\n\rCreateProcess\x12\x39.google.cloud.datacatalog.lineage.v1.CreateProcessRequest\x1a,.google.cloud.datacatalog.lineage.v1.Process\"O\x82\xd3\xe4\x93\x02\x38\"-/v1/{parent=projects/*/locations/*}/processes:\x07process\xda\x41\x0eparent,process\x12\xd6\x01\n\rUpdateProcess\x12\x39.google.cloud.datacatalog.lineage.v1.UpdateProcessRequest\x1a,.google.cloud.datacatalog.lineage.v1.Process\"\\\x82\xd3\xe4\x93\x02@25/v1/{process.name=projects/*/locations/*/processes/*}:\x07process\xda\x41\x13process,update_mask\x12\xb0\x01\n\nGetProcess\x12\x36.google.cloud.datacatalog.lineage.v1.GetProcessRequest\x1a,.google.cloud.datacatalog.lineage.v1.Process\"<\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/locations/*/processes/*}\xda\x41\x04name\x12\xc6\x01\n\rListProcesses\x12\x39.google.cloud.datacatalog.lineage.v1.ListProcessesRequest\x1a:.google.cloud.datacatalog.lineage.v1.ListProcessesResponse\">\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/locations/*}/processes\xda\x41\x06parent\x12\xf9\x01\n\rDeleteProcess\x12\x39.google.cloud.datacatalog.lineage.v1.DeleteProcessRequest\x1a\x1d.google.longrunning.Operation\"\x8d\x01\x82\xd3\xe4\x93\x02/*-/v1/{name=projects/*/locations/*/processes/*}\xda\x41\x04name\xca\x41N\n\x15google.protobuf.Empty\x12\x35google.cloud.datacatalog.lineage.v1.OperationMetadata\x12\xbc\x01\n\tCreateRun\x12\x35.google.cloud.datacatalog.lineage.v1.CreateRunRequest\x1a(.google.cloud.datacatalog.lineage.v1.Run\"N\x82\xd3\xe4\x93\x02;\"4/v1/{parent=projects/*/locations/*/processes/*}/runs:\x03run\xda\x41\nparent,run\x12\xc5\x01\n\tUpdateRun\x12\x35.google.cloud.datacatalog.lineage.v1.UpdateRunRequest\x1a(.google.cloud.datacatalog.lineage.v1.Run\"W\x82\xd3\xe4\x93\x02?28/v1/{run.name=projects/*/locations/*/processes/*/runs/*}:\x03run\xda\x41\x0frun,update_mask\x12\xab\x01\n\x06GetRun\x12\x32.google.cloud.datacatalog.lineage.v1.GetRunRequest\x1a(.google.cloud.datacatalog.lineage.v1.Run\"C\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{name=projects/*/locations/*/processes/*/runs/*}\xda\x41\x04name\x12\xbe\x01\n\x08ListRuns\x12\x34.google.cloud.datacatalog.lineage.v1.ListRunsRequest\x1a\x35.google.cloud.datacatalog.lineage.v1.ListRunsResponse\"E\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/locations/*/processes/*}/runs\xda\x41\x06parent\x12\xf8\x01\n\tDeleteRun\x12\x35.google.cloud.datacatalog.lineage.v1.DeleteRunRequest\x1a\x1d.google.longrunning.Operation\"\x94\x01\x82\xd3\xe4\x93\x02\x36*4/v1/{name=projects/*/locations/*/processes/*/runs/*}\xda\x41\x04name\xca\x41N\n\x15google.protobuf.Empty\x12\x35google.cloud.datacatalog.lineage.v1.OperationMetadata\x12\xfb\x01\n\x12\x43reateLineageEvent\x12>.google.cloud.datacatalog.lineage.v1.CreateLineageEventRequest\x1a\x31.google.cloud.datacatalog.lineage.v1.LineageEvent\"r\x82\xd3\xe4\x93\x02U\"D/v1/{parent=projects/*/locations/*/processes/*/runs/*}/lineageEvents:\rlineage_event\xda\x41\x14parent,lineage_event\x12\xd6\x01\n\x0fGetLineageEvent\x12;.google.cloud.datacatalog.lineage.v1.GetLineageEventRequest\x1a\x31.google.cloud.datacatalog.lineage.v1.LineageEvent\"S\x82\xd3\xe4\x93\x02\x46\x12\x44/v1/{name=projects/*/locations/*/processes/*/runs/*/lineageEvents/*}\xda\x41\x04name\x12\xe9\x01\n\x11ListLineageEvents\x12=.google.cloud.datacatalog.lineage.v1.ListLineageEventsRequest\x1a>.google.cloud.datacatalog.lineage.v1.ListLineageEventsResponse\"U\x82\xd3\xe4\x93\x02\x46\x12\x44/v1/{parent=projects/*/locations/*/processes/*/runs/*}/lineageEvents\xda\x41\x06parent\x12\xc1\x01\n\x12\x44\x65leteLineageEvent\x12>.google.cloud.datacatalog.lineage.v1.DeleteLineageEventRequest\x1a\x16.google.protobuf.Empty\"S\x82\xd3\xe4\x93\x02\x46*D/v1/{name=projects/*/locations/*/processes/*/runs/*/lineageEvents/*}\xda\x41\x04name\x12\xbc\x01\n\x0bSearchLinks\x12\x37.google.cloud.datacatalog.lineage.v1.SearchLinksRequest\x1a\x38.google.cloud.datacatalog.lineage.v1.SearchLinksResponse\":\x82\xd3\xe4\x93\x02\x34\"//v1/{parent=projects/*/locations/*}:searchLinks:\x01*\x12\xf0\x01\n\x18\x42\x61tchSearchLinkProcesses\x12\x44.google.cloud.datacatalog.lineage.v1.BatchSearchLinkProcessesRequest\x1a\x45.google.cloud.datacatalog.lineage.v1.BatchSearchLinkProcessesResponse\"G\x82\xd3\xe4\x93\x02\x41\"</v1/{parent=projects/*/locations/*}:batchSearchLinkProcesses:\x01*\x1aN\xca\x41\x1a\x64\x61talineage.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xf2\x01\n\'com.google.cloud.datacatalog.lineage.v1B\x0cLineageProtoP\x01ZAcloud.google.com/go/datacatalog/lineage/apiv1/lineagepb;lineagepb\xaa\x02#Google.Cloud.DataCatalog.Lineage.V1\xca\x02#Google\\Cloud\\DataCatalog\\Lineage\\V1\xea\x02\'Google::Cloud::DataCatalog::Lineage::V1b\x06proto3"
18
+ descriptor_data = "\n1google/cloud/datacatalog/lineage/v1/lineage.proto\x12#google.cloud.datacatalog.lineage.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x81\x03\n\x07Process\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x19\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12U\n\nattributes\x18\x03 \x03(\x0b\x32<.google.cloud.datacatalog.lineage.v1.Process.AttributesEntryB\x03\xe0\x41\x01\x12@\n\x06origin\x18\x04 \x01(\x0b\x32+.google.cloud.datacatalog.lineage.v1.OriginB\x03\xe0\x41\x01\x1aI\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01:d\xea\x41\x61\n\"datalineage.googleapis.com/Process\x12;projects/{project}/locations/{location}/processes/{process}\"\xb5\x04\n\x03Run\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x19\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12Q\n\nattributes\x18\x03 \x03(\x0b\x32\x38.google.cloud.datacatalog.lineage.v1.Run.AttributesEntryB\x03\xe0\x41\x01\x12\x33\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02\x12\x31\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01\x12\x42\n\x05state\x18\x06 \x01(\x0e\x32..google.cloud.datacatalog.lineage.v1.Run.StateB\x03\xe0\x41\x02\x1aI\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\"I\n\x05State\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x0b\n\x07STARTED\x10\x01\x12\r\n\tCOMPLETED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\x12\x0b\n\x07\x41\x42ORTED\x10\x04:k\xea\x41h\n\x1e\x64\x61talineage.googleapis.com/Run\x12\x46projects/{project}/locations/{location}/processes/{process}/runs/{run}\"\xe3\x02\n\x0cLineageEvent\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x05\x12\x42\n\x05links\x18\x08 \x03(\x0b\x32..google.cloud.datacatalog.lineage.v1.EventLinkB\x03\xe0\x41\x01\x12\x33\n\nstart_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02\x12\x31\n\x08\x65nd_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01:\x93\x01\xea\x41\x8f\x01\n\'datalineage.googleapis.com/LineageEvent\x12\x64projects/{project}/locations/{location}/processes/{process}/runs/{run}/lineageEvents/{lineage_event}\"\xa1\x01\n\tEventLink\x12I\n\x06source\x18\x01 \x01(\x0b\x32\x34.google.cloud.datacatalog.lineage.v1.EntityReferenceB\x03\xe0\x41\x02\x12I\n\x06target\x18\x02 \x01(\x0b\x32\x34.google.cloud.datacatalog.lineage.v1.EntityReferenceB\x03\xe0\x41\x02\"4\n\x0f\x45ntityReference\x12!\n\x14\x66ully_qualified_name\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\xe6\x03\n\x11OperationMetadata\x12P\n\x05state\x18\x01 \x01(\x0e\x32<.google.cloud.datacatalog.lineage.v1.OperationMetadata.StateB\x03\xe0\x41\x03\x12X\n\x0eoperation_type\x18\x02 \x01(\x0e\x32;.google.cloud.datacatalog.lineage.v1.OperationMetadata.TypeB\x03\xe0\x41\x03\x12\x15\n\x08resource\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x1a\n\rresource_uuid\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"S\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\r\n\tSUCCEEDED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\"4\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06\x44\x45LETE\x10\x01\x12\n\n\x06\x43REATE\x10\x02\"\x80\x01\n!ProcessOpenLineageRunEventRequest\x12\x13\n\x06parent\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x32\n\x0copen_lineage\x18\x02 \x01(\x0b\x32\x17.google.protobuf.StructB\x03\xe0\x41\x02\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"\xd6\x01\n\"ProcessOpenLineageRunEventResponse\x12\x38\n\x07process\x18\x01 \x01(\tB\'\xfa\x41$\n\"datalineage.googleapis.com/Process\x12\x30\n\x03run\x18\x02 \x01(\tB#\xfa\x41 \n\x1e\x64\x61talineage.googleapis.com/Run\x12\x44\n\x0elineage_events\x18\x03 \x03(\tB,\xfa\x41)\n\'datalineage.googleapis.com/LineageEvent\"\xaa\x01\n\x14\x43reateProcessRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"datalineage.googleapis.com/Process\x12\x42\n\x07process\x18\x02 \x01(\x0b\x32,.google.cloud.datacatalog.lineage.v1.ProcessB\x03\xe0\x41\x02\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"\xa2\x01\n\x14UpdateProcessRequest\x12\x42\n\x07process\x18\x01 \x01(\x0b\x32,.google.cloud.datacatalog.lineage.v1.ProcessB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x15\n\rallow_missing\x18\x03 \x01(\x08\"M\n\x11GetProcessRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"datalineage.googleapis.com/Process\"y\n\x14ListProcessesRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"datalineage.googleapis.com/Process\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"q\n\x15ListProcessesResponse\x12?\n\tprocesses\x18\x01 \x03(\x0b\x32,.google.cloud.datacatalog.lineage.v1.Process\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"g\n\x14\x44\x65leteProcessRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"datalineage.googleapis.com/Process\x12\x15\n\rallow_missing\x18\x02 \x01(\x08\"\x9a\x01\n\x10\x43reateRunRequest\x12\x36\n\x06parent\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \x12\x1e\x64\x61talineage.googleapis.com/Run\x12:\n\x03run\x18\x02 \x01(\x0b\x32(.google.cloud.datacatalog.lineage.v1.RunB\x03\xe0\x41\x02\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"\x96\x01\n\x10UpdateRunRequest\x12:\n\x03run\x18\x01 \x01(\x0b\x32(.google.cloud.datacatalog.lineage.v1.RunB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x15\n\rallow_missing\x18\x03 \x01(\x08\"E\n\rGetRunRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x64\x61talineage.googleapis.com/Run\"p\n\x0fListRunsRequest\x12\x36\n\x06parent\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \x12\x1e\x64\x61talineage.googleapis.com/Run\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"c\n\x10ListRunsResponse\x12\x36\n\x04runs\x18\x01 \x03(\x0b\x32(.google.cloud.datacatalog.lineage.v1.Run\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"_\n\x10\x44\x65leteRunRequest\x12\x34\n\x04name\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1e\x64\x61talineage.googleapis.com/Run\x12\x15\n\rallow_missing\x18\x02 \x01(\x08\"\xbf\x01\n\x19\x43reateLineageEventRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\x12\'datalineage.googleapis.com/LineageEvent\x12M\n\rlineage_event\x18\x02 \x01(\x0b\x32\x31.google.cloud.datacatalog.lineage.v1.LineageEventB\x03\xe0\x41\x02\x12\x12\n\nrequest_id\x18\x03 \x01(\t\"W\n\x16GetLineageEventRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'datalineage.googleapis.com/LineageEvent\"\x82\x01\n\x18ListLineageEventsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\x12\'datalineage.googleapis.com/LineageEvent\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x7f\n\x19ListLineageEventsResponse\x12I\n\x0elineage_events\x18\x01 \x03(\x0b\x32\x31.google.cloud.datacatalog.lineage.v1.LineageEvent\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"q\n\x19\x44\x65leteLineageEventRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'datalineage.googleapis.com/LineageEvent\x12\x15\n\rallow_missing\x18\x02 \x01(\x08\"\xa7\x02\n\x12SearchLinksRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"datalineage.googleapis.com/Process\x12K\n\x06source\x18\x04 \x01(\x0b\x32\x34.google.cloud.datacatalog.lineage.v1.EntityReferenceB\x03\xe0\x41\x01H\x00\x12K\n\x06target\x18\x05 \x01(\x0b\x32\x34.google.cloud.datacatalog.lineage.v1.EntityReferenceB\x03\xe0\x41\x01H\x00\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\x42\n\n\x08\x63riteria\"h\n\x13SearchLinksResponse\x12\x38\n\x05links\x18\x01 \x03(\x0b\x32).google.cloud.datacatalog.lineage.v1.Link\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x86\x02\n\x04Link\x12\x14\n\x04name\x18\x01 \x01(\tB\x06\xe0\x41\x03\xe0\x41\x05\x12\x44\n\x06source\x18\x02 \x01(\x0b\x32\x34.google.cloud.datacatalog.lineage.v1.EntityReference\x12\x44\n\x06target\x18\x03 \x01(\x0b\x32\x34.google.cloud.datacatalog.lineage.v1.EntityReference\x12.\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x98\x01\n\x1f\x42\x61tchSearchLinkProcessesRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"datalineage.googleapis.com/Process\x12\x12\n\x05links\x18\x02 \x03(\tB\x03\xe0\x41\x02\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"\x85\x01\n BatchSearchLinkProcessesResponse\x12H\n\rprocess_links\x18\x01 \x03(\x0b\x32\x31.google.cloud.datacatalog.lineage.v1.ProcessLinks\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x8d\x01\n\x0cProcessLinks\x12\x38\n\x07process\x18\x01 \x01(\tB\'\xfa\x41$\n\"datalineage.googleapis.com/Process\x12\x43\n\x05links\x18\x02 \x03(\x0b\x32\x34.google.cloud.datacatalog.lineage.v1.ProcessLinkInfo\"}\n\x0fProcessLinkInfo\x12\x0c\n\x04link\x18\x01 \x01(\t\x12.\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12,\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xe9\x01\n\x06Origin\x12K\n\x0bsource_type\x18\x01 \x01(\x0e\x32\x36.google.cloud.datacatalog.lineage.v1.Origin.SourceType\x12\x0c\n\x04name\x18\x02 \x01(\t\"\x83\x01\n\nSourceType\x12\x1b\n\x17SOURCE_TYPE_UNSPECIFIED\x10\x00\x12\n\n\x06\x43USTOM\x10\x01\x12\x0c\n\x08\x42IGQUERY\x10\x02\x12\x0f\n\x0b\x44\x41TA_FUSION\x10\x03\x12\x0c\n\x08\x43OMPOSER\x10\x04\x12\x11\n\rLOOKER_STUDIO\x10\x05\x12\x0c\n\x08\x44\x41TAPROC\x10\x06\x32\xbc\x1d\n\x07Lineage\x12\x99\x02\n\x1aProcessOpenLineageRunEvent\x12\x46.google.cloud.datacatalog.lineage.v1.ProcessOpenLineageRunEventRequest\x1aG.google.cloud.datacatalog.lineage.v1.ProcessOpenLineageRunEventResponse\"j\x82\xd3\xe4\x93\x02N\">/v1/{parent=projects/*/locations/*}:processOpenLineageRunEvent:\x0copen_lineage\xda\x41\x13parent,open_lineage\x12\xc9\x01\n\rCreateProcess\x12\x39.google.cloud.datacatalog.lineage.v1.CreateProcessRequest\x1a,.google.cloud.datacatalog.lineage.v1.Process\"O\x82\xd3\xe4\x93\x02\x38\"-/v1/{parent=projects/*/locations/*}/processes:\x07process\xda\x41\x0eparent,process\x12\xd6\x01\n\rUpdateProcess\x12\x39.google.cloud.datacatalog.lineage.v1.UpdateProcessRequest\x1a,.google.cloud.datacatalog.lineage.v1.Process\"\\\x82\xd3\xe4\x93\x02@25/v1/{process.name=projects/*/locations/*/processes/*}:\x07process\xda\x41\x13process,update_mask\x12\xb0\x01\n\nGetProcess\x12\x36.google.cloud.datacatalog.lineage.v1.GetProcessRequest\x1a,.google.cloud.datacatalog.lineage.v1.Process\"<\x82\xd3\xe4\x93\x02/\x12-/v1/{name=projects/*/locations/*/processes/*}\xda\x41\x04name\x12\xc6\x01\n\rListProcesses\x12\x39.google.cloud.datacatalog.lineage.v1.ListProcessesRequest\x1a:.google.cloud.datacatalog.lineage.v1.ListProcessesResponse\">\x82\xd3\xe4\x93\x02/\x12-/v1/{parent=projects/*/locations/*}/processes\xda\x41\x06parent\x12\xf9\x01\n\rDeleteProcess\x12\x39.google.cloud.datacatalog.lineage.v1.DeleteProcessRequest\x1a\x1d.google.longrunning.Operation\"\x8d\x01\x82\xd3\xe4\x93\x02/*-/v1/{name=projects/*/locations/*/processes/*}\xda\x41\x04name\xca\x41N\n\x15google.protobuf.Empty\x12\x35google.cloud.datacatalog.lineage.v1.OperationMetadata\x12\xbc\x01\n\tCreateRun\x12\x35.google.cloud.datacatalog.lineage.v1.CreateRunRequest\x1a(.google.cloud.datacatalog.lineage.v1.Run\"N\x82\xd3\xe4\x93\x02;\"4/v1/{parent=projects/*/locations/*/processes/*}/runs:\x03run\xda\x41\nparent,run\x12\xc5\x01\n\tUpdateRun\x12\x35.google.cloud.datacatalog.lineage.v1.UpdateRunRequest\x1a(.google.cloud.datacatalog.lineage.v1.Run\"W\x82\xd3\xe4\x93\x02?28/v1/{run.name=projects/*/locations/*/processes/*/runs/*}:\x03run\xda\x41\x0frun,update_mask\x12\xab\x01\n\x06GetRun\x12\x32.google.cloud.datacatalog.lineage.v1.GetRunRequest\x1a(.google.cloud.datacatalog.lineage.v1.Run\"C\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{name=projects/*/locations/*/processes/*/runs/*}\xda\x41\x04name\x12\xbe\x01\n\x08ListRuns\x12\x34.google.cloud.datacatalog.lineage.v1.ListRunsRequest\x1a\x35.google.cloud.datacatalog.lineage.v1.ListRunsResponse\"E\x82\xd3\xe4\x93\x02\x36\x12\x34/v1/{parent=projects/*/locations/*/processes/*}/runs\xda\x41\x06parent\x12\xf8\x01\n\tDeleteRun\x12\x35.google.cloud.datacatalog.lineage.v1.DeleteRunRequest\x1a\x1d.google.longrunning.Operation\"\x94\x01\x82\xd3\xe4\x93\x02\x36*4/v1/{name=projects/*/locations/*/processes/*/runs/*}\xda\x41\x04name\xca\x41N\n\x15google.protobuf.Empty\x12\x35google.cloud.datacatalog.lineage.v1.OperationMetadata\x12\xfb\x01\n\x12\x43reateLineageEvent\x12>.google.cloud.datacatalog.lineage.v1.CreateLineageEventRequest\x1a\x31.google.cloud.datacatalog.lineage.v1.LineageEvent\"r\x82\xd3\xe4\x93\x02U\"D/v1/{parent=projects/*/locations/*/processes/*/runs/*}/lineageEvents:\rlineage_event\xda\x41\x14parent,lineage_event\x12\xd6\x01\n\x0fGetLineageEvent\x12;.google.cloud.datacatalog.lineage.v1.GetLineageEventRequest\x1a\x31.google.cloud.datacatalog.lineage.v1.LineageEvent\"S\x82\xd3\xe4\x93\x02\x46\x12\x44/v1/{name=projects/*/locations/*/processes/*/runs/*/lineageEvents/*}\xda\x41\x04name\x12\xe9\x01\n\x11ListLineageEvents\x12=.google.cloud.datacatalog.lineage.v1.ListLineageEventsRequest\x1a>.google.cloud.datacatalog.lineage.v1.ListLineageEventsResponse\"U\x82\xd3\xe4\x93\x02\x46\x12\x44/v1/{parent=projects/*/locations/*/processes/*/runs/*}/lineageEvents\xda\x41\x06parent\x12\xc1\x01\n\x12\x44\x65leteLineageEvent\x12>.google.cloud.datacatalog.lineage.v1.DeleteLineageEventRequest\x1a\x16.google.protobuf.Empty\"S\x82\xd3\xe4\x93\x02\x46*D/v1/{name=projects/*/locations/*/processes/*/runs/*/lineageEvents/*}\xda\x41\x04name\x12\xbc\x01\n\x0bSearchLinks\x12\x37.google.cloud.datacatalog.lineage.v1.SearchLinksRequest\x1a\x38.google.cloud.datacatalog.lineage.v1.SearchLinksResponse\":\x82\xd3\xe4\x93\x02\x34\"//v1/{parent=projects/*/locations/*}:searchLinks:\x01*\x12\xf0\x01\n\x18\x42\x61tchSearchLinkProcesses\x12\x44.google.cloud.datacatalog.lineage.v1.BatchSearchLinkProcessesRequest\x1a\x45.google.cloud.datacatalog.lineage.v1.BatchSearchLinkProcessesResponse\"G\x82\xd3\xe4\x93\x02\x41\"</v1/{parent=projects/*/locations/*}:batchSearchLinkProcesses:\x01*\x1aN\xca\x41\x1a\x64\x61talineage.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xf2\x01\n\'com.google.cloud.datacatalog.lineage.v1B\x0cLineageProtoP\x01ZAcloud.google.com/go/datacatalog/lineage/apiv1/lineagepb;lineagepb\xaa\x02#Google.Cloud.DataCatalog.Lineage.V1\xca\x02#Google\\Cloud\\DataCatalog\\Lineage\\V1\xea\x02\'Google::Cloud::DataCatalog::Lineage::V1b\x06proto3"
19
19
 
20
20
  pool = Google::Protobuf::DescriptorPool.generated_pool
21
21
 
@@ -58,6 +58,8 @@ module Google
58
58
  OperationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.lineage.v1.OperationMetadata").msgclass
59
59
  OperationMetadata::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.lineage.v1.OperationMetadata.State").enummodule
60
60
  OperationMetadata::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.lineage.v1.OperationMetadata.Type").enummodule
61
+ ProcessOpenLineageRunEventRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.lineage.v1.ProcessOpenLineageRunEventRequest").msgclass
62
+ ProcessOpenLineageRunEventResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.lineage.v1.ProcessOpenLineageRunEventResponse").msgclass
61
63
  CreateProcessRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.lineage.v1.CreateProcessRequest").msgclass
62
64
  UpdateProcessRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.lineage.v1.UpdateProcessRequest").msgclass
63
65
  GetProcessRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datacatalog.lineage.v1.GetProcessRequest").msgclass
@@ -37,6 +37,11 @@ module Google
37
37
  self.unmarshal_class_method = :decode
38
38
  self.service_name = 'google.cloud.datacatalog.lineage.v1.Lineage'
39
39
 
40
+ # Creates new lineage events together with their parents: process and run.
41
+ # Updates the process and run if they already exist.
42
+ # Mapped from Open Lineage specification:
43
+ # https://github.com/OpenLineage/OpenLineage/blob/main/spec/OpenLineage.json.
44
+ rpc :ProcessOpenLineageRunEvent, ::Google::Cloud::DataCatalog::Lineage::V1::ProcessOpenLineageRunEventRequest, ::Google::Cloud::DataCatalog::Lineage::V1::ProcessOpenLineageRunEventResponse
40
45
  # Creates a new process.
41
46
  rpc :CreateProcess, ::Google::Cloud::DataCatalog::Lineage::V1::CreateProcessRequest, ::Google::Cloud::DataCatalog::Lineage::V1::Process
42
47
  # Updates a process.
@@ -21,6 +21,7 @@ module Google
21
21
  module Api
22
22
  # Required information for every language.
23
23
  # @!attribute [rw] reference_docs_uri
24
+ # @deprecated This field is deprecated and may be removed in the next major version update.
24
25
  # @return [::String]
25
26
  # Link to automatically generated reference documentation. Example:
26
27
  # https://cloud.google.com/nodejs/docs/reference/asset/latest
@@ -304,6 +305,19 @@ module Google
304
305
  # seconds: 360 # 6 minutes
305
306
  # total_poll_timeout:
306
307
  # seconds: 54000 # 90 minutes
308
+ # @!attribute [rw] auto_populated_fields
309
+ # @return [::Array<::String>]
310
+ # List of top-level fields of the request message, that should be
311
+ # automatically populated by the client libraries based on their
312
+ # (google.api.field_info).format. Currently supported format: UUID4.
313
+ #
314
+ # Example of a YAML configuration:
315
+ #
316
+ # publishing:
317
+ # method_settings:
318
+ # - selector: google.example.v1.ExampleService.CreateExample
319
+ # auto_populated_fields:
320
+ # - request_id
307
321
  class MethodSettings
308
322
  include ::Google::Protobuf::MessageExts
309
323
  extend ::Google::Protobuf::MessageExts::ClassMethods