File Level Recovery
The File Level Recovery APIs enables you to view and recover specific files and folders from the recovery site from a specific point-in-time. Thus, you can recover files and folders for a virtual machine for as far back as the journal history is configured.
The user must be an administrator with viewing and managing VPG privileges.
The following APIs are available:
Create a New Mount
Mount a disk.
Note: | Only one disk can be mounted in a session. |
Method | URL |
---|---|
POST | https://zvm_ip:port/v1/flrs |
Where:
zvm_ip | The IP address of the Zerto Virtual Manager where the API is run. |
port | The port to access the Zerto Virtual Manager. The default port is 9669. |
Request Body Using Json Format
The following is an example of a Json request body for https://zvm_ip:port/v1/flrs.
{
"jflr" {
"CheckpointIdentifier": "6",
"VmIdentifier": "0a1d772d-0f69-4a0e-8063-f809aa9dc237.vm-70",
"VmVolumeIdentifier": "scsi:0:0",
"VpgIdentifier": "b797d92a-a65a-4e00-9410-1a3aff93480b"
}
}
Parameter | Description | Type | Mandatory |
---|---|---|---|
jflr | Details about the File Level Recovery session. | - | - |
CheckpointIdentifier |
The identifier of the checkpoint of the VPG. | string | Yes |
VmIdentifier |
The identifier of the virtual machine. | string | Yes |
VmVolumeIdentifier |
The identifier of the disk used by the VM. The disk identifier can use either the SCSI or IDE standards to describe controllers and units, for example: SCSI:0:0. |
string | Yes |
VpgIdentifier |
The internal VPG identifier. | string | Yes |
Response In Json Format
The following is an example of a Json response for https://zvm_ip:port/v1/flrs.
{
"2c1320bd-9210-4fbb-9b9a-b2c08e24699e.6b5b30d6-c090-4233-8466-5fe"
}
Parameter | Description |
---|---|
FlrSessionIdentifier | The File Level Recovery session identifier. |
Back to File Level Recovery
Back to All APIs
View Existing Sessions
Retrieve a list of mounted disks. There are several options to retrieve mounted disks:
• | Retrieve All Mounted Disks. |
• | Retrieve All Mounted Disks of a VM |
• | Retrieve a Single Mounted Disk. |
Retrieve All Mounted Disks
Method | URL |
---|---|
GET | https://zvm_ip:port/v1/flrs |
Where:
zvm_ip | The IP address of the Zerto Virtual Manager where the API is run. |
port | The port to access the Zerto Virtual Manager. The default port is 9669. |
Retrieve All Mounted Disks of a VM
Method | URL |
---|---|
GET | https://zvm_ip:port/v1/flrs?vmIdentifier={vmIdentifier} |
Where:
zvm_ip | The IP address of the Zerto Virtual Manager where the API is run. |
port | The port to access the Zerto Virtual Manager. The default port is 9669. |
vmIdentifier | The identifier of the VM. If the VM identifier is excluded, all open File Level Recovery sessions are displayed. |
Retrieve a Single Mounted Disk
Method | URL |
---|---|
GET | https://zvm_ip:port/v1/flrs/{flrSessionIdentifier} |
Where:
zvm_ip | The IP address of the Zerto Virtual Manager where the API is run. |
port | The port to access the Zerto Virtual Manager. The default port is 9669. |
flrSessionIdentifier | The identifier of the File Level Recovery session. |
Request Body Using Json Format
The request body is empty.
Response In Json Format
The following is an example of a Json response for:
• | All mounted disks: https://zvm_ip:port/v1/flrs |
• | All disks of a VM: https://zvm_ip:port/v1/flrs?vmIdentifier={vmIdentifier} |
• | A single disk (without the array statement): https://zvm_ip:port/v1/flrs/{flrSessionIdetifier} |
[
{
"CheckpointIdentifier": "6",
"FlrSessionIdentifier": "2c120bd-9210-4fbb-9b9a-b2c08e24699e.6b30d6-c090-4233-84e18bf39a4c",
"FlrSessionStatus": "MountCompletedSuccessfully",
"FlrSessionType": "jflr",
"MountTime": "2018-03-04T12:24:41.551Z",
"VmIdentifier": "0a1d772d-0f69-4a0e-8063-f809aa9dc237.vm-70",
"VmVolumeIdentifier": "Scsi:0:0",
"VpgIdentifier": "b797d92a-a65a-4e00-9410-1a3aff93480b"
}
]
Parameter | Description | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CheckpointIdentifier | The identifier of the checkpoint of the VPG. | ||||||||||||||||||
FlrSessionIdentifier | The File Level Recovery session identifier. | ||||||||||||||||||
FlrSessionStatus | The status of the request to mount. Possible values are:
|
||||||||||||||||||
FlrSessionType | The File Level Recovery session type: jflr. |
||||||||||||||||||
MountTime | The date and time when the mount was created, in the format yyyy-mm-ddThh:mm:ss.fffZ, set to UTC. | ||||||||||||||||||
VmIdentifier | The internal identifier of the VM. | ||||||||||||||||||
VmVolumeIdentifier | The identifier of the disk used by the VM. The disk identifier can use either the SCSI or IDE standards to describe controllers and units, for example: SCSI:0:0. |
||||||||||||||||||
VpgIdentifier | The internal identifier of the VPG. |
Back to File Level Recovery
Back to All APIs
Browse The Disk
Retrieve a list of files or folders existing in a disk.
The information can be retrieved for one path at a time.
Method | URL |
---|---|
POST | https://zvm_ip:port/v1/flrs/{flrsessionIdentifier}/browse |
Where:
zvm_ip | The IP address of the Zerto Virtual Manager where the API is run. |
port | The port to access the Zerto Virtual Manager. The default port is 9669. |
flrsessionIdentifier | The File Level Recovery session identifier. |
Request Body Using Json Format
The following is an example of a Json request body for https://zvm_ip:port/v1/flrs/{flrsessionIdentifier}/browse.
{
"path": "partition#1 Ext3"
}
Parameter | Description | Type | Mandatory |
---|---|---|---|
Path | The path to a partition, folder or file. An empty Path value returns all existing partitions in the disk. Use a single forward slash (/) to separate the components of a path. For example: ZertoVMs/dummy_vra_znest175hv02.zertolab.local/RecoveryVolumes/41b4fac2/vm44/VM-1.vhdx. Backslash (\) is not supported. |
string | Yes |
Response In Json Format
The following is an example of a Json response for https://zvm_ip:port/v1/flrs/{flrsessionIdentifier}/browse
{
"MainPathItem": {
"CreationTime": "2018-03-05T12:13:22.365Z",
"DownloadInformation": {
"AdditionalInformation": null,
"IsDownloadable": true
}
"IsBrowsable": true,
"LastAccessTime": "2018-03-05T12:13:22.365Z",
"LastWriteTime": "2018-03-05T12:13:22.365Z",
"Path": "",
"SizeInBytes": null,
"Type": "Partition"
},
"PathItems": [
{
"CreationTime": "2018-03-05T12:13:22.365Z",
"DownloadInformation": {
"AdditionalInformation": "Cannot restore. Links are not supported.",
"IsDownloadable": false
},
"IsBrowsable": false,
"LastAccessTime": "2018-03-05T12:13:22.365Z",
"LastWriteTime": "2018-03-05T12:13:22.365Z",
"Path": "partition#0 Ext3\\cdrom",
"SizeInBytes": 0,
"Type": "File"
}]
}
Parameter | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
MainPathItem | Details regarding the path mentioned in the request body. | |||||||||
CreationTime |
The time in which the API was run, in the format yyyy-mm-ddThh:mm:ss.fffZ, set to UTC. | |||||||||
DownloadInformation |
Details regarding downloading the partition, folder or file. | |||||||||
AdditionalInformation |
Additional information regarding the ability to download the partition, folder or file. | |||||||||
IsDownloadable |
True: The partition can be downloaded. False: The partition cannot be downloaded. |
|||||||||
IsBrowsable |
True: The partition can be browsed. False: The partition cannot be browsed. |
|||||||||
LastAccessTime |
The date and time the item was last accessed in the disk, in the format yyyy-mm-ddThh:mm:ss.fffZ, set to UTC. | |||||||||
LastWriteTime |
The date and time the item was last edited, in the format yyyy-mm-ddThh:mm:ss.fffZ, set to UTC. | |||||||||
Path |
The path to the partition. When the path value in the request body is empty, the MainPathItem path is empty. |
|||||||||
SizeInBytes |
The size of the item, in bytes. | |||||||||
Type |
The type of item. Possible values are:
|
|||||||||
PathItems | Details regarding the sub items of the main path item. If the value of the path in the request body is a file, the PathItems list is empty. If the path value in the request body is empty, PathItems displays details regarding the highest partition. |
|||||||||
CreationTime |
The time in which the API was run in the format, yyyy-mm-ddThh:mm:ss.fffZ, set to UTC. | |||||||||
DownloadInformation |
Details regarding the download. | |||||||||
AdditionInformation |
Additional information regarding the partition, folder or file. | |||||||||
IsDownloadable |
True: The partition, folder or file can be downloaded. False: The partition, folder or file cannot be downloaded. |
|||||||||
IsBrowsable |
True: The item is a folder or a partition and is browsable. False: The item is a file, and is not browsable. |
|||||||||
LastAccessTime |
The date and time the item was last accessed in the disk, in the format yyyy-mm-ddThh:mm:ss.fffZ, set to UTC. | |||||||||
LastWriteTime |
The date and time the item was last edited, in the format yyyy-mm-ddThh:mm:ss.fffZ, set to UTC. | |||||||||
Path |
The path to the item. | |||||||||
SizeInBytes |
The size of the item, in bytes. | |||||||||
Type |
The type of item. Possible values are:
|
Back to File Level Recovery
Back to All APIs
Select and Download Items
Note the following:
• | Up to 20 items can be downloaded. |
• | The items are automatically compressed if the user selects one of the following: |
• | More than one file |
• | A folder |
• | Multiple folders |
• | A partition |
Method | URL |
---|---|
POST | https://zvm_ip:port/v1/flrs/{flrsessionIdentifier}/download |
Where:
zvm_ip | The IP address of the Zerto Virtual Manager where the API is run. |
port | The port to access the Zerto Virtual Manager. The default port is 9669. |
flrsessionIdentifier | The File Level Recovery session identifier. |
Request Body Using Json Format
The following is an example of a Json request body for https://zvm_ip:port/v1/flrs/{flrsessionIdentifier}/download.
{
"Compress": false,
"PathList":
[
"partition#0 Ext3\\initrd.img"
]
}
Parameter | Description | Type | Mandatory | Default |
---|---|---|---|---|
Compress | Whether to compress the file. True: Compress the file. False: Don’t compress the file. |
boolean | No | True |
PathList | The path to the file or folder that’s being downloaded. If the PathList is empty, the entire disk is downloaded. |
string | Yes |
- |
Response In Json Format
The following is an example of a Json response for https://zvm_ip:port/v1/flr/{flrsessionIdentifier}/download
{
"v1/downloads/6b5b30d6-c090-4233-8466-5fe18bf39a4c.9eb56867-2537-47d2-9396-3b0b8a5cd11c"
}
Parameter | Description |
---|---|
DownloadLink | The File Level Recovery session identifier. The link is valid for 10 seconds. |
Back to File Level Recovery
Back to All APIs
Unmount a Disk
Unmount a previously mounted disk
Method | URL |
---|---|
DELETE | https://zvm_ip:port/v1/flrs/{flrsessionIdentifier} |
Where:
zvm_ip | The IP address of the Zerto Virtual Manager where the API is run. |
port | The port to access the Zerto Virtual Manager. The default port is 9669. |
flrsessionIdentifier | The File Level Recovery session identifier. |
Request Body Using Json Format
The request body is empty.
Response In Json Format
The following is an example of a Json response for https://zvm_ip:port/v1/flr/{flrsessionIdentifier}.
"0c66b743-01d3-42c5-844b-bf5d4283ddb1.6b5b30d6-c090-4233-8466-5fe18bf39a4c"
Parameter | Description |
---|---|
TaskIdentifier | The identifier of the task. The task identifier can be used with the Tasks API to monitor the unmount action. |
Back to File Level Recovery
Back to All APIs