Resource Representations for Resource Collections
For collections of key resources, Veeam Backup Enterprise Manager RESTful API provides the same two types of representations as for specific entities of key resources:
- Entity reference resource representation
- Entity resource representation
For example, a reference representation for a collection of cloud tenant accounts looks similar to the following:
<EntityReferences xmlns="http://www.veeam.com/ent/v1.0"> <Ref Type="CloudTenantReference" Href="http://localhost:9399/api/cloud/tenants/6faeea03-a787-4b2d-a0e5-3fe215d50c53" Name="Applied Systems Company" UID="urn:veeam:CloudTenant:6faeea03-a787-4b2d-a0e5-3fe215d50c53"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/8fff3b8e-c3f1-4ef5-aecc-561f07bf9982" Name="172.17.53.48" /> <Link Rel="Alternate" Type="CloudTenant" Href="http://localhost:9399/api/cloud/tenants/6faeea03-a787-4b2d-a0e5-3fe215d50c53?format=Entity" Name="Applied Systems Company" /> </Links> </Ref> <Ref Type="CloudTenantReference" Href="http://localhost:9399/api/cloud/tenants/b25f5f1d-a3c3-45ed-af23-9ef31a94dac7" Name="ABC Company" UID="urn:veeam:CloudTenant:b25f5f1d-a3c3-45ed-af23-9ef31a94dac7"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/8fff3b8e-c3f1-4ef5-aecc-561f07bf9982" Name="172.17.53.48" /> <Link Rel="Alternate" Type="CloudTenant" Href="http://localhost:9399/api/cloud/tenants/b25f5f1d-a3c3-45ed-af23-9ef31a94dac7?format=Entity" Name="ABC Company" /> </Links> </Ref> </EntityReferences> |
To get an entity representation of the resource collection, the client should send the GET HTTP request to the URL of the resource entity, for example:
GET http://localhost:9399/api/cloud/tenants?format=Entity |
In the response, the server returns an entity representation providing complete information about all resources in the collection:
<CloudTenants xmlns="http://www.veeam.com/ent/v1.0"> <CloudTenant Type="CloudTenant" Href="http://localhost:9399/api/cloud/tenants/6faeea03-a787-4b2d-a0e5-3fe215d50c53?format=Entity" Name="Applied Systems Company" UID="urn:veeam:CloudTenant:6faeea03-a787-4b2d-a0e5-3fe215d50c53"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/8fff3b8e-c3f1-4ef5-aecc-561f07bf9982" Name="172.17.53.48" /> <Link Rel="Alternate" Type="CloudTenantReference" Href="http://localhost:9399/api/cloud/tenants/6faeea03-a787-4b2d-a0e5-3fe215d50c53" Name="Applied Systems Company" /> <Link Rel="Edit" Type="CloudTenantReference" Href="http://localhost:9399/api/cloud/tenants/6faeea03-a787-4b2d-a0e5-3fe215d50c53" Name="Applied Systems Company" /> <Link Rel="Down" Type="CloudTenantResourceList" Href="http://localhost:9399/api/cloud/tenants/6faeea03-a787-4b2d-a0e5-3fe215d50c53/resources" /> <Link Rel="Create" Type="CloudTenantResource" Href="http://localhost:9399/api/cloud/tenants/6faeea03-a787-4b2d-a0e5-3fe215d50c53/resources" /> <Link Rel="Delete" Type="CloudTenant" Href="http://localhost:9399/api/cloud/tenants/6faeea03-a787-4b2d-a0e5-3fe215d50c53" Name="Applied Systems Company" /> <Link Rel="Down" Type="CloudTenantComputeResourceList" Href="http://localhost:9399/api/cloud/tenants/6faeea03-a787-4b2d-a0e5-3fe215d50c53/computeResources" /> <Link Rel="Create" Type="CloudTenantComputeResource" Href="http://localhost:9399/api/cloud/tenants/6faeea03-a787-4b2d-a0e5-3fe215d50c53/computeResources" /> </Links> <Description>Tenant account for Applied Systems Company</Description> <Enabled>true</Enabled> <LeaseOptions Enabled="false" /> <Resources> <CloudTenantResource Type="CloudTenantResource" Href="http://localhost:9399/api/cloud/tenants/6faeea03-a787-4b2d-a0e5-3fe215d50c53/resources/82e08f60-0eef-4f28-84e7-43666d8658b8" Id="82e08f60-0eef-4f28-84e7-43666d8658b8"> <RepositoryQuota> <DisplayName>Cloud Repository 1</DisplayName> <RepositoryUid>urn:veeam:Repository:891a508a-36e4-427b-9499-8da4fba3f397</RepositoryUid> <Quota>10240</Quota> <UsedQuota>0</UsedQuota> </RepositoryQuota> </CloudTenantResource> </Resources> <LastResult>None</LastResult> <LastActive>2016-01-10T15:48:59.447Z</LastActive> <ComputeResources> <CloudTenantComputeResource Type="CloudTenantComputeResource" Href="http://localhost:9399/api/cloud/tenants/6faeea03-a787-4b2d-a0e5-3fe215d50c53/computeResources/9394795a-c9e5-4193-be33-00f1aedbfa50" Id="9394795a-c9e5-4193-be33-00f1aedbfa50"> <CloudHardwarePlanUid>urn:veeam:CloudHardwarePlan:82951b35-4581-4610-983a-e3a12aea1a8e</CloudHardwarePlanUid> <PlatformType>HyperV</PlatformType> <UseNetworkFailoverResources>false</UseNetworkFailoverResources> <ComputeResourceStats> <MemoryUsageMb>0</MemoryUsageMb> <CPUCount>0</CPUCount> <StorageResourceStats> <StorageResourceStat> <StorageName>Cloud Replicas</StorageName> <StorageUsageGb>0</StorageUsageGb> <StorageLimitGb>100</StorageLimitGb> </StorageResourceStat> </StorageResourceStats> </ComputeResourceStats> </CloudTenantComputeResource> </ComputeResources> <ThrottlingEnabled>false</ThrottlingEnabled> <ThrottlingSpeedLimit>1</ThrottlingSpeedLimit> <ThrottlingSpeedUnit>MBps</ThrottlingSpeedUnit> <PublicIpCount>0</PublicIpCount> <BackupCount>0</BackupCount> <ReplicaCount>0</ReplicaCount> </CloudTenant> <CloudTenant Type="CloudTenant" Href="http://localhost:9399/api/cloud/tenants/b25f5f1d-a3c3-45ed-af23-9ef31a94dac7?format=Entity" Name="ABC Company" UID="urn:veeam:CloudTenant:b25f5f1d-a3c3-45ed-af23-9ef31a94dac7"> <Links> <Link Rel="Up" Type="BackupServerReference" Href="http://localhost:9399/api/backupServers/8fff3b8e-c3f1-4ef5-aecc-561f07bf9982" Name="172.17.53.48" /> <Link Rel="Alternate" Type="CloudTenantReference" Href="http://localhost:9399/api/cloud/tenants/b25f5f1d-a3c3-45ed-af23-9ef31a94dac7" Name="ABC Company" /> <Link Rel="Edit" Type="CloudTenantReference" Href="http://localhost:9399/api/cloud/tenants/b25f5f1d-a3c3-45ed-af23-9ef31a94dac7" Name="ABC Company" /> <Link Rel="Down" Type="CloudTenantResourceList" Href="http://localhost:9399/api/cloud/tenants/b25f5f1d-a3c3-45ed-af23-9ef31a94dac7/resources" /> <Link Rel="Create" Type="CloudTenantResource" Href="http://localhost:9399/api/cloud/tenants/b25f5f1d-a3c3-45ed-af23-9ef31a94dac7/resources" /> <Link Rel="Delete" Type="CloudTenant" Href="http://localhost:9399/api/cloud/tenants/b25f5f1d-a3c3-45ed-af23-9ef31a94dac7" Name="ABC Company" /> <Link Rel="Down" Type="CloudTenantComputeResourceList" Href="http://localhost:9399/api/cloud/tenants/b25f5f1d-a3c3-45ed-af23-9ef31a94dac7/computeResources" /> <Link Rel="Create" Type="CloudTenantComputeResource" Href="http://localhost:9399/api/cloud/tenants/b25f5f1d-a3c3-45ed-af23-9ef31a94dac7/computeResources" /> </Links> <Description>Tenant account for ABC Company</Description> <Enabled>true</Enabled> <LeaseOptions Enabled="false" /> <Resources> <CloudTenantResource Type="CloudTenantResource" Href="http://localhost:9399/api/cloud/tenants/b25f5f1d-a3c3-45ed-af23-9ef31a94dac7/resources/2fcc7f11-2a33-448d-a242-ba8f0618c97b" Id="2fcc7f11-2a33-448d-a242-ba8f0618c97b"> <RepositoryQuota> <DisplayName>ABC Cloud Vol1</DisplayName> <RepositoryUid>urn:veeam:Repository:a0f35f34-8d58-4470-b52d-071e1417732a</RepositoryUid> <WanAcceleratorUid>urn:veeam:WanAccelerator:34ebeeb4-75d0-4e71-b315-fbc16eb2975f</WanAcceleratorUid> <Quota>307200</Quota> <UsedQuota>26888</UsedQuota> </RepositoryQuota> </CloudTenantResource> <CloudTenantResource Type="CloudTenantResource" Href="http://localhost:9399/api/cloud/tenants/b25f5f1d-a3c3-45ed-af23-9ef31a94dac7/resources/8c6aa6b6-4668-4f81-9729-60c56b9b300b" Id="8c6aa6b6-4668-4f81-9729-60c56b9b300b"> <RepositoryQuota> <DisplayName>Cloud Repository 2</DisplayName> <RepositoryUid>urn:veeam:Repository:0a9c15f5-bc17-4848-a14b-b2ec3f9919ea</RepositoryUid> <Quota>102400</Quota> <UsedQuota>26888</UsedQuota> </RepositoryQuota> </CloudTenantResource> </Resources> <LastResult>Success</LastResult> <LastActive>2016-01-10T21:12:23Z</LastActive> <ComputeResources> <CloudTenantComputeResource Type="CloudTenantComputeResource" Href="http://localhost:9399/api/cloud/tenants/b25f5f1d-a3c3-45ed-af23-9ef31a94dac7/computeResources/25f485fd-06e3-4ee2-9703-465c4d8c2fae" Id="25f485fd-06e3-4ee2-9703-465c4d8c2fae"> <CloudHardwarePlanUid>urn:veeam:CloudHardwarePlan:91156f8d-8bd3-44af-bec3-b6ac2ea24288</CloudHardwarePlanUid> <WanAcceleratorUid>urn:veeam:WanAccelerator:34ebeeb4-75d0-4e71-b315-fbc16eb2975f</WanAcceleratorUid> <PlatformType>VMware</PlatformType> <UseNetworkFailoverResources>true</UseNetworkFailoverResources> <NetworkAppliance> <Name>Cloud Appliance ABC Company(esx01)</Name> <ProductionNetwork>VM Network</ProductionNetwork> <ObtainIPAddressAutomatically>true</ObtainIPAddressAutomatically> </NetworkAppliance> <ComputeResourceStats> <MemoryUsageMb>8192</MemoryUsageMb> <CPUCount>2</CPUCount> <StorageResourceStats> <StorageResourceStat> <StorageName>Cloud Replicas</StorageName> <StorageUsageGb>34</StorageUsageGb> <StorageLimitGb>300</StorageLimitGb> </StorageResourceStat> </StorageResourceStats> </ComputeResourceStats> </CloudTenantComputeResource> </ComputeResources> <ThrottlingEnabled>false</ThrottlingEnabled> <ThrottlingSpeedLimit>10</ThrottlingSpeedLimit> <ThrottlingSpeedUnit>MBps</ThrottlingSpeedUnit> <PublicIpCount>2</PublicIpCount> <BackupCount>1</BackupCount> <ReplicaCount>2</ReplicaCount> </CloudTenant> </CloudTenants> |