google-cloud-cloud_dms-v1 0.2.0 → 0.3.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.
@@ -24,23 +24,23 @@ module Google
24
24
  # SSL configuration information.
25
25
  # @!attribute [r] type
26
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'.
27
+ # Output only. The ssl config type according to 'client_key',
28
+ # 'client_certificate' and 'ca_certificate'.
29
29
  # @!attribute [rw] client_key
30
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.
31
+ # Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key
32
+ # associated with the Client Certificate. If this field is used then the
33
+ # 'client_certificate' field is mandatory.
34
34
  # @!attribute [rw] client_certificate
35
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.
36
+ # Input only. The x509 PEM-encoded certificate that will be used by the
37
+ # replica to authenticate against the source database server.If this field is
38
+ # used then the 'client_key' field is mandatory.
39
39
  # @!attribute [rw] ca_certificate
40
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.
41
+ # Required. Input only. The x509 PEM-encoded certificate of the CA that
42
+ # signed the source database server's certificate. The replica will use this
43
+ # certificate to verify it's connecting to the right host.
44
44
  class SslConfig
45
45
  include ::Google::Protobuf::MessageExts
46
46
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -68,13 +68,15 @@ module Google
68
68
  # Required. The network port of the source MySQL database.
69
69
  # @!attribute [rw] username
70
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.
71
+ # Required. The username that Database Migration Service will use to connect
72
+ # to the database. The value is encrypted when stored in Database Migration
73
+ # Service.
73
74
  # @!attribute [rw] password
74
75
  # @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.
76
+ # Required. Input only. The password for the user that Database Migration
77
+ # Service will be using to connect to the database. This field is not
78
+ # returned on request, and the value is encrypted when stored in Database
79
+ # Migration Service.
78
80
  # @!attribute [r] password_set
79
81
  # @return [::Boolean]
80
82
  # Output only. Indicates If this connection profile password is stored.
@@ -100,13 +102,15 @@ module Google
100
102
  # Required. The network port of the source PostgreSQL database.
101
103
  # @!attribute [rw] username
102
104
  # @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
+ # Required. The username that Database Migration Service will use to connect
106
+ # to the database. The value is encrypted when stored in Database Migration
107
+ # Service.
105
108
  # @!attribute [rw] password
106
109
  # @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
+ # Required. Input only. The password for the user that Database Migration
111
+ # Service will be using to connect to the database. This field is not
112
+ # returned on request, and the value is encrypted when stored in Database
113
+ # Migration Service.
110
114
  # @!attribute [r] password_set
111
115
  # @return [::Boolean]
112
116
  # Output only. Indicates If this connection profile password is stored.
@@ -117,16 +121,66 @@ module Google
117
121
  # @return [::String]
118
122
  # If the source is a Cloud SQL database, use this field to
119
123
  # provide the Cloud SQL instance ID of the source.
124
+ # @!attribute [r] network_architecture
125
+ # @return [::Google::Cloud::CloudDMS::V1::NetworkArchitecture]
126
+ # Output only. If the source is a Cloud SQL database, this field indicates
127
+ # the network architecture it's associated with.
128
+ # @!attribute [rw] static_ip_connectivity
129
+ # @return [::Google::Cloud::CloudDMS::V1::StaticIpConnectivity]
130
+ # Static ip connectivity data (default, no additional details needed).
131
+ # @!attribute [rw] private_service_connect_connectivity
132
+ # @return [::Google::Cloud::CloudDMS::V1::PrivateServiceConnectConnectivity]
133
+ # Private service connect connectivity.
120
134
  class PostgreSqlConnectionProfile
121
135
  include ::Google::Protobuf::MessageExts
122
136
  extend ::Google::Protobuf::MessageExts::ClassMethods
123
137
  end
124
138
 
