google-apis-datastream_v1 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,6 +22,101 @@ module Google
22
22
  module Apis
23
23
  module DatastreamV1
24
24
 
25
+ # AVRO file format configuration.
26
+ class AvroFileFormat
27
+ include Google::Apis::Core::Hashable
28
+
29
+ def initialize(**args)
30
+ update!(**args)
31
+ end
32
+
33
+ # Update properties of this object
34
+ def update!(**args)
35
+ end
36
+ end
37
+
38
+ # Backfill strategy to automatically backfill the Stream's objects. Specific
39
+ # objects can be excluded.
40
+ class BackfillAllStrategy
41
+ include Google::Apis::Core::Hashable
42
+
43
+ # MySQL database structure
44
+ # Corresponds to the JSON property `mysqlExcludedObjects`
45
+ # @return [Google::Apis::DatastreamV1::MysqlRdbms]
46
+ attr_accessor :mysql_excluded_objects
47
+
48
+ # Oracle database structure.
49
+ # Corresponds to the JSON property `oracleExcludedObjects`
50
+ # @return [Google::Apis::DatastreamV1::OracleRdbms]
51
+ attr_accessor :oracle_excluded_objects
52
+
53
+ def initialize(**args)
54
+ update!(**args)
55
+ end
56
+
57
+ # Update properties of this object
58
+ def update!(**args)
59
+ @mysql_excluded_objects = args[:mysql_excluded_objects] if args.key?(:mysql_excluded_objects)
60
+ @oracle_excluded_objects = args[:oracle_excluded_objects] if args.key?(:oracle_excluded_objects)
61
+ end
62
+ end
63
+
64
+ # Represents a backfill job on a specific stream object.
65
+ class BackfillJob
66
+ include Google::Apis::Core::Hashable
67
+
68
+ # Output only. Errors which caused the backfill job to fail.
69
+ # Corresponds to the JSON property `errors`
70
+ # @return [Array<Google::Apis::DatastreamV1::Error>]
71
+ attr_accessor :errors
72
+
73
+ # Output only. Backfill job's end time.
74
+ # Corresponds to the JSON property `lastEndTime`
75
+ # @return [String]
76
+ attr_accessor :last_end_time
77
+
78
+ # Output only. Backfill job's start time.
79
+ # Corresponds to the JSON property `lastStartTime`
80
+ # @return [String]
81
+ attr_accessor :last_start_time
82
+
83
+ # Backfill job state.
84
+ # Corresponds to the JSON property `state`
85
+ # @return [String]
86
+ attr_accessor :state
87
+
88
+ # Backfill job's triggering reason.
89
+ # Corresponds to the JSON property `trigger`
90
+ # @return [String]
91
+ attr_accessor :trigger
92
+
93
+ def initialize(**args)
94
+ update!(**args)
95
+ end
96
+
97
+ # Update properties of this object
98
+ def update!(**args)
99
+ @errors = args[:errors] if args.key?(:errors)
100
+ @last_end_time = args[:last_end_time] if args.key?(:last_end_time)
101
+ @last_start_time = args[:last_start_time] if args.key?(:last_start_time)
102
+ @state = args[:state] if args.key?(:state)
103
+ @trigger = args[:trigger] if args.key?(:trigger)
104
+ end
105
+ end
106
+
107
+ # Backfill strategy to disable automatic backfill for the Stream's objects.
108
+ class BackfillNoneStrategy
109
+ include Google::Apis::Core::Hashable
110
+
111
+ def initialize(**args)
112
+ update!(**args)
113
+ end
114
+
115
+ # Update properties of this object
116
+ def update!(**args)
117
+ end
118
+ end
119
+
25
120
  # The request message for Operations.CancelOperation.
26
121
  class CancelOperationRequest
27
122
  include Google::Apis::Core::Hashable
@@ -35,6 +130,189 @@ module Google
35
130
  end
36
131
  end
37
132
 
133
+ # A set of reusable connection configurations to be used as a source or
134
+ # destination for a stream.
135
+ class ConnectionProfile
136
+ include Google::Apis::Core::Hashable
137
+
138
+ # Output only. The create time of the resource.
139
+ # Corresponds to the JSON property `createTime`
140
+ # @return [String]
141
+ attr_accessor :create_time
142
+
143
+ # Required. Display name.
144
+ # Corresponds to the JSON property `displayName`
145
+ # @return [String]
146
+ attr_accessor :display_name
147
+
148
+ # Forward SSH Tunnel connectivity.
149
+ # Corresponds to the JSON property `forwardSshConnectivity`
150
+ # @return [Google::Apis::DatastreamV1::ForwardSshTunnelConnectivity]
151
+ attr_accessor :forward_ssh_connectivity
152
+
153
+ # Cloud Storage bucket profile.
154
+ # Corresponds to the JSON property `gcsProfile`
155
+ # @return [Google::Apis::DatastreamV1::GcsProfile]
156
+ attr_accessor :gcs_profile
157
+
158
+ # Labels.
159
+ # Corresponds to the JSON property `labels`
160
+ # @return [Hash<String,String>]
161
+ attr_accessor :labels
162
+
163
+ # MySQL database profile.
164
+ # Corresponds to the JSON property `mysqlProfile`
165
+ # @return [Google::Apis::DatastreamV1::MysqlProfile]
166
+ attr_accessor :mysql_profile
167
+
168
+ # Output only. The resource's name.
169
+ # Corresponds to the JSON property `name`
170
+ # @return [String]
171
+ attr_accessor :name
172
+
173
+ # Oracle database profile.
174
+ # Corresponds to the JSON property `oracleProfile`
175
+ # @return [Google::Apis::DatastreamV1::OracleProfile]
176
+ attr_accessor :oracle_profile
177
+
178
+ # Private Connectivity
179
+ # Corresponds to the JSON property `privateConnectivity`
180
+ # @return [Google::Apis::DatastreamV1::PrivateConnectivity]
181
+ attr_accessor :private_connectivity
182
+
183
+ # Static IP address connectivity.
184
+ # Corresponds to the JSON property `staticServiceIpConnectivity`
185
+ # @return [Google::Apis::DatastreamV1::StaticServiceIpConnectivity]
186
+ attr_accessor :static_service_ip_connectivity
187
+
188
+ # Output only. The update time of the resource.
189
+ # Corresponds to the JSON property `updateTime`
190
+ # @return [String]
191
+ attr_accessor :update_time
192
+
193
+ def initialize(**args)
194
+ update!(**args)
195
+ end
196
+
197
+ # Update properties of this object
198
+ def update!(**args)
199
+ @create_time = args[:create_time] if args.key?(:create_time)
200
+ @display_name = args[:display_name] if args.key?(:display_name)
201
+ @forward_ssh_connectivity = args[:forward_ssh_connectivity] if args.key?(:forward_ssh_connectivity)
202
+ @gcs_profile = args[:gcs_profile] if args.key?(:gcs_profile)
203
+ @labels = args[:labels] if args.key?(:labels)
204
+ @mysql_profile = args[:mysql_profile] if args.key?(:mysql_profile)
205
+ @name = args[:name] if args.key?(:name)
206
+ @oracle_profile = args[:oracle_profile] if args.key?(:oracle_profile)
207
+ @private_connectivity = args[:private_connectivity] if args.key?(:private_connectivity)
208
+ @static_service_ip_connectivity = args[:static_service_ip_connectivity] if args.key?(:static_service_ip_connectivity)
209
+ @update_time = args[:update_time] if args.key?(:update_time)
210
+ end
211
+ end
212
+
213
+ # The configuration of the stream destination.
214
+ class DestinationConfig
215
+ include Google::Apis::Core::Hashable
216
+
217
+ # Required. Destination connection profile resource. Format: `projects/`project`/
218
+ # locations/`location`/connectionProfiles/`name``
219
+ # Corresponds to the JSON property `destinationConnectionProfile`
220
+ # @return [String]
221
+ attr_accessor :destination_connection_profile
222
+
223
+ # Google Cloud Storage destination configuration
224
+ # Corresponds to the JSON property `gcsDestinationConfig`
225
+ # @return [Google::Apis::DatastreamV1::GcsDestinationConfig]
226
+ attr_accessor :gcs_destination_config
227
+
228
+ def initialize(**args)
229
+ update!(**args)
230
+ end
231
+
232
+ # Update properties of this object
233
+ def update!(**args)
234
+ @destination_connection_profile = args[:destination_connection_profile] if args.key?(:destination_connection_profile)
235
+ @gcs_destination_config = args[:gcs_destination_config] if args.key?(:gcs_destination_config)
236
+ end
237
+ end
238
+
239
+ # Request message for 'discover' ConnectionProfile request.
240
+ class DiscoverConnectionProfileRequest
241
+ include Google::Apis::Core::Hashable
242
+
243
+ # A set of reusable connection configurations to be used as a source or
244
+ # destination for a stream.
245
+ # Corresponds to the JSON property `connectionProfile`
246
+ # @return [Google::Apis::DatastreamV1::ConnectionProfile]
247
+ attr_accessor :connection_profile
248
+
249
+ # A reference to an existing connection profile.
250
+ # Corresponds to the JSON property `connectionProfileName`
251
+ # @return [String]
252
+ attr_accessor :connection_profile_name
253
+
254
+ # Whether to retrieve the full hierarchy of data objects (TRUE) or only the
255
+ # current level (FALSE).
256
+ # Corresponds to the JSON property `fullHierarchy`
257
+ # @return [Boolean]
258
+ attr_accessor :full_hierarchy
259
+ alias_method :full_hierarchy?, :full_hierarchy
260
+
261
+ # The number of hierarchy levels below the current level to be retrieved.
262
+ # Corresponds to the JSON property `hierarchyDepth`
263
+ # @return [Fixnum]
264
+ attr_accessor :hierarchy_depth
265
+
266
+ # MySQL database structure
267
+ # Corresponds to the JSON property `mysqlRdbms`
268
+ # @return [Google::Apis::DatastreamV1::MysqlRdbms]
269
+ attr_accessor :mysql_rdbms
270
+
271
+ # Oracle database structure.
272
+ # Corresponds to the JSON property `oracleRdbms`
273
+ # @return [Google::Apis::DatastreamV1::OracleRdbms]
274
+ attr_accessor :oracle_rdbms
275
+
276
+ def initialize(**args)
277
+ update!(**args)
278
+ end
279
+
280
+ # Update properties of this object
281
+ def update!(**args)
282
+ @connection_profile = args[:connection_profile] if args.key?(:connection_profile)
283
+ @connection_profile_name = args[:connection_profile_name] if args.key?(:connection_profile_name)
284
+ @full_hierarchy = args[:full_hierarchy] if args.key?(:full_hierarchy)
285
+ @hierarchy_depth = args[:hierarchy_depth] if args.key?(:hierarchy_depth)
286
+ @mysql_rdbms = args[:mysql_rdbms] if args.key?(:mysql_rdbms)
287
+ @oracle_rdbms = args[:oracle_rdbms] if args.key?(:oracle_rdbms)
288
+ end
289
+ end
290
+
291
+ # Response from a discover request.
292
+ class DiscoverConnectionProfileResponse
293
+ include Google::Apis::Core::Hashable
294
+
295
+ # MySQL database structure
296
+ # Corresponds to the JSON property `mysqlRdbms`
297
+ # @return [Google::Apis::DatastreamV1::MysqlRdbms]
298
+ attr_accessor :mysql_rdbms
299
+
300
+ # Oracle database structure.
301
+ # Corresponds to the JSON property `oracleRdbms`
302
+ # @return [Google::Apis::DatastreamV1::OracleRdbms]
303
+ attr_accessor :oracle_rdbms
304
+
305
+ def initialize(**args)
306
+ update!(**args)
307
+ end
308
+
309
+ # Update properties of this object
310
+ def update!(**args)
311
+ @mysql_rdbms = args[:mysql_rdbms] if args.key?(:mysql_rdbms)
312
+ @oracle_rdbms = args[:oracle_rdbms] if args.key?(:oracle_rdbms)
313
+ end
314
+ end
315
+
38
316
  # A generic empty message that you can re-use to avoid defining duplicated empty
