Loading
close

路由器

time 更新时间:2023-11-13 19:32:34

路由器

列举路由器

功能介绍

‎列举路由器

URI

GET /v2.0/routers

请求消息

参数 参数类型 是否必选 描述
project_id string 指定项目ID进行查询。

响应消息

参数 参数类型 描述
routers array 路由器对象列表。
id string 路由器 id。
tenant_id string 租户id。
project_id string 租户id。
name string 名字。
description string 描述。
admin_state_up boolean admin状态,up/down(true/false)。
status string 路由器状态。
external_gateway_info object 路由网关信息,需要有netwrok_id,enable_snat和external_fixed_ip否则字段为空。
revision_number integer 路由器的版本号。
routes array 静态路由配置,内包含destination(目的地址)和nexthop(下一跳地址)。
availability_zone_hints array 路由可用域范围。
availability_zones array 路由所在的可用域。
created_at string 创建时间。
updated_at string 上一次更新时间。

请求示例

GET https://{endpoint}/v2.0/routers

正常响应示例

{
   "routers":[
      {
         "status":"ACTIVE",
         "external_gateway_info":null,
         "availability_zone_hints":[
            "default-az"
         ],
         "availability_zones":[
            "default-az"
         ],
         "description":"",
         "admin_state_up":true,
         "tenant_id":"870c5414baee43a4ba7adfb253e46018",
         "created_at":"2021-02-24T07:53:09Z",
         "updated_at":"2021-02-24T07:53:20Z",
         "project_id":"870c5414baee43a4ba7adfb253e46018",
         "revision_number":8,
         "routes":[
            
         ],
         "id":"95405096-26e5-4f68-a952-5533c5f08292",
         "name":"test_router"
      }
   ]
}	

正常响应代码

200

错误码

400,401,403,404,409,413

创建路由器

功能介绍

‎创建一个路由器

URI

POST /v2.0/routers

请求消息

参数 参数类型 是否必选 描述
router object 路由器对象。
admin_state_up boolean 路由器的admin状态,取值true或false。
availability_zone_hints array 路由可用域范围。
description string 用户描述。
name satring 路由器的名称。
project_id string 路由器所属的project id。
tenant_id string 路由器所属的tenant id。

响应消息

参数 参数类型 描述
router object 路由器对象。
id string 路由器 id。
tenant_id string 租户id。
project_id string 租户id。
name string 名字。
description string 描述。
admin_state_up boolean admin状态,up/down(true/false)。
status string 路由器状态。
external_gateway_info object 路由网关信息,需要有netwrok_id,enable_snat和external_fixed_ip否则字段为空。
revision_number integer 路由器的版本号。
routes array 静态路由配置,内包含destination(目的地址)和nexthop(下一跳地址)。
availability_zone_hints array 路由可用域范围。
availability_zones array 路由所在的可用域。
created_at string 创建时间。
updated_at string 上一次更新时间。

请求示例

POST http://{endpoint}/v2.0/routers
{
    "router": {
        "admin_state_up": true,
        "name": "test_router",
        "availability_zone_hints":[
            "default-az"
         ]
    }
}

正常响应示例

{
   "router":
      {
         "status":"ACTIVE",
         "external_gateway_info":null,
         "availability_zone_hints":[
            "default-az"
         ],
         "availability_zones":[
            "default-az"
         ],
         "description":"",
         "admin_state_up":true,
         "tenant_id":"870c5414baee43a4ba7adfb253e46018",
         "created_at":"2021-02-24T07:53:09Z",
         "updated_at":"2021-02-24T07:53:20Z",
         "project_id":"870c5414baee43a4ba7adfb253e46018",
         "revision_number":8,
         "routes":[
            
         ],
         "id":"95405096-26e5-4f68-a952-5533c5f08292",
         "name":"test_router"
      }
}

正常响应代码

201

错误码

400,401,403,404,409,413

获取路由器

功能介绍

‎获取一个路由器的详情

URI

GET /v2.0/routers/{router_id}

参数 是否必选 描述
router_id 路由器的ID。

请求消息

响应消息

