多层网络策略
创建多层网络策略
URI
POST /admin-api/global/1/layer_policy
JSON body 参数
{
"name": "policy_1",
"rules": [
{
"gateway": 3, // current gateway id
"backup": 2, // backup upstream gateway id, not necessary
"upstream": 1 // upstream gateway id
},
{
"gateway": 4, // current gateway id
"upstream": 3 // upstream gateway id
}
]
}
上面的示例会创建一个像这样的多层网络策略:
┌────────┐ ┌───────────┐ backup
│ │<──────│ gateway-2 │<---------┐
│ Source │ └───────────┘ │
│ site │ ┌───────────┐ ┌───────────┐ ┌───────────┐
│ │<──────│ gateway-1 │<───│ gateway-3 │<───│ gateway-4 │
└────────┘ └───────────┘ └───────────┘ └───────────┘
请求示例
Shell
curl -X POST \
-H "API-Token: 1df87165-3593-4eca-a910-9ac20005e6ec" \
http://{admin-site}/admin-api/global/1/layer_policy \
-d '{"name":"policy_1","rules":[{"gateway":3,"backup":2,"upstream":1},{"gateway":4,"upstream":3}]}'
响应示例
Status: 200 OK
{"status":0,"data":{"id":1}}
获取多层网络策略
URI
GET /admin-api/global/1/layer_policy
URI 参数
detail
type: integer
required: no
description: Are detailed results required (default 0)
page
type: integer
required: no
description: Results page (default 1)
page_size
type: integer
required: no
description: Results page size (default 20)
请求示例
Shell
curl \
-H "API-Token: 1df87165-3593-4eca-a910-9ac20005e6ec" \
http://{admin-site}/admin-api/global/1/layer_policy?detail=1
响应示例
Status: 200 OK
{
"status": 0,
"data": [
{
"rules": [
{
"backup": 1,
"upstream": 2,
"gateway": 3,
"id": 9
}
],
"name": "policy_2",
"id": 5,
"_created_unix": 1621828296.5587,
"_modified_unix": 1621828300.1128
}
]
}
更新多层网络策略
URI
PUT /admin-api/global/1/layer_policy/{policy_id}
JSON body 参数
{
"name": "policy_2",
"rules": [
{
"gateway": 3, // current gateway id
"backup": 1, // backup upstream gateway id, not necessary
"upstream": 2 // upstream gateway id
}
]
}
请求示例
Shell
curl -X PUT\
-H "API-Token: 1df87165-3593-4eca-a910-9ac20005e6ec" \
http://{admin-site}/admin-api/global/1/layer_policy/1 \
-d '{"name":"policy_2","rules":[{"gateway":3,"backup":1,"upstream":2}]}'
响应示例
Status: 200 OK
{"status":0}
删除多层网络策略
URI
DELETE /admin-api/global/1/layer_policy/{policy_id}
请求示例
Shell
curl -X DELETE \
-H "API-Token: 1df87165-3593-4eca-a910-9ac20005e6ec" \
http://{admin-site}/admin-api/global/1/layer_policy/1
响应示例
Status: 200 OK
{"status":0}