ルーティングテーブルの管理
前提条件
Authenticate - OAuth2認証のためのユーザー認証情報、クライアントID、クライアントシークレットを送信します。OAuth APIを呼び出して認証情報を検証および認証する方法については、API Authenticationを参照してください。
ルーティングテーブルの更新
Fabric Cloud Router のルーティングテーブルの更新をトリガーするには、/fabric/v4/routers/{uid}/actions エンドポイントに POST リクエストを送信します。
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 |
サンプル 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"
}'
ボディパラメータ:
-
type(必須) string - ルーティングテーブル管理アクション。ルーティングテーブルを更新するにはROUTE_TABLE_ENTRY_UPDATEを使用します。BGP 経由で学習したすべてのプレフィックスを見るにはRECEIVED_ROUTE_ENTRY_UPDATEを使います。FCR が BGP 経由で送信しているプレフィックスを見るにはADVERTISED_ROUTE_ENTRY_UPDATEを使います。 -
connection(オプション) object - 接続を指定するuuidフィールドを含むオブジェクト。RECEIVED_ROUTE_ENTRY_UPDATEとADVERTISED_ROUTE_ENTRY_UPDATEタイプでのみ必要です。
パラメータの完全な情報と例については、API リファレンス を参照してください。
回答例
{
"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"
}
}
ルーティングテーブル管理リクエストの取得
ルーティングテーブル管理リクエストの一覧を取得するには、/fabric/v4/routers/{uid}/actions エンドポイントに GET リクエストを送信します。state` クエリパラメータを使用して、リクエストの状態によってレスポンスをフィルタリングします。
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 |
この API は、ルーティングテーブル管理アクションリクエストを取得します。
サンプルcurlリクエスト
curl -X
GET 'https://api.equinix.com/fabric/v4/routers/{router_uuid}/actions?state=<state>'
-H 'authorization: Bearer <token>'
クエリパラメータ:
state(オプション) string - アクションの実行ステータス。適用可能な値:PENDING、SUCCEEDEDまたはFAILED。
回答例
{
"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"
}
}
検索ルーティングテーブル 管理リクエスト
ルーティングテーブル管理リクエストを検索するには、/fabric/v4/routers/{routerId}/actions/search エンドポイントに POST リクエストを送信し、リクエスト本文で検索条件を指定します。
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 |
サンプル 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"
}
]
}'
注目すべきボディパラメータ:
-
filter(必須) object - 検索条件を定義するオブジェクトです。 -
and(必須) array[object] - 配列内の検索オブジェクトに適用される論理演算子として機能する配列オブジェクト。検索対象は以下のとおりです:property(必須) string - 検索フィールドパラメータ。プロパティ値によって、適用可能な演算子と値のリストが決まることに注意してください。適用可能な値:"/name"、"/uuid"、"/state"、"/location/metroCode"、"/location/metroName"、"/package/code"および全カテゴリ検索"\*"。operator(必須) string - 検索フィールドパラメータ演算子。適用可能な値:"=","!=",">",">=","<","<=",BETWEEN,LIKE,IN,"NOT BETWEEN","NOT LIKE","NOT IN".value(必須) array[文字列] -検索フィールドのパラメータ値。
-
paginationobject -offsetの検索結果のページ分割設定を含むオプションのオブジェクトです。integer_ とlimitinteger_フィールドを持ちます。 -
sortobject -directionで検索結果のソート設定を定義するオプションのオブジェクトです。string_ とproperty文字列フィールド。
検索可能なプロパティ、ページネーションの制限、およびソート可能なプロパティの完全なリストについては、API リファレンス を参照してください。
回答例
{
"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"
}
}
]
}