Policy > Networking > IP Management

Associated URIs:

API Description API Path

List DHCP relay config instances


Paginated list of all DHCP relay config instances
GET /policy/api/v1/global-infra/dhcp-relay-configs
GET /policy/api/v1/infra/dhcp-relay-configs

Delete DHCP relay configuration


Delete DHCP relay configuration
DELETE /policy/api/v1/infra/dhcp-relay-configs/<dhcp-relay-config-id>

Read DHCP relay configuration


Read DHCP relay configuration
GET /policy/api/v1/infra/dhcp-relay-configs/<dhcp-relay-config-id>
GET /policy/api/v1/global-infra/dhcp-relay-configs/<dhcp-relay-config-id>

Create or update DHCP relay configuration


If DHCP relay config with the dhcp-relay-config-id is not already present, create a new DHCP relay config instance.
If it already exists, update the DHCP relay config instance with specified attributes.
PATCH /policy/api/v1/infra/dhcp-relay-configs/<dhcp-relay-config-id>

Create or update DHCP relay configuration


If DHCP relay config with the dhcp-relay-config-id is not already present,
create a new DHCP relay config instance. If it already exists, replace
the DHCP relay config instance with this object.
PUT /policy/api/v1/infra/dhcp-relay-configs/<dhcp-relay-config-id>

List DHCP server config instances


Paginated list of all DHCP server config instances
GET /policy/api/v1/infra/dhcp-server-configs
GET /policy/api/v1/global-infra/dhcp-server-configs

Read DHCP server leases


Read DHCP server leases
GET /policy/api/v1/global-infra/dhcp-server-configs/<config-id>/leases
GET /policy/api/v1/infra/dhcp-server-configs/<config-id>/leases

Read DHCP server state


Read DHCP server state
GET /policy/api/v1/global-infra/dhcp-server-configs/<config-id>/state
GET /policy/api/v1/infra/dhcp-server-configs/<config-id>/state

Read DHCP server statistics


Read DHCP server statistics
GET /policy/api/v1/infra/dhcp-server-configs/<config-id>/stats
GET /policy/api/v1/global-infra/dhcp-server-configs/<config-id>/stats

Read DHCP server status


Read DHCP server status
GET /policy/api/v1/infra/dhcp-server-configs/<config-id>/status
GET /policy/api/v1/global-infra/dhcp-server-configs/<config-id>/status

Delete DHCP server configuration


Delete DHCP server configuration
DELETE /policy/api/v1/infra/dhcp-server-configs/<dhcp-server-config-id>

Read DHCP server configuration


Read DHCP server configuration
GET /policy/api/v1/infra/dhcp-server-configs/<dhcp-server-config-id>
GET /policy/api/v1/global-infra/dhcp-server-configs/<dhcp-server-config-id>

Create or update DHCP server configuration


If DHCP server config with the dhcp-server-config-id is not already
present, create a new DHCP server config instance. If it already exists,
update the DHCP server config instance with specified attributes.

Realized entities of this API can be found using the path of Tier-0, Tier1,
or Segment where this config is applied on.

Modification of edge_cluster_path in DhcpServerConfig will lose all
existing DHCP leases.

If both the preferred_edge_paths in the DhcpServerConfig are changed
in a same PATCH API, e.g. change from [a,b] to [x,y], the current DHCP
server leases will be lost, which could cause network connectivity
issues. It is recommended to change only one member index in an update
call, e.g. from [a, b] to [a,y].

Clearing preferred_edge_paths will not reassign edge nodes from the
edge cluster. Instead, the previously-allocated edge nodes will be
retained to avoid loss of leases.
PATCH /policy/api/v1/infra/dhcp-server-configs/<dhcp-server-config-id>

Create or update DHCP server configuration


If DHCP server config with the dhcp-server-config-id is not already
present, create a new DHCP server config instance. If it already exists,
replace the DHCP server config instance with this object.

Realized entities of this API can be found using the path of Tier-0, Tier1,
or Segment where this config is applied on.

Modification of edge_cluster_path in DhcpServerConfig will lose all
existing DHCP leases.

If both the preferred_edge_paths in the DhcpServerConfig are changed
in a same PUT API, e.g. change from [a,b] to [x,y], the current DHCP
server leases will be lost, which could cause network connectivity
issues. It is recommended to change only one member index in an update
call, e.g. from [a, b] to [a,y].

