post /cloudextensions/{cloudExtensionId}/operations/cloneVm
Clone VM To Cloud (cloneVmToCloud)
A workload can be tested in cloud using "Test Clone". This is especially useful prior to migration as "Test Clone" leaves the on-premises VM running, moves an identical clone (snapshot) of the VM to the cloud of choice, similar to the Run In Cloud operation, the workload is up and running in the cloud within minutes. It is highly recommended that a Test Clone will be used in an isolated environment, to prevent network collisions with the on-premises live workload. The test clone cloud instance is created in write-isolation storage mode (all changes are committed only in cloud and are not persisted back on-premises). Only one Test Clone can be used for any specified VM at a time.
Path parameters
cloudExtensionId (required)
Path Parameter — Cloud Extension ID
Consumes
This API call consumes the following media types via the Content-Type request header:
- application/json
Request body
moveSpec MoveToCloudRequest (required)
Body Parameter — Move to cloud request
MoveToCloudRequest
|
_type |
String Cloud Vendor Enum: MoveToGCPRequest |
Note: Use the relevant structure for GCP or AWS2GCP.
MoveToGCPRequest
|
sourceVmId |
String VM ID |
||||
|
instanceType |
String VM instance type |
||||
|
subnetId (optional) |
String Subnet ID. If none is specified, the default edge node subnet is used. |
||||
|
staticAddress (optional) |
String The static IP for the instance or specify an ENI ID (e.g. eni-xxxxx) to associate a reserved Elastic Network Interface. |
||||
|
edgeNode |
EdgeNode Cloud Edge node - Node A or Node B |
||||
|
runMode |
RunMode RunMode - Normal, TestClone, or Offline |
||||
|
storagePolicy (optional) |
StoragePolicy Storage policy - write back or write isolation |
||||
|
targetStorageSpec (optional) |
TargetStorageSpec
|
||||
|
_type |
Array[String] Enum: MoveToGCPRequest |
||||
|
useEphemeralExternalIp |
Boolean Create an ephemeral external IP address. |
||||
|
networkTags (optional) |
Array[String] Network tags |
||||
|
publicIp (optional) |
String |
||||
|
osLicenseType |
String A link to a license for the OS example: "https://www.googleapis.com/compute/v1/projects/windows-cloud/global/licenses/windows-server-2008-r2" |
||||
AWS2GCP
|
sourceVmId |
String VM ID |
||
|
cloudDetailsName |
String VM instance typCloud details name. Should be used only when cloud-to-cloud use is intended. |
||
|
instanceType |
String VM instance type |
||
|
subnetId (optional) |
String Subnet ID. If none is specified, the default edge node subnet is used. |
||
|
staticAddress (optional) |
String The static IP for the instance or specify an ENI ID (e.g. eni-xxxxx) to associate a reserved Elastic Network Interface. |
||
|
edgeNode |
EdgeNode Cloud Edge node - Node A or Node B |
||
|
runMode |
RunMode RunMode - Normal, TestClone, or Offline |
||
|
storagePolicy (optional) |
StoragePolicy Storage policy - write back or write isolation |
||
|
targetStorageSpec (optional) |
TargetStorageSpec
GcpTargetStorageSpec storageType |
||
|
customTags (optional) |
Array Tags to place on instance |
||
|
targetInstanceName (optional) |
Strin Target instance name is used, unless empty, as the prefix of the instance name in the cloud. |
||
|
_type |
String The type of the request, which indicates the cloud provider for the target VM - GCP. |
||
|
|
Enum: MoveToGCPRequest |
||
|
pricingModel (optional) |
PricingModel
|
Return type
TaskId
|
value (optional) |
String Entity ID |
|
_type |
String Task ID Enum: TaskId |
Example data
Content-Type: application/json
{
"sourceVmId": "vm-1",
"instanceType": "t2.medium",
"securityGroupIds": [
"string"
],
"subnetId": "subnet-123456",
"staticAddress": "10.10.20.20",
"edgeNode": "NodeA",
"runMode": "Normal",
"storagePolicy": "Writeback",
"targetStorageSpec": {
"_type": "
},
"_type": "MoveToGcpRequest"
}
Produces
This API call produces the following media types according to the Accept request header; the media type will be conveyed by the Content-Type response header.
- application/json
Responses
201
Created TaskId
Default
Error ErrorInfo
|
errorCode (optional) |
String |
|
url(optional) |
String |
|
message (optional) |
String |