Gérer les tables de routage
Conditions préalables
Authentifier - Soumettez vos informations d'identification de l'utilisateur, l'ID du client et le secret du client pour l'authentification OAuth2. Reportez-vous à API Authentication pour savoir comment appeler l'API OAuth afin de valider et d'authentifier vos informations d'identification.
Mise à jour des tables de routage
Pour déclencher une mise à jour des tables de routage de votre Fabric Cloud Router, envoyez une requête POST au point de terminaison /fabric/v4/routers/{uuid}/actions.
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 |
Exemple de requête curl :
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"
}'
Paramètres du corps :
-
type(required) string - L'action de gestion de la table de routage. Pour mettre à jour vos tables de routage, utilisezROUTE_TABLE_ENTRY_UPDATE. Pour voir tous les préfixes appris via BGP, utilisezRECEIVED_ROUTE_ENTRY_UPDATE. Pour voir les préfixes que FCR envoie via BGP, utilisezADVERTISED_ROUTE_ENTRY_UPDATE. -
connection(facultatif) object - Un objet qui contient un champuuidpour spécifier une connexion. Nécessaire uniquement pour les typesRECEIVED_ROUTE_ENTRY_UPDATEetADVERTISED_ROUTE_ENTRY_UPDATE.
Pour obtenir des informations complètes sur les paramètres et des exemples, consultez la [Référence API] (/api-catalog/fabricv4#operation/createCloudRouterAction).
Exemple de réponse :
{
"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"
}
}
Demandes de gestion des tables de routage
Pour obtenir une liste des requêtes de gestion des tables de routage, envoyez une requête GET au point de terminaison /fabric/v4/routers/{uuid}/actions. Utilisez le paramètre de requête state pour filtrer la réponse en fonction de l'état de la requête.
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 |
Cette API récupère les demandes d'actions de gestion des tables de routage.
Exemple de requête curl
curl -X
GET 'https://api.equinix.com/fabric/v4/routers/{router_uuid}/actions?state=<state>'
-H 'authorization: Bearer <token>'
Paramètre d'interrogation :
state(facultatif) string - État d'exécution de l'action. Valeurs applicables :PENDING,SUCCEEDEDouFAILED.
Exemple de réponse :
{
"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"
}
}
Recherche dans les tables de routage Demandes de gestion
Pour effectuer des requêtes de gestion des tables de routage, envoyez une requête POST au point de terminaison /fabric/v4/routers/{routerId}/actions/search, en spécifiant les critères de recherche dans le corps de la requête.
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 |
Exemple de requête curl :
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"
}
]
}'
Paramètres corporels notables :
-
filter(obligatoire) object - L'objet qui définit vos conditions de recherche. -
and(obligatoire) array[object] - Un objet tableau qui sert d'opérateur logique appliqué aux objets de recherche dans le tableau. Vous pouvez effectuer des recherches sur :property(obligatoire) string - Paramètre du champ de recherche. Notez que la valeur de la propriété détermine la liste des opérateurs et des valeurs applicables. Valeurs applicables :"/name","/uuid","/state","/location/metroCode","/location/metroName","/package/code"et une recherche toutes catégories"\*".operator(obligatoire) string - Opérateur de paramètre de champ de recherche. Valeurs applicables :"=","!=",">",">=","<","<=",BETWEEN,LIKE,IN,"NOT BETWEEN","NOT LIKE","NOT IN".value(obligatoire) array[string] - Valeur du paramètre du champ de recherche.
-
paginationobject - Objet facultatif contenant les paramètres de pagination des résultats de recherche avecoffsetinteger etlimitinteger. -
sortobject - Objet facultatif qui définit vos paramètres de tri des résultats de recherche avecdirectionstring etpropertystring. string etpropertystring.
Pour une liste complète des propriétés consultables, des limites de pagination et des propriétés triables, consultez la [référence API] (/api-catalog/fabricv4#operation/searchCloudRouters).
Exemple de réponse :
{
"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"
}
}
]
}