google-apis-datalineage_v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,776 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module DatalineageV1
24
+
25
+ # Request message for BatchSearchLinkProcesses.
26
+ class GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesRequest
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Required. An array of links to check for their associated LineageProcesses.
30
+ # The maximum number of items in this array is 100. If the request contains more
31
+ # than 100 links, it returns the `INVALID_ARGUMENT` error. Format: `projects/`
32
+ # project`/locations/`location`/links/`link``.
33
+ # Corresponds to the JSON property `links`
34
+ # @return [Array<String>]
35
+ attr_accessor :links
36
+
37
+ # The maximum number of processes to return in a single page of the response. A
38
+ # page may contain fewer results than this value.
39
+ # Corresponds to the JSON property `pageSize`
40
+ # @return [Fixnum]
41
+ attr_accessor :page_size
42
+
43
+ # The page token received from a previous `BatchSearchLinkProcesses` call. Use
44
+ # it to get the next page. When requesting subsequent pages of a response,
45
+ # remember that all parameters must match the values you provided in the
46
+ # original request.
47
+ # Corresponds to the JSON property `pageToken`
48
+ # @return [String]
49
+ attr_accessor :page_token
50
+
51
+ def initialize(**args)
52
+ update!(**args)
53
+ end
54
+
55
+ # Update properties of this object
56
+ def update!(**args)
57
+ @links = args[:links] if args.key?(:links)
58
+ @page_size = args[:page_size] if args.key?(:page_size)
59
+ @page_token = args[:page_token] if args.key?(:page_token)
60
+ end
61
+ end
62
+
63
+ # Response message for BatchSearchLinkProcesses.
64
+ class GoogleCloudDatacatalogLineageV1BatchSearchLinkProcessesResponse
65
+ include Google::Apis::Core::Hashable
66
+
67
+ # The token to specify as `page_token` in the subsequent call to get the next
68
+ # page. Omitted if there are no more pages in the response.
69
+ # Corresponds to the JSON property `nextPageToken`
70
+ # @return [String]
71
+ attr_accessor :next_page_token
72
+
73
+ # An array of processes associated with the specified links.
74
+ # Corresponds to the JSON property `processLinks`
75
+ # @return [Array<Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageV1ProcessLinks>]
76
+ attr_accessor :process_links
77
+
78
+ def initialize(**args)
79
+ update!(**args)
80
+ end
81
+
82
+ # Update properties of this object
83
+ def update!(**args)
84
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
85
+ @process_links = args[:process_links] if args.key?(:process_links)
86
+ end
87
+ end
88
+
89
+ # The soft reference to everything you can attach a lineage event to.
90
+ class GoogleCloudDatacatalogLineageV1EntityReference
91
+ include Google::Apis::Core::Hashable
92
+
93
+ # Required. Fully Qualified Name of the entity. Useful for referencing entities
94
+ # that aren't represented as Google Cloud resources, for example, tables in
95
+ # Dataproc Metastore API. Examples: * `bigquery:dataset.project_id.dataset_id` *
96
+ # `bigquery:table.project_id.dataset_id.table_id` * `pubsub:project_id.topic_id`
97
+ # * `dataproc_metastore:projectId.locationId.instanceId.databaseId.tableId`
98
+ # Corresponds to the JSON property `fullyQualifiedName`
99
+ # @return [String]
100
+ attr_accessor :fully_qualified_name
101
+
102
+ def initialize(**args)
103
+ update!(**args)
104
+ end
105
+
106
+ # Update properties of this object
107
+ def update!(**args)
108
+ @fully_qualified_name = args[:fully_qualified_name] if args.key?(:fully_qualified_name)
109
+ end
110
+ end
111
+
112
+ # A lineage between source and target entities.
113
+ class GoogleCloudDatacatalogLineageV1EventLink
114
+ include Google::Apis::Core::Hashable
115
+
116
+ # The soft reference to everything you can attach a lineage event to.
117
+ # Corresponds to the JSON property `source`
118
+ # @return [Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageV1EntityReference]
119
+ attr_accessor :source
120
+
121
+ # The soft reference to everything you can attach a lineage event to.
122
+ # Corresponds to the JSON property `target`
123
+ # @return [Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageV1EntityReference]
124
+ attr_accessor :target
125
+
126
+ def initialize(**args)
127
+ update!(**args)
128
+ end
129
+
130
+ # Update properties of this object
131
+ def update!(**args)
132
+ @source = args[:source] if args.key?(:source)
133
+ @target = args[:target] if args.key?(:target)
134
+ end
135
+ end
136
+
137
+ # A lineage event represents an operation on assets. Within the operation, the
138
+ # data flows from the source to the target defined in the links field.
139
+ class GoogleCloudDatacatalogLineageV1LineageEvent
140
+ include Google::Apis::Core::Hashable
141
+
142
+ # Optional. The end of the transformation which resulted in this lineage event.
143
+ # For streaming scenarios, it should be the end of the period from which the
144
+ # lineage is being reported.
145
+ # Corresponds to the JSON property `endTime`
146
+ # @return [String]
147
+ attr_accessor :end_time
148
+
149
+ # Optional. List of source-target pairs. Can't contain more than 100 tuples.
150
+ # Corresponds to the JSON property `links`
151
+ # @return [Array<Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageV1EventLink>]
152
+ attr_accessor :links
153
+
154
+ # Immutable. The resource name of the lineage event. Format: `projects/`project`/
155
+ # locations/`location`/processes/`process`/runs/`run`/lineageEvents/`
156
+ # lineage_event``. Can be specified or auto-assigned. `lineage_event` must be
157
+ # not longer than 200 characters and only contain characters in a set: `a-zA-Z0-
158
+ # 9_-:.`
159
+ # Corresponds to the JSON property `name`
160
+ # @return [String]
161
+ attr_accessor :name
162
+
163
+ # Optional. The beginning of the transformation which resulted in this lineage
164
+ # event. For streaming scenarios, it should be the beginning of the period from
165
+ # which the lineage is being reported.
166
+ # Corresponds to the JSON property `startTime`
167
+ # @return [String]
168
+ attr_accessor :start_time
169
+
170
+ def initialize(**args)
171
+ update!(**args)
172
+ end
173
+
174
+ # Update properties of this object
175
+ def update!(**args)
176
+ @end_time = args[:end_time] if args.key?(:end_time)
177
+ @links = args[:links] if args.key?(:links)
178
+ @name = args[:name] if args.key?(:name)
179
+ @start_time = args[:start_time] if args.key?(:start_time)
180
+ end
181
+ end
182
+
183
+ # Links represent the data flow between **source** (upstream) and **target** (
184
+ # downstream) assets in transformation pipelines. Links are created when
185
+ # LineageEvents record data transformation between related assets.
186
+ class GoogleCloudDatacatalogLineageV1Link
187
+ include Google::Apis::Core::Hashable
188
+
189
+ # The end of the last event establishing this link.
190
+ # Corresponds to the JSON property `endTime`
191
+ # @return [String]
192
+ attr_accessor :end_time
193
+
194
+ # Output only. Immutable. The name of the link. Format: `projects/`project`/
195
+ # locations/`location`/links/`link``.
196
+ # Corresponds to the JSON property `name`
197
+ # @return [String]
198
+ attr_accessor :name
199
+
200
+ # The soft reference to everything you can attach a lineage event to.
201
+ # Corresponds to the JSON property `source`
202
+ # @return [Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageV1EntityReference]
203
+ attr_accessor :source
204
+
205
+ # The start of the first event establishing this link.
206
+ # Corresponds to the JSON property `startTime`
207
+ # @return [String]
208
+ attr_accessor :start_time
209
+
210
+ # The soft reference to everything you can attach a lineage event to.
211
+ # Corresponds to the JSON property `target`
212
+ # @return [Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageV1EntityReference]
213
+ attr_accessor :target
214
+
215
+ def initialize(**args)
216
+ update!(**args)
217
+ end
218
+
219
+ # Update properties of this object
220
+ def update!(**args)
221
+ @end_time = args[:end_time] if args.key?(:end_time)
222
+ @name = args[:name] if args.key?(:name)
223
+ @source = args[:source] if args.key?(:source)
224
+ @start_time = args[:start_time] if args.key?(:start_time)
225
+ @target = args[:target] if args.key?(:target)
226
+ end
227
+ end
228
+
229
+ # Response message for ListLineageEvents.
230
+ class GoogleCloudDatacatalogLineageV1ListLineageEventsResponse
231
+ include Google::Apis::Core::Hashable
232
+
233
+ # Lineage events from the specified project and location.
234
+ # Corresponds to the JSON property `lineageEvents`
235
+ # @return [Array<Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageV1LineageEvent>]
236
+ attr_accessor :lineage_events
237
+
238
+ # The token to specify as `page_token` in the next call to get the next page. If
239
+ # this field is omitted, there are no subsequent pages.
240
+ # Corresponds to the JSON property `nextPageToken`
241
+ # @return [String]
242
+ attr_accessor :next_page_token
243
+
244
+ def initialize(**args)
245
+ update!(**args)
246
+ end
247
+
248
+ # Update properties of this object
249
+ def update!(**args)
250
+ @lineage_events = args[:lineage_events] if args.key?(:lineage_events)
251
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
252
+ end
253
+ end
254
+
255
+ # Response message for ListProcesses.
256
+ class GoogleCloudDatacatalogLineageV1ListProcessesResponse
257
+ include Google::Apis::Core::Hashable
258
+
259
+ # The token to specify as `page_token` in the next call to get the next page. If
260
+ # this field is omitted, there are no subsequent pages.
261
+ # Corresponds to the JSON property `nextPageToken`
262
+ # @return [String]
263
+ attr_accessor :next_page_token
264
+
265
+ # The processes from the specified project and location.
266
+ # Corresponds to the JSON property `processes`
267
+ # @return [Array<Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageV1Process>]
268
+ attr_accessor :processes
269
+
270
+ def initialize(**args)
271
+ update!(**args)
272
+ end
273
+
274
+ # Update properties of this object
275
+ def update!(**args)
276
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
277
+ @processes = args[:processes] if args.key?(:processes)
278
+ end
279
+ end
280
+
281
+ # Response message for ListRuns.
282
+ class GoogleCloudDatacatalogLineageV1ListRunsResponse
283
+ include Google::Apis::Core::Hashable
284
+
285
+ # The token to specify as `page_token` in the next call to get the next page. If
286
+ # this field is omitted, there are no subsequent pages.
287
+ # Corresponds to the JSON property `nextPageToken`
288
+ # @return [String]
289
+ attr_accessor :next_page_token
290
+
291
+ # The runs from the specified project and location.
292
+ # Corresponds to the JSON property `runs`
293
+ # @return [Array<Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageV1Run>]
294
+ attr_accessor :runs
295
+
296
+ def initialize(**args)
297
+ update!(**args)
298
+ end
299
+
300
+ # Update properties of this object
301
+ def update!(**args)
302
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
303
+ @runs = args[:runs] if args.key?(:runs)
304
+ end
305
+ end
306
+
307
+ # Metadata describing the operation.
308
+ class GoogleCloudDatacatalogLineageV1OperationMetadata
309
+ include Google::Apis::Core::Hashable
310
+
311
+ # Output only. The timestamp of the operation submission to the server.
312
+ # Corresponds to the JSON property `createTime`
313
+ # @return [String]
314
+ attr_accessor :create_time
315
+
316
+ # Output only. The timestamp of the operation termination, regardless of its
317
+ # success. This field is unset if the operation is still ongoing.
318
+ # Corresponds to the JSON property `endTime`
319
+ # @return [String]
320
+ attr_accessor :end_time
321
+
322
+ # Output only. The type of the operation being performed.
323
+ # Corresponds to the JSON property `operationType`
324
+ # @return [String]
325
+ attr_accessor :operation_type
326
+
327
+ # Output only. The [relative name] (https://cloud.google.com//apis/design/
328
+ # resource_names#relative_resource_name) of the resource being operated on.
329
+ # Corresponds to the JSON property `resource`
330
+ # @return [String]
331
+ attr_accessor :resource
332
+
333
+ # Output only. The UUID of the resource being operated on.
334
+ # Corresponds to the JSON property `resourceUuid`
335
+ # @return [String]
336
+ attr_accessor :resource_uuid
337
+
338
+ # Output only. The current operation state.
339
+ # Corresponds to the JSON property `state`
340
+ # @return [String]
341
+ attr_accessor :state
342
+
343
+ def initialize(**args)
344
+ update!(**args)
345
+ end
346
+
347
+ # Update properties of this object
348
+ def update!(**args)
349
+ @create_time = args[:create_time] if args.key?(:create_time)
350
+ @end_time = args[:end_time] if args.key?(:end_time)
351
+ @operation_type = args[:operation_type] if args.key?(:operation_type)
352
+ @resource = args[:resource] if args.key?(:resource)
353
+ @resource_uuid = args[:resource_uuid] if args.key?(:resource_uuid)
354
+ @state = args[:state] if args.key?(:state)
355
+ end
356
+ end
357
+
358
+ # Origin of a process.
359
+ class GoogleCloudDatacatalogLineageV1Origin
360
+ include Google::Apis::Core::Hashable
361
+
362
+ # If the source_type isn't CUSTOM, the value of this field should be a Google
363
+ # Cloud resource name of the system, which reports lineage. The project and
364
+ # location parts of the resource name must match the project and location of the
365
+ # lineage resource being created. Examples: - ``source_type: COMPOSER, name: "
366
+ # projects/foo/locations/us/environments/bar"`` - ``source_type: BIGQUERY, name:
367
+ # "projects/foo/locations/eu"`` - ``source_type: CUSTOM, name: "
368
+ # myCustomIntegration"``
369
+ # Corresponds to the JSON property `name`
370
+ # @return [String]
371
+ attr_accessor :name
372
+
373
+ # Type of the source.
374
+ # Corresponds to the JSON property `sourceType`
375
+ # @return [String]
376
+ attr_accessor :source_type
377
+
378
+ def initialize(**args)
379
+ update!(**args)
380
+ end
381
+
382
+ # Update properties of this object
383
+ def update!(**args)
384
+ @name = args[:name] if args.key?(:name)
385
+ @source_type = args[:source_type] if args.key?(:source_type)
386
+ end
387
+ end
388
+
389
+ # A process is the definition of a data transformation operation.
390
+ class GoogleCloudDatacatalogLineageV1Process
391
+ include Google::Apis::Core::Hashable
392
+
393
+ # Optional. The attributes of the process. Should only be used for the purpose
394
+ # of non-semantic management (classifying, describing or labeling the process).
395
+ # Up to 100 attributes are allowed.
396
+ # Corresponds to the JSON property `attributes`
397
+ # @return [Hash<String,Object>]
398
+ attr_accessor :attributes
399
+
400
+ # Optional. A human-readable name you can set to display in a user interface.
401
+ # Must be not longer than 200 characters and only contain UTF-8 letters or
402
+ # numbers, spaces or characters like `_-:&.`
403
+ # Corresponds to the JSON property `displayName`
404
+ # @return [String]
405
+ attr_accessor :display_name
406
+
407
+ # Immutable. The resource name of the lineage process. Format: `projects/`
408
+ # project`/locations/`location`/processes/`process``. Can be specified or auto-
409
+ # assigned. `process` must be not longer than 200 characters and only contain
410
+ # characters in a set: `a-zA-Z0-9_-:.`
411
+ # Corresponds to the JSON property `name`
412
+ # @return [String]
413
+ attr_accessor :name
414
+
415
+ # Origin of a process.
416
+ # Corresponds to the JSON property `origin`
417
+ # @return [Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageV1Origin]
418
+ attr_accessor :origin
419
+
420
+ def initialize(**args)
421
+ update!(**args)
422
+ end
423
+
424
+ # Update properties of this object
425
+ def update!(**args)
426
+ @attributes = args[:attributes] if args.key?(:attributes)
427
+ @display_name = args[:display_name] if args.key?(:display_name)
428
+ @name = args[:name] if args.key?(:name)
429
+ @origin = args[:origin] if args.key?(:origin)
430
+ end
431
+ end
432
+
433
+ # Link details.
434
+ class GoogleCloudDatacatalogLineageV1ProcessLinkInfo
435
+ include Google::Apis::Core::Hashable
436
+
437
+ # The end of the last event establishing this link-process tuple.
438
+ # Corresponds to the JSON property `endTime`
439
+ # @return [String]
440
+ attr_accessor :end_time
441
+
442
+ # The name of the link in the format of `projects/`project`/locations/`location`/
443
+ # links/`link``.
444
+ # Corresponds to the JSON property `link`
445
+ # @return [String]
446
+ attr_accessor :link
447
+
448
+ # The start of the first event establishing this link-process tuple.
449
+ # Corresponds to the JSON property `startTime`
450
+ # @return [String]
451
+ attr_accessor :start_time
452
+
453
+ def initialize(**args)
454
+ update!(**args)
455
+ end
456
+
457
+ # Update properties of this object
458
+ def update!(**args)
459
+ @end_time = args[:end_time] if args.key?(:end_time)
460
+ @link = args[:link] if args.key?(:link)
461
+ @start_time = args[:start_time] if args.key?(:start_time)
462
+ end
463
+ end
464
+
465
+ # Links associated with a specific process.
466
+ class GoogleCloudDatacatalogLineageV1ProcessLinks
467
+ include Google::Apis::Core::Hashable
468
+
469
+ # An array containing link details objects of the links provided in the original
470
+ # request. A single process can result in creating multiple links. If any of the
471
+ # links you provide in the request are created by the same process, they all are
472
+ # included in this array.
473
+ # Corresponds to the JSON property `links`
474
+ # @return [Array<Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageV1ProcessLinkInfo>]
475
+ attr_accessor :links
476
+
477
+ # The process name in the format of `projects/`project`/locations/`location`/
478
+ # processes/`process``.
479
+ # Corresponds to the JSON property `process`
480
+ # @return [String]
481
+ attr_accessor :process
482
+
483
+ def initialize(**args)
484
+ update!(**args)
485
+ end
486
+
487
+ # Update properties of this object
488
+ def update!(**args)
489
+ @links = args[:links] if args.key?(:links)
490
+ @process = args[:process] if args.key?(:process)
491
+ end
492
+ end
493
+
494
+ # A lineage run represents an execution of a process that creates lineage events.
495
+ class GoogleCloudDatacatalogLineageV1Run
496
+ include Google::Apis::Core::Hashable
497
+
498
+ # Optional. The attributes of the run. Should only be used for the purpose of
499
+ # non-semantic management (classifying, describing or labeling the run). Up to
500
+ # 100 attributes are allowed.
501
+ # Corresponds to the JSON property `attributes`
502
+ # @return [Hash<String,Object>]
503
+ attr_accessor :attributes
504
+
505
+ # Optional. A human-readable name you can set to display in a user interface.
506
+ # Must be not longer than 1024 characters and only contain UTF-8 letters or
507
+ # numbers, spaces or characters like `_-:&.`
508
+ # Corresponds to the JSON property `displayName`
509
+ # @return [String]
510
+ attr_accessor :display_name
511
+
512
+ # Optional. The timestamp of the end of the run.
513
+ # Corresponds to the JSON property `endTime`
514
+ # @return [String]
515
+ attr_accessor :end_time
516
+
517
+ # Immutable. The resource name of the run. Format: `projects/`project`/locations/
518
+ # `location`/processes/`process`/runs/`run``. Can be specified or auto-assigned.
519
+ # `run` must be not longer than 200 characters and only contain characters in a
520
+ # set: `a-zA-Z0-9_-:.`
521
+ # Corresponds to the JSON property `name`
522
+ # @return [String]
523
+ attr_accessor :name
524
+
525
+ # Required. The timestamp of the start of the run.
526
+ # Corresponds to the JSON property `startTime`
527
+ # @return [String]
528
+ attr_accessor :start_time
529
+
530
+ # Required. The state of the run.
531
+ # Corresponds to the JSON property `state`
532
+ # @return [String]
533
+ attr_accessor :state
534
+
535
+ def initialize(**args)
536
+ update!(**args)
537
+ end
538
+
539
+ # Update properties of this object
540
+ def update!(**args)
541
+ @attributes = args[:attributes] if args.key?(:attributes)
542
+ @display_name = args[:display_name] if args.key?(:display_name)
543
+ @end_time = args[:end_time] if args.key?(:end_time)
544
+ @name = args[:name] if args.key?(:name)
545
+ @start_time = args[:start_time] if args.key?(:start_time)
546
+ @state = args[:state] if args.key?(:state)
547
+ end
548
+ end
549
+
550
+ # Request message for SearchLinks.
551
+ class GoogleCloudDatacatalogLineageV1SearchLinksRequest
552
+ include Google::Apis::Core::Hashable
553
+
554
+ # Optional. The maximum number of links to return in a single page of the
555
+ # response. A page may contain fewer links than this value. If unspecified, at
556
+ # most 10 links are returned. Maximum value is 100; values greater than 100 are
557
+ # reduced to 100.
558
+ # Corresponds to the JSON property `pageSize`
559
+ # @return [Fixnum]
560
+ attr_accessor :page_size
561
+
562
+ # Optional. The page token received from a previous `SearchLinksRequest` call.
563
+ # Use it to get the next page. When requesting subsequent pages of a response,
564
+ # remember that all parameters must match the values you provided in the
565
+ # original request.
566
+ # Corresponds to the JSON property `pageToken`
567
+ # @return [String]
568
+ attr_accessor :page_token
569
+
570
+ # The soft reference to everything you can attach a lineage event to.
571
+ # Corresponds to the JSON property `source`
572
+ # @return [Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageV1EntityReference]
573
+ attr_accessor :source
574
+
575
+ # The soft reference to everything you can attach a lineage event to.
576
+ # Corresponds to the JSON property `target`
577
+ # @return [Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageV1EntityReference]
578
+ attr_accessor :target
579
+
580
+ def initialize(**args)
581
+ update!(**args)
582
+ end
583
+
584
+ # Update properties of this object
585
+ def update!(**args)
586
+ @page_size = args[:page_size] if args.key?(:page_size)
587
+ @page_token = args[:page_token] if args.key?(:page_token)
588
+ @source = args[:source] if args.key?(:source)
589
+ @target = args[:target] if args.key?(:target)
590
+ end
591
+ end
592
+
593
+ # Response message for SearchLinks.
594
+ class GoogleCloudDatacatalogLineageV1SearchLinksResponse
595
+ include Google::Apis::Core::Hashable
596
+
597
+ # The list of links for a given asset. Can be empty if the asset has no
598
+ # relations of requested type (source or target).
599
+ # Corresponds to the JSON property `links`
600
+ # @return [Array<Google::Apis::DatalineageV1::GoogleCloudDatacatalogLineageV1Link>]
601
+ attr_accessor :links
602
+
603
+ # The token to specify as `page_token` in the subsequent call to get the next
604
+ # page. Omitted if there are no more pages in the response.
605
+ # Corresponds to the JSON property `nextPageToken`
606
+ # @return [String]
607
+ attr_accessor :next_page_token
608
+
609
+ def initialize(**args)
610
+ update!(**args)
611
+ end
612
+
613
+ # Update properties of this object
614
+ def update!(**args)
615
+ @links = args[:links] if args.key?(:links)
616
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
617
+ end
618
+ end
619
+
620
+ # The request message for Operations.CancelOperation.
621
+ class GoogleLongrunningCancelOperationRequest
622
+ include Google::Apis::Core::Hashable
623
+
624
+ def initialize(**args)
625
+ update!(**args)
626
+ end
627
+
628
+ # Update properties of this object
629
+ def update!(**args)
630
+ end
631
+ end
632
+
633
+ # The response message for Operations.ListOperations.
634
+ class GoogleLongrunningListOperationsResponse
635
+ include Google::Apis::Core::Hashable
636
+
637
+ # The standard List next-page token.
638
+ # Corresponds to the JSON property `nextPageToken`
639
+ # @return [String]
640
+ attr_accessor :next_page_token
641
+
642
+ # A list of operations that matches the specified filter in the request.
643
+ # Corresponds to the JSON property `operations`
644
+ # @return [Array<Google::Apis::DatalineageV1::GoogleLongrunningOperation>]
645
+ attr_accessor :operations
646
+
647
+ def initialize(**args)
648
+ update!(**args)
649
+ end
650
+
651
+ # Update properties of this object
652
+ def update!(**args)
653
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
654
+ @operations = args[:operations] if args.key?(:operations)
655
+ end
656
+ end
657
+
658
+ # This resource represents a long-running operation that is the result of a
659
+ # network API call.
660
+ class GoogleLongrunningOperation
661
+ include Google::Apis::Core::Hashable
662
+
663
+ # If the value is `false`, it means the operation is still in progress. If `true`
664
+ # , the operation is completed, and either `error` or `response` is available.
665
+ # Corresponds to the JSON property `done`
666
+ # @return [Boolean]
667
+ attr_accessor :done
668
+ alias_method :done?, :done
669
+
670
+ # The `Status` type defines a logical error model that is suitable for different
671
+ # programming environments, including REST APIs and RPC APIs. It is used by [
672
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
673
+ # data: error code, error message, and error details. You can find out more
674
+ # about this error model and how to work with it in the [API Design Guide](https:
675
+ # //cloud.google.com/apis/design/errors).
676
+ # Corresponds to the JSON property `error`
677
+ # @return [Google::Apis::DatalineageV1::GoogleRpcStatus]
678
+ attr_accessor :error
679
+
680
+ # Service-specific metadata associated with the operation. It typically contains
681
+ # progress information and common metadata such as create time. Some services
682
+ # might not provide such metadata. Any method that returns a long-running
683
+ # operation should document the metadata type, if any.
684
+ # Corresponds to the JSON property `metadata`
685
+ # @return [Hash<String,Object>]
686
+ attr_accessor :metadata
687
+
688
+ # The server-assigned name, which is only unique within the same service that
689
+ # originally returns it. If you use the default HTTP mapping, the `name` should
690
+ # be a resource name ending with `operations/`unique_id``.
691
+ # Corresponds to the JSON property `name`
692
+ # @return [String]
693
+ attr_accessor :name
694
+
695
+ # The normal response of the operation in case of success. If the original
696
+ # method returns no data on success, such as `Delete`, the response is `google.
697
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
698
+ # the response should be the resource. For other methods, the response should
699
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
700
+ # example, if the original method name is `TakeSnapshot()`, the inferred
701
+ # response type is `TakeSnapshotResponse`.
702
+ # Corresponds to the JSON property `response`
703
+ # @return [Hash<String,Object>]
704
+ attr_accessor :response
705
+
706
+ def initialize(**args)
707
+ update!(**args)
708
+ end
709
+
710
+ # Update properties of this object
711
+ def update!(**args)
712
+ @done = args[:done] if args.key?(:done)
713
+ @error = args[:error] if args.key?(:error)
714
+ @metadata = args[:metadata] if args.key?(:metadata)
715
+ @name = args[:name] if args.key?(:name)
716
+ @response = args[:response] if args.key?(:response)
717
+ end
718
+ end
719
+
720
+ # A generic empty message that you can re-use to avoid defining duplicated empty
721
+ # messages in your APIs. A typical example is to use it as the request or the
722
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
723
+ # protobuf.Empty) returns (google.protobuf.Empty); `
724
+ class GoogleProtobufEmpty
725
+ include Google::Apis::Core::Hashable
726
+
727
+ def initialize(**args)
728
+ update!(**args)
729
+ end
730
+
731
+ # Update properties of this object
732
+ def update!(**args)
733
+ end
734
+ end
735
+
736
+ # The `Status` type defines a logical error model that is suitable for different
737
+ # programming environments, including REST APIs and RPC APIs. It is used by [
738
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
739
+ # data: error code, error message, and error details. You can find out more
740
+ # about this error model and how to work with it in the [API Design Guide](https:
741
+ # //cloud.google.com/apis/design/errors).
742
+ class GoogleRpcStatus
743
+ include Google::Apis::Core::Hashable
744
+
745
+ # The status code, which should be an enum value of google.rpc.Code.
746
+ # Corresponds to the JSON property `code`
747
+ # @return [Fixnum]
748
+ attr_accessor :code
749
+
750
+ # A list of messages that carry the error details. There is a common set of
751
+ # message types for APIs to use.
752
+ # Corresponds to the JSON property `details`
753
+ # @return [Array<Hash<String,Object>>]
754
+ attr_accessor :details
755
+
756
+ # A developer-facing error message, which should be in English. Any user-facing
757
+ # error message should be localized and sent in the google.rpc.Status.details
758
+ # field, or localized by the client.
759
+ # Corresponds to the JSON property `message`
760
+ # @return [String]
761
+ attr_accessor :message
762
+
763
+ def initialize(**args)
764
+ update!(**args)
765
+ end
766
+
767
+ # Update properties of this object
768
+ def update!(**args)
769
+ @code = args[:code] if args.key?(:code)
770
+ @details = args[:details] if args.key?(:details)
771
+ @message = args[:message] if args.key?(:message)
772
+ end
773
+ end
774
+ end
775
+ end
776
+ end