Veeam Backup & Replication 9.5 Update 4
RESTful API Reference
Related documents

(POST) /cloud/gatewayPools

Configures a new cloud gateway pool on the Veeam backup server connected to Veeam Backup Enterprise Manager.

To configure a cloud gateway pool, you must have at least one cloud gateway configured on the Veeam backup server.

Request

To create a new cloud gateway pool, you need to send the POST HTTP request to the URL of the /cloud/gatewayPools resource.

HTTP Request

POST http://<Enterprise-Manager>:9399/api/cloud/gatewayPools

Request Header

The request contains the following headers:

Header

Required

Description

X-RestSvcSessionId

True

The request requires authorization. In the header, the client must send a session ID copied from the server reply to the request creating a new logon session. To learn more, see Authentication and Security.

Content-Type

True

Identifies the format of the request body message. Possible values:

  • application/xml
  • application/json

Accept

False

Identifies the format of the response. Possible values:

  • application/xml — the client can sent this value in the header to accept response in the XML format.
  • application/json — the client must send this value in the header to accept the request in the JSON format.

If the request does not contain the header, the server will return the response in the XML format.

Request Body

In the request body, the client must send parameters for the new cloud gateway pool. The body of the request must conform to the XML Schema Definition of Veeam Backup Enterprise Manager RESTful API.

The request body must contain the following elements:

Element

Type

Description

Modifiable

Min/Max Occurrence

Name

String

Name of the created cloud gateway pool.

Yes

1/1

Description

String

Description for the created cloud gateway pool.

Yes

0/1

CloudGateways

CloudGatewayPool
GatewayListType

Specifies the list of cloud gateways included in the cloud gateway pool. At least one cloud gateway must be specified in order to create a cloud gateway pool. For more information, see Cloud Gateway Settings.

Yes

1/1

CloudTenants

CloudGatewayPool
TenantListType

Specifies the list of cloud tenants to whom the created cloud gateway pool will be assigned. This parameter is optional, because a cloud gateway pool can be assigned to no tenants. For more information, see Cloud Tenant Settings.

Yes

0/1

BackupServerUid

URN

UID of the Veeam backup server on which the cloud gateway pool must be created.

Yes

1/1

For example:

<CreateCloudGatewayPoolSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <Name>GatewayPool 1</Name>
 <Description>Created by REST API</Description>
 <CloudGateways>
   <CloudGatewayUid>urn:veeam:CloudGateway:0eade4fd-0b0c-4ce4-8c1f-ca60ec682d0e</CloudGatewayUid>
 </CloudGateways>
 <CloudTenants>
   <CloudTenantUid>urn:veeam:CloudTenant:5cf540af-512a-5ba8-9f12-77fba51207e0</CloudTenantUid>
 </CloudTenants>
 <BackupServerUid>urn:veeam:BackupServer:8c88c6d6-931f-4044-8c0b-7a0c5f188b00 179011f9-62c3-498c-9b5a-d5f227fd1dce</BackupServerUid>
</CreateCloudGatewayPoolSpec>

Cloud Gateway Settings

You can define the following parameters:

Element

Type

Description

Modifiable

Min/Max Occurrence

CloudGatewayUid

URN

UID of the cloud gateway included in the created cloud gateway pool. Can be obtained from the representation of the /cloud/gateways resource.

Yes

1/Unbounded

For example:

<CloudGateways>
   <CloudGatewayUid>urn:veeam:CloudGateway:0eade4fd-0b0c-4ce4-8c1f-ca60ec682d0e</CloudGatewayUid>
 </CloudGateways>

Cloud Tenant Settings

You can define the following parameters:

Element

Type

Description

Modifiable

Min/Max Occurrence

CloudTenantUid

URN

UID of the tenant account to which the created cloud gateway pool will be assigned. Can be obtained from the representation of the /cloud/tenants resource.

Yes

1/Unbounded

For example:

