L7转发策略
列举L7转发策略
功能介绍
查询七层转发策略列表。
接口约束
URI
GET /v2.0/lbaas/l7policies
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
fields | string | 否 | 你想让服务器返回的字段。如果没有指定字段的查询参数,API会返回所有策略的属性。通过使用fields 参数,API只返回请求的属性集。可以指定多个字段的参数。例如,如果您指定fields=id&fields=name 的请求URL,那么只有id 和name 属性将返回。 |
project_id | string | 否 | 指定项目ID进行查询。 |
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
action | string | 转发策略行为。取值为: REDIRECT_TO_POOL:重定向到资源池; REDIRECT_TO_URL:重定向到URL; REJECT:拒绝外部资源的请求。 |
admin_state_up | boolean | 转发策略的管理状态。true表示启用,false表示停用。 |
created_at | string | 转发策略创建的时间。 |
description | string | 转发策略的描述信息。 |
id | uuid | 转发策略的ID。 |
listener_id | uuid | 转发策略所属的监听器ID。 |
name | string | 转发策略的名称。 |
operating_status | string | 转发策略的运行状态。 |
position | integer | 转发策略在监听器中的优先级。数字越小表示优先级越高,同一监听器下不允许重复。 |
project_id | string | 转发策略所属的项目ID。 |
provisioning_status | string | 转发策略的配置状态。 |
redirect_http_code | integer | 转发到URL的HTTP响应代码。当action是REDIRECT_TO_URL或REDIRECT_PREFIX时生效。 此字段暂不支持产品化配置,请勿使用。 |
redirect_pool_id | uuid | 转发到的资源池ID。当action是REDIRECT_TO_POOL时生效。 |
redirect_url | string | 转发到的url。当action是REDIRECT_TO_URL时生效。 |
rules | array | 转发策略关联的转发规则。 |
tags | list | 标签。 |
updated_at | string | 转发策略最后一次更新的时间。 |
请求示例
curl -X GET -H "X-Auth-Token: <token>" http://octavia-api.octavia.svc.cluster.local:9876/v2.0/lbaas/l7policies
正常响应示例
{
"l7policies": [
{
"id": "05d7e56b-7049-4ee6-ae81-1b8227ea9e2c",
"name": "demo-l7policy",
"description": "demo l7polciy created",
"provisioning_status": "ACTIVE",
"operating_status": "ONLINE",
"admin_state_up": true,
"project_id": "250a86f0dcc9467285fa8af54457e885",
"action": "REDIRECT_TO_URL",
"listener_id": "e05cde88-4580-4e2b-a94a-bef5b64889f3",
"redirect_pool_id": null,
"redirect_url": "http://www.esdlb.com",
"redirect_prefix": null,
"position": 1,
"rules": [],
"created_at": "2022-04-26T02:34:41",
"updated_at": "2022-04-26T02:34:43",
"tags": [],
"redirect_http_code": 302,
"tenant_id": "250a86f0dcc9467285fa8af54457e885"
}
],
"l7policies_links": []
}
正常响应代码
200
错误码
400,401,500
创建L7转发策略
功能介绍
创建一个L7转发策略。
接口约束
- 只支持七层监听器配置转发策略。
URI
POST /v2.0/lbaas/l7policies
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
action | string | 是 | 转发策略行为。取值为: REDIRECT_TO_POOL:重定向到资源池; REDIRECT_TO_URL:重定向到URL; REJECT:拒绝外部资源的请求。 |
admin_state_up | boolean | 否 | 转发策略的管理状态,默认为true。 |
description | string | 否 | 转发策略的描述信息。 |
listener_id | uuid | 是 | 转发策略所属监听器的ID。 |
name | string | 否 | 转发策略的名称。 |
position | integer | 否 | 转发策略在监听器中的优先级。数字越小表示优先级越高,同一监听器下不允许重复。 |
project_id | string | 否 | 转发策略所属的项目ID。 |
redirect_http_code | integer | 否 | 转发到URL的HTTP响应代码。当action是REDIRECT_TO_URL或REDIRECT_PREFIX时生效。 此字段暂不支持产品化配置,请勿使用。 |
redirect_pool_id | uuid | 否 | 转发到的资源池ID。当action是REDIRECT_TO_POOL时生效。 |
redirect_url | string | 否 | 转发到的url。当action是REDIRECT_TO_URL时生效。 |
tags | list | 否 | 标签。 |
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
action | string | 转发策略行为。取值为: REDIRECT_TO_POOL:重定向到资源池; REDIRECT_TO_URL:重定向到URL; REJECT:拒绝外部资源的请求。 |
admin_state_up | boolean | 转发策略的管理状态。true表示启用,false表示停用。 |
created_at | string | 转发策略创建的时间。 |
description | string | 转发策略的描述信息。 |
id | uuid | 转发策略的ID。 |
listener_id | uuid | 转发策略所属监听器的ID。 |
name | string | 转发策略的名称。 |
operating_status | string | 转发策略的运行状态。 |
position | integer | 转发策略在监听器中的优先级。数字越小表示优先级越高,同一监听器下不允许重复。 |
project_id | string | 转发策略所属的项目ID。 |
provisioning_status | string | 转发策略的配置状态 。 |
redirect_http_code | integer | 转发到URL的HTTP响应代码。当action是REDIRECT_TO_URL或REDIRECT_PREFIX时生效。 此字段暂不支持产品化配置,请勿使用。 |
redirect_pool_id | uuid | 转发到的资源池ID。当action是REDIRECT_TO_POOL时生效。 |
redirect_url | string | 转发到的url。当action是REDIRECT_TO_URL时生效。 |
rules | array | 转发策略关联的转发规则。 |
tags | list | 标签。 |
updated_at | string | 转发策略最后一次更新的时间。 |
请求示例
curl -X POST -H "X-Auth-Token: <token>" -d '{"l7policy": {"listener_id": "e05cde88-4580-4e2b-a94a-bef5b64889f3", "name": "demo-l7policy", "description": "demo l7polciy created", "action": "REDIRECT_TO_URL", "redirect_url": "http://www.esdlb.com", "position": 1, "admin_state_up": true}}' http://octavia-api.octavia.svc.cluster.local:9876/v2.0/lbaas/l7policies
{
"l7policy": {
"listener_id": "e05cde88-4580-4e2b-a94a-bef5b64889f3",
"name": "demo-l7policy",
"description": "demo l7polciy created",
"action": "REDIRECT_TO_URL",
"redirect_url": "http://www.esdlb.com",
"position": 1,
"admin_state_up": true
}
}
正常响应示例
{
"l7policy": {
"id": "05d7e56b-7049-4ee6-ae81-1b8227ea9e2c",
"name": "demo-l7policy",
"description": "demo l7polciy created",
"provisioning_status": "PENDING_CREATE",
"operating_status": "OFFLINE",
"admin_state_up": true,
"project_id": "250a86f0dcc9467285fa8af54457e885",
"action": "REDIRECT_TO_URL",
"listener_id": "e05cde88-4580-4e2b-a94a-bef5b64889f3",
"redirect_pool_id": null,
"redirect_url": "http://www.esdlb.com",
"redirect_prefix": null,
"position": 1,
"rules": [],
"created_at": "2022-04-26T02:34:41",
"updated_at": null,
"tags": [],
"redirect_http_code": 302,
"tenant_id": "250a86f0dcc9467285fa8af54457e885"
}
}
正常响应代码
201
错误码
400,401,403,404,409,500,503
查询L7转发策略详情
功能介绍
查询L7转发策略详情。
URI
GET /v2.0/lbaas/l7policies/{l7policy_id}
参数 | 是否必选 | 描述 |
---|---|---|
l7policy_id | 是 | 待查询的L7转发策略的ID。 |
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
fields | string | 否 | 你想让服务器返回的字段。如果没有指定字段的查询参数,API会返回所有策略的属性。通过使用fields 参数,API只返回请求的属性集。可以指定多个字段的参数。例如,如果您指定fields=id&fields=name 的请求URL,那么只有id 和name 属性将返回。 |
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
action | string | 转发策略行为。取值为: REDIRECT_TO_POOL:重定向到资源池; REDIRECT_TO_URL:重定向到URL; REJECT:拒绝外部资源的请求。 |
admin_state_up | boolean | 转发策略的管理状态。true表示启用,false表示停用。 |
created_at | string | 转发策略创建的时间。 |
description | string | 转发策略的描述信息。 |
id | uuid | 转发策略的ID。 |
listener_id | uuid | 转发策略所属监听器的id。 |
name | string | 转发策略的名称。 |
operating_status | string | 转发策略的运行状态。 |
position | integer | 转发策略在监听器中的优先级。数字越小表示优先级越高,同一监听器下不允许重复。 |
project_id | string | 转发策略所属的项目ID。 |
provisioning_status | string | 转发策略的配置状态。 |
redirect_http_code | integer | 转发到URL的HTTP响应代码。当action是REDIRECT_TO_URL或REDIRECT_PREFIX时生效。 此字段暂不支持产品化配置,请勿使用。 |
redirect_pool_id | uuid | 转发到的资源池ID。当action是REDIRECT_TO_POOL时生效。 |
redirect_url | string | 转发到的url。当action是REDIRECT_TO_URL时生效。 |
rules | array | 转发策略关联的转发规则。 |
tags | list | 标签。 |
updated_at | string | 转发策略最后一次更新的时间。 |
请求示例
curl -X GET -H "X-Auth-Token: <token>" http://octavia-api.octavia.svc.cluster.local:9876/v2.0/lbaas/l7policies/05d7e56b-7049-4ee6-ae81-1b8227ea9e2c
正常响应示例
{
"l7policy": {
"id": "05d7e56b-7049-4ee6-ae81-1b8227ea9e2c",
"name": "demo-l7policy",
"description": "demo l7polciy created",
"provisioning_status": "ACTIVE",
"operating_status": "ONLINE",
"admin_state_up": true,
"project_id": "250a86f0dcc9467285fa8af54457e885",
"action": "REDIRECT_TO_URL",
"listener_id": "e05cde88-4580-4e2b-a94a-bef5b64889f3",
"redirect_pool_id": null,
"redirect_url": "http://www.esdlb.com",
"redirect_prefix": null,
"position": 1,
"rules": [],
"created_at": "2022-04-26T02:34:41",
"updated_at": "2022-04-26T02:34:43",
"tags": [],
"redirect_http_code": 302,
"tenant_id": "250a86f0dcc9467285fa8af54457e885"
}
}
正常响应代码
200
错误码
401,403,404,500
更新L7转发策略
功能介绍
更新七层转发策略。
URI
PUT /v2.0/lbaas/l7policies/{l7policy_id}
参数 | 是否必选 | 描述 |
---|---|---|
l7policy_id | 是 | 待更新的L7转发策略的ID。 |
请求消息
参数 | 参数类型 | 是否必选 | 描述 |
---|---|---|---|
action | string | 否 | 转发策略行为。取值为: REDIRECT_TO_POOL:重定向到资源池; REDIRECT_TO_URL:重定向到URL; REJECT:拒绝外部资源的请求。 |
admin_state_up | boolean | 否 | 转发策略的管理状态。true表示启用,false表示停用。 |
description | string | 否 | 转发策略的描述信息。 |
l7policy_id | uuid | 是 | 转发策略的ID。 |
name | string | 否 | 转发策略的名称。 |
position | integer | 否 | 转发策略在监听器中的优先级。数字越小表示优先级越高,同一监听器下不允许重复。 |
redirect_http_code | integer | 否 | 转发到URL的HTTP响应代码。当action是REDIRECT_TO_URL或REDIRECT_PREFIX时生效。 此字段暂不支持产品化配置,请勿使用。 |
redirect_pool_id | uuid | 否 | 转发到的资源池ID。当action是REDIRECT_TO_POOL时生效。 |
redirect_url | string | 否 | 转发到的url。当action是REDIRECT_TO_URL时生效。 |
tags | list | 否 | 标签。 |
响应消息
参数 | 参数类型 | 描述 |
---|---|---|
action | string | 转发策略行为。取值为: REDIRECT_TO_POOL:重定向到资源池; REDIRECT_TO_URL:重定向到URL; REJECT:拒绝外部资源的请求。 |
admin_state_up | boolean | 转发策略的管理状态。true表示启用,false表示停用。 |
description | string | 转发策略的描述信息。 |
l7policy_id | uuid | 转发策略的ID。 |
name | string | 转发策略的名称。 |
position | integer | 转发策略在监听器中的优先级。数字越小表示优先级越高,同一监听器下不允许重复。 |
redirect_http_code | integer | 转发到URL的HTTP响应代码。当action是REDIRECT_TO_URL或REDIRECT_PREFIX时生效。 此字段暂不支持产品化配置,请勿使用。 |
redirect_pool_id | uuid | 转发到的资源池ID。当action是REDIRECT_TO_POOL时生效。 |
redirect_url | string | 转发到的url。当action是REDIRECT_TO_URL时生效。 |
tags | list | 标签。 |
请求示例
curl -X PUT -H "X-Auth-Token: <token>" -d '{"l7policy": {"name": "demo-l7policy-2", "description": "demo l7policy update", "action": "REJECT", "position": 2}}' http://octavia-api.octavia.svc.cluster.local:9876/v2.0/lbaas/l7policies/05d7e56b-7049-4ee6-ae81-1b8227ea9e2c
{
"l7policy": {
"name": "demo-l7policy-2",
"description": "demo l7policy update",
"action": "REJECT",
"position": 2
}
}
正常响应示例
{
"l7policy": {
"id": "05d7e56b-7049-4ee6-ae81-1b8227ea9e2c",
"name": "demo-l7policy-2",
"description": "demo l7policy update",
"provisioning_status": "PENDING_UPDATE",
"operating_status": "ONLINE",
"admin_state_up": true,
"project_id": "250a86f0dcc9467285fa8af54457e885",
"action": "REJECT",
"listener_id": "e05cde88-4580-4e2b-a94a-bef5b64889f3",
"redirect_pool_id": null,
"redirect_url": null,
"redirect_prefix": null,
"position": 1,
"rules": [],
"created_at": "2022-04-26T02:34:41",
"updated_at": "2022-04-26T02:40:47",
"tags": [],
"redirect_http_code": null,
"tenant_id": "250a86f0dcc9467285fa8af54457e885"
}
}
正常响应代码
202
错误码
400,401,403,404,409,500
删除L7转发策略
功能介绍
删除七层转发策略。
前提条件
- 转发策略无关联的转发规则。
URI
DELETE /v2.0/lbaas/l7policies/{l7policy_id}
参数 | 是否必选 | 描述 |
---|---|---|
l7policy_id | 是 | 待删除的L7转发策略的ID。 |
请求消息
无
请求示例
curl -X DELETE -H "X-Auth-Token: <token>" http://octavia-api.octavia.svc.cluster.local:9876/v2.0/lbaas/l7policies/05d7e56b-7049-4ee6-ae81-1b8227ea9e2c
正常响应代码
204
错误码
400,401,403,404,409,500