google-cloud-cloud_dms-v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +7 -0
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +169 -0
  4. data/LICENSE.md +201 -0
  5. data/README.md +139 -0
  6. data/lib/google-cloud-cloud_dms-v1.rb +21 -0
  7. data/lib/google/cloud/cloud_dms/v1.rb +38 -0
  8. data/lib/google/cloud/cloud_dms/v1/data_migration_service.rb +50 -0
  9. data/lib/google/cloud/cloud_dms/v1/data_migration_service/client.rb +1745 -0
  10. data/lib/google/cloud/cloud_dms/v1/data_migration_service/credentials.rb +51 -0
  11. data/lib/google/cloud/cloud_dms/v1/data_migration_service/operations.rb +655 -0
  12. data/lib/google/cloud/cloud_dms/v1/data_migration_service/paths.rb +88 -0
  13. data/lib/google/cloud/cloud_dms/v1/version.rb +28 -0
  14. data/lib/google/cloud/clouddms/v1/clouddms_pb.rb +158 -0
  15. data/lib/google/cloud/clouddms/v1/clouddms_resources_pb.rb +268 -0
  16. data/lib/google/cloud/clouddms/v1/clouddms_services_pb.rb +85 -0
  17. data/proto_docs/README.md +4 -0
  18. data/proto_docs/google/api/field_behavior.rb +65 -0
  19. data/proto_docs/google/api/resource.rb +283 -0
  20. data/proto_docs/google/cloud/clouddms/v1/clouddms.rb +427 -0
  21. data/proto_docs/google/cloud/clouddms/v1/clouddms_resources.rb +757 -0
  22. data/proto_docs/google/longrunning/operations.rb +164 -0
  23. data/proto_docs/google/protobuf/any.rb +141 -0
  24. data/proto_docs/google/protobuf/duration.rb +98 -0
  25. data/proto_docs/google/protobuf/empty.rb +36 -0
  26. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  27. data/proto_docs/google/protobuf/timestamp.rb +129 -0
  28. data/proto_docs/google/protobuf/wrappers.rb +121 -0
  29. data/proto_docs/google/rpc/status.rb +46 -0
  30. metadata +222 -0
