VM Migration API . projects . locations . sources . migratingVms

Instance Methods

cloneJobs()

Returns the cloneJobs Resource.

cutoverJobs()

Returns the cutoverJobs Resource.

replicationCycles()

Returns the replicationCycles Resource.

close()

Close httplib2 connections.

create(parent, body=None, migratingVmId=None, requestId=None, x__xgafv=None)

Creates a new MigratingVm in a given Source.

delete(name, x__xgafv=None)

Deletes a single MigratingVm.

finalizeMigration(migratingVm, body=None, x__xgafv=None)

Marks a migration as completed, deleting migration resources that are no longer being used. Only applicable after cutover is done.

get(name, view=None, x__xgafv=None)

Gets details of a single MigratingVm.

list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, view=None, x__xgafv=None)

Lists MigratingVms in a given Source.

list_next()

Retrieves the next page of results.

patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)

Updates the parameters of a single MigratingVm.

pauseMigration(migratingVm, body=None, x__xgafv=None)

Pauses a migration for a VM. If cycle tasks are running they will be cancelled, preserving source task data. Further replication cycles will not be triggered while the VM is paused.

resumeMigration(migratingVm, body=None, x__xgafv=None)

Resumes a migration for a VM. When called on a paused migration, will start the process of uploading data and creating snapshots; when called on a completed cut-over migration, will update the migration to active state and start the process of uploading data and creating snapshots.

startMigration(migratingVm, body=None, x__xgafv=None)

Starts migration for a VM. Starts the process of uploading data and creating snapshots, in replication cycles scheduled by the policy.

Method Details

close()
Close httplib2 connections.
create(parent, body=None, migratingVmId=None, requestId=None, x__xgafv=None)
Creates a new MigratingVm in a given Source.

Args:
  parent: string, Required. The MigratingVm's parent. (required)
  body: object, The request body.
    The object takes the form of:

