-
Notifications
You must be signed in to change notification settings - Fork 22
/
data.proto
741 lines (570 loc) · 23 KB
/
data.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package google.events.cloud.clouddms.v1;
import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
import "google/rpc/status.proto";
option csharp_namespace = "Google.Events.Protobuf.Cloud.CloudDms.V1";
option php_namespace = "Google\\Events\\Cloud\\CloudDms\\V1";
option ruby_package = "Google::Events::Cloud::CloudDMS::V1";
// SSL configuration information.
message SslConfig {
// Specifies The kind of ssl configuration used.
enum SslType {
// Unspecified.
SSL_TYPE_UNSPECIFIED = 0;
// Only 'ca_certificate' specified.
SERVER_ONLY = 1;
// Both server ('ca_certificate'), and client ('client_key',
// 'client_certificate') specified.
SERVER_CLIENT = 2;
}
// Output only. The ssl config type according to 'client_key',
// 'client_certificate' and 'ca_certificate'.
SslType type = 1;
}
// Specifies connection parameters required specifically for MySQL databases.
message MySqlConnectionProfile {
// Required. The IP or hostname of the source MySQL database.
string host = 1;
// Required. The network port of the source MySQL database.
int32 port = 2;
// Required. The username that Database Migration Service will use to connect
// to the database. The value is encrypted when stored in Database Migration
// Service.
string username = 3;
// Output only. Indicates If this connection profile password is stored.
bool password_set = 5;
// SSL configuration for the destination to connect to the source database.
SslConfig ssl = 6;
// If the source is a Cloud SQL database, use this field to
// provide the Cloud SQL instance ID of the source.
string cloud_sql_id = 7;
}
// Specifies connection parameters required specifically for PostgreSQL
// databases.
message PostgreSqlConnectionProfile {
// Required. The IP or hostname of the source PostgreSQL database.
string host = 1;
// Required. The network port of the source PostgreSQL database.
int32 port = 2;
// Required. The username that Database Migration Service will use to connect
// to the database. The value is encrypted when stored in Database Migration
// Service.
string username = 3;
// Output only. Indicates If this connection profile password is stored.
bool password_set = 5;
// SSL configuration for the destination to connect to the source database.
SslConfig ssl = 6;
// If the source is a Cloud SQL database, use this field to
// provide the Cloud SQL instance ID of the source.
string cloud_sql_id = 7;
// Output only. If the source is a Cloud SQL database, this field indicates
// the network architecture it's associated with.
NetworkArchitecture network_architecture = 8;
}
// Specifies required connection parameters, and, optionally, the parameters
// required to create a Cloud SQL destination database instance.
message CloudSqlConnectionProfile {
// Output only. The Cloud SQL instance ID that this connection profile is
// associated with.
string cloud_sql_id = 1;
// Immutable. Metadata used to create the destination Cloud SQL database.
CloudSqlSettings settings = 2;
// Output only. The Cloud SQL database instance's private IP.
string private_ip = 3;
// Output only. The Cloud SQL database instance's public IP.
string public_ip = 4;
// Output only. The Cloud SQL database instance's additional (outgoing) public
// IP. Used when the Cloud SQL database availability type is REGIONAL (i.e.
// multiple zones / highly available).
string additional_public_ip = 5;
}
// Specifies required connection parameters, and the parameters
// required to create an AlloyDB destination cluster.
message AlloyDbConnectionProfile {
// Required. The AlloyDB cluster ID that this connection profile is associated
// with.
string cluster_id = 1;
// Immutable. Metadata used to create the destination AlloyDB cluster.
AlloyDbSettings settings = 2;
}
// An entry for an Access Control list.
message SqlAclEntry {
// The allowlisted value for the access control list.
string value = 1;
// The access control entry entry expiration.
oneof expiration {
// The time when this access control entry expires in
// [RFC 3339](https://tools.ietf.org/html/rfc3339) format, for example:
// `2012-11-15T16:19:00.094Z`.
google.protobuf.Timestamp expire_time = 10;
}
// A label to identify this entry.
string label = 3;
}
// IP Management configuration.
message SqlIpConfig {
// Whether the instance should be assigned an IPv4 address or not.
google.protobuf.BoolValue enable_ipv4 = 1;
// The resource link for the VPC network from which the Cloud SQL instance is
// accessible for private IP. For example,
// `projects/myProject/global/networks/default`. This setting can
// be updated, but it cannot be removed after it is set.
string private_network = 2;
// Whether SSL connections over IP should be enforced or not.
google.protobuf.BoolValue require_ssl = 3;
// The list of external networks that are allowed to connect to the instance
// using the IP. See
// https://en.wikipedia.org/wiki/CIDR_notation#CIDR_notation, also known as
// 'slash' notation (e.g. `192.168.100.0/24`).
repeated SqlAclEntry authorized_networks = 4;
}
// Settings for creating a Cloud SQL database instance.
message CloudSqlSettings {
// Specifies when the instance should be activated.
enum SqlActivationPolicy {
// unspecified policy.
SQL_ACTIVATION_POLICY_UNSPECIFIED = 0;
// The instance is always up and running.
ALWAYS = 1;
// The instance should never spin up.
NEVER = 2;
}
// The storage options for Cloud SQL databases.
enum SqlDataDiskType {
// Unspecified.
SQL_DATA_DISK_TYPE_UNSPECIFIED = 0;
// SSD disk.
PD_SSD = 1;
// HDD disk.
PD_HDD = 2;
}
// The database engine type and version.
enum SqlDatabaseVersion {
// Unspecified version.
SQL_DATABASE_VERSION_UNSPECIFIED = 0;
// MySQL 5.6.
MYSQL_5_6 = 1;
// MySQL 5.7.
MYSQL_5_7 = 2;
// PostgreSQL 9.6.
POSTGRES_9_6 = 3;
// PostgreSQL 11.
POSTGRES_11 = 4;
// PostgreSQL 10.
POSTGRES_10 = 5;
// MySQL 8.0.
MYSQL_8_0 = 6;
// PostgreSQL 12.
POSTGRES_12 = 7;
// PostgreSQL 13.
POSTGRES_13 = 8;
// PostgreSQL 14.
POSTGRES_14 = 17;
}
// The availability type of the given Cloud SQL instance.
enum SqlAvailabilityType {
// This is an unknown Availability type.
SQL_AVAILABILITY_TYPE_UNSPECIFIED = 0;
// Zonal availablility instance.
ZONAL = 1;
// Regional availability instance.
REGIONAL = 2;
}
// The database engine type and version.
SqlDatabaseVersion database_version = 1;
// The resource labels for a Cloud SQL instance to use to annotate any related
// underlying resources such as Compute Engine VMs.
// An object containing a list of "key": "value" pairs.
//
// Example: `{ "name": "wrench", "mass": "18kg", "count": "3" }`.
map<string, string> user_labels = 2;
// The tier (or machine type) for this instance, for example:
// `db-n1-standard-1` (MySQL instances) or
// `db-custom-1-3840` (PostgreSQL instances).
// For more information, see
// [Cloud SQL Instance
// Settings](https://cloud.google.com/sql/docs/mysql/instance-settings).
string tier = 3;
// The maximum size to which storage capacity can be automatically increased.
// The default value is 0, which specifies that there is no limit.
google.protobuf.Int64Value storage_auto_resize_limit = 4;
// The activation policy specifies when the instance is activated; it is
// applicable only when the instance state is 'RUNNABLE'. Valid values:
//
// 'ALWAYS': The instance is on, and remains so even in
// the absence of connection requests.
//
// `NEVER`: The instance is off; it is not activated, even if a
// connection request arrives.
SqlActivationPolicy activation_policy = 5;
// The settings for IP Management. This allows to enable or disable the
// instance IP and manage which external networks can connect to the instance.
// The IPv4 address cannot be disabled.
SqlIpConfig ip_config = 6;
// [default: ON] If you enable this setting, Cloud SQL checks your available
// storage every 30 seconds. If the available storage falls below a threshold
// size, Cloud SQL automatically adds additional storage capacity. If the
// available storage repeatedly falls below the threshold size, Cloud SQL
// continues to add storage until it reaches the maximum of 30 TB.
google.protobuf.BoolValue auto_storage_increase = 7;
// The database flags passed to the Cloud SQL instance at startup.
// An object containing a list of "key": value pairs.
// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
map<string, string> database_flags = 8;
// The type of storage: `PD_SSD` (default) or `PD_HDD`.
SqlDataDiskType data_disk_type = 9;
// The storage capacity available to the database, in GB.
// The minimum (and default) size is 10GB.
google.protobuf.Int64Value data_disk_size_gb = 10;
// The Google Cloud Platform zone where your Cloud SQL database instance is
// located.
string zone = 11;
// Optional. The Google Cloud Platform zone where the failover Cloud SQL
// database instance is located. Used when the Cloud SQL database availability
// type is REGIONAL (i.e. multiple zones / highly available).
string secondary_zone = 18;
// The Database Migration Service source connection profile ID,
// in the format:
// `projects/my_project_name/locations/us-central1/connectionProfiles/connection_profile_ID`
string source_id = 12;
// Output only. Indicates If this connection profile root password is stored.
bool root_password_set = 14;
// The Cloud SQL default instance level collation.
string collation = 15;
// The KMS key name used for the csql instance.
string cmek_key_name = 16;
// Optional. Availability type. Potential values:
// * `ZONAL`: The instance serves data from only one zone. Outages in that
// zone affect data availability.
// * `REGIONAL`: The instance can serve data from more than one zone in a
// region (it is highly available).
SqlAvailabilityType availability_type = 17;
}
// Settings for creating an AlloyDB cluster.
message AlloyDbSettings {
// The username/password for a database user. Used for specifying initial
// users at cluster creation time.
message UserPassword {
// The database username.
string user = 1;
// Output only. Indicates if the initial_user.password field has been set.
bool password_set = 3;
}
// Settings for the cluster's primary instance
message PrimaryInstanceSettings {
// MachineConfig describes the configuration of a machine.
message MachineConfig {
// The number of CPU's in the VM instance.
int32 cpu_count = 1;
}
// Required. The ID of the AlloyDB primary instance. The ID must satisfy the
// regex expression "[a-z0-9-]+".
string id = 1;
// Configuration for the machines that host the underlying
// database engine.
MachineConfig machine_config = 2;
// Database flags to pass to AlloyDB when DMS is creating the AlloyDB
// cluster and instances. See the AlloyDB documentation for how these can be
// used.
map<string, string> database_flags = 6;
// Labels for the AlloyDB primary instance created by DMS. An object
// containing a list of 'key', 'value' pairs.
map<string, string> labels = 7;
// Output only. The private IP address for the Instance.
// This is the connection endpoint for an end-user application.
string private_ip = 8;
}
// Required. The resource link for the VPC network in which cluster resources
// are created and from which they are accessible via Private IP. The network
// must belong to the same project as the cluster. It is specified in the
// form: "projects/{project_number}/global/networks/{network_id}". This is
// required to create a cluster.
string vpc_network = 2;
// Labels for the AlloyDB cluster created by DMS. An object containing a list
// of 'key', 'value' pairs.
map<string, string> labels = 3;
PrimaryInstanceSettings primary_instance_settings = 4;
}
// The source database will allow incoming connections from the destination
// database's public IP. You can retrieve the Cloud SQL instance's public IP
// from the Cloud SQL console or using Cloud SQL APIs. No additional
// configuration is required.
message StaticIpConnectivity {}
// The details needed to configure a reverse SSH tunnel between the source and
// destination databases. These details will be used when calling the
// generateSshScript method (see
// https://cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.migrationJobs/generateSshScript)
// to produce the script that will help set up the reverse SSH tunnel, and to
// set up the VPC peering between the Cloud SQL private network and the VPC.
message ReverseSshConnectivity {
// Required. The IP of the virtual machine (Compute Engine) used as the
// bastion server for the SSH tunnel.
string vm_ip = 1;
// Required. The forwarding port of the virtual machine (Compute Engine) used
// as the bastion server for the SSH tunnel.
int32 vm_port = 2;
// The name of the virtual machine (Compute Engine) used as the bastion server
// for the SSH tunnel.
string vm = 3;
// The name of the VPC to peer with the Cloud SQL private network.
string vpc = 4;
}
// The details of the VPC where the source database is located in Google Cloud.
// We will use this information to set up the VPC peering connection between
// Cloud SQL and this VPC.
message VpcPeeringConnectivity {
// The name of the VPC network to peer with the Cloud SQL private network.
string vpc = 1;
}
// A message defining the database engine and provider.
message DatabaseType {
// The database provider.
DatabaseProvider provider = 1;
// The database engine.
DatabaseEngine engine = 2;
}
// Represents a Database Migration Service migration job object.
message MigrationJob {
// Dump flag definition.
message DumpFlag {
// The name of the flag
string name = 1;
// The value of the flag.
string value = 2;
}
// Dump flags definition.
message DumpFlags {
// The flags for the initial dump.
repeated DumpFlag dump_flags = 1;
}
// The current migration job states.
enum State {
// The state of the migration job is unknown.
STATE_UNSPECIFIED = 0;
// The migration job is down for maintenance.
MAINTENANCE = 1;
// The migration job is in draft mode and no resources are created.
DRAFT = 2;
// The migration job is being created.
CREATING = 3;
// The migration job is created and not started.
NOT_STARTED = 4;
// The migration job is running.
RUNNING = 5;
// The migration job failed.
FAILED = 6;
// The migration job has been completed.
COMPLETED = 7;
// The migration job is being deleted.
DELETING = 8;
// The migration job is being stopped.
STOPPING = 9;
// The migration job is currently stopped.
STOPPED = 10;
// The migration job has been deleted.
DELETED = 11;
// The migration job is being updated.
UPDATING = 12;
// The migration job is starting.
STARTING = 13;
// The migration job is restarting.
RESTARTING = 14;
// The migration job is resuming.
RESUMING = 15;
}
// The current migration job phase.
enum Phase {
// The phase of the migration job is unknown.
PHASE_UNSPECIFIED = 0;
// The migration job is in the full dump phase.
FULL_DUMP = 1;
// The migration job is CDC phase.
CDC = 2;
// The migration job is running the promote phase.
PROMOTE_IN_PROGRESS = 3;
// Only RDS flow - waiting for source writes to stop
WAITING_FOR_SOURCE_WRITES_TO_STOP = 4;
// Only RDS flow - the sources writes stopped, waiting for dump to begin
PREPARING_THE_DUMP = 5;
}
// The type of migration job (one-time or continuous).
enum Type {
// The type of the migration job is unknown.
TYPE_UNSPECIFIED = 0;
// The migration job is a one time migration.
ONE_TIME = 1;
// The migration job is a continuous migration.
CONTINUOUS = 2;
}
// The name (URI) of this migration job resource, in the form of:
// projects/{project}/locations/{location}/migrationJobs/{migrationJob}.
string name = 1;
// Output only. The timestamp when the migration job resource was created.
// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
// Example: "2014-10-02T15:01:23.045123456Z".
google.protobuf.Timestamp create_time = 2;
// Output only. The timestamp when the migration job resource was last
// updated. A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
// Example: "2014-10-02T15:01:23.045123456Z".
google.protobuf.Timestamp update_time = 3;
// The resource labels for migration job to use to annotate any related
// underlying resources such as Compute Engine VMs. An object containing a
// list of "key": "value" pairs.
//
// Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
map<string, string> labels = 4;
// The migration job display name.
string display_name = 5;
// The current migration job state.
State state = 6;
// Output only. The current migration job phase.
Phase phase = 7;
// Required. The migration job type.
Type type = 8;
// The path to the dump file in Google Cloud Storage,
// in the format: (gs://[BUCKET_NAME]/[OBJECT_NAME]).
// This field and the "dump_flags" field are mutually exclusive.
string dump_path = 9;
// The initial dump flags.
// This field and the "dump_path" field are mutually exclusive.
DumpFlags dump_flags = 17;
// Required. The resource name (URI) of the source connection profile.
string source = 10;
// Required. The resource name (URI) of the destination connection profile.
string destination = 11;
// The connectivity method.
oneof connectivity {
// The details needed to communicate to the source over Reverse SSH
// tunnel connectivity.
ReverseSshConnectivity reverse_ssh_connectivity = 101;
// The details of the VPC network that the source database is located in.
VpcPeeringConnectivity vpc_peering_connectivity = 102;
// static ip connectivity data (default, no additional details needed).
StaticIpConnectivity static_ip_connectivity = 103;
}
// Output only. The duration of the migration job (in seconds). A duration in
// seconds with up to nine fractional digits, terminated by 's'. Example:
// "3.5s".
google.protobuf.Duration duration = 12;
// Output only. The error details in case of state FAILED.
google.rpc.Status error = 13;
// The database engine type and provider of the source.
DatabaseType source_database = 14;
// The database engine type and provider of the destination.
DatabaseType destination_database = 15;
// Output only. If the migration job is completed, the time when it was
// completed.
google.protobuf.Timestamp end_time = 16;
}
// A connection profile definition.
message ConnectionProfile {
// The current connection profile state (e.g. DRAFT, READY, or FAILED).
enum State {
// The state of the connection profile is unknown.
STATE_UNSPECIFIED = 0;
// The connection profile is in draft mode and fully editable.
DRAFT = 1;
// The connection profile is being created.
CREATING = 2;
// The connection profile is ready.
READY = 3;
// The connection profile is being updated.
UPDATING = 4;
// The connection profile is being deleted.
DELETING = 5;
// The connection profile has been deleted.
DELETED = 6;
// The last action on the connection profile failed.
FAILED = 7;
}
// The name of this connection profile resource in the form of
// projects/{project}/locations/{location}/connectionProfiles/{connectionProfile}.
string name = 1;
// Output only. The timestamp when the resource was created.
// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
// Example: "2014-10-02T15:01:23.045123456Z".
google.protobuf.Timestamp create_time = 2;
// Output only. The timestamp when the resource was last updated.
// A timestamp in RFC3339 UTC "Zulu" format, accurate to nanoseconds.
// Example: "2014-10-02T15:01:23.045123456Z".
google.protobuf.Timestamp update_time = 3;
// The resource labels for connection profile to use to annotate any related
// underlying resources such as Compute Engine VMs. An object containing a
// list of "key": "value" pairs.
//
// Example: `{ "name": "wrench", "mass": "1.3kg", "count": "3" }`.
map<string, string> labels = 4;
// The current connection profile state (e.g. DRAFT, READY, or FAILED).
State state = 5;
// The connection profile display name.
string display_name = 6;
// The connection profile definition.
oneof connection_profile {
// A MySQL database connection profile.
MySqlConnectionProfile mysql = 100;
// A PostgreSQL database connection profile.
PostgreSqlConnectionProfile postgresql = 101;
// A CloudSQL database connection profile.
CloudSqlConnectionProfile cloudsql = 102;
// An AlloyDB cluster connection profile.
AlloyDbConnectionProfile alloydb = 105;
}
// Output only. The error details in case of state FAILED.
google.rpc.Status error = 7;
// The database provider.
DatabaseProvider provider = 8;
}
enum NetworkArchitecture {
NETWORK_ARCHITECTURE_UNSPECIFIED = 0;
// Instance is in Cloud SQL's old producer network architecture.
NETWORK_ARCHITECTURE_OLD_CSQL_PRODUCER = 1;
// Instance is in Cloud SQL's new producer network architecture.
NETWORK_ARCHITECTURE_NEW_CSQL_PRODUCER = 2;
}
// The database engine types.
enum DatabaseEngine {
// The source database engine of the migration job is unknown.
DATABASE_ENGINE_UNSPECIFIED = 0;
// The source engine is MySQL.
MYSQL = 1;
// The source engine is PostgreSQL.
POSTGRESQL = 2;
}
// The database providers.
enum DatabaseProvider {
// The database provider is unknown.
DATABASE_PROVIDER_UNSPECIFIED = 0;
// CloudSQL runs the database.
CLOUDSQL = 1;
// RDS runs the database.
RDS = 2;
// Amazon Aurora.
AURORA = 3;
// AlloyDB.
ALLOYDB = 4;
}
// The data within all ConnectionProfile events.
message ConnectionProfileEventData {
// Optional. The ConnectionProfile event payload. Unset for deletion events.
optional ConnectionProfile payload = 1;
}
// The data within all MigrationJob events.
message MigrationJobEventData {
// Optional. The MigrationJob event payload. Unset for deletion events.
optional MigrationJob payload = 1;
}