139
+ # Specifies connection parameters required specifically for Oracle
140
+ # databases.
141
+ # @!attribute [rw] host
142
+ # @return [::String]
143
+ # Required. The IP or hostname of the source Oracle database.
144
+ # @!attribute [rw] port
145
+ # @return [::Integer]
146
+ # Required. The network port of the source Oracle database.
147
+ # @!attribute [rw] username
148
+ # @return [::String]
149
+ # Required. The username that Database Migration Service will use to connect
150
+ # to the database. The value is encrypted when stored in Database Migration
151
+ # Service.
152
+ # @!attribute [rw] password
153
+ # @return [::String]
154
+ # Required. Input only. The password for the user that Database Migration
155
+ # Service will be using to connect to the database. This field is not
156
+ # returned on request, and the value is encrypted when stored in Database
157
+ # Migration Service.
158
+ # @!attribute [r] password_set
159
+ # @return [::Boolean]
160
+ # Output only. Indicates whether a new password is included in the request.
161
+ # @!attribute [rw] database_service
162
+ # @return [::String]
163
+ # Required. Database service for the Oracle connection.
164
+ # @!attribute [rw] static_service_ip_connectivity
165
+ # @return [::Google::Cloud::CloudDMS::V1::StaticServiceIpConnectivity]
166
+ # Static Service IP connectivity.
167
+ # @!attribute [rw] forward_ssh_connectivity
168
+ # @return [::Google::Cloud::CloudDMS::V1::ForwardSshTunnelConnectivity]
169
+ # Forward SSH tunnel connectivity.
170
+ # @!attribute [rw] private_connectivity
171
+ # @return [::Google::Cloud::CloudDMS::V1::PrivateConnectivity]
172
+ # Private connectivity.
173
+ class OracleConnectionProfile
174
+ include ::Google::Protobuf::MessageExts
175
+ extend ::Google::Protobuf::MessageExts::ClassMethods
176
+ end
177
+
125
178
  # Specifies required connection parameters, and, optionally, the parameters
126
179
  # required to create a Cloud SQL destination database instance.
127
180
  # @!attribute [r] cloud_sql_id
128
181
  # @return [::String]
129
- # Output only. The Cloud SQL instance ID that this connection profile is associated with.
182
+ # Output only. The Cloud SQL instance ID that this connection profile is
183
+ # associated with.
130
184
  # @!attribute [rw] settings
131
185
  # @return [::Google::Cloud::CloudDMS::V1::CloudSqlSettings]
132
186
  # Immutable. Metadata used to create the destination Cloud SQL database.
@@ -136,11 +190,30 @@ module Google
136
190
  # @!attribute [r] public_ip
137
191
  # @return [::String]
138
192
  # Output only. The Cloud SQL database instance's public IP.
193
+ # @!attribute [r] additional_public_ip
194
+ # @return [::String]
195
+ # Output only. The Cloud SQL database instance's additional (outgoing) public
196
+ # IP. Used when the Cloud SQL database availability type is REGIONAL (i.e.
197
+ # multiple zones / highly available).
139
198
  class CloudSqlConnectionProfile
140
199
  include ::Google::Protobuf::MessageExts
141
200
  extend ::Google::Protobuf::MessageExts::ClassMethods
142
201
  end
143
202
 
203
+ # Specifies required connection parameters, and the parameters
204
+ # required to create an AlloyDB destination cluster.
205
+ # @!attribute [rw] cluster_id
206
+ # @return [::String]
207
+ # Required. The AlloyDB cluster ID that this connection profile is associated
208
+ # with.
209
+ # @!attribute [rw] settings
210
+ # @return [::Google::Cloud::CloudDMS::V1::AlloyDbSettings]
211
+ # Immutable. Metadata used to create the destination AlloyDB cluster.
212
+ class AlloyDbConnectionProfile
213
+ include ::Google::Protobuf::MessageExts
214
+ extend ::Google::Protobuf::MessageExts::ClassMethods
215
+ end
216
+
144
217
  # An entry for an Access Control list.
145
218
  # @!attribute [rw] value
146
219
  # @return [::String]
@@ -171,6 +244,14 @@ module Google
171
244
  # accessible for private IP. For example,
172
245
  # `projects/myProject/global/networks/default`. This setting can
173
246
  # be updated, but it cannot be removed after it is set.
247
+ # @!attribute [rw] allocated_ip_range
248
+ # @return [::String]
249
+ # Optional. The name of the allocated IP address range for the private IP
250
+ # Cloud SQL instance. This name refers to an already allocated IP range
251
+ # address. If set, the instance IP address will be created in the allocated
252
+ # range. Note that this IP address range can't be modified after the instance
253
+ # is created. If you change the VPC when configuring connectivity settings
254
+ # for the migration job, this field is not relevant.
174
255
  # @!attribute [rw] require_ssl