{ # MigratingVm describes the VM that will be migrated from a Source environment and its replication state.
  "awsSourceVmDetails": { # Represent the source AWS VM details. # Output only. Details of the VM from an AWS source.
    "architecture": "A String", # Output only. The VM architecture.
    "committedStorageBytes": "A String", # Output only. The total size of the disks being migrated in bytes.
    "disks": [ # Output only. The disks attached to the source VM.
      { # The details of an AWS instance disk.
        "diskNumber": 42, # Output only. The ordinal number of the disk.
        "sizeGb": "A String", # Output only. Size in GB.
        "volumeId": "A String", # Output only. AWS volume ID.
      },
    ],
    "firmware": "A String", # Output only. The firmware type of the source VM.
    "vmCapabilitiesInfo": { # Migrating VM source information about the VM capabilities needed for some Compute Engine features. # Output only. Information about VM capabilities needed for some Compute Engine features.
      "lastOsCapabilitiesUpdateTime": "A String", # Output only. The last time OS capabilities list was updated.
      "osCapabilities": [ # Output only. Unordered list. List of certain VM OS capabilities needed for some Compute Engine features.
        "A String",
      ],
    },
  },
  "azureSourceVmDetails": { # Represent the source Azure VM details. # Output only. Details of the VM from an Azure source.
    "architecture": "A String", # Output only. The VM architecture.
    "committedStorageBytes": "A String", # Output only. The total size of the disks being migrated in bytes.
    "disks": [ # Output only. The disks attached to the source VM.
      { # The details of an Azure VM disk.
        "diskId": "A String", # Output only. Azure disk ID.
        "diskNumber": 42, # Output only. The ordinal number of the disk.
        "sizeGb": "A String", # Output only. Size in GB.
      },
    ],
    "firmware": "A String", # Output only. The firmware type of the source VM.
    "vmCapabilitiesInfo": { # Migrating VM source information about the VM capabilities needed for some Compute Engine features. # Output only. Information about VM capabilities needed for some Compute Engine features.
      "lastOsCapabilitiesUpdateTime": "A String", # Output only. The last time OS capabilities list was updated.
      "osCapabilities": [ # Output only. Unordered list. List of certain VM OS capabilities needed for some Compute Engine features.
        "A String",
      ],
    },
  },
  "computeEngineDisksTargetDefaults": { # ComputeEngineDisksTargetDefaults is a collection of details for creating Persistent Disks in a target Compute Engine project. # Details of the target Persistent Disks in Compute Engine.
    "disks": [ # The details of each Persistent Disk to create.
      { # Details for creation of a Persistent Disk.
        "additionalLabels": { # A map of labels to associate with the Persistent Disk.
          "a_key": "A String",
        },
        "diskName": "A String", # Optional. The name of the Persistent Disk to create.
        "diskType": "A String", # The disk type to use.
        "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the disk.
          "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
        },
        "sourceDiskNumber": 42, # Required. The ordinal number of the source VM disk.
        "vmAttachmentDetails": { # Details for attachment of the disk to a VM. # Optional. Details for attachment of the disk to a VM. Used when the disk is set to be attached to a target VM.
          "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.
        },
      },
    ],
    "disksTargetDefaults": { # Details for a disk only migration. # Details of the disk only migration target.
    },
    "targetProject": "A String", # The full path of the resource of type TargetProject which represents the Compute Engine project in which to create the Persistent Disks.
    "vmTargetDefaults": { # Details for creation of a VM that migrated data disks will be attached to. # Details of the VM migration target.
      "additionalLicenses": [ # Optional. Additional licenses to assign to the VM.
        "A String",
      ],
      "bootDiskDefaults": { # BootDiskDefaults hold information about the boot disk of a VM. # Optional. Details of the boot disk of the VM.
        "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.
        "diskName": "A String", # Optional. The name of the disk.
        "diskType": "A String", # Optional. The type of disk provisioning to use for the VM.
        "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the boot disk.
          "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
        },
        "image": { # Contains details about the image source used to create the disk. # The image to use when creating the disk.
          "sourceImage": "A String", # Required. The Image resource used when creating the disk.
        },
      },
      "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Optional. Compute instance scheduling information (if empty default is used).
        "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
        "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
          { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
            "key": "A String", # The label key of Node resource to reference.
            "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
            "values": [ # Corresponds to the label values of Node resource.
              "A String",
            ],
          },
        ],
        "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
        "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
      },
      "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled.
      "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled.
      "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the VM.
        "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
      },
      "hostname": "A String", # Optional. The hostname to assign to the VM.
      "labels": { # Optional. A map of labels to associate with the VM.
        "a_key": "A String",
      },
      "machineType": "A String", # Required. The machine type to create the VM with.
      "machineTypeSeries": "A String", # Optional. The machine type series to create the VM with. For presentation only.
      "metadata": { # Optional. The metadata key/value pairs to assign to the VM.
        "a_key": "A String",
      },
      "networkInterfaces": [ # Optional. NICs to attach to the VM.
        { # NetworkInterface represents a NIC of a VM.
          "externalIp": "A String", # Optional. The external IP to define in the NIC.
          "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
          "network": "A String", # The network to connect the NIC to.
          "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
          "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
        },
      ],
      "networkTags": [ # Optional. A list of network tags to associate with the VM.
        "A String",
      ],
      "secureBoot": True or False, # Optional. Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
      "serviceAccount": "A String", # Optional. The service account to associate the VM with.
      "vmName": "A String", # Required. The name of the VM to create.
    },
    "zone": "A String", # The zone in which to create the Persistent Disks.
  },
  "computeEngineTargetDefaults": { # ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project. # Details of the target VM in Compute Engine.
    "additionalLicenses": [ # Additional licenses to assign to the VM.
      "A String",
    ],
    "appliedLicense": { # AppliedLicense holds the license data returned by adaptation module report. # Output only. The OS license returned from the adaptation module report.
      "osLicense": "A String", # The OS license returned from the adaptation module's report.
      "type": "A String", # The license type that was used in OS adaptation.
    },
    "bootConversion": "A String", # Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.
    "bootOption": "A String", # Output only. The VM Boot Option, as set in the source VM.
    "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Compute instance scheduling information (if empty default is used).
      "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
      "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
        { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
          "key": "A String", # The label key of Node resource to reference.
          "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
          "values": [ # Corresponds to the label values of Node resource.
            "A String",
          ],
        },
      ],
      "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
      "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
    },
    "diskType": "A String", # The disk type to use in the VM.
    "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled.
    "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled. This can be set to true only if the VM boot option is EFI.
    "encryption": { # Encryption message describes the details of the applied encryption. # Optional. Immutable. The encryption to apply to the VM disks.
      "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
    },
    "hostname": "A String", # The hostname to assign to the VM.
    "labels": { # A map of labels to associate with the VM.
      "a_key": "A String",
    },
    "licenseType": "A String", # The license type to use in OS adaptation.
    "machineType": "A String", # The machine type to create the VM with.
    "machineTypeSeries": "A String", # The machine type series to create the VM with.
    "metadata": { # The metadata key/value pairs to assign to the VM.
      "a_key": "A String",
    },
    "networkInterfaces": [ # List of NICs connected to this VM.
      { # NetworkInterface represents a NIC of a VM.
        "externalIp": "A String", # Optional. The external IP to define in the NIC.
        "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
        "network": "A String", # The network to connect the NIC to.
        "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
        "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
      },
    ],
    "networkTags": [ # A list of network tags to associate with the VM.
      "A String",
    ],
    "secureBoot": True or False, # Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
    "serviceAccount": "A String", # The service account to associate the VM with.
    "targetProject": "A String", # The full path of the resource of type TargetProject which represents the Compute Engine project in which to create this VM.
    "vmName": "A String", # The name of the VM to create.
    "zone": "A String", # The zone in which to create the VM.
  },
  "createTime": "A String", # Output only. The time the migrating VM was created (this refers to this resource and not to the time it was installed in the source).
  "currentSyncInfo": { # ReplicationCycle contains information about the current replication cycle status. # Output only. Details of the current running replication cycle.
    "cycleNumber": 42, # The cycle's ordinal number.
    "endTime": "A String", # The time the replication cycle has ended.
    "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
    },
    "name": "A String", # The identifier of the ReplicationCycle.
    "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
    "startTime": "A String", # The time the replication cycle has started.
    "state": "A String", # State of the ReplicationCycle.
    "steps": [ # The cycle's steps list representing its progress.
      { # CycleStep holds information about a step progress.
        "endTime": "A String", # The time the cycle step has ended.
        "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
        },
        "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
        },
        "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
          "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
          "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
          "replicatedBytes": "A String", # Replicated bytes in the step.
          "totalBytes": "A String", # Total bytes to be handled in the step.
        },
        "startTime": "A String", # The time the cycle step has started.
      },
    ],
    "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
    "warnings": [ # Output only. Warnings that occurred during the cycle.
      { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
        "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
          "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
          "message": "A String", # The localized error message in the above locale.
        },
        "code": "A String", # The warning code.
        "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
          { # Describes a URL link.
            "description": "A String", # Describes what the link offers.
            "url": "A String", # The URL of the link.
          },
        ],
        "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
          "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
          "message": "A String", # The localized error message in the above locale.
        },
        "warningTime": "A String", # The time the warning occurred.
      },
    ],
  },
  "cutoverForecast": { # CutoverForecast holds information about future CutoverJobs of a MigratingVm. # Output only. Provides details of future CutoverJobs of a MigratingVm. Set to empty when cutover forecast is unavailable.
    "estimatedCutoverJobDuration": "A String", # Output only. Estimation of the CutoverJob duration.
  },
  "description": "A String", # The description attached to the migrating VM by the user.
  "displayName": "A String", # The display name attached to the MigratingVm by the user.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the Migrating VM in case of an error in replication.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "group": "A String", # Output only. The group this migrating vm is included in, if any. The group is represented by the full path of the appropriate Group resource.
  "labels": { # The labels of the migrating VM.
    "a_key": "A String",
  },
  "lastReplicationCycle": { # ReplicationCycle contains information about the current replication cycle status. # Output only. Details of the last replication cycle. This will be updated whenever a replication cycle is finished and is not to be confused with last_sync which is only updated on successful replication cycles.
    "cycleNumber": 42, # The cycle's ordinal number.
    "endTime": "A String", # The time the replication cycle has ended.
    "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
    },
    "name": "A String", # The identifier of the ReplicationCycle.
    "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
    "startTime": "A String", # The time the replication cycle has started.
    "state": "A String", # State of the ReplicationCycle.
    "steps": [ # The cycle's steps list representing its progress.
      { # CycleStep holds information about a step progress.
        "endTime": "A String", # The time the cycle step has ended.
        "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
        },
        "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
        },
        "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
          "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
          "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
          "replicatedBytes": "A String", # Replicated bytes in the step.
          "totalBytes": "A String", # Total bytes to be handled in the step.
        },
        "startTime": "A String", # The time the cycle step has started.
      },
    ],
    "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
    "warnings": [ # Output only. Warnings that occurred during the cycle.
      { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
        "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
          "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
          "message": "A String", # The localized error message in the above locale.
        },
        "code": "A String", # The warning code.
        "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
          { # Describes a URL link.
            "description": "A String", # Describes what the link offers.
            "url": "A String", # The URL of the link.
          },
        ],
        "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
          "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
          "message": "A String", # The localized error message in the above locale.
        },
        "warningTime": "A String", # The time the warning occurred.
      },
    ],
  },
  "lastSync": { # ReplicationSync contain information about the last replica sync to the cloud. # Output only. The most updated snapshot created time in the source that finished replication.
    "lastSyncTime": "A String", # The most updated snapshot created time in the source that finished replication.
  },
  "name": "A String", # Output only. The identifier of the MigratingVm.
  "policy": { # A policy for scheduling replications. # The replication schedule policy.
    "idleDuration": "A String", # The idle duration between replication stages.
    "skipOsAdaptation": True or False, # A flag to indicate whether to skip OS adaptation during the replication sync. OS adaptation is a process where the VM's operating system undergoes changes and adaptations to fully function on Compute Engine.
  },
  "recentCloneJobs": [ # Output only. The recent clone jobs performed on the migrating VM. This field holds the vm's last completed clone job and the vm's running clone job, if one exists. Note: To have this field populated you need to explicitly request it via the "view" parameter of the Get/List request.
    { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
      "computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine.
        "disks": [ # The details of each created Persistent Disk.
          { # Details of a created Persistent Disk.
            "diskUri": "A String", # The URI of the Persistent Disk.
            "sourceDiskNumber": 42, # The ordinal number of the source VM disk.
          },
        ],
        "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target.
        },
        "vmTargetDetails": { # Details for the VM created VM as part of disks migration. # Details for the VM the migrated data disks are attached to.
          "vmUri": "A String", # Output only. The URI of the Compute Engine VM.
        },
      },
      "computeEngineTargetDetails": { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
        "additionalLicenses": [ # Additional licenses to assign to the VM.
          "A String",
        ],
        "appliedLicense": { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
          "osLicense": "A String", # The OS license returned from the adaptation module's report.
          "type": "A String", # The license type that was used in OS adaptation.
        },
        "bootConversion": "A String", # Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.
        "bootOption": "A String", # The VM Boot Option, as set in the source VM.
        "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Compute instance scheduling information (if empty default is used).
          "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
          "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
            { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
              "key": "A String", # The label key of Node resource to reference.
              "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
              "values": [ # Corresponds to the label values of Node resource.
                "A String",
              ],
            },
          ],
          "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
          "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
        },
        "diskType": "A String", # The disk type to use in the VM.
        "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled.
        "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled.
        "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the VM disks.
          "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
        },
        "hostname": "A String", # The hostname to assign to the VM.
        "labels": { # A map of labels to associate with the VM.
          "a_key": "A String",
        },
        "licenseType": "A String", # The license type to use in OS adaptation.
        "machineType": "A String", # The machine type to create the VM with.
        "machineTypeSeries": "A String", # The machine type series to create the VM with.
        "metadata": { # The metadata key/value pairs to assign to the VM.
          "a_key": "A String",
        },
        "networkInterfaces": [ # List of NICs connected to this VM.
          { # NetworkInterface represents a NIC of a VM.
            "externalIp": "A String", # Optional. The external IP to define in the NIC.
            "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
            "network": "A String", # The network to connect the NIC to.
            "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
            "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
          },
        ],
        "networkTags": [ # A list of network tags to associate with the VM.
          "A String",
        ],
        "project": "A String", # The Google Cloud target project ID or project name.
        "secureBoot": True or False, # Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
        "serviceAccount": "A String", # The service account to associate the VM with.
        "vmName": "A String", # The name of the VM to create.
        "zone": "A String", # The zone in which to create the VM.
      },
      "createTime": "A String", # Output only. The time the clone job was created (as an API call, not when it was actually created in the target).
      "endTime": "A String", # Output only. The time the clone job was ended.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details for the errors that led to the Clone Job's state.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "name": "A String", # Output only. The name of the clone.
      "state": "A String", # Output only. State of the clone job.
      "stateTime": "A String", # Output only. The time the state was last updated.
      "steps": [ # Output only. The clone steps list representing its progress.
        { # CloneStep holds information about the clone step progress.
          "adaptingOs": { # AdaptingOSStep contains specific step details. # Adapting OS step.
          },
          "endTime": "A String", # The time the step has ended.
          "instantiatingMigratedVm": { # InstantiatingMigratedVMStep contains specific step details. # Instantiating migrated VM step.
          },
          "preparingVmDisks": { # PreparingVMDisksStep contains specific step details. # Preparing VM disks step.
          },
          "startTime": "A String", # The time the step has started.
        },
      ],
    },
  ],
  "recentCutoverJobs": [ # Output only. The recent cutover jobs performed on the migrating VM. This field holds the vm's last completed cutover job and the vm's running cutover job, if one exists. Note: To have this field populated you need to explicitly request it via the "view" parameter of the Get/List request.
    { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
      "computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine.
        "disks": [ # The details of each created Persistent Disk.
          { # Details of a created Persistent Disk.
            "diskUri": "A String", # The URI of the Persistent Disk.
            "sourceDiskNumber": 42, # The ordinal number of the source VM disk.
          },
        ],
        "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target.
        },
        "vmTargetDetails": { # Details for the VM created VM as part of disks migration. # Details for the VM the migrated data disks are attached to.
          "vmUri": "A String", # Output only. The URI of the Compute Engine VM.
        },
      },
      "computeEngineTargetDetails": { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
        "additionalLicenses": [ # Additional licenses to assign to the VM.
          "A String",
        ],
        "appliedLicense": { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
          "osLicense": "A String", # The OS license returned from the adaptation module's report.
          "type": "A String", # The license type that was used in OS adaptation.
        },
        "bootConversion": "A String", # Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.
        "bootOption": "A String", # The VM Boot Option, as set in the source VM.
        "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Compute instance scheduling information (if empty default is used).
          "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
          "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
            { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
              "key": "A String", # The label key of Node resource to reference.
              "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
              "values": [ # Corresponds to the label values of Node resource.
                "A String",
              ],
            },
          ],
          "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
          "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
        },
        "diskType": "A String", # The disk type to use in the VM.
        "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled.
        "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled.
        "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the VM disks.
          "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
        },
        "hostname": "A String", # The hostname to assign to the VM.
        "labels": { # A map of labels to associate with the VM.
          "a_key": "A String",
        },
        "licenseType": "A String", # The license type to use in OS adaptation.
        "machineType": "A String", # The machine type to create the VM with.
        "machineTypeSeries": "A String", # The machine type series to create the VM with.
        "metadata": { # The metadata key/value pairs to assign to the VM.
          "a_key": "A String",
        },
        "networkInterfaces": [ # List of NICs connected to this VM.
          { # NetworkInterface represents a NIC of a VM.
            "externalIp": "A String", # Optional. The external IP to define in the NIC.
            "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
            "network": "A String", # The network to connect the NIC to.
            "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
            "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
          },
        ],
        "networkTags": [ # A list of network tags to associate with the VM.
          "A String",
        ],
        "project": "A String", # The Google Cloud target project ID or project name.
        "secureBoot": True or False, # Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
        "serviceAccount": "A String", # The service account to associate the VM with.
        "vmName": "A String", # The name of the VM to create.
        "zone": "A String", # The zone in which to create the VM.
      },
      "createTime": "A String", # Output only. The time the cutover job was created (as an API call, not when it was actually created in the target).
      "endTime": "A String", # Output only. The time the cutover job had finished.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details for the errors that led to the Cutover Job's state.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "name": "A String", # Output only. The name of the cutover job.
      "progressPercent": 42, # Output only. The current progress in percentage of the cutover job.
      "state": "A String", # Output only. State of the cutover job.
      "stateMessage": "A String", # Output only. A message providing possible extra details about the current state.
      "stateTime": "A String", # Output only. The time the state was last updated.
      "steps": [ # Output only. The cutover steps list representing its progress.
        { # CutoverStep holds information about the cutover step progress.
          "endTime": "A String", # The time the step has ended.
          "finalSync": { # ReplicationCycle contains information about the current replication cycle status. # Final sync step.
            "cycleNumber": 42, # The cycle's ordinal number.
            "endTime": "A String", # The time the replication cycle has ended.
            "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
              "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
                {
                  "a_key": "", # Properties of the object. Contains field @type with type URL.
                },
              ],
              "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
            },
            "name": "A String", # The identifier of the ReplicationCycle.
            "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
            "startTime": "A String", # The time the replication cycle has started.
            "state": "A String", # State of the ReplicationCycle.
            "steps": [ # The cycle's steps list representing its progress.
              { # CycleStep holds information about a step progress.
                "endTime": "A String", # The time the cycle step has ended.
                "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
                },
                "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
                },
                "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
                  "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
                  "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
                  "replicatedBytes": "A String", # Replicated bytes in the step.
                  "totalBytes": "A String", # Total bytes to be handled in the step.
                },
                "startTime": "A String", # The time the cycle step has started.
              },
            ],
            "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
            "warnings": [ # Output only. Warnings that occurred during the cycle.
              { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
                "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
                  "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                  "message": "A String", # The localized error message in the above locale.
                },
                "code": "A String", # The warning code.
                "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
                  { # Describes a URL link.
                    "description": "A String", # Describes what the link offers.
                    "url": "A String", # The URL of the link.
                  },
                ],
                "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
                  "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                  "message": "A String", # The localized error message in the above locale.
                },
                "warningTime": "A String", # The time the warning occurred.
              },
            ],
          },
          "instantiatingMigratedVm": { # InstantiatingMigratedVMStep contains specific step details. # Instantiating migrated VM step.
          },
          "preparingVmDisks": { # PreparingVMDisksStep contains specific step details. # Preparing VM disks step.
          },
          "previousReplicationCycle": { # ReplicationCycle contains information about the current replication cycle status. # A replication cycle prior cutover step.
            "cycleNumber": 42, # The cycle's ordinal number.
            "endTime": "A String", # The time the replication cycle has ended.
            "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
              "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
                {
                  "a_key": "", # Properties of the object. Contains field @type with type URL.
                },
              ],
              "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
            },
            "name": "A String", # The identifier of the ReplicationCycle.
            "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
            "startTime": "A String", # The time the replication cycle has started.
            "state": "A String", # State of the ReplicationCycle.
            "steps": [ # The cycle's steps list representing its progress.
              { # CycleStep holds information about a step progress.
                "endTime": "A String", # The time the cycle step has ended.
                "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
                },
                "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
                },
                "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
                  "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
                  "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
                  "replicatedBytes": "A String", # Replicated bytes in the step.
                  "totalBytes": "A String", # Total bytes to be handled in the step.
                },
                "startTime": "A String", # The time the cycle step has started.
              },
            ],
            "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
            "warnings": [ # Output only. Warnings that occurred during the cycle.
              { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
                "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
                  "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                  "message": "A String", # The localized error message in the above locale.
                },
                "code": "A String", # The warning code.
                "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
                  { # Describes a URL link.
                    "description": "A String", # Describes what the link offers.
                    "url": "A String", # The URL of the link.
                  },
                ],
                "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
                  "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                  "message": "A String", # The localized error message in the above locale.
                },
                "warningTime": "A String", # The time the warning occurred.
              },
            ],
          },
          "shuttingDownSourceVm": { # ShuttingDownSourceVMStep contains specific step details. # Shutting down VM step.
          },
          "startTime": "A String", # The time the step has started.
        },
      ],
    },
  ],
  "sourceVmId": "A String", # The unique ID of the VM in the source. The VM's name in vSphere can be changed, so this is not the VM's name but rather its moRef id. This id is of the form vm-.
  "state": "A String", # Output only. State of the MigratingVm.
  "stateTime": "A String", # Output only. The last time the migrating VM state was updated.
  "updateTime": "A String", # Output only. The last time the migrating VM resource was updated.
  "vmwareSourceVmDetails": { # Represent the source Vmware VM details. # Output only. Details of the VM from a Vmware source.
    "architecture": "A String", # Output only. The VM architecture.
    "committedStorageBytes": "A String", # Output only. The total size of the disks being migrated in bytes.
    "disks": [ # Output only. The disks attached to the source VM.
      { # The details of a Vmware VM disk.
        "diskNumber": 42, # Output only. The ordinal number of the disk.
        "label": "A String", # Output only. The disk label.
        "sizeGb": "A String", # Output only. Size in GB.
      },
    ],
    "firmware": "A String", # Output only. The firmware type of the source VM.
    "vmCapabilitiesInfo": { # Migrating VM source information about the VM capabilities needed for some Compute Engine features. # Output only. Information about VM capabilities needed for some Compute Engine features.
      "lastOsCapabilitiesUpdateTime": "A String", # Output only. The last time OS capabilities list was updated.
      "osCapabilities": [ # Output only. Unordered list. List of certain VM OS capabilities needed for some Compute Engine features.
        "A String",
      ],
    },
  },
}

  migratingVmId: string, Required. The migratingVm identifier.
  requestId: string, A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
delete(name, x__xgafv=None)
Deletes a single MigratingVm.

Args:
  name: string, Required. The name of the MigratingVm. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
finalizeMigration(migratingVm, body=None, x__xgafv=None)
Marks a migration as completed, deleting migration resources that are no longer being used. Only applicable after cutover is done.

Args:
  migratingVm: string, Required. The name of the MigratingVm. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for 'FinalizeMigration' request.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
get(name, view=None, x__xgafv=None)
Gets details of a single MigratingVm.

