post /cloudextensions/{cloudExtensionId}/operations/moveVm
Move VM To Cloud (moveVmToCloud)
When you move a VM to the cloud, Velostrata shuts down the VM gracefully if it is running (requires VMware Tools to be installed in the VM), and takes a safe point snapshot of the VM prior to its move to the cloud. While moving a VM to the cloud you can - Scale up the VM and assign it more CPU and RAM resources by selecting an appropriate cloud instance type - Select a storage policy.
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 Run the VM in GCP. Enum: MoveToGCPRequest |
Note: Use the relevant structure depending on whether you are moving a VM onPrem to GCP or an instance from AWS for (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 (AWS to GCP)
|
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
|
||||
|
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 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
{
"_type": "MoveToGCPRequest"
"sourceVmId": "vm-1",
"instanceType": "n1-standard-1",
"subnetId": "https://www.googleapis.com/compute/v1/projects/velos/regions/europe-west1/subnetworks/subnet",
"edgeNode": "NodeA",
"runMode": "Normal",
"storagePolicy": "Writeback",
"customTags": [],
"useEphemeralExternalIp": "false",
"networkTags": ["networktag1", "networktag2"]
}
AWS2GCP (Cloud to Cloud - AWS to GCP) Example data
Content-Type: application/json
{
"_type": "MoveToGCPRequest",
"sourceVmId": "i-0f8d9c13b96627b68",
"cloudDetailsName": "awsCloudDetails",
"instanceType": "n1-standard-1",
"subnetId": "https://www.googleapis.com/compute/v1/projects/velos/regions/europe-west1/subnetworks/subnet",
"edgeNode": "NodeA",
"runMode": "Normal",
"storagePolicy": "Writeback",
"useEphemeralExternalIp": false,
"networkTags": ["tagTag"],
}
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 |