
# 创建应用规则 - CreateAppRule
#### 功能介绍
创建应用规则。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/Workspace/doc?api=CreateAppRule)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-workspace/workspace_09_0128.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                               | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | workspace:appcenter:createAppRule | Write | -           | -   | -  | -      |
     
  
 
#### URI
POST /v1/{project_id}/app-center/app-rules
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述    |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID。 |
   
#### 请求参数
表2请求Body参数 
| 参数          | 是否必选 | 参数类型                                        | 描述                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| name        | 是    | String                                      | 规则名称： 1. 名称允许可见字符或空格，不可为全空格。   2. 长度1\~64个字符。     |
| description | 否    | String                                      | 规则描述： 1. 名称允许可见字符或空格，不可为全空格。   2. 长度0\~128个字符。    |
| rule        | 是    | [Rule] object | 规则信息。                                                                                                                                                                                                                                                                                                                                                         |
   
 表3Rule 
| 参数           | 是否必选 | 参数类型                                                      | 描述                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| scope        | 是    | String                                                    | 规则范围： - *PRODUCT* - 产品   - *PATH* - 路径    |
| product_rule | 否    | [ProductRule] object | 产品规则信息,进程名称、产品名称、发布者的各项都需要匹配，为空或者*表示任意匹配。 例如： 发布者：* 产品名称：Huawei 进程名称：\* 只要产品名称是Huawei的就可以认为是匹配的。                                                                                                                                                   |
| path_rule    | 否    | [PathRule] object       | 路径规则信息,限制对应路径及子路径                                                                                                                                                                                                                                                                                                                                     |
   
 表4ProductRule 
| 参数                 | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| identify_condition | 否    | String | 识别条件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| publisher          | 否    | String | 发布者名称： 1. 名称允许可见字符或空格，不可为全空格。   2. 长度0\~1024个字符。   3. 为空或者\*号表示任意匹配。    |
| product_name       | 否    | String | 产品名称： 1. 名称允许可见字符或空格，不可为全空格。   2. 长度0\~128个字符。   3. 为空或者\*号表示任意匹配。      |
| process_name       | 否    | String | 进程名称： 1. 名称允许可见字符或空格，不可为全空格。   2. 长度0\~128个字符。   3. 为空或者\*号表示任意匹配。      |
| support_os         | 否    | String | 操作系统类型，仅内置规则存在该字段。 1. 名称允许可见字符或空格，不可为全空格。   2. 长度0\~128个字符。                                                                                                                                  |
| version            | 否    | String | 版本号： 1. 名称允许可见字符或空格，不可为全空格。   2. 长度0\~128个字符。   3. 为空或者\*号表示任意匹配。       |
| product_version    | 否    | String | 产品版本号： 1. 允许可见字符。   2. 长度0\~128个字符。                                                                                                                                                          |
   
 表5PathRule 
| 参数   | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| path | 否    | String | 完整路径： 1. 名称允许可见字符或空格，不可为全空格。   2. 长度0\~512个字符。    |
   
#### 响应参数
**状态码：200**
表6响应Body参数 
| 参数          | 参数类型                                         | 描述    |
|:---|:---|:---|
| id          | String                                       | 规则ID。 |
| name        | String                                       | 规则名称。 |
| description | String                                       | 规则描述。 |
| rule        | [Rule] object | 规则信息。 |
| rule_source | String                                       | 规则来源。 |
| create_time | String                                       | 创建时间。 |
| update_time | String                                       | 更新时间。 |
   
 表7Rule 
| 参数           | 参数类型                                                       | 描述                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|
| scope        | String                                                     | 规则范围： - *PRODUCT* - 产品   - *PATH* - 路径    |
| product_rule | [ProductRule] object | 产品规则信息,进程名称、产品名称、发布者的各项都需要匹配，为空或者*表示任意匹配。 例如： 发布者：* 产品名称：Huawei 进程名称：\* 只要产品名称是Huawei的就可以认为是匹配的。                                                                                                                                                   |
| path_rule    | [PathRule] object       | 路径规则信息,限制对应路径及子路径                                                                                                                                                                                                                                                                                                                                     |
   
 表8ProductRule 
| 参数                 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| identify_condition | String | 识别条件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| publisher          | String | 发布者名称： 1. 名称允许可见字符或空格，不可为全空格。   2. 长度0\~1024个字符。   3. 为空或者\*号表示任意匹配。    |
| product_name       | String | 产品名称： 1. 名称允许可见字符或空格，不可为全空格。   2. 长度0\~128个字符。   3. 为空或者\*号表示任意匹配。      |
| process_name       | String | 进程名称： 1. 名称允许可见字符或空格，不可为全空格。   2. 长度0\~128个字符。   3. 为空或者\*号表示任意匹配。      |
| support_os         | String | 操作系统类型，仅内置规则存在该字段。 1. 名称允许可见字符或空格，不可为全空格。   2. 长度0\~128个字符。                                                                                                                                  |
| version            | String | 版本号： 1. 名称允许可见字符或空格，不可为全空格。   2. 长度0\~128个字符。   3. 为空或者\*号表示任意匹配。       |
| product_version    | String | 产品版本号： 1. 允许可见字符。   2. 长度0\~128个字符。                                                                                                                                                          |
   
 表9PathRule 
| 参数   | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| path | String | 完整路径： 1. 名称允许可见字符或空格，不可为全空格。   2. 长度0\~512个字符。    |
   
**状态码：400**
表10响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：401**
表11响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：403**
表12响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：404**
表13响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：405**
表14响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：500**
表15响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
**状态码：503**
表16响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| error_code | String | 错误码，失败时返回。 |
| error_msg  | String | 错误描述。      |
   
#### 请求示例
```
{
  "name" : "Huawei",
  "description" : "test",
  "rule" : {
    "scope" : "PRODUCT",
    "product_rule" : {
      "identify_condition" : "productName",
      "publisher" : null,
      "product_name" : "HUAWEI",
      "process_name" : "Huawei.exe",
      "support_os" : "Windows",
      "version" : "1.0.0.1",
      "product_version" : "1.0.0.1"
    },
    "path_rule" : {
      "path" : "D:\\\\tmp"
    }
  }
}
```
#### 响应示例
**状态码：200**
成功响应。
```
{
  "id" : "string",
  "name" : "string",
  "description" : "string",
  "rule" : {
    "scope" : "PRODUCT",
    "product_rule" : {
      "identify_condition" : "productName",
      "publisher" : null,
      "product_name" : "HUAWEI",
      "process_name" : "Huawei.exe",
      "support_os" : "Windows",
      "version" : "1.0.0.1",
      "product_version" : "1.0.0.1"
    },
    "path_rule" : {
      "path" : "D:\\\\tmp"
    }
  },
  "rule_source" : "string",
  "create_time" : "2024-12-25T07:03:30.065Z",
  "update_time" : "2024-12-25T07:03:30.065Z"
}
```
#### 状态码
| 状态码 | 描述                      |
|:---|:---|
| 200 | 成功响应。                   |
| 400 | 由于包含语法错误，当前请求无法被服务器理解。  |
| 401 | 鉴权失败。                   |
| 403 | 没有操作权限。                 |
| 404 | 找不到资源。                  |
| 405 | 请求中指定的方法不被允许。           |
| 500 | 服务内部错误，具体返回错误码请参见错误码说明。 |
| 503 | 服务不可用。                  |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-workspace/ErrorCode.html)。
