This API can be used for validation purposes when a user wishes to choose a Hyper-V host for restoring the selected volumes on specific host and wishes to enter the CPU and RAM allocation for the restore virtual machine.
Alternately, one can use the Server Settings Validation API.
The introduced values need to be valid on the chosen hyper-visor, and this API allows validation prior to actually issuing the restore request.
Note: the selected volume's hardware configuration can be obtained via the "Obtaining a revision's hardware configuration" call.
This section includes the following topics:
- Input Parameters
- Output Parameters
Input Parameters
The following table provides the parameters and descriptions.
Parameter | Description |
id | Integer. Numeric host id, id of the host, either obtained when it was registered the first time, or via the Get registered hosts API call. |
sessionId | String. Containing a GUID, obtained via a call to API Hyper-V Create Host Browsing Session. |
Example
{
"id": 2,
"sessionId": "5d05495f-39e5-4e4e-ad0c-e351cc2c78f3"
}
Output Parameters
The following table provides the parameters and descriptions.
Parameter | Description |
virtualDisksPath | Can be used as a parameter for the DiskPaths destination during the Restore as VM API call. |
memoryAllocation | Section containing the following integer values:
Usage: if during restore, you select a revision whose associated memory size was, at the time of backup, greater than "memoryAllocation.maximum", error message is "The source machine's original Memory configuration exceeds the available RAM resources on the target machine. Maximum value is {MAX_ALLOWED}, provided value was {USER_INPUT}" |
processorAllocation | Section containing the following integer values:
Usage: if during restore, you select a revision whose associated CPU allocation size was, at the time of backup, greater than processorAllocation.maximum, error message will be "The source machine's original CPU Cores configuration exceeds the available CPU resources on the target machine. Maximum value is {MAX_ALLOWED}, provided value was {USER_INPUT}" |
virtualizationVersion | String value, denoting either "V1", or "V2" virtualization version. Used for display purposes. |
Error codes
ErrorCode.HostNotInCatalog - if the provided hostId integer from Input section does not point to a valid Hyper-V server (the correct ids can be obtained via get list of hosts).
Example POST
POST /v2/accounts/test_acc/computers/0000/restore/hyperv/host/settings
Input Parameters
{
"id": 1,
"sessionId": "string"
}
Output Parameters
Response status: 200 Accepted (for online operation).
Example Response
"data": {
"virtualDisksPath": "C:\\Users\\Public\\Documents\\Hyper-V\\Virtual Hard Disks",
"memoryAllocation": {
"default": 1024,
"minimum": 32,
"maximum": 4266,
"increment": 2
},
"processorAllocation": {
"default": 1,
"minimum": 1,
"maximum": 8,
"increment": 1
},
"virtualizationVersion": 1
}
}