post /cloudextensions/{cloudExtensionId}/operations/fullMigrateVm

Fully Migrate VM To Cloud (fullMigrateVmToCloud)

Velostrata enables you to rapidly migrate any VM to GCP and test any application in minutes, without having to perform a full data migration. Once you have verified that the application works in the Cloud, you can then migrate the VM storage as well. This reduces the risk of migration. The Migrate wizard in vSphere does the following steps - Move the VM to the cloud. Migrate the storage to the cloud. Prepare to detach the VM. This takes the data from the Google Cloud Storage and writes it to the drives. Once the Migrate wizard is completed after several hours, the VM is Ready to Detach.

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 to from onPrem or from AWS (AWS2GCP) to GCP.

 

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

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

storageType

String GCP target storage

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

_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

{

"sourceVmId": "vm-1",

"instanceType": "n1-standard-1",

"subnetId": "https://www.googleapis.com/compute/v1/projects/velosdev/regions/europe-west1/subnetworks/example",

"edgeNode": "NodeA",

"runMode": "Normal",

"storagePolicy": "Writeback",

"targetStorageSpec": {

"_type": "GcpTargetStorageSpec",

"diskType": "Standard"

},

"customTags": [],

"useEphemeralExternalIp": false,

"networkTags": ["velostrata"]

"_type": "MoveToGCPRequest"

}

 

AWS2GCP (AWS to GCP) Example data

Content-Type: application/json

{

"sourceVmId": "i-0691760636dfe8597",

"cloudDetailsName": "awsCloudDetails",

"instanceType": "n1-standard-1",

"securityGroupIds": [],

"subnetId": "https://www.googleapis.com/compute/v1/projects/velosdev/regions/europe-west1/subnetworks/example",

"edgeNode": "NodeA",

"runMode": "Normal",

"storagePolicy": "Writeisolation",

"originCloudCredentials": "datacenter-2_vpc-1410ff71_1520497528_DXw",

"originRegion": "eu-west-1",

"useEphemeralExternalIp": true,

"targetStorageSpec": {

"_type": "GcpTargetStorageSpec",

"diskType": "Standard"

},

"_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