路由器
列举路由器
功能介绍
列举路由器
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