System Administration > Configuration > Fabric > Pool Management

Associated URIs:

API Description API Path

Returns list of configured IP address blocks.


Returns information about configured IP address blocks. Information includes
the id, display name, description & CIDR of IP address blocks
GET /api/v1/pools/ip-blocks

Create a new IP address block.


Creates a new IPv4 address block using the specified cidr. cidr is a required
parameter. display_name & description are optional parameters
POST /api/v1/pools/ip-blocks

Delete an IP Address Block


Deletes the IP address block with specified id if it exists. IP
block cannot be deleted if there are allocated subnets from the block.
DELETE /api/v1/pools/ip-blocks/<block-id>

Get IP address block information.


Returns information about the IP address block with specified id.
Information includes id, display_name, description & cidr.
GET /api/v1/pools/ip-blocks/<block-id>

Update an IP Address Block


Modifies the IP address block with specifed id. display_name, description
and cidr are parameters that can be modified. If a new cidr is specified,
it should contain all existing subnets in the IP block. Returns a conflict error
if the IP address block cidr can not be modified due to the presence of
subnets that it contains. Eg: If the IP block contains a subnet 192.168.0.1/24
and we try to change the IP block cidr to 10.1.0.1/16, it results in a conflict.
PUT /api/v1/pools/ip-blocks/<block-id>

List IP Pools


Returns information about the configured IP address pools. Information
includes the display name and description of the pool and the details of
each of the subnets in the pool, including the DNS servers, allocation
ranges, gateway, and CIDR subnet address.
GET /api/v1/pools/ip-pools

Create an IP Pool


Creates a new IPv4 or IPv6 address pool. Required parameters are
allocation_ranges and cidr. Optional parameters are display_name,
description, dns_nameservers, dns_suffix, and gateway_ip.
POST /api/v1/pools/ip-pools

Delete an IP Pool


Deletes the specified IP address pool. By default, if the IpPool is used in other configurations (such as transport node template), it won't be deleted. In such situations, pass "force=true" as query param to force delete the IpPool
DELETE /api/v1/pools/ip-pools/<pool-id>

Read IP Pool


Returns information about the specified IP address pool.
GET /api/v1/pools/ip-pools/<pool-id>

Allocate or Release an IP Address from a Pool


Allocates or releases an IP address from the specified IP pool. To allocate
an address, include ?action=ALLOCATE in the request and "allocation_id":null
in the request body. When the request is successful, the response is
"allocation_id": "<ip-address>", where <ip-address> is an IP address from
the specified pool. To release an IP address (return it back to the pool),
include ?action=RELEASE in the request and "allocation_id":<ip-address> in
the request body, where <ip-address> is the address to be released. When the
request is successful, the response is NULL. Tags, display_name and description
attributes are not supported for AllocationIpAddress in this release.
POST /api/v1/pools/ip-pools/<pool-id>

Update an IP Pool


Modifies the specified IP address pool. Modifiable parameters include the
description, display_name, and all subnet information.
PUT /api/v1/pools/ip-pools/<pool-id>

List IP Pool Allocations


Returns information about which addresses have been allocated from a
specified IP address pool.
GET /api/v1/pools/ip-pools/<pool-id>/allocations

List subnets within an IP block


Returns information about all subnets present within an IP address
block. Information includes subnet's id, display_name, description, cidr and
allocation ranges.
GET /api/v1/pools/ip-subnets

Create subnet of specified size within an IP block


Carves out a subnet of requested size from the specified IP block. The "size"
parameter and the "block_id " are the requireds field while invoking this API.
If the IP block has sufficient resources/space to allocate a subnet of specified size,
the response will contain all the details of the newly created subnet including the
display_name, description, cidr & allocation_ranges. Returns a conflict error
if the IP block does not have enough resources/space to allocate a subnet of
the requested size.
POST /api/v1/pools/ip-subnets

Delete subnet within an IP block


Deletes a subnet with specified id within a given IP address block.
Deletion is allowed only when there are no allocated IP addresses
from that subnet.
DELETE /api/v1/pools/ip-subnets/<subnet-id>

Get the subnet within an IP block


Returns information about the subnet with specified id within a given
IP address block. Information includes display_name, description, cidr and
allocation_ranges.
GET /api/v1/pools/ip-subnets/<subnet-id>

Allocate or Release an IP Address from a Ip Subnet


Allocates or releases an IP address from the specified IP subnet. To allocate
an address, include ?action=ALLOCATE in the request and a "{}"
in the request body. When the request is successful, the response is
"allocation_id": "<ip-address>", where <ip-address> is an IP address from
the specified pool. To release an IP address (return it back to the pool),
include ?action=RELEASE in the request and "allocation_id":<ip-address> in
the request body, where <ip-address> is the address to be released. When the
request is successful, the response is NULL.
POST /api/v1/pools/ip-subnets/<subnet-id>

List MAC Pools


Returns a list of all the MAC pools
GET /api/v1/pools/mac-pools

Read MAC Pool


Returns information about the specified MAC pool.
GET /api/v1/pools/mac-pools/<pool-id>

List VNI Pools


Returns information about the default and configured virtual
network identifier (VNI) pools for use when building logical network
segments. Each virtual network has a unique ID called a VNI. Instead
of creating a new VNI each time you need a new logical switch, you
can instead allocate a VNI from a VNI pool. VNI pools are sometimes
called segment ID pools. Each VNI pool has a range of usable VNIs. By
default, there is one pool with two ranges [5000, 65535] and [65536,
75000]. To create multiple smaller pools, specify a smaller range for
each pool such as 75001-75100 and 75101-75200. The VNI range determines
the maximum number of logical switches that can be created in each
network segment.
GET /api/v1/pools/vni-pools

Create a new VNI Pool.


Creates a new VNI pool using the specified VNI pool range. The range
should be non-overlapping with an existing range. If the range in
payload is present or overlaps with an existing range, return code 400
with bad request and an error message is returned mentioning that the
given range overlaps with an existing range.
POST /api/v1/pools/vni-pools

Delete a VNI Pool


Deletes the given VNI pool.
DELETE /api/v1/pools/vni-pools/<pool-id>

Read VNI Pool


Returns information about the specified virtual network identifier (VNI) pool.
GET /api/v1/pools/vni-pools/<pool-id>

Update a VNI Pool


Updates the specified VNI pool. Modifiable parameters include description, display_name and ranges.
Ranges can be added, modified or deleted. Overlapping ranges are not allowed.
Only range end can be modified for any existing range.
Range shrinking or deletion is not allowed if there are any allocated VNIs.
PUT /api/v1/pools/vni-pools/<pool-id>

List virtual tunnel endpoint Label Pools


Returns a list of all virtual tunnel endpoint label pools
GET /api/v1/pools/vtep-label-pools

Read a virtual tunnel endpoint label pool


Returns information about the specified virtual tunnel endpoint label pool.
GET /api/v1/pools/vtep-label-pools/<pool-id>