39
317
  # messages in your APIs. A typical example is to use it as the request or the
40
318
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -88,27 +366,1307 @@ module Google
88
366
 
89
367
  # Update properties of this object
90
368
  def update!(**args)
91
- @details = args[:details] if args.key?(:details)
92
- @error_time = args[:error_time] if args.key?(:error_time)
93
- @error_uuid = args[:error_uuid] if args.key?(:error_uuid)
94
- @message = args[:message] if args.key?(:message)
95
- @reason = args[:reason] if args.key?(:reason)
369
+ @details = args[:details] if args.key?(:details)
370
+ @error_time = args[:error_time] if args.key?(:error_time)
371
+ @error_uuid = args[:error_uuid] if args.key?(:error_uuid)
372
+ @message = args[:message] if args.key?(:message)
373
+ @reason = args[:reason] if args.key?(:reason)
374
+ end
375
+ end
376
+
377
+ # Response message for a 'FetchStaticIps' response.
378
+ class FetchStaticIpsResponse
379
+ include Google::Apis::Core::Hashable
380
+
381
+ # A token that can be sent as `page_token` to retrieve the next page. If this
382
+ # field is omitted, there are no subsequent pages.
383
+ # Corresponds to the JSON property `nextPageToken`
384
+ # @return [String]
385
+ attr_accessor :next_page_token
386
+
387
+ # list of static ips by account
388
+ # Corresponds to the JSON property `staticIps`
389
+ # @return [Array<String>]
390
+ attr_accessor :static_ips
391
+
392
+ def initialize(**args)
393
+ update!(**args)
394
+ end
395
+
396
+ # Update properties of this object
397
+ def update!(**args)
398
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
399
+ @static_ips = args[:static_ips] if args.key?(:static_ips)
400
+ end
401
+ end
402
+
403
+ # Forward SSH Tunnel connectivity.
404
+ class ForwardSshTunnelConnectivity
405
+ include Google::Apis::Core::Hashable
406
+
407
+ # Required. Hostname for the SSH tunnel.
408
+ # Corresponds to the JSON property `hostname`
409
+ # @return [String]
410
+ attr_accessor :hostname
411
+
412
+ # Input only. SSH password.
413
+ # Corresponds to the JSON property `password`
414
+ # @return [String]
415
+ attr_accessor :password
416
+
417
+ # Port for the SSH tunnel, default value is 22.
418
+ # Corresponds to the JSON property `port`
419
+ # @return [Fixnum]
420
+ attr_accessor :port
421
+
422
+ # Input only. SSH private key.
423
+ # Corresponds to the JSON property `privateKey`
424
+ # @return [String]
425
+ attr_accessor :private_key
426
+
427
+ # Required. Username for the SSH tunnel.
428
+ # Corresponds to the JSON property `username`
429
+ # @return [String]
430
+ attr_accessor :username
431
+
432
+ def initialize(**args)
433
+ update!(**args)
434
+ end
435
+
436
+ # Update properties of this object
437
+ def update!(**args)
438
+ @hostname = args[:hostname] if args.key?(:hostname)
439
+ @password = args[:password] if args.key?(:password)
440
+ @port = args[:port] if args.key?(:port)
441
+ @private_key = args[:private_key] if args.key?(:private_key)
442
+ @username = args[:username] if args.key?(:username)
443
+ end
444
+ end
445
+
446
+ # Google Cloud Storage destination configuration
447
+ class GcsDestinationConfig
448
+ include Google::Apis::Core::Hashable
449
+
450
+ # AVRO file format configuration.
451
+ # Corresponds to the JSON property `avroFileFormat`
452
+ # @return [Google::Apis::DatastreamV1::AvroFileFormat]
453
+ attr_accessor :avro_file_format
454
+
455
+ # The maximum duration for which new events are added before a file is closed
456
+ # and a new file is created.
457
+ # Corresponds to the JSON property `fileRotationInterval`
458
+ # @return [String]
459
+ attr_accessor :file_rotation_interval
460
+
461
+ # The maximum file size to be saved in the bucket.
462
+ # Corresponds to the JSON property `fileRotationMb`
463
+ # @return [Fixnum]
464
+ attr_accessor :file_rotation_mb
465
+
466
+ # JSON file format configuration.
467
+ # Corresponds to the JSON property `jsonFileFormat`
468
+ # @return [Google::Apis::DatastreamV1::JsonFileFormat]
469
+ attr_accessor :json_file_format
470
+
471
+ # Path inside the Cloud Storage bucket to write data to.
472
+ # Corresponds to the JSON property `path`
473
+ # @return [String]
474
+ attr_accessor :path
475
+
476
+ def initialize(**args)
477
+ update!(**args)
478
+ end
479
+
480
+ # Update properties of this object
481
+ def update!(**args)
482
+ @avro_file_format = args[:avro_file_format] if args.key?(:avro_file_format)
483
+ @file_rotation_interval = args[:file_rotation_interval] if args.key?(:file_rotation_interval)
484
+ @file_rotation_mb = args[:file_rotation_mb] if args.key?(:file_rotation_mb)
485
+ @json_file_format = args[:json_file_format] if args.key?(:json_file_format)
486
+ @path = args[:path] if args.key?(:path)
487
+ end
488
+ end
489
+
490
+ # Cloud Storage bucket profile.
491
+ class GcsProfile
492
+ include Google::Apis::Core::Hashable
493
+
494
+ # Required. The Cloud Storage bucket name.
495
+ # Corresponds to the JSON property `bucket`
496
+ # @return [String]
497
+ attr_accessor :bucket
498
+
499
+ # The root path inside the Cloud Storage bucket.
500
+ # Corresponds to the JSON property `rootPath`
501
+ # @return [String]
502
+ attr_accessor :root_path
503
+
504
+ def initialize(**args)
505
+ update!(**args)
506
+ end
507
+
508
+ # Update properties of this object
509
+ def update!(**args)
510
+ @bucket = args[:bucket] if args.key?(:bucket)
511
+ @root_path = args[:root_path] if args.key?(:root_path)
512
+ end
513
+ end
514
+
515
+ # JSON file format configuration.
516
+ class JsonFileFormat
517
+ include Google::Apis::Core::Hashable
518
+
519
+ # Compression of the loaded JSON file.
520
+ # Corresponds to the JSON property `compression`
521
+ # @return [String]
522
+ attr_accessor :compression
523
+
524
+ # The schema file format along JSON data files.
525
+ # Corresponds to the JSON property `schemaFileFormat`
526
+ # @return [String]
527
+ attr_accessor :schema_file_format
528
+
529
+ def initialize(**args)
530
+ update!(**args)
531
+ end
532
+
533
+ # Update properties of this object
534
+ def update!(**args)
535
+ @compression = args[:compression] if args.key?(:compression)
536
+ @schema_file_format = args[:schema_file_format] if args.key?(:schema_file_format)
537
+ end
538
+ end
539
+
540
+ # Response message for listing connection profiles.
541
+ class ListConnectionProfilesResponse
542
+ include Google::Apis::Core::Hashable
543
+
544
+ # List of connection profiles.
545
+ # Corresponds to the JSON property `connectionProfiles`
546
+ # @return [Array<Google::Apis::DatastreamV1::ConnectionProfile>]
547
+ attr_accessor :connection_profiles
548
+
549
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
550
+ # field is omitted, there are no subsequent pages.
551
+ # Corresponds to the JSON property `nextPageToken`
552
+ # @return [String]
553
+ attr_accessor :next_page_token
554
+
555
+ # Locations that could not be reached.
556
+ # Corresponds to the JSON property `unreachable`
557
+ # @return [Array<String>]
558
+ attr_accessor :unreachable
559
+
560
+ def initialize(**args)
561
+ update!(**args)
562
+ end
563
+
564
+ # Update properties of this object
565
+ def update!(**args)
566
+ @connection_profiles = args[:connection_profiles] if args.key?(:connection_profiles)
567
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
568
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
569
+ end
570
+ end
571
+
572
+ # The response message for Locations.ListLocations.
573
+ class ListLocationsResponse
574
+ include Google::Apis::Core::Hashable
575
+
576
+ # A list of locations that matches the specified filter in the request.
577
+ # Corresponds to the JSON property `locations`
578
+ # @return [Array<Google::Apis::DatastreamV1::Location>]
579
+ attr_accessor :locations
580
+
581
+ # The standard List next-page token.
582
+ # Corresponds to the JSON property `nextPageToken`
583
+ # @return [String]
584
+ attr_accessor :next_page_token
585
+
586
+ def initialize(**args)
587
+ update!(**args)
588
+ end
589
+
590
+ # Update properties of this object
591
+ def update!(**args)
592
+ @locations = args[:locations] if args.key?(:locations)
593
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
594
+ end
595
+ end
596
+
597
+ # The response message for Operations.ListOperations.
598
+ class ListOperationsResponse
599
+ include Google::Apis::Core::Hashable
600
+
601
+ # The standard List next-page token.
602
+ # Corresponds to the JSON property `nextPageToken`
603
+ # @return [String]
604
+ attr_accessor :next_page_token
605
+
606
+ # A list of operations that matches the specified filter in the request.
607
+ # Corresponds to the JSON property `operations`
608
+ # @return [Array<Google::Apis::DatastreamV1::Operation>]
609
+ attr_accessor :operations
610
+
611
+ def initialize(**args)
612
+ update!(**args)
613
+ end
614
+
615
+ # Update properties of this object
616
+ def update!(**args)
617
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
618
+ @operations = args[:operations] if args.key?(:operations)
619
+ end
620
+ end
621
+
622
+ # Response containing a list of private connection configurations.
623
+ class ListPrivateConnectionsResponse
624
+ include Google::Apis::Core::Hashable
625
+
626
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
627
+ # field is omitted, there are no subsequent pages.
628
+ # Corresponds to the JSON property `nextPageToken`
629
+ # @return [String]
630
+ attr_accessor :next_page_token
631
+
632
+ # List of private connectivity configurations.
633
+ # Corresponds to the JSON property `privateConnections`
634
+ # @return [Array<Google::Apis::DatastreamV1::PrivateConnection>]
635
+ attr_accessor :private_connections
636
+
637
+ # Locations that could not be reached.
638
+ # Corresponds to the JSON property `unreachable`
639
+ # @return [Array<String>]
640
+ attr_accessor :unreachable
641
+
642
+ def initialize(**args)
643
+ update!(**args)
644
+ end
645
+
646
+ # Update properties of this object
647
+ def update!(**args)
648
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
649
+ @private_connections = args[:private_connections] if args.key?(:private_connections)
650
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
651
+ end
652
+ end
653
+
654
+ # Route list response.
655
+ class ListRoutesResponse
656
+ include Google::Apis::Core::Hashable
657
+
658
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
659
+ # field is omitted, there are no subsequent pages.
660
+ # Corresponds to the JSON property `nextPageToken`
661
+ # @return [String]
662
+ attr_accessor :next_page_token
663
+
664
+ # List of Routes.
665
+ # Corresponds to the JSON property `routes`
666
+ # @return [Array<Google::Apis::DatastreamV1::Route>]
667
+ attr_accessor :routes
668
+
669
+ # Locations that could not be reached.
670
+ # Corresponds to the JSON property `unreachable`
671
+ # @return [Array<String>]
672
+ attr_accessor :unreachable
673
+
674
+ def initialize(**args)
675
+ update!(**args)
676
+ end
677
+
678
+ # Update properties of this object
679
+ def update!(**args)
680
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
681
+ @routes = args[:routes] if args.key?(:routes)
682
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
683
+ end
684
+ end
685
+
686
+ # Response containing the objects for a stream.
687
+ class ListStreamObjectsResponse
688
+ include Google::Apis::Core::Hashable
689
+
690
+ # A token, which can be sent as `page_token` to retrieve the next page.
691
+ # Corresponds to the JSON property `nextPageToken`
692
+ # @return [String]
693
+ attr_accessor :next_page_token
694
+
695
+ # List of stream objects.
696
+ # Corresponds to the JSON property `streamObjects`
697
+ # @return [Array<Google::Apis::DatastreamV1::StreamObject>]
698
+ attr_accessor :stream_objects
699
+
700
+ def initialize(**args)
701
+ update!(**args)
702
+ end
703
+
704
+ # Update properties of this object
705
+ def update!(**args)
706
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
707
+ @stream_objects = args[:stream_objects] if args.key?(:stream_objects)
708
+ end
709
+ end
710
+
711
+ # Response message for listing streams.
712
+ class ListStreamsResponse
713
+ include Google::Apis::Core::Hashable
714
+
715
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
716
+ # field is omitted, there are no subsequent pages.
717
+ # Corresponds to the JSON property `nextPageToken`
718
+ # @return [String]
719
+ attr_accessor :next_page_token
720
+
721
+ # List of streams
722
+ # Corresponds to the JSON property `streams`
723
+ # @return [Array<Google::Apis::DatastreamV1::Stream>]
724
+ attr_accessor :streams
725
+
726
+ # Locations that could not be reached.
727
+ # Corresponds to the JSON property `unreachable`
728
+ # @return [Array<String>]
729
+ attr_accessor :unreachable
730
+
731
+ def initialize(**args)
732
+ update!(**args)
733
+ end
734
+
735
+ # Update properties of this object
736
+ def update!(**args)
737
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
738
+ @streams = args[:streams] if args.key?(:streams)
739
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
740
+ end
741
+ end
742
+
743
+ # A resource that represents Google Cloud Platform location.
744
+ class Location
745
+ include Google::Apis::Core::Hashable
746
+
747
+ # The friendly name for this location, typically a nearby city name. For example,
748
+ # "Tokyo".
749
+ # Corresponds to the JSON property `displayName`
750
+ # @return [String]
751
+ attr_accessor :display_name
752
+
753
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
754
+ # region": "us-east1"`
755
+ # Corresponds to the JSON property `labels`
756
+ # @return [Hash<String,String>]
757
+ attr_accessor :labels
758
+
759
+ # The canonical id for this location. For example: `"us-east1"`.
760
+ # Corresponds to the JSON property `locationId`
761
+ # @return [String]
762
+ attr_accessor :location_id
763
+
764
+ # Service-specific metadata. For example the available capacity at the given
765
+ # location.
766
+ # Corresponds to the JSON property `metadata`
767
+ # @return [Hash<String,Object>]
768
+ attr_accessor :metadata
769
+
770
+ # Resource name for the location, which may vary between implementations. For
771
+ # example: `"projects/example-project/locations/us-east1"`
772
+ # Corresponds to the JSON property `name`
773
+ # @return [String]
774
+ attr_accessor :name
775
+
776
+ def initialize(**args)
777
+ update!(**args)
778
+ end
779
+
780
+ # Update properties of this object
781
+ def update!(**args)
782
+ @display_name = args[:display_name] if args.key?(:display_name)
783
+ @labels = args[:labels] if args.key?(:labels)
784
+ @location_id = args[:location_id] if args.key?(:location_id)
785
+ @metadata = args[:metadata] if args.key?(:metadata)
786
+ @name = args[:name] if args.key?(:name)
787
+ end
788
+ end
789
+
790
+ # Request for looking up a specific stream object by its source object
791
+ # identifier.
792
+ class LookupStreamObjectRequest
793
+ include Google::Apis::Core::Hashable
794
+
795
+ # Represents an identifier of an object in the data source.
796
+ # Corresponds to the JSON property `sourceObjectIdentifier`
797
+ # @return [Google::Apis::DatastreamV1::SourceObjectIdentifier]
798
+ attr_accessor :source_object_identifier
799
+
800
+ def initialize(**args)
801
+ update!(**args)
802
+ end
803
+
804
+ # Update properties of this object
805
+ def update!(**args)
806
+ @source_object_identifier = args[:source_object_identifier] if args.key?(:source_object_identifier)
807
+ end
808
+ end
809
+
810
+ # MySQL Column.
811
+ class MysqlColumn
812
+ include Google::Apis::Core::Hashable
813
+
814
+ # Column collation.
815
+ # Corresponds to the JSON property `collation`
816
+ # @return [String]
817
+ attr_accessor :collation
818
+
819
+ # Column name.
820
+ # Corresponds to the JSON property `column`
821
+ # @return [String]
822
+ attr_accessor :column
823
+
824
+ # The MySQL data type. Full data types list can be found here: https://dev.mysql.
825
+ # com/doc/refman/8.0/en/data-types.html
826
+ # Corresponds to the JSON property `dataType`
827
+ # @return [String]
828
+ attr_accessor :data_type
829
+
830
+ # Column length.
831
+ # Corresponds to the JSON property `length`
832
+ # @return [Fixnum]
833
+ attr_accessor :length
834
+
835
+ # Whether or not the column can accept a null value.
836
+ # Corresponds to the JSON property `nullable`
837
+ # @return [Boolean]
838
+ attr_accessor :nullable
839
+ alias_method :nullable?, :nullable
840
+
841
+ # The ordinal position of the column in the table.
842
+ # Corresponds to the JSON property `ordinalPosition`
843
+ # @return [Fixnum]
844
+ attr_accessor :ordinal_position
845
+
846
+ # Whether or not the column represents a primary key.
847
+ # Corresponds to the JSON property `primaryKey`
848
+ # @return [Boolean]
849
+ attr_accessor :primary_key
850
+ alias_method :primary_key?, :primary_key
851
+
852
+ def initialize(**args)
853
+ update!(**args)
854
+ end
855
+
856
+ # Update properties of this object
857
+ def update!(**args)
858
+ @collation = args[:collation] if args.key?(:collation)
859
+ @column = args[:column] if args.key?(:column)
860
+ @data_type = args[:data_type] if args.key?(:data_type)
861
+ @length = args[:length] if args.key?(:length)
862
+ @nullable = args[:nullable] if args.key?(:nullable)
863
+ @ordinal_position = args[:ordinal_position] if args.key?(:ordinal_position)
864
+ @primary_key = args[:primary_key] if args.key?(:primary_key)
865
+ end
866
+ end
867
+
868
+ # MySQL database.
869
+ class MysqlDatabase
870
+ include Google::Apis::Core::Hashable
871
+
872
+ # Database name.
873
+ # Corresponds to the JSON property `database`
874
+ # @return [String]
875
+ attr_accessor :database
876
+
877
+ # Tables in the database.
878
+ # Corresponds to the JSON property `mysqlTables`
879
+ # @return [Array<Google::Apis::DatastreamV1::MysqlTable>]
880
+ attr_accessor :mysql_tables
881
+
882
+ def initialize(**args)
883
+ update!(**args)
884
+ end
885
+
886
+ # Update properties of this object
887
+ def update!(**args)
888
+ @database = args[:database] if args.key?(:database)
889
+ @mysql_tables = args[:mysql_tables] if args.key?(:mysql_tables)
890
+ end
891
+ end
892
+
893
+ # Mysql data source object identifier.
894
+ class MysqlObjectIdentifier
895
+ include Google::Apis::Core::Hashable
896
+
897
+ # The database name.
898
+ # Corresponds to the JSON property `database`
899
+ # @return [String]
900
+ attr_accessor :database
901
+
902
+ # The table name.
903
+ # Corresponds to the JSON property `table`
904
+ # @return [String]
905
+ attr_accessor :table
906
+
907
+ def initialize(**args)
908
+ update!(**args)
909
+ end
910
+
911
+ # Update properties of this object
912
+ def update!(**args)
913
+ @database = args[:database] if args.key?(:database)
914
+ @table = args[:table] if args.key?(:table)
915
+ end
916
+ end
917
+
918
+ # MySQL database profile.
919
+ class MysqlProfile
920
+ include Google::Apis::Core::Hashable
921
+
922
+ # Required. Hostname for the MySQL connection.
923
+ # Corresponds to the JSON property `hostname`
924
+ # @return [String]
925
+ attr_accessor :hostname
926
+
927
+ # Required. Input only. Password for the MySQL connection.
928
+ # Corresponds to the JSON property `password`
929
+ # @return [String]
930
+ attr_accessor :password
931
+
932
+ # Port for the MySQL connection, default value is 3306.
933
+ # Corresponds to the JSON property `port`
934
+ # @return [Fixnum]
935
+ attr_accessor :port
936
+
937
+ # MySQL SSL configuration information.
938
+ # Corresponds to the JSON property `sslConfig`
939
+ # @return [Google::Apis::DatastreamV1::MysqlSslConfig]
940
+ attr_accessor :ssl_config
941
+
942
+ # Required. Username for the MySQL connection.
943
+ # Corresponds to the JSON property `username`
944
+ # @return [String]
945
+ attr_accessor :username
946
+
947
+ def initialize(**args)
948
+ update!(**args)
949
+ end
950
+
951
+ # Update properties of this object
952
+ def update!(**args)
953
+ @hostname = args[:hostname] if args.key?(:hostname)
954
+ @password = args[:password] if args.key?(:password)
955
+ @port = args[:port] if args.key?(:port)
956
+ @ssl_config = args[:ssl_config] if args.key?(:ssl_config)
957
+ @username = args[:username] if args.key?(:username)
958
+ end
959
+ end
960
+
961
+ # MySQL database structure
962
+ class MysqlRdbms
963
+ include Google::Apis::Core::Hashable
964
+
965
+ # Mysql databases on the server
966
+ # Corresponds to the JSON property `mysqlDatabases`
967
+ # @return [Array<Google::Apis::DatastreamV1::MysqlDatabase>]
968
+ attr_accessor :mysql_databases
969
+
970
+ def initialize(**args)
971
+ update!(**args)
972
+ end
973
+
974
+ # Update properties of this object
975
+ def update!(**args)
976
+ @mysql_databases = args[:mysql_databases] if args.key?(:mysql_databases)
977
+ end
978
+ end
979
+
980
+ # MySQL source configuration
981
+ class MysqlSourceConfig
982
+ include Google::Apis::Core::Hashable
983
+
984
+ # MySQL database structure
985
+ # Corresponds to the JSON property `excludeObjects`
986
+ # @return [Google::Apis::DatastreamV1::MysqlRdbms]
987
+ attr_accessor :exclude_objects
988
+
989
+ # MySQL database structure
990
+ # Corresponds to the JSON property `includeObjects`
991
+ # @return [Google::Apis::DatastreamV1::MysqlRdbms]
992
+ attr_accessor :include_objects
993
+
994
+ def initialize(**args)
995
+ update!(**args)
996
+ end
997
+
998
+ # Update properties of this object
999
+ def update!(**args)
1000
+ @exclude_objects = args[:exclude_objects] if args.key?(:exclude_objects)
1001
+ @include_objects = args[:include_objects] if args.key?(:include_objects)
1002
+ end
1003
+ end
1004
+
1005
+ # MySQL SSL configuration information.
1006
+ class MysqlSslConfig
1007
+ include Google::Apis::Core::Hashable
1008
+
1009
+ # Input only. PEM-encoded certificate of the CA that signed the source database
1010
+ # server's certificate.
1011
+ # Corresponds to the JSON property `caCertificate`
1012
+ # @return [String]
1013
+ attr_accessor :ca_certificate
1014
+
1015
+ # Output only. Indicates whether the ca_certificate field is set.
1016
+ # Corresponds to the JSON property `caCertificateSet`
1017
+ # @return [Boolean]
1018
+ attr_accessor :ca_certificate_set
1019
+ alias_method :ca_certificate_set?, :ca_certificate_set
1020
+
1021
+ # Input only. PEM-encoded certificate that will be used by the replica to
1022
+ # authenticate against the source database server. If this field is used then
1023
+ # the 'client_key' and the 'ca_certificate' fields are mandatory.
1024
+ # Corresponds to the JSON property `clientCertificate`
1025
+ # @return [String]
1026
+ attr_accessor :client_certificate
1027
+
1028
+ # Output only. Indicates whether the client_certificate field is set.
1029
+ # Corresponds to the JSON property `clientCertificateSet`
1030
+ # @return [Boolean]
1031
+ attr_accessor :client_certificate_set
1032
+ alias_method :client_certificate_set?, :client_certificate_set
1033
+
1034
+ # Input only. PEM-encoded private key associated with the Client Certificate. If
1035
+ # this field is used then the 'client_certificate' and the 'ca_certificate'
1036
+ # fields are mandatory.
1037
+ # Corresponds to the JSON property `clientKey`
1038
+ # @return [String]
1039
+ attr_accessor :client_key
1040
+
1041
+ # Output only. Indicates whether the client_key field is set.
1042
+ # Corresponds to the JSON property `clientKeySet`
1043
+ # @return [Boolean]
1044
+ attr_accessor :client_key_set
1045
+ alias_method :client_key_set?, :client_key_set
1046
+
1047
+ def initialize(**args)
1048
+ update!(**args)
1049
+ end
1050
+
1051
+ # Update properties of this object
1052
+ def update!(**args)
1053
+ @ca_certificate = args[:ca_certificate] if args.key?(:ca_certificate)
1054
+ @ca_certificate_set = args[:ca_certificate_set] if args.key?(:ca_certificate_set)
1055
+ @client_certificate = args[:client_certificate] if args.key?(:client_certificate)
1056
+ @client_certificate_set = args[:client_certificate_set] if args.key?(:client_certificate_set)
1057
+ @client_key = args[:client_key] if args.key?(:client_key)
1058
+ @client_key_set = args[:client_key_set] if args.key?(:client_key_set)
1059
+ end
1060
+ end
1061
+
1062
+ # MySQL table.
1063
+ class MysqlTable
1064
+ include Google::Apis::Core::Hashable
1065
+
1066
+ # MySQL columns in the database. When unspecified as part of include/exclude
1067
+ # lists, includes/excludes everything.
1068
+ # Corresponds to the JSON property `mysqlColumns`
1069
+ # @return [Array<Google::Apis::DatastreamV1::MysqlColumn>]
1070
+ attr_accessor :mysql_columns
1071
+
1072
+ # Table name.
1073
+ # Corresponds to the JSON property `table`
1074
+ # @return [String]
1075
+ attr_accessor :table
1076
+
1077
+ def initialize(**args)
1078
+ update!(**args)
1079
+ end
1080
+
1081
+ # Update properties of this object
1082
+ def update!(**args)
1083
+ @mysql_columns = args[:mysql_columns] if args.key?(:mysql_columns)
1084
+ @table = args[:table] if args.key?(:table)
1085
+ end
1086
+ end
1087
+
1088
+ # This resource represents a long-running operation that is the result of a
1089
+ # network API call.
1090
+ class Operation
1091
+ include Google::Apis::Core::Hashable
1092
+
1093
+ # If the value is `false`, it means the operation is still in progress. If `true`
1094
+ # , the operation is completed, and either `error` or `response` is available.
1095
+ # Corresponds to the JSON property `done`
1096
+ # @return [Boolean]
1097
+ attr_accessor :done
1098
+ alias_method :done?, :done
1099
+
1100
+ # The `Status` type defines a logical error model that is suitable for different
1101
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1102
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1103
+ # data: error code, error message, and error details. You can find out more
1104
+ # about this error model and how to work with it in the [API Design Guide](https:
1105
+ # //cloud.google.com/apis/design/errors).
1106
+ # Corresponds to the JSON property `error`
1107
+ # @return [Google::Apis::DatastreamV1::Status]
1108
+ attr_accessor :error
1109
+
1110
+ # Service-specific metadata associated with the operation. It typically contains
1111
+ # progress information and common metadata such as create time. Some services
1112
+ # might not provide such metadata. Any method that returns a long-running
1113
+ # operation should document the metadata type, if any.
1114
+ # Corresponds to the JSON property `metadata`
1115
+ # @return [Hash<String,Object>]
1116
+ attr_accessor :metadata
1117
+
1118
+ # The server-assigned name, which is only unique within the same service that
1119
+ # originally returns it. If you use the default HTTP mapping, the `name` should
1120
+ # be a resource name ending with `operations/`unique_id``.
1121
+ # Corresponds to the JSON property `name`
1122
+ # @return [String]
1123
+ attr_accessor :name
1124
+
1125
+ # The normal response of the operation in case of success. If the original
1126
+ # method returns no data on success, such as `Delete`, the response is `google.
1127
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
1128
+ # the response should be the resource. For other methods, the response should
1129
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
1130
+ # example, if the original method name is `TakeSnapshot()`, the inferred
1131
+ # response type is `TakeSnapshotResponse`.
1132
+ # Corresponds to the JSON property `response`
1133
+ # @return [Hash<String,Object>]
1134
+ attr_accessor :response
1135
+
1136
+ def initialize(**args)
1137
+ update!(**args)
1138
+ end
1139
+
1140
+ # Update properties of this object
1141
+ def update!(**args)
1142
+ @done = args[:done] if args.key?(:done)
1143
+ @error = args[:error] if args.key?(:error)
1144
+ @metadata = args[:metadata] if args.key?(:metadata)
1145
+ @name = args[:name] if args.key?(:name)
1146
+ @response = args[:response] if args.key?(:response)
1147
+ end
1148
+ end
1149
+
1150
+ # Represents the metadata of the long-running operation.
1151
+ class OperationMetadata
1152
+ include Google::Apis::Core::Hashable
1153
+
1154
+ # Output only. API version used to start the operation.
1155
+ # Corresponds to the JSON property `apiVersion`
1156
+ # @return [String]
1157
+ attr_accessor :api_version
1158
+
1159
+ # Output only. The time the operation was created.
1160
+ # Corresponds to the JSON property `createTime`
1161
+ # @return [String]
1162
+ attr_accessor :create_time
1163
+
1164
+ # Output only. The time the operation finished running.
1165
+ # Corresponds to the JSON property `endTime`
1166
+ # @return [String]
1167
+ attr_accessor :end_time
1168
+
1169
+ # Output only. Identifies whether the user has requested cancellation of the
1170
+ # operation. Operations that have successfully been cancelled have Operation.
1171
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
1172
+ # CANCELLED`.
1173
+ # Corresponds to the JSON property `requestedCancellation`
1174
+ # @return [Boolean]
1175
+ attr_accessor :requested_cancellation
1176
+ alias_method :requested_cancellation?, :requested_cancellation
1177
+
1178
+ # Output only. Human-readable status of the operation, if any.
1179
+ # Corresponds to the JSON property `statusMessage`
1180
+ # @return [String]
1181
+ attr_accessor :status_message
1182
+
1183
+ # Output only. Server-defined resource path for the target of the operation.
1184
+ # Corresponds to the JSON property `target`
1185
+ # @return [String]
1186
+ attr_accessor :target
1187
+
1188
+ # Contains the current validation results.
1189
+ # Corresponds to the JSON property `validationResult`
1190
+ # @return [Google::Apis::DatastreamV1::ValidationResult]
1191
+ attr_accessor :validation_result
1192
+
1193
+ # Output only. Name of the verb executed by the operation.
1194
+ # Corresponds to the JSON property `verb`
1195
+ # @return [String]
1196
+ attr_accessor :verb
1197
+
1198
+ def initialize(**args)
1199
+ update!(**args)
1200
+ end
1201
+
1202
+ # Update properties of this object
1203
+ def update!(**args)
1204
+ @api_version = args[:api_version] if args.key?(:api_version)
1205
+ @create_time = args[:create_time] if args.key?(:create_time)
1206
+ @end_time = args[:end_time] if args.key?(:end_time)
1207
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
1208
+ @status_message = args[:status_message] if args.key?(:status_message)
1209
+ @target = args[:target] if args.key?(:target)
1210
+ @validation_result = args[:validation_result] if args.key?(:validation_result)
1211
+ @verb = args[:verb] if args.key?(:verb)
1212
+ end
1213
+ end
1214
+
1215
+ # Oracle Column.
1216
+ class OracleColumn
1217
+ include Google::Apis::Core::Hashable
1218
+
1219
+ # Column name.
1220
+ # Corresponds to the JSON property `column`
1221
+ # @return [String]
1222
+ attr_accessor :column
1223
+
1224
+ # The Oracle data type.
1225
+ # Corresponds to the JSON property `dataType`
1226
+ # @return [String]
1227
+ attr_accessor :data_type
1228
+
1229
+ # Column encoding.
1230
+ # Corresponds to the JSON property `encoding`
1231
+ # @return [String]
1232
+ attr_accessor :encoding
1233
+
1234
+ # Column length.
1235
+ # Corresponds to the JSON property `length`
1236
+ # @return [Fixnum]
1237
+ attr_accessor :length
1238
+
1239
+ # Whether or not the column can accept a null value.
1240
+ # Corresponds to the JSON property `nullable`
1241
+ # @return [Boolean]
1242
+ attr_accessor :nullable
1243
+ alias_method :nullable?, :nullable
1244
+
1245
+ # The ordinal position of the column in the table.
1246
+ # Corresponds to the JSON property `ordinalPosition`
1247
+ # @return [Fixnum]
1248
+ attr_accessor :ordinal_position
1249
+
1250
+ # Column precision.
1251
+ # Corresponds to the JSON property `precision`
1252
+ # @return [Fixnum]
1253
+ attr_accessor :precision
1254
+
1255
+ # Whether or not the column represents a primary key.
1256
+ # Corresponds to the JSON property `primaryKey`
1257
+ # @return [Boolean]
1258
+ attr_accessor :primary_key
1259
+ alias_method :primary_key?, :primary_key
1260
+
1261
+ # Column scale.
1262
+ # Corresponds to the JSON property `scale`
1263
+ # @return [Fixnum]
1264
+ attr_accessor :scale
1265
+
1266
+ def initialize(**args)
1267
+ update!(**args)
1268
+ end
1269
+
1270
+ # Update properties of this object
1271
+ def update!(**args)
1272
+ @column = args[:column] if args.key?(:column)
1273
+ @data_type = args[:data_type] if args.key?(:data_type)
1274
+ @encoding = args[:encoding] if args.key?(:encoding)
1275
+ @length = args[:length] if args.key?(:length)
1276
+ @nullable = args[:nullable] if args.key?(:nullable)
1277
+ @ordinal_position = args[:ordinal_position] if args.key?(:ordinal_position)
1278
+ @precision = args[:precision] if args.key?(:precision)
1279
+ @primary_key = args[:primary_key] if args.key?(:primary_key)
1280
+ @scale = args[:scale] if args.key?(:scale)
1281
+ end
1282
+ end
1283
+
1284
+ # Oracle data source object identifier.
1285
+ class OracleObjectIdentifier
1286
+ include Google::Apis::Core::Hashable
1287
+
1288
+ # The schema name.
1289
+ # Corresponds to the JSON property `schema`
1290
+ # @return [String]
1291
+ attr_accessor :schema
1292
+
1293
+ # The table name.
1294
+ # Corresponds to the JSON property `table`
1295
+ # @return [String]
1296
+ attr_accessor :table
1297
+
1298
+ def initialize(**args)
1299
+ update!(**args)
1300
+ end
1301
+
1302
+ # Update properties of this object
1303
+ def update!(**args)
1304
+ @schema = args[:schema] if args.key?(:schema)
1305
+ @table = args[:table] if args.key?(:table)
1306
+ end
1307
+ end
1308
+
1309
+ # Oracle database profile.
1310
+ class OracleProfile
1311
+ include Google::Apis::Core::Hashable
1312
+
1313
+ # Connection string attributes
1314
+ # Corresponds to the JSON property `connectionAttributes`
1315
+ # @return [Hash<String,String>]
1316
+ attr_accessor :connection_attributes
1317
+
1318
+ # Required. Database for the Oracle connection.
1319
+ # Corresponds to the JSON property `databaseService`
1320
+ # @return [String]
1321
+ attr_accessor :database_service
1322
+
1323
+ # Required. Hostname for the Oracle connection.
1324
+ # Corresponds to the JSON property `hostname`
1325
+ # @return [String]
1326
+ attr_accessor :hostname
1327
+
1328
+ # Required. Password for the Oracle connection.
1329
+ # Corresponds to the JSON property `password`
1330
+ # @return [String]
1331
+ attr_accessor :password
1332
+
1333
+ # Port for the Oracle connection, default value is 1521.
1334
+ # Corresponds to the JSON property `port`
1335
+ # @return [Fixnum]
1336
+ attr_accessor :port
1337
+
1338
+ # Required. Username for the Oracle connection.
1339
+ # Corresponds to the JSON property `username`
1340
+ # @return [String]
1341
+ attr_accessor :username
1342
+
1343
+ def initialize(**args)
1344
+ update!(**args)
1345
+ end
1346
+
1347
+ # Update properties of this object
1348
+ def update!(**args)
1349
+ @connection_attributes = args[:connection_attributes] if args.key?(:connection_attributes)
1350
+ @database_service = args[:database_service] if args.key?(:database_service)
1351
+ @hostname = args[:hostname] if args.key?(:hostname)
1352
+ @password = args[:password] if args.key?(:password)
1353
+ @port = args[:port] if args.key?(:port)
1354
+ @username = args[:username] if args.key?(:username)
1355
+ end
1356
+ end
1357
+
1358
+ # Oracle database structure.
1359
+ class OracleRdbms
1360
+ include Google::Apis::Core::Hashable
1361
+
1362
+ # Oracle schemas/databases in the database server.
1363
+ # Corresponds to the JSON property `oracleSchemas`
1364
+ # @return [Array<Google::Apis::DatastreamV1::OracleSchema>]
1365
+ attr_accessor :oracle_schemas
1366
+
1367
+ def initialize(**args)
1368
+ update!(**args)
1369
+ end
1370
+
1371
+ # Update properties of this object
1372
+ def update!(**args)
1373
+ @oracle_schemas = args[:oracle_schemas] if args.key?(:oracle_schemas)
1374
+ end
1375
+ end
1376
+
1377
+ # Oracle schema.
1378
+ class OracleSchema
1379
+ include Google::Apis::Core::Hashable
1380
+
1381
+ # Tables in the schema.
1382
+ # Corresponds to the JSON property `oracleTables`
1383
+ # @return [Array<Google::Apis::DatastreamV1::OracleTable>]
1384
+ attr_accessor :oracle_tables
1385
+
1386
+ # Schema name.
1387
+ # Corresponds to the JSON property `schema`
1388
+ # @return [String]
1389
+ attr_accessor :schema
1390
+
1391
+ def initialize(**args)
1392
+ update!(**args)
1393
+ end
1394
+
1395
+ # Update properties of this object
1396
+ def update!(**args)
1397
+ @oracle_tables = args[:oracle_tables] if args.key?(:oracle_tables)
1398
+ @schema = args[:schema] if args.key?(:schema)
1399
+ end
1400
+ end
1401
+
1402
+ # Oracle data source configuration
1403
+ class OracleSourceConfig
1404
+ include Google::Apis::Core::Hashable
1405
+
1406
+ # Oracle database structure.
1407
+ # Corresponds to the JSON property `excludeObjects`
1408
+ # @return [Google::Apis::DatastreamV1::OracleRdbms]
1409
+ attr_accessor :exclude_objects
1410
+
1411
+ # Oracle database structure.
1412
+ # Corresponds to the JSON property `includeObjects`
1413
+ # @return [Google::Apis::DatastreamV1::OracleRdbms]
1414
+ attr_accessor :include_objects
1415
+
1416
+ def initialize(**args)
1417
+ update!(**args)
1418
+ end
1419
+
1420
+ # Update properties of this object
1421
+ def update!(**args)
1422
+ @exclude_objects = args[:exclude_objects] if args.key?(:exclude_objects)
1423
+ @include_objects = args[:include_objects] if args.key?(:include_objects)
1424
+ end
1425
+ end
1426
+
1427
+ # Oracle table.
1428
+ class OracleTable
1429
+ include Google::Apis::Core::Hashable
1430
+
1431
+ # Oracle columns in the schema. When unspecified as part of inclue/exclude lists,
1432
+ # includes/excludes everything.
1433
+ # Corresponds to the JSON property `oracleColumns`
1434
+ # @return [Array<Google::Apis::DatastreamV1::OracleColumn>]
1435
+ attr_accessor :oracle_columns
1436
+
1437
+ # Table name.
1438
+ # Corresponds to the JSON property `table`
1439
+ # @return [String]
1440
+ attr_accessor :table
1441
+
1442
+ def initialize(**args)
1443
+ update!(**args)
1444
+ end
1445
+
1446
+ # Update properties of this object
1447
+ def update!(**args)
1448
+ @oracle_columns = args[:oracle_columns] if args.key?(:oracle_columns)
1449
+ @table = args[:table] if args.key?(:table)
1450
+ end
1451
+ end
1452
+
1453
+ # The PrivateConnection resource is used to establish private connectivity
1454
+ # between Datastream and a customer's network.
1455
+ class PrivateConnection
1456
+ include Google::Apis::Core::Hashable
1457
+
1458
+ # Output only. The create time of the resource.
1459
+ # Corresponds to the JSON property `createTime`
1460
+ # @return [String]
1461
+ attr_accessor :create_time
1462
+
1463
+ # Required. Display name.
1464
+ # Corresponds to the JSON property `displayName`
1465
+ # @return [String]
1466
+ attr_accessor :display_name
1467
+
1468
+ # Represent a user-facing Error.
1469
+ # Corresponds to the JSON property `error`
1470
+ # @return [Google::Apis::DatastreamV1::Error]
1471
+ attr_accessor :error
1472
+
1473
+ # Labels.
1474
+ # Corresponds to the JSON property `labels`
1475
+ # @return [Hash<String,String>]
1476
+ attr_accessor :labels
1477
+
1478
+ # Output only. The resource's name.
1479
+ # Corresponds to the JSON property `name`
1480
+ # @return [String]
1481
+ attr_accessor :name
1482
+
1483
+ # Output only. The state of the Private Connection.
1484
+ # Corresponds to the JSON property `state`
1485
+ # @return [String]
1486
+ attr_accessor :state
1487
+
1488
+ # Output only. The update time of the resource.
1489
+ # Corresponds to the JSON property `updateTime`
1490
+ # @return [String]
1491
+ attr_accessor :update_time
1492
+
1493
+ # The VPC Peering configuration is used to create VPC peering between Datastream
1494
+ # and the consumer's VPC.
1495
+ # Corresponds to the JSON property `vpcPeeringConfig`
1496
+ # @return [Google::Apis::DatastreamV1::VpcPeeringConfig]
1497
+ attr_accessor :vpc_peering_config
1498
+
1499
+ def initialize(**args)
1500
+ update!(**args)
1501
+ end
1502
+
1503
+ # Update properties of this object
1504
+ def update!(**args)
1505
+ @create_time = args[:create_time] if args.key?(:create_time)
1506
+ @display_name = args[:display_name] if args.key?(:display_name)
1507
+ @error = args[:error] if args.key?(:error)
1508
+ @labels = args[:labels] if args.key?(:labels)
1509
+ @name = args[:name] if args.key?(:name)
1510
+ @state = args[:state] if args.key?(:state)
1511
+ @update_time = args[:update_time] if args.key?(:update_time)
1512
+ @vpc_peering_config = args[:vpc_peering_config] if args.key?(:vpc_peering_config)
1513
+ end
1514
+ end
1515
+
1516
+ # Private Connectivity
1517
+ class PrivateConnectivity
1518
+ include Google::Apis::Core::Hashable
1519
+
1520
+ # Required. A reference to a private connection resource. Format: `projects/`
1521
+ # project`/locations/`location`/privateConnections/`name``
1522
+ # Corresponds to the JSON property `privateConnection`
1523
+ # @return [String]
1524
+ attr_accessor :private_connection
1525
+
1526
+ def initialize(**args)
1527
+ update!(**args)
1528
+ end
1529
+
1530
+ # Update properties of this object
1531
+ def update!(**args)
1532
+ @private_connection = args[:private_connection] if args.key?(:private_connection)
1533
+ end
1534
+ end
1535
+
1536
+ # The route resource is the child of the private connection resource, used for
1537
+ # defining a route for a private connection.
1538
+ class Route
1539
+ include Google::Apis::Core::Hashable
1540
+
1541
+ # Output only. The create time of the resource.
1542
+ # Corresponds to the JSON property `createTime`
1543
+ # @return [String]
1544
+ attr_accessor :create_time
1545
+
1546
+ # Required. Destination address for connection
1547
+ # Corresponds to the JSON property `destinationAddress`
1548
+ # @return [String]
1549
+ attr_accessor :destination_address
1550
+
1551
+ # Destination port for connection
1552
+ # Corresponds to the JSON property `destinationPort`
1553
+ # @return [Fixnum]
1554
+ attr_accessor :destination_port
1555
+
1556
+ # Required. Display name.
1557
+ # Corresponds to the JSON property `displayName`
1558
+ # @return [String]
1559
+ attr_accessor :display_name
1560
+
1561
+ # Labels.
1562
+ # Corresponds to the JSON property `labels`
1563
+ # @return [Hash<String,String>]
1564
+ attr_accessor :labels
1565
+
1566
+ # Output only. The resource's name.
1567
+ # Corresponds to the JSON property `name`
1568
+ # @return [String]
1569
+ attr_accessor :name
1570
+
1571
+ # Output only. The update time of the resource.
1572
+ # Corresponds to the JSON property `updateTime`
1573
+ # @return [String]
1574
+ attr_accessor :update_time
1575
+
1576
+ def initialize(**args)
1577
+ update!(**args)
1578
+ end
1579
+
1580
+ # Update properties of this object
1581
+ def update!(**args)
1582
+ @create_time = args[:create_time] if args.key?(:create_time)
1583
+ @destination_address = args[:destination_address] if args.key?(:destination_address)
1584
+ @destination_port = args[:destination_port] if args.key?(:destination_port)
1585
+ @display_name = args[:display_name] if args.key?(:display_name)
1586
+ @labels = args[:labels] if args.key?(:labels)
1587
+ @name = args[:name] if args.key?(:name)
1588
+ @update_time = args[:update_time] if args.key?(:update_time)
1589
+ end
1590
+ end
1591
+
1592
+ # The configuration of the stream source.
1593
+ class SourceConfig
1594
+ include Google::Apis::Core::Hashable
1595
+
1596
+ # MySQL source configuration
1597
+ # Corresponds to the JSON property `mysqlSourceConfig`
1598
+ # @return [Google::Apis::DatastreamV1::MysqlSourceConfig]
1599
+ attr_accessor :mysql_source_config
1600
+
1601
+ # Oracle data source configuration
1602
+ # Corresponds to the JSON property `oracleSourceConfig`
1603
+ # @return [Google::Apis::DatastreamV1::OracleSourceConfig]
1604
+ attr_accessor :oracle_source_config
1605
+
1606
+ # Required. Source connection profile resoource. Format: `projects/`project`/
1607
+ # locations/`location`/connectionProfiles/`name``
1608
+ # Corresponds to the JSON property `sourceConnectionProfile`
1609
+ # @return [String]
1610
+ attr_accessor :source_connection_profile
1611
+
1612
+ def initialize(**args)
1613
+ update!(**args)
1614
+ end
1615
+
1616
+ # Update properties of this object
1617
+ def update!(**args)
1618
+ @mysql_source_config = args[:mysql_source_config] if args.key?(:mysql_source_config)
1619
+ @oracle_source_config = args[:oracle_source_config] if args.key?(:oracle_source_config)
1620
+ @source_connection_profile = args[:source_connection_profile] if args.key?(:source_connection_profile)
1621
+ end
1622
+ end
1623
+
1624
+ # Represents an identifier of an object in the data source.
1625
+ class SourceObjectIdentifier
1626
+ include Google::Apis::Core::Hashable
1627
+
1628
+ # Mysql data source object identifier.
1629
+ # Corresponds to the JSON property `mysqlIdentifier`
1630
+ # @return [Google::Apis::DatastreamV1::MysqlObjectIdentifier]
1631
+ attr_accessor :mysql_identifier
1632
+
1633
+ # Oracle data source object identifier.
1634
+ # Corresponds to the JSON property `oracleIdentifier`
1635
+ # @return [Google::Apis::DatastreamV1::OracleObjectIdentifier]
1636
+ attr_accessor :oracle_identifier
1637
+
1638
+ def initialize(**args)
1639
+ update!(**args)
1640
+ end
1641
+
1642
+ # Update properties of this object
1643
+ def update!(**args)
1644
+ @mysql_identifier = args[:mysql_identifier] if args.key?(:mysql_identifier)
1645
+ @oracle_identifier = args[:oracle_identifier] if args.key?(:oracle_identifier)
1646
+ end
1647
+ end
1648
+
1649
+ # Request for manually initiating a backfill job for a specific stream object.
1650
+ class StartBackfillJobRequest
1651
+ include Google::Apis::Core::Hashable
1652
+
1653
+ def initialize(**args)
1654
+ update!(**args)
1655
+ end
1656
+
1657
+ # Update properties of this object
1658
+ def update!(**args)
96
1659
  end