参数 参数类型 描述
router object 路由器对象。
id string 路由器 id。
tenant_id string 租户id。
project_id string 租户id。
name string 名字。
description string 描述。
admin_state_up boolean admin状态,up/down(true/false)。
status string 路由器状态。
external_gateway_info object 路由网关信息,需要有netwrok_id,enable_snat和external_fixed_ip否则字段为空。
revision_number integer 路由器的版本号。
routes array 静态路由配置,内包含destination(目的地址)和nexthop(下一跳地址)。
availability_zone_hints array 路由可用域范围。
availability_zones array 路由所在的可用域。
created_at string 创建时间。
updated_at string 上一次更新时间。

请求示例

GET http://{endpoint}/v2.0/routers/95405096-26e5-4f68-a952-5533c5f08292

正常响应示例

{
   "router":
      {
         "status":"ACTIVE",
         "external_gateway_info":null,
         "availability_zone_hints":[
            "default-az"
         ],
         "availability_zones":[
            "default-az"
         ],
         "description":"",
         "admin_state_up":true,
         "tenant_id":"870c5414baee43a4ba7adfb253e46018",
         "created_at":"2021-02-24T07:53:09Z",
         "updated_at":"2021-02-24T07:53:20Z",
         "project_id":"870c5414baee43a4ba7adfb253e46018",
         "revision_number":8,
         "routes":[
            
         ],
         "id":"95405096-26e5-4f68-a952-5533c5f08292",
         "name":"test_router"
      }
}

正常响应代码

200

错误码

400,401,403,404,409,413

更新路由器

功能介绍

‎更新一个指定路由器

URI

PUT /v2.0/routers/{router_id}

参数 是否必选 描述
router_id 路由器的ID。

请求消息

参数 参数类型 是否必选 描述
router object 路由器对象。
admin_state_up boolean 路由器的admin状态,取值true或false。
description string 用户描述。
name satring 路由器的名称。
routes array 静态路由配置,内包含destination(目的地址)和nexthop(下一跳地址)。

响应消息

参数 参数类型 描述
router object router对象。
id string router id。
tenant_id string 租户id。
project_id string 租户id。
name string 名字。
description string 描述。
admin_state_up boolean admin状态,up/down(true/false)。
status string 路由器状态。
external_gateway_info object 路由网关信息,需要有netwrok_id,enable_snat和external_fixed_ip否则字段为空。
revision_number integer 路由器的版本号。
routes array 静态路由配置,内包含destination(目的地址)和nexthop(下一跳地址)。
availability_zone_hints array 路由可用域范围。
availability_zones array 路由所在的可用域。
created_at string 创建时间。
updated_at string 上一次更新时间。

请求示例

设置静态路由

PUT http://{endpoint}/v2.0/routers/95405096-26e5-4f68-a952-5533c5f08292
{
    "router": {
        "routes":{
            "destination":"192.168.112.0/24",
            "nexthop":"192.168.111.7"
        }
    }
}

正常响应示例

{
   "router":
      {
         "status":"ACTIVE",
         "external_gateway_info":null,
         "availability_zone_hints":[
            "default-az"
         ],
         "availability_zones":[
            "default-az"
         ],
         "description":"",
         "admin_state_up":true,
         "tenant_id":"870c5414baee43a4ba7adfb253e46018",
         "created_at":"2021-02-24T07:53:09Z",
         "updated_at":"2021-02-24T07:53:20Z",
         "project_id":"870c5414baee43a4ba7adfb253e46018",
         "revision_number":8,
         "routes":[
                   {
                    "destination": "192.168.112.0/24",
                    "nexthop": "192.168.111.7"
                }
         ],
         "id":"95405096-26e5-4f68-a952-5533c5f08292",
         "name":"test_router"
      }
}

正常响应代码

200

错误码

400,401,403,404,409,413

删除路由器

功能介绍

‎删除一个指定路由器

URI

DELETE /v2.0/routers/{router_id}

参数 是否必选 描述
router_id 路由器的ID。

请求消息

请求示例

DELETE http://{endpoint}/v2.0/routers/95405096-26e5-4f68-a952-5533c5f08292

正常响应代码

204

错误码

400,401,403,404,409,413

