google-cloud-cloud_dms-v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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