97
1660
  end
98
1661
 
99
- # The response message for Locations.ListLocations.
100
- class ListLocationsResponse
1662
+ # Response for manually initiating a backfill job for a specific stream object.
1663
+ class StartBackfillJobResponse
101
1664
  include Google::Apis::Core::Hashable
102
1665
 
103
- # A list of locations that matches the specified filter in the request.
104
- # Corresponds to the JSON property `locations`
105
- # @return [Array<Google::Apis::DatastreamV1::Location>]
106
- attr_accessor :locations
107
-
108
- # The standard List next-page token.
109
- # Corresponds to the JSON property `nextPageToken`
110
- # @return [String]
111
- attr_accessor :next_page_token
1666
+ # A specific stream object (e.g a specific DB table).
1667
+ # Corresponds to the JSON property `object`
1668
+ # @return [Google::Apis::DatastreamV1::StreamObject]
1669
+ attr_accessor :object
112
1670
 
113
1671
  def initialize(**args)
114
1672
  update!(**args)
@@ -116,68 +1674,49 @@ module Google
116
1674
 
117
1675
  # Update properties of this object
118
1676
  def update!(**args)
119
- @locations = args[:locations] if args.key?(:locations)
120
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1677
+ @object = args[:object] if args.key?(:object)
121
1678
  end