路由器设置网关

功能介绍

‎给一个路由器设置外部网关

URI

PUT /v2.0/routers/{router_id}

参数 是否必选 描述
router_id 路由器的ID。

请求消息

参数 参数类型 是否必选 描述
router object 路由器对象。
external_gateway_info object 外部网络信息,必须指定network_id,可选项external_fixed_ips网关ip,rate_limit带宽,enable_snat是否开启snat默认开启。

响应消息

参数 参数类型 描述
router object 路由器对象。
id string 路由器 id。
tenant_id string 租户id。
project_id string 租户id。
name string 名字。
description string 描述。
admin_state_up boolean admin状态,up/down(true/false)。
status string 路由器状态。
external_gateway_info object 路由网关信息,需要有netwrok_id,enable_snat和external_fixed_ip否则字段为空。
revision_number integer 路由器的版本号。
routes array 静态路由配置,内包含destination(目的地址)和nexthop(下一跳地址)。
availability_zone_hints array 路由可用域范围。
availability_zones array 路由所在的可用域。
created_at string 创建时间。
updated_at string 上一次更新时间。

请求示例

PUT http://{endpoint}/v2.0/routers/95405096-26e5-4f68-a952-5533c5f08292
{
    "router":{
        "external_gateway_info":{
            "network_id":"2dd8b394-fa34-44e8-9ea7-0e470ee5bcd9",
            "external_fixed_ips":"172.16.10.130",
            "rate_limit":1024000
        }
    }
}

正常响应示例

{
   "router":
      {
         "status":"ACTIVE",
         "external_gateway_info": {
            "enable_snat": true,
            "external_fixed_ips": [
                {
                    "ip_address": "172.16.10.130",
                    "subnet_id": "08fe297b-db20-4b46-9341-a6812c9f748f"
                }
            ],
            "network_id": "2dd8b394-fa34-44e8-9ea7-0e470ee5bcd9",
            "rate_limit":1024000
        },
         "availability_zone_hints":[
            "default-az"
         ],
         "availability_zones":[
            "default-az"
         ],
         "description":"",
         "admin_state_up":true,
         "tenant_id":"870c5414baee43a4ba7adfb253e46018",
         "created_at":"2021-02-24T07:53:09Z",
         "updated_at":"2021-02-24T07:53:20Z",
         "project_id":"870c5414baee43a4ba7adfb253e46018",
         "revision_number":8,
         "routes":[
                   {
                    "destination": "192.168.112.0/24",
                    "nexthop": "192.168.111.7"
                }
         ],
         "id":"95405096-26e5-4f68-a952-5533c5f08292",
         "name":"test_router"
      }
}

正常响应代码

200

错误码

400,401,403,404,409,413

路由器清除网关

功能介绍

‎清除一个路由器的外部网关

URI

PUT /v2.0/routers/{router_id}

参数 是否必选 描述
router_id 路由器的ID。

请求消息

参数 参数类型 是否必选 描述
router object 路由器对象。
external_gateway_info object 外部网络信息,此API中传空字典。

响应消息

参数 参数类型 描述
router object 路由器对象。
id string 路由器 id。
tenant_id string 租户id。
project_id string 租户id。
name string 名字。
description string 描述。
admin_state_up boolean admin状态,up/down(true/false)。
status string 路由器状态。
external_gateway_info object 路由网关信息,需要有netwrok_id,enable_snat和external_fixed_ip否则字段为空。
revision_number integer 路由器的版本号。
routes array 静态路由配置,内包含destination(目的地址)和nexthop(下一跳地址)。
availability_zone_hints array 路由可用域范围。
availability_zones array 路由所在的可用域。
created_at string 创建时间。
updated_at string 上一次更新时间。

请求示例

PUT http://{endpoint}/v2.0/routers/95405096-26e5-4f68-a952-5533c5f08292
{
    "router":{
        "external_gateway_info":{

        }
    }
}

正常响应示例

