Virtualization Sites API
Important: This document is being phased out and does not contain up-to-date information. For updated API documentation for Zerto versions 9.5 and later, see ZVM REST API - Swagger.
You can also access Swagger from the ZVM: click the menu button () on the top right and select APIs or navigate to https://<ZVM IP>:9669/swagger/index.html in a Windows ZVM or https://<ZVM IP>/management/api/swagger/index.html in ZVM Appliance.
/v1/virtualizationsites
returns information about the hypervisor site where the API is run and all the sites paired with this site. The information returned can be tailored to specific information about the resources managed at a specified site.
For VCD Virtualization Sites APIs see vCD Virtualization Sites APIs.
URL
All sites | https://zvm_ip:port/v1/virtualizationsites |
Single site | https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier} |
Storage clusters at site | https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/datastoreclusters |
Storage at site | https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/datastores |
Devices at all hosts | https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/devices |
Devices at a single host | https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/devices?hostIdenifier={hostIdentifier} |
Folders at site | https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/folders |
Host clusters at site | https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/hostclusters |
Hosts at site | https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/hosts |
Single host at site | https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/hosts/{hostIdentifier} |
Networks at site | https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/networks |
Repositories at site | https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/repositories |
Resource pools at site | https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/resourcepools |
Unprotected VMs at site | https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/vms |
VM Instance Types
See VM Instance Type |
https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/publicCloud/vmInstanceTypes
|
Available vNets
See Available vNets |
https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/publicCloud/virtualNetworks
|
Available Subnets | https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/publicCloud/subnets
|
Security Groups
See Security Groups |
https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/publicCloud/securityGroups
|
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. | |
siteIdentifier | The identifier of the site for which information is returned. | |
hostIdentifier | The identifier of the host for which information is returned. |
HTTP Method
GET
Security
The API is exposed over HTTPS. Client code must use the x-zerto-session HTTP authorization header.
See Also
Starting a session: Session: POST
vCD APIs: Managing vCD APIs
Return the details of the peer sites: Peer Sites API
Return a list of protected virtual machines: Protected VMs API
Format
Json, XML
Request Body Using Json Format
The request body is empty.
Response In Json Format
Virtualization sites
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites and for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}.
[{
"SiteIdentifier": "String content",
"VirtualizationSiteName": "String content"
}
{
"SiteIdentifier": "String content",
"VirtualizationSiteName": "String content"
]
Datastore clusters
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/datastoreclusters.
[{
"DatastoreClusterName": "String content"
}
{
"DatastoreClusterName": "String content"
}]
Datastores
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/datastores.
[{
"DatastoreIdentifier": "String content",
"DatastoreName": "String content"
}
{
"DatastoreIdentifier": "String content",
"DatastoreName": "String content"
}]
Devices for all hosts
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/devices
[{
"DeviceIdentifier": "String content",
"DatastoreIdentifier": "String content",
"VmIdentifier": "String content",
"HostIdentifiers {
"HostIdentifier": "String content"
}
"SizeInKb":
}]
Devices for a specific host
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/devices&hostIdentifier={hostIdentifier}
{
"DeviceIdentifier": "String content",
"DatastoreIdentifier": "String content",
"VmIdentifier": "String content",
"HostIdentifier": "String content",
"SizeInKb":
}
Folders
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/folders.
[{
"FolderIdentifier": "String content",
"FolderName": "String content"
}
{
"FolderIdentifier": "String content",
"FolderName": "String content"
}]
Host clusters
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/hostclusters.
[{
"ClusterIdentifier": "String content",
"VirtualizationClusterName": "String content"
}
{
"ClusterIdentifier": "String content",
"VirtualizationClusterName": "String content"
}]
Hosts
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/hosts and for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/hosts/{hostIdentifier}.
[{
"HostIdentifier": "String content",
"VirtualizationHostName": "String content"
}
{
"HostIdentifier": "String content",
"VirtualizationHostName": "String content"
}]
Networks
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/networks.
[{
"NetworkIdentifier": "String content",
"VirtualizationNetworkName": "String content"
}
{
"NetworkIdentifier": "String content",
"VirtualizationNetworkName": "String content"
}]
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/repositories.
[{
"Path": "String content",
"ConnectionType": "String content"
"RepositoryIdentifier": "String content",
"RepositoryName": "String content"
"StorageType": "String content"
}]
VMware only: Resource Pools
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/resourcepools.
[{
"ResourcePoolIdentifier": "String content",
"ResourcepoolName": "String content"
}
{
"ResourcePoolIdentifier": "String content",
"ResourcepoolName": "String content"
}]
Unprotected VMs
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/vms.
[{
"VmIdentifier": "String content",
"VmName": "String content"
}
{
"VmIdentifier": "String content",
"VmName": "String content"
}]
VM Instance Type
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/publicCloud/vmInstanceTypes
[{
“VMInstanceType”: “Standard_DS1_v2”,
“Description”: “string” ,
“VMSeries”: “DSv-2”,
“IsPremiumSupported”: boolean
}
{
Available vNets
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/publicCloud/virtualNetworks
[{
“VirtualNetworkIdentifier”: string,
“VirtualNetworkName”: string,
}
{
Available Subnets
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/publicCloud/subnets
[{
“VirtualNetworkIdentifier”:string,
“SubnetIdentifier”: string,
“SubnetName”: string,
“IPRange”: string - e.g. 10.0.0.0/24
}
{
Security Groups
The following is an example response Json body for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/publicCloud/securityGroups
[{
“SecurityGroupIdentifier”: string,
“SecurityGroupName”: string,
}
{
XML Response Format
For the XML response format, see Virtualization Sites API XML Response Format.
Response Values
Response values for https://zvm_ip:port/v1/virtualizationsites and for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}.
Parameter | Description |
SiteIdentifier | The identifier of the Zerto Virtual Manager site. |
VirtualizationSiteName | The hypervisor manager name. For example the VMware vCenter Server name or Microsoft SCVMM name. |
Response values for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/datastoreclusters.
Parameter | Description |
DatastoreClusterName | The storage cluster name. |
Note: Storage in Microsoft SCVMM is also returned using this API.
Response values for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/datastores.
Parameter |
Description |
DatastoreIdentifier | The internal identifier of the storage. The identifier comprises the server identifier and the storage moref, with the format, serverid.moref. |
DatastoreName | The storage name. |
Note: Storage in Microsoft SCVMM is also returned using this API and the response labels are DatastoreIdentifier and DatastoreName.
Response values for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/devices
Parameter | Description |
DeviceIdentifier | The unique identifier of the device. |
DatastoreIdentifier | The identifier of the datastore that uses the device. If no value is set (null), then it means no datastore is using this device. The identifier comprises the server identifier and the storage moref, with the format, serverid.moref. |
VmIdentifier | This the identifier of the VM that uses this device. If no VM is using this device, then value is null. When a device is used directly by a VM, this state is called RDM (Raw Device Management). |
HostIdentifiers | A list of all hosts that can reach this device. That is, this device can be allocated for any entity in the domain of the particular host (datastore or VM). |
HostIdentifier |
The unique identifier of the host. |
SizeInKb | The amount of storage allocated for the device |
Response values for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/devices&hostIdentifier={hostIdentifier}
Parameter | Description |
DeviceIdentifier | The unique identifier of the device. |
DatastoreIdentifier | The identifier of the datastore where the disk is stored.The identifier comprises the server identifier and the storage moref, with the format, serverid.moref. |
VmIdentifier | The unique identifier of the VM |
HostIdentifier | The unique identifier of the host. |
SizeInKb | The size of the device in KB. |
Response values for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/folders.
Parameter | Description |
FolderIdentifier | The internal identifier of the folder. The identifier comprises the server identifier and the folder moref, with the format, serverid.moref. |
FolderName | The folder name. |
Response values for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/hostclusters.
Parameter | Description |
ClusterIdentifier | The unique identifier of the host cluster. The identifier comprises the server identifier and the host cluster moref, with the format, serverid.moref. |
VirtualizationClusterName | The name of the host cluster. |
Response values for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/hosts and for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/hosts/{hostIdentifier}.
Parameter | Description |
HostIdentifier | The unique identifier of the host. |
VirtualizationHostName | The name of the host. |
Response values for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/networks.
Parameter | Description |
NetworkIdentifier | The internal identifier of the network. |
VirtualizationNetworkName | The network name. If identical network names are returned, the switch name will be added to the network name. For example, VM network (DSwitch). |
Response values for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/repositories.
Parameter | Description | |||||||||
Path |
The path where the Repository will reside. This field does not apply to HPE StoreOnce Catalyst connection type. Zerto recommends using an empty folder when creating a new Repository. The path must be accessible from the VRA, so if the Repository is on a different domain, the domain must be included in the path. |
|||||||||
ConnectionType |
The type of connection:
|
|||||||||
RepositoryIdentifier | The internal identifier of the Repository. | |||||||||
RepositoryName | The name of the Repository. |
|||||||||
StorageType |
The type of storage:
|
VMware only: Response values for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/resourcepools.
Parameter | Description |
ResourcePoolIdentifier | |
ResourcepoolName |
Response values for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/vms.
Parameter | Description |
VmIdentifier | The internal identifier of the virtual machine that is not protected by Zerto. |
VmName | The virtual machine name that is not protected by Zerto. |
Note: The response includes:
a. | Virtual machines that are not protected in any VPG. |
b. | Virtual machines that are protected in VPGs but can be protected in additional VPGs. A virtual machine can be protected in a maximum number of three VPGs as long as: |
• | The VPGs do not recover to the same site. |
• | The protected and recovery sites, as well as the VRAs on each site, are of version 5.0 and higher. |
Response values for https://zvm_ip:port/v1/virtualizationsites/{siteIdentifier}/publicCloud/vmInstanceTypes
Parameter | Description |
VmIdentifier | The internal identifier of the virtual machine that is not protected by Zerto. |
VmName | The virtual machine name that is not protected by Zerto. |