175
256
  # @return [::Google::Protobuf::BoolValue]
176
257
  # Whether SSL connections over IP should be enforced or not.
@@ -244,8 +325,13 @@ module Google
244
325
  # The minimum (and default) size is 10GB.
245
326
  # @!attribute [rw] zone
246
327
  # @return [::String]
247
- # The Google Cloud Platform zone where your Cloud SQL datdabse instance is
328
+ # The Google Cloud Platform zone where your Cloud SQL database instance is
248
329
  # located.
330
+ # @!attribute [rw] secondary_zone
331
+ # @return [::String]
332
+ # Optional. The Google Cloud Platform zone where the failover Cloud SQL
333
+ # database instance is located. Used when the Cloud SQL database availability
334
+ # type is REGIONAL (i.e. multiple zones / highly available).
249
335
  # @!attribute [rw] source_id
250
336
  # @return [::String]
251
337
  # The Database Migration Service source connection profile ID,
@@ -260,6 +346,16 @@ module Google
260
346
  # @!attribute [rw] collation
261
347
  # @return [::String]
262
348
  # The Cloud SQL default instance level collation.
349
+ # @!attribute [rw] cmek_key_name
350
+ # @return [::String]
351
+ # The KMS key name used for the csql instance.
352
+ # @!attribute [rw] availability_type
353
+ # @return [::Google::Cloud::CloudDMS::V1::CloudSqlSettings::SqlAvailabilityType]
354
+ # Optional. Availability type. Potential values:
355
+ # * `ZONAL`: The instance serves data from only one zone. Outages in that
356
+ # zone affect data availability.
357
+ # * `REGIONAL`: The instance can serve data from more than one zone in a
358
+ # region (it is highly available).
263
359
  class CloudSqlSettings
264
360
  include ::Google::Protobuf::MessageExts
265
361
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -334,18 +430,166 @@ module Google
334
430
 
335
431
  # PostgreSQL 13.
336
432
  POSTGRES_13 = 8
