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

String GCP

Enum:

GCPTargetStorageSpec

GCPTargetStorageSpec

_Type String Enum: GcpTargetStorageSpec

diskType (optional)

String Enum:

Standard

SSD

_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

_type

String GCP

Enum:

GCPTargetStorageSpec

GCPTargetStorageSpec

_Type String Enum: GcpTargetStorageSpec

diskType (optional)

String Enum:

Standard

SSD

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

_type

String Pricing model - ondemand or spot market pricing

Enum:

OnDemandPricingModel

SpotMarketBidParams

 

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