122
1679
  end
123
1680
 
124
- # The response message for Operations.ListOperations.
125
- class ListOperationsResponse
1681
+ # Static IP address connectivity.
1682
+ class StaticServiceIpConnectivity
126
1683
  include Google::Apis::Core::Hashable
127
1684
 
128
- # The standard List next-page token.
129
- # Corresponds to the JSON property `nextPageToken`
130
- # @return [String]
131
- attr_accessor :next_page_token
132
-
133
- # A list of operations that matches the specified filter in the request.
134
- # Corresponds to the JSON property `operations`
135
- # @return [Array<Google::Apis::DatastreamV1::Operation>]
136
- attr_accessor :operations
137
-
138
1685
  def initialize(**args)
139
1686
  update!(**args)
140
1687
  end
141
1688
 
142
1689
  # Update properties of this object
143
1690
  def update!(**args)
144
- @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
145
- @operations = args[:operations] if args.key?(:operations)
146
1691
  end
147
1692
  end
148
1693
 
149
- # A resource that represents Google Cloud Platform location.
150
- class Location
1694
+ # The `Status` type defines a logical error model that is suitable for different
1695
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1696
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1697
+ # data: error code, error message, and error details. You can find out more
1698
+ # about this error model and how to work with it in the [API Design Guide](https:
1699
+ # //cloud.google.com/apis/design/errors).
1700
+ class Status
151
1701
  include Google::Apis::Core::Hashable