{
   "router":
      {
         "status":"ACTIVE",
         "external_gateway_info": null,
         "availability_zone_hints":[
            "default-az"
         ],
         "availability_zones":[
            "default-az"
         ],
         "description":"",
         "admin_state_up":true,
         "tenant_id":"870c5414baee43a4ba7adfb253e46018",
         "created_at":"2021-02-24T07:53:09Z",
         "updated_at":"2021-02-24T07:53:20Z",
         "project_id":"870c5414baee43a4ba7adfb253e46018",
         "revision_number":8,
         "routes":[
                   {
                    "destination": "192.168.112.0/24",
                    "nexthop": "192.168.111.7"
                }
         ],
         "id":"95405096-26e5-4f68-a952-5533c5f08292",
         "name":"test_router"
      }
}

正常响应代码

200

错误码

400,401,403,404,409,413

路由器连接子网

功能介绍

‎给一个路由器连接子网

URI

PUT /v2.0/routers/{router_id}/add_router_interface

参数 是否必选 描述
router_id 路由器的ID。

请求消息

参数 参数类型 是否必选 描述
subnet_id string 是(subnet_id或者port_id两个二选一) 连接的子网的uuid。
port_id string 子网中port的uuid。

响应消息

参数 参数类型 描述
router object 路由器对象。
id string 路由器 id。
tenant_id string 租户id。
project_id string 租户id。
network_id string 连接的子网所属网络的uuid。
subnet_id string 连接的子网的uuid。
subnet_ids array 连接的子网uuid列表。
port_id string 子网中port的uuid。

请求示例

PUT http://{endpoint}/v2.0/routers/95405096-26e5-4f68-a952-5533c5f08292/add_router_interface
{
  "subnet_id": "8bb1d1e8-a479-4f4f-8ca1-3bc80eabfe47"
}

正常响应示例

{
    "id": "95405096-26e5-4f68-a952-5533c5f08292",
    "network_id": "a1bd29e8-9349-44a5-9fdf-39462c08d761",
    "port_id": "2b32e183-17fc-4d2f-bea9-355803bd9bc3",
    "subnet_id": "8bb1d1e8-a479-4f4f-8ca1-3bc80eabfe47",
    "subnet_ids": [
        "8bb1d1e8-a479-4f4f-8ca1-3bc80eabfe47"
    ],
    "tenant_id": "870c5414baee43a4ba7adfb253e46018"
}

正常响应代码

200

错误码

400,401,403,404,409,413

路由器断开子网

功能介绍

‎断开一个路由器的某个子网

URI

PUT /v2.0/routers/{router_id}/remove_router_interface

参数 是否必选 描述
router_id 路由器的ID。

请求消息

参数 参数类型 是否必选 描述
subnet_id string 是(subnet_id或者port_id两个二选一) 连接的子网的uuid。
port_id string 子网中port的uuid。

响应消息

参数 参数类型 描述
router object 路由器对象。
id string 路由器 id。
tenant_id string 租户id。
project_id string 租户id。
network_id string 连接的子网所属网络的uuid。
subnet_id string 连接的子网的uuid。
subnet_ids array 连接的子网uuid列表。
port_id string 子网中port的uuid。

请求示例

PUT http://{endpoint}/v2.0/routers/95405096-26e5-4f68-a952-5533c5f08292/remove_router_interface
{
  "subnet_id": "8bb1d1e8-a479-4f4f-8ca1-3bc80eabfe47"
}

正常响应示例

{
    "id": "95405096-26e5-4f68-a952-5533c5f08292",
    "network_id": "a1bd29e8-9349-44a5-9fdf-39462c08d761",
    "port_id": "2b32e183-17fc-4d2f-bea9-355803bd9bc3",
    "subnet_id": "8bb1d1e8-a479-4f4f-8ca1-3bc80eabfe47",
    "subnet_ids": [
        "8bb1d1e8-a479-4f4f-8ca1-3bc80eabfe47"
    ],
    "tenant_id": "870c5414baee43a4ba7adfb253e46018"
}

正常响应代码

200

错误码

400,401,403,404,409,413

列举路由器静态路由

功能介绍

‎列举路由器的静态路由

URI

GET /v2.0/routers/{router_id}/show_extraroutes

请求消息

参数 参数类型 是否必选 描述
router_id string 路由器的ID。

响应消息

