更新时间:2023-12-18 GMT+08:00

更新转发规则

功能介绍

更新转发规则。通过修改转发规则可以改变流量的匹配规则。

URI

PUT /v2.0/lbaas/l7policies/{l7policy_id}/rules/{l7rule_id}

表1 参数说明

参数

是否必选

参数类型

描述

l7policy_id

String

转发策略ID。

l7rule_id

String

转发规则ID。

请求消息

表2 请求参数

参数

是否必选

参数类型

描述

rule

Object

转发规则对象。详见表3

表3 rule字段说明

参数

是否必选

参数类型

描述

compare_type

String

转发匹配方式:

type为HOST_NAME时,取值范围:

  • EQUAL_TO:精确匹配;

type为PATH时,取值范围:

  • REGEX:正则匹配;
  • STARTS_WITH:前缀匹配;
  • EQUAL_TO:精确匹配。

admin_state_up

Boolean

转发规则的管理状态;

该字段为预留字段,暂未启用。默认为true。

invert

Boolean

是否反向匹配;

取值范围:true/false。默认值:false;

该字段为预留字段,暂未启用。

key

String

匹配内容的键值。默认为null。

该字段为预留字段,暂未启用。

支持的最大字符长度:255

value

String

匹配内容的值。不能包含空格。

支持的最大字符长度:128

  • 当type为HOST_NAME时,取值范围:String (100),字符串只能包含英文字母、数字、“-”或“.”,且必须以字母或数字开头。
  • 当type为PATH时,取值范围:String (128)。当转发规则的compare_type为STARTS_WITH、EQUAL_TO时,字符串只能包含英文字母、数字、_~';@^-%#&$.*+?,=!:| \/()[]{},且必须以"/"开头。

响应消息

表4 响应参数

参数

参数类型

描述

rule

Object

转发规则对象。详见表5

表5 rule字段说明

参数

参数类型

描述

id

String

转发规则ID

tenant_id

String

转发规则所在的项目ID。

支持的最大字符长度:255

project_id

String

此参数和tenant_id参数含义一样,均指转发规则所在的项目ID。

admin_state_up

Boolean

转发规则的管理状态;

该字段为预留字段,暂未启用。取值范围:true/false。

  • true表示开启。
  • false表示关闭。

type

String

转发规则的匹配类型。

取值范围:

  • HOST_NAME:匹配请求中的域名;
  • PATH:匹配请求中的路径;

compare_type

String

转发匹配方式:

type为HOST_NAME时,取值范围:

  • EQUAL_TO:精确匹配;

type为PATH时,取值范围:

  • REGEX:正则匹配;
  • STARTS_WITH:前缀匹配;
  • EQUAL_TO:精确匹配。

invert

Boolean

是否反向匹配;

取值范围:true/false。默认值:false;

该字段为预留字段,暂未启用。

key

String

匹配内容的键值。默认为null。

该字段为预留字段,暂未启用。

支持的最大字符长度:255

value

String

匹配内容的值。

支持的最大字符长度:128

  • 当type为HOST_NAME时,取值范围:String (100),字符串只能包含英文字母、数字、“-”或“.”,且必须以字母或数字开头。
  • 当type为PATH时,取值范围:String (128)。当转发规则的compare_type为STARTS_WITH、EQUAL_TO时,字符串只能包含英文字母、数字、_~';@^-%#&$.*+?,=!:| \/()[]{},且必须以"/"开头。

provisioning_status

String

该字段为预留字段,暂未启用。

转发规则的配置状态,可以为ACTIVE。

请求示例

  • 请求样例 更新转发规则
    PUT https://{Endpoint}/v2.0/lbaas/l7policies/5ae0e1e7-5f0f-47a1-b39f-5d4c428a1586/rules/c6f457b8-bf6f-45d7-be5c-a3226945b7b1
    
    {
        "rule": {
            "compare_type": "STARTS_WITH", 
            "value": "/ccc.html"
        }
    }

响应示例

  • 响应样例
    {
        "rule": {
            "compare_type": "STARTS_WITH", 
            "provisioning_status": "ACTIVE",
            "admin_state_up": true, 
            "tenant_id": "a31d2bdcf7604c0faaddb058e1e08819",
            "project_id": "a31d2bdcf7604c0faaddb058e1e08819",
            "invert": false, 
            "value": "/ccc.html", 
            "key": null, 
            "type": "PATH", 
            "id": "c6f457b8-bf6f-45d7-be5c-a3226945b7b1"
        }
    }

返回码

请参见状态码