152
1702
 
153
- # The friendly name for this location, typically a nearby city name. For example,
154
- # "Tokyo".
155
- # Corresponds to the JSON property `displayName`
156
- # @return [String]
157
- attr_accessor :display_name
158
-
159
- # Cross-service attributes for the location. For example `"cloud.googleapis.com/
160
- # region": "us-east1"`
161
- # Corresponds to the JSON property `labels`
162
- # @return [Hash<String,String>]
163
- attr_accessor :labels
164
-
165
- # The canonical id for this location. For example: `"us-east1"`.
166
- # Corresponds to the JSON property `locationId`
167
- # @return [String]
168
- attr_accessor :location_id
1703
+ # The status code, which should be an enum value of google.rpc.Code.
1704
+ # Corresponds to the JSON property `code`
1705
+ # @return [Fixnum]
1706
+ attr_accessor :code
169
1707
 
170
- # Service-specific metadata. For example the available capacity at the given
171
- # location.
172
- # Corresponds to the JSON property `metadata`
173
- # @return [Hash<String,Object>]
174
- attr_accessor :metadata
1708
+ # A list of messages that carry the error details. There is a common set of
1709
+ # message types for APIs to use.
1710
+ # Corresponds to the JSON property `details`
1711
+ # @return [Array<Hash<String,Object>>]
1712
+ attr_accessor :details
175
1713
 