433
+
434
+ # PostgreSQL 14.
435
+ POSTGRES_14 = 17
436
+ end
437
+
438
+ # The availability type of the given Cloud SQL instance.
439
+ module SqlAvailabilityType
440
+ # This is an unknown Availability type.
441
+ SQL_AVAILABILITY_TYPE_UNSPECIFIED = 0
442
+
443
+ # Zonal availablility instance.
444
+ ZONAL = 1
445
+
446
+ # Regional availability instance.
447
+ REGIONAL = 2
448
+ end
449
+ end
450
+
451
+ # Settings for creating an AlloyDB cluster.
452
+ # @!attribute [rw] initial_user
453
+ # @return [::Google::Cloud::CloudDMS::V1::AlloyDbSettings::UserPassword]
454
+ # Required. Input only. Initial user to setup during cluster creation.
455
+ # Required.
456
+ # @!attribute [rw] vpc_network
457
+ # @return [::String]
458
+ # Required. The resource link for the VPC network in which cluster resources
459
+ # are created and from which they are accessible via Private IP. The network
460
+ # must belong to the same project as the cluster. It is specified in the
461
+ # form: "projects/\\{project_number}/global/networks/\\{network_id}". This is
462
+ # required to create a cluster.
463
+ # @!attribute [rw] labels
464
+ # @return [::Google::Protobuf::Map{::String => ::String}]
465
+ # Labels for the AlloyDB cluster created by DMS. An object containing a list
466
+ # of 'key', 'value' pairs.
467
+ # @!attribute [rw] primary_instance_settings
468
+ # @return [::Google::Cloud::CloudDMS::V1::AlloyDbSettings::PrimaryInstanceSettings]
469
+ # @!attribute [rw] encryption_config
470
+ # @return [::Google::Cloud::CloudDMS::V1::AlloyDbSettings::EncryptionConfig]
471
+ # Optional. The encryption config can be specified to encrypt the data disks
472
+ # and other persistent data resources of a cluster with a
473
+ # customer-managed encryption key (CMEK). When this field is not
474
+ # specified, the cluster will then use default encryption scheme to
475
+ # protect the user data.
476
+ class AlloyDbSettings
477
+ include ::Google::Protobuf::MessageExts
478
+ extend ::Google::Protobuf::MessageExts::ClassMethods
479
+
480
+ # The username/password for a database user. Used for specifying initial
481
+ # users at cluster creation time.
482
+ # @!attribute [rw] user
483
+ # @return [::String]
484
+ # The database username.
485
+ # @!attribute [rw] password
486
+ # @return [::String]
487
+ # The initial password for the user.
488
+ # @!attribute [r] password_set
489
+ # @return [::Boolean]
490
+ # Output only. Indicates if the initial_user.password field has been set.
491
+ class UserPassword
492
+ include ::Google::Protobuf::MessageExts
493
+ extend ::Google::Protobuf::MessageExts::ClassMethods
494
+ end
495
+
496
+ # Settings for the cluster's primary instance
497
+ # @!attribute [rw] id
498
+ # @return [::String]
499
+ # Required. The ID of the AlloyDB primary instance. The ID must satisfy the
500
+ # regex expression "[a-z0-9-]+".
501
+ # @!attribute [rw] machine_config
502
+ # @return [::Google::Cloud::CloudDMS::V1::AlloyDbSettings::PrimaryInstanceSettings::MachineConfig]
503
+ # Configuration for the machines that host the underlying
504
+ # database engine.
505
+ # @!attribute [rw] database_flags
506
+ # @return [::Google::Protobuf::Map{::String => ::String}]
507
+ # Database flags to pass to AlloyDB when DMS is creating the AlloyDB
508
+ # cluster and instances. See the AlloyDB documentation for how these can be
509
+ # used.
510
+ # @!attribute [rw] labels
511
+ # @return [::Google::Protobuf::Map{::String => ::String}]
512
+ # Labels for the AlloyDB primary instance created by DMS. An object
513
+ # containing a list of 'key', 'value' pairs.
514
+ # @!attribute [r] private_ip
515
+ # @return [::String]
516
+ # Output only. The private IP address for the Instance.
517
+ # This is the connection endpoint for an end-user application.
518
+ class PrimaryInstanceSettings
519
+ include ::Google::Protobuf::MessageExts
520
+ extend ::Google::Protobuf::MessageExts::ClassMethods
521
+
522
+ # MachineConfig describes the configuration of a machine.
523
+ # @!attribute [rw] cpu_count
524
+ # @return [::Integer]
525
+ # The number of CPU's in the VM instance.
526
+ class MachineConfig
527
+ include ::Google::Protobuf::MessageExts
528
+ extend ::Google::Protobuf::MessageExts::ClassMethods
529
+ end
530
+
531
+ # @!attribute [rw] key
532
+ # @return [::String]
533
+ # @!attribute [rw] value
534
+ # @return [::String]
535
+ class DatabaseFlagsEntry
536
+ include ::Google::Protobuf::MessageExts
537
+ extend ::Google::Protobuf::MessageExts::ClassMethods
538
+ end
539
+
540
+ # @!attribute [rw] key
541
+ # @return [::String]
542
+ # @!attribute [rw] value
543
+ # @return [::String]
544
+ class LabelsEntry
545
+ include ::Google::Protobuf::MessageExts
546
+ extend ::Google::Protobuf::MessageExts::ClassMethods
547
+ end
548
+ end
549
+
550
+ # EncryptionConfig describes the encryption config of a cluster that is
551
+ # encrypted with a CMEK (customer-managed encryption key).
552
+ # @!attribute [rw] kms_key_name
553
+ # @return [::String]
554
+ # The fully-qualified resource name of the KMS key.
555
+ # Each Cloud KMS key is regionalized and has the following format:
556
+ # projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]
557
+ class EncryptionConfig
558
+ include ::Google::Protobuf::MessageExts
559
+ extend ::Google::Protobuf::MessageExts::ClassMethods
560
+ end
561
+
562
+ # @!attribute [rw] key
563
+ # @return [::String]
564
+ # @!attribute [rw] value
565
+ # @return [::String]
566
+ class LabelsEntry
567
+ include ::Google::Protobuf::MessageExts
568
+ extend ::Google::Protobuf::MessageExts::ClassMethods
337
569
  end
338
570
  end
339
571
 
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
572
+ # The source database will allow incoming connections from the public IP of the
573
+ # destination database. You can retrieve the public IP of the Cloud SQL
574
+ # instance from the Cloud SQL console or using Cloud SQL APIs. No additional
343
575
  # configuration is required.
