public final OperationFuture<StartMigrationResponse, OperationMetadata> startMigrationAsync(
      MigratingVmName migratingVm) {
    StartMigrationRequest request =
        StartMigrationRequest.newBuilder()
            .setMigratingVm(migratingVm == null ? null : migratingVm.toString())
            .build();
    return startMigrationAsync(request);
  }
Starts migration for a VM. Starts the process of uploading data and creating snapshots, in
replication cycles scheduled by the policy.

<p>Sample code:

<pre>{@code
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (VmMigrationClient vmMigrationClient = VmMigrationClient.create()) {
  MigratingVmName migratingVm =
      MigratingVmName.of("[PROJECT]", "[LOCATION]", "[SOURCE]", "[MIGRATING_VM]");
  StartMigrationResponse response = vmMigrationClient.startMigrationAsync(migratingVm).get();
}
}</pre>

@param migratingVm Required. The name of the MigratingVm.
@throws com.google.api.gax.rpc.ApiException if the remote call fails
java-vmmigration/google-cloud-vmmigration/src/main/java/com/google/cloud/vmmigration/v1/VmMigrationClient.java