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.

URL

HTTP Method

Security

See Also

Format

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

See 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:

NFS
SMB
HPE StoreOnce Catalyst
RepositoryIdentifier The internal identifier of the Repository.
RepositoryName The name of the Repository.
StorageType

The type of storage:

Network share
Selected PBBAs - HPE StoreOnce, ExaGrid, Dell EMC DataDomain
Other de-duplicating appliance.

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.