176
- # Resource name for the location, which may vary between implementations. For
177
- # example: `"projects/example-project/locations/us-east1"`
178
- # Corresponds to the JSON property `name`
1714
+ # A developer-facing error message, which should be in English. Any user-facing
1715
+ # error message should be localized and sent in the google.rpc.Status.details
1716
+ # field, or localized by the client.
1717
+ # Corresponds to the JSON property `message`
179
1718
  # @return [String]
180
- attr_accessor :name
1719
+ attr_accessor :message
181
1720
 
182
1721
  def initialize(**args)
183
1722
  update!(**args)
@@ -185,61 +1724,34 @@ module Google
185
1724
 
186
1725
  # Update properties of this object
187
1726
  def update!(**args)
188
- @display_name = args[:display_name] if args.key?(:display_name)
189
- @labels = args[:labels] if args.key?(:labels)
190
- @location_id = args[:location_id] if args.key?(:location_id)
191
- @metadata = args[:metadata] if args.key?(:metadata)
192
- @name = args[:name] if args.key?(:name)
1727
+ @code = args[:code] if args.key?(:code)
1728
+ @details = args[:details] if args.key?(:details)
1729
+ @message = args[:message] if args.key?(:message)
193
1730
  end
194
1731
  end
195
1732
 
196
- # This resource represents a long-running operation that is the result of a
197
- # network API call.
198
- class Operation
1733
+ # Request for manually stopping a running backfill job for a specific stream
1734
+ # object.
1735
+ class StopBackfillJobRequest
199
1736
  include Google::Apis::Core::Hashable