Args:
  name: string, Required. The name of the MigratingVm. (required)
  view: string, Optional. The level of details of the migrating VM.
    Allowed values
      MIGRATING_VM_VIEW_UNSPECIFIED - View is unspecified. The API will fallback to the default value.
      MIGRATING_VM_VIEW_BASIC - Get the migrating VM basic details. The basic details do not include the recent clone jobs and recent cutover jobs lists.
      MIGRATING_VM_VIEW_FULL - Include everything.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # MigratingVm describes the VM that will be migrated from a Source environment and its replication state.
  "awsSourceVmDetails": { # Represent the source AWS VM details. # Output only. Details of the VM from an AWS source.
    "architecture": "A String", # Output only. The VM architecture.
    "committedStorageBytes": "A String", # Output only. The total size of the disks being migrated in bytes.
    "disks": [ # Output only. The disks attached to the source VM.
      { # The details of an AWS instance disk.
        "diskNumber": 42, # Output only. The ordinal number of the disk.
        "sizeGb": "A String", # Output only. Size in GB.
        "volumeId": "A String", # Output only. AWS volume ID.
      },
    ],
    "firmware": "A String", # Output only. The firmware type of the source VM.
    "vmCapabilitiesInfo": { # Migrating VM source information about the VM capabilities needed for some Compute Engine features. # Output only. Information about VM capabilities needed for some Compute Engine features.
      "lastOsCapabilitiesUpdateTime": "A String", # Output only. The last time OS capabilities list was updated.
      "osCapabilities": [ # Output only. Unordered list. List of certain VM OS capabilities needed for some Compute Engine features.
        "A String",
      ],
    },
  },
  "azureSourceVmDetails": { # Represent the source Azure VM details. # Output only. Details of the VM from an Azure source.
    "architecture": "A String", # Output only. The VM architecture.
    "committedStorageBytes": "A String", # Output only. The total size of the disks being migrated in bytes.
    "disks": [ # Output only. The disks attached to the source VM.
      { # The details of an Azure VM disk.
        "diskId": "A String", # Output only. Azure disk ID.
        "diskNumber": 42, # Output only. The ordinal number of the disk.
        "sizeGb": "A String", # Output only. Size in GB.
      },
    ],
    "firmware": "A String", # Output only. The firmware type of the source VM.
    "vmCapabilitiesInfo": { # Migrating VM source information about the VM capabilities needed for some Compute Engine features. # Output only. Information about VM capabilities needed for some Compute Engine features.
      "lastOsCapabilitiesUpdateTime": "A String", # Output only. The last time OS capabilities list was updated.
      "osCapabilities": [ # Output only. Unordered list. List of certain VM OS capabilities needed for some Compute Engine features.
        "A String",
      ],
    },
  },
  "computeEngineDisksTargetDefaults": { # ComputeEngineDisksTargetDefaults is a collection of details for creating Persistent Disks in a target Compute Engine project. # Details of the target Persistent Disks in Compute Engine.
    "disks": [ # The details of each Persistent Disk to create.
      { # Details for creation of a Persistent Disk.
        "additionalLabels": { # A map of labels to associate with the Persistent Disk.
          "a_key": "A String",
        },
        "diskName": "A String", # Optional. The name of the Persistent Disk to create.
        "diskType": "A String", # The disk type to use.
        "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the disk.
          "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
        },
        "sourceDiskNumber": 42, # Required. The ordinal number of the source VM disk.
        "vmAttachmentDetails": { # Details for attachment of the disk to a VM. # Optional. Details for attachment of the disk to a VM. Used when the disk is set to be attached to a target VM.
          "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.
        },
      },
    ],
    "disksTargetDefaults": { # Details for a disk only migration. # Details of the disk only migration target.
    },
    "targetProject": "A String", # The full path of the resource of type TargetProject which represents the Compute Engine project in which to create the Persistent Disks.
    "vmTargetDefaults": { # Details for creation of a VM that migrated data disks will be attached to. # Details of the VM migration target.
      "additionalLicenses": [ # Optional. Additional licenses to assign to the VM.
        "A String",
      ],
      "bootDiskDefaults": { # BootDiskDefaults hold information about the boot disk of a VM. # Optional. Details of the boot disk of the VM.
        "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.
        "diskName": "A String", # Optional. The name of the disk.
        "diskType": "A String", # Optional. The type of disk provisioning to use for the VM.
        "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the boot disk.
          "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
        },
        "image": { # Contains details about the image source used to create the disk. # The image to use when creating the disk.
          "sourceImage": "A String", # Required. The Image resource used when creating the disk.
        },
      },
      "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Optional. Compute instance scheduling information (if empty default is used).
        "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
        "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
          { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
            "key": "A String", # The label key of Node resource to reference.
            "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
            "values": [ # Corresponds to the label values of Node resource.
              "A String",
            ],
          },
        ],
        "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
        "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
      },
      "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled.
      "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled.
      "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the VM.
        "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
      },
      "hostname": "A String", # Optional. The hostname to assign to the VM.
      "labels": { # Optional. A map of labels to associate with the VM.
        "a_key": "A String",
      },
      "machineType": "A String", # Required. The machine type to create the VM with.
      "machineTypeSeries": "A String", # Optional. The machine type series to create the VM with. For presentation only.
      "metadata": { # Optional. The metadata key/value pairs to assign to the VM.
        "a_key": "A String",
      },
      "networkInterfaces": [ # Optional. NICs to attach to the VM.
        { # NetworkInterface represents a NIC of a VM.
          "externalIp": "A String", # Optional. The external IP to define in the NIC.
          "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
          "network": "A String", # The network to connect the NIC to.
          "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
          "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
        },
      ],
      "networkTags": [ # Optional. A list of network tags to associate with the VM.
        "A String",
      ],
      "secureBoot": True or False, # Optional. Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
      "serviceAccount": "A String", # Optional. The service account to associate the VM with.
      "vmName": "A String", # Required. The name of the VM to create.
    },
    "zone": "A String", # The zone in which to create the Persistent Disks.
  },
  "computeEngineTargetDefaults": { # ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project. # Details of the target VM in Compute Engine.
    "additionalLicenses": [ # Additional licenses to assign to the VM.
      "A String",
    ],
    "appliedLicense": { # AppliedLicense holds the license data returned by adaptation module report. # Output only. The OS license returned from the adaptation module report.
      "osLicense": "A String", # The OS license returned from the adaptation module's report.
      "type": "A String", # The license type that was used in OS adaptation.
    },
    "bootConversion": "A String", # Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.
    "bootOption": "A String", # Output only. The VM Boot Option, as set in the source VM.
    "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Compute instance scheduling information (if empty default is used).
      "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
      "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
        { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
          "key": "A String", # The label key of Node resource to reference.
          "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
          "values": [ # Corresponds to the label values of Node resource.
            "A String",
          ],
        },
      ],
      "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
      "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
    },
    "diskType": "A String", # The disk type to use in the VM.
    "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled.
    "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled. This can be set to true only if the VM boot option is EFI.
    "encryption": { # Encryption message describes the details of the applied encryption. # Optional. Immutable. The encryption to apply to the VM disks.
      "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
    },
    "hostname": "A String", # The hostname to assign to the VM.
    "labels": { # A map of labels to associate with the VM.
      "a_key": "A String",
    },
    "licenseType": "A String", # The license type to use in OS adaptation.
    "machineType": "A String", # The machine type to create the VM with.
    "machineTypeSeries": "A String", # The machine type series to create the VM with.
    "metadata": { # The metadata key/value pairs to assign to the VM.
      "a_key": "A String",
    },
    "networkInterfaces": [ # List of NICs connected to this VM.
      { # NetworkInterface represents a NIC of a VM.
        "externalIp": "A String", # Optional. The external IP to define in the NIC.
        "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
        "network": "A String", # The network to connect the NIC to.
        "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
        "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
      },
    ],
    "networkTags": [ # A list of network tags to associate with the VM.
      "A String",
    ],
    "secureBoot": True or False, # Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
    "serviceAccount": "A String", # The service account to associate the VM with.
    "targetProject": "A String", # The full path of the resource of type TargetProject which represents the Compute Engine project in which to create this VM.
    "vmName": "A String", # The name of the VM to create.
    "zone": "A String", # The zone in which to create the VM.
  },
  "createTime": "A String", # Output only. The time the migrating VM was created (this refers to this resource and not to the time it was installed in the source).
  "currentSyncInfo": { # ReplicationCycle contains information about the current replication cycle status. # Output only. Details of the current running replication cycle.
    "cycleNumber": 42, # The cycle's ordinal number.
    "endTime": "A String", # The time the replication cycle has ended.
    "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
    },
    "name": "A String", # The identifier of the ReplicationCycle.
    "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
    "startTime": "A String", # The time the replication cycle has started.
    "state": "A String", # State of the ReplicationCycle.
    "steps": [ # The cycle's steps list representing its progress.
      { # CycleStep holds information about a step progress.
        "endTime": "A String", # The time the cycle step has ended.
        "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
        },
        "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
        },
        "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
          "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
          "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
          "replicatedBytes": "A String", # Replicated bytes in the step.
          "totalBytes": "A String", # Total bytes to be handled in the step.
        },
        "startTime": "A String", # The time the cycle step has started.
      },
    ],
    "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
    "warnings": [ # Output only. Warnings that occurred during the cycle.
      { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
        "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
          "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
          "message": "A String", # The localized error message in the above locale.
        },
        "code": "A String", # The warning code.
        "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
          { # Describes a URL link.
            "description": "A String", # Describes what the link offers.
            "url": "A String", # The URL of the link.
          },
        ],
        "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
          "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
          "message": "A String", # The localized error message in the above locale.
        },
        "warningTime": "A String", # The time the warning occurred.
      },
    ],
  },
  "cutoverForecast": { # CutoverForecast holds information about future CutoverJobs of a MigratingVm. # Output only. Provides details of future CutoverJobs of a MigratingVm. Set to empty when cutover forecast is unavailable.
    "estimatedCutoverJobDuration": "A String", # Output only. Estimation of the CutoverJob duration.
  },
  "description": "A String", # The description attached to the migrating VM by the user.
  "displayName": "A String", # The display name attached to the MigratingVm by the user.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the Migrating VM in case of an error in replication.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "group": "A String", # Output only. The group this migrating vm is included in, if any. The group is represented by the full path of the appropriate Group resource.
  "labels": { # The labels of the migrating VM.
    "a_key": "A String",
  },
  "lastReplicationCycle": { # ReplicationCycle contains information about the current replication cycle status. # Output only. Details of the last replication cycle. This will be updated whenever a replication cycle is finished and is not to be confused with last_sync which is only updated on successful replication cycles.
    "cycleNumber": 42, # The cycle's ordinal number.
    "endTime": "A String", # The time the replication cycle has ended.
    "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
    },
    "name": "A String", # The identifier of the ReplicationCycle.
    "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
    "startTime": "A String", # The time the replication cycle has started.
    "state": "A String", # State of the ReplicationCycle.
    "steps": [ # The cycle's steps list representing its progress.
      { # CycleStep holds information about a step progress.
        "endTime": "A String", # The time the cycle step has ended.
        "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
        },
        "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
        },
        "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
          "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
          "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
          "replicatedBytes": "A String", # Replicated bytes in the step.
          "totalBytes": "A String", # Total bytes to be handled in the step.
        },
        "startTime": "A String", # The time the cycle step has started.
      },
    ],
    "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
    "warnings": [ # Output only. Warnings that occurred during the cycle.
      { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
        "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
          "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
          "message": "A String", # The localized error message in the above locale.
        },
        "code": "A String", # The warning code.
        "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
          { # Describes a URL link.
            "description": "A String", # Describes what the link offers.
            "url": "A String", # The URL of the link.
          },
        ],
        "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
          "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
          "message": "A String", # The localized error message in the above locale.
        },
        "warningTime": "A String", # The time the warning occurred.
      },
    ],
  },
  "lastSync": { # ReplicationSync contain information about the last replica sync to the cloud. # Output only. The most updated snapshot created time in the source that finished replication.
    "lastSyncTime": "A String", # The most updated snapshot created time in the source that finished replication.
  },
  "name": "A String", # Output only. The identifier of the MigratingVm.
  "policy": { # A policy for scheduling replications. # The replication schedule policy.
    "idleDuration": "A String", # The idle duration between replication stages.
    "skipOsAdaptation": True or False, # A flag to indicate whether to skip OS adaptation during the replication sync. OS adaptation is a process where the VM's operating system undergoes changes and adaptations to fully function on Compute Engine.
  },
  "recentCloneJobs": [ # Output only. The recent clone jobs performed on the migrating VM. This field holds the vm's last completed clone job and the vm's running clone job, if one exists. Note: To have this field populated you need to explicitly request it via the "view" parameter of the Get/List request.
    { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
      "computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine.
        "disks": [ # The details of each created Persistent Disk.
          { # Details of a created Persistent Disk.
            "diskUri": "A String", # The URI of the Persistent Disk.
            "sourceDiskNumber": 42, # The ordinal number of the source VM disk.
          },
        ],
        "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target.
        },
        "vmTargetDetails": { # Details for the VM created VM as part of disks migration. # Details for the VM the migrated data disks are attached to.
          "vmUri": "A String", # Output only. The URI of the Compute Engine VM.
        },
      },
      "computeEngineTargetDetails": { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
        "additionalLicenses": [ # Additional licenses to assign to the VM.
          "A String",
        ],
        "appliedLicense": { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
          "osLicense": "A String", # The OS license returned from the adaptation module's report.
          "type": "A String", # The license type that was used in OS adaptation.
        },
        "bootConversion": "A String", # Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.
        "bootOption": "A String", # The VM Boot Option, as set in the source VM.
        "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Compute instance scheduling information (if empty default is used).
          "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
          "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
            { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
              "key": "A String", # The label key of Node resource to reference.
              "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
              "values": [ # Corresponds to the label values of Node resource.
                "A String",
              ],
            },
          ],
          "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
          "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
        },
        "diskType": "A String", # The disk type to use in the VM.
        "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled.
        "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled.
        "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the VM disks.
          "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
        },
        "hostname": "A String", # The hostname to assign to the VM.
        "labels": { # A map of labels to associate with the VM.
          "a_key": "A String",
        },
        "licenseType": "A String", # The license type to use in OS adaptation.
        "machineType": "A String", # The machine type to create the VM with.
        "machineTypeSeries": "A String", # The machine type series to create the VM with.
        "metadata": { # The metadata key/value pairs to assign to the VM.
          "a_key": "A String",
        },
        "networkInterfaces": [ # List of NICs connected to this VM.
          { # NetworkInterface represents a NIC of a VM.
            "externalIp": "A String", # Optional. The external IP to define in the NIC.
            "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
            "network": "A String", # The network to connect the NIC to.
            "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
            "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
          },
        ],
        "networkTags": [ # A list of network tags to associate with the VM.
          "A String",
        ],
        "project": "A String", # The Google Cloud target project ID or project name.
        "secureBoot": True or False, # Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
        "serviceAccount": "A String", # The service account to associate the VM with.
        "vmName": "A String", # The name of the VM to create.
        "zone": "A String", # The zone in which to create the VM.
      },
      "createTime": "A String", # Output only. The time the clone job was created (as an API call, not when it was actually created in the target).
      "endTime": "A String", # Output only. The time the clone job was ended.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details for the errors that led to the Clone Job's state.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "name": "A String", # Output only. The name of the clone.
      "state": "A String", # Output only. State of the clone job.
      "stateTime": "A String", # Output only. The time the state was last updated.
      "steps": [ # Output only. The clone steps list representing its progress.
        { # CloneStep holds information about the clone step progress.
          "adaptingOs": { # AdaptingOSStep contains specific step details. # Adapting OS step.
          },
          "endTime": "A String", # The time the step has ended.
          "instantiatingMigratedVm": { # InstantiatingMigratedVMStep contains specific step details. # Instantiating migrated VM step.
          },
          "preparingVmDisks": { # PreparingVMDisksStep contains specific step details. # Preparing VM disks step.
          },
          "startTime": "A String", # The time the step has started.
        },
      ],
    },
  ],
  "recentCutoverJobs": [ # Output only. The recent cutover jobs performed on the migrating VM. This field holds the vm's last completed cutover job and the vm's running cutover job, if one exists. Note: To have this field populated you need to explicitly request it via the "view" parameter of the Get/List request.
    { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
      "computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine.
        "disks": [ # The details of each created Persistent Disk.
          { # Details of a created Persistent Disk.
            "diskUri": "A String", # The URI of the Persistent Disk.
            "sourceDiskNumber": 42, # The ordinal number of the source VM disk.
          },
        ],
        "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target.
        },
        "vmTargetDetails": { # Details for the VM created VM as part of disks migration. # Details for the VM the migrated data disks are attached to.
          "vmUri": "A String", # Output only. The URI of the Compute Engine VM.
        },
      },
      "computeEngineTargetDetails": { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
        "additionalLicenses": [ # Additional licenses to assign to the VM.
          "A String",
        ],
        "appliedLicense": { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
          "osLicense": "A String", # The OS license returned from the adaptation module's report.
          "type": "A String", # The license type that was used in OS adaptation.
        },
        "bootConversion": "A String", # Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.
        "bootOption": "A String", # The VM Boot Option, as set in the source VM.
        "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Compute instance scheduling information (if empty default is used).
          "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
          "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
            { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
              "key": "A String", # The label key of Node resource to reference.
              "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
              "values": [ # Corresponds to the label values of Node resource.
                "A String",
              ],
            },
          ],
          "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
          "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
        },
        "diskType": "A String", # The disk type to use in the VM.
        "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled.
        "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled.
        "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the VM disks.
          "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
        },
        "hostname": "A String", # The hostname to assign to the VM.
        "labels": { # A map of labels to associate with the VM.
          "a_key": "A String",
        },
        "licenseType": "A String", # The license type to use in OS adaptation.
        "machineType": "A String", # The machine type to create the VM with.
        "machineTypeSeries": "A String", # The machine type series to create the VM with.
        "metadata": { # The metadata key/value pairs to assign to the VM.
          "a_key": "A String",
        },
        "networkInterfaces": [ # List of NICs connected to this VM.
          { # NetworkInterface represents a NIC of a VM.
            "externalIp": "A String", # Optional. The external IP to define in the NIC.
            "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
            "network": "A String", # The network to connect the NIC to.
            "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
            "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
          },
        ],
        "networkTags": [ # A list of network tags to associate with the VM.
          "A String",
        ],
        "project": "A String", # The Google Cloud target project ID or project name.
        "secureBoot": True or False, # Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
        "serviceAccount": "A String", # The service account to associate the VM with.
        "vmName": "A String", # The name of the VM to create.
        "zone": "A String", # The zone in which to create the VM.
      },
      "createTime": "A String", # Output only. The time the cutover job was created (as an API call, not when it was actually created in the target).
      "endTime": "A String", # Output only. The time the cutover job had finished.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details for the errors that led to the Cutover Job's state.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "name": "A String", # Output only. The name of the cutover job.
      "progressPercent": 42, # Output only. The current progress in percentage of the cutover job.
      "state": "A String", # Output only. State of the cutover job.
      "stateMessage": "A String", # Output only. A message providing possible extra details about the current state.
      "stateTime": "A String", # Output only. The time the state was last updated.
      "steps": [ # Output only. The cutover steps list representing its progress.
        { # CutoverStep holds information about the cutover step progress.
          "endTime": "A String", # The time the step has ended.
          "finalSync": { # ReplicationCycle contains information about the current replication cycle status. # Final sync step.
            "cycleNumber": 42, # The cycle's ordinal number.
            "endTime": "A String", # The time the replication cycle has ended.
            "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
              "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
                {
                  "a_key": "", # Properties of the object. Contains field @type with type URL.
                },
              ],
              "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
            },
            "name": "A String", # The identifier of the ReplicationCycle.
            "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
            "startTime": "A String", # The time the replication cycle has started.
            "state": "A String", # State of the ReplicationCycle.
            "steps": [ # The cycle's steps list representing its progress.
              { # CycleStep holds information about a step progress.
                "endTime": "A String", # The time the cycle step has ended.
                "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
                },
                "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
                },
                "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
                  "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
                  "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
                  "replicatedBytes": "A String", # Replicated bytes in the step.
                  "totalBytes": "A String", # Total bytes to be handled in the step.
                },
                "startTime": "A String", # The time the cycle step has started.
              },
            ],
            "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
            "warnings": [ # Output only. Warnings that occurred during the cycle.
              { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
                "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
                  "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                  "message": "A String", # The localized error message in the above locale.
                },
                "code": "A String", # The warning code.
                "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
                  { # Describes a URL link.
                    "description": "A String", # Describes what the link offers.
                    "url": "A String", # The URL of the link.
                  },
                ],
                "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
                  "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                  "message": "A String", # The localized error message in the above locale.
                },
                "warningTime": "A String", # The time the warning occurred.
              },
            ],
          },
          "instantiatingMigratedVm": { # InstantiatingMigratedVMStep contains specific step details. # Instantiating migrated VM step.
          },
          "preparingVmDisks": { # PreparingVMDisksStep contains specific step details. # Preparing VM disks step.
          },
          "previousReplicationCycle": { # ReplicationCycle contains information about the current replication cycle status. # A replication cycle prior cutover step.
            "cycleNumber": 42, # The cycle's ordinal number.
            "endTime": "A String", # The time the replication cycle has ended.
            "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
              "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
                {
                  "a_key": "", # Properties of the object. Contains field @type with type URL.
                },
              ],
              "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
            },
            "name": "A String", # The identifier of the ReplicationCycle.
            "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
            "startTime": "A String", # The time the replication cycle has started.
            "state": "A String", # State of the ReplicationCycle.
            "steps": [ # The cycle's steps list representing its progress.
              { # CycleStep holds information about a step progress.
                "endTime": "A String", # The time the cycle step has ended.
                "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
                },
                "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
                },
                "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
                  "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
                  "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
                  "replicatedBytes": "A String", # Replicated bytes in the step.
                  "totalBytes": "A String", # Total bytes to be handled in the step.
                },
                "startTime": "A String", # The time the cycle step has started.
              },
            ],
            "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
            "warnings": [ # Output only. Warnings that occurred during the cycle.
              { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
                "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
                  "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                  "message": "A String", # The localized error message in the above locale.
                },
                "code": "A String", # The warning code.
                "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
                  { # Describes a URL link.
                    "description": "A String", # Describes what the link offers.
                    "url": "A String", # The URL of the link.
                  },
                ],
                "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
                  "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                  "message": "A String", # The localized error message in the above locale.
                },
                "warningTime": "A String", # The time the warning occurred.
              },
            ],
          },
          "shuttingDownSourceVm": { # ShuttingDownSourceVMStep contains specific step details. # Shutting down VM step.
          },
          "startTime": "A String", # The time the step has started.
        },
      ],
    },
  ],
  "sourceVmId": "A String", # The unique ID of the VM in the source. The VM's name in vSphere can be changed, so this is not the VM's name but rather its moRef id. This id is of the form vm-.
  "state": "A String", # Output only. State of the MigratingVm.
  "stateTime": "A String", # Output only. The last time the migrating VM state was updated.
  "updateTime": "A String", # Output only. The last time the migrating VM resource was updated.
  "vmwareSourceVmDetails": { # Represent the source Vmware VM details. # Output only. Details of the VM from a Vmware source.
    "architecture": "A String", # Output only. The VM architecture.
    "committedStorageBytes": "A String", # Output only. The total size of the disks being migrated in bytes.
    "disks": [ # Output only. The disks attached to the source VM.
      { # The details of a Vmware VM disk.
        "diskNumber": 42, # Output only. The ordinal number of the disk.
        "label": "A String", # Output only. The disk label.
        "sizeGb": "A String", # Output only. Size in GB.
      },
    ],
    "firmware": "A String", # Output only. The firmware type of the source VM.
    "vmCapabilitiesInfo": { # Migrating VM source information about the VM capabilities needed for some Compute Engine features. # Output only. Information about VM capabilities needed for some Compute Engine features.
      "lastOsCapabilitiesUpdateTime": "A String", # Output only. The last time OS capabilities list was updated.
      "osCapabilities": [ # Output only. Unordered list. List of certain VM OS capabilities needed for some Compute Engine features.
        "A String",
      ],
    },
  },
}
list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, view=None, x__xgafv=None)
Lists MigratingVms in a given Source.

