Manage Routing Tables
Prerequisites
Authenticate - Submit your user credentials, Client ID, and Client Secret for OAuth2 authentication. Refer to API Authentication for instructions on how to call the OAuth API to validate and authenticate your credentials.
Update Routing Tables
To trigger an update of your Fabric Cloud Router's routing tables, send a POST
request to the /fabric/v4/routers/{uuid}/actions
endpoint.
POST /fabric/v4/routers/{uuid}/actions | |
---|---|
Method | POST |
URL or Endpoint | /fabric/v4/routers/{uuid}/actions |
Headers | Authorization , Content-Type |
Path Parameters | uuid |
Query Parameters | Not applicable |
Body Parameters | type |
Sample curl request:
curl -X
POST 'https://api.equinix.com/fabric/v4/routers/{router_uuid}/actions'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '{
"type": "ROUTE_TABLE_ENTRY_UPDATE"
}'
Body parameters:
-
type
(required) string - The routing table management action. To update your routing tables, useROUTE_TABLE_ENTRY_UPDATE
. To see all the prefixes learned via BGP, useRECEIVED_ROUTE_ENTRY_UPDATE
. To See the prefixes that FCR is sending via BGP, useADVERTISED_ROUTE_ENTRY_UPDATE
. -
connection
(optional) object - An object that contains auuid
field to specify a connection. Only required forRECEIVED_ROUTE_ENTRY_UPDATE
andADVERTISED_ROUTE_ENTRY_UPDATE
types.
For complete parameter information and examples, see the API Reference.
Sample response:
{
"type": "ROUTE_TABLE_ENTRY_UPDATE",
"uuid": "37c10edc-ba2e-4240-a850-8a48f9c47d00",
"state": "PENDING",
"changeLog": {
"createdDateTime": "2021-07-15T19:30:29.526Z",
"updatedDateTime": "2021-08-15T19:30:29.526Z"
}
}
Get Routing Tables Management Requests
To get a list of routing tables management requests, send a GET
request to the /fabric/v4/routers/{uuid}/actions
endpoint. User the state
query parameter to filter the response by the state of the request.
GET /fabric/v4/routers/{uuid}/actions | |
---|---|
Method | GET |
URL or Endpoint | /fabric/v4/routers/{uuid}/actions |
Headers | Authorization |
Path Parameters | uuid |
Query Parameters | state |
Body Parameters | Not applicable |
This API retrieves routing tables management actions requests.
Sample curl request
curl -X
GET 'https://api.equinix.com/fabric/v4/routers/{router_uuid}/actions?state=<state>'
-H 'authorization: Bearer <token>'
Query parameter:
state
(optional) string - Action execution status. Applicable values:PENDING
,SUCCEEDED
, orFAILED
.
Sample response:
{
"type": "ROUTE_TABLE_ENTRY_UPDATE",
"uuid": "37c10edc-ba2e-4240-a850-8a48f9c47d00",
"state": "PENDING",
"changeLog": {
"createdDateTime": "2021-07-15T19:30:29.526Z",
"updatedDateTime": "2021-08-15T19:30:29.526Z"
}
}
Search Routing Tables Management Requests
To search routing tables management requests, send a POST
request to the /fabric/v4/routers/{routerId}/actions/search
endpoint, specifying the search criteria in the body of the request.
POST /fabric/v4/routers/{routerId}/actions/search | |
---|---|
Method | POST |
URL or Endpoint | /fabric/v4/routers/{routerId}/actions/search |
Headers | Authorization , Content-Type |
Path Parameters | routerId |
Query Parameters | Not applicable |
Body Parameters | filter , pagination , sort |
Sample curl request:
curl -X POST 'http: //api.equinix.com/fabric/v4/routers/{router_uuid}/actions/search'
-H 'content-type: application/json'
-H 'authorization: Bearer <token>'
-d '{
"filter": {
"and": [
{
"property": "/type",
"operator": "IN",
"values": [
"ROUTE_TABLE_ENTRY_UPDATE",
"RECEIVED_ROUTE_ENTRY_UPDATE"
]
},
{
"property": "/state",
"operator": "=",
"values": [
"SUCCEEDED"
]
},
{
"property": "/connection/uuid",
"operator": "IN",
"values": [
"3066ab1d-af87-49d7-8a14-c9bdb57ac809"
]
}
]
},
"pagination": {
"offset": 0,
"limit": 1
},
"sort": [
{
"property": "/changeLog/createdDateTime",
"direction": "DESC"
}
]
}'
Notable body parameters:
-
filter
(required) object - The object that defines your search conditions. -
and
(required) array[object] - An array object that serves as the logical operator applied on the search objects in the array. You can search on:property
(required) string - Search field parameter. Note that the property value determines the list of applicable operators and values. Applicable values:"/name"
,"/uuid"
,"/state"
,"/location/metroCode"
,"/location/metroName"
,"/package/code"
and an all-category search"\*"
.operator
(required) string - Search field parameter operator. Applicable values:"="
,"!="
,">"
,">="
,"<"
,"<="
,BETWEEN
,LIKE
,IN
,"NOT BETWEEN"
,"NOT LIKE"
,"NOT IN"
.value
(required) array[string] - Search field parameter value.
-
pagination
object - Optional object containing search results pagination settings withoffset
integer andlimit
integer fields. -
sort
object - Optional object that defines your search result sorting settings withdirection
string andproperty
string fields.
For a complete list of searchable properties, pagination limits, and sortable properties, see the API reference.
Sample response:
{
"pagination": {
"offset": 0,
"limit": 1,
"total": 2,
"prev": null,
"next": null
},
"data": [
{
"href": "https://api.equinix.com//fabric/v4/routers/a1c6b7fd-aead-410a-96b4-b1dfa1071700/actions/1e9414f1-763e-4c0a-86c6-0bc8336048d9",
"uuid": "1e9414f1-763e-4c0a-86c6-0bc8336048d9",
"type": "RECEIVED_ROUTE_ENTRY_UPDATE",
"state": "SUCCEEDED",
"connection": {
"uuid": "3066ab1d-af87-49d7-8a14-c9bdb57ac809"
},
"operation": {
"bgpIpv4RoutesCount": 6,
"bgpIpv6RoutesCount": 6
},
"changeLog": {
"createdDateTime": "2024-01-01T01:00:00.000Z",
"updatedDateTime": "2024-01-01T01:01:00.000Z"
}
}
]
}