Clearing preferred_edge_paths will not reassign edge nodes from the
edge cluster. Instead, the previously-allocated edge nodes will be
retained to avoid loss of leases.
PUT /policy/api/v1/infra/dhcp-server-configs/<dhcp-server-config-id>

List Dns Forwarder Zones


Paginated list of all Dns Forwarder Zones
GET /policy/api/v1/global-infra/dns-forwarder-zones
GET /policy/api/v1/infra/dns-forwarder-zones

Delete the DNS Forwarder Zone


Delete the DNS Forwarder Zone
DELETE /policy/api/v1/infra/dns-forwarder-zones/<dns-forwarder-zone-id>

Read the DNS Forwarder Zone


Read the DNS Forwarder Zone
GET /policy/api/v1/infra/dns-forwarder-zones/<dns-forwarder-zone-id>
GET /policy/api/v1/global-infra/dns-forwarder-zones/<dns-forwarder-zone-id>

Create or update the DNS Forwarder Zone


Create or update the DNS Forwarder Zone
PATCH /policy/api/v1/infra/dns-forwarder-zones/<dns-forwarder-zone-id>

Create or update the DNS Forwarder Zone


Create or update the DNS Forwarder Zone
PUT /policy/api/v1/infra/dns-forwarder-zones/<dns-forwarder-zone-id>

List IpAddressBlocks


Paginated list of IpAddressBlocks.
GET /policy/api/v1/infra/ip-blocks

Delete an IpAddressBlock


Delete the IpAddressBlock with the given id.
DELETE /policy/api/v1/infra/ip-blocks/<ip-block-id>

Read a IpAddressBlock


Read IpAddressBlock with given Id.
GET /policy/api/v1/infra/ip-blocks/<ip-block-id>

Create a new IPBlock


Creates a new IpAddressBlock with specified ID if not already present.
If IpAddressBlock of given ID is already present, then the instance is
updated with specified attributes.
PATCH /policy/api/v1/infra/ip-blocks/<ip-block-id>

Create or Replace IpAddressBlock


Create a new IpAddressBlock with given ID if it does not exist.
If IpAddressBlock with given ID already exists, it will update existing instance.
This is a full replace.
PUT /policy/api/v1/infra/ip-blocks/<ip-block-id>

List IpAddressPools


Paginated list of IpAddressPools.
GET /policy/api/v1/infra/ip-pools

Delete an IpAddressPool


Delete the IpAddressPool with the given id.
DELETE /policy/api/v1/infra/ip-pools/<ip-pool-id>

Read an IpAddressPool


Read IpAddressPool with given Id.
GET /policy/api/v1/infra/ip-pools/<ip-pool-id>

Create a new IP address pool


Creates a new IpAddressPool with specified ID if not already present.
If IpAddressPool of given ID is already present, then the instance is
updated. This is a full replace.
PATCH /policy/api/v1/infra/ip-pools/<ip-pool-id>

Create or Replace IpAddressPool


Create a new IpAddressPool with given ID if it does not exist.
If IpAddressPool with given ID already exists, it will update existing instance.
This is a full replace.
PUT /policy/api/v1/infra/ip-pools/<ip-pool-id>

List IpAddressPool Allocations


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

Records intent to release an IP from an IpPool.


Releases the IP that was allocated for this allocation request
DELETE /policy/api/v1/infra/ip-pools/<ip-pool-id>/ip-allocations/<ip-allocation-id>

Read policy IpPool allocation


Read a previously created allocation
GET /policy/api/v1/infra/ip-pools/<ip-pool-id>/ip-allocations/<ip-allocation-id>

Records intent to allocate an IP Address from an IP Pool


If allocation of the same ID is found, this is a no-op. If no allocation
of the specified ID is found, then a new allocation is created.
An allocation cannot be updated once created.
When an allocation is requested from an IpAddressPool, the IP could be
allocated from any subnet in the pool that has the available capacity.
Request to allocate an IP will fail if no subnet was previously created.
If specific IP was requested, the status of allocation is reflected in the
realized state.
If any IP is requested, the IP finally allocated is obtained by polling on
the realized state until the allocated IP is returned in the extended
attributes.
PATCH /policy/api/v1/infra/ip-pools/<ip-pool-id>/ip-allocations/<ip-allocation-id>