Args:
  parent: string, Required. The parent, which owns this collection of MigratingVms. (required)
  filter: string, Optional. The filter request.
  orderBy: string, Optional. the order by fields for the result.
  pageSize: integer, Optional. The maximum number of migrating VMs to return. The service may return fewer than this value. If unspecified, at most 500 migrating VMs will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000.
  pageToken: string, Required. A page token, received from a previous `ListMigratingVms` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMigratingVms` must match the call that provided the page token.
  view: string, Optional. The level of details of each migrating VM.
    Allowed values
      MIGRATING_VM_VIEW_UNSPECIFIED - View is unspecified. The API will fallback to the default value.
      MIGRATING_VM_VIEW_BASIC - Get the migrating VM basic details. The basic details do not include the recent clone jobs and recent cutover jobs lists.
      MIGRATING_VM_VIEW_FULL - Include everything.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for 'ListMigratingVms' request.
  "migratingVms": [ # Output only. The list of Migrating VMs response.
    { # MigratingVm describes the VM that will be migrated from a Source environment and its replication state.
      "awsSourceVmDetails": { # Represent the source AWS VM details. # Output only. Details of the VM from an AWS source.
        "architecture": "A String", # Output only. The VM architecture.
        "committedStorageBytes": "A String", # Output only. The total size of the disks being migrated in bytes.
        "disks": [ # Output only. The disks attached to the source VM.
          { # The details of an AWS instance disk.
            "diskNumber": 42, # Output only. The ordinal number of the disk.
            "sizeGb": "A String", # Output only. Size in GB.
            "volumeId": "A String", # Output only. AWS volume ID.
          },
        ],
        "firmware": "A String", # Output only. The firmware type of the source VM.
        "vmCapabilitiesInfo": { # Migrating VM source information about the VM capabilities needed for some Compute Engine features. # Output only. Information about VM capabilities needed for some Compute Engine features.
          "lastOsCapabilitiesUpdateTime": "A String", # Output only. The last time OS capabilities list was updated.
          "osCapabilities": [ # Output only. Unordered list. List of certain VM OS capabilities needed for some Compute Engine features.
            "A String",
          ],
        },
      },
      "azureSourceVmDetails": { # Represent the source Azure VM details. # Output only. Details of the VM from an Azure source.
        "architecture": "A String", # Output only. The VM architecture.
        "committedStorageBytes": "A String", # Output only. The total size of the disks being migrated in bytes.
        "disks": [ # Output only. The disks attached to the source VM.
          { # The details of an Azure VM disk.
            "diskId": "A String", # Output only. Azure disk ID.
            "diskNumber": 42, # Output only. The ordinal number of the disk.
            "sizeGb": "A String", # Output only. Size in GB.
          },
        ],
        "firmware": "A String", # Output only. The firmware type of the source VM.
        "vmCapabilitiesInfo": { # Migrating VM source information about the VM capabilities needed for some Compute Engine features. # Output only. Information about VM capabilities needed for some Compute Engine features.
          "lastOsCapabilitiesUpdateTime": "A String", # Output only. The last time OS capabilities list was updated.
          "osCapabilities": [ # Output only. Unordered list. List of certain VM OS capabilities needed for some Compute Engine features.
            "A String",
          ],
        },
      },
      "computeEngineDisksTargetDefaults": { # ComputeEngineDisksTargetDefaults is a collection of details for creating Persistent Disks in a target Compute Engine project. # Details of the target Persistent Disks in Compute Engine.
        "disks": [ # The details of each Persistent Disk to create.
          { # Details for creation of a Persistent Disk.
            "additionalLabels": { # A map of labels to associate with the Persistent Disk.
              "a_key": "A String",
            },
            "diskName": "A String", # Optional. The name of the Persistent Disk to create.
            "diskType": "A String", # The disk type to use.
            "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the disk.
              "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
            },
            "sourceDiskNumber": 42, # Required. The ordinal number of the source VM disk.
            "vmAttachmentDetails": { # Details for attachment of the disk to a VM. # Optional. Details for attachment of the disk to a VM. Used when the disk is set to be attached to a target VM.
              "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.
            },
          },
        ],
        "disksTargetDefaults": { # Details for a disk only migration. # Details of the disk only migration target.
        },
        "targetProject": "A String", # The full path of the resource of type TargetProject which represents the Compute Engine project in which to create the Persistent Disks.
        "vmTargetDefaults": { # Details for creation of a VM that migrated data disks will be attached to. # Details of the VM migration target.
          "additionalLicenses": [ # Optional. Additional licenses to assign to the VM.
            "A String",
          ],
          "bootDiskDefaults": { # BootDiskDefaults hold information about the boot disk of a VM. # Optional. Details of the boot disk of the VM.
            "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.
            "diskName": "A String", # Optional. The name of the disk.
            "diskType": "A String", # Optional. The type of disk provisioning to use for the VM.
            "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the boot disk.
              "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
            },
            "image": { # Contains details about the image source used to create the disk. # The image to use when creating the disk.
              "sourceImage": "A String", # Required. The Image resource used when creating the disk.
            },
          },
          "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Optional. Compute instance scheduling information (if empty default is used).
            "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
            "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
              { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
                "key": "A String", # The label key of Node resource to reference.
                "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
                "values": [ # Corresponds to the label values of Node resource.
                  "A String",
                ],
              },
            ],
            "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
            "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
          },
          "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled.
          "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled.
          "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the VM.
            "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
          },
          "hostname": "A String", # Optional. The hostname to assign to the VM.
          "labels": { # Optional. A map of labels to associate with the VM.
            "a_key": "A String",
          },
          "machineType": "A String", # Required. The machine type to create the VM with.
          "machineTypeSeries": "A String", # Optional. The machine type series to create the VM with. For presentation only.
          "metadata": { # Optional. The metadata key/value pairs to assign to the VM.
            "a_key": "A String",
          },
          "networkInterfaces": [ # Optional. NICs to attach to the VM.
            { # NetworkInterface represents a NIC of a VM.
              "externalIp": "A String", # Optional. The external IP to define in the NIC.
              "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
              "network": "A String", # The network to connect the NIC to.
              "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
              "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
            },
          ],
          "networkTags": [ # Optional. A list of network tags to associate with the VM.
            "A String",
          ],
          "secureBoot": True or False, # Optional. Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
          "serviceAccount": "A String", # Optional. The service account to associate the VM with.
          "vmName": "A String", # Required. The name of the VM to create.
        },
        "zone": "A String", # The zone in which to create the Persistent Disks.
      },
      "computeEngineTargetDefaults": { # ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project. # Details of the target VM in Compute Engine.
        "additionalLicenses": [ # Additional licenses to assign to the VM.
          "A String",
        ],
        "appliedLicense": { # AppliedLicense holds the license data returned by adaptation module report. # Output only. The OS license returned from the adaptation module report.
          "osLicense": "A String", # The OS license returned from the adaptation module's report.
          "type": "A String", # The license type that was used in OS adaptation.
        },
        "bootConversion": "A String", # Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.
        "bootOption": "A String", # Output only. The VM Boot Option, as set in the source VM.
        "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Compute instance scheduling information (if empty default is used).
          "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
          "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
            { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
              "key": "A String", # The label key of Node resource to reference.
              "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
              "values": [ # Corresponds to the label values of Node resource.
                "A String",
              ],
            },
          ],
          "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
          "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
        },
        "diskType": "A String", # The disk type to use in the VM.
        "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled.
        "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled. This can be set to true only if the VM boot option is EFI.
        "encryption": { # Encryption message describes the details of the applied encryption. # Optional. Immutable. The encryption to apply to the VM disks.
          "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
        },
        "hostname": "A String", # The hostname to assign to the VM.
        "labels": { # A map of labels to associate with the VM.
          "a_key": "A String",
        },
        "licenseType": "A String", # The license type to use in OS adaptation.
        "machineType": "A String", # The machine type to create the VM with.
        "machineTypeSeries": "A String", # The machine type series to create the VM with.
        "metadata": { # The metadata key/value pairs to assign to the VM.
          "a_key": "A String",
        },
        "networkInterfaces": [ # List of NICs connected to this VM.
          { # NetworkInterface represents a NIC of a VM.
            "externalIp": "A String", # Optional. The external IP to define in the NIC.
            "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
            "network": "A String", # The network to connect the NIC to.
            "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
            "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
          },
        ],
        "networkTags": [ # A list of network tags to associate with the VM.
          "A String",
        ],
        "secureBoot": True or False, # Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
        "serviceAccount": "A String", # The service account to associate the VM with.
        "targetProject": "A String", # The full path of the resource of type TargetProject which represents the Compute Engine project in which to create this VM.
        "vmName": "A String", # The name of the VM to create.
        "zone": "A String", # The zone in which to create the VM.
      },
      "createTime": "A String", # Output only. The time the migrating VM was created (this refers to this resource and not to the time it was installed in the source).
      "currentSyncInfo": { # ReplicationCycle contains information about the current replication cycle status. # Output only. Details of the current running replication cycle.
        "cycleNumber": 42, # The cycle's ordinal number.
        "endTime": "A String", # The time the replication cycle has ended.
        "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
          "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
        },
        "name": "A String", # The identifier of the ReplicationCycle.
        "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
        "startTime": "A String", # The time the replication cycle has started.
        "state": "A String", # State of the ReplicationCycle.
        "steps": [ # The cycle's steps list representing its progress.
          { # CycleStep holds information about a step progress.
            "endTime": "A String", # The time the cycle step has ended.
            "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
            },
            "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
            },
            "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
              "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
              "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
              "replicatedBytes": "A String", # Replicated bytes in the step.
              "totalBytes": "A String", # Total bytes to be handled in the step.
            },
            "startTime": "A String", # The time the cycle step has started.
          },
        ],
        "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
        "warnings": [ # Output only. Warnings that occurred during the cycle.
          { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
            "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
              "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
              "message": "A String", # The localized error message in the above locale.
            },
            "code": "A String", # The warning code.
            "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
              { # Describes a URL link.
                "description": "A String", # Describes what the link offers.
                "url": "A String", # The URL of the link.
              },
            ],
            "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
              "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
              "message": "A String", # The localized error message in the above locale.
            },
            "warningTime": "A String", # The time the warning occurred.
          },
        ],
      },
      "cutoverForecast": { # CutoverForecast holds information about future CutoverJobs of a MigratingVm. # Output only. Provides details of future CutoverJobs of a MigratingVm. Set to empty when cutover forecast is unavailable.
        "estimatedCutoverJobDuration": "A String", # Output only. Estimation of the CutoverJob duration.
      },
      "description": "A String", # The description attached to the migrating VM by the user.
      "displayName": "A String", # The display name attached to the MigratingVm by the user.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the Migrating VM in case of an error in replication.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "group": "A String", # Output only. The group this migrating vm is included in, if any. The group is represented by the full path of the appropriate Group resource.
      "labels": { # The labels of the migrating VM.
        "a_key": "A String",
      },
      "lastReplicationCycle": { # ReplicationCycle contains information about the current replication cycle status. # Output only. Details of the last replication cycle. This will be updated whenever a replication cycle is finished and is not to be confused with last_sync which is only updated on successful replication cycles.
        "cycleNumber": 42, # The cycle's ordinal number.
        "endTime": "A String", # The time the replication cycle has ended.
        "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
          "code": 42, # The status code, which should be an enum value of google.rpc.Code.
          "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
            {
              "a_key": "", # Properties of the object. Contains field @type with type URL.
            },
          ],
          "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
        },
        "name": "A String", # The identifier of the ReplicationCycle.
        "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
        "startTime": "A String", # The time the replication cycle has started.
        "state": "A String", # State of the ReplicationCycle.
        "steps": [ # The cycle's steps list representing its progress.
          { # CycleStep holds information about a step progress.
            "endTime": "A String", # The time the cycle step has ended.
            "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
            },
            "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
            },
            "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
              "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
              "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
              "replicatedBytes": "A String", # Replicated bytes in the step.
              "totalBytes": "A String", # Total bytes to be handled in the step.
            },
            "startTime": "A String", # The time the cycle step has started.
          },
        ],
        "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
        "warnings": [ # Output only. Warnings that occurred during the cycle.
          { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
            "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
              "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
              "message": "A String", # The localized error message in the above locale.
            },
            "code": "A String", # The warning code.
            "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
              { # Describes a URL link.
                "description": "A String", # Describes what the link offers.
                "url": "A String", # The URL of the link.
              },
            ],
            "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
              "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
              "message": "A String", # The localized error message in the above locale.
            },
            "warningTime": "A String", # The time the warning occurred.
          },
        ],
      },
      "lastSync": { # ReplicationSync contain information about the last replica sync to the cloud. # Output only. The most updated snapshot created time in the source that finished replication.
        "lastSyncTime": "A String", # The most updated snapshot created time in the source that finished replication.
      },
      "name": "A String", # Output only. The identifier of the MigratingVm.
      "policy": { # A policy for scheduling replications. # The replication schedule policy.
        "idleDuration": "A String", # The idle duration between replication stages.
        "skipOsAdaptation": True or False, # A flag to indicate whether to skip OS adaptation during the replication sync. OS adaptation is a process where the VM's operating system undergoes changes and adaptations to fully function on Compute Engine.
      },
      "recentCloneJobs": [ # Output only. The recent clone jobs performed on the migrating VM. This field holds the vm's last completed clone job and the vm's running clone job, if one exists. Note: To have this field populated you need to explicitly request it via the "view" parameter of the Get/List request.
        { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
          "computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine.
            "disks": [ # The details of each created Persistent Disk.
              { # Details of a created Persistent Disk.
                "diskUri": "A String", # The URI of the Persistent Disk.
                "sourceDiskNumber": 42, # The ordinal number of the source VM disk.
              },
            ],
            "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target.
            },
            "vmTargetDetails": { # Details for the VM created VM as part of disks migration. # Details for the VM the migrated data disks are attached to.
              "vmUri": "A String", # Output only. The URI of the Compute Engine VM.
            },
          },
          "computeEngineTargetDetails": { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
            "additionalLicenses": [ # Additional licenses to assign to the VM.
              "A String",
            ],
            "appliedLicense": { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
              "osLicense": "A String", # The OS license returned from the adaptation module's report.
              "type": "A String", # The license type that was used in OS adaptation.
            },
            "bootConversion": "A String", # Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.
            "bootOption": "A String", # The VM Boot Option, as set in the source VM.
            "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Compute instance scheduling information (if empty default is used).
              "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
              "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
                { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
                  "key": "A String", # The label key of Node resource to reference.
                  "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
                  "values": [ # Corresponds to the label values of Node resource.
                    "A String",
                  ],
                },
              ],
              "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
              "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
            },
            "diskType": "A String", # The disk type to use in the VM.
            "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled.
            "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled.
            "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the VM disks.
              "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
            },
            "hostname": "A String", # The hostname to assign to the VM.
            "labels": { # A map of labels to associate with the VM.
              "a_key": "A String",
            },
            "licenseType": "A String", # The license type to use in OS adaptation.
            "machineType": "A String", # The machine type to create the VM with.
            "machineTypeSeries": "A String", # The machine type series to create the VM with.
            "metadata": { # The metadata key/value pairs to assign to the VM.
              "a_key": "A String",
            },
            "networkInterfaces": [ # List of NICs connected to this VM.
              { # NetworkInterface represents a NIC of a VM.
                "externalIp": "A String", # Optional. The external IP to define in the NIC.
                "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
                "network": "A String", # The network to connect the NIC to.
                "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
                "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
              },
            ],
            "networkTags": [ # A list of network tags to associate with the VM.
              "A String",
            ],
            "project": "A String", # The Google Cloud target project ID or project name.
            "secureBoot": True or False, # Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
            "serviceAccount": "A String", # The service account to associate the VM with.
            "vmName": "A String", # The name of the VM to create.
            "zone": "A String", # The zone in which to create the VM.
          },
          "createTime": "A String", # Output only. The time the clone job was created (as an API call, not when it was actually created in the target).
          "endTime": "A String", # Output only. The time the clone job was ended.
          "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details for the errors that led to the Clone Job's state.
            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
              {
                "a_key": "", # Properties of the object. Contains field @type with type URL.
              },
            ],
            "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
          },
          "name": "A String", # Output only. The name of the clone.
          "state": "A String", # Output only. State of the clone job.
          "stateTime": "A String", # Output only. The time the state was last updated.
          "steps": [ # Output only. The clone steps list representing its progress.
            { # CloneStep holds information about the clone step progress.
              "adaptingOs": { # AdaptingOSStep contains specific step details. # Adapting OS step.
              },
              "endTime": "A String", # The time the step has ended.
              "instantiatingMigratedVm": { # InstantiatingMigratedVMStep contains specific step details. # Instantiating migrated VM step.
              },
              "preparingVmDisks": { # PreparingVMDisksStep contains specific step details. # Preparing VM disks step.
              },
              "startTime": "A String", # The time the step has started.
            },
          ],
        },
      ],
      "recentCutoverJobs": [ # Output only. The recent cutover jobs performed on the migrating VM. This field holds the vm's last completed cutover job and the vm's running cutover job, if one exists. Note: To have this field populated you need to explicitly request it via the "view" parameter of the Get/List request.
        { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
          "computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine.
            "disks": [ # The details of each created Persistent Disk.
              { # Details of a created Persistent Disk.
                "diskUri": "A String", # The URI of the Persistent Disk.
                "sourceDiskNumber": 42, # The ordinal number of the source VM disk.
              },
            ],
            "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target.
            },
            "vmTargetDetails": { # Details for the VM created VM as part of disks migration. # Details for the VM the migrated data disks are attached to.
              "vmUri": "A String", # Output only. The URI of the Compute Engine VM.
            },
          },
          "computeEngineTargetDetails": { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
            "additionalLicenses": [ # Additional licenses to assign to the VM.
              "A String",
            ],
            "appliedLicense": { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
              "osLicense": "A String", # The OS license returned from the adaptation module's report.
              "type": "A String", # The license type that was used in OS adaptation.
            },
            "bootConversion": "A String", # Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.
            "bootOption": "A String", # The VM Boot Option, as set in the source VM.
            "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Compute instance scheduling information (if empty default is used).
              "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
              "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
                { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
                  "key": "A String", # The label key of Node resource to reference.
                  "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
                  "values": [ # Corresponds to the label values of Node resource.
                    "A String",
                  ],
                },
              ],
              "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
              "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
            },
            "diskType": "A String", # The disk type to use in the VM.
            "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled.
            "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled.
            "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the VM disks.
              "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
            },
            "hostname": "A String", # The hostname to assign to the VM.
            "labels": { # A map of labels to associate with the VM.
              "a_key": "A String",
            },
            "licenseType": "A String", # The license type to use in OS adaptation.
            "machineType": "A String", # The machine type to create the VM with.
            "machineTypeSeries": "A String", # The machine type series to create the VM with.
            "metadata": { # The metadata key/value pairs to assign to the VM.
              "a_key": "A String",
            },
            "networkInterfaces": [ # List of NICs connected to this VM.
              { # NetworkInterface represents a NIC of a VM.
                "externalIp": "A String", # Optional. The external IP to define in the NIC.
                "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
                "network": "A String", # The network to connect the NIC to.
                "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
                "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
              },
            ],
            "networkTags": [ # A list of network tags to associate with the VM.
              "A String",
            ],
            "project": "A String", # The Google Cloud target project ID or project name.
            "secureBoot": True or False, # Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
            "serviceAccount": "A String", # The service account to associate the VM with.
            "vmName": "A String", # The name of the VM to create.
            "zone": "A String", # The zone in which to create the VM.
          },
          "createTime": "A String", # Output only. The time the cutover job was created (as an API call, not when it was actually created in the target).
          "endTime": "A String", # Output only. The time the cutover job had finished.
          "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details for the errors that led to the Cutover Job's state.
            "code": 42, # The status code, which should be an enum value of google.rpc.Code.
            "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
              {
                "a_key": "", # Properties of the object. Contains field @type with type URL.
              },
            ],
            "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
          },
          "name": "A String", # Output only. The name of the cutover job.
          "progressPercent": 42, # Output only. The current progress in percentage of the cutover job.
          "state": "A String", # Output only. State of the cutover job.
          "stateMessage": "A String", # Output only. A message providing possible extra details about the current state.
          "stateTime": "A String", # Output only. The time the state was last updated.
          "steps": [ # Output only. The cutover steps list representing its progress.
            { # CutoverStep holds information about the cutover step progress.
              "endTime": "A String", # The time the step has ended.
              "finalSync": { # ReplicationCycle contains information about the current replication cycle status. # Final sync step.
                "cycleNumber": 42, # The cycle's ordinal number.
                "endTime": "A String", # The time the replication cycle has ended.
                "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
                  "code": 42, # The status code, which should be an enum value of google.rpc.Code.
                  "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
                    {
                      "a_key": "", # Properties of the object. Contains field @type with type URL.
                    },
                  ],
                  "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
                },
                "name": "A String", # The identifier of the ReplicationCycle.
                "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
                "startTime": "A String", # The time the replication cycle has started.
                "state": "A String", # State of the ReplicationCycle.
                "steps": [ # The cycle's steps list representing its progress.
                  { # CycleStep holds information about a step progress.
                    "endTime": "A String", # The time the cycle step has ended.
                    "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
                    },
                    "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
                    },
                    "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
                      "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
                      "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
                      "replicatedBytes": "A String", # Replicated bytes in the step.
                      "totalBytes": "A String", # Total bytes to be handled in the step.
                    },
                    "startTime": "A String", # The time the cycle step has started.
                  },
                ],
                "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
                "warnings": [ # Output only. Warnings that occurred during the cycle.
                  { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
                    "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
                      "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                      "message": "A String", # The localized error message in the above locale.
                    },
                    "code": "A String", # The warning code.
                    "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
                      { # Describes a URL link.
                        "description": "A String", # Describes what the link offers.
                        "url": "A String", # The URL of the link.
                      },
                    ],
                    "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
                      "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                      "message": "A String", # The localized error message in the above locale.
                    },
                    "warningTime": "A String", # The time the warning occurred.
                  },
                ],
              },
              "instantiatingMigratedVm": { # InstantiatingMigratedVMStep contains specific step details. # Instantiating migrated VM step.
              },
              "preparingVmDisks": { # PreparingVMDisksStep contains specific step details. # Preparing VM disks step.
              },
              "previousReplicationCycle": { # ReplicationCycle contains information about the current replication cycle status. # A replication cycle prior cutover step.
                "cycleNumber": 42, # The cycle's ordinal number.
                "endTime": "A String", # The time the replication cycle has ended.
                "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
                  "code": 42, # The status code, which should be an enum value of google.rpc.Code.
                  "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
                    {
                      "a_key": "", # Properties of the object. Contains field @type with type URL.
                    },
                  ],
                  "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
                },
                "name": "A String", # The identifier of the ReplicationCycle.
                "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
                "startTime": "A String", # The time the replication cycle has started.
                "state": "A String", # State of the ReplicationCycle.
                "steps": [ # The cycle's steps list representing its progress.
                  { # CycleStep holds information about a step progress.
                    "endTime": "A String", # The time the cycle step has ended.
                    "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
                    },
                    "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
                    },
                    "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
                      "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
                      "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
                      "replicatedBytes": "A String", # Replicated bytes in the step.
                      "totalBytes": "A String", # Total bytes to be handled in the step.
                    },
                    "startTime": "A String", # The time the cycle step has started.
                  },
                ],
                "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
                "warnings": [ # Output only. Warnings that occurred during the cycle.
                  { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
                    "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
                      "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                      "message": "A String", # The localized error message in the above locale.
                    },
                    "code": "A String", # The warning code.
                    "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
                      { # Describes a URL link.
                        "description": "A String", # Describes what the link offers.
                        "url": "A String", # The URL of the link.
                      },
                    ],
                    "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
                      "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                      "message": "A String", # The localized error message in the above locale.
                    },
                    "warningTime": "A String", # The time the warning occurred.
                  },
                ],
              },
              "shuttingDownSourceVm": { # ShuttingDownSourceVMStep contains specific step details. # Shutting down VM step.
              },
              "startTime": "A String", # The time the step has started.
            },
          ],
        },
      ],
      "sourceVmId": "A String", # The unique ID of the VM in the source. The VM's name in vSphere can be changed, so this is not the VM's name but rather its moRef id. This id is of the form vm-.
      "state": "A String", # Output only. State of the MigratingVm.
      "stateTime": "A String", # Output only. The last time the migrating VM state was updated.
      "updateTime": "A String", # Output only. The last time the migrating VM resource was updated.
      "vmwareSourceVmDetails": { # Represent the source Vmware VM details. # Output only. Details of the VM from a Vmware source.
        "architecture": "A String", # Output only. The VM architecture.
        "committedStorageBytes": "A String", # Output only. The total size of the disks being migrated in bytes.
        "disks": [ # Output only. The disks attached to the source VM.
          { # The details of a Vmware VM disk.
            "diskNumber": 42, # Output only. The ordinal number of the disk.
            "label": "A String", # Output only. The disk label.
            "sizeGb": "A String", # Output only. Size in GB.
          },
        ],
        "firmware": "A String", # Output only. The firmware type of the source VM.
        "vmCapabilitiesInfo": { # Migrating VM source information about the VM capabilities needed for some Compute Engine features. # Output only. Information about VM capabilities needed for some Compute Engine features.
          "lastOsCapabilitiesUpdateTime": "A String", # Output only. The last time OS capabilities list was updated.
          "osCapabilities": [ # Output only. Unordered list. List of certain VM OS capabilities needed for some Compute Engine features.
            "A String",
          ],
        },
      },
    },
  ],
  "nextPageToken": "A String", # Output only. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
  "unreachable": [ # Output only. Locations that could not be reached.
    "A String",
  ],
}
list_next()
Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.
        
patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)
Updates the parameters of a single MigratingVm.

Args:
  name: string, Output only. The identifier of the MigratingVm. (required)
  body: object, The request body.
    The object takes the form of:

{ # MigratingVm describes the VM that will be migrated from a Source environment and its replication state.
  "awsSourceVmDetails": { # Represent the source AWS VM details. # Output only. Details of the VM from an AWS source.
    "architecture": "A String", # Output only. The VM architecture.
    "committedStorageBytes": "A String", # Output only. The total size of the disks being migrated in bytes.
    "disks": [ # Output only. The disks attached to the source VM.
      { # The details of an AWS instance disk.
        "diskNumber": 42, # Output only. The ordinal number of the disk.
        "sizeGb": "A String", # Output only. Size in GB.
        "volumeId": "A String", # Output only. AWS volume ID.
      },
    ],
    "firmware": "A String", # Output only. The firmware type of the source VM.
    "vmCapabilitiesInfo": { # Migrating VM source information about the VM capabilities needed for some Compute Engine features. # Output only. Information about VM capabilities needed for some Compute Engine features.
      "lastOsCapabilitiesUpdateTime": "A String", # Output only. The last time OS capabilities list was updated.
      "osCapabilities": [ # Output only. Unordered list. List of certain VM OS capabilities needed for some Compute Engine features.
        "A String",
      ],
    },
  },
  "azureSourceVmDetails": { # Represent the source Azure VM details. # Output only. Details of the VM from an Azure source.
    "architecture": "A String", # Output only. The VM architecture.
    "committedStorageBytes": "A String", # Output only. The total size of the disks being migrated in bytes.
    "disks": [ # Output only. The disks attached to the source VM.
      { # The details of an Azure VM disk.
        "diskId": "A String", # Output only. Azure disk ID.
        "diskNumber": 42, # Output only. The ordinal number of the disk.
        "sizeGb": "A String", # Output only. Size in GB.
      },
    ],
    "firmware": "A String", # Output only. The firmware type of the source VM.
    "vmCapabilitiesInfo": { # Migrating VM source information about the VM capabilities needed for some Compute Engine features. # Output only. Information about VM capabilities needed for some Compute Engine features.
      "lastOsCapabilitiesUpdateTime": "A String", # Output only. The last time OS capabilities list was updated.
      "osCapabilities": [ # Output only. Unordered list. List of certain VM OS capabilities needed for some Compute Engine features.
        "A String",
      ],
    },
  },
  "computeEngineDisksTargetDefaults": { # ComputeEngineDisksTargetDefaults is a collection of details for creating Persistent Disks in a target Compute Engine project. # Details of the target Persistent Disks in Compute Engine.
    "disks": [ # The details of each Persistent Disk to create.
      { # Details for creation of a Persistent Disk.
        "additionalLabels": { # A map of labels to associate with the Persistent Disk.
          "a_key": "A String",
        },
        "diskName": "A String", # Optional. The name of the Persistent Disk to create.
        "diskType": "A String", # The disk type to use.
        "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the disk.
          "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
        },
        "sourceDiskNumber": 42, # Required. The ordinal number of the source VM disk.
        "vmAttachmentDetails": { # Details for attachment of the disk to a VM. # Optional. Details for attachment of the disk to a VM. Used when the disk is set to be attached to a target VM.
          "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.
        },
      },
    ],
    "disksTargetDefaults": { # Details for a disk only migration. # Details of the disk only migration target.
    },
    "targetProject": "A String", # The full path of the resource of type TargetProject which represents the Compute Engine project in which to create the Persistent Disks.
    "vmTargetDefaults": { # Details for creation of a VM that migrated data disks will be attached to. # Details of the VM migration target.
      "additionalLicenses": [ # Optional. Additional licenses to assign to the VM.
        "A String",
      ],
      "bootDiskDefaults": { # BootDiskDefaults hold information about the boot disk of a VM. # Optional. Details of the boot disk of the VM.
        "deviceName": "A String", # Optional. Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk, in the form persistent-disk-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks.
        "diskName": "A String", # Optional. The name of the disk.
        "diskType": "A String", # Optional. The type of disk provisioning to use for the VM.
        "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the boot disk.
          "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
        },
        "image": { # Contains details about the image source used to create the disk. # The image to use when creating the disk.
          "sourceImage": "A String", # Required. The Image resource used when creating the disk.
        },
      },
      "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Optional. Compute instance scheduling information (if empty default is used).
        "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
        "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
          { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
            "key": "A String", # The label key of Node resource to reference.
            "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
            "values": [ # Corresponds to the label values of Node resource.
              "A String",
            ],
          },
        ],
        "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
        "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
      },
      "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled.
      "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled.
      "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the VM.
        "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
      },
      "hostname": "A String", # Optional. The hostname to assign to the VM.
      "labels": { # Optional. A map of labels to associate with the VM.
        "a_key": "A String",
      },
      "machineType": "A String", # Required. The machine type to create the VM with.
      "machineTypeSeries": "A String", # Optional. The machine type series to create the VM with. For presentation only.
      "metadata": { # Optional. The metadata key/value pairs to assign to the VM.
        "a_key": "A String",
      },
      "networkInterfaces": [ # Optional. NICs to attach to the VM.
        { # NetworkInterface represents a NIC of a VM.
          "externalIp": "A String", # Optional. The external IP to define in the NIC.
          "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
          "network": "A String", # The network to connect the NIC to.
          "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
          "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
        },
      ],
      "networkTags": [ # Optional. A list of network tags to associate with the VM.
        "A String",
      ],
      "secureBoot": True or False, # Optional. Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
      "serviceAccount": "A String", # Optional. The service account to associate the VM with.
      "vmName": "A String", # Required. The name of the VM to create.
    },
    "zone": "A String", # The zone in which to create the Persistent Disks.
  },
  "computeEngineTargetDefaults": { # ComputeEngineTargetDefaults is a collection of details for creating a VM in a target Compute Engine project. # Details of the target VM in Compute Engine.
    "additionalLicenses": [ # Additional licenses to assign to the VM.
      "A String",
    ],
    "appliedLicense": { # AppliedLicense holds the license data returned by adaptation module report. # Output only. The OS license returned from the adaptation module report.
      "osLicense": "A String", # The OS license returned from the adaptation module's report.
      "type": "A String", # The license type that was used in OS adaptation.
    },
    "bootConversion": "A String", # Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.
    "bootOption": "A String", # Output only. The VM Boot Option, as set in the source VM.
    "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Compute instance scheduling information (if empty default is used).
      "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
      "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
        { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
          "key": "A String", # The label key of Node resource to reference.
          "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
          "values": [ # Corresponds to the label values of Node resource.
            "A String",
          ],
        },
      ],
      "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
      "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
    },
    "diskType": "A String", # The disk type to use in the VM.
    "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled. This can be set to true only if the VM boot option is EFI, and vTPM is enabled.
    "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled. This can be set to true only if the VM boot option is EFI.
    "encryption": { # Encryption message describes the details of the applied encryption. # Optional. Immutable. The encryption to apply to the VM disks.
      "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
    },
    "hostname": "A String", # The hostname to assign to the VM.
    "labels": { # A map of labels to associate with the VM.
      "a_key": "A String",
    },
    "licenseType": "A String", # The license type to use in OS adaptation.
    "machineType": "A String", # The machine type to create the VM with.
    "machineTypeSeries": "A String", # The machine type series to create the VM with.
    "metadata": { # The metadata key/value pairs to assign to the VM.
      "a_key": "A String",
    },
    "networkInterfaces": [ # List of NICs connected to this VM.
      { # NetworkInterface represents a NIC of a VM.
        "externalIp": "A String", # Optional. The external IP to define in the NIC.
        "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
        "network": "A String", # The network to connect the NIC to.
        "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
        "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
      },
    ],
    "networkTags": [ # A list of network tags to associate with the VM.
      "A String",
    ],
    "secureBoot": True or False, # Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
    "serviceAccount": "A String", # The service account to associate the VM with.
    "targetProject": "A String", # The full path of the resource of type TargetProject which represents the Compute Engine project in which to create this VM.
    "vmName": "A String", # The name of the VM to create.
    "zone": "A String", # The zone in which to create the VM.
  },
  "createTime": "A String", # Output only. The time the migrating VM was created (this refers to this resource and not to the time it was installed in the source).
  "currentSyncInfo": { # ReplicationCycle contains information about the current replication cycle status. # Output only. Details of the current running replication cycle.
    "cycleNumber": 42, # The cycle's ordinal number.
    "endTime": "A String", # The time the replication cycle has ended.
    "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
    },
    "name": "A String", # The identifier of the ReplicationCycle.
    "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
    "startTime": "A String", # The time the replication cycle has started.
    "state": "A String", # State of the ReplicationCycle.
    "steps": [ # The cycle's steps list representing its progress.
      { # CycleStep holds information about a step progress.
        "endTime": "A String", # The time the cycle step has ended.
        "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
        },
        "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
        },
        "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
          "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
          "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
          "replicatedBytes": "A String", # Replicated bytes in the step.
          "totalBytes": "A String", # Total bytes to be handled in the step.
        },
        "startTime": "A String", # The time the cycle step has started.
      },
    ],
    "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
    "warnings": [ # Output only. Warnings that occurred during the cycle.
      { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
        "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
          "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
          "message": "A String", # The localized error message in the above locale.
        },
        "code": "A String", # The warning code.
        "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
          { # Describes a URL link.
            "description": "A String", # Describes what the link offers.
            "url": "A String", # The URL of the link.
          },
        ],
        "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
          "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
          "message": "A String", # The localized error message in the above locale.
        },
        "warningTime": "A String", # The time the warning occurred.
      },
    ],
  },
  "cutoverForecast": { # CutoverForecast holds information about future CutoverJobs of a MigratingVm. # Output only. Provides details of future CutoverJobs of a MigratingVm. Set to empty when cutover forecast is unavailable.
    "estimatedCutoverJobDuration": "A String", # Output only. Estimation of the CutoverJob duration.
  },
  "description": "A String", # The description attached to the migrating VM by the user.
  "displayName": "A String", # The display name attached to the MigratingVm by the user.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the Migrating VM in case of an error in replication.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "group": "A String", # Output only. The group this migrating vm is included in, if any. The group is represented by the full path of the appropriate Group resource.
  "labels": { # The labels of the migrating VM.
    "a_key": "A String",
  },
  "lastReplicationCycle": { # ReplicationCycle contains information about the current replication cycle status. # Output only. Details of the last replication cycle. This will be updated whenever a replication cycle is finished and is not to be confused with last_sync which is only updated on successful replication cycles.
    "cycleNumber": 42, # The cycle's ordinal number.
    "endTime": "A String", # The time the replication cycle has ended.
    "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
      "code": 42, # The status code, which should be an enum value of google.rpc.Code.
      "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
        {
          "a_key": "", # Properties of the object. Contains field @type with type URL.
        },
      ],
      "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
    },
    "name": "A String", # The identifier of the ReplicationCycle.
    "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
    "startTime": "A String", # The time the replication cycle has started.
    "state": "A String", # State of the ReplicationCycle.
    "steps": [ # The cycle's steps list representing its progress.
      { # CycleStep holds information about a step progress.
        "endTime": "A String", # The time the cycle step has ended.
        "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
        },
        "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
        },
        "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
          "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
          "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
          "replicatedBytes": "A String", # Replicated bytes in the step.
          "totalBytes": "A String", # Total bytes to be handled in the step.
        },
        "startTime": "A String", # The time the cycle step has started.
      },
    ],
    "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
    "warnings": [ # Output only. Warnings that occurred during the cycle.
      { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
        "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
          "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
          "message": "A String", # The localized error message in the above locale.
        },
        "code": "A String", # The warning code.
        "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
          { # Describes a URL link.
            "description": "A String", # Describes what the link offers.
            "url": "A String", # The URL of the link.
          },
        ],
        "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
          "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
          "message": "A String", # The localized error message in the above locale.
        },
        "warningTime": "A String", # The time the warning occurred.
      },
    ],
  },
  "lastSync": { # ReplicationSync contain information about the last replica sync to the cloud. # Output only. The most updated snapshot created time in the source that finished replication.
    "lastSyncTime": "A String", # The most updated snapshot created time in the source that finished replication.
  },
  "name": "A String", # Output only. The identifier of the MigratingVm.
  "policy": { # A policy for scheduling replications. # The replication schedule policy.
    "idleDuration": "A String", # The idle duration between replication stages.
    "skipOsAdaptation": True or False, # A flag to indicate whether to skip OS adaptation during the replication sync. OS adaptation is a process where the VM's operating system undergoes changes and adaptations to fully function on Compute Engine.
  },
  "recentCloneJobs": [ # Output only. The recent clone jobs performed on the migrating VM. This field holds the vm's last completed clone job and the vm's running clone job, if one exists. Note: To have this field populated you need to explicitly request it via the "view" parameter of the Get/List request.
    { # CloneJob describes the process of creating a clone of a MigratingVM to the requested target based on the latest successful uploaded snapshots. While the migration cycles of a MigratingVm take place, it is possible to verify the uploaded VM can be started in the cloud, by creating a clone. The clone can be created without any downtime, and it is created using the latest snapshots which are already in the cloud. The cloneJob is only responsible for its work, not its products, which means once it is finished, it will never touch the instance it created. It will only delete it in case of the CloneJob being cancelled or upon failure to clone.
      "computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine.
        "disks": [ # The details of each created Persistent Disk.
          { # Details of a created Persistent Disk.
            "diskUri": "A String", # The URI of the Persistent Disk.
            "sourceDiskNumber": 42, # The ordinal number of the source VM disk.
          },
        ],
        "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target.
        },
        "vmTargetDetails": { # Details for the VM created VM as part of disks migration. # Details for the VM the migrated data disks are attached to.
          "vmUri": "A String", # Output only. The URI of the Compute Engine VM.
        },
      },
      "computeEngineTargetDetails": { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
        "additionalLicenses": [ # Additional licenses to assign to the VM.
          "A String",
        ],
        "appliedLicense": { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
          "osLicense": "A String", # The OS license returned from the adaptation module's report.
          "type": "A String", # The license type that was used in OS adaptation.
        },
        "bootConversion": "A String", # Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.
        "bootOption": "A String", # The VM Boot Option, as set in the source VM.
        "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Compute instance scheduling information (if empty default is used).
          "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
          "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
            { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
              "key": "A String", # The label key of Node resource to reference.
              "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
              "values": [ # Corresponds to the label values of Node resource.
                "A String",
              ],
            },
          ],
          "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
          "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
        },
        "diskType": "A String", # The disk type to use in the VM.
        "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled.
        "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled.
        "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the VM disks.
          "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
        },
        "hostname": "A String", # The hostname to assign to the VM.
        "labels": { # A map of labels to associate with the VM.
          "a_key": "A String",
        },
        "licenseType": "A String", # The license type to use in OS adaptation.
        "machineType": "A String", # The machine type to create the VM with.
        "machineTypeSeries": "A String", # The machine type series to create the VM with.
        "metadata": { # The metadata key/value pairs to assign to the VM.
          "a_key": "A String",
        },
        "networkInterfaces": [ # List of NICs connected to this VM.
          { # NetworkInterface represents a NIC of a VM.
            "externalIp": "A String", # Optional. The external IP to define in the NIC.
            "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
            "network": "A String", # The network to connect the NIC to.
            "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
            "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
          },
        ],
        "networkTags": [ # A list of network tags to associate with the VM.
          "A String",
        ],
        "project": "A String", # The Google Cloud target project ID or project name.
        "secureBoot": True or False, # Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
        "serviceAccount": "A String", # The service account to associate the VM with.
        "vmName": "A String", # The name of the VM to create.
        "zone": "A String", # The zone in which to create the VM.
      },
      "createTime": "A String", # Output only. The time the clone job was created (as an API call, not when it was actually created in the target).
      "endTime": "A String", # Output only. The time the clone job was ended.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details for the errors that led to the Clone Job's state.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "name": "A String", # Output only. The name of the clone.
      "state": "A String", # Output only. State of the clone job.
      "stateTime": "A String", # Output only. The time the state was last updated.
      "steps": [ # Output only. The clone steps list representing its progress.
        { # CloneStep holds information about the clone step progress.
          "adaptingOs": { # AdaptingOSStep contains specific step details. # Adapting OS step.
          },
          "endTime": "A String", # The time the step has ended.
          "instantiatingMigratedVm": { # InstantiatingMigratedVMStep contains specific step details. # Instantiating migrated VM step.
          },
          "preparingVmDisks": { # PreparingVMDisksStep contains specific step details. # Preparing VM disks step.
          },
          "startTime": "A String", # The time the step has started.
        },
      ],
    },
  ],
  "recentCutoverJobs": [ # Output only. The recent cutover jobs performed on the migrating VM. This field holds the vm's last completed cutover job and the vm's running cutover job, if one exists. Note: To have this field populated you need to explicitly request it via the "view" parameter of the Get/List request.
    { # CutoverJob message describes a cutover of a migrating VM. The CutoverJob is the operation of shutting down the VM, creating a snapshot and clonning the VM using the replicated snapshot.
      "computeEngineDisksTargetDetails": { # ComputeEngineDisksTargetDetails is a collection of created Persistent Disks details. # Output only. Details of the target Persistent Disks in Compute Engine.
        "disks": [ # The details of each created Persistent Disk.
          { # Details of a created Persistent Disk.
            "diskUri": "A String", # The URI of the Persistent Disk.
            "sourceDiskNumber": 42, # The ordinal number of the source VM disk.
          },
        ],
        "disksTargetDetails": { # Details for a disks-only migration. # Details of the disks-only migration target.
        },
        "vmTargetDetails": { # Details for the VM created VM as part of disks migration. # Details for the VM the migrated data disks are attached to.
          "vmUri": "A String", # Output only. The URI of the Compute Engine VM.
        },
      },
      "computeEngineTargetDetails": { # ComputeEngineTargetDetails is a collection of details for creating a VM in a target Compute Engine project. # Output only. Details of the target VM in Compute Engine.
        "additionalLicenses": [ # Additional licenses to assign to the VM.
          "A String",
        ],
        "appliedLicense": { # AppliedLicense holds the license data returned by adaptation module report. # The OS license returned from the adaptation module report.
          "osLicense": "A String", # The OS license returned from the adaptation module's report.
          "type": "A String", # The license type that was used in OS adaptation.
        },
        "bootConversion": "A String", # Optional. By default the virtual machine will keep its existing boot option. Setting this property will trigger an internal process which will convert the virtual machine from using the existing boot option to another.
        "bootOption": "A String", # The VM Boot Option, as set in the source VM.
        "computeScheduling": { # Scheduling information for VM on maintenance/restart behaviour and node allocation in sole tenant nodes. Options for instance behavior when the host machine undergoes maintenance that may temporarily impact instance performance. # Compute instance scheduling information (if empty default is used).
          "minNodeCpus": 42, # The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node. Ignored if no node_affinites are configured.
          "nodeAffinities": [ # A set of node affinity and anti-affinity configurations for sole tenant nodes.
            { # Node Affinity: the configuration of desired nodes onto which this Instance could be scheduled. Based on https://cloud.google.com/compute/docs/reference/rest/v1/instances/setScheduling
              "key": "A String", # The label key of Node resource to reference.
              "operator": "A String", # The operator to use for the node resources specified in the `values` parameter.
              "values": [ # Corresponds to the label values of Node resource.
                "A String",
              ],
            },
          ],
          "onHostMaintenance": "A String", # How the instance should behave when the host machine undergoes maintenance that may temporarily impact instance performance.
          "restartType": "A String", # Whether the Instance should be automatically restarted whenever it is terminated by Compute Engine (not terminated by user). This configuration is identical to `automaticRestart` field in Compute Engine create instance under scheduling. It was changed to an enum (instead of a boolean) to match the default value in Compute Engine which is automatic restart.
        },
        "diskType": "A String", # The disk type to use in the VM.
        "enableIntegrityMonitoring": True or False, # Optional. Defines whether the instance has integrity monitoring enabled.
        "enableVtpm": True or False, # Optional. Defines whether the instance has vTPM enabled.
        "encryption": { # Encryption message describes the details of the applied encryption. # Optional. The encryption to apply to the VM disks.
          "kmsKey": "A String", # Required. The name of the encryption key that is stored in Google Cloud KMS.
        },
        "hostname": "A String", # The hostname to assign to the VM.
        "labels": { # A map of labels to associate with the VM.
          "a_key": "A String",
        },
        "licenseType": "A String", # The license type to use in OS adaptation.
        "machineType": "A String", # The machine type to create the VM with.
        "machineTypeSeries": "A String", # The machine type series to create the VM with.
        "metadata": { # The metadata key/value pairs to assign to the VM.
          "a_key": "A String",
        },
        "networkInterfaces": [ # List of NICs connected to this VM.
          { # NetworkInterface represents a NIC of a VM.
            "externalIp": "A String", # Optional. The external IP to define in the NIC.
            "internalIp": "A String", # Optional. The internal IP to define in the NIC. The formats accepted are: `ephemeral` \ ipv4 address \ a named address resource full path.
            "network": "A String", # The network to connect the NIC to.
            "networkTier": "A String", # Optional. The networking tier used for optimizing connectivity between instances and systems on the internet. Applies only for external ephemeral IP addresses. If left empty, will default to PREMIUM.
            "subnetwork": "A String", # Optional. The subnetwork to connect the NIC to.
          },
        ],
        "networkTags": [ # A list of network tags to associate with the VM.
          "A String",
        ],
        "project": "A String", # The Google Cloud target project ID or project name.
        "secureBoot": True or False, # Defines whether the instance has Secure Boot enabled. This can be set to true only if the VM boot option is EFI.
        "serviceAccount": "A String", # The service account to associate the VM with.
        "vmName": "A String", # The name of the VM to create.
        "zone": "A String", # The zone in which to create the VM.
      },
      "createTime": "A String", # Output only. The time the cutover job was created (as an API call, not when it was actually created in the target).
      "endTime": "A String", # Output only. The time the cutover job had finished.
      "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details for the errors that led to the Cutover Job's state.
        "code": 42, # The status code, which should be an enum value of google.rpc.Code.
        "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
          {
            "a_key": "", # Properties of the object. Contains field @type with type URL.
          },
        ],
        "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
      },
      "name": "A String", # Output only. The name of the cutover job.
      "progressPercent": 42, # Output only. The current progress in percentage of the cutover job.
      "state": "A String", # Output only. State of the cutover job.
      "stateMessage": "A String", # Output only. A message providing possible extra details about the current state.
      "stateTime": "A String", # Output only. The time the state was last updated.
      "steps": [ # Output only. The cutover steps list representing its progress.
        { # CutoverStep holds information about the cutover step progress.
          "endTime": "A String", # The time the step has ended.
          "finalSync": { # ReplicationCycle contains information about the current replication cycle status. # Final sync step.
            "cycleNumber": 42, # The cycle's ordinal number.
            "endTime": "A String", # The time the replication cycle has ended.
            "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
              "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
                {
                  "a_key": "", # Properties of the object. Contains field @type with type URL.
                },
              ],
              "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
            },
            "name": "A String", # The identifier of the ReplicationCycle.
            "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
            "startTime": "A String", # The time the replication cycle has started.
            "state": "A String", # State of the ReplicationCycle.
            "steps": [ # The cycle's steps list representing its progress.
              { # CycleStep holds information about a step progress.
                "endTime": "A String", # The time the cycle step has ended.
                "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
                },
                "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
                },
                "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
                  "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
                  "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
                  "replicatedBytes": "A String", # Replicated bytes in the step.
                  "totalBytes": "A String", # Total bytes to be handled in the step.
                },
                "startTime": "A String", # The time the cycle step has started.
              },
            ],
            "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
            "warnings": [ # Output only. Warnings that occurred during the cycle.
              { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
                "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
                  "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                  "message": "A String", # The localized error message in the above locale.
                },
                "code": "A String", # The warning code.
                "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
                  { # Describes a URL link.
                    "description": "A String", # Describes what the link offers.
                    "url": "A String", # The URL of the link.
                  },
                ],
                "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
                  "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                  "message": "A String", # The localized error message in the above locale.
                },
                "warningTime": "A String", # The time the warning occurred.
              },
            ],
          },
          "instantiatingMigratedVm": { # InstantiatingMigratedVMStep contains specific step details. # Instantiating migrated VM step.
          },
          "preparingVmDisks": { # PreparingVMDisksStep contains specific step details. # Preparing VM disks step.
          },
          "previousReplicationCycle": { # ReplicationCycle contains information about the current replication cycle status. # A replication cycle prior cutover step.
            "cycleNumber": 42, # The cycle's ordinal number.
            "endTime": "A String", # The time the replication cycle has ended.
            "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Output only. Provides details on the state of the cycle in case of an error.
              "code": 42, # The status code, which should be an enum value of google.rpc.Code.
              "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
                {
                  "a_key": "", # Properties of the object. Contains field @type with type URL.
                },
              ],
              "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
            },
            "name": "A String", # The identifier of the ReplicationCycle.
            "progressPercent": 42, # The current progress in percentage of this cycle. Was replaced by 'steps' field, which breaks down the cycle progression more accurately.
            "startTime": "A String", # The time the replication cycle has started.
            "state": "A String", # State of the ReplicationCycle.
            "steps": [ # The cycle's steps list representing its progress.
              { # CycleStep holds information about a step progress.
                "endTime": "A String", # The time the cycle step has ended.
                "initializingReplication": { # InitializingReplicationStep contains specific step details. # Initializing replication step.
                },
                "postProcessing": { # PostProcessingStep contains specific step details. # Post processing step.
                },
                "replicating": { # ReplicatingStep contains specific step details. # Replicating step.
                  "lastThirtyMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 30 minutes in bytes per second.
                  "lastTwoMinutesAverageBytesPerSecond": "A String", # The source disks replication rate for the last 2 minutes in bytes per second.
                  "replicatedBytes": "A String", # Replicated bytes in the step.
                  "totalBytes": "A String", # Total bytes to be handled in the step.
                },
                "startTime": "A String", # The time the cycle step has started.
              },
            ],
            "totalPauseDuration": "A String", # The accumulated duration the replication cycle was paused.
            "warnings": [ # Output only. Warnings that occurred during the cycle.
              { # Represents migration resource warning information that can be used with google.rpc.Status message. MigrationWarning is used to present the user with warning information in migration operations.
                "actionItem": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. Suggested action for solving the warning.
                  "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                  "message": "A String", # The localized error message in the above locale.
                },
                "code": "A String", # The warning code.
                "helpLinks": [ # Output only. URL(s) pointing to additional information on handling the current warning.
                  { # Describes a URL link.
                    "description": "A String", # Describes what the link offers.
                    "url": "A String", # The URL of the link.
                  },
                ],
                "warningMessage": { # Provides a localized error message that is safe to return to the user which can be attached to an RPC error. # Output only. The localized warning message.
                  "locale": "A String", # The locale used following the specification defined at https://www.rfc-editor.org/rfc/bcp/bcp47.txt. Examples are: "en-US", "fr-CH", "es-MX"
                  "message": "A String", # The localized error message in the above locale.
                },
                "warningTime": "A String", # The time the warning occurred.
              },
            ],
          },
          "shuttingDownSourceVm": { # ShuttingDownSourceVMStep contains specific step details. # Shutting down VM step.
          },
          "startTime": "A String", # The time the step has started.
        },
      ],
    },
  ],
  "sourceVmId": "A String", # The unique ID of the VM in the source. The VM's name in vSphere can be changed, so this is not the VM's name but rather its moRef id. This id is of the form vm-.
  "state": "A String", # Output only. State of the MigratingVm.
  "stateTime": "A String", # Output only. The last time the migrating VM state was updated.
  "updateTime": "A String", # Output only. The last time the migrating VM resource was updated.
  "vmwareSourceVmDetails": { # Represent the source Vmware VM details. # Output only. Details of the VM from a Vmware source.
    "architecture": "A String", # Output only. The VM architecture.
    "committedStorageBytes": "A String", # Output only. The total size of the disks being migrated in bytes.
    "disks": [ # Output only. The disks attached to the source VM.
      { # The details of a Vmware VM disk.
        "diskNumber": 42, # Output only. The ordinal number of the disk.
        "label": "A String", # Output only. The disk label.
        "sizeGb": "A String", # Output only. Size in GB.
      },
    ],
    "firmware": "A String", # Output only. The firmware type of the source VM.
    "vmCapabilitiesInfo": { # Migrating VM source information about the VM capabilities needed for some Compute Engine features. # Output only. Information about VM capabilities needed for some Compute Engine features.
      "lastOsCapabilitiesUpdateTime": "A String", # Output only. The last time OS capabilities list was updated.
      "osCapabilities": [ # Output only. Unordered list. List of certain VM OS capabilities needed for some Compute Engine features.
        "A String",
      ],
    },
  },
}

  requestId: string, A request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will know to ignore the request if it has already been completed. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
  updateMask: string, Field mask is used to specify the fields to be overwritten in the MigratingVm resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
pauseMigration(migratingVm, body=None, x__xgafv=None)
Pauses a migration for a VM. If cycle tasks are running they will be cancelled, preserving source task data. Further replication cycles will not be triggered while the VM is paused.

Args:
  migratingVm: string, Required. The name of the MigratingVm. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for 'PauseMigration' request.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
resumeMigration(migratingVm, body=None, x__xgafv=None)
Resumes a migration for a VM. When called on a paused migration, will start the process of uploading data and creating snapshots; when called on a completed cut-over migration, will update the migration to active state and start the process of uploading data and creating snapshots.

Args:
  migratingVm: string, Required. The name of the MigratingVm. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for 'ResumeMigration' request.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}
startMigration(migratingVm, body=None, x__xgafv=None)
Starts migration for a VM. Starts the process of uploading data and creating snapshots, in replication cycles scheduled by the policy.

Args:
  migratingVm: string, Required. The name of the MigratingVm. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for 'StartMigrationRequest' request.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  "done": True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  "error": { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    "code": 42, # The status code, which should be an enum value of google.rpc.Code.
    "details": [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        "a_key": "", # Properties of the object. Contains field @type with type URL.
      },
    ],
    "message": "A String", # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  "metadata": { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
  "name": "A String", # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  "response": { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    "a_key": "", # Properties of the object. Contains field @type with type URL.
  },
}