344
576
  class StaticIpConnectivity
345
577
  include ::Google::Protobuf::MessageExts
346
578
  extend ::Google::Protobuf::MessageExts::ClassMethods
347
579
  end
348
580
 
581
+ # Private Service Connect connectivity
582
+ # (https://cloud.google.com/vpc/docs/private-service-connect#service-attachments)
583
+ # @!attribute [rw] service_attachment
584
+ # @return [::String]
585
+ # Required. A service attachment that exposes a database, and has the
586
+ # following format:
587
+ # projects/\\{project}/regions/\\{region}/serviceAttachments/\\{service_attachment_name}
588
+ class PrivateServiceConnectConnectivity
589
+ include ::Google::Protobuf::MessageExts
590
+ extend ::Google::Protobuf::MessageExts::ClassMethods
591
+ end
592
+
349
593
  # The details needed to configure a reverse SSH tunnel between the source and
350
594
  # destination databases. These details will be used when calling the
351
595
  # generateSshScript method (see
@@ -354,12 +598,12 @@ module Google
354
598
  # set up the VPC peering between the Cloud SQL private network and the VPC.
355
599
  # @!attribute [rw] vm_ip
356
600
  # @return [::String]
357
- # Required. The IP of the virtual machine (Compute Engine) used as the bastion server
358
- # for the SSH tunnel.
601
+ # Required. The IP of the virtual machine (Compute Engine) used as the
602
+ # bastion server for the SSH tunnel.
359
603
  # @!attribute [rw] vm_port
360
604
  # @return [::Integer]
361
- # Required. The forwarding port of the virtual machine (Compute Engine) used as the
362
- # bastion server for the SSH tunnel.
605
+ # Required. The forwarding port of the virtual machine (Compute Engine) used
606
+ # as the bastion server for the SSH tunnel.
363
607
  # @!attribute [rw] vm
364
608
  # @return [::String]
365
609
  # The name of the virtual machine (Compute Engine) used as the bastion server
@@ -383,6 +627,42 @@ module Google
383
627
  extend ::Google::Protobuf::MessageExts::ClassMethods
384
628
  end
385
629
 
630
+ # Forward SSH Tunnel connectivity.
631
+ # @!attribute [rw] hostname
632
+ # @return [::String]
633
+ # Required. Hostname for the SSH tunnel.
634
+ # @!attribute [rw] username
635
+ # @return [::String]
636
+ # Required. Username for the SSH tunnel.
637
+ # @!attribute [rw] port
638
+ # @return [::Integer]
639
+ # Port for the SSH tunnel, default value is 22.
640
+ # @!attribute [rw] password
641
+ # @return [::String]
642
+ # Input only. SSH password.
643
+ # @!attribute [rw] private_key
644
+ # @return [::String]
645
+ # Input only. SSH private key.
646
+ class ForwardSshTunnelConnectivity
647
+ include ::Google::Protobuf::MessageExts
648
+ extend ::Google::Protobuf::MessageExts::ClassMethods
649
+ end
650
+
651
+ # Static IP address connectivity configured on service project.
652
+ class StaticServiceIpConnectivity
653
+ include ::Google::Protobuf::MessageExts
654
+ extend ::Google::Protobuf::MessageExts::ClassMethods
655
+ end
656
+
657
+ # Private Connectivity.
658
+ # @!attribute [rw] private_connection
659
+ # @return [::String]
660
+ # Required. The resource name (URI) of the private connection.
661
+ class PrivateConnectivity
662
+ include ::Google::Protobuf::MessageExts
663
+ extend ::Google::Protobuf::MessageExts::ClassMethods
664
+ end
665
+
386
666
  # A message defining the database engine and provider.
387
667
  # @!attribute [rw] provider
388
668
  # @return [::Google::Cloud::CloudDMS::V1::DatabaseProvider]
@@ -399,7 +679,7 @@ module Google
399
679
  # @!attribute [rw] name
400
680
  # @return [::String]
401
681
  # The name (URI) of this migration job resource, in the form of:
402
- # projects/\\{project}/locations/\\{location}/instances/\\{instance}.
682
+ # projects/\\{project}/locations/\\{location}/migrationJobs/\\{migrationJob}.
403
683
  # @!attribute [r] create_time
404
684
  # @return [::Google::Protobuf::Timestamp]