参数 参数类型 描述
router_id string 路由器 id。
routes array 路由器的静态路由。

请求示例

GET https://{endpoint}/v2.0/routers/95405096-26e5-4f68-a952-5533c5f08292/show_extraroutes

正常响应示例

{
   "router_id" : "95405096-26e5-4f68-a952-5533c5f08292",
   "routes" : [
      { "destination" : "10.0.1.0/24", "nexthop" : "10.0.0.11", "description" : "test" },
      { "destination" : "10.0.2.0/24", "nexthop" : "10.0.0.12", "description" : "test" }
   ]
}

正常响应代码

200

错误码

400,401,403,404,409,413

新增路由器静态路由

功能介绍

‎新增路由器的静态路由

URI

PUT /v2.0/routers/{router_id}/add_extraroutes

请求消息

参数 参数类型 是否必选 描述
router_id string 路由器的ID。
routes array 需要新增的静态路由。每条静态路由必须包含两个参数:destination和nexthop,可选一个参数:description。

响应消息

参数 参数类型 描述
id string 路由器 ID。
name string 路由器的 名字。
routes array 路由器的静态路由。

请求示例

PUT http://{endpoint}/v2.0/routers/95405096-26e5-4f68-a952-5533c5f08292/add_extraroutes
{
   "router" : {
      "routes" : [
         { "destination" : "10.0.3.0/24", "nexthop" : "10.0.0.13", "description" : "test" },
         { "destination" : "10.0.4.0/24", "nexthop" : "10.0.0.14", "description" : "test" }
      ]
   }
}

正常响应示例

{
   "router" : {
      "id" : "95405096-26e5-4f68-a952-5533c5f08292",
      "name" : "router1",
      "routes" : [
         { "destination" : "10.0.3.0/24", "nexthop" : "10.0.0.13", "description" : "test" },
         { "destination" : "10.0.4.0/24", "nexthop" : "10.0.0.14", "description" : "test" }
      ]
   }
}

正常响应代码

200

错误码

400,401,403,404,409,413

更新路由器静态路由

功能介绍

‎更新路由器一条静态路由的description

URI

PUT /v2.0/routers/{router_id}/update_extraroute_attr

请求消息

参数 是否必选 描述
router_id 路由器的ID。
route 需要更新的静态路由。静态路由必须包含三个参数:destination、nexthop、description。

响应消息

参数 参数类型 描述
router_id string 路由器 ID。
route object 更新后的静态路由。

请求示例

PUT http://{endpoint}/v2.0/routers/95405096-26e5-4f68-a952-5533c5f08292/update_extraroute_attr
{
    "router": {
        "route":{
            "destination":"192.168.112.0/24",
            "nexthop":"192.168.111.7",
            "description" : "test"
        }
    }
}

正常响应示例

{
   "router_id" : "95405096-26e5-4f68-a952-5533c5f08292",
   "route" : {
         "destination":"192.168.112.0/24",
         "nexthop":"192.168.111.7",
         "description" : "test"
   }
}

正常响应代码

200

错误码

400,401,403,404,409,413

删除路由器静态路由

功能介绍

‎删除路由器的静态路由

URI

PUT /v2.0/routers/{router_id}/remove_extraroutes

参数 是否必选 描述
router_id 路由器的ID。
routes 需要删除的静态路由。每条静态路由包含两个参数:destination和nexthop。

响应消息

参数 参数类型 描述
id string 路由器 id。
name string 路由器的名字。
routes array 删除后路由器的静态路由。

请求示例

PUT http://{endpoint}/v2.0/routers/95405096-26e5-4f68-a952-5533c5f08292/remove_extraroutes
{
   "router" : {
      "routes" : [
         { "destination" : "10.0.3.0/24", "nexthop" : "10.0.0.13" },
         { "destination" : "10.0.4.0/24", "nexthop" : "10.0.0.14" }
      ]
   }
}

正常响应示例

{
   "router" : {
      "id" : "95405096-26e5-4f68-a952-5533c5f08292",
      "name" : "router1",
      "routes" : []
   }
}

正常响应代码

200

错误码

400,401,403,404,409,413

此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品