google-cloud-cloud_dms-v1 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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