405
685
  # Output only. The timestamp when the migration job resource was created.
@@ -407,8 +687,8 @@ module Google
407
687
  # Example: "2014-10-02T15:01:23.045123456Z".
408
688
  # @!attribute [r] update_time
409
689
  # @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.
690
+ # Output only. The timestamp when the migration job resource was last
691
+ # updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
412
692
  # Example: "2014-10-02T15:01:23.045123456Z".
413
693
  # @!attribute [rw] labels
414
694
  # @return [::Google::Protobuf::Map{::String => ::String}]
@@ -433,6 +713,11 @@ module Google
433
713
  # @return [::String]
434
714
  # The path to the dump file in Google Cloud Storage,
435
715
  # in the format: (gs://[BUCKET_NAME]/[OBJECT_NAME]).
716
+ # This field and the "dump_flags" field are mutually exclusive.
717
+ # @!attribute [rw] dump_flags
718
+ # @return [::Google::Cloud::CloudDMS::V1::MigrationJob::DumpFlags]
719
+ # The initial dump flags.
720
+ # This field and the "dump_path" field are mutually exclusive.
436
721
  # @!attribute [rw] source
437
722
  # @return [::String]
438
723
  # Required. The resource name (URI) of the source connection profile.
@@ -451,8 +736,9 @@ module Google
451
736
  # static ip connectivity data (default, no additional details needed).
452
737
  # @!attribute [r] duration
453
738
  # @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".
739
+ # Output only. The duration of the migration job (in seconds). A duration in
740
+ # seconds with up to nine fractional digits, terminated by 's'. Example:
741
+ # "3.5s".
456
742
  # @!attribute [r] error
457
743
  # @return [::Google::Rpc::Status]
458
744
  # Output only. The error details in case of state FAILED.
@@ -464,11 +750,56 @@ module Google
464
750
  # The database engine type and provider of the destination.
465
751
  # @!attribute [r] end_time
466
752
  # @return [::Google::Protobuf::Timestamp]
467
- # Output only. If the migration job is completed, the time when it was completed.
753
+ # Output only. If the migration job is completed, the time when it was
754
+ # completed.
755
+ # @!attribute [rw] conversion_workspace
756
+ # @return [::Google::Cloud::CloudDMS::V1::ConversionWorkspaceInfo]
757
+ # The conversion workspace used by the migration.
758
+ # @!attribute [rw] filter
759
+ # @return [::String]
760
+ # This field can be used to select the entities to migrate as part of
761
+ # the migration job. It uses AIP-160 notation to select a subset of the
762
+ # entities configured on the associated conversion-workspace. This field
763
+ # should not be set on migration-jobs that are not associated with a
764
+ # conversion workspace.
765
+ # @!attribute [rw] cmek_key_name
766
+ # @return [::String]
767
+ # The CMEK (customer-managed encryption key) fully qualified key name used
768
+ # for the migration job.
769
+ # This field supports all migration jobs types except for:
770
+ # * Mysql to Mysql (use the cmek field in the cloudsql connection profile
771
+ # instead).
772
+ # * PostrgeSQL to PostgreSQL (use the cmek field in the cloudsql
773
+ # connection profile instead).
774
+ # * PostgreSQL to AlloyDB (use the kms_key_name field in the alloydb
775
+ # connection profile instead).
776
+ # Each Cloud CMEK key has the following format:
777
+ # projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]
468
778
  class MigrationJob
469
779
  include ::Google::Protobuf::MessageExts
470
780
  extend ::Google::Protobuf::MessageExts::ClassMethods
471
781
 
782
+ # Dump flag definition.
783
+ # @!attribute [rw] name
784
+ # @return [::String]
785
+ # The name of the flag
786
+ # @!attribute [rw] value
787
+ # @return [::String]
788
+ # The value of the flag.
789
+ class DumpFlag
790
+ include ::Google::Protobuf::MessageExts
791
+ extend ::Google::Protobuf::MessageExts::ClassMethods
792
+ end
793
+
794
+ # Dump flags definition.
795
+ # @!attribute [rw] dump_flags
796
+ # @return [::Array<::Google::Cloud::CloudDMS::V1::MigrationJob::DumpFlag>]
797
+ # The flags for the initial dump.
798
+ class DumpFlags
799
+ include ::Google::Protobuf::MessageExts
800
+ extend ::Google::Protobuf::MessageExts::ClassMethods
801
+ end
802
+
472
803
  # @!attribute [rw] key