@@ -0,0 +1,757 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2021 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 CloudDMS
23
+ module V1
24
+ # SSL configuration information.
25
+ # @!attribute [r] type
26
+ # @return [::Google::Cloud::CloudDMS::V1::SslConfig::SslType]
27
+ # Output only. The ssl config type according to 'client_key', 'client_certificate' and
28
+ # 'ca_certificate'.
29
+ # @!attribute [rw] client_key
30
+ # @return [::String]
31
+ # Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key associated with
32
+ # the Client Certificate. If this field is used then the 'client_certificate'
33
+ # field is mandatory.
34
+ # @!attribute [rw] client_certificate
35
+ # @return [::String]
36
+ # Input only. The x509 PEM-encoded certificate that will be used by the replica to
37
+ # authenticate against the source database server.If this field is used then
38
+ # the 'client_key' field is mandatory.
39
+ # @!attribute [rw] ca_certificate
40
+ # @return [::String]
41
+ # Required. Input only. The x509 PEM-encoded certificate of the CA that signed the source database
42
+ # server's certificate. The replica will use this certificate to verify
43
+ # it's connecting to the right host.
44
+ class SslConfig
45
+ include ::Google::Protobuf::MessageExts
46
+ extend ::Google::Protobuf::MessageExts::ClassMethods
47
+
48
+ # Specifies The kind of ssl configuration used.
49
+ module SslType
50
+ # Unspecified.
51
+ SSL_TYPE_UNSPECIFIED = 0
52
+
53
+ # Only 'ca_certificate' specified.
54
+ SERVER_ONLY = 1
55
+
56
+ # Both server ('ca_certificate'), and client ('client_key',
57
+ # 'client_certificate') specified.
58
+ SERVER_CLIENT = 2
59
+ end
60
+ end
61
+
62
+ # Specifies connection parameters required specifically for MySQL databases.
63
+ # @!attribute [rw] host
64
+ # @return [::String]
65
+ # Required. The IP or hostname of the source MySQL database.
66
+ # @!attribute [rw] port
67
+ # @return [::Integer]
68
+ # Required. The network port of the source MySQL database.
69
+ # @!attribute [rw] username
70
+ # @return [::String]
71
+ # Required. The username that Database Migration Service will use to connect to the
72
+ # database. The value is encrypted when stored in Database Migration Service.
73
+ # @!attribute [rw] password
74
+ # @return [::String]
75
+ # Required. Input only. The password for the user that Database Migration Service will be using to
76
+ # connect to the database. This field is not returned on request, and the
77
+ # value is encrypted when stored in Database Migration Service.
78
+ # @!attribute [r] password_set
79
+ # @return [::Boolean]
80
+ # Output only. Indicates If this connection profile password is stored.
81
+ # @!attribute [rw] ssl
82
+ # @return [::Google::Cloud::CloudDMS::V1::SslConfig]
83
+ # SSL configuration for the destination to connect to the source database.
84
+ # @!attribute [rw] cloud_sql_id
85
+ # @return [::String]
86
+ # If the source is a Cloud SQL database, use this field to
87
+ # provide the Cloud SQL instance ID of the source.
88
+ class MySqlConnectionProfile
89
+ include ::Google::Protobuf::MessageExts
90
+ extend ::Google::Protobuf::MessageExts::ClassMethods
91
+ end
92
+
93
+ # Specifies connection parameters required specifically for PostgreSQL
94
+ # databases.
95
+ # @!attribute [rw] host
96
+ # @return [::String]
97
+ # Required. The IP or hostname of the source PostgreSQL database.
98
+ # @!attribute [rw] port
99
+ # @return [::Integer]
100
+ # Required. The network port of the source PostgreSQL database.
101
+ # @!attribute [rw] username
102
+ # @return [::String]
103
+ # Required. The username that Database Migration Service will use to connect to the
104
+ # database. The value is encrypted when stored in Database Migration Service.
105
+ # @!attribute [rw] password
106
+ # @return [::String]
107
+ # Required. Input only. The password for the user that Database Migration Service will be using to
108
+ # connect to the database. This field is not returned on request, and the
109
+ # value is encrypted when stored in Database Migration Service.
110
+ # @!attribute [r] password_set
111
+ # @return [::Boolean]
112
+ # Output only. Indicates If this connection profile password is stored.
113
+ # @!attribute [rw] ssl
114
+ # @return [::Google::Cloud::CloudDMS::V1::SslConfig]
115
+ # SSL configuration for the destination to connect to the source database.
116
+ # @!attribute [rw] cloud_sql_id
117
+ # @return [::String]
118
+ # If the source is a Cloud SQL database, use this field to
119
+ # provide the Cloud SQL instance ID of the source.
120
+ class PostgreSqlConnectionProfile
121
+ include ::Google::Protobuf::MessageExts
122
+ extend ::Google::Protobuf::MessageExts::ClassMethods
123
+ end
124
+
125
+ # Specifies required connection parameters, and, optionally, the parameters
126
+ # required to create a Cloud SQL destination database instance.
127
+ # @!attribute [r] cloud_sql_id
128
+ # @return [::String]
129
+ # Output only. The Cloud SQL instance ID that this connection profile is associated with.
130
+ # @!attribute [rw] settings
131
+ # @return [::Google::Cloud::CloudDMS::V1::CloudSqlSettings]
132
+ # Immutable. Metadata used to create the destination Cloud SQL database.
133
+ # @!attribute [r] private_ip
134
+ # @return [::String]
135
+ # Output only. The Cloud SQL database instance's private IP.
136
+ # @!attribute [r] public_ip
137
+ # @return [::String]
138
+ # Output only. The Cloud SQL database instance's public IP.
139
+ class CloudSqlConnectionProfile
140
+ include ::Google::Protobuf::MessageExts
141
+ extend ::Google::Protobuf::MessageExts::ClassMethods
142
+ end
143
+
144
+ # An entry for an Access Control list.
145
+ # @!attribute [rw] value
146
+ # @return [::String]
147
+ # The allowlisted value for the access control list.
148
+ # @!attribute [rw] expire_time
149
+ # @return [::Google::Protobuf::Timestamp]
150
+ # The time when this access control entry expires in
151
+ # [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example:
152
+ # `2012-11-15T16:19:00.094Z`.
153
+ # @!attribute [rw] ttl
154
+ # @return [::Google::Protobuf::Duration]
155
+ # Input only. The time-to-leave of this access control entry.
156
+ # @!attribute [rw] label
157
+ # @return [::String]
158
+ # A label to identify this entry.
159
+ class SqlAclEntry
160
+ include ::Google::Protobuf::MessageExts
161
+ extend ::Google::Protobuf::MessageExts::ClassMethods
162
+ end
163
+
164
+ # IP Management configuration.
165
+ # @!attribute [rw] enable_ipv4
166
+ # @return [::Google::Protobuf::BoolValue]
167
+ # Whether the instance should be assigned an IPv4 address or not.
168
+ # @!attribute [rw] private_network
169
+ # @return [::String]
170
+ # The resource link for the VPC network from which the Cloud SQL instance is
171
+ # accessible for private IP. For example,
172
+ # `projects/myProject/global/networks/default`. This setting can
173
+ # be updated, but it cannot be removed after it is set.
174
+ # @!attribute [rw] require_ssl
175
+ # @return [::Google::Protobuf::BoolValue]
176
+ # Whether SSL connections over IP should be enforced or not.
177
+ # @!attribute [rw] authorized_networks
178
+ # @return [::Array<::Google::Cloud::CloudDMS::V1::SqlAclEntry>]
179
+ # The list of external networks that are allowed to connect to the instance
180
+ # using the IP. See
181
+ # https://en.wikipedia.org/wiki/CIDR_notation#CIDR_notation, also known as
182
+ # 'slash' notation (e.g. `192.168.100.0/24`).
183
+ class SqlIpConfig
184
+ include ::Google::Protobuf::MessageExts
185
+ extend ::Google::Protobuf::MessageExts::ClassMethods
186
+ end
187
+
188
+ # Settings for creating a Cloud SQL database instance.
189
+ # @!attribute [rw] database_version
190
+ # @return [::Google::Cloud::CloudDMS::V1::CloudSqlSettings::SqlDatabaseVersion]
191
+ # The database engine type and version.
192
+ # @!attribute [rw] user_labels
193
+ # @return [::Google::Protobuf::Map{::String => ::String}]
194
+ # The resource labels for a Cloud SQL instance to use to annotate any related
195
+ # underlying resources such as Compute Engine VMs.
196
+ # An object containing a list of "key": "value" pairs.
197
+ #
198
+ # Example: `{ "name": "wrench", "mass": "18kg", "count": "3" }`.
199
+ # @!attribute [rw] tier
200
+ # @return [::String]
201
+ # The tier (or machine type) for this instance, for example:
202
+ # `db-n1-standard-1` (MySQL instances) or
203
+ # `db-custom-1-3840` (PostgreSQL instances).
204
+ # For more information, see
205
+ # [Cloud SQL Instance
206
+ # Settings](https://cloud.google.com/sql/docs/mysql/instance-settings).
207
+ # @!attribute [rw] storage_auto_resize_limit
208
+ # @return [::Google::Protobuf::Int64Value]
209
+ # The maximum size to which storage capacity can be automatically increased.
210
+ # The default value is 0, which specifies that there is no limit.
211
+ # @!attribute [rw] activation_policy
212
+ # @return [::Google::Cloud::CloudDMS::V1::CloudSqlSettings::SqlActivationPolicy]
213
+ # The activation policy specifies when the instance is activated; it is
214
+ # applicable only when the instance state is 'RUNNABLE'. Valid values:
215
+ #
216
+ # 'ALWAYS': The instance is on, and remains so even in
217
+ # the absence of connection requests.
218
+ #
219
+ # `NEVER`: The instance is off; it is not activated, even if a
220
+ # connection request arrives.
221
+ # @!attribute [rw] ip_config
222
+ # @return [::Google::Cloud::CloudDMS::V1::SqlIpConfig]
223
+ # The settings for IP Management. This allows to enable or disable the
224
+ # instance IP and manage which external networks can connect to the instance.
225
+ # The IPv4 address cannot be disabled.
226
+ # @!attribute [rw] auto_storage_increase
227
+ # @return [::Google::Protobuf::BoolValue]
228
+ # [default: ON] If you enable this setting, Cloud SQL checks your available
229
+ # storage every 30 seconds. If the available storage falls below a threshold
230
+ # size, Cloud SQL automatically adds additional storage capacity. If the
231
+ # available storage repeatedly falls below the threshold size, Cloud SQL
232
+ # continues to add storage until it reaches the maximum of 30 TB.
233
+ # @!attribute [rw] database_flags
234
+ # @return [::Google::Protobuf::Map{::String => ::String}]
235
+ # The database flags passed to the Cloud SQL instance at startup.
236
+ # An object containing a list of "key": value pairs.
237
+ # Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
238
+ # @!attribute [rw] data_disk_type
239
+ # @return [::Google::Cloud::CloudDMS::V1::CloudSqlSettings::SqlDataDiskType]
240
+ # The type of storage: `PD_SSD` (default) or `PD_HDD`.
241
+ # @!attribute [rw] data_disk_size_gb
242
+ # @return [::Google::Protobuf::Int64Value]
243
+ # The storage capacity available to the database, in GB.
244
+ # The minimum (and default) size is 10GB.
245
+ # @!attribute [rw] zone
246
+ # @return [::String]
247
+ # The Google Cloud Platform zone where your Cloud SQL datdabse instance is
248
+ # located.
249
+ # @!attribute [rw] source_id
250
+ # @return [::String]
251
+ # The Database Migration Service source connection profile ID,
252
+ # in the format:
253
+ # `projects/my_project_name/locations/us-central1/connectionProfiles/connection_profile_ID`
254
+ # @!attribute [rw] root_password
255
+ # @return [::String]
256
+ # Input only. Initial root password.
257
+ # @!attribute [r] root_password_set
258
+ # @return [::Boolean]
259
+ # Output only. Indicates If this connection profile root password is stored.
260
+ # @!attribute [rw] collation
261
+ # @return [::String]
262
+ # The Cloud SQL default instance level collation.
263
+ class CloudSqlSettings
264
+ include ::Google::Protobuf::MessageExts
265
+ extend ::Google::Protobuf::MessageExts::ClassMethods
266
+
267
+ # @!attribute [rw] key
268
+ # @return [::String]
269
+ # @!attribute [rw] value
270
+ # @return [::String]
271
+ class UserLabelsEntry
272
+ include ::Google::Protobuf::MessageExts
273
+ extend ::Google::Protobuf::MessageExts::ClassMethods
274
+ end
275
+
276
+ # @!attribute [rw] key
277
+ # @return [::String]
278
+ # @!attribute [rw] value
279
+ # @return [::String]
280
+ class DatabaseFlagsEntry
281
+ include ::Google::Protobuf::MessageExts
282
+ extend ::Google::Protobuf::MessageExts::ClassMethods
283
+ end
284
+
285
+ # Specifies when the instance should be activated.
286
+ module SqlActivationPolicy
287
+ # unspecified policy.
288
+ SQL_ACTIVATION_POLICY_UNSPECIFIED = 0
289
+
290
+ # The instance is always up and running.
291
+ ALWAYS = 1
292
+
293
+ # The instance should never spin up.
294
+ NEVER = 2
295
+ end
296
+
297
+ # The storage options for Cloud SQL databases.
298
+ module SqlDataDiskType
299
+ # Unspecified.
300
+ SQL_DATA_DISK_TYPE_UNSPECIFIED = 0
301
+
302
+ # SSD disk.
303
+ PD_SSD = 1
304
+
305
+ # HDD disk.
306
+ PD_HDD = 2
307
+ end
308
+
309
+ # The database engine type and version.
310
+ module SqlDatabaseVersion
311
+ # Unspecified version.
312
+ SQL_DATABASE_VERSION_UNSPECIFIED = 0
313
+
314
+ # MySQL 5.6.
315
+ MYSQL_5_6 = 1
316
+
317
+ # MySQL 5.7.
318
+ MYSQL_5_7 = 2
319
+
320
+ # PostgreSQL 9.6.
321
+ POSTGRES_9_6 = 3
322
+
323
+ # PostgreSQL 11.
324
+ POSTGRES_11 = 4
325
+
326
+ # PostgreSQL 10.
327
+ POSTGRES_10 = 5
328
+
329
+ # MySQL 8.0.
330
+ MYSQL_8_0 = 6
331
+
332
+ # PostgreSQL 12.
333
+ POSTGRES_12 = 7
334
+
335
+ # PostgreSQL 13.
336
+ POSTGRES_13 = 8
337
+ end
338
+ end
339
+
340
+ # The source database will allow incoming connections from the destination
341
+ # database's public IP. You can retrieve the Cloud SQL instance's public IP
342
+ # from the Cloud SQL console or using Cloud SQL APIs. No additional
343
+ # configuration is required.
344
+ class StaticIpConnectivity
345
+ include ::Google::Protobuf::MessageExts
346
+ extend ::Google::Protobuf::MessageExts::ClassMethods
347
+ end
348
+
349
+ # The details needed to configure a reverse SSH tunnel between the source and
350
+ # destination databases. These details will be used when calling the
351
+ # generateSshScript method (see
352
+ # https://cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.migrationJobs/generateSshScript)
353
+ # to produce the script that will help set up the reverse SSH tunnel, and to
354
+ # set up the VPC peering between the Cloud SQL private network and the VPC.
355
+ # @!attribute [rw] vm_ip
356
+ # @return [::String]
357
+ # Required. The IP of the virtual machine (Compute Engine) used as the bastion server
358
+ # for the SSH tunnel.
359
+ # @!attribute [rw] vm_port
360
+ # @return [::Integer]
361
+ # Required. The forwarding port of the virtual machine (Compute Engine) used as the
362
+ # bastion server for the SSH tunnel.
363
+ # @!attribute [rw] vm
364
+ # @return [::String]
365
+ # The name of the virtual machine (Compute Engine) used as the bastion server
366
+ # for the SSH tunnel.
367
+ # @!attribute [rw] vpc
368
+ # @return [::String]
369
+ # The name of the VPC to peer with the Cloud SQL private network.
370
+ class ReverseSshConnectivity
371
+ include ::Google::Protobuf::MessageExts
372
+ extend ::Google::Protobuf::MessageExts::ClassMethods
373
+ end
374
+
375
+ # The details of the VPC where the source database is located in Google Cloud.
376
+ # We will use this information to set up the VPC peering connection between
377
+ # Cloud SQL and this VPC.
378
+ # @!attribute [rw] vpc
379
+ # @return [::String]
380
+ # The name of the VPC network to peer with the Cloud SQL private network.
381
+ class VpcPeeringConnectivity
382
+ include ::Google::Protobuf::MessageExts
383
+ extend ::Google::Protobuf::MessageExts::ClassMethods
384
+ end
385
+
386
+ # A message defining the database engine and provider.
387
+ # @!attribute [rw] provider
388
+ # @return [::Google::Cloud::CloudDMS::V1::DatabaseProvider]
389
+ # The database provider.
390
+ # @!attribute [rw] engine
391
+ # @return [::Google::Cloud::CloudDMS::V1::DatabaseEngine]
392
+ # The database engine.
393
+ class DatabaseType
394
+ include ::Google::Protobuf::MessageExts
395
+ extend ::Google::Protobuf::MessageExts::ClassMethods
396
+ end
397
+
398
+ # Represents a Database Migration Service migration job object.
399
+ # @!attribute [rw] name
400
+ # @return [::String]
401
+ # The name (URI) of this migration job resource, in the form of:
402
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}.
403
+ # @!attribute [r] create_time
404
+ # @return [::Google::Protobuf::Timestamp]
405
+ # Output only. The timestamp when the migration job resource was created.
406
+ # A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
407
+ # Example: "2014-10-02T15:01:23.045123456Z".
408
+ # @!attribute [r] update_time
409
+ # @return [::Google::Protobuf::Timestamp]
410
+ # Output only. The timestamp when the migration job resource was last updated.
411
+ # A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
412
+ # Example: "2014-10-02T15:01:23.045123456Z".
413
+ # @!attribute [rw] labels
414
+ # @return [::Google::Protobuf::Map{::String => ::String}]
415
+ # The resource labels for migration job to use to annotate any related
416
+ # underlying resources such as Compute Engine VMs. An object containing a
417
+ # list of "key": "value" pairs.
418
+ #
419
+ # Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
420
+ # @!attribute [rw] display_name
421
+ # @return [::String]
422
+ # The migration job display name.
423
+ # @!attribute [rw] state
424
+ # @return [::Google::Cloud::CloudDMS::V1::MigrationJob::State]
425
+ # The current migration job state.
426
+ # @!attribute [r] phase
427
+ # @return [::Google::Cloud::CloudDMS::V1::MigrationJob::Phase]
428
+ # Output only. The current migration job phase.
429
+ # @!attribute [rw] type
430
+ # @return [::Google::Cloud::CloudDMS::V1::MigrationJob::Type]
431
+ # Required. The migration job type.
432
+ # @!attribute [rw] dump_path
433
+ # @return [::String]
434
+ # The path to the dump file in Google Cloud Storage,
435
+ # in the format: (gs://[BUCKET_NAME]/[OBJECT_NAME]).
436
+ # @!attribute [rw] source
437
+ # @return [::String]
438
+ # Required. The resource name (URI) of the source connection profile.
439
+ # @!attribute [rw] destination
440
+ # @return [::String]
441
+ # Required. The resource name (URI) of the destination connection profile.
442
+ # @!attribute [rw] reverse_ssh_connectivity
443
+ # @return [::Google::Cloud::CloudDMS::V1::ReverseSshConnectivity]
444
+ # The details needed to communicate to the source over Reverse SSH
445
+ # tunnel connectivity.
446
+ # @!attribute [rw] vpc_peering_connectivity
447
+ # @return [::Google::Cloud::CloudDMS::V1::VpcPeeringConnectivity]
448
+ # The details of the VPC network that the source database is located in.
449
+ # @!attribute [rw] static_ip_connectivity
450
+ # @return [::Google::Cloud::CloudDMS::V1::StaticIpConnectivity]
451
+ # static ip connectivity data (default, no additional details needed).
452
+ # @!attribute [r] duration
453
+ # @return [::Google::Protobuf::Duration]
454
+ # Output only. The duration of the migration job (in seconds). A duration in seconds
455
+ # with up to nine fractional digits, terminated by 's'. Example: "3.5s".
456
+ # @!attribute [r] error
457
+ # @return [::Google::Rpc::Status]
458
+ # Output only. The error details in case of state FAILED.
459
+ # @!attribute [rw] source_database
460
+ # @return [::Google::Cloud::CloudDMS::V1::DatabaseType]
461
+ # The database engine type and provider of the source.
462
+ # @!attribute [rw] destination_database
463
+ # @return [::Google::Cloud::CloudDMS::V1::DatabaseType]
464
+ # The database engine type and provider of the destination.
465
+ # @!attribute [r] end_time
466
+ # @return [::Google::Protobuf::Timestamp]
467
+ # Output only. If the migration job is completed, the time when it was completed.
468
+ class MigrationJob
469
+ include ::Google::Protobuf::MessageExts
470
+ extend ::Google::Protobuf::MessageExts::ClassMethods
471
+
472
+ # @!attribute [rw] key
473
+ # @return [::String]
474
+ # @!attribute [rw] value
475
+ # @return [::String]
476
+ class LabelsEntry
477
+ include ::Google::Protobuf::MessageExts
478
+ extend ::Google::Protobuf::MessageExts::ClassMethods
479
+ end
480
+
481
+ # The current migration job states.
482
+ module State
483
+ # The state of the migration job is unknown.
484
+ STATE_UNSPECIFIED = 0
485
+
486
+ # The migration job is down for maintenance.
487
+ MAINTENANCE = 1
488
+
489
+ # The migration job is in draft mode and no resources are created.
490
+ DRAFT = 2
491
+
492
+ # The migration job is being created.
493
+ CREATING = 3
494
+
495
+ # The migration job is created, not started and is fully editable.
496
+ NOT_STARTED = 4
497
+
498
+ # The migration job is running.
499
+ RUNNING = 5
500
+
501
+ # The migration job failed.
502
+ FAILED = 6
503
+
504
+ # The migration job has been completed.
505
+ COMPLETED = 7
506
+
507
+ # The migration job is being deleted.
508
+ DELETING = 8
509
+
510
+ # The migration job is being stopped.
511
+ STOPPING = 9
512
+
513
+ # The migration job is currently stopped.
514
+ STOPPED = 10
515
+
516
+ # The migration job has been deleted.
517
+ DELETED = 11
518
+
519
+ # The migration job is being updated.
520
+ UPDATING = 12
521
+
522
+ # The migration job is starting.
523
+ STARTING = 13
524
+
525
+ # The migration job is restarting.
526
+ RESTARTING = 14
527
+
528
+ # The migration job is resuming.
529
+ RESUMING = 15
530
+ end
531
+
532
+ # The current migration job phase.
533
+ module Phase
534
+ # The phase of the migration job is unknown.
535
+ PHASE_UNSPECIFIED = 0
536
+
537
+ # The migration job is in the full dump phase.
538
+ FULL_DUMP = 1
539
+
540
+ # The migration job is CDC phase.
541
+ CDC = 2
542
+
543
+ # The migration job is running the promote phase.
544
+ PROMOTE_IN_PROGRESS = 3
545
+
546
+ # Only RDS flow - waiting for source writes to stop
547
+ WAITING_FOR_SOURCE_WRITES_TO_STOP = 4
548
+
549
+ # Only RDS flow - the sources writes stopped, waiting for dump to begin
550
+ PREPARING_THE_DUMP = 5
551
+ end
552
+
553
+ # The type of migration job (one-time or continuous).
554
+ module Type
555
+ # The type of the migration job is unknown.
556
+ TYPE_UNSPECIFIED = 0
557
+
558
+ # The migration job is a one time migration.
559
+ ONE_TIME = 1
560
+
561
+ # The migration job is a continuous migration.
562
+ CONTINUOUS = 2
563
+ end
564
+ end
565
+
566
+ # A connection profile definition.
567
+ # @!attribute [rw] name
568
+ # @return [::String]
569
+ # The name of this connection profile resource in the form of
570
+ # projects/\\{project}/locations/\\{location}/instances/\\{instance}.
571
+ # @!attribute [r] create_time
572
+ # @return [::Google::Protobuf::Timestamp]
573
+ # Output only. The timestamp when the resource was created.
574
+ # A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
575
+ # Example: "2014-10-02T15:01:23.045123456Z".
576
+ # @!attribute [r] update_time
577
+ # @return [::Google::Protobuf::Timestamp]
578
+ # Output only. The timestamp when the resource was last updated.
579
+ # A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
580
+ # Example: "2014-10-02T15:01:23.045123456Z".
581
+ # @!attribute [rw] labels
582
+ # @return [::Google::Protobuf::Map{::String => ::String}]
583
+ # The resource labels for connection profile to use to annotate any related
584
+ # underlying resources such as Compute Engine VMs. An object containing a
585
+ # list of "key": "value" pairs.
586
+ #
587
+ # Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
588
+ # @!attribute [rw] state
589
+ # @return [::Google::Cloud::CloudDMS::V1::ConnectionProfile::State]
590
+ # The current connection profile state (e.g. DRAFT, READY, or FAILED).
591
+ # @!attribute [rw] display_name
592
+ # @return [::String]
593
+ # The connection profile display name.
594
+ # @!attribute [rw] mysql
595
+ # @return [::Google::Cloud::CloudDMS::V1::MySqlConnectionProfile]
596
+ # A MySQL database connection profile.
597
+ # @!attribute [rw] postgresql
598
+ # @return [::Google::Cloud::CloudDMS::V1::PostgreSqlConnectionProfile]
599
+ # A PostgreSQL database connection profile.
600
+ # @!attribute [rw] cloudsql
601
+ # @return [::Google::Cloud::CloudDMS::V1::CloudSqlConnectionProfile]
602
+ # A CloudSQL database connection profile.
603
+ # @!attribute [r] error
604
+ # @return [::Google::Rpc::Status]
605
+ # Output only. The error details in case of state FAILED.
606
+ # @!attribute [rw] provider
607
+ # @return [::Google::Cloud::CloudDMS::V1::DatabaseProvider]
608
+ # The database provider.
609
+ class ConnectionProfile
610
+ include ::Google::Protobuf::MessageExts
611
+ extend ::Google::Protobuf::MessageExts::ClassMethods
612
+
613
+ # @!attribute [rw] key
614
+ # @return [::String]
615
+ # @!attribute [rw] value
616
+ # @return [::String]
617
+ class LabelsEntry
618
+ include ::Google::Protobuf::MessageExts
619
+ extend ::Google::Protobuf::MessageExts::ClassMethods
620
+ end
621
+
622
+ # The current connection profile state (e.g. DRAFT, READY, or FAILED).
623
+ module State
624
+ # The state of the connection profile is unknown.
625
+ STATE_UNSPECIFIED = 0
626
+
627
+ # The connection profile is in draft mode and fully editable.
628
+ DRAFT = 1
629
+
630
+ # The connection profile is being created.
631
+ CREATING = 2
632
+
633
+ # The connection profile is ready.
634
+ READY = 3
635
+
636
+ # The connection profile is being updated.
637
+ UPDATING = 4
638
+
639
+ # The connection profile is being deleted.
640
+ DELETING = 5
641
+
642
+ # The connection profile has been deleted.
643
+ DELETED = 6
644
+
645
+ # The last action on the connection profile failed.
646
+ FAILED = 7
647
+ end
648
+ end
649
+
650
+ # Error message of a verification Migration job.
651
+ # @!attribute [r] error_code
652
+ # @return [::Google::Cloud::CloudDMS::V1::MigrationJobVerificationError::ErrorCode]
653
+ # Output only. An instance of ErrorCode specifying the error that occurred.
654
+ # @!attribute [r] error_message
655
+ # @return [::String]
656
+ # Output only. A formatted message with further details about the error and a CTA.
657
+ # @!attribute [r] error_detail_message
658
+ # @return [::String]
659
+ # Output only. A specific detailed error message, if supplied by the engine.
660
+ class MigrationJobVerificationError
661
+ include ::Google::Protobuf::MessageExts
662
+ extend ::Google::Protobuf::MessageExts::ClassMethods
663
+
664
+ # A general error code describing the type of error that occurred.
665
+ module ErrorCode
666
+ # An unknown error occurred
667
+ ERROR_CODE_UNSPECIFIED = 0
668
+
669
+ # We failed to connect to one of the connection profile.
670
+ CONNECTION_FAILURE = 1
671
+
672
+ # We failed to authenticate to one of the connection profile.
673
+ AUTHENTICATION_FAILURE = 2
674
+
675
+ # One of the involved connection profiles has an invalid configuration.
676
+ INVALID_CONNECTION_PROFILE_CONFIG = 3
677
+
678
+ # The versions of the source and the destination are incompatible.
679
+ VERSION_INCOMPATIBILITY = 4
680
+
681
+ # The types of the source and the destination are incompatible.
682
+ CONNECTION_PROFILE_TYPES_INCOMPATIBILITY = 5
683
+
684
+ # No pglogical extension installed on databases, applicable for postgres.
685
+ NO_PGLOGICAL_INSTALLED = 7
686
+
687
+ # pglogical node already exists on databases, applicable for postgres.
688
+ PGLOGICAL_NODE_ALREADY_EXISTS = 8
689
+
690
+ # The value of parameter wal_level is not set to logical.
691
+ INVALID_WAL_LEVEL = 9
692
+
693
+ # The value of parameter shared_preload_libraries does not include
694
+ # pglogical.
695
+ INVALID_SHARED_PRELOAD_LIBRARY = 10
696
+
697
+ # The value of parameter max_replication_slots is not sufficient.
698
+ INSUFFICIENT_MAX_REPLICATION_SLOTS = 11
699
+
700
+ # The value of parameter max_wal_senders is not sufficient.
701
+ INSUFFICIENT_MAX_WAL_SENDERS = 12
702
+
703
+ # The value of parameter max_worker_processes is not sufficient.
704
+ INSUFFICIENT_MAX_WORKER_PROCESSES = 13
705
+
706
+ # Extensions installed are either not supported or having unsupported
707
+ # versions.
708
+ UNSUPPORTED_EXTENSIONS = 14
709
+
710
+ # Unsupported migration type.
711
+ UNSUPPORTED_MIGRATION_TYPE = 15
712
+
713
+ # Invalid RDS logical replication.
714
+ INVALID_RDS_LOGICAL_REPLICATION = 16
715
+
716
+ # The gtid_mode is not supported, applicable for MySQL.
717
+ UNSUPPORTED_GTID_MODE = 17
718
+
719
+ # The table definition is not support due to missing primary key or replica
720
+ # identity.
721
+ UNSUPPORTED_TABLE_DEFINITION = 18
722
+
723
+ # The definer is not supported.
724
+ UNSUPPORTED_DEFINER = 19
725
+
726
+ # Migration is already running at the time of restart request.
727
+ CANT_RESTART_RUNNING_MIGRATION = 21
728
+ end
729
+ end
730
+
731
+ # The database engine types.
732
+ module DatabaseEngine
733
+ # The source database engine of the migration job is unknown.
734
+ DATABASE_ENGINE_UNSPECIFIED = 0
735
+
736
+ # The source engine is MySQL.
737
+ MYSQL = 1
738
+
739
+ # The source engine is PostgreSQL.
740
+ POSTGRESQL = 2
741
+ end
742
+
743
+ # The database providers.
744
+ module DatabaseProvider
745
+ # The database provider is unknown.
746
+ DATABASE_PROVIDER_UNSPECIFIED = 0
747
+
748
+ # CloudSQL runs the database.
749
+ CLOUDSQL = 1
750
+
751
+ # RDS runs the database.
752
+ RDS = 2
753
+ end
754
+ end
755
+ end
756
+ end
757
+ end