
# 创建规则 - CreateRule
#### 功能介绍
创建一条规则
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/IEF/doc?api=CreateRule)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ief/ief_02_1003.html)。
#### URI
POST /v2/{project_id}/routemgr/rules
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述   |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID |
#### 请求参数
表2请求Header参数 
| 参数              | 是否必选 | 参数类型   | 描述                                                        |
|:---|:---|:---|:---|
| Content-Type    | 是    | String | 消息体的类型（格式），默认取值为"application/json"。                       |
| X-Auth-Token    | 是    | String | 用户Token。 通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
| ief-instance-id | 否    | String | 企业版实例ID，专业版实例为空值。                                         |
   
表3请求Body参数 
| 参数   | 是否必选 | 参数类型                                                 | 描述   |
|:---|:---|:---|:---|
| rule | 否    | [RuleConfig] object | 规则配置 |
   
 表4RuleConfig 
| 参数              | 是否必选 | 参数类型                 | 描述                                                                                                                                                                          |
|:---|:---|:---|:---|
| description     | 否    | String               | 规则描述，最大长度255，不允许\^\~#$%\&\*\<\>()\[\]{}'"\\                                                                                                                                 |
| ief_instance_id | 否    | String               | 企业版实例ID，如果为空则表示是专业版实例。                                                                                                                                                      |
| in_using        | 否    | Boolean              | 是否启用规则，默认为true（启用）                                                                                                                                                          |
| name            | 是    | String               | 规则名称，只允许中文字符、英文字符、数字、下划线、中划线，最大长度64 同一个账号中创建的规则名唯一                                                                                                                          |
| source          | 是    | String               | 源端点ID                                                                                                                                                                       |
| source_resource | 是    | Map\<String,String\> | 源端点资源。示例： - rest: {"path":"\<standard uri format\>"} - eventbus: {"topic":"\<project id\>/nodes/\<node id\>/user/\<租户自定义且满足eventbus topic要求的字符串\>","node_id":"\<node id\>"} |
| target          | 是    | String               | 目的端点ID                                                                                                                                                                      |
| target_resource | 是    | Map\<String,String\> | 目的端点资源。示例： - dis: - servicebus: - apigw: - eventbus: {"channel": "dis channel name"} {"path": "/request path"} {"resource": "http://ssss.com"} {"topic": "/xxxx"}           |
   
#### 响应参数
**状态码：201**
表5响应Body参数 
| 参数   | 参数类型                                                      | 描述   |
|:---|:---|:---|
| rule | [RuleResponse] object | 规则配置 |
   
 表6RuleResponse 
| 参数               | 参数类型                                                            | 描述                                                                                                                                                                          |
|:---|:---|:---|
| created_at       | String                                                          | 创建时间                                                                                                                                                                        |
| description      | String                                                          | 规则描述，最大长度255，不允许\^\~#$%\&\*\<\>()\[\]{}'"\\                                                                                                                                 |
| fail_messages    | Integer                                                         | 转发失败的消息数                                                                                                                                                                    |
| id               | String                                                          | 规则ID                                                                                                                                                                        |
| ief_instance_id  | String                                                          | 企业版实例ID，如果为空则表示是专业版实例。                                                                                                                                                      |
| in_using         | Boolean                                                         | 是否启用规则，默认为true（启用）                                                                                                                                                          |
| name             | String                                                          | 规则名称，只允许中文字符、英文字符、数字、下划线、中划线，最大长度64 同一个账号中创建的规则名唯一                                                                                                                          |
| project_id       | String                                                          | 项目ID                                                                                                                                                                        |
| source           | [EndpointObjResp] object | 端点详情                                                                                                                                                                        |
| source_resource  | Map\<String,String\>                                            | 源端点资源。示例： - rest: {"path":"\<standard uri format\>"} - eventbus: {"topic":"\<project id\>/nodes/\<node id\>/user/\<租户自定义且满足eventbus topic要求的字符串\>","node_id":"\<node id\>"} |
| target           | [EndpointObjResp] object | 端点详情                                                                                                                                                                        |
| target_resource  | Map\<String,String\>                                            | 目的端点资源，示例： - dis: {"channel": "dis channel name"} - servicebus: {"path": "/request path"} - apigw: {"resource": "http://ssss.com"} - eventbus: {"topic": "/xxxx"}           |
| updated_at       | String                                                          | 更新时间                                                                                                                                                                        |
| success_messages | Integer                                                         | 转发成功的消息数                                                                                                                                                                    |
   
 表7EndpointObjResp 