473
804
  # @return [::String]
474
805
  # @!attribute [rw] value
@@ -563,11 +894,23 @@ module Google
563
894
  end
564
895
  end
565
896
 
897
+ # A conversion workspace's version.
898
+ # @!attribute [rw] name
899
+ # @return [::String]
900
+ # The resource name (URI) of the conversion workspace.
901
+ # @!attribute [rw] commit_id
902
+ # @return [::String]
903
+ # The commit ID of the conversion workspace.
904
+ class ConversionWorkspaceInfo
905
+ include ::Google::Protobuf::MessageExts
906
+ extend ::Google::Protobuf::MessageExts::ClassMethods
907
+ end
908
+
566
909
  # A connection profile definition.
567
910
  # @!attribute [rw] name
568
911
  # @return [::String]
569
912
  # The name of this connection profile resource in the form of
570
- # projects/\\{project}/locations/\\{location}/instances/\\{instance}.
913
+ # projects/\\{project}/locations/\\{location}/connectionProfiles/\\{connectionProfile}.
571
914
  # @!attribute [r] create_time
572
915
  # @return [::Google::Protobuf::Timestamp]
573
916
  # Output only. The timestamp when the resource was created.
@@ -597,9 +940,15 @@ module Google
597
940
  # @!attribute [rw] postgresql
598
941
  # @return [::Google::Cloud::CloudDMS::V1::PostgreSqlConnectionProfile]
599
942
  # A PostgreSQL database connection profile.
943
+ # @!attribute [rw] oracle
944
+ # @return [::Google::Cloud::CloudDMS::V1::OracleConnectionProfile]
945
+ # An Oracle database connection profile.
600
946
  # @!attribute [rw] cloudsql
601
947
  # @return [::Google::Cloud::CloudDMS::V1::CloudSqlConnectionProfile]
602
948
  # A CloudSQL database connection profile.
949
+ # @!attribute [rw] alloydb
950
+ # @return [::Google::Cloud::CloudDMS::V1::AlloyDbConnectionProfile]
951
+ # An AlloyDB cluster connection profile.
603
952
  # @!attribute [r] error
604
953
  # @return [::Google::Rpc::Status]
605
954
  # Output only. The error details in case of state FAILED.
@@ -653,7 +1002,8 @@ module Google
653
1002
  # Output only. An instance of ErrorCode specifying the error that occurred.
654
1003
  # @!attribute [r] error_message
655
1004
  # @return [::String]
656
- # Output only. A formatted message with further details about the error and a CTA.
1005
+ # Output only. A formatted message with further details about the error and a
1006
+ # CTA.
657
1007
  # @!attribute [r] error_detail_message
658
1008
  # @return [::String]
659
1009
  # Output only. A specific detailed error message, if supplied by the engine.
@@ -725,9 +1075,117 @@ module Google
725
1075
 
726
1076
  # Migration is already running at the time of restart request.
727
1077
  CANT_RESTART_RUNNING_MIGRATION = 21
