

# MigrateWorkspace
<a name="API_MigrateWorkspace"></a>

Migrates a WorkSpace from one operating system or bundle type to another, while retaining the data on the user volume.

The migration process recreates the WorkSpace by using a new root volume from the target bundle image and the user volume from the last available snapshot of the original WorkSpace. During migration, the original `D:\Users\%USERNAME%` user profile folder is renamed to `D:\Users\%USERNAME%MMddyyTHHmmss%.NotMigrated`. A new `D:\Users\%USERNAME%\` folder is generated by the new OS. Certain files in the old user profile are moved to the new user profile.

For available migration scenarios, details about what happens during migration, and best practices, see [Migrate a WorkSpace](https://docs.aws.amazon.com/workspaces/latest/adminguide/migrate-workspaces.html).

## Request Syntax
<a name="API_MigrateWorkspace_RequestSyntax"></a>

```
{
   "BundleId": "string",
   "SourceWorkspaceId": "string"
}
```

## Request Parameters
<a name="API_MigrateWorkspace_RequestParameters"></a>

The request accepts the following data in JSON format.

 ** [BundleId](#API_MigrateWorkspace_RequestSyntax) **   <a name="WorkSpaces-MigrateWorkspace-request-BundleId"></a>
The identifier of the target bundle type to migrate the WorkSpace to.  
Type: String  
Pattern: `^wsb-[0-9a-z]{8,63}$`   
Required: Yes

 ** [SourceWorkspaceId](#API_MigrateWorkspace_RequestSyntax) **   <a name="WorkSpaces-MigrateWorkspace-request-SourceWorkspaceId"></a>
The identifier of the WorkSpace to migrate from.  
Type: String  
Pattern: `^ws-[0-9a-z]{8,63}$`   
Required: Yes

## Response Syntax
<a name="API_MigrateWorkspace_ResponseSyntax"></a>

```
{
   "SourceWorkspaceId": "string",
   "TargetWorkspaceId": "string"
}
```

## Response Elements
<a name="API_MigrateWorkspace_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [SourceWorkspaceId](#API_MigrateWorkspace_ResponseSyntax) **   <a name="WorkSpaces-MigrateWorkspace-response-SourceWorkspaceId"></a>
The original identifier of the WorkSpace that is being migrated.  
Type: String  
Pattern: `^ws-[0-9a-z]{8,63}$` 

 ** [TargetWorkspaceId](#API_MigrateWorkspace_ResponseSyntax) **   <a name="WorkSpaces-MigrateWorkspace-response-TargetWorkspaceId"></a>
The new identifier of the WorkSpace that is being migrated. If the migration does not succeed, the target WorkSpace ID will not be used, and the WorkSpace will still have the original WorkSpace ID.  
Type: String  
Pattern: `^ws-[0-9a-z]{8,63}$` 

## Errors
<a name="API_MigrateWorkspace_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** AccessDeniedException **   
The user is not authorized to access a resource.  
HTTP Status Code: 400

 ** InvalidParameterValuesException **   
One or more parameter values are not valid.    
 ** message **   
The exception error message.
HTTP Status Code: 400

 ** OperationInProgressException **   
The properties of this WorkSpace are currently being modified. Try again in a moment.  
HTTP Status Code: 400

 ** OperationNotSupportedException **   
This operation is not supported.    
 ** message **   
The exception error message.  
 ** reason **   
The exception error reason.
HTTP Status Code: 400

 ** ResourceNotFoundException **   
The resource could not be found.    
 ** message **   
The resource could not be found.  
 ** ResourceId **   
The ID of the resource that could not be found.
HTTP Status Code: 400

 ** ResourceUnavailableException **   
The specified resource is not available.    
 ** message **   
The exception error message.  
 ** ResourceId **   
The identifier of the resource that is not available.
HTTP Status Code: 400

## See Also
<a name="API_MigrateWorkspace_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/workspaces-2015-04-08/MigrateWorkspace) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/workspaces-2015-04-08/MigrateWorkspace) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/workspaces-2015-04-08/MigrateWorkspace) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/workspaces-2015-04-08/MigrateWorkspace) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/workspaces-2015-04-08/MigrateWorkspace) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/workspaces-2015-04-08/MigrateWorkspace) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/workspaces-2015-04-08/MigrateWorkspace) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/workspaces-2015-04-08/MigrateWorkspace) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/workspaces-2015-04-08/MigrateWorkspace) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/workspaces-2015-04-08/MigrateWorkspace) 