200
1737
 
201
- # If the value is `false`, it means the operation is still in progress. If `true`
202
- # , the operation is completed, and either `error` or `response` is available.
203
- # Corresponds to the JSON property `done`
204
- # @return [Boolean]
205
- attr_accessor :done
206
- alias_method :done?, :done
207
-
208
- # The `Status` type defines a logical error model that is suitable for different
209
- # programming environments, including REST APIs and RPC APIs. It is used by [
210
- # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
211
- # data: error code, error message, and error details. You can find out more
212
- # about this error model and how to work with it in the [API Design Guide](https:
213
- # //cloud.google.com/apis/design/errors).
214
- # Corresponds to the JSON property `error`
215
- # @return [Google::Apis::DatastreamV1::Status]
216
- attr_accessor :error
1738
+ def initialize(**args)
1739
+ update!(**args)
1740
+ end
217
1741
 
218
- # Service-specific metadata associated with the operation. It typically contains
219
- # progress information and common metadata such as create time. Some services
220
- # might not provide such metadata. Any method that returns a long-running
221
- # operation should document the metadata type, if any.
222
- # Corresponds to the JSON property `metadata`
223
- # @return [Hash<String,Object>]
224
- attr_accessor :metadata
1742
+ # Update properties of this object
1743
+ def update!(**args)
1744
+ end
1745
+ end
225
1746
 
226
- # The server-assigned name, which is only unique within the same service that
227
- # originally returns it. If you use the default HTTP mapping, the `name` should
228
- # be a resource name ending with `operations/`unique_id``.
229
- # Corresponds to the JSON property `name`
230
- # @return [String]
231
- attr_accessor :name
1747
+ # Response for manually stop a backfill job for a specific stream object.
1748
+ class StopBackfillJobResponse
1749
+ include Google::Apis::Core::Hashable
232
1750
 
233
- # The normal response of the operation in case of success. If the original
234
- # method returns no data on success, such as `Delete`, the response is `google.
235
- # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
236
- # the response should be the resource. For other methods, the response should
237
- # have the type `XxxResponse`, where `Xxx` is the original method name. For
238
- # example, if the original method name is `TakeSnapshot()`, the inferred
239
- # response type is `TakeSnapshotResponse`.
240
- # Corresponds to the JSON property `response`
241
- # @return [Hash<String,Object>]
242
- attr_accessor :response
1751
+ # A specific stream object (e.g a specific DB table).
1752
+ # Corresponds to the JSON property `object`
1753
+ # @return [Google::Apis::DatastreamV1::StreamObject]
1754
+ attr_accessor :object
243
1755
 
244
1756
  def initialize(**args)
245
1757
  update!(**args)
@@ -247,61 +1759,76 @@ module Google
247
1759
 
248
1760
  # Update properties of this object
249
1761
  def update!(**args)
250
- @done = args[:done] if args.key?(:done)
251
- @error = args[:error] if args.key?(:error)
252
- @metadata = args[:metadata] if args.key?(:metadata)
253
- @name = args[:name] if args.key?(:name)
254
- @response = args[:response] if args.key?(:response)
1762
+ @object = args[:object] if args.key?(:object)
255
1763
  end
256
1764
  end
257
1765
 
258
- # Represents the metadata of the long-running operation.
259
- class OperationMetadata
1766
+ # A resource representing streaming data from a source to a destination.
1767
+ class Stream
260
1768
  include Google::Apis::Core::Hashable
261
1769
 
262
- # Output only. API version used to start the operation.
263
- # Corresponds to the JSON property `apiVersion`
264
- # @return [String]
265
- attr_accessor :api_version
1770
+ # Backfill strategy to automatically backfill the Stream's objects. Specific
1771
+ # objects can be excluded.
1772
+ # Corresponds to the JSON property `backfillAll`
1773
+ # @return [Google::Apis::DatastreamV1::BackfillAllStrategy]
1774
+ attr_accessor :backfill_all
266
1775
 
267
- # Output only. The time the operation was created.
1776
+ # Backfill strategy to disable automatic backfill for the Stream's objects.
1777
+ # Corresponds to the JSON property `backfillNone`
1778
+ # @return [Google::Apis::DatastreamV1::BackfillNoneStrategy]
1779
+ attr_accessor :backfill_none
1780
+
1781
+ # Output only. The creation time of the stream.
268
1782
  # Corresponds to the JSON property `createTime`
269
1783
  # @return [String]
270
1784
  attr_accessor :create_time
271
1785
 
272
- # Output only. The time the operation finished running.
273
- # Corresponds to the JSON property `endTime`
1786
+ # Immutable. A reference to a KMS encryption key. If provided, it will be used
1787
+ # to encrypt the data. If left blank, data will be encrypted using an internal
1788
+ # Stream-specific encryption key provisioned through KMS.
1789
+ # Corresponds to the JSON property `customerManagedEncryptionKey`
274
1790
  # @return [String]
275
- attr_accessor :end_time
1791
+ attr_accessor :customer_managed_encryption_key
276
1792
 
277
- # Output only. Identifies whether the user has requested cancellation of the
278
- # operation. Operations that have successfully been cancelled have Operation.
279
- # error value with a google.rpc.Status.code of 1, corresponding to `Code.
280
- # CANCELLED`.
281
- # Corresponds to the JSON property `requestedCancellation`
282
- # @return [Boolean]
283
- attr_accessor :requested_cancellation
284
- alias_method :requested_cancellation?, :requested_cancellation
1793
+ # The configuration of the stream destination.
1794
+ # Corresponds to the JSON property `destinationConfig`
1795
+ # @return [Google::Apis::DatastreamV1::DestinationConfig]
1796
+ attr_accessor :destination_config
285
1797
 
286
- # Output only. Human-readable status of the operation, if any.
287
- # Corresponds to the JSON property `statusMessage`
1798
+ # Required. Display name.
1799
+ # Corresponds to the JSON property `displayName`
288
1800
  # @return [String]
289
- attr_accessor :status_message
1801
+ attr_accessor :display_name
290
1802
 
291
- # Output only. Server-defined resource path for the target of the operation.
292
- # Corresponds to the JSON property `target`
1803
+ # Output only. Errors on the Stream.
1804
+ # Corresponds to the JSON property `errors`
1805
+ # @return [Array<Google::Apis::DatastreamV1::Error>]
1806
+ attr_accessor :errors
1807
+
1808
+ # Labels.
1809
+ # Corresponds to the JSON property `labels`
1810
+ # @return [Hash<String,String>]
1811
+ attr_accessor :labels
1812
+
1813
+ # Output only. The stream's name.
1814
+ # Corresponds to the JSON property `name`
293
1815
  # @return [String]
294
- attr_accessor :target
1816
+ attr_accessor :name
295
1817
 
296
- # Contains the current validation results.
297
- # Corresponds to the JSON property `validationResult`
298
- # @return [Google::Apis::DatastreamV1::ValidationResult]
299
- attr_accessor :validation_result
1818
+ # The configuration of the stream source.
1819
+ # Corresponds to the JSON property `sourceConfig`
1820
+ # @return [Google::Apis::DatastreamV1::SourceConfig]
1821
+ attr_accessor :source_config
300
1822
 
301
- # Output only. Name of the verb executed by the operation.
302
- # Corresponds to the JSON property `verb`
1823
+ # The state of the stream.
1824
+ # Corresponds to the JSON property `state`
303
1825
  # @return [String]
304
- attr_accessor :verb
1826
+ attr_accessor :state
1827
+
1828
+ # Output only. The last update time of the stream.
1829
+ # Corresponds to the JSON property `updateTime`
1830
+ # @return [String]
1831
+ attr_accessor :update_time
305
1832
 
306
1833
  def initialize(**args)
307
1834
  update!(**args)
@@ -309,43 +1836,59 @@ module Google
309
1836
 
310
1837
  # Update properties of this object
311
1838
  def update!(**args)
312
- @api_version = args[:api_version] if args.key?(:api_version)
1839
+ @backfill_all = args[:backfill_all] if args.key?(:backfill_all)
1840
+ @backfill_none = args[:backfill_none] if args.key?(:backfill_none)
313
1841
  @create_time = args[:create_time] if args.key?(:create_time)
314
- @end_time = args[:end_time] if args.key?(:end_time)
315
- @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
316
- @status_message = args[:status_message] if args.key?(:status_message)
317
- @target = args[:target] if args.key?(:target)
318
- @validation_result = args[:validation_result] if args.key?(:validation_result)
319
- @verb = args[:verb] if args.key?(:verb)
1842
+ @customer_managed_encryption_key = args[:customer_managed_encryption_key] if args.key?(:customer_managed_encryption_key)
1843
+ @destination_config = args[:destination_config] if args.key?(:destination_config)
1844
+ @display_name = args[:display_name] if args.key?(:display_name)
1845
+ @errors = args[:errors] if args.key?(:errors)
1846
+ @labels = args[:labels] if args.key?(:labels)
1847
+ @name = args[:name] if args.key?(:name)
1848
+ @source_config = args[:source_config] if args.key?(:source_config)
1849
+ @state = args[:state] if args.key?(:state)
1850
+ @update_time = args[:update_time] if args.key?(:update_time)
320
1851
  end
321
1852
  end
322
1853
 
323
- # The `Status` type defines a logical error model that is suitable for different
324
- # programming environments, including REST APIs and RPC APIs. It is used by [
325
- # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
326
- # data: error code, error message, and error details. You can find out more
327
- # about this error model and how to work with it in the [API Design Guide](https:
328
- # //cloud.google.com/apis/design/errors).
329
- class Status
1854
+ # A specific stream object (e.g a specific DB table).
1855
+ class StreamObject
330
1856
  include Google::Apis::Core::Hashable
331
1857
 
332
- # The status code, which should be an enum value of google.rpc.Code.
333
- # Corresponds to the JSON property `code`
334
- # @return [Fixnum]
335
- attr_accessor :code
1858
+ # Represents a backfill job on a specific stream object.
1859
+ # Corresponds to the JSON property `backfillJob`
1860
+ # @return [Google::Apis::DatastreamV1::BackfillJob]
1861
+ attr_accessor :backfill_job
336
1862
 
337
- # A list of messages that carry the error details. There is a common set of
338
- # message types for APIs to use.
339
- # Corresponds to the JSON property `details`
340
- # @return [Array<Hash<String,Object>>]
341
- attr_accessor :details
1863
+ # Output only. The creation time of the object.
1864
+ # Corresponds to the JSON property `createTime`
1865
+ # @return [String]
1866
+ attr_accessor :create_time
342
1867
 
343
- # A developer-facing error message, which should be in English. Any user-facing
344
- # error message should be localized and sent in the google.rpc.Status.details
345
- # field, or localized by the client.
346
- # Corresponds to the JSON property `message`
1868
+ # Required. Display name.
1869
+ # Corresponds to the JSON property `displayName`
347
1870
  # @return [String]
348
- attr_accessor :message
1871
+ attr_accessor :display_name
1872
+
1873
+ # Output only. Active errors on the object.
1874
+ # Corresponds to the JSON property `errors`
1875
+ # @return [Array<Google::Apis::DatastreamV1::Error>]
1876
+ attr_accessor :errors
1877
+
1878
+ # Output only. The object resource's name.
1879
+ # Corresponds to the JSON property `name`
1880
+ # @return [String]
1881
+ attr_accessor :name
1882
+
1883
+ # Represents an identifier of an object in the data source.
1884
+ # Corresponds to the JSON property `sourceObject`
1885
+ # @return [Google::Apis::DatastreamV1::SourceObjectIdentifier]
1886
+ attr_accessor :source_object
1887
+
1888
+ # Output only. The last update time of the object.
1889
+ # Corresponds to the JSON property `updateTime`
1890
+ # @return [String]
1891
+ attr_accessor :update_time
349
1892
 
350
1893
  def initialize(**args)
351
1894
  update!(**args)
@@ -353,9 +1896,13 @@ module Google
353
1896
 
354
1897
  # Update properties of this object
355
1898
  def update!(**args)
356
- @code = args[:code] if args.key?(:code)
357
- @details = args[:details] if args.key?(:details)
358
- @message = args[:message] if args.key?(:message)
1899
+ @backfill_job = args[:backfill_job] if args.key?(:backfill_job)
1900
+ @create_time = args[:create_time] if args.key?(:create_time)
1901
+ @display_name = args[:display_name] if args.key?(:display_name)
1902
+ @errors = args[:errors] if args.key?(:errors)
1903
+ @name = args[:name] if args.key?(:name)
1904
+ @source_object = args[:source_object] if args.key?(:source_object)
1905
+ @update_time = args[:update_time] if args.key?(:update_time)
359
1906
  end
360
1907
  end
361
1908
 
@@ -452,6 +1999,34 @@ module Google
452
1999
  @validations = args[:validations] if args.key?(:validations)
453
2000
  end
454
2001
  end
2002
+
2003
+ # The VPC Peering configuration is used to create VPC peering between Datastream
2004
+ # and the consumer's VPC.
2005
+ class VpcPeeringConfig
2006
+ include Google::Apis::Core::Hashable
2007
+
2008
+ # Required. A free subnet for peering. (CIDR of /29) TODO(b/172995841) add
2009
+ # validators.
2010
+ # Corresponds to the JSON property `subnet`
2011
+ # @return [String]
2012
+ attr_accessor :subnet
2013
+
2014
+ # Required. Fully qualified name of the VPC that Datastream will peer to. Format:
2015
+ # `projects/`project`/global/`networks`/`name``
2016
+ # Corresponds to the JSON property `vpc`
2017
+ # @return [String]
2018
+ attr_accessor :vpc
2019
+
2020
+ def initialize(**args)
2021
+ update!(**args)
2022
+ end
2023
+
2024
+ # Update properties of this object
2025
+ def update!(**args)
2026
+ @subnet = args[:subnet] if args.key?(:subnet)
2027
+ @vpc = args[:vpc] if args.key?(:vpc)
2028
+ end
2029
+ end
455
2030
  end
456
2031
  end
457
2032
  end