1078
+
1079
+ # The source has tables with limited support.
1080
+ # E.g. PostgreSQL tables without primary keys.
1081
+ TABLES_WITH_LIMITED_SUPPORT = 24
1082
+
1083
+ # The source uses an unsupported locale.
1084
+ UNSUPPORTED_DATABASE_LOCALE = 25
1085
+
1086
+ # The source uses an unsupported Foreign Data Wrapper configuration.
1087
+ UNSUPPORTED_DATABASE_FDW_CONFIG = 26
1088
+
1089
+ # There was an underlying RDBMS error.
1090
+ ERROR_RDBMS = 27
1091
+
1092
+ # The source DB size in Bytes exceeds a certain threshold. The migration
1093
+ # might require an increase of quota, or might not be supported.
1094
+ SOURCE_SIZE_EXCEEDS_THRESHOLD = 28
1095
+ end
1096
+ end
1097
+
1098
+ # The PrivateConnection resource is used to establish private connectivity
1099
+ # with the customer's network.
1100
+ # @!attribute [rw] name
1101
+ # @return [::String]
1102
+ # The name of the resource.
1103
+ # @!attribute [r] create_time
1104
+ # @return [::Google::Protobuf::Timestamp]
1105
+ # Output only. The create time of the resource.
1106
+ # @!attribute [r] update_time
1107
+ # @return [::Google::Protobuf::Timestamp]
1108
+ # Output only. The last update time of the resource.
1109
+ # @!attribute [rw] labels
1110
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1111
+ # The resource labels for private connections to use to annotate any related
1112
+ # underlying resources such as Compute Engine VMs. An object containing a
1113
+ # list of "key": "value" pairs.
1114
+ #
1115
+ # Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
1116
+ # @!attribute [rw] display_name
1117
+ # @return [::String]
1118
+ # The private connection display name.
1119
+ # @!attribute [r] state
1120
+ # @return [::Google::Cloud::CloudDMS::V1::PrivateConnection::State]
1121
+ # Output only. The state of the private connection.
1122
+ # @!attribute [r] error
1123
+ # @return [::Google::Rpc::Status]
1124
+ # Output only. The error details in case of state FAILED.
1125
+ # @!attribute [rw] vpc_peering_config
1126
+ # @return [::Google::Cloud::CloudDMS::V1::VpcPeeringConfig]
1127
+ # VPC peering configuration.
1128
+ class PrivateConnection
1129
+ include ::Google::Protobuf::MessageExts
1130
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1131
+
1132
+ # @!attribute [rw] key
1133
+ # @return [::String]
1134
+ # @!attribute [rw] value
1135
+ # @return [::String]
1136
+ class LabelsEntry
1137
+ include ::Google::Protobuf::MessageExts
1138
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1139
+ end
1140
+
1141
+ # Private Connection state.
1142
+ module State
1143
+ STATE_UNSPECIFIED = 0
1144
+
1145
+ # The private connection is in creation state - creating resources.
1146
+ CREATING = 1
1147
+
1148
+ # The private connection has been created with all of its resources.
1149
+ CREATED = 2
1150
+
1151
+ # The private connection creation has failed.
1152
+ FAILED = 3
1153
+
1154
+ # The private connection is being deleted.
1155
+ DELETING = 4
1156
+
1157
+ # Delete request has failed, resource is in invalid state.
1158
+ FAILED_TO_DELETE = 5
1159
+
1160
+ # The private connection has been deleted.
1161
+ DELETED = 6
728
1162
  end
729
1163
  end
730
1164
 
1165
+ # The VPC peering configuration is used to create VPC peering with the
1166
+ # consumer's VPC.
1167
+ # @!attribute [rw] vpc_name
1168
+ # @return [::String]
1169
+ # Required. Fully qualified name of the VPC that Database Migration Service
1170
+ # will peer to.
1171
+ # @!attribute [rw] subnet
1172
+ # @return [::String]
1173
+ # Required. A free subnet for peering. (CIDR of /29)
1174
+ class VpcPeeringConfig
1175
+ include ::Google::Protobuf::MessageExts
1176
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1177
+ end
1178
+
1179
+ module NetworkArchitecture
1180
+ NETWORK_ARCHITECTURE_UNSPECIFIED = 0
1181
+
1182
+ # Instance is in Cloud SQL's old producer network architecture.
1183
+ NETWORK_ARCHITECTURE_OLD_CSQL_PRODUCER = 1
1184
+
1185
+ # Instance is in Cloud SQL's new producer network architecture.
1186
+ NETWORK_ARCHITECTURE_NEW_CSQL_PRODUCER = 2
1187
+ end
1188
+
731
1189
  # The database engine types.
732
1190
  module DatabaseEngine
733
1191
  # The source database engine of the migration job is unknown.
@@ -738,6 +1196,9 @@ module Google
738
1196
 
739
1197
  # The source engine is PostgreSQL.
740
1198
  POSTGRESQL = 2
1199
+
1200
+ # The source engine is Oracle.
1201
+ ORACLE = 4
741
1202
  end
742
1203
 
743
1204
  # The database providers.
@@ -750,6 +1211,12 @@ module Google
750
1211
 
751
1212
  # RDS runs the database.
752
1213
  RDS = 2
1214
+
1215
+ # Amazon Aurora.
1216
+ AURORA = 3
1217
+
1218
+ # AlloyDB.
1219
+ ALLOYDB = 4
753
1220
  end
754
1221
  end
755
1222
  end