| 参数              | 参数类型                 | 描述                                                                                                                                          |
|:---|:---|:---|
| created_at      | String               | 创建时间                                                                                                                                        |
| description     | String               | 端点描述，最大长度255，不允许\^\~#$%\&\*\<\>()\[\]{}'"\\                                                                                                 |
| id              | String               | 端点ID                                                                                                                                        |
| ief_instance_id | String               | 企业版实例ID，如果为空则表示是专业版实例。                                                                                                                      |
| is_shared       | Boolean              | 是否共享                                                                                                                                        |
| name            | String               | 端点名称，只允许中文字符、英文字符、数字、下划线、中划线，最大长度64 同一个账号中创建的端点名唯一                                                                                          |
| project_id      | String               | 项目ID                                                                                                                                        |
| properties      | Map\<String,Object\> | 端点的属性，端点需要对外展示的属性，示例： - dis: - servicebus: - apigw: {"domain_id":"user's domain id"} {"service_port":8080} {"domain_id":"user's domain id"} |
| type            | String               | 端点类型。枚举值： - dis - servicebus - apigw                                                                                                        |
| updated_at      | String               | 更新时间                                                                                                                                        |
   
#### 请求示例
创建规则，规则名为"example"。
```
{
  "rule" : {
    "name" : "example",
    "description" : "",
    "target_resource" : {
      "topic" : "/hello"
    },
    "target" : "6bf2fda9-810c-40ed-8623-ff9396fe357d",
    "source" : "b98c3337-fb15-4548-8d11-63ae78f0cc82",
    "source_resource" : {
      "path" : "/abc"
    }
  }
}
```
#### 响应示例
**状态码：201**
ok
```
{
  "rule" : {
    "name" : "example",
    "description" : "",
    "source_resource" : {
      "path" : "/abc"
    },
    "target_resource" : {
      "topic" : "/hello"
    },
    "in_using" : true,
    "ief_instance_id" : "",
    "id" : "626d38cb-098f-4493-b48b-6d6e5ad1bc43",
    "project_id" : "ed202955e111444e8ced21a1bd75fc59",
    "created_at" : "2022-09-07T11:07:48Z",
    "updated_at" : "2022-09-07T11:07:48Z",
    "source" : {
      "name" : "SystemREST",
      "description" : "",
      "type" : "rest",
      "properties" : {
        "public" : "100.95.158.25"
      },
      "ief_instance_id" : "",
      "is_shared" : true,
      "id" : "b98c3337-fb15-4548-8d11-63ae78f0cc82",
      "project_id" : "9ff38382ccc546ac9635800c3315a5e2",
      "created_at" : "2019-03-09T11:42:45Z",
      "updated_at" : "2021-10-11T09:16:09Z"
    },
    "target" : {
      "name" : "SystemEventBus",
      "description" : "",
      "type" : "eventbus",
      "properties" : { },
      "ief_instance_id" : "",
      "is_shared" : true,
      "id" : "6bf2fda9-810c-40ed-8623-ff9396fe357d",
      "project_id" : "9ff38382ccc546ac9635800c3315a5e2",
      "created_at" : "2019-03-09T11:42:45Z",
      "updated_at" : "2021-10-11T09:16:09Z"
    },
    "fail_messages" : 0,
    "success_messages" : 0
  }
}
```
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 201 | ok |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ief/ErrorCode.html)。