Records intent to allocate an IP Address from an IP Pool


If allocation of the same ID is found, this is a no-op. If no allocation
of the specified ID is found, then a new allocation is created.
An allocation cannot be updated once created.
When an IP allocation is requested from an IpAddressPool, the IP could be
allocated from any subnet in the pool that has the available capacity.
Request to allocate an IP will fail if no subnet was previously created.
If specific IP was requested, the status of allocation is reflected in the
realized state.
If any IP is requested, the IP finally allocated is obtained by polling on
the realized state until the allocated IP is returned in the extended
attributes.
An allocation cannot be updated once created.
PUT /policy/api/v1/infra/ip-pools/<ip-pool-id>/ip-allocations/<ip-allocation-id>

List IpAddressPoolSubnets


Paginated list of IpAddressPoolSubnets.
GET /policy/api/v1/infra/ip-pools/<ip-pool-id>/ip-subnets

Delete an IpAddressPoolSubnet


Delete the IpAddressPoolSubnet with the given id.
DELETE /policy/api/v1/infra/ip-pools/<ip-pool-id>/ip-subnets/<ip-subnet-id>

Read an IpAddressPoolSubnet


Read IpAddressPoolSubnet with given Id.
GET /policy/api/v1/infra/ip-pools/<ip-pool-id>/ip-subnets/<ip-subnet-id>

Create a new IP Subnet


Creates a new IpAddressPoolSubnet with the specified ID if it does not
already exist. If a IpAddressPoolSubnet of the given ID already exists,
IpAddressPoolSubnet will be updated. This is a full replace.
PATCH /policy/api/v1/infra/ip-pools/<ip-pool-id>/ip-subnets/<ip-subnet-id>

Create a new IP Subnet


Creates a new IpAddressPoolSubnet with the specified ID if it does not
already exist. If a IpAddressPoolSubnet of the given ID already exists,
IpAddressPoolSubnet will be updated. This is a full replace.
PUT /policy/api/v1/infra/ip-pools/<ip-pool-id>/ip-subnets/<ip-subnet-id>

List Manager Ip Pools


Paginated list of Manager Ip Pools.
GET /policy/api/v1/infra/manager-ip-pools

Read a Manager Ip Pool


Read Manager Ip Pool with given Id.
GET /policy/api/v1/infra/manager-ip-pools/<manager-ip-pool-id>

Delete DHCP lease(s) specified by IP and MAC


Delete one or multiple DHCP lease(s) specified by IP and MAC.

If there is a DHCP server running upon the given segment, or this segment
is using a DHCP server running in its connected Tier-0 or Tier-1, the DHCP
lease(s) which match exactly the IP address and the MAC address will be
deleted. If no such lease matches, the deletion for this lease will be
ignored.

The DHCP lease to be deleted will be removed by the system from both active
and standby node. The system will report error if the DHCP lease could not
be removed from both nodes. If the DHCP lease could not be removed on either
node, please check the DHCP server status. Once the DHCP server status is
UP, please invoke the deletion API again to ensure the lease gets deleted
from both nodes.
POST /policy/api/v1/infra/segments/<segment-id>?action=delete_dhcp_leases

List all DHCP static bindings


Paginated list of all DHCP static binding instances
GET /policy/api/v1/global-infra/segments/<segment-id>/dhcp-static-binding-configs
GET /policy/api/v1/infra/segments/<segment-id>/dhcp-static-binding-configs

Delete DHCP static binding


Delete DHCP static binding
DELETE /policy/api/v1/infra/segments/<segment-id>/dhcp-static-binding-configs/<binding-id>

Read DHCP static binding


Read DHCP static binding
GET /policy/api/v1/global-infra/segments/<segment-id>/dhcp-static-binding-configs/<binding-id>
GET /policy/api/v1/infra/segments/<segment-id>/dhcp-static-binding-configs/<binding-id>

Create or update DHCP static binding


If binding with the binding-id is not already present,
create a new DHCP static binding instance. If it already exists, replace
the existing DHCP static binding instance with specified attributes.
PATCH /policy/api/v1/infra/segments/<segment-id>/dhcp-static-binding-configs/<binding-id>

Create or update DHCP static binding


