google-cloud-datastream 1.13.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. google/cloud/datastream/__init__.py +219 -0
  2. google/cloud/datastream/gapic_version.py +16 -0
  3. google/cloud/datastream/py.typed +2 -0
  4. google/cloud/datastream_v1/__init__.py +216 -0
  5. google/cloud/datastream_v1/gapic_metadata.json +418 -0
  6. google/cloud/datastream_v1/gapic_version.py +16 -0
  7. google/cloud/datastream_v1/py.typed +2 -0
  8. google/cloud/datastream_v1/services/__init__.py +15 -0
  9. google/cloud/datastream_v1/services/datastream/__init__.py +22 -0
  10. google/cloud/datastream_v1/services/datastream/async_client.py +3939 -0
  11. google/cloud/datastream_v1/services/datastream/client.py +4420 -0
  12. google/cloud/datastream_v1/services/datastream/pagers.py +977 -0
  13. google/cloud/datastream_v1/services/datastream/transports/__init__.py +36 -0
  14. google/cloud/datastream_v1/services/datastream/transports/base.py +639 -0
  15. google/cloud/datastream_v1/services/datastream/transports/grpc.py +1193 -0
  16. google/cloud/datastream_v1/services/datastream/transports/grpc_asyncio.py +1389 -0
  17. google/cloud/datastream_v1/services/datastream/transports/rest.py +6861 -0
  18. google/cloud/datastream_v1/services/datastream/transports/rest_base.py +1591 -0
  19. google/cloud/datastream_v1/types/__init__.py +208 -0
  20. google/cloud/datastream_v1/types/datastream.py +1491 -0
  21. google/cloud/datastream_v1/types/datastream_resources.py +2986 -0
  22. google/cloud/datastream_v1alpha1/__init__.py +156 -0
  23. google/cloud/datastream_v1alpha1/gapic_metadata.json +343 -0
  24. google/cloud/datastream_v1alpha1/gapic_version.py +16 -0
  25. google/cloud/datastream_v1alpha1/py.typed +2 -0
  26. google/cloud/datastream_v1alpha1/services/__init__.py +15 -0
  27. google/cloud/datastream_v1alpha1/services/datastream/__init__.py +22 -0
  28. google/cloud/datastream_v1alpha1/services/datastream/async_client.py +3018 -0
  29. google/cloud/datastream_v1alpha1/services/datastream/client.py +3458 -0
  30. google/cloud/datastream_v1alpha1/services/datastream/pagers.py +821 -0
  31. google/cloud/datastream_v1alpha1/services/datastream/transports/__init__.py +36 -0
  32. google/cloud/datastream_v1alpha1/services/datastream/transports/base.py +467 -0
  33. google/cloud/datastream_v1alpha1/services/datastream/transports/grpc.py +942 -0
  34. google/cloud/datastream_v1alpha1/services/datastream/transports/grpc_asyncio.py +1078 -0
  35. google/cloud/datastream_v1alpha1/services/datastream/transports/rest.py +4770 -0
  36. google/cloud/datastream_v1alpha1/services/datastream/transports/rest_base.py +1152 -0
  37. google/cloud/datastream_v1alpha1/types/__init__.py +148 -0
  38. google/cloud/datastream_v1alpha1/types/datastream.py +1230 -0
  39. google/cloud/datastream_v1alpha1/types/datastream_resources.py +1416 -0
  40. google_cloud_datastream-1.13.2.dist-info/LICENSE +202 -0
  41. google_cloud_datastream-1.13.2.dist-info/METADATA +229 -0
  42. google_cloud_datastream-1.13.2.dist-info/RECORD +44 -0
  43. google_cloud_datastream-1.13.2.dist-info/WHEEL +5 -0
  44. google_cloud_datastream-1.13.2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,1416 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Copyright 2024 Google LLC
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+ #
16
+ from __future__ import annotations
17
+
18
+ from typing import MutableMapping, MutableSequence
19
+
20
+ from google.protobuf import duration_pb2 # type: ignore
21
+ from google.protobuf import timestamp_pb2 # type: ignore
22
+ import proto # type: ignore
23
+
24
+ __protobuf__ = proto.module(
25
+ package="google.cloud.datastream.v1alpha1",
26
+ manifest={
27
+ "GcsFileFormat",
28
+ "SchemaFileFormat",
29
+ "OracleProfile",
30
+ "MysqlProfile",
31
+ "GcsProfile",
32
+ "NoConnectivitySettings",
33
+ "StaticServiceIpConnectivity",
34
+ "ForwardSshTunnelConnectivity",
35
+ "VpcPeeringConfig",
36
+ "PrivateConnection",
37
+ "PrivateConnectivity",
38
+ "Route",
39
+ "MysqlSslConfig",
40
+ "ConnectionProfile",
41
+ "OracleColumn",
42
+ "OracleTable",
43
+ "OracleSchema",
44
+ "OracleRdbms",
45
+ "OracleSourceConfig",
46
+ "MysqlColumn",
47
+ "MysqlTable",
48
+ "MysqlDatabase",
49
+ "MysqlRdbms",
50
+ "MysqlSourceConfig",
51
+ "SourceConfig",
52
+ "AvroFileFormat",
53
+ "JsonFileFormat",
54
+ "GcsDestinationConfig",
55
+ "DestinationConfig",
56
+ "Stream",
57
+ "Error",
58
+ "ValidationResult",
59
+ "Validation",
60
+ "ValidationMessage",
61
+ },
62
+ )
63
+
64
+
65
+ class GcsFileFormat(proto.Enum):
66
+ r"""File format in Cloud Storage.
67
+
68
+ Values:
69
+ GCS_FILE_FORMAT_UNSPECIFIED (0):
70
+ Unspecified Cloud Storage file format.
71
+ AVRO (1):
72
+ Avro file format
73
+ """
74
+ _pb_options = {"deprecated": True}
75
+ GCS_FILE_FORMAT_UNSPECIFIED = 0
76
+ AVRO = 1
77
+
78
+
79
+ class SchemaFileFormat(proto.Enum):
80
+ r"""Schema file format.
81
+
82
+ Values:
83
+ SCHEMA_FILE_FORMAT_UNSPECIFIED (0):
84
+ Unspecified schema file format.
85
+ NO_SCHEMA_FILE (1):
86
+ Do not attach schema file.
87
+ AVRO_SCHEMA_FILE (2):
88
+ Avro schema format.
89
+ """
90
+ SCHEMA_FILE_FORMAT_UNSPECIFIED = 0
91
+ NO_SCHEMA_FILE = 1
92
+ AVRO_SCHEMA_FILE = 2
93
+
94
+
95
+ class OracleProfile(proto.Message):
96
+ r"""Oracle database profile.
97
+
98
+ Attributes:
99
+ hostname (str):
100
+ Required. Hostname for the Oracle connection.
101
+ port (int):
102
+ Port for the Oracle connection, default value
103
+ is 1521.
104
+ username (str):
105
+ Required. Username for the Oracle connection.
106
+ password (str):
107
+ Required. Password for the Oracle connection.
108
+ database_service (str):
109
+ Required. Database for the Oracle connection.
110
+ connection_attributes (MutableMapping[str, str]):
111
+ Connection string attributes
112
+ """
113
+
114
+ hostname: str = proto.Field(
115
+ proto.STRING,
116
+ number=1,
117
+ )
118
+ port: int = proto.Field(
119
+ proto.INT32,
120
+ number=2,
121
+ )
122
+ username: str = proto.Field(
123
+ proto.STRING,
124
+ number=3,
125
+ )
126
+ password: str = proto.Field(
127
+ proto.STRING,
128
+ number=4,
129
+ )
130
+ database_service: str = proto.Field(
131
+ proto.STRING,
132
+ number=5,
133
+ )
134
+ connection_attributes: MutableMapping[str, str] = proto.MapField(
135
+ proto.STRING,
136
+ proto.STRING,
137
+ number=6,
138
+ )
139
+
140
+
141
+ class MysqlProfile(proto.Message):
142
+ r"""MySQL database profile.
143
+
144
+ Attributes:
145
+ hostname (str):
146
+ Required. Hostname for the MySQL connection.
147
+ port (int):
148
+ Port for the MySQL connection, default value
149
+ is 3306.
150
+ username (str):
151
+ Required. Username for the MySQL connection.
152
+ password (str):
153
+ Required. Input only. Password for the MySQL
154
+ connection.
155
+ ssl_config (google.cloud.datastream_v1alpha1.types.MysqlSslConfig):
156
+ SSL configuration for the MySQL connection.
157
+ """
158
+
159
+ hostname: str = proto.Field(
160
+ proto.STRING,
161
+ number=1,
162
+ )
163
+ port: int = proto.Field(
164
+ proto.INT32,
165
+ number=2,
166
+ )
167
+ username: str = proto.Field(
168
+ proto.STRING,
169
+ number=3,
170
+ )
171
+ password: str = proto.Field(
172
+ proto.STRING,
173
+ number=4,
174
+ )
175
+ ssl_config: "MysqlSslConfig" = proto.Field(
176
+ proto.MESSAGE,
177
+ number=5,
178
+ message="MysqlSslConfig",
179
+ )
180
+
181
+
182
+ class GcsProfile(proto.Message):
183
+ r"""Cloud Storage bucket profile.
184
+
185
+ Attributes:
186
+ bucket_name (str):
187
+ Required. The full project and resource path
188
+ for Cloud Storage bucket including the name.
189
+ root_path (str):
190
+ The root path inside the Cloud Storage
191
+ bucket.
192
+ """
193
+
194
+ bucket_name: str = proto.Field(
195
+ proto.STRING,
196
+ number=1,
197
+ )
198
+ root_path: str = proto.Field(
199
+ proto.STRING,
200
+ number=2,
201
+ )
202
+
203
+
204
+ class NoConnectivitySettings(proto.Message):
205
+ r"""No connectivity settings."""
206
+
207
+
208
+ class StaticServiceIpConnectivity(proto.Message):
209
+ r"""Static IP address connectivity."""
210
+
211
+
212
+ class ForwardSshTunnelConnectivity(proto.Message):
213
+ r"""Forward SSH Tunnel connectivity.
214
+
215
+ This message has `oneof`_ fields (mutually exclusive fields).
216
+ For each oneof, at most one member field can be set at the same time.
217
+ Setting any member of the oneof automatically clears all other
218
+ members.
219
+
220
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
221
+
222
+ Attributes:
223
+ hostname (str):
224
+ Required. Hostname for the SSH tunnel.
225
+ username (str):
226
+ Required. Username for the SSH tunnel.
227
+ port (int):
228
+ Port for the SSH tunnel, default value is 22.
229
+ password (str):
230
+ Input only. SSH password.
231
+
232
+ This field is a member of `oneof`_ ``authentication_method``.
233
+ private_key (str):
234
+ Input only. SSH private key.
235
+
236
+ This field is a member of `oneof`_ ``authentication_method``.
237
+ """
238
+
239
+ hostname: str = proto.Field(
240
+ proto.STRING,
241
+ number=1,
242
+ )
243
+ username: str = proto.Field(
244
+ proto.STRING,
245
+ number=2,
246
+ )
247
+ port: int = proto.Field(
248
+ proto.INT32,
249
+ number=3,
250
+ )
251
+ password: str = proto.Field(
252
+ proto.STRING,
253
+ number=100,
254
+ oneof="authentication_method",
255
+ )
256
+ private_key: str = proto.Field(
257
+ proto.STRING,
258
+ number=101,
259
+ oneof="authentication_method",
260
+ )
261
+
262
+
263
+ class VpcPeeringConfig(proto.Message):
264
+ r"""The VPC Peering configuration is used to create VPC peering
265
+ between Datastream and the consumer's VPC.
266
+
267
+ Attributes:
268
+ vpc_name (str):
269
+ Required. fully qualified name of the VPC
270
+ Datastream will peer to.
271
+ subnet (str):
272
+ Required. A free subnet for peering. (CIDR of
273
+ /29)
274
+ """
275
+
276
+ vpc_name: str = proto.Field(
277
+ proto.STRING,
278
+ number=1,
279
+ )
280
+ subnet: str = proto.Field(
281
+ proto.STRING,
282
+ number=2,
283
+ )
284
+
285
+
286
+ class PrivateConnection(proto.Message):
287
+ r"""The PrivateConnection resource is used to establish private
288
+ connectivity between Datastream and a customer's network.
289
+
290
+ Attributes:
291
+ name (str):
292
+ Output only. The resource's name.
293
+ create_time (google.protobuf.timestamp_pb2.Timestamp):
294
+ Output only. The create time of the resource.
295
+ update_time (google.protobuf.timestamp_pb2.Timestamp):
296
+ Output only. The update time of the resource.
297
+ labels (MutableMapping[str, str]):
298
+ Labels.
299
+ display_name (str):
300
+ Required. Display name.
301
+ state (google.cloud.datastream_v1alpha1.types.PrivateConnection.State):
302
+ Output only. The state of the Private
303
+ Connection.
304
+ error (google.cloud.datastream_v1alpha1.types.Error):
305
+ Output only. In case of error, the details of
306
+ the error in a user-friendly format.
307
+ vpc_peering_config (google.cloud.datastream_v1alpha1.types.VpcPeeringConfig):
308
+ VPC Peering Config
309
+ """
310
+
311
+ class State(proto.Enum):
312
+ r"""Private Connection state.
313
+
314
+ Values:
315
+ STATE_UNSPECIFIED (0):
316
+ No description available.
317
+ CREATING (1):
318
+ The private connection is in creation state -
319
+ creating resources.
320
+ CREATED (2):
321
+ The private connection has been created with
322
+ all of it's resources.
323
+ FAILED (3):
324
+ The private connection creation has failed.
325
+ """
326
+ STATE_UNSPECIFIED = 0
327
+ CREATING = 1
328
+ CREATED = 2
329
+ FAILED = 3
330
+
331
+ name: str = proto.Field(
332
+ proto.STRING,
333
+ number=1,
334
+ )
335
+ create_time: timestamp_pb2.Timestamp = proto.Field(
336
+ proto.MESSAGE,
337
+ number=2,
338
+ message=timestamp_pb2.Timestamp,
339
+ )
340
+ update_time: timestamp_pb2.Timestamp = proto.Field(
341
+ proto.MESSAGE,
342
+ number=3,
343
+ message=timestamp_pb2.Timestamp,
344
+ )
345
+ labels: MutableMapping[str, str] = proto.MapField(
346
+ proto.STRING,
347
+ proto.STRING,
348
+ number=4,
349
+ )
350
+ display_name: str = proto.Field(
351
+ proto.STRING,
352
+ number=5,
353
+ )
354
+ state: State = proto.Field(
355
+ proto.ENUM,
356
+ number=6,
357
+ enum=State,
358
+ )
359
+ error: "Error" = proto.Field(
360
+ proto.MESSAGE,
361
+ number=7,
362
+ message="Error",
363
+ )
364
+ vpc_peering_config: "VpcPeeringConfig" = proto.Field(
365
+ proto.MESSAGE,
366
+ number=100,
367
+ message="VpcPeeringConfig",
368
+ )
369
+
370
+
371
+ class PrivateConnectivity(proto.Message):
372
+ r"""Private Connectivity
373
+
374
+ Attributes:
375
+ private_connection_name (str):
376
+
377
+ """
378
+
379
+ private_connection_name: str = proto.Field(
380
+ proto.STRING,
381
+ number=1,
382
+ )
383
+
384
+
385
+ class Route(proto.Message):
386
+ r"""The Route resource is the child of the PrivateConnection
387
+ resource. It used to define a route for a PrivateConnection
388
+ setup.
389
+
390
+ Attributes:
391
+ name (str):
392
+ Output only. The resource's name.
393
+ create_time (google.protobuf.timestamp_pb2.Timestamp):
394
+ Output only. The create time of the resource.
395
+ update_time (google.protobuf.timestamp_pb2.Timestamp):
396
+ Output only. The update time of the resource.
397
+ labels (MutableMapping[str, str]):
398
+ Labels.
399
+ display_name (str):
400
+ Required. Display name.
401
+ destination_address (str):
402
+ Required. Destination address for connection
403
+ destination_port (int):
404
+ Destination port for connection
405
+ """
406
+
407
+ name: str = proto.Field(
408
+ proto.STRING,
409
+ number=1,
410
+ )
411
+ create_time: timestamp_pb2.Timestamp = proto.Field(
412
+ proto.MESSAGE,
413
+ number=2,
414
+ message=timestamp_pb2.Timestamp,
415
+ )
416
+ update_time: timestamp_pb2.Timestamp = proto.Field(
417
+ proto.MESSAGE,
418
+ number=3,
419
+ message=timestamp_pb2.Timestamp,
420
+ )
421
+ labels: MutableMapping[str, str] = proto.MapField(
422
+ proto.STRING,
423
+ proto.STRING,
424
+ number=4,
425
+ )
426
+ display_name: str = proto.Field(
427
+ proto.STRING,
428
+ number=5,
429
+ )
430
+ destination_address: str = proto.Field(
431
+ proto.STRING,
432
+ number=6,
433
+ )
434
+ destination_port: int = proto.Field(
435
+ proto.INT32,
436
+ number=7,
437
+ )
438
+
439
+
440
+ class MysqlSslConfig(proto.Message):
441
+ r"""MySQL SSL configuration information.
442
+
443
+ Attributes:
444
+ client_key (str):
445
+ Input only. PEM-encoded private key associated with the
446
+ Client Certificate. If this field is used then the
447
+ 'client_certificate' and the 'ca_certificate' fields are
448
+ mandatory.
449
+ client_key_set (bool):
450
+ Output only. Indicates whether the client_key field is set.
451
+ client_certificate (str):
452
+ Input only. PEM-encoded certificate that will be used by the
453
+ replica to authenticate against the source database server.
454
+ If this field is used then the 'client_key' and the
455
+ 'ca_certificate' fields are mandatory.
456
+ client_certificate_set (bool):
457
+ Output only. Indicates whether the client_certificate field
458
+ is set.
459
+ ca_certificate (str):
460
+ Input only. PEM-encoded certificate of the CA
461
+ that signed the source database server's
462
+ certificate.
463
+ ca_certificate_set (bool):
464
+ Output only. Indicates whether the ca_certificate field is
465
+ set.
466
+ """
467
+
468
+ client_key: str = proto.Field(
469
+ proto.STRING,
470
+ number=11,
471
+ )
472
+ client_key_set: bool = proto.Field(
473
+ proto.BOOL,
474
+ number=12,
475
+ )
476
+ client_certificate: str = proto.Field(
477
+ proto.STRING,
478
+ number=13,
479
+ )
480
+ client_certificate_set: bool = proto.Field(
481
+ proto.BOOL,
482
+ number=14,
483
+ )
484
+ ca_certificate: str = proto.Field(
485
+ proto.STRING,
486
+ number=15,
487
+ )
488
+ ca_certificate_set: bool = proto.Field(
489
+ proto.BOOL,
490
+ number=16,
491
+ )
492
+
493
+
494
+ class ConnectionProfile(proto.Message):
495
+ r"""
496
+
497
+ This message has `oneof`_ fields (mutually exclusive fields).
498
+ For each oneof, at most one member field can be set at the same time.
499
+ Setting any member of the oneof automatically clears all other
500
+ members.
501
+
502
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
503
+
504
+ Attributes:
505
+ name (str):
506
+ Output only. The resource's name.
507
+ create_time (google.protobuf.timestamp_pb2.Timestamp):
508
+ Output only. The create time of the resource.
509
+ update_time (google.protobuf.timestamp_pb2.Timestamp):
510
+ Output only. The update time of the resource.
511
+ labels (MutableMapping[str, str]):
512
+ Labels.
513
+ display_name (str):
514
+ Required. Display name.
515
+ oracle_profile (google.cloud.datastream_v1alpha1.types.OracleProfile):
516
+ Oracle ConnectionProfile configuration.
517
+
518
+ This field is a member of `oneof`_ ``profile``.
519
+ gcs_profile (google.cloud.datastream_v1alpha1.types.GcsProfile):
520
+ Cloud Storage ConnectionProfile
521
+ configuration.
522
+
523
+ This field is a member of `oneof`_ ``profile``.
524
+ mysql_profile (google.cloud.datastream_v1alpha1.types.MysqlProfile):
525
+ MySQL ConnectionProfile configuration.
526
+
527
+ This field is a member of `oneof`_ ``profile``.
528
+ no_connectivity (google.cloud.datastream_v1alpha1.types.NoConnectivitySettings):
529
+ No connectivity option chosen.
530
+
531
+ This field is a member of `oneof`_ ``connectivity``.
532
+ static_service_ip_connectivity (google.cloud.datastream_v1alpha1.types.StaticServiceIpConnectivity):
533
+ Static Service IP connectivity.
534
+
535
+ This field is a member of `oneof`_ ``connectivity``.
536
+ forward_ssh_connectivity (google.cloud.datastream_v1alpha1.types.ForwardSshTunnelConnectivity):
537
+ Forward SSH tunnel connectivity.
538
+
539
+ This field is a member of `oneof`_ ``connectivity``.
540
+ private_connectivity (google.cloud.datastream_v1alpha1.types.PrivateConnectivity):
541
+ Private connectivity.
542
+
543
+ This field is a member of `oneof`_ ``connectivity``.
544
+ """
545
+
546
+ name: str = proto.Field(
547
+ proto.STRING,
548
+ number=1,
549
+ )
550
+ create_time: timestamp_pb2.Timestamp = proto.Field(
551
+ proto.MESSAGE,
552
+ number=2,
553
+ message=timestamp_pb2.Timestamp,
554
+ )
555
+ update_time: timestamp_pb2.Timestamp = proto.Field(
556
+ proto.MESSAGE,
557
+ number=3,
558
+ message=timestamp_pb2.Timestamp,
559
+ )
560
+ labels: MutableMapping[str, str] = proto.MapField(
561
+ proto.STRING,
562
+ proto.STRING,
563
+ number=4,
564
+ )
565
+ display_name: str = proto.Field(
566
+ proto.STRING,
567
+ number=5,
568
+ )
569
+ oracle_profile: "OracleProfile" = proto.Field(
570
+ proto.MESSAGE,
571
+ number=100,
572
+ oneof="profile",
573
+ message="OracleProfile",
574
+ )
575
+ gcs_profile: "GcsProfile" = proto.Field(
576
+ proto.MESSAGE,
577
+ number=101,
578
+ oneof="profile",
579
+ message="GcsProfile",
580
+ )
581
+ mysql_profile: "MysqlProfile" = proto.Field(
582
+ proto.MESSAGE,
583
+ number=102,
584
+ oneof="profile",
585
+ message="MysqlProfile",
586
+ )
587
+ no_connectivity: "NoConnectivitySettings" = proto.Field(
588
+ proto.MESSAGE,
589
+ number=200,
590
+ oneof="connectivity",
591
+ message="NoConnectivitySettings",
592
+ )
593
+ static_service_ip_connectivity: "StaticServiceIpConnectivity" = proto.Field(
594
+ proto.MESSAGE,
595
+ number=201,
596
+ oneof="connectivity",
597
+ message="StaticServiceIpConnectivity",
598
+ )
599
+ forward_ssh_connectivity: "ForwardSshTunnelConnectivity" = proto.Field(
600
+ proto.MESSAGE,
601
+ number=202,
602
+ oneof="connectivity",
603
+ message="ForwardSshTunnelConnectivity",
604
+ )
605
+ private_connectivity: "PrivateConnectivity" = proto.Field(
606
+ proto.MESSAGE,
607
+ number=203,
608
+ oneof="connectivity",
609
+ message="PrivateConnectivity",
610
+ )
611
+
612
+
613
+ class OracleColumn(proto.Message):
614
+ r"""Oracle Column.
615
+
616
+ Attributes:
617
+ column_name (str):
618
+ Column name.
619
+ data_type (str):
620
+ The Oracle data type.
621
+ length (int):
622
+ Column length.
623
+ precision (int):
624
+ Column precision.
625
+ scale (int):
626
+ Column scale.
627
+ encoding (str):
628
+ Column encoding.
629
+ primary_key (bool):
630
+ Whether or not the column represents a
631
+ primary key.
632
+ nullable (bool):
633
+ Whether or not the column can accept a null
634
+ value.
635
+ ordinal_position (int):
636
+ The ordinal position of the column in the
637
+ table.
638
+ """
639
+
640
+ column_name: str = proto.Field(
641
+ proto.STRING,
642
+ number=1,
643
+ )
644
+ data_type: str = proto.Field(
645
+ proto.STRING,
646
+ number=2,
647
+ )
648
+ length: int = proto.Field(
649
+ proto.INT32,
650
+ number=3,
651
+ )
652
+ precision: int = proto.Field(
653
+ proto.INT32,
654
+ number=4,
655
+ )
656
+ scale: int = proto.Field(
657
+ proto.INT32,
658
+ number=5,
659
+ )
660
+ encoding: str = proto.Field(
661
+ proto.STRING,
662
+ number=6,
663
+ )
664
+ primary_key: bool = proto.Field(
665
+ proto.BOOL,
666
+ number=7,
667
+ )
668
+ nullable: bool = proto.Field(
669
+ proto.BOOL,
670
+ number=8,
671
+ )
672
+ ordinal_position: int = proto.Field(
673
+ proto.INT32,
674
+ number=9,
675
+ )
676
+
677
+
678
+ class OracleTable(proto.Message):
679
+ r"""Oracle table.
680
+
681
+ Attributes:
682
+ table_name (str):
683
+ Table name.
684
+ oracle_columns (MutableSequence[google.cloud.datastream_v1alpha1.types.OracleColumn]):
685
+ Oracle columns in the schema.
686
+ When unspecified as part of inclue/exclude
687
+ lists, includes/excludes everything.
688
+ """
689
+
690
+ table_name: str = proto.Field(
691
+ proto.STRING,
692
+ number=1,
693
+ )
694
+ oracle_columns: MutableSequence["OracleColumn"] = proto.RepeatedField(
695
+ proto.MESSAGE,
696
+ number=2,
697
+ message="OracleColumn",
698
+ )
699
+
700
+
701
+ class OracleSchema(proto.Message):
702
+ r"""Oracle schema.
703
+
704
+ Attributes:
705
+ schema_name (str):
706
+ Schema name.
707
+ oracle_tables (MutableSequence[google.cloud.datastream_v1alpha1.types.OracleTable]):
708
+ Tables in the schema.
709
+ """
710
+
711
+ schema_name: str = proto.Field(
712
+ proto.STRING,
713
+ number=1,
714
+ )
715
+ oracle_tables: MutableSequence["OracleTable"] = proto.RepeatedField(
716
+ proto.MESSAGE,
717
+ number=2,
718
+ message="OracleTable",
719
+ )
720
+
721
+
722
+ class OracleRdbms(proto.Message):
723
+ r"""Oracle database structure.
724
+
725
+ Attributes:
726
+ oracle_schemas (MutableSequence[google.cloud.datastream_v1alpha1.types.OracleSchema]):
727
+ Oracle schemas/databases in the database
728
+ server.
729
+ """
730
+
731
+ oracle_schemas: MutableSequence["OracleSchema"] = proto.RepeatedField(
732
+ proto.MESSAGE,
733
+ number=1,
734
+ message="OracleSchema",
735
+ )
736
+
737
+
738
+ class OracleSourceConfig(proto.Message):
739
+ r"""Oracle data source configuration
740
+
741
+ Attributes:
742
+ allowlist (google.cloud.datastream_v1alpha1.types.OracleRdbms):
743
+ Oracle objects to include in the stream.
744
+ rejectlist (google.cloud.datastream_v1alpha1.types.OracleRdbms):
745
+ Oracle objects to exclude from the stream.
746
+ """
747
+
748
+ allowlist: "OracleRdbms" = proto.Field(
749
+ proto.MESSAGE,
750
+ number=1,
751
+ message="OracleRdbms",
752
+ )
753
+ rejectlist: "OracleRdbms" = proto.Field(
754
+ proto.MESSAGE,
755
+ number=2,
756
+ message="OracleRdbms",
757
+ )
758
+
759
+
760
+ class MysqlColumn(proto.Message):
761
+ r"""MySQL Column.
762
+
763
+ Attributes:
764
+ column_name (str):
765
+ Column name.
766
+ data_type (str):
767
+ The MySQL data type. Full data types list can
768
+ be found here:
769
+ https://dev.mysql.com/doc/refman/8.0/en/data-types.html
770
+ length (int):
771
+ Column length.
772
+ collation (str):
773
+ Column collation.
774
+ primary_key (bool):
775
+ Whether or not the column represents a
776
+ primary key.
777
+ nullable (bool):
778
+ Whether or not the column can accept a null
779
+ value.
780
+ ordinal_position (int):
781
+ The ordinal position of the column in the
782
+ table.
783
+ """
784
+
785
+ column_name: str = proto.Field(
786
+ proto.STRING,
787
+ number=1,
788
+ )
789
+ data_type: str = proto.Field(
790
+ proto.STRING,
791
+ number=2,
792
+ )
793
+ length: int = proto.Field(
794
+ proto.INT32,
795
+ number=3,
796
+ )
797
+ collation: str = proto.Field(
798
+ proto.STRING,
799
+ number=4,
800
+ )
801
+ primary_key: bool = proto.Field(
802
+ proto.BOOL,
803
+ number=5,
804
+ )
805
+ nullable: bool = proto.Field(
806
+ proto.BOOL,
807
+ number=6,
808
+ )
809
+ ordinal_position: int = proto.Field(
810
+ proto.INT32,
811
+ number=7,
812
+ )
813
+
814
+
815
+ class MysqlTable(proto.Message):
816
+ r"""MySQL table.
817
+
818
+ Attributes:
819
+ table_name (str):
820
+ Table name.
821
+ mysql_columns (MutableSequence[google.cloud.datastream_v1alpha1.types.MysqlColumn]):
822
+ MySQL columns in the database.
823
+ When unspecified as part of include/exclude
824
+ lists, includes/excludes everything.
825
+ """
826
+
827
+ table_name: str = proto.Field(
828
+ proto.STRING,
829
+ number=1,
830
+ )
831
+ mysql_columns: MutableSequence["MysqlColumn"] = proto.RepeatedField(
832
+ proto.MESSAGE,
833
+ number=2,
834
+ message="MysqlColumn",
835
+ )
836
+
837
+
838
+ class MysqlDatabase(proto.Message):
839
+ r"""MySQL database.
840
+
841
+ Attributes:
842
+ database_name (str):
843
+ Database name.
844
+ mysql_tables (MutableSequence[google.cloud.datastream_v1alpha1.types.MysqlTable]):
845
+ Tables in the database.
846
+ """
847
+
848
+ database_name: str = proto.Field(
849
+ proto.STRING,
850
+ number=1,
851
+ )
852
+ mysql_tables: MutableSequence["MysqlTable"] = proto.RepeatedField(
853
+ proto.MESSAGE,
854
+ number=2,
855
+ message="MysqlTable",
856
+ )
857
+
858
+
859
+ class MysqlRdbms(proto.Message):
860
+ r"""MySQL database structure
861
+
862
+ Attributes:
863
+ mysql_databases (MutableSequence[google.cloud.datastream_v1alpha1.types.MysqlDatabase]):
864
+ Mysql databases on the server
865
+ """
866
+
867
+ mysql_databases: MutableSequence["MysqlDatabase"] = proto.RepeatedField(
868
+ proto.MESSAGE,
869
+ number=1,
870
+ message="MysqlDatabase",
871
+ )
872
+
873
+
874
+ class MysqlSourceConfig(proto.Message):
875
+ r"""MySQL source configuration
876
+
877
+ Attributes:
878
+ allowlist (google.cloud.datastream_v1alpha1.types.MysqlRdbms):
879
+ MySQL objects to retrieve from the source.
880
+ rejectlist (google.cloud.datastream_v1alpha1.types.MysqlRdbms):
881
+ MySQL objects to exclude from the stream.
882
+ """
883
+
884
+ allowlist: "MysqlRdbms" = proto.Field(
885
+ proto.MESSAGE,
886
+ number=1,
887
+ message="MysqlRdbms",
888
+ )
889
+ rejectlist: "MysqlRdbms" = proto.Field(
890
+ proto.MESSAGE,
891
+ number=2,
892
+ message="MysqlRdbms",
893
+ )
894
+
895
+
896
+ class SourceConfig(proto.Message):
897
+ r"""The configuration of the stream source.
898
+
899
+ This message has `oneof`_ fields (mutually exclusive fields).
900
+ For each oneof, at most one member field can be set at the same time.
901
+ Setting any member of the oneof automatically clears all other
902
+ members.
903
+
904
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
905
+
906
+ Attributes:
907
+ source_connection_profile_name (str):
908
+ Required. Source connection profile
909
+ identifier.
910
+ oracle_source_config (google.cloud.datastream_v1alpha1.types.OracleSourceConfig):
911
+ Oracle data source configuration
912
+
913
+ This field is a member of `oneof`_ ``source_stream_config``.
914
+ mysql_source_config (google.cloud.datastream_v1alpha1.types.MysqlSourceConfig):
915
+ MySQL data source configuration
916
+
917
+ This field is a member of `oneof`_ ``source_stream_config``.
918
+ """
919
+
920
+ source_connection_profile_name: str = proto.Field(
921
+ proto.STRING,
922
+ number=1,
923
+ )
924
+ oracle_source_config: "OracleSourceConfig" = proto.Field(
925
+ proto.MESSAGE,
926
+ number=100,
927
+ oneof="source_stream_config",
928
+ message="OracleSourceConfig",
929
+ )
930
+ mysql_source_config: "MysqlSourceConfig" = proto.Field(
931
+ proto.MESSAGE,
932
+ number=101,
933
+ oneof="source_stream_config",
934
+ message="MysqlSourceConfig",
935
+ )
936
+
937
+
938
+ class AvroFileFormat(proto.Message):
939
+ r"""AVRO file format configuration."""
940
+
941
+
942
+ class JsonFileFormat(proto.Message):
943
+ r"""JSON file format configuration.
944
+
945
+ Attributes:
946
+ schema_file_format (google.cloud.datastream_v1alpha1.types.SchemaFileFormat):
947
+ The schema file format along JSON data files.
948
+ compression (google.cloud.datastream_v1alpha1.types.JsonFileFormat.JsonCompression):
949
+ Compression of the loaded JSON file.
950
+ """
951
+
952
+ class JsonCompression(proto.Enum):
953
+ r"""Json file compression.
954
+
955
+ Values:
956
+ JSON_COMPRESSION_UNSPECIFIED (0):
957
+ Unspecified json file compression.
958
+ NO_COMPRESSION (1):
959
+ Do not compress JSON file.
960
+ GZIP (2):
961
+ Gzip compression.
962
+ """
963
+ JSON_COMPRESSION_UNSPECIFIED = 0
964
+ NO_COMPRESSION = 1
965
+ GZIP = 2
966
+
967
+ schema_file_format: "SchemaFileFormat" = proto.Field(
968
+ proto.ENUM,
969
+ number=1,
970
+ enum="SchemaFileFormat",
971
+ )
972
+ compression: JsonCompression = proto.Field(
973
+ proto.ENUM,
974
+ number=2,
975
+ enum=JsonCompression,
976
+ )
977
+
978
+
979
+ class GcsDestinationConfig(proto.Message):
980
+ r"""Google Cloud Storage destination configuration
981
+
982
+ This message has `oneof`_ fields (mutually exclusive fields).
983
+ For each oneof, at most one member field can be set at the same time.
984
+ Setting any member of the oneof automatically clears all other
985
+ members.
986
+
987
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
988
+
989
+ Attributes:
990
+ path (str):
991
+ Path inside the Cloud Storage bucket to write
992
+ data to.
993
+ gcs_file_format (google.cloud.datastream_v1alpha1.types.GcsFileFormat):
994
+ File format that data should be written in. Deprecated field
995
+ - use file_format instead.
996
+ file_rotation_mb (int):
997
+ The maximum file size to be saved in the
998
+ bucket.
999
+ file_rotation_interval (google.protobuf.duration_pb2.Duration):
1000
+ The maximum duration for which new events are
1001
+ added before a file is closed and a new file is
1002
+ created.
1003
+ avro_file_format (google.cloud.datastream_v1alpha1.types.AvroFileFormat):
1004
+ AVRO file format configuration.
1005
+
1006
+ This field is a member of `oneof`_ ``file_format``.
1007
+ json_file_format (google.cloud.datastream_v1alpha1.types.JsonFileFormat):
1008
+ JSON file format configuration.
1009
+
1010
+ This field is a member of `oneof`_ ``file_format``.
1011
+ """
1012
+
1013
+ path: str = proto.Field(
1014
+ proto.STRING,
1015
+ number=1,
1016
+ )
1017
+ gcs_file_format: "GcsFileFormat" = proto.Field(
1018
+ proto.ENUM,
1019
+ number=2,
1020
+ enum="GcsFileFormat",
1021
+ )
1022
+ file_rotation_mb: int = proto.Field(
1023
+ proto.INT32,
1024
+ number=3,
1025
+ )
1026
+ file_rotation_interval: duration_pb2.Duration = proto.Field(
1027
+ proto.MESSAGE,
1028
+ number=4,
1029
+ message=duration_pb2.Duration,
1030
+ )
1031
+ avro_file_format: "AvroFileFormat" = proto.Field(
1032
+ proto.MESSAGE,
1033
+ number=100,
1034
+ oneof="file_format",
1035
+ message="AvroFileFormat",
1036
+ )
1037
+ json_file_format: "JsonFileFormat" = proto.Field(
1038
+ proto.MESSAGE,
1039
+ number=101,
1040
+ oneof="file_format",
1041
+ message="JsonFileFormat",
1042
+ )
1043
+
1044
+
1045
+ class DestinationConfig(proto.Message):
1046
+ r"""The configuration of the stream destination.
1047
+
1048
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
1049
+
1050
+ Attributes:
1051
+ destination_connection_profile_name (str):
1052
+ Required. Destination connection profile
1053
+ identifier.
1054
+ gcs_destination_config (google.cloud.datastream_v1alpha1.types.GcsDestinationConfig):
1055
+
1056
+ This field is a member of `oneof`_ ``destination_stream_config``.
1057
+ """
1058
+
1059
+ destination_connection_profile_name: str = proto.Field(
1060
+ proto.STRING,
1061
+ number=1,
1062
+ )
1063
+ gcs_destination_config: "GcsDestinationConfig" = proto.Field(
1064
+ proto.MESSAGE,
1065
+ number=100,
1066
+ oneof="destination_stream_config",
1067
+ message="GcsDestinationConfig",
1068
+ )
1069
+
1070
+
1071
+ class Stream(proto.Message):
1072
+ r"""
1073
+
1074
+ This message has `oneof`_ fields (mutually exclusive fields).
1075
+ For each oneof, at most one member field can be set at the same time.
1076
+ Setting any member of the oneof automatically clears all other
1077
+ members.
1078
+
1079
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
1080
+
1081
+ Attributes:
1082
+ name (str):
1083
+ Output only. The stream's name.
1084
+ create_time (google.protobuf.timestamp_pb2.Timestamp):
1085
+ Output only. The creation time of the stream.
1086
+ update_time (google.protobuf.timestamp_pb2.Timestamp):
1087
+ Output only. The last update time of the
1088
+ stream.
1089
+ labels (MutableMapping[str, str]):
1090
+ Labels.
1091
+ display_name (str):
1092
+ Required. Display name.
1093
+ source_config (google.cloud.datastream_v1alpha1.types.SourceConfig):
1094
+ Required. Source connection profile
1095
+ configuration.
1096
+ destination_config (google.cloud.datastream_v1alpha1.types.DestinationConfig):
1097
+ Required. Destination connection profile
1098
+ configuration.
1099
+ state (google.cloud.datastream_v1alpha1.types.Stream.State):
1100
+ The state of the stream.
1101
+ backfill_all (google.cloud.datastream_v1alpha1.types.Stream.BackfillAllStrategy):
1102
+ Automatically backfill objects included in
1103
+ the stream source configuration. Specific
1104
+ objects can be excluded.
1105
+
1106
+ This field is a member of `oneof`_ ``backfill_strategy``.
1107
+ backfill_none (google.cloud.datastream_v1alpha1.types.Stream.BackfillNoneStrategy):
1108
+ Do not automatically backfill any objects.
1109
+
1110
+ This field is a member of `oneof`_ ``backfill_strategy``.
1111
+ errors (MutableSequence[google.cloud.datastream_v1alpha1.types.Error]):
1112
+ Output only. Errors on the Stream.
1113
+ """
1114
+
1115
+ class State(proto.Enum):
1116
+ r"""Stream state.
1117
+
1118
+ Values:
1119
+ STATE_UNSPECIFIED (0):
1120
+ Unspecified stream state.
1121
+ CREATED (1):
1122
+ The stream has been created.
1123
+ RUNNING (2):
1124
+ The stream is running.
1125
+ PAUSED (3):
1126
+ The stream is paused.
1127
+ MAINTENANCE (4):
1128
+ The stream is in maintenance mode.
1129
+
1130
+ Updates are rejected on the resource in this
1131
+ state.
1132
+ FAILED (5):
1133
+ The stream is experiencing an error that is
1134
+ preventing data from being streamed.
1135
+ FAILED_PERMANENTLY (6):
1136
+ The stream has experienced a terminal
1137
+ failure.
1138
+ STARTING (7):
1139
+ The stream is starting, but not yet running.
1140
+ DRAINING (8):
1141
+ The Stream is no longer reading new events,
1142
+ but still writing events in the buffer.
1143
+ """
1144
+ STATE_UNSPECIFIED = 0
1145
+ CREATED = 1
1146
+ RUNNING = 2
1147
+ PAUSED = 3
1148
+ MAINTENANCE = 4
1149
+ FAILED = 5
1150
+ FAILED_PERMANENTLY = 6
1151
+ STARTING = 7
1152
+ DRAINING = 8
1153
+
1154
+ class BackfillAllStrategy(proto.Message):
1155
+ r"""Backfill strategy to automatically backfill the Stream's
1156
+ objects. Specific objects can be excluded.
1157
+
1158
+ This message has `oneof`_ fields (mutually exclusive fields).
1159
+ For each oneof, at most one member field can be set at the same time.
1160
+ Setting any member of the oneof automatically clears all other
1161
+ members.
1162
+
1163
+ .. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
1164
+
1165
+ Attributes:
1166
+ oracle_excluded_objects (google.cloud.datastream_v1alpha1.types.OracleRdbms):
1167
+ Oracle data source objects to avoid
1168
+ backfilling.
1169
+
1170
+ This field is a member of `oneof`_ ``excluded_objects``.
1171
+ mysql_excluded_objects (google.cloud.datastream_v1alpha1.types.MysqlRdbms):
1172
+ MySQL data source objects to avoid
1173
+ backfilling.
1174
+
1175
+ This field is a member of `oneof`_ ``excluded_objects``.
1176
+ """
1177
+
1178
+ oracle_excluded_objects: "OracleRdbms" = proto.Field(
1179
+ proto.MESSAGE,
1180
+ number=1,
1181
+ oneof="excluded_objects",
1182
+ message="OracleRdbms",
1183
+ )
1184
+ mysql_excluded_objects: "MysqlRdbms" = proto.Field(
1185
+ proto.MESSAGE,
1186
+ number=2,
1187
+ oneof="excluded_objects",
1188
+ message="MysqlRdbms",
1189
+ )
1190
+
1191
+ class BackfillNoneStrategy(proto.Message):
1192
+ r"""Backfill strategy to disable automatic backfill for the
1193
+ Stream's objects.
1194
+
1195
+ """
1196
+
1197
+ name: str = proto.Field(
1198
+ proto.STRING,
1199
+ number=1,
1200
+ )
1201
+ create_time: timestamp_pb2.Timestamp = proto.Field(
1202
+ proto.MESSAGE,
1203
+ number=2,
1204
+ message=timestamp_pb2.Timestamp,
1205
+ )
1206
+ update_time: timestamp_pb2.Timestamp = proto.Field(
1207
+ proto.MESSAGE,
1208
+ number=3,
1209
+ message=timestamp_pb2.Timestamp,
1210
+ )
1211
+ labels: MutableMapping[str, str] = proto.MapField(
1212
+ proto.STRING,
1213
+ proto.STRING,
1214
+ number=4,
1215
+ )
1216
+ display_name: str = proto.Field(
1217
+ proto.STRING,
1218
+ number=5,
1219
+ )
1220
+ source_config: "SourceConfig" = proto.Field(
1221
+ proto.MESSAGE,
1222
+ number=6,
1223
+ message="SourceConfig",
1224
+ )
1225
+ destination_config: "DestinationConfig" = proto.Field(
1226
+ proto.MESSAGE,
1227
+ number=7,
1228
+ message="DestinationConfig",
1229
+ )
1230
+ state: State = proto.Field(
1231
+ proto.ENUM,
1232
+ number=8,
1233
+ enum=State,
1234
+ )
1235
+ backfill_all: BackfillAllStrategy = proto.Field(
1236
+ proto.MESSAGE,
1237
+ number=101,
1238
+ oneof="backfill_strategy",
1239
+ message=BackfillAllStrategy,
1240
+ )
1241
+ backfill_none: BackfillNoneStrategy = proto.Field(
1242
+ proto.MESSAGE,
1243
+ number=102,
1244
+ oneof="backfill_strategy",
1245
+ message=BackfillNoneStrategy,
1246
+ )
1247
+ errors: MutableSequence["Error"] = proto.RepeatedField(
1248
+ proto.MESSAGE,
1249
+ number=9,
1250
+ message="Error",
1251
+ )
1252
+
1253
+
1254
+ class Error(proto.Message):
1255
+ r"""Represent a user-facing Error.
1256
+
1257
+ Attributes:
1258
+ reason (str):
1259
+ A title that explains the reason for the
1260
+ error.
1261
+ error_uuid (str):
1262
+ A unique identifier for this specific error,
1263
+ allowing it to be traced throughout the system
1264
+ in logs and API responses.
1265
+ message (str):
1266
+ A message containing more information about
1267
+ the error that occurred.
1268
+ error_time (google.protobuf.timestamp_pb2.Timestamp):
1269
+ The time when the error occurred.
1270
+ details (MutableMapping[str, str]):
1271
+ Additional information about the error.
1272
+ """
1273
+
1274
+ reason: str = proto.Field(
1275
+ proto.STRING,
1276
+ number=1,
1277
+ )
1278
+ error_uuid: str = proto.Field(
1279
+ proto.STRING,
1280
+ number=2,
1281
+ )
1282
+ message: str = proto.Field(
1283
+ proto.STRING,
1284
+ number=3,
1285
+ )
1286
+ error_time: timestamp_pb2.Timestamp = proto.Field(
1287
+ proto.MESSAGE,
1288
+ number=4,
1289
+ message=timestamp_pb2.Timestamp,
1290
+ )
1291
+ details: MutableMapping[str, str] = proto.MapField(
1292
+ proto.STRING,
1293
+ proto.STRING,
1294
+ number=5,
1295
+ )
1296
+
1297
+
1298
+ class ValidationResult(proto.Message):
1299
+ r"""Contains the current validation results.
1300
+
1301
+ Attributes:
1302
+ validations (MutableSequence[google.cloud.datastream_v1alpha1.types.Validation]):
1303
+ A list of validations (includes both executed
1304
+ as well as not executed validations).
1305
+ """
1306
+
1307
+ validations: MutableSequence["Validation"] = proto.RepeatedField(
1308
+ proto.MESSAGE,
1309
+ number=1,
1310
+ message="Validation",
1311
+ )
1312
+
1313
+
1314
+ class Validation(proto.Message):
1315
+ r"""
1316
+
1317
+ Attributes:
1318
+ description (str):
1319
+ A short description of the validation.
1320
+ status (google.cloud.datastream_v1alpha1.types.Validation.Status):
1321
+ Validation execution status.
1322
+ message (MutableSequence[google.cloud.datastream_v1alpha1.types.ValidationMessage]):
1323
+ Messages reflecting the validation results.
1324
+ code (str):
1325
+ A custom code identifying this validation.
1326
+ """
1327
+
1328
+ class Status(proto.Enum):
1329
+ r"""Validation execution status.
1330
+
1331
+ Values:
1332
+ STATUS_UNSPECIFIED (0):
1333
+ Unspecified status.
1334
+ NOT_EXECUTED (1):
1335
+ Validation did not execute.
1336
+ FAILED (2):
1337
+ Validation failed.
1338
+ PASSED (3):
1339
+ Validation passed.
1340
+ """
1341
+ STATUS_UNSPECIFIED = 0
1342
+ NOT_EXECUTED = 1
1343
+ FAILED = 2
1344
+ PASSED = 3
1345
+
1346
+ description: str = proto.Field(
1347
+ proto.STRING,
1348
+ number=1,
1349
+ )
1350
+ status: Status = proto.Field(
1351
+ proto.ENUM,
1352
+ number=2,
1353
+ enum=Status,
1354
+ )
1355
+ message: MutableSequence["ValidationMessage"] = proto.RepeatedField(
1356
+ proto.MESSAGE,
1357
+ number=3,
1358
+ message="ValidationMessage",
1359
+ )
1360
+ code: str = proto.Field(
1361
+ proto.STRING,
1362
+ number=4,
1363
+ )
1364
+
1365
+
1366
+ class ValidationMessage(proto.Message):
1367
+ r"""Represent user-facing validation result message.
1368
+
1369
+ Attributes:
1370
+ message (str):
1371
+ The result of the validation.
1372
+ level (google.cloud.datastream_v1alpha1.types.ValidationMessage.Level):
1373
+ Message severity level (warning or error).
1374
+ metadata (MutableMapping[str, str]):
1375
+ Additional metadata related to the result.
1376
+ code (str):
1377
+ A custom code identifying this specific
1378
+ message.
1379
+ """
1380
+
1381
+ class Level(proto.Enum):
1382
+ r"""Validation message level.
1383
+
1384
+ Values:
1385
+ LEVEL_UNSPECIFIED (0):
1386
+ Unspecified level.
1387
+ WARNING (1):
1388
+ Potentially cause issues with the Stream.
1389
+ ERROR (2):
1390
+ Definitely cause issues with the Stream.
1391
+ """
1392
+ LEVEL_UNSPECIFIED = 0
1393
+ WARNING = 1
1394
+ ERROR = 2
1395
+
1396
+ message: str = proto.Field(
1397
+ proto.STRING,
1398
+ number=1,
1399
+ )
1400
+ level: Level = proto.Field(
1401
+ proto.ENUM,
1402
+ number=2,
1403
+ enum=Level,
1404
+ )
1405
+ metadata: MutableMapping[str, str] = proto.MapField(
1406
+ proto.STRING,
1407
+ proto.STRING,
1408
+ number=3,
1409
+ )
1410
+ code: str = proto.Field(
1411
+ proto.STRING,
1412
+ number=4,
1413
+ )
1414
+
1415
+
1416
+ __all__ = tuple(sorted(__protobuf__.manifest))