更新时间:2024-09-26 GMT+08:00

创建转发规则

功能介绍

创建转发规则。通过创建域名和路径类型的转发规则,可以匹配请求中的域名、路径,匹配后的流量转发到该转发规则关联的转发策略的redirect_pool_id指定的后端云服务器组上。

接口约束

一个转发策略下的转发规则的匹配类型不能重复。

URI

POST /v2/{project_id}/elb/l7policies/{l7policy_id}/rules

表1 参数说明

参数

是否必选

参数类型

描述

project_id

String

操作用户的项目ID。

l7policy_id

String

转发策略id。

请求消息

表2 请求参数

参数

是否必选

参数类型

描述

rule

Rule object

转发规则对象。详见表3

表3 rule字段说明

参数

是否必选

参数类型

描述

tenant_id

String

转发规则所在的项目ID。

需要和token中的project_id一致。

支持的最大字符长度:255

admin_state_up

Boolean

转发规则的管理状态。只支持设置为true。

type

String

转发规则的匹配类型。

取值范围:

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

同一个转发策略下转发规则的type不能重复。

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时,字符串只能包含英文字母、数字、_~';@^-%#&$.*+?,=!:| \/()[]{},且必须以"/"开头。

响应消息

表4 响应参数

参数

参数类型

描述

rule

Rule object

转发规则对象。详见表5

表5 rule字段说明

参数

参数类型

描述

id

String

转发规则ID

tenant_id

String

转发规则所在的项目ID。

支持的最大字符长度:255

project_id

String

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

admin_state_up

Boolean

转发规则的管理状态。只支持设置为true。

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。

请求示例

  • 请求样例 创建转发规则
    POST https://{endpoint}/v2/a31d2bdcf7604c0faaddb058e1e08819/elb/l7policies/5ae0e1e7-5f0f-47a1-b39f-5d4c428a1586/rules  
    
    {
        "rule": {
            "compare_type": "EQUAL_TO", 
            "type": "PATH", 
            "value": "/bbb.html"
        }
    }

响应示例

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

返回码

请参见状态码