google-cloud-datastream-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,916 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Datastream
23
+ module V1
24
+ # Oracle database profile.
25
+ # @!attribute [rw] hostname
26
+ # @return [::String]
27
+ # Required. Hostname for the Oracle connection.
28
+ # @!attribute [rw] port
29
+ # @return [::Integer]
30
+ # Port for the Oracle connection, default value is 1521.
31
+ # @!attribute [rw] username
32
+ # @return [::String]
33
+ # Required. Username for the Oracle connection.
34
+ # @!attribute [rw] password
35
+ # @return [::String]
36
+ # Required. Password for the Oracle connection.
37
+ # @!attribute [rw] database_service
38
+ # @return [::String]
39
+ # Required. Database for the Oracle connection.
40
+ # @!attribute [rw] connection_attributes
41
+ # @return [::Google::Protobuf::Map{::String => ::String}]
42
+ # Connection string attributes
43
+ class OracleProfile
44
+ include ::Google::Protobuf::MessageExts
45
+ extend ::Google::Protobuf::MessageExts::ClassMethods
46
+
47
+ # @!attribute [rw] key
48
+ # @return [::String]
49
+ # @!attribute [rw] value
50
+ # @return [::String]
51
+ class ConnectionAttributesEntry
52
+ include ::Google::Protobuf::MessageExts
53
+ extend ::Google::Protobuf::MessageExts::ClassMethods
54
+ end
55
+ end
56
+
57
+ # MySQL database profile.
58
+ # @!attribute [rw] hostname
59
+ # @return [::String]
60
+ # Required. Hostname for the MySQL connection.
61
+ # @!attribute [rw] port
62
+ # @return [::Integer]
63
+ # Port for the MySQL connection, default value is 3306.
64
+ # @!attribute [rw] username
65
+ # @return [::String]
66
+ # Required. Username for the MySQL connection.
67
+ # @!attribute [rw] password
68
+ # @return [::String]
69
+ # Required. Input only. Password for the MySQL connection.
70
+ # @!attribute [rw] ssl_config
71
+ # @return [::Google::Cloud::Datastream::V1::MysqlSslConfig]
72
+ # SSL configuration for the MySQL connection.
73
+ class MysqlProfile
74
+ include ::Google::Protobuf::MessageExts
75
+ extend ::Google::Protobuf::MessageExts::ClassMethods
76
+ end
77
+
78
+ # Cloud Storage bucket profile.
79
+ # @!attribute [rw] bucket
80
+ # @return [::String]
81
+ # Required. The Cloud Storage bucket name.
82
+ # @!attribute [rw] root_path
83
+ # @return [::String]
84
+ # The root path inside the Cloud Storage bucket.
85
+ class GcsProfile
86
+ include ::Google::Protobuf::MessageExts
87
+ extend ::Google::Protobuf::MessageExts::ClassMethods
88
+ end
89
+
90
+ # Static IP address connectivity.
91
+ class StaticServiceIpConnectivity
92
+ include ::Google::Protobuf::MessageExts
93
+ extend ::Google::Protobuf::MessageExts::ClassMethods
94
+ end
95
+
96
+ # Forward SSH Tunnel connectivity.
97
+ # @!attribute [rw] hostname
98
+ # @return [::String]
99
+ # Required. Hostname for the SSH tunnel.
100
+ # @!attribute [rw] username
101
+ # @return [::String]
102
+ # Required. Username for the SSH tunnel.
103
+ # @!attribute [rw] port
104
+ # @return [::Integer]
105
+ # Port for the SSH tunnel, default value is 22.
106
+ # @!attribute [rw] password
107
+ # @return [::String]
108
+ # Input only. SSH password.
109
+ # @!attribute [rw] private_key
110
+ # @return [::String]
111
+ # Input only. SSH private key.
112
+ class ForwardSshTunnelConnectivity
113
+ include ::Google::Protobuf::MessageExts
114
+ extend ::Google::Protobuf::MessageExts::ClassMethods
115
+ end
116
+
117
+ # The VPC Peering configuration is used to create VPC peering between
118
+ # Datastream and the consumer's VPC.
119
+ # @!attribute [rw] vpc
120
+ # @return [::String]
121
+ # Required. Fully qualified name of the VPC that Datastream will peer to.
122
+ # Format: `projects/{project}/global/{networks}/{name}`
123
+ # @!attribute [rw] subnet
124
+ # @return [::String]
125
+ # Required. A free subnet for peering. (CIDR of /29)
126
+ class VpcPeeringConfig
127
+ include ::Google::Protobuf::MessageExts
128
+ extend ::Google::Protobuf::MessageExts::ClassMethods
129
+ end
130
+
131
+ # The PrivateConnection resource is used to establish private connectivity
132
+ # between Datastream and a customer's network.
133
+ # @!attribute [r] name
134
+ # @return [::String]
135
+ # Output only. The resource's name.
136
+ # @!attribute [r] create_time
137
+ # @return [::Google::Protobuf::Timestamp]
138
+ # Output only. The create time of the resource.
139
+ # @!attribute [r] update_time
140
+ # @return [::Google::Protobuf::Timestamp]
141
+ # Output only. The update time of the resource.
142
+ # @!attribute [rw] labels
143
+ # @return [::Google::Protobuf::Map{::String => ::String}]
144
+ # Labels.
145
+ # @!attribute [rw] display_name
146
+ # @return [::String]
147
+ # Required. Display name.
148
+ # @!attribute [r] state
149
+ # @return [::Google::Cloud::Datastream::V1::PrivateConnection::State]
150
+ # Output only. The state of the Private Connection.
151
+ # @!attribute [r] error
152
+ # @return [::Google::Cloud::Datastream::V1::Error]
153
+ # Output only. In case of error, the details of the error in a user-friendly
154
+ # format.
155
+ # @!attribute [rw] vpc_peering_config
156
+ # @return [::Google::Cloud::Datastream::V1::VpcPeeringConfig]
157
+ # VPC Peering Config.
158
+ class PrivateConnection
159
+ include ::Google::Protobuf::MessageExts
160
+ extend ::Google::Protobuf::MessageExts::ClassMethods
161
+
162
+ # @!attribute [rw] key
163
+ # @return [::String]
164
+ # @!attribute [rw] value
165
+ # @return [::String]
166
+ class LabelsEntry
167
+ include ::Google::Protobuf::MessageExts
168
+ extend ::Google::Protobuf::MessageExts::ClassMethods
169
+ end
170
+
171
+ # Private Connection state.
172
+ module State
173
+ # Unspecified state.
174
+ STATE_UNSPECIFIED = 0
175
+
176
+ # The private connection is in creation state - creating resources.
177
+ CREATING = 1
178
+
179
+ # The private connection has been created with all of its resources.
180
+ CREATED = 2
181
+
182
+ # The private connection creation has failed.
183
+ FAILED = 3
184
+
185
+ # The private connection is being deleted.
186
+ DELETING = 4
187
+
188
+ # Delete request has failed, resource is in invalid state.
189
+ FAILED_TO_DELETE = 5
190
+ end
191
+ end
192
+
193
+ # Private Connectivity
194
+ # @!attribute [rw] private_connection
195
+ # @return [::String]
196
+ # Required. A reference to a private connection resource.
197
+ # Format: `projects/{project}/locations/{location}/privateConnections/{name}`
198
+ class PrivateConnectivity
199
+ include ::Google::Protobuf::MessageExts
200
+ extend ::Google::Protobuf::MessageExts::ClassMethods
201
+ end
202
+
203
+ # The route resource is the child of the private connection resource,
204
+ # used for defining a route for a private connection.
205
+ # @!attribute [r] name
206
+ # @return [::String]
207
+ # Output only. The resource's name.
208
+ # @!attribute [r] create_time
209
+ # @return [::Google::Protobuf::Timestamp]
210
+ # Output only. The create time of the resource.
211
+ # @!attribute [r] update_time
212
+ # @return [::Google::Protobuf::Timestamp]
213
+ # Output only. The update time of the resource.
214
+ # @!attribute [rw] labels
215
+ # @return [::Google::Protobuf::Map{::String => ::String}]
216
+ # Labels.
217
+ # @!attribute [rw] display_name
218
+ # @return [::String]
219
+ # Required. Display name.
220
+ # @!attribute [rw] destination_address
221
+ # @return [::String]
222
+ # Required. Destination address for connection
223
+ # @!attribute [rw] destination_port
224
+ # @return [::Integer]
225
+ # Destination port for connection
226
+ class Route
227
+ include ::Google::Protobuf::MessageExts
228
+ extend ::Google::Protobuf::MessageExts::ClassMethods
229
+
230
+ # @!attribute [rw] key
231
+ # @return [::String]
232
+ # @!attribute [rw] value
233
+ # @return [::String]
234
+ class LabelsEntry
235
+ include ::Google::Protobuf::MessageExts
236
+ extend ::Google::Protobuf::MessageExts::ClassMethods
237
+ end
238
+ end
239
+
240
+ # MySQL SSL configuration information.
241
+ # @!attribute [rw] client_key
242
+ # @return [::String]
243
+ # Input only. PEM-encoded private key associated with the Client Certificate.
244
+ # If this field is used then the 'client_certificate' and the
245
+ # 'ca_certificate' fields are mandatory.
246
+ # @!attribute [r] client_key_set
247
+ # @return [::Boolean]
248
+ # Output only. Indicates whether the client_key field is set.
249
+ # @!attribute [rw] client_certificate
250
+ # @return [::String]
251
+ # Input only. PEM-encoded certificate that will be used by the replica to
252
+ # authenticate against the source database server. If this field is used
253
+ # then the 'client_key' and the 'ca_certificate' fields are mandatory.
254
+ # @!attribute [r] client_certificate_set
255
+ # @return [::Boolean]
256
+ # Output only. Indicates whether the client_certificate field is set.
257
+ # @!attribute [rw] ca_certificate
258
+ # @return [::String]
259
+ # Input only. PEM-encoded certificate of the CA that signed the source
260
+ # database server's certificate.
261
+ # @!attribute [r] ca_certificate_set
262
+ # @return [::Boolean]
263
+ # Output only. Indicates whether the ca_certificate field is set.
264
+ class MysqlSslConfig
265
+ include ::Google::Protobuf::MessageExts
266
+ extend ::Google::Protobuf::MessageExts::ClassMethods
267
+ end
268
+
269
+ # A set of reusable connection configurations to be used as a source or
270
+ # destination for a stream.
271
+ # @!attribute [r] name
272
+ # @return [::String]
273
+ # Output only. The resource's name.
274
+ # @!attribute [r] create_time
275
+ # @return [::Google::Protobuf::Timestamp]
276
+ # Output only. The create time of the resource.
277
+ # @!attribute [r] update_time
278
+ # @return [::Google::Protobuf::Timestamp]
279
+ # Output only. The update time of the resource.
280
+ # @!attribute [rw] labels
281
+ # @return [::Google::Protobuf::Map{::String => ::String}]
282
+ # Labels.
283
+ # @!attribute [rw] display_name
284
+ # @return [::String]
285
+ # Required. Display name.
286
+ # @!attribute [rw] oracle_profile
287
+ # @return [::Google::Cloud::Datastream::V1::OracleProfile]
288
+ # Oracle ConnectionProfile configuration.
289
+ # @!attribute [rw] gcs_profile
290
+ # @return [::Google::Cloud::Datastream::V1::GcsProfile]
291
+ # Cloud Storage ConnectionProfile configuration.
292
+ # @!attribute [rw] mysql_profile
293
+ # @return [::Google::Cloud::Datastream::V1::MysqlProfile]
294
+ # MySQL ConnectionProfile configuration.
295
+ # @!attribute [rw] static_service_ip_connectivity
296
+ # @return [::Google::Cloud::Datastream::V1::StaticServiceIpConnectivity]
297
+ # Static Service IP connectivity.
298
+ # @!attribute [rw] forward_ssh_connectivity
299
+ # @return [::Google::Cloud::Datastream::V1::ForwardSshTunnelConnectivity]
300
+ # Forward SSH tunnel connectivity.
301
+ # @!attribute [rw] private_connectivity
302
+ # @return [::Google::Cloud::Datastream::V1::PrivateConnectivity]
303
+ # Private connectivity.
304
+ class ConnectionProfile
305
+ include ::Google::Protobuf::MessageExts
306
+ extend ::Google::Protobuf::MessageExts::ClassMethods
307
+
308
+ # @!attribute [rw] key
309
+ # @return [::String]
310
+ # @!attribute [rw] value
311
+ # @return [::String]
312
+ class LabelsEntry
313
+ include ::Google::Protobuf::MessageExts
314
+ extend ::Google::Protobuf::MessageExts::ClassMethods
315
+ end
316
+ end
317
+
318
+ # Oracle Column.
319
+ # @!attribute [rw] column
320
+ # @return [::String]
321
+ # Column name.
322
+ # @!attribute [rw] data_type
323
+ # @return [::String]
324
+ # The Oracle data type.
325
+ # @!attribute [rw] length
326
+ # @return [::Integer]
327
+ # Column length.
328
+ # @!attribute [rw] precision
329
+ # @return [::Integer]
330
+ # Column precision.
331
+ # @!attribute [rw] scale
332
+ # @return [::Integer]
333
+ # Column scale.
334
+ # @!attribute [rw] encoding
335
+ # @return [::String]
336
+ # Column encoding.
337
+ # @!attribute [rw] primary_key
338
+ # @return [::Boolean]
339
+ # Whether or not the column represents a primary key.
340
+ # @!attribute [rw] nullable
341
+ # @return [::Boolean]
342
+ # Whether or not the column can accept a null value.
343
+ # @!attribute [rw] ordinal_position
344
+ # @return [::Integer]
345
+ # The ordinal position of the column in the table.
346
+ class OracleColumn
347
+ include ::Google::Protobuf::MessageExts
348
+ extend ::Google::Protobuf::MessageExts::ClassMethods
349
+ end
350
+
351
+ # Oracle table.
352
+ # @!attribute [rw] table
353
+ # @return [::String]
354
+ # Table name.
355
+ # @!attribute [rw] oracle_columns
356
+ # @return [::Array<::Google::Cloud::Datastream::V1::OracleColumn>]
357
+ # Oracle columns in the schema.
358
+ # When unspecified as part of inclue/exclude lists, includes/excludes
359
+ # everything.
360
+ class OracleTable
361
+ include ::Google::Protobuf::MessageExts
362
+ extend ::Google::Protobuf::MessageExts::ClassMethods
363
+ end
364
+
365
+ # Oracle schema.
366
+ # @!attribute [rw] schema
367
+ # @return [::String]
368
+ # Schema name.
369
+ # @!attribute [rw] oracle_tables
370
+ # @return [::Array<::Google::Cloud::Datastream::V1::OracleTable>]
371
+ # Tables in the schema.
372
+ class OracleSchema
373
+ include ::Google::Protobuf::MessageExts
374
+ extend ::Google::Protobuf::MessageExts::ClassMethods
375
+ end
376
+
377
+ # Oracle database structure.
378
+ # @!attribute [rw] oracle_schemas
379
+ # @return [::Array<::Google::Cloud::Datastream::V1::OracleSchema>]
380
+ # Oracle schemas/databases in the database server.
381
+ class OracleRdbms
382
+ include ::Google::Protobuf::MessageExts
383
+ extend ::Google::Protobuf::MessageExts::ClassMethods
384
+ end
385
+
386
+ # Oracle data source configuration
387
+ # @!attribute [rw] include_objects
388
+ # @return [::Google::Cloud::Datastream::V1::OracleRdbms]
389
+ # Oracle objects to include in the stream.
390
+ # @!attribute [rw] exclude_objects
391
+ # @return [::Google::Cloud::Datastream::V1::OracleRdbms]
392
+ # Oracle objects to exclude from the stream.
393
+ class OracleSourceConfig
394
+ include ::Google::Protobuf::MessageExts
395
+ extend ::Google::Protobuf::MessageExts::ClassMethods
396
+ end
397
+
398
+ # MySQL Column.
399
+ # @!attribute [rw] column
400
+ # @return [::String]
401
+ # Column name.
402
+ # @!attribute [rw] data_type
403
+ # @return [::String]
404
+ # The MySQL data type. Full data types list can be found here:
405
+ # https://dev.mysql.com/doc/refman/8.0/en/data-types.html
406
+ # @!attribute [rw] length
407
+ # @return [::Integer]
408
+ # Column length.
409
+ # @!attribute [rw] collation
410
+ # @return [::String]
411
+ # Column collation.
412
+ # @!attribute [rw] primary_key
413
+ # @return [::Boolean]
414
+ # Whether or not the column represents a primary key.
415
+ # @!attribute [rw] nullable
416
+ # @return [::Boolean]
417
+ # Whether or not the column can accept a null value.
418
+ # @!attribute [rw] ordinal_position
419
+ # @return [::Integer]
420
+ # The ordinal position of the column in the table.
421
+ class MysqlColumn
422
+ include ::Google::Protobuf::MessageExts
423
+ extend ::Google::Protobuf::MessageExts::ClassMethods
424
+ end
425
+
426
+ # MySQL table.
427
+ # @!attribute [rw] table
428
+ # @return [::String]
429
+ # Table name.
430
+ # @!attribute [rw] mysql_columns
431
+ # @return [::Array<::Google::Cloud::Datastream::V1::MysqlColumn>]
432
+ # MySQL columns in the database.
433
+ # When unspecified as part of include/exclude lists, includes/excludes
434
+ # everything.
435
+ class MysqlTable
436
+ include ::Google::Protobuf::MessageExts
437
+ extend ::Google::Protobuf::MessageExts::ClassMethods
438
+ end
439
+
440
+ # MySQL database.
441
+ # @!attribute [rw] database
442
+ # @return [::String]
443
+ # Database name.
444
+ # @!attribute [rw] mysql_tables
445
+ # @return [::Array<::Google::Cloud::Datastream::V1::MysqlTable>]
446
+ # Tables in the database.
447
+ class MysqlDatabase
448
+ include ::Google::Protobuf::MessageExts
449
+ extend ::Google::Protobuf::MessageExts::ClassMethods
450
+ end
451
+
452
+ # MySQL database structure
453
+ # @!attribute [rw] mysql_databases
454
+ # @return [::Array<::Google::Cloud::Datastream::V1::MysqlDatabase>]
455
+ # Mysql databases on the server
456
+ class MysqlRdbms
457
+ include ::Google::Protobuf::MessageExts
458
+ extend ::Google::Protobuf::MessageExts::ClassMethods
459
+ end
460
+
461
+ # MySQL source configuration
462
+ # @!attribute [rw] include_objects
463
+ # @return [::Google::Cloud::Datastream::V1::MysqlRdbms]
464
+ # MySQL objects to retrieve from the source.
465
+ # @!attribute [rw] exclude_objects
466
+ # @return [::Google::Cloud::Datastream::V1::MysqlRdbms]
467
+ # MySQL objects to exclude from the stream.
468
+ class MysqlSourceConfig
469
+ include ::Google::Protobuf::MessageExts
470
+ extend ::Google::Protobuf::MessageExts::ClassMethods
471
+ end
472
+
473
+ # The configuration of the stream source.
474
+ # @!attribute [rw] source_connection_profile
475
+ # @return [::String]
476
+ # Required. Source connection profile resoource.
477
+ # Format: `projects/{project}/locations/{location}/connectionProfiles/{name}`
478
+ # @!attribute [rw] oracle_source_config
479
+ # @return [::Google::Cloud::Datastream::V1::OracleSourceConfig]
480
+ # Oracle data source configuration
481
+ # @!attribute [rw] mysql_source_config
482
+ # @return [::Google::Cloud::Datastream::V1::MysqlSourceConfig]
483
+ # MySQL data source configuration
484
+ class SourceConfig
485
+ include ::Google::Protobuf::MessageExts
486
+ extend ::Google::Protobuf::MessageExts::ClassMethods
487
+ end
488
+
489
+ # AVRO file format configuration.
490
+ class AvroFileFormat
491
+ include ::Google::Protobuf::MessageExts
492
+ extend ::Google::Protobuf::MessageExts::ClassMethods
493
+ end
494
+
495
+ # JSON file format configuration.
496
+ # @!attribute [rw] schema_file_format
497
+ # @return [::Google::Cloud::Datastream::V1::JsonFileFormat::SchemaFileFormat]
498
+ # The schema file format along JSON data files.
499
+ # @!attribute [rw] compression
500
+ # @return [::Google::Cloud::Datastream::V1::JsonFileFormat::JsonCompression]
501
+ # Compression of the loaded JSON file.
502
+ class JsonFileFormat
503
+ include ::Google::Protobuf::MessageExts
504
+ extend ::Google::Protobuf::MessageExts::ClassMethods
505
+
506
+ # Schema file format.
507
+ module SchemaFileFormat
508
+ # Unspecified schema file format.
509
+ SCHEMA_FILE_FORMAT_UNSPECIFIED = 0
510
+
511
+ # Do not attach schema file.
512
+ NO_SCHEMA_FILE = 1
513
+
514
+ # Avro schema format.
515
+ AVRO_SCHEMA_FILE = 2
516
+ end
517
+
518
+ # Json file compression.
519
+ module JsonCompression
520
+ # Unspecified json file compression.
521
+ JSON_COMPRESSION_UNSPECIFIED = 0
522
+
523
+ # Do not compress JSON file.
524
+ NO_COMPRESSION = 1
525
+
526
+ # Gzip compression.
527
+ GZIP = 2
528
+ end
529
+ end
530
+
531
+ # Google Cloud Storage destination configuration
532
+ # @!attribute [rw] path
533
+ # @return [::String]
534
+ # Path inside the Cloud Storage bucket to write data to.
535
+ # @!attribute [rw] file_rotation_mb
536
+ # @return [::Integer]
537
+ # The maximum file size to be saved in the bucket.
538
+ # @!attribute [rw] file_rotation_interval
539
+ # @return [::Google::Protobuf::Duration]
540
+ # The maximum duration for which new events are added before a file is
541
+ # closed and a new file is created.
542
+ # @!attribute [rw] avro_file_format
543
+ # @return [::Google::Cloud::Datastream::V1::AvroFileFormat]
544
+ # AVRO file format configuration.
545
+ # @!attribute [rw] json_file_format
546
+ # @return [::Google::Cloud::Datastream::V1::JsonFileFormat]
547
+ # JSON file format configuration.
548
+ class GcsDestinationConfig
549
+ include ::Google::Protobuf::MessageExts
550
+ extend ::Google::Protobuf::MessageExts::ClassMethods
551
+ end
552
+
553
+ # The configuration of the stream destination.
554
+ # @!attribute [rw] destination_connection_profile
555
+ # @return [::String]
556
+ # Required. Destination connection profile resource.
557
+ # Format: `projects/{project}/locations/{location}/connectionProfiles/{name}`
558
+ # @!attribute [rw] gcs_destination_config
559
+ # @return [::Google::Cloud::Datastream::V1::GcsDestinationConfig]
560
+ # A configuration for how data should be loaded to Cloud Storage.
561
+ class DestinationConfig
562
+ include ::Google::Protobuf::MessageExts
563
+ extend ::Google::Protobuf::MessageExts::ClassMethods
564
+ end
565
+
566
+ # A resource representing streaming data from a source to a destination.
567
+ # @!attribute [r] name
568
+ # @return [::String]
569
+ # Output only. The stream's name.
570
+ # @!attribute [r] create_time
571
+ # @return [::Google::Protobuf::Timestamp]
572
+ # Output only. The creation time of the stream.
573
+ # @!attribute [r] update_time
574
+ # @return [::Google::Protobuf::Timestamp]
575
+ # Output only. The last update time of the stream.
576
+ # @!attribute [rw] labels
577
+ # @return [::Google::Protobuf::Map{::String => ::String}]
578
+ # Labels.
579
+ # @!attribute [rw] display_name
580
+ # @return [::String]
581
+ # Required. Display name.
582
+ # @!attribute [rw] source_config
583
+ # @return [::Google::Cloud::Datastream::V1::SourceConfig]
584
+ # Required. Source connection profile configuration.
585
+ # @!attribute [rw] destination_config
586
+ # @return [::Google::Cloud::Datastream::V1::DestinationConfig]
587
+ # Required. Destination connection profile configuration.
588
+ # @!attribute [rw] state
589
+ # @return [::Google::Cloud::Datastream::V1::Stream::State]
590
+ # The state of the stream.
591
+ # @!attribute [rw] backfill_all
592
+ # @return [::Google::Cloud::Datastream::V1::Stream::BackfillAllStrategy]
593
+ # Automatically backfill objects included in the stream source
594
+ # configuration. Specific objects can be excluded.
595
+ # @!attribute [rw] backfill_none
596
+ # @return [::Google::Cloud::Datastream::V1::Stream::BackfillNoneStrategy]
597
+ # Do not automatically backfill any objects.
598
+ # @!attribute [r] errors
599
+ # @return [::Array<::Google::Cloud::Datastream::V1::Error>]
600
+ # Output only. Errors on the Stream.
601
+ # @!attribute [rw] customer_managed_encryption_key
602
+ # @return [::String]
603
+ # Immutable. A reference to a KMS encryption key.
604
+ # If provided, it will be used to encrypt the data.
605
+ # If left blank, data will be encrypted using an internal Stream-specific
606
+ # encryption key provisioned through KMS.
607
+ class Stream
608
+ include ::Google::Protobuf::MessageExts
609
+ extend ::Google::Protobuf::MessageExts::ClassMethods
610
+
611
+ # Backfill strategy to automatically backfill the Stream's objects.
612
+ # Specific objects can be excluded.
613
+ # @!attribute [rw] oracle_excluded_objects
614
+ # @return [::Google::Cloud::Datastream::V1::OracleRdbms]
615
+ # Oracle data source objects to avoid backfilling.
616
+ # @!attribute [rw] mysql_excluded_objects
617
+ # @return [::Google::Cloud::Datastream::V1::MysqlRdbms]
618
+ # MySQL data source objects to avoid backfilling.
619
+ class BackfillAllStrategy
620
+ include ::Google::Protobuf::MessageExts
621
+ extend ::Google::Protobuf::MessageExts::ClassMethods
622
+ end
623
+
624
+ # Backfill strategy to disable automatic backfill for the Stream's objects.
625
+ class BackfillNoneStrategy
626
+ include ::Google::Protobuf::MessageExts
627
+ extend ::Google::Protobuf::MessageExts::ClassMethods
628
+ end
629
+
630
+ # @!attribute [rw] key
631
+ # @return [::String]
632
+ # @!attribute [rw] value
633
+ # @return [::String]
634
+ class LabelsEntry
635
+ include ::Google::Protobuf::MessageExts
636
+ extend ::Google::Protobuf::MessageExts::ClassMethods
637
+ end
638
+
639
+ # Stream state.
640
+ module State
641
+ # Unspecified stream state.
642
+ STATE_UNSPECIFIED = 0
643
+
644
+ # The stream has been created but has not yet started streaming data.
645
+ NOT_STARTED = 1
646
+
647
+ # The stream is running.
648
+ RUNNING = 2
649
+
650
+ # The stream is paused.
651
+ PAUSED = 3
652
+
653
+ # The stream is in maintenance mode.
654
+ #
655
+ # Updates are rejected on the resource in this state.
656
+ MAINTENANCE = 4
657
+
658
+ # The stream is experiencing an error that is preventing data from being
659
+ # streamed.
660
+ FAILED = 5
661
+
662
+ # The stream has experienced a terminal failure.
663
+ FAILED_PERMANENTLY = 6
664
+
665
+ # The stream is starting, but not yet running.
666
+ STARTING = 7
667
+
668
+ # The Stream is no longer reading new events, but still writing events in
669
+ # the buffer.
670
+ DRAINING = 8
671
+ end
672
+ end
673
+
674
+ # A specific stream object (e.g a specific DB table).
675
+ # @!attribute [r] name
676
+ # @return [::String]
677
+ # Output only. The object resource's name.
678
+ # @!attribute [r] create_time
679
+ # @return [::Google::Protobuf::Timestamp]
680
+ # Output only. The creation time of the object.
681
+ # @!attribute [r] update_time
682
+ # @return [::Google::Protobuf::Timestamp]
683
+ # Output only. The last update time of the object.
684
+ # @!attribute [rw] display_name
685
+ # @return [::String]
686
+ # Required. Display name.
687
+ # @!attribute [r] errors
688
+ # @return [::Array<::Google::Cloud::Datastream::V1::Error>]
689
+ # Output only. Active errors on the object.
690
+ # @!attribute [rw] backfill_job
691
+ # @return [::Google::Cloud::Datastream::V1::BackfillJob]
692
+ # The latest backfill job that was initiated for the stream object.
693
+ # @!attribute [rw] source_object
694
+ # @return [::Google::Cloud::Datastream::V1::SourceObjectIdentifier]
695
+ # The object identifier in the data source.
696
+ class StreamObject
697
+ include ::Google::Protobuf::MessageExts
698
+ extend ::Google::Protobuf::MessageExts::ClassMethods
699
+ end
700
+
701
+ # Represents an identifier of an object in the data source.
702
+ # @!attribute [rw] oracle_identifier
703
+ # @return [::Google::Cloud::Datastream::V1::SourceObjectIdentifier::OracleObjectIdentifier]
704
+ # Oracle data source object identifier.
705
+ # @!attribute [rw] mysql_identifier
706
+ # @return [::Google::Cloud::Datastream::V1::SourceObjectIdentifier::MysqlObjectIdentifier]
707
+ # Mysql data source object identifier.
708
+ class SourceObjectIdentifier
709
+ include ::Google::Protobuf::MessageExts
710
+ extend ::Google::Protobuf::MessageExts::ClassMethods
711
+
712
+ # Oracle data source object identifier.
713
+ # @!attribute [rw] schema
714
+ # @return [::String]
715
+ # Required. The schema name.
716
+ # @!attribute [rw] table
717
+ # @return [::String]
718
+ # Required. The table name.
719
+ class OracleObjectIdentifier
720
+ include ::Google::Protobuf::MessageExts
721
+ extend ::Google::Protobuf::MessageExts::ClassMethods
722
+ end
723
+
724
+ # Mysql data source object identifier.
725
+ # @!attribute [rw] database
726
+ # @return [::String]
727
+ # Required. The database name.
728
+ # @!attribute [rw] table
729
+ # @return [::String]
730
+ # Required. The table name.
731
+ class MysqlObjectIdentifier
732
+ include ::Google::Protobuf::MessageExts
733
+ extend ::Google::Protobuf::MessageExts::ClassMethods
734
+ end
735
+ end
736
+
737
+ # Represents a backfill job on a specific stream object.
738
+ # @!attribute [rw] state
739
+ # @return [::Google::Cloud::Datastream::V1::BackfillJob::State]
740
+ # Backfill job state.
741
+ # @!attribute [rw] trigger
742
+ # @return [::Google::Cloud::Datastream::V1::BackfillJob::Trigger]
743
+ # Backfill job's triggering reason.
744
+ # @!attribute [r] last_start_time
745
+ # @return [::Google::Protobuf::Timestamp]
746
+ # Output only. Backfill job's start time.
747
+ # @!attribute [r] last_end_time
748
+ # @return [::Google::Protobuf::Timestamp]
749
+ # Output only. Backfill job's end time.
750
+ # @!attribute [r] errors
751
+ # @return [::Array<::Google::Cloud::Datastream::V1::Error>]
752
+ # Output only. Errors which caused the backfill job to fail.
753
+ class BackfillJob
754
+ include ::Google::Protobuf::MessageExts
755
+ extend ::Google::Protobuf::MessageExts::ClassMethods
756
+
757
+ # State of the stream object's backfill job.
758
+ module State
759
+ # Default value.
760
+ STATE_UNSPECIFIED = 0
761
+
762
+ # Backfill job was never started for the stream object (stream has backfill
763
+ # strategy defined as manual or object was explicitly excluded from
764
+ # automatic backfill).
765
+ NOT_STARTED = 1
766
+
767
+ # Backfill job will start pending available resources.
768
+ PENDING = 2
769
+
770
+ # Backfill job is running.
771
+ ACTIVE = 3
772
+
773
+ # Backfill job stopped (next job run will start from beginning).
774
+ STOPPED = 4
775
+
776
+ # Backfill job failed (due to an error).
777
+ FAILED = 5
778
+
779
+ # Backfill completed successfully.
780
+ COMPLETED = 6
781
+
782
+ # Backfill job failed since the table structure is currently unsupported
783
+ # for backfill.
784
+ UNSUPPORTED = 7
785
+ end
786
+
787
+ # Triggering reason for a backfill job.
788
+ module Trigger
789
+ # Default value.
790
+ TRIGGER_UNSPECIFIED = 0
791
+
792
+ # Object backfill job was triggered automatically according to the stream's
793
+ # backfill strategy.
794
+ AUTOMATIC = 1
795
+
796
+ # Object backfill job was triggered manually using the dedicated API.
797
+ MANUAL = 2
798
+ end
799
+ end
800
+
801
+ # Represent a user-facing Error.
802
+ # @!attribute [rw] reason
803
+ # @return [::String]
804
+ # A title that explains the reason for the error.
805
+ # @!attribute [rw] error_uuid
806
+ # @return [::String]
807
+ # A unique identifier for this specific error,
808
+ # allowing it to be traced throughout the system in logs and API responses.
809
+ # @!attribute [rw] message
810
+ # @return [::String]
811
+ # A message containing more information about the error that occurred.
812
+ # @!attribute [rw] error_time
813
+ # @return [::Google::Protobuf::Timestamp]
814
+ # The time when the error occurred.
815
+ # @!attribute [rw] details
816
+ # @return [::Google::Protobuf::Map{::String => ::String}]
817
+ # Additional information about the error.
818
+ class Error
819
+ include ::Google::Protobuf::MessageExts
820
+ extend ::Google::Protobuf::MessageExts::ClassMethods
821
+
822
+ # @!attribute [rw] key
823
+ # @return [::String]
824
+ # @!attribute [rw] value
825
+ # @return [::String]
826
+ class DetailsEntry
827
+ include ::Google::Protobuf::MessageExts
828
+ extend ::Google::Protobuf::MessageExts::ClassMethods
829
+ end
830
+ end
831
+
832
+ # Contains the current validation results.
833
+ # @!attribute [rw] validations
834
+ # @return [::Array<::Google::Cloud::Datastream::V1::Validation>]
835
+ # A list of validations (includes both executed as well as not executed
836
+ # validations).
837
+ class ValidationResult
838
+ include ::Google::Protobuf::MessageExts
839
+ extend ::Google::Protobuf::MessageExts::ClassMethods
840
+ end
841
+
842
+ # A validation to perform on a stream.
843
+ # @!attribute [rw] description
844
+ # @return [::String]
845
+ # A short description of the validation.
846
+ # @!attribute [rw] state
847
+ # @return [::Google::Cloud::Datastream::V1::Validation::State]
848
+ # Validation execution status.
849
+ # @!attribute [rw] message
850
+ # @return [::Array<::Google::Cloud::Datastream::V1::ValidationMessage>]
851
+ # Messages reflecting the validation results.
852
+ # @!attribute [rw] code
853
+ # @return [::String]
854
+ # A custom code identifying this validation.
855
+ class Validation
856
+ include ::Google::Protobuf::MessageExts
857
+ extend ::Google::Protobuf::MessageExts::ClassMethods
858
+
859
+ # Validation execution state.
860
+ module State
861
+ # Unspecified state.
862
+ STATE_UNSPECIFIED = 0
863
+
864
+ # Validation did not execute.
865
+ NOT_EXECUTED = 1
866
+
867
+ # Validation failed.
868
+ FAILED = 2
869
+
870
+ # Validation passed.
871
+ PASSED = 3
872
+ end
873
+ end
874
+
875
+ # Represent user-facing validation result message.
876
+ # @!attribute [rw] message
877
+ # @return [::String]
878
+ # The result of the validation.
879
+ # @!attribute [rw] level
880
+ # @return [::Google::Cloud::Datastream::V1::ValidationMessage::Level]
881
+ # Message severity level (warning or error).
882
+ # @!attribute [rw] metadata
883
+ # @return [::Google::Protobuf::Map{::String => ::String}]
884
+ # Additional metadata related to the result.
885
+ # @!attribute [rw] code
886
+ # @return [::String]
887
+ # A custom code identifying this specific message.
888
+ class ValidationMessage
889
+ include ::Google::Protobuf::MessageExts
890
+ extend ::Google::Protobuf::MessageExts::ClassMethods
891
+
892
+ # @!attribute [rw] key
893
+ # @return [::String]
894
+ # @!attribute [rw] value
895
+ # @return [::String]
896
+ class MetadataEntry
897
+ include ::Google::Protobuf::MessageExts
898
+ extend ::Google::Protobuf::MessageExts::ClassMethods
899
+ end
900
+
901
+ # Validation message level.
902
+ module Level
903
+ # Unspecified level.
904
+ LEVEL_UNSPECIFIED = 0
905
+
906
+ # Potentially cause issues with the Stream.
907
+ WARNING = 1
908
+
909
+ # Definitely cause issues with the Stream.
910
+ ERROR = 2
911
+ end
912
+ end
913
+ end
914
+ end
915
+ end
916
+ end