If binding with the binding-id is not already present,
create a new DHCP static binding instance. If it already exists, replace
the existing DHCP static binding instance with this object.
PUT /policy/api/v1/infra/segments/<segment-id>/dhcp-static-binding-configs/<binding-id>

Read DHCP static binding state


Read DHCP static binding state
GET /policy/api/v1/global-infra/segments/<segment-id>/dhcp-static-bindings/<binding-id>/state
GET /policy/api/v1/infra/segments/<segment-id>/dhcp-static-bindings/<binding-id>/state

Delete DNS configuration for tier-0 instance


Delete DNS configuration for tier-0 instance
DELETE /policy/api/v1/infra/tier-0s/<tier-0-id>/dns-forwarder

Read the DNS Forwarder for the given tier-0 instance


Read the DNS Forwarder for the given tier-0 instance
GET /policy/api/v1/global-infra/tier-0s/<tier-0-id>/dns-forwarder
GET /policy/api/v1/infra/tier-0s/<tier-0-id>/dns-forwarder

Update the DNS Forwarder


Update the DNS Forwarder
PATCH /policy/api/v1/infra/tier-0s/<tier-0-id>/dns-forwarder

Perform the specified DNS forwarder action


Perform the specified action for Tier0 DNS forwarder on specified enforcement point.
POST /policy/api/v1/global-infra/tier-0s/<tier-0-id>/dns-forwarder
POST /policy/api/v1/infra/tier-0s/<tier-0-id>/dns-forwarder

Update the DNS Forwarder


Update the DNS Forwarder
PUT /policy/api/v1/infra/tier-0s/<tier-0-id>/dns-forwarder

Resolve a given address via the dns forwarder at Tier0


Query the nameserver for an ip-address or a FQDN of the given an address optionally using
an specified DNS server. If the address is a fqdn, nslookup will resolve ip-address with it.
If the address is an ip-address, do a reverse lookup and answer fqdn(s).
If enforcement point is specified, then DNS forwarder nslookup answer will get fetched from
specified enforcement point. Otherwise from all enforcement points.
GET /policy/api/v1/infra/tier-0s/<tier-0-id>/dns-forwarder/nslookup
GET /policy/api/v1/global-infra/tier-0s/<tier-0-id>/dns-forwarder/nslookup

Get tier-0 DNS forwarder statistics


Get statistics of tier-0 DNS forwarder.
- no enforcement point path specified: Statistics will be evaluated on each enforcement
point.
- {enforcement_point_path}: Statistics are evaluated only on the given enforcement point.
GET /policy/api/v1/global-infra/tier-0s/<tier-0-id>/dns-forwarder/statistics
GET /policy/api/v1/infra/tier-0s/<tier-0-id>/dns-forwarder/statistics

Get current status of tier-0 DNS forwarder


Get current status of tier-0 DNS forwarder.
- no enforcement point path specified: Status will be evaluated on each enforcement
point.
- {enforcement_point_path}: Status will be evaluated only on the given enforcement
point.
GET /policy/api/v1/infra/tier-0s/<tier-0-id>/dns-forwarder/status
GET /policy/api/v1/global-infra/tier-0s/<tier-0-id>/dns-forwarder/status

Delete DNS configuration for tier-1 instance


Delete DNS configuration for tier-1 instance
DELETE /policy/api/v1/infra/tier-1s/<tier-1-id>/dns-forwarder

Read the DNS Forwarder for the given tier-1 instance


Read the DNS Forwarder for the given tier-1 instance
GET /policy/api/v1/infra/tier-1s/<tier-1-id>/dns-forwarder
GET /policy/api/v1/global-infra/tier-1s/<tier-1-id>/dns-forwarder

Create or update the DNS Forwarder


Create or update the DNS Forwarder
PATCH /policy/api/v1/infra/tier-1s/<tier-1-id>/dns-forwarder

Perform the specified DNS forwarder action


Perform the specified action for Tier0 DNS forwarder on specified enforcement point.
POST /policy/api/v1/infra/tier-1s/<tier-1-id>/dns-forwarder
POST /policy/api/v1/global-infra/tier-1s/<tier-1-id>/dns-forwarder

Create or update the DNS Forwarder


Create or update the DNS Forwarder
PUT /policy/api/v1/infra/tier-1s/<tier-1-id>/dns-forwarder