<CloudTenants>
   <CloudTenantUid>urn:veeam:CloudTenant:5cf540af-512a-5ba8-9f12-77fba51207e0</CloudTenantUid>
 </CloudTenants>

Response

The server returns the following response to the client.

Response Codes

A successfully completed operation returns response code 202 Accepted.

Response Headers

The response to this request contains the following headers. The response may also include additional standard HTTP headers.

Header

Description

Content-length

The length of the response body.

Content-type

The media type and syntax of the request body message. Possible values:

  • application/xml
  • application/json

Response Body

None.

Example

The example below creates a cloud gateway pool on the Veeam backup server having UID urn:veeam:BackupServer:29e5d158-1f58-44bc-bbaa-2752d787a91d.

Request:

POST http://localhost:9399/api/cloud/gatewayPools

 

Request Headers:

X-RestSvcSessionId   NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj
Content-Type         application/xml

 

Request Body:

<?xml version="1.0" encoding="utf-8"?>
<CreateCloudGatewayPoolSpec xmlns="http://www.veeam.com/ent/v1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
 <Name>GatewayPool 1</Name>
 <Description>Created by REST API</Description>
 <CloudGateways>
   <CloudGatewayUid>urn:veeam:CloudGateway:3e4e6d17-ee2a-430f-807c-8d92af2a5551</CloudGatewayUid>
 </CloudGateways>
 <CloudTenants>
   <CloudTenantUid>urn:veeam:CloudTenant:5cf540af-512a-5ba8-9f12-77fba51207e0</CloudTenantUid>
 </CloudTenants>
 <BackupServerUid>urn:veeam:BackupServer:29e5d158-1f58-44bc-bbaa-2752d787a91d</BackupServerUid>
</CreateCloudGatewayPoolSpec>

 

Response:

202 Accepted

 

Response Body:

<Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1">
 <Links>
   <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-1" />
 </Links>
 <TaskId>task-1</TaskId>
 <State>Running</State>
 <Operation>CreateCloudGatewayPool</Operation>
</Task>

To trace the status of the operation, send the GET HTTP request to the URL of the received task resource:

Request:

GET http://localhost:9399/api/tasks/task-1

 

Request Header:

X-RestSvcSessionId   NDRjZmJkYmUtNWE5NS00MTU2LTg4NjctOTFmMDY5YjdjMmNj

 

Response:

200 Success

 

Response Body:

<Task xmlns="http://www.veeam.com/ent/v1.0" Type="Task" Href="http://localhost:9399/api/tasks/task-1">
 <Links>
   <Link Rel="Delete" Type="Task" Href="http://localhost:9399/api/tasks/task-1" />
   <Link Rel="Related" Type="CloudGatewayPools" Href="http://localhost:9399/api/cloud/gatewayPools/64bf55fb-b53f-4214-950a-fcc3a241622b?format=Entity" Name="" />
 </Links>
 <TaskId>task-1</TaskId>
 <State>Finished</State>
 <Operation>CreateCloudGatewayPool</Operation>
 <Result Success="true">
   <Message>Ok</Message>
 </Result>
</Task>

This Document Help Center
User Guide for VMware vSphereUser Guide for Microsoft Hyper-VEnterprise Manager User GuideVeeam Cloud Connect GuideVeeam Agent Management GuideVeeam Explorers User GuideBackup and Restore of SQL Server DatabasesVeeam Plug-ins for Enterprise ApplicationsPowerShell ReferenceVeeam Explorers PowerShell ReferenceRESTful API ReferenceRequired Permissions ReferenceQuick Start Guide for VMware vSphereQuick Start Guide for Microsoft Hyper-VVeeam Backup for AWS DocumentationVeeam Availability for Nutanix AHV DocumentationVeeam Backup for Microsoft Office 365 DocumentationVeeam ONE DocumentationVeeam Agent for Windows DocumentationVeeam Agent for Linux DocumentationVeeam Management Pack Documentation
I want to report a typo

There is a misspelling right here:

 

I want to let the Veeam Documentation Team know about that.