# 更新规则 - UpdateScanRules
#### 功能介绍
功能介绍：更新规则
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-dsc/dsc_02_0008.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-dsc/dsc_02_0031.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
PUT /v1/{project_id}/scan-rules/{rule_id}
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 项目ID。可参考获取项目ID获取。 **约束限制：** 不涉及 **取值范围：** 以IAM服务接口返回值为准，字符长度32-32。 **默认取值：** 不涉及 |
| rule_id    | 是    | String | **参数解释：** 规则ID **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                   |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。通过调用IAM服务查询用户Token接口获取（响应消息头中X-Subject-Token的值）。 **约束限制：** 不涉及 **取值范围：** IAM服务查询用户Token接口为准 **默认取值：** 不涉及 |
   
表3请求Body参数 
| 参数                       | 是否必选 | 参数类型                                                                                        | 描述                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| rule_name                | 是    | String                                                                                      | **参数解释：** 规则名称 **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                      |
| rule_desc                | 否    | String                                                                                      | **参数解释：** 规则描述 **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                      |
| rule_type                | 是    | String                                                                                      | **参数解释：** 规则类型 **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                      |
| category                 | 是    | String                                                                                      | **参数解释：** 类别 **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                        |
| content                  | 是    | Array of [ScanRuleContentInfo] objects       | **参数解释：** 规则内容 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                             |
| templates                | 否    | Array of [CreateTemplateRuleInfo] objects | **参数解释：** 规则模板列表 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                           |
| logic_operator           | 是    | String                                                                                      | **参数解释：** 逻辑操作符 **约束限制：** 不涉及 **取值范围：** AND-且，OR-或 **默认取值：** 不涉及                                                                                     |
| min_match                | 是    | Integer                                                                                     | **参数解释：** 最小匹配 **约束限制：** 取值范围1\~100 最大值100 最小值1 **取值范围：** 不涉及 **默认取值：** 不涉及    |
| match_rate               | 是    | Integer                                                                                     | **参数解释：** 匹配率 **约束限制：** 取值范围1\~100 最大值100 最小值1 **取值范围：** 不涉及 **默认取值：** 不涉及     |
| whitelist_content        | 否    | Array of [ScanRuleContentInfo] objects       | **参数解释：** 白名单内容 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                            |
| whitelist_rule_type      | 否    | String                                                                                      | **参数解释：** 白名单规则类型 **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                   |
| whitelist_logic_operator | 否    | String                                                                                      | **参数解释：** 白名单逻辑操作符 **约束限制：** 不涉及 **取值范围：** AND-且，OR-或 **默认取值：** 不涉及                                                                                  |
| whitelist_min_match      | 否    | Integer                                                                                     | **参数解释：** 白名单最小匹配 **约束限制：** 取值范围1\~100 最大值100 最小值1 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| whitelist_match_rate     | 否    | Integer                                                                                     | **参数解释：** 白名单匹配比率 **约束限制：** 取值范围1\~100 最大值100 最小值1 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
 表4CreateTemplateRuleInfo 
| 参数                | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| template_id       | 是    | String  | **参数解释：** 模板ID **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| classification_id | 是    | String  | **参数解释：** 规则ID **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| security_level_id | 是    | String  | **参数解释：** 规则ID **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| rule_id           | 是    | String  | **参数解释：** 规则ID **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| is_used           | 否    | Boolean | **参数解释：** 是否启用 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及        |
   
 表5ScanRuleContentInfo 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| location       | 否    | String | **参数解释：** 规则位置 **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及       |
| effective_mode | 否    | String | **参数解释：** 扫描规则内容信息模式 **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| rule_content   | 是    | String | **参数解释：** 规则内容 **约束限制：** 最大长度1024字符 **取值范围：** 不涉及 **默认取值：** 不涉及       |
   
#### 响应参数
**状态码：200**
表6响应Body参数 
| 参数     | 参数类型   | 描述                                                                                                                                         |
|:---|:---|:---|
| status | String | **参数解释：** 操作结果状态 **取值范围：** 不涉及    |
| msg    | String | **参数解释：** 操作结果描述信息 **取值范围：** 不涉及  |
| id     | String | **参数解释：** 资源ID，唯一标识 **取值范围：** 不涉及 |
   
#### 请求示例
更新规则
```
{
  "rule_name" : "classification-rule-01",
  "rule_desc" : "scan-rule-01",
  "rule_type" : "KEYWORD",
  "category" : "BUILT_IN",
  "content" : [ {
    "location" : "scan-rule-01",
    "effective_mode" : "scan-rule-01",
    "rule_content" : "phone_number"
  }, {
    "location" : "scan-rule-01",
    "effective_mode" : "scan-rule-01",
    "rule_content" : "phone_number"
  } ],
  "templates" : [ {
    "template_id" : "7e1f2a3b-4c5d-4e6f-1a2b-0c9d8e7f6a5b",
    "classification_id" : "9a3b4c5d-6e7f-4a8b-3c4d-2e1f0a9b8c7d",
    "security_level_id" : "5c9d0e1f-2a3b-4c4d-9e0f-8a7b6c5d4e3f",
    "rule_id" : "4b8c9d0e-1f2a-4b3c-8d9e-7f6a5b4c3d2e",
    "is_used" : true
  }, {
    "template_id" : "7e1f2a3b-4c5d-4e6f-1a2b-0c9d8e7f6a5b",
    "classification_id" : "9a3b4c5d-6e7f-4a8b-3c4d-2e1f0a9b8c7d",
    "security_level_id" : "5c9d0e1f-2a3b-4c4d-9e0f-8a7b6c5d4e3f",
    "rule_id" : "4b8c9d0e-1f2a-4b3c-8d9e-7f6a5b4c3d2e",
    "is_used" : true
  } ],
  "logic_operator" : "scan-rule-01",
  "min_match" : 100,
  "match_rate" : 100,
  "whitelist_content" : [ {
    "location" : "scan-rule-01",
    "effective_mode" : "scan-rule-01",
    "rule_content" : "phone_number"
  }, {
    "location" : "scan-rule-01",
    "effective_mode" : "scan-rule-01",
    "rule_content" : "phone_number"
  } ],
  "whitelist_rule_type" : "OBS",
  "whitelist_logic_operator" : "scan-rule-01",
  "whitelist_min_match" : 100,
  "whitelist_match_rate" : 100
}
```
#### 响应示例
**状态码：200**
```
{
  "status" : "success",
  "msg" : "更新扫描规则成功",
  "id" : "8f2a3b4c-5d6e-4f7a-2b3c-1d0e9f8a7b6c"
}
```
#### 状态码
| 状态码 | 描述    |
|:---|:---|
| 200 | 请求已成功 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-dsc/ErrorCode.html)。
