
# 创建转发规则 - CreateL7Rule
#### 功能介绍
创建转发规则。通过创建域名和路径类型的转发规则，可以匹配请求中的域名、路径，匹配后的流量转发到该转发规则关联的转发策略的redirect_pool_id指定的后端云服务器组上。
#### 接口约束
一个转发策略下的转发规则的匹配类型不能重复。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=ELB&api=CreateL7rule&version=v2)中直接运行调试该接口。
#### URI
POST /v2/{project_id}/elb/l7policies/{l7policy_id}/rules
表1参数说明 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                            |
|:---|:---|:---|:---|
| project_id  | 是    | String | 操作用户的项目ID。 获取方法详见[获取项目ID](https://support.huaweicloud.com/api-elb/elb_fl_0008.html)。 |
| l7policy_id | 是    | String | 转发策略id。                                                                                                                                       |
   
#### 请求消息
表2请求参数 
| 参数   | 是否必选 | 参数类型                                                             | 描述                                                                |
|:---|:---|:---|:---|
| rule | 是    | [Rule] object | 转发规则对象。详见[表3]。 |
   
 表3rule字段说明 
| 参数             | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| tenant_id      | 否    | String  | 转发规则所在的项目ID。 获取方法详见[获取项目ID](https://support.huaweicloud.com/api-elb/elb_fl_0008.html)。 需要和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]。 |
   
 表5rule字段说明 
| 参数                  | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| 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"
      }
  }
  ```
  
 
#### 返回码
请参见[状态码](https://support.huaweicloud.com/api-elb/elb_gc_1102.html)。
