Policy > Networking > IP Management > DHCP

Associated URIs:

API Description API Path

List DHCP relay config instances


Paginated list of all DHCP relay config instances
GET /policy/api/v1/infra/dhcp-relay-configs
GET /policy/api/v1/global-infra/dhcp-relay-configs
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/infra/dhcp-relay-configs

Delete DHCP relay configuration


Delete DHCP relay configuration
DELETE /policy/api/v1/infra/dhcp-relay-configs/{dhcp-relay-config-id}
DELETE /policy/api/v1/orgs/{org-id}/projects/{project-id}/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}
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/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}
PATCH /policy/api/v1/orgs/{org-id}/projects/{project-id}/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}
PUT /policy/api/v1/orgs/{org-id}/projects/{project-id}/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
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/infra/dhcp-server-configs

Read DHCP server leases


Read DHCP server leases
GET /policy/api/v1/infra/dhcp-server-configs/{config-id}/leases
GET /policy/api/v1/global-infra/dhcp-server-configs/{config-id}/leases
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/infra/dhcp-server-configs/{config-id}/leases

Read DHCP server state


Read DHCP server state
GET /policy/api/v1/infra/dhcp-server-configs/{config-id}/state
GET /policy/api/v1/global-infra/dhcp-server-configs/{config-id}/state
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/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
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/infra/dhcp-server-configs/{config-id}/stats

Reset DHCP server statistics counters


Reset DHCP statistics counters of a DHCP server represented by the
connectivity_path and the enforecement_point_path where the
dhcp-server-config was applied to. The connectivity_path can be the Tier0
path, Tier1 path or a segment path. If the given Tier0/1 or Segment has
DHCP server applied, the resetting will succeed and the DHCP statistics
counters will be reset to 0. But if it has no DHCP server applied, the
reseting will fail with proper error message.
POST /policy/api/v1/infra/dhcp-server-configs/{config-id}/stats?action=reset
POST /policy/api/v1/global-infra/dhcp-server-configs/{config-id}/stats?action=reset
POST /policy/api/v1/orgs/{org-id}/projects/{project-id}/infra/dhcp-server-configs/{config-id}/stats?action=reset

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
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/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}
DELETE /policy/api/v1/orgs/{org-id}/projects/{project-id}/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}
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/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}
PATCH /policy/api/v1/orgs/{org-id}/projects/{project-id}/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}
PUT /policy/api/v1/orgs/{org-id}/projects/{project-id}/infra/dhcp-server-configs/{dhcp-server-config-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
POST /policy/api/v1/orgs/{org-id}/projects/{project-id}/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/infra/segments/{segment-id}/dhcp-static-binding-configs
GET /policy/api/v1/global-infra/segments/{segment-id}/dhcp-static-binding-configs
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/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}
DELETE /policy/api/v1/orgs/{org-id}/projects/{project-id}/infra/segments/{segment-id}/dhcp-static-binding-configs/{binding-id}

Read DHCP static binding


Read DHCP static binding
GET /policy/api/v1/infra/segments/{segment-id}/dhcp-static-binding-configs/{binding-id}
GET /policy/api/v1/global-infra/segments/{segment-id}/dhcp-static-binding-configs/{binding-id}
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/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}
PATCH /policy/api/v1/orgs/{org-id}/projects/{project-id}/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}
PUT /policy/api/v1/orgs/{org-id}/projects/{project-id}/infra/segments/{segment-id}/dhcp-static-binding-configs/{binding-id}

Read DHCP static binding state


Read DHCP static binding state
GET /policy/api/v1/infra/segments/{segment-id}/dhcp-static-bindings/{binding-id}/state
GET /policy/api/v1/global-infra/segments/{segment-id}/dhcp-static-bindings/{binding-id}/state
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/infra/segments/{segment-id}/dhcp-static-bindings/{binding-id}/state

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
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/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}
DELETE /policy/api/v1/orgs/{org-id}/projects/{project-id}/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}
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/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}
PATCH /policy/api/v1/orgs/{org-id}/projects/{project-id}/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}
PUT /policy/api/v1/orgs/{org-id}/projects/{project-id}/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
GET /policy/api/v1/orgs/{org-id}/projects/{project-id}/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
POST /policy/api/v1/orgs/{org-id}/projects/{project-id}/infra/tier-1s/{tier1-id}/segments/{segment-id}?action=delete_dhcp_leases