google-apis-datastream_v1 0.1.0 → 0.2.0

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