Resolve a given address via the dns forwarder at Tier1


Query the nameserver for an ip-address or a FQDN of the given an address optionally using
an specified DNS server. If the address is a fqdn, nslookup will resolve ip-address with it.
If the address is an ip-address, do a reverse lookup and answer fqdn(s).
If enforcement point is specified, then DNS forwarder nslookup answer will get fetched from
specified enforcement point. Otherwise from all enforcement points.
GET /policy/api/v1/global-infra/tier-1s/<tier-1-id>/dns-forwarder/nslookup
GET /policy/api/v1/infra/tier-1s/<tier-1-id>/dns-forwarder/nslookup

Get tier-1 DNS forwarder statistics


Get statistics of tier-1 DNS forwarder.
- no enforcement point path specified: Statistics will be evaluated on each enforcement
point.
- {enforcement_point_path}: Statistics are evaluated only on the given enforcement point.
GET /policy/api/v1/infra/tier-1s/<tier-1-id>/dns-forwarder/statistics
GET /policy/api/v1/global-infra/tier-1s/<tier-1-id>/dns-forwarder/statistics

Get current status of tier-1 DNS forwarder


Get current status of tier-1 DNS forwarder.
- no enforcement point path specified: Status will be evaluated on each enforcement
point.
- {enforcement_point_path}: Status will be evaluated only on the given enforcement
point.
GET /policy/api/v1/infra/tier-1s/<tier-1-id>/dns-forwarder/status
GET /policy/api/v1/global-infra/tier-1s/<tier-1-id>/dns-forwarder/status

List all DHCP static bindings


Paginated list of all DHCP static binding instances
GET /policy/api/v1/infra/tier-1s/<tier-1-id>/segments/<segment-id>/dhcp-static-binding-configs
GET /policy/api/v1/global-infra/tier-1s/<tier-1-id>/segments/<segment-id>/dhcp-static-binding-configs

Delete DHCP static binding


Delete DHCP static binding
DELETE /policy/api/v1/infra/tier-1s/<tier-1-id>/segments/<segment-id>/dhcp-static-binding-configs/<binding-id>

Read DHCP static binding


Read DHCP static binding
GET /policy/api/v1/infra/tier-1s/<tier-1-id>/segments/<segment-id>/dhcp-static-binding-configs/<binding-id>
GET /policy/api/v1/global-infra/tier-1s/<tier-1-id>/segments/<segment-id>/dhcp-static-binding-configs/<binding-id>

Create or update DHCP static binding


If binding with the binding-id is not already present,
create a new DHCP static binding instance. If it already exists, replace
the existing DHCP static binding instance with specified attributes.
PATCH /policy/api/v1/infra/tier-1s/<tier-1-id>/segments/<segment-id>/dhcp-static-binding-configs/<binding-id>

Create or update DHCP static binding


If binding with the binding-id is not already present,
create a new DHCP static binding instance. If it already exists, replace
the existing DHCP static binding instance with this object.
PUT /policy/api/v1/infra/tier-1s/<tier-1-id>/segments/<segment-id>/dhcp-static-binding-configs/<binding-id>

Read DHCP static binding state


Read DHCP static binding state
GET /policy/api/v1/infra/tier-1s/<tier-1-id>/segments/<segment-id>/dhcp-static-bindings/<binding-id>/state
GET /policy/api/v1/global-infra/tier-1s/<tier-1-id>/segments/<segment-id>/dhcp-static-bindings/<binding-id>/state

Delete DHCP lease(s) specified by IP and MAC


Delete one or multiple DHCP lease(s) specified by IP and MAC under a Tier-1.

If there is a DHCP server running upon the given segment, or this segment
is using a DHCP server running in its connected Tier-1, the DHCP lease(s)
which match exactly the IP address and the MAC address will be deleted.
If no such lease matches, the deletion for this lease will be ignored.

The DHCP lease to be deleted will be removed by the system from both active
and standby node. The system will report error if the DHCP lease could not
be removed from both nodes. If the DHCP lease could not be removed on either
node, please check the DHCP server status. Once the DHCP server status is
UP, please invoke the deletion API again to ensure the lease gets deleted
from both nodes.
POST /policy/api/v1/infra/tier-1s/<tier1-id>/segments/<segment-id>?action=delete_dhcp_leases