@google-cloud/dms 2.2.2 → 2.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.
- package/CHANGELOG.md +7 -0
- package/README.md +39 -21
- package/build/protos/google/cloud/clouddms/v1/clouddms.proto +864 -77
- package/build/protos/google/cloud/clouddms/v1/clouddms_resources.proto +472 -48
- package/build/protos/google/cloud/clouddms/v1/conversionworkspace_resources.proto +606 -0
- package/build/protos/protos.d.ts +9210 -1008
- package/build/protos/protos.js +53389 -1
- package/build/protos/protos.json +5574 -1
- package/build/src/v1/data_migration_service_client.d.ts +1684 -225
- package/build/src/v1/data_migration_service_client.js +1619 -160
- package/build/src/v1/data_migration_service_client_config.json +95 -0
- package/package.json +9 -9
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Copyright
|
|
1
|
+
// Copyright 2023 Google LLC
|
|
2
2
|
//
|
|
3
3
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
// you may not use this file except in compliance with the License.
|
|
@@ -30,6 +30,10 @@ option java_outer_classname = "ClouddmsResourcesProto";
|
|
|
30
30
|
option java_package = "com.google.cloud.clouddms.v1";
|
|
31
31
|
option php_namespace = "Google\\Cloud\\CloudDms\\V1";
|
|
32
32
|
option ruby_package = "Google::Cloud::CloudDMS::V1";
|
|
33
|
+
option (google.api.resource_definition) = {
|
|
34
|
+
type: "compute.googleapis.com/Networks"
|
|
35
|
+
pattern: "projects/{project}/global/networks/{network}"
|
|
36
|
+
};
|
|
33
37
|
|
|
34
38
|
// SSL configuration information.
|
|
35
39
|
message SslConfig {
|
|
@@ -46,23 +50,23 @@ message SslConfig {
|
|
|
46
50
|
SERVER_CLIENT = 2;
|
|
47
51
|
}
|
|
48
52
|
|
|
49
|
-
// Output only. The ssl config type according to 'client_key',
|
|
50
|
-
// 'ca_certificate'.
|
|
53
|
+
// Output only. The ssl config type according to 'client_key',
|
|
54
|
+
// 'client_certificate' and 'ca_certificate'.
|
|
51
55
|
SslType type = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
52
56
|
|
|
53
|
-
// Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key
|
|
54
|
-
// the Client Certificate. If this field is used then the
|
|
55
|
-
// field is mandatory.
|
|
57
|
+
// Input only. The unencrypted PKCS#1 or PKCS#8 PEM-encoded private key
|
|
58
|
+
// associated with the Client Certificate. If this field is used then the
|
|
59
|
+
// 'client_certificate' field is mandatory.
|
|
56
60
|
string client_key = 2 [(google.api.field_behavior) = INPUT_ONLY];
|
|
57
61
|
|
|
58
|
-
// Input only. The x509 PEM-encoded certificate that will be used by the
|
|
59
|
-
// authenticate against the source database server.If this field is
|
|
60
|
-
// the 'client_key' field is mandatory.
|
|
62
|
+
// Input only. The x509 PEM-encoded certificate that will be used by the
|
|
63
|
+
// replica to authenticate against the source database server.If this field is
|
|
64
|
+
// used then the 'client_key' field is mandatory.
|
|
61
65
|
string client_certificate = 3 [(google.api.field_behavior) = INPUT_ONLY];
|
|
62
66
|
|
|
63
|
-
// Required. Input only. The x509 PEM-encoded certificate of the CA that
|
|
64
|
-
// server's certificate. The replica will use this
|
|
65
|
-
// it's connecting to the right host.
|
|
67
|
+
// Required. Input only. The x509 PEM-encoded certificate of the CA that
|
|
68
|
+
// signed the source database server's certificate. The replica will use this
|
|
69
|
+
// certificate to verify it's connecting to the right host.
|
|
66
70
|
string ca_certificate = 4 [
|
|
67
71
|
(google.api.field_behavior) = INPUT_ONLY,
|
|
68
72
|
(google.api.field_behavior) = REQUIRED
|
|
@@ -77,13 +81,15 @@ message MySqlConnectionProfile {
|
|
|
77
81
|
// Required. The network port of the source MySQL database.
|
|
78
82
|
int32 port = 2 [(google.api.field_behavior) = REQUIRED];
|
|
79
83
|
|
|
80
|
-
// Required. The username that Database Migration Service will use to connect
|
|
81
|
-
// database. The value is encrypted when stored in Database Migration
|
|
84
|
+
// Required. The username that Database Migration Service will use to connect
|
|
85
|
+
// to the database. The value is encrypted when stored in Database Migration
|
|
86
|
+
// Service.
|
|
82
87
|
string username = 3 [(google.api.field_behavior) = REQUIRED];
|
|
83
88
|
|
|
84
|
-
// Required. Input only. The password for the user that Database Migration
|
|
85
|
-
// connect to the database. This field is not
|
|
86
|
-
// value is encrypted when stored in Database
|
|
89
|
+
// Required. Input only. The password for the user that Database Migration
|
|
90
|
+
// Service will be using to connect to the database. This field is not
|
|
91
|
+
// returned on request, and the value is encrypted when stored in Database
|
|
92
|
+
// Migration Service.
|
|
87
93
|
string password = 4 [
|
|
88
94
|
(google.api.field_behavior) = INPUT_ONLY,
|
|
89
95
|
(google.api.field_behavior) = REQUIRED
|
|
@@ -100,6 +106,16 @@ message MySqlConnectionProfile {
|
|
|
100
106
|
string cloud_sql_id = 7;
|
|
101
107
|
}
|
|
102
108
|
|
|
109
|
+
enum NetworkArchitecture {
|
|
110
|
+
NETWORK_ARCHITECTURE_UNSPECIFIED = 0;
|
|
111
|
+
|
|
112
|
+
// Instance is in Cloud SQL's old producer network architecture.
|
|
113
|
+
NETWORK_ARCHITECTURE_OLD_CSQL_PRODUCER = 1;
|
|
114
|
+
|
|
115
|
+
// Instance is in Cloud SQL's new producer network architecture.
|
|
116
|
+
NETWORK_ARCHITECTURE_NEW_CSQL_PRODUCER = 2;
|
|
117
|
+
}
|
|
118
|
+
|
|
103
119
|
// Specifies connection parameters required specifically for PostgreSQL
|
|
104
120
|
// databases.
|
|
105
121
|
message PostgreSqlConnectionProfile {
|
|
@@ -109,13 +125,15 @@ message PostgreSqlConnectionProfile {
|
|
|
109
125
|
// Required. The network port of the source PostgreSQL database.
|
|
110
126
|
int32 port = 2 [(google.api.field_behavior) = REQUIRED];
|
|
111
127
|
|
|
112
|
-
// Required. The username that Database Migration Service will use to connect
|
|
113
|
-
// database. The value is encrypted when stored in Database Migration
|
|
128
|
+
// Required. The username that Database Migration Service will use to connect
|
|
129
|
+
// to the database. The value is encrypted when stored in Database Migration
|
|
130
|
+
// Service.
|
|
114
131
|
string username = 3 [(google.api.field_behavior) = REQUIRED];
|
|
115
132
|
|
|
116
|
-
// Required. Input only. The password for the user that Database Migration
|
|
117
|
-
// connect to the database. This field is not
|
|
118
|
-
// value is encrypted when stored in Database
|
|
133
|
+
// Required. Input only. The password for the user that Database Migration
|
|
134
|
+
// Service will be using to connect to the database. This field is not
|
|
135
|
+
// returned on request, and the value is encrypted when stored in Database
|
|
136
|
+
// Migration Service.
|
|
119
137
|
string password = 4 [
|
|
120
138
|
(google.api.field_behavior) = INPUT_ONLY,
|
|
121
139
|
(google.api.field_behavior) = REQUIRED
|
|
@@ -130,12 +148,70 @@ message PostgreSqlConnectionProfile {
|
|
|
130
148
|
// If the source is a Cloud SQL database, use this field to
|
|
131
149
|
// provide the Cloud SQL instance ID of the source.
|
|
132
150
|
string cloud_sql_id = 7;
|
|
151
|
+
|
|
152
|
+
// Output only. If the source is a Cloud SQL database, this field indicates
|
|
153
|
+
// the network architecture it's associated with.
|
|
154
|
+
NetworkArchitecture network_architecture = 8
|
|
155
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
156
|
+
|
|
157
|
+
// Connectivity options used to establish a connection to the database server.
|
|
158
|
+
oneof connectivity {
|
|
159
|
+
// Static ip connectivity data (default, no additional details needed).
|
|
160
|
+
StaticIpConnectivity static_ip_connectivity = 100;
|
|
161
|
+
|
|
162
|
+
// Private service connect connectivity.
|
|
163
|
+
PrivateServiceConnectConnectivity private_service_connect_connectivity =
|
|
164
|
+
101;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// Specifies connection parameters required specifically for Oracle
|
|
169
|
+
// databases.
|
|
170
|
+
message OracleConnectionProfile {
|
|
171
|
+
// Required. The IP or hostname of the source Oracle database.
|
|
172
|
+
string host = 1 [(google.api.field_behavior) = REQUIRED];
|
|
173
|
+
|
|
174
|
+
// Required. The network port of the source Oracle database.
|
|
175
|
+
int32 port = 2 [(google.api.field_behavior) = REQUIRED];
|
|
176
|
+
|
|
177
|
+
// Required. The username that Database Migration Service will use to connect
|
|
178
|
+
// to the database. The value is encrypted when stored in Database Migration
|
|
179
|
+
// Service.
|
|
180
|
+
string username = 3 [(google.api.field_behavior) = REQUIRED];
|
|
181
|
+
|
|
182
|
+
// Required. Input only. The password for the user that Database Migration
|
|
183
|
+
// Service will be using to connect to the database. This field is not
|
|
184
|
+
// returned on request, and the value is encrypted when stored in Database
|
|
185
|
+
// Migration Service.
|
|
186
|
+
string password = 4 [
|
|
187
|
+
(google.api.field_behavior) = INPUT_ONLY,
|
|
188
|
+
(google.api.field_behavior) = REQUIRED
|
|
189
|
+
];
|
|
190
|
+
|
|
191
|
+
// Output only. Indicates whether a new password is included in the request.
|
|
192
|
+
bool password_set = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
193
|
+
|
|
194
|
+
// Required. Database service for the Oracle connection.
|
|
195
|
+
string database_service = 6 [(google.api.field_behavior) = REQUIRED];
|
|
196
|
+
|
|
197
|
+
// Connectivity options used to establish a connection to the database server.
|
|
198
|
+
oneof connectivity {
|
|
199
|
+
// Static Service IP connectivity.
|
|
200
|
+
StaticServiceIpConnectivity static_service_ip_connectivity = 100;
|
|
201
|
+
|
|
202
|
+
// Forward SSH tunnel connectivity.
|
|
203
|
+
ForwardSshTunnelConnectivity forward_ssh_connectivity = 101;
|
|
204
|
+
|
|
205
|
+
// Private connectivity.
|
|
206
|
+
PrivateConnectivity private_connectivity = 102;
|
|
207
|
+
}
|
|
133
208
|
}
|
|
134
209
|
|
|
135
210
|
// Specifies required connection parameters, and, optionally, the parameters
|
|
136
211
|
// required to create a Cloud SQL destination database instance.
|
|
137
212
|
message CloudSqlConnectionProfile {
|
|
138
|
-
// Output only. The Cloud SQL instance ID that this connection profile is
|
|
213
|
+
// Output only. The Cloud SQL instance ID that this connection profile is
|
|
214
|
+
// associated with.
|
|
139
215
|
string cloud_sql_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
140
216
|
|
|
141
217
|
// Immutable. Metadata used to create the destination Cloud SQL database.
|
|
@@ -146,6 +222,22 @@ message CloudSqlConnectionProfile {
|
|
|
146
222
|
|
|
147
223
|
// Output only. The Cloud SQL database instance's public IP.
|
|
148
224
|
string public_ip = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
225
|
+
|
|
226
|
+
// Output only. The Cloud SQL database instance's additional (outgoing) public
|
|
227
|
+
// IP. Used when the Cloud SQL database availability type is REGIONAL (i.e.
|
|
228
|
+
// multiple zones / highly available).
|
|
229
|
+
string additional_public_ip = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// Specifies required connection parameters, and the parameters
|
|
233
|
+
// required to create an AlloyDB destination cluster.
|
|
234
|
+
message AlloyDbConnectionProfile {
|
|
235
|
+
// Required. The AlloyDB cluster ID that this connection profile is associated
|
|
236
|
+
// with.
|
|
237
|
+
string cluster_id = 1 [(google.api.field_behavior) = REQUIRED];
|
|
238
|
+
|
|
239
|
+
// Immutable. Metadata used to create the destination AlloyDB cluster.
|
|
240
|
+
AlloyDbSettings settings = 2 [(google.api.field_behavior) = IMMUTABLE];
|
|
149
241
|
}
|
|
150
242
|
|
|
151
243
|
// An entry for an Access Control list.
|
|
@@ -161,7 +253,8 @@ message SqlAclEntry {
|
|
|
161
253
|
google.protobuf.Timestamp expire_time = 10;
|
|
162
254
|
|
|
163
255
|
// Input only. The time-to-leave of this access control entry.
|
|
164
|
-
google.protobuf.Duration ttl = 11
|
|
256
|
+
google.protobuf.Duration ttl = 11
|
|
257
|
+
[(google.api.field_behavior) = INPUT_ONLY];
|
|
165
258
|
}
|
|
166
259
|
|
|
167
260
|
// A label to identify this entry.
|
|
@@ -179,6 +272,14 @@ message SqlIpConfig {
|
|
|
179
272
|
// be updated, but it cannot be removed after it is set.
|
|
180
273
|
string private_network = 2;
|
|
181
274
|
|
|
275
|
+
// Optional. The name of the allocated IP address range for the private IP
|
|
276
|
+
// Cloud SQL instance. This name refers to an already allocated IP range
|
|
277
|
+
// address. If set, the instance IP address will be created in the allocated
|
|
278
|
+
// range. Note that this IP address range can't be modified after the instance
|
|
279
|
+
// is created. If you change the VPC when configuring connectivity settings
|
|
280
|
+
// for the migration job, this field is not relevant.
|
|
281
|
+
string allocated_ip_range = 5 [(google.api.field_behavior) = OPTIONAL];
|
|
282
|
+
|
|
182
283
|
// Whether SSL connections over IP should be enforced or not.
|
|
183
284
|
google.protobuf.BoolValue require_ssl = 3;
|
|
184
285
|
|
|
@@ -243,6 +344,21 @@ message CloudSqlSettings {
|
|
|
243
344
|
|
|
244
345
|
// PostgreSQL 13.
|
|
245
346
|
POSTGRES_13 = 8;
|
|
347
|
+
|
|
348
|
+
// PostgreSQL 14.
|
|
349
|
+
POSTGRES_14 = 17;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
// The availability type of the given Cloud SQL instance.
|
|
353
|
+
enum SqlAvailabilityType {
|
|
354
|
+
// This is an unknown Availability type.
|
|
355
|
+
SQL_AVAILABILITY_TYPE_UNSPECIFIED = 0;
|
|
356
|
+
|
|
357
|
+
// Zonal availablility instance.
|
|
358
|
+
ZONAL = 1;
|
|
359
|
+
|
|
360
|
+
// Regional availability instance.
|
|
361
|
+
REGIONAL = 2;
|
|
246
362
|
}
|
|
247
363
|
|
|
248
364
|
// The database engine type and version.
|
|
@@ -301,10 +417,15 @@ message CloudSqlSettings {
|
|
|
301
417
|
// The minimum (and default) size is 10GB.
|
|
302
418
|
google.protobuf.Int64Value data_disk_size_gb = 10;
|
|
303
419
|
|
|
304
|
-
// The Google Cloud Platform zone where your Cloud SQL
|
|
420
|
+
// The Google Cloud Platform zone where your Cloud SQL database instance is
|
|
305
421
|
// located.
|
|
306
422
|
string zone = 11;
|
|
307
423
|
|
|
424
|
+
// Optional. The Google Cloud Platform zone where the failover Cloud SQL
|
|
425
|
+
// database instance is located. Used when the Cloud SQL database availability
|
|
426
|
+
// type is REGIONAL (i.e. multiple zones / highly available).
|
|
427
|
+
string secondary_zone = 18 [(google.api.field_behavior) = OPTIONAL];
|
|
428
|
+
|
|
308
429
|
// The Database Migration Service source connection profile ID,
|
|
309
430
|
// in the format:
|
|
310
431
|
// `projects/my_project_name/locations/us-central1/connectionProfiles/connection_profile_ID`
|
|
@@ -318,14 +439,115 @@ message CloudSqlSettings {
|
|
|
318
439
|
|
|
319
440
|
// The Cloud SQL default instance level collation.
|
|
320
441
|
string collation = 15;
|
|
442
|
+
|
|
443
|
+
// The KMS key name used for the csql instance.
|
|
444
|
+
string cmek_key_name = 16;
|
|
445
|
+
|
|
446
|
+
// Optional. Availability type. Potential values:
|
|
447
|
+
// * `ZONAL`: The instance serves data from only one zone. Outages in that
|
|
448
|
+
// zone affect data availability.
|
|
449
|
+
// * `REGIONAL`: The instance can serve data from more than one zone in a
|
|
450
|
+
// region (it is highly available).
|
|
451
|
+
SqlAvailabilityType availability_type = 17
|
|
452
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
321
453
|
}
|
|
322
454
|
|
|
323
|
-
//
|
|
324
|
-
|
|
325
|
-
//
|
|
326
|
-
//
|
|
327
|
-
message
|
|
455
|
+
// Settings for creating an AlloyDB cluster.
|
|
456
|
+
message AlloyDbSettings {
|
|
457
|
+
// The username/password for a database user. Used for specifying initial
|
|
458
|
+
// users at cluster creation time.
|
|
459
|
+
message UserPassword {
|
|
460
|
+
// The database username.
|
|
461
|
+
string user = 1;
|
|
462
|
+
|
|
463
|
+
// The initial password for the user.
|
|
464
|
+
string password = 2;
|
|
465
|
+
|
|
466
|
+
// Output only. Indicates if the initial_user.password field has been set.
|
|
467
|
+
bool password_set = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
// Settings for the cluster's primary instance
|
|
471
|
+
message PrimaryInstanceSettings {
|
|
472
|
+
// MachineConfig describes the configuration of a machine.
|
|
473
|
+
message MachineConfig {
|
|
474
|
+
// The number of CPU's in the VM instance.
|
|
475
|
+
int32 cpu_count = 1;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
// Required. The ID of the AlloyDB primary instance. The ID must satisfy the
|
|
479
|
+
// regex expression "[a-z0-9-]+".
|
|
480
|
+
string id = 1 [(google.api.field_behavior) = REQUIRED];
|
|
481
|
+
|
|
482
|
+
// Configuration for the machines that host the underlying
|
|
483
|
+
// database engine.
|
|
484
|
+
MachineConfig machine_config = 2;
|
|
485
|
+
|
|
486
|
+
// Database flags to pass to AlloyDB when DMS is creating the AlloyDB
|
|
487
|
+
// cluster and instances. See the AlloyDB documentation for how these can be
|
|
488
|
+
// used.
|
|
489
|
+
map<string, string> database_flags = 6;
|
|
490
|
+
|
|
491
|
+
// Labels for the AlloyDB primary instance created by DMS. An object
|
|
492
|
+
// containing a list of 'key', 'value' pairs.
|
|
493
|
+
map<string, string> labels = 7;
|
|
494
|
+
|
|
495
|
+
// Output only. The private IP address for the Instance.
|
|
496
|
+
// This is the connection endpoint for an end-user application.
|
|
497
|
+
string private_ip = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
498
|
+
}
|
|
499
|
+
|
|
500
|
+
// EncryptionConfig describes the encryption config of a cluster that is
|
|
501
|
+
// encrypted with a CMEK (customer-managed encryption key).
|
|
502
|
+
message EncryptionConfig {
|
|
503
|
+
// The fully-qualified resource name of the KMS key.
|
|
504
|
+
// Each Cloud KMS key is regionalized and has the following format:
|
|
505
|
+
// projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]
|
|
506
|
+
string kms_key_name = 1;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
// Required. Input only. Initial user to setup during cluster creation.
|
|
510
|
+
// Required.
|
|
511
|
+
UserPassword initial_user = 1 [
|
|
512
|
+
(google.api.field_behavior) = REQUIRED,
|
|
513
|
+
(google.api.field_behavior) = INPUT_ONLY
|
|
514
|
+
];
|
|
515
|
+
|
|
516
|
+
// Required. The resource link for the VPC network in which cluster resources
|
|
517
|
+
// are created and from which they are accessible via Private IP. The network
|
|
518
|
+
// must belong to the same project as the cluster. It is specified in the
|
|
519
|
+
// form: "projects/{project_number}/global/networks/{network_id}". This is
|
|
520
|
+
// required to create a cluster.
|
|
521
|
+
string vpc_network = 2 [(google.api.field_behavior) = REQUIRED];
|
|
522
|
+
|
|
523
|
+
// Labels for the AlloyDB cluster created by DMS. An object containing a list
|
|
524
|
+
// of 'key', 'value' pairs.
|
|
525
|
+
map<string, string> labels = 3;
|
|
526
|
+
|
|
527
|
+
PrimaryInstanceSettings primary_instance_settings = 4;
|
|
528
|
+
|
|
529
|
+
// Optional. The encryption config can be specified to encrypt the data disks
|
|
530
|
+
// and other persistent data resources of a cluster with a
|
|
531
|
+
// customer-managed encryption key (CMEK). When this field is not
|
|
532
|
+
// specified, the cluster will then use default encryption scheme to
|
|
533
|
+
// protect the user data.
|
|
534
|
+
EncryptionConfig encryption_config = 5
|
|
535
|
+
[(google.api.field_behavior) = OPTIONAL];
|
|
536
|
+
}
|
|
328
537
|
|
|
538
|
+
// The source database will allow incoming connections from the public IP of the
|
|
539
|
+
// destination database. You can retrieve the public IP of the Cloud SQL
|
|
540
|
+
// instance from the Cloud SQL console or using Cloud SQL APIs. No additional
|
|
541
|
+
// configuration is required.
|
|
542
|
+
message StaticIpConnectivity {}
|
|
543
|
+
|
|
544
|
+
// Private Service Connect connectivity
|
|
545
|
+
// (https://cloud.google.com/vpc/docs/private-service-connect#service-attachments)
|
|
546
|
+
message PrivateServiceConnectConnectivity {
|
|
547
|
+
// Required. A service attachment that exposes a database, and has the
|
|
548
|
+
// following format:
|
|
549
|
+
// projects/{project}/regions/{region}/serviceAttachments/{service_attachment_name}
|
|
550
|
+
string service_attachment = 1 [(google.api.field_behavior) = REQUIRED];
|
|
329
551
|
}
|
|
330
552
|
|
|
331
553
|
// The details needed to configure a reverse SSH tunnel between the source and
|
|
@@ -335,12 +557,12 @@ message StaticIpConnectivity {
|
|
|
335
557
|
// to produce the script that will help set up the reverse SSH tunnel, and to
|
|
336
558
|
// set up the VPC peering between the Cloud SQL private network and the VPC.
|
|
337
559
|
message ReverseSshConnectivity {
|
|
338
|
-
// Required. The IP of the virtual machine (Compute Engine) used as the
|
|
339
|
-
// for the SSH tunnel.
|
|
560
|
+
// Required. The IP of the virtual machine (Compute Engine) used as the
|
|
561
|
+
// bastion server for the SSH tunnel.
|
|
340
562
|
string vm_ip = 1 [(google.api.field_behavior) = REQUIRED];
|
|
341
563
|
|
|
342
|
-
// Required. The forwarding port of the virtual machine (Compute Engine) used
|
|
343
|
-
// bastion server for the SSH tunnel.
|
|
564
|
+
// Required. The forwarding port of the virtual machine (Compute Engine) used
|
|
565
|
+
// as the bastion server for the SSH tunnel.
|
|
344
566
|
int32 vm_port = 2 [(google.api.field_behavior) = REQUIRED];
|
|
345
567
|
|
|
346
568
|
// The name of the virtual machine (Compute Engine) used as the bastion server
|
|
@@ -359,6 +581,35 @@ message VpcPeeringConnectivity {
|
|
|
359
581
|
string vpc = 1;
|
|
360
582
|
}
|
|
361
583
|
|
|
584
|
+
// Forward SSH Tunnel connectivity.
|
|
585
|
+
message ForwardSshTunnelConnectivity {
|
|
586
|
+
// Required. Hostname for the SSH tunnel.
|
|
587
|
+
string hostname = 1 [(google.api.field_behavior) = REQUIRED];
|
|
588
|
+
|
|
589
|
+
// Required. Username for the SSH tunnel.
|
|
590
|
+
string username = 2 [(google.api.field_behavior) = REQUIRED];
|
|
591
|
+
|
|
592
|
+
// Port for the SSH tunnel, default value is 22.
|
|
593
|
+
int32 port = 3;
|
|
594
|
+
|
|
595
|
+
oneof authentication_method {
|
|
596
|
+
// Input only. SSH password.
|
|
597
|
+
string password = 100 [(google.api.field_behavior) = INPUT_ONLY];
|
|
598
|
+
|
|
599
|
+
// Input only. SSH private key.
|
|
600
|
+
string private_key = 101 [(google.api.field_behavior) = INPUT_ONLY];
|
|
601
|
+
}
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
// Static IP address connectivity configured on service project.
|
|
605
|
+
message StaticServiceIpConnectivity {}
|
|
606
|
+
|
|
607
|
+
// Private Connectivity.
|
|
608
|
+
message PrivateConnectivity {
|
|
609
|
+
// Required. The resource name (URI) of the private connection.
|
|
610
|
+
string private_connection = 1 [(google.api.field_behavior) = REQUIRED];
|
|
611
|
+
}
|
|
612
|
+
|
|
362
613
|
// A message defining the database engine and provider.
|
|
363
614
|
message DatabaseType {
|
|
364
615
|
// The database provider.
|
|
@@ -459,19 +710,36 @@ message MigrationJob {
|
|
|
459
710
|
CONTINUOUS = 2;
|
|
460
711
|
}
|
|
461
712
|
|
|
713
|
+
// Dump flag definition.
|
|
714
|
+
message DumpFlag {
|
|
715
|
+
// The name of the flag
|
|
716
|
+
string name = 1;
|
|
717
|
+
|
|
718
|
+
// The value of the flag.
|
|
719
|
+
string value = 2;
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
// Dump flags definition.
|
|
723
|
+
message DumpFlags {
|
|
724
|
+
// The flags for the initial dump.
|
|
725
|
+
repeated DumpFlag dump_flags = 1;
|
|
726
|
+
}
|
|
727
|
+
|
|
462
728
|
// The name (URI) of this migration job resource, in the form of:
|
|
463
|
-
// projects/{project}/locations/{location}/
|
|
729
|
+
// projects/{project}/locations/{location}/migrationJobs/{migrationJob}.
|
|
464
730
|
string name = 1;
|
|
465
731
|
|
|
466
732
|
// Output only. The timestamp when the migration job resource was created.
|
|
467
733
|
// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
|
|
468
734
|
// Example: "2014-10-02T15:01:23.045123456Z".
|
|
469
|
-
google.protobuf.Timestamp create_time = 2
|
|
735
|
+
google.protobuf.Timestamp create_time = 2
|
|
736
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
470
737
|
|
|
471
|
-
// Output only. The timestamp when the migration job resource was last
|
|
472
|
-
// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
|
|
738
|
+
// Output only. The timestamp when the migration job resource was last
|
|
739
|
+
// updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
|
|
473
740
|
// Example: "2014-10-02T15:01:23.045123456Z".
|
|
474
|
-
google.protobuf.Timestamp update_time = 3
|
|
741
|
+
google.protobuf.Timestamp update_time = 3
|
|
742
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
475
743
|
|
|
476
744
|
// The resource labels for migration job to use to annotate any related
|
|
477
745
|
// underlying resources such as Compute Engine VMs. An object containing a
|
|
@@ -494,8 +762,13 @@ message MigrationJob {
|
|
|
494
762
|
|
|
495
763
|
// The path to the dump file in Google Cloud Storage,
|
|
496
764
|
// in the format: (gs://[BUCKET_NAME]/[OBJECT_NAME]).
|
|
765
|
+
// This field and the "dump_flags" field are mutually exclusive.
|
|
497
766
|
string dump_path = 9;
|
|
498
767
|
|
|
768
|
+
// The initial dump flags.
|
|
769
|
+
// This field and the "dump_path" field are mutually exclusive.
|
|
770
|
+
DumpFlags dump_flags = 17;
|
|
771
|
+
|
|
499
772
|
// Required. The resource name (URI) of the source connection profile.
|
|
500
773
|
string source = 10 [(google.api.field_behavior) = REQUIRED];
|
|
501
774
|
|
|
@@ -515,9 +788,11 @@ message MigrationJob {
|
|
|
515
788
|
StaticIpConnectivity static_ip_connectivity = 103;
|
|
516
789
|
}
|
|
517
790
|
|
|
518
|
-
// Output only. The duration of the migration job (in seconds). A duration in
|
|
519
|
-
// with up to nine fractional digits, terminated by 's'. Example:
|
|
520
|
-
|
|
791
|
+
// Output only. The duration of the migration job (in seconds). A duration in
|
|
792
|
+
// seconds with up to nine fractional digits, terminated by 's'. Example:
|
|
793
|
+
// "3.5s".
|
|
794
|
+
google.protobuf.Duration duration = 12
|
|
795
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
521
796
|
|
|
522
797
|
// Output only. The error details in case of state FAILED.
|
|
523
798
|
google.rpc.Status error = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
@@ -528,8 +803,42 @@ message MigrationJob {
|
|
|
528
803
|
// The database engine type and provider of the destination.
|
|
529
804
|
DatabaseType destination_database = 15;
|
|
530
805
|
|
|
531
|
-
// Output only. If the migration job is completed, the time when it was
|
|
532
|
-
|
|
806
|
+
// Output only. If the migration job is completed, the time when it was
|
|
807
|
+
// completed.
|
|
808
|
+
google.protobuf.Timestamp end_time = 16
|
|
809
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
810
|
+
|
|
811
|
+
// The conversion workspace used by the migration.
|
|
812
|
+
ConversionWorkspaceInfo conversion_workspace = 18;
|
|
813
|
+
|
|
814
|
+
// This field can be used to select the entities to migrate as part of
|
|
815
|
+
// the migration job. It uses AIP-160 notation to select a subset of the
|
|
816
|
+
// entities configured on the associated conversion-workspace. This field
|
|
817
|
+
// should not be set on migration-jobs that are not associated with a
|
|
818
|
+
// conversion workspace.
|
|
819
|
+
string filter = 20;
|
|
820
|
+
|
|
821
|
+
// The CMEK (customer-managed encryption key) fully qualified key name used
|
|
822
|
+
// for the migration job.
|
|
823
|
+
// This field supports all migration jobs types except for:
|
|
824
|
+
// * Mysql to Mysql (use the cmek field in the cloudsql connection profile
|
|
825
|
+
// instead).
|
|
826
|
+
// * PostrgeSQL to PostgreSQL (use the cmek field in the cloudsql
|
|
827
|
+
// connection profile instead).
|
|
828
|
+
// * PostgreSQL to AlloyDB (use the kms_key_name field in the alloydb
|
|
829
|
+
// connection profile instead).
|
|
830
|
+
// Each Cloud CMEK key has the following format:
|
|
831
|
+
// projects/[PROJECT]/locations/[REGION]/keyRings/[RING]/cryptoKeys/[KEY_NAME]
|
|
832
|
+
string cmek_key_name = 21;
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
// A conversion workspace's version.
|
|
836
|
+
message ConversionWorkspaceInfo {
|
|
837
|
+
// The resource name (URI) of the conversion workspace.
|
|
838
|
+
string name = 1;
|
|
839
|
+
|
|
840
|
+
// The commit ID of the conversion workspace.
|
|
841
|
+
string commit_id = 2;
|
|
533
842
|
}
|
|
534
843
|
|
|
535
844
|
// A connection profile definition.
|
|
@@ -567,18 +876,20 @@ message ConnectionProfile {
|
|
|
567
876
|
}
|
|
568
877
|
|
|
569
878
|
// The name of this connection profile resource in the form of
|
|
570
|
-
// projects/{project}/locations/{location}/
|
|
879
|
+
// projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
|
|
571
880
|
string name = 1;
|
|
572
881
|
|
|
573
882
|
// Output only. The timestamp when the resource was created.
|
|
574
883
|
// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
|
|
575
884
|
// Example: "2014-10-02T15:01:23.045123456Z".
|
|
576
|
-
google.protobuf.Timestamp create_time = 2
|
|
885
|
+
google.protobuf.Timestamp create_time = 2
|
|
886
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
577
887
|
|
|
578
888
|
// Output only. The timestamp when the resource was last updated.
|
|
579
889
|
// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
|
|
580
890
|
// Example: "2014-10-02T15:01:23.045123456Z".
|
|
581
|
-
google.protobuf.Timestamp update_time = 3
|
|
891
|
+
google.protobuf.Timestamp update_time = 3
|
|
892
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
582
893
|
|
|
583
894
|
// The resource labels for connection profile to use to annotate any related
|
|
584
895
|
// underlying resources such as Compute Engine VMs. An object containing a
|
|
@@ -601,8 +912,14 @@ message ConnectionProfile {
|
|
|
601
912
|
// A PostgreSQL database connection profile.
|
|
602
913
|
PostgreSqlConnectionProfile postgresql = 101;
|
|
603
914
|
|
|
915
|
+
// An Oracle database connection profile.
|
|
916
|
+
OracleConnectionProfile oracle = 104;
|
|
917
|
+
|
|
604
918
|
// A CloudSQL database connection profile.
|
|
605
919
|
CloudSqlConnectionProfile cloudsql = 102;
|
|
920
|
+
|
|
921
|
+
// An AlloyDB cluster connection profile.
|
|
922
|
+
AlloyDbConnectionProfile alloydb = 105;
|
|
606
923
|
}
|
|
607
924
|
|
|
608
925
|
// Output only. The error details in case of state FAILED.
|
|
@@ -678,12 +995,30 @@ message MigrationJobVerificationError {
|
|
|
678
995
|
|
|
679
996
|
// Migration is already running at the time of restart request.
|
|
680
997
|
CANT_RESTART_RUNNING_MIGRATION = 21;
|
|
998
|
+
|
|
999
|
+
// The source has tables with limited support.
|
|
1000
|
+
// E.g. PostgreSQL tables without primary keys.
|
|
1001
|
+
TABLES_WITH_LIMITED_SUPPORT = 24;
|
|
1002
|
+
|
|
1003
|
+
// The source uses an unsupported locale.
|
|
1004
|
+
UNSUPPORTED_DATABASE_LOCALE = 25;
|
|
1005
|
+
|
|
1006
|
+
// The source uses an unsupported Foreign Data Wrapper configuration.
|
|
1007
|
+
UNSUPPORTED_DATABASE_FDW_CONFIG = 26;
|
|
1008
|
+
|
|
1009
|
+
// There was an underlying RDBMS error.
|
|
1010
|
+
ERROR_RDBMS = 27;
|
|
1011
|
+
|
|
1012
|
+
// The source DB size in Bytes exceeds a certain threshold. The migration
|
|
1013
|
+
// might require an increase of quota, or might not be supported.
|
|
1014
|
+
SOURCE_SIZE_EXCEEDS_THRESHOLD = 28;
|
|
681
1015
|
}
|
|
682
1016
|
|
|
683
1017
|
// Output only. An instance of ErrorCode specifying the error that occurred.
|
|
684
1018
|
ErrorCode error_code = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
685
1019
|
|
|
686
|
-
// Output only. A formatted message with further details about the error and a
|
|
1020
|
+
// Output only. A formatted message with further details about the error and a
|
|
1021
|
+
// CTA.
|
|
687
1022
|
string error_message = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
688
1023
|
|
|
689
1024
|
// Output only. A specific detailed error message, if supplied by the engine.
|
|
@@ -700,6 +1035,9 @@ enum DatabaseEngine {
|
|
|
700
1035
|
|
|
701
1036
|
// The source engine is PostgreSQL.
|
|
702
1037
|
POSTGRESQL = 2;
|
|
1038
|
+
|
|
1039
|
+
// The source engine is Oracle.
|
|
1040
|
+
ORACLE = 4;
|
|
703
1041
|
}
|
|
704
1042
|
|
|
705
1043
|
// The database providers.
|
|
@@ -712,4 +1050,90 @@ enum DatabaseProvider {
|
|
|
712
1050
|
|
|
713
1051
|
// RDS runs the database.
|
|
714
1052
|
RDS = 2;
|
|
1053
|
+
|
|
1054
|
+
// Amazon Aurora.
|
|
1055
|
+
AURORA = 3;
|
|
1056
|
+
|
|
1057
|
+
// AlloyDB.
|
|
1058
|
+
ALLOYDB = 4;
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
// The PrivateConnection resource is used to establish private connectivity
|
|
1062
|
+
// with the customer's network.
|
|
1063
|
+
message PrivateConnection {
|
|
1064
|
+
option (google.api.resource) = {
|
|
1065
|
+
type: "datamigration.googleapis.com/PrivateConnection"
|
|
1066
|
+
pattern: "projects/{project}/locations/{location}/privateConnections/{private_connection}"
|
|
1067
|
+
};
|
|
1068
|
+
|
|
1069
|
+
// Private Connection state.
|
|
1070
|
+
enum State {
|
|
1071
|
+
STATE_UNSPECIFIED = 0;
|
|
1072
|
+
|
|
1073
|
+
// The private connection is in creation state - creating resources.
|
|
1074
|
+
CREATING = 1;
|
|
1075
|
+
|
|
1076
|
+
// The private connection has been created with all of its resources.
|
|
1077
|
+
CREATED = 2;
|
|
1078
|
+
|
|
1079
|
+
// The private connection creation has failed.
|
|
1080
|
+
FAILED = 3;
|
|
1081
|
+
|
|
1082
|
+
// The private connection is being deleted.
|
|
1083
|
+
DELETING = 4;
|
|
1084
|
+
|
|
1085
|
+
// Delete request has failed, resource is in invalid state.
|
|
1086
|
+
FAILED_TO_DELETE = 5;
|
|
1087
|
+
|
|
1088
|
+
// The private connection has been deleted.
|
|
1089
|
+
DELETED = 6;
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
// The name of the resource.
|
|
1093
|
+
string name = 1;
|
|
1094
|
+
|
|
1095
|
+
// Output only. The create time of the resource.
|
|
1096
|
+
google.protobuf.Timestamp create_time = 2
|
|
1097
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
1098
|
+
|
|
1099
|
+
// Output only. The last update time of the resource.
|
|
1100
|
+
google.protobuf.Timestamp update_time = 3
|
|
1101
|
+
[(google.api.field_behavior) = OUTPUT_ONLY];
|
|
1102
|
+
|
|
1103
|
+
// The resource labels for private connections to use to annotate any related
|
|
1104
|
+
// underlying resources such as Compute Engine VMs. An object containing a
|
|
1105
|
+
// list of "key": "value" pairs.
|
|
1106
|
+
//
|
|
1107
|
+
// Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
|
|
1108
|
+
map<string, string> labels = 4;
|
|
1109
|
+
|
|
1110
|
+
// The private connection display name.
|
|
1111
|
+
string display_name = 5;
|
|
1112
|
+
|
|
1113
|
+
// Output only. The state of the private connection.
|
|
1114
|
+
State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
1115
|
+
|
|
1116
|
+
// Output only. The error details in case of state FAILED.
|
|
1117
|
+
google.rpc.Status error = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
1118
|
+
|
|
1119
|
+
oneof connectivity {
|
|
1120
|
+
// VPC peering configuration.
|
|
1121
|
+
VpcPeeringConfig vpc_peering_config = 100;
|
|
1122
|
+
}
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1125
|
+
// The VPC peering configuration is used to create VPC peering with the
|
|
1126
|
+
// consumer's VPC.
|
|
1127
|
+
message VpcPeeringConfig {
|
|
1128
|
+
// Required. Fully qualified name of the VPC that Database Migration Service
|
|
1129
|
+
// will peer to.
|
|
1130
|
+
string vpc_name = 1 [
|
|
1131
|
+
(google.api.field_behavior) = REQUIRED,
|
|
1132
|
+
(google.api.resource_reference) = {
|
|
1133
|
+
type: "compute.googleapis.com/Networks"
|
|
1134
|
+
}
|
|
1135
|
+
];
|
|
1136
|
+
|
|
1137
|
+
// Required. A free subnet for peering. (CIDR of /29)
|
|
1138
|
+
string subnet = 2 [(google.api.field_behavior) = REQUIRED];
|
|
715
1139
|
}
|