syntax = "proto3";

package kubevirt.synchronization;
option go_package = "v1";

service Synchronize {
  rpc SyncSourceMigrationStatus(VMIStatusRequest) returns (VMIStatusResponse) {}
  rpc SyncTargetMigrationStatus(VMIStatusRequest) returns (VMIStatusResponse) {}
  rpc CancelMigration(MigrationCancelRequest) returns (MigrationCancelResponse) {}
}

message VMI {
    bytes vmiJson = 1;
}

message VMIStatus {
  bytes vmiStatusJson = 1;
}

message VMIStatusRequest {
  string migrationID = 1;
  VMIStatus vmiStatus = 2;
}

message VMIStatusResponse {
  string message = 1;
}

message MigrationCancelRequest {
  string migrationUID = 1;
}

message MigrationCancelResponse {
  string message = 1;
}