
# 修改规则集中启用的规则 - ModifyCriterionIntoSet
#### 功能介绍
该API用于向规则集中添加规则或者删除规则，以及修改启用的规则配置参数，修改规则告警延迟时间，告警等级，规则适用范围。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-codecheck/codecheck_03_0006.html)。
#### 授权信息
账号根用户具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备如下身份策略权限，更多的权限说明请参见[权限和授权项](https://support.huaweicloud.com/api-codecheck/Permission.html)。
| 授权项                          | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| codeartscheck::updateRuleSet | Write | -           | -   | -  | -      |
   
#### URI
POST /v1/relations
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取（响应消息头中X-Subject-Token的值）。 **约束限制：** 不涉及。 **取值范围：** 长度为\[1\~100000\]的字符。 **默认取值：** 不涉及。 |
| operator     | 否    | String | **参数解释：** 操作人，填写账号用户名。 **约束限制：** 不涉及。 **取值范围：** 长度为\[1\~128\]个字符。 **默认取值：** 不涉及。                                                                                                            |
   
表2请求Body参数 
| 参数               | 是否必选 | 参数类型                                                                                             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| setId            | 是    | String                                                                                           | **参数解释:** 规则集ID，通过[查询规则集列表](https://support.huaweicloud.com/api-codecheck/ListRulesets.html)接口可获取到规则集ID。 **约束限制:** 不涉及。 **取值范围:** 长度为\[1\~32\]个字符。 **默认取值：** 不涉及。 |
| showToolVersions | 否    | Array of strings                                                                                 | **参数解释:** 展示版本。 **约束限制:** 不涉及。 **取值范围:** 不涉及。 **默认取值：** 不涉及。                                                                                                      |
| criterionIdsList | 是    | Array of [CriterionStatusParams] objects | 能力规则ID列表。                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   
 表3CriterionStatusParams 
| 参数                | 是否必选 | 参数类型                                                                                                       | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| id                | 是    | String                                                                                                     | **参数解释:** 规则unique_id。通过[获取规则列表接口](https://support.huaweicloud.com/api-codecheck/ListRules.html)查询项目列表获取。 **约束限制:** 不涉及。 **取值范围:** 32位UUID。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| status            | 是    | String                                                                                                     | **参数解释:** 启用状态。 **约束限制:** 不涉及。 **取值范围:** - enable：启用。   - disable：停用。    **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                      |
| isSupportVersion  | 否    | String                                                                                                     | **参数解释:** 规则是否启用版本级检查。当设置为disable时，版本级检查场景中该规则不生效。 **约束限制:** 不涉及。 **取值范围:** - enable：启用。   - disable：停用。    **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                   |
| isSupportPersonal | 否    | String                                                                                                     | **参数解释:** 规则是否启用门禁级检查。当设置为disable时，门禁级检查场景中该规则不生效。 **约束限制:** 不涉及。 **取值范围:** - enable：启用。   - disable：停用。    **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                   |
| isSupportIDE      | 否    | String                                                                                                     | **参数解释:** 规则是否启用IDE级检查。该字段功能暂未开放。 **约束限制:** 不涉及。 **取值范围:** - enable：启用。   - disable：停用。    **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                    |
| delayStartTime    | 否    | String                                                                                                     | **参数解释：** 延迟告警开始时间，使用UTC时间，格式为yyyy-MM-ddTHH:mm:ssZ。 **约束限制:** 输入值需要符合格式：yyyy-MM-ddTHH:mm:ssZ。 **取值范围:** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| delayEndTime      | 否    | String                                                                                                     | **参数解释：** 延迟告警结束时间，使用UTC时间，格式为yyyy-MM-ddTHH:mm:ssZ。 **约束限制:** 输入值需要符合格式：yyyy-MM-ddTHH:mm:ssZ。 **取值范围:** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| options           | 否    | Array of [CriterionOptionRequestBody] objects | 规则options，部分规则含有支持用户自定义取值范围的配置参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| severity          | 否    | String                                                                                                     | **参数解释：** 告警等级。 **约束限制:** 只能传0，1，2，3这几个数字。 **取值范围：** - 0：致命。   - 1：严重。   - 2：一般。   - 3：提示。    **默认取值：** 不涉及。 |
   
 表4CriterionOptionRequestBody 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| ruleId         | 否    | String | **参数解释：** 工具规则ID。 **约束限制：** 不涉及。 **取值范围：** 32位UUID。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| criterionId    | 否    | String | **参数解释：** 能力规则unique_id。 **约束限制：** 不涉及。 **取值范围：** 32位UUID。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| criterionSetId | 否    | String | **参数解释：** 规则集ID。 **约束限制：** 不涉及。 **取值范围：** 32位UUID。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| optionKey      | 否    | String | **参数解释：** 配置参数项的key。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| name           | 否    | String | **参数解释：** option名称。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| optionValue    | 否    | String | **参数解释：** 配置参数的值，由用户配置。若为空，则使用默认值。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| description    | 否    | String | **参数解释：** 配置参数的解释信息。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| defaultValue   | 否    | String | **参数解释：** 默认值。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| valueType      | 否    | String | **参数解释：** 参数值类型。 **约束限制：** 不涉及。 **取值范围：** - BOOLEAN：布尔类型。   - FLOAT：浮点数类型。   - INTEGER：整数类型。   - STRING：字符串类型。   - 字段为空：默认为STRING。    **默认取值：** 不涉及。 |
| valueRange     | 否    | String | **参数解释：** 配置参数取值范围。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   
#### 响应参数
**状态码：200**
表5响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|
| httpStatus | String | **参数解释：** HTTP响应状态。 **取值范围：** - OK：请求已成功处理，服务器返回了请求的资源或操作结果。   - ACCEPTED：请求已被服务器接受，但处理尚未完成（通常用于异步操作）。   - INTERNAL_SERVER_ERROR：接口内部异常。   - BAD_REQUEST：参数校验异常。    |
| result     | String | **参数解释：** 规则更新情况说明。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| status     | String | **参数解释：** 接口响应状态。 **取值范围：** - success：接口响应成功。   - error：接口响应失败。                                                                                                                                                                                                                                                                                                                                                                                                     |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                           |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码。 **取值范围：** 不涉及。  |
| error_msg  | String | **参数解释：** 错误描述。 **取值范围：** 不涉及。 |
   
**状态码：401**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                           |
|:---|:---|:---|
| error_code | String | **参数解释：** 错误码。 **取值范围：** 不涉及。  |
| error_msg  | String | **参数解释：** 错误描述。 **取值范围：** 不涉及。 |
   
#### 请求示例
```
POST https://{endpoint}/v1/relations
{
  "criterionIdsList" : [ {
    "severity" : "2",
    "stage" : "",
    "isSupportPersonal" : "enable",
    "isSupportIDE" : "disable",
    "options" : [ {
      "isDefault" : true,
      "criterionId" : "6de996af6d6511edab16fa163e0fa374",
      "optionKey" : "CheckPtr",
      "editable" : false,
      "defaultValue" : "\"\"",
      "optionValue" : "\"\"",
      "name" : "CheckPtr",
      "description" : "配置为true时，函数参数为指针的场景也会检查",
      "ruleId" : "6e0b9ff76d6511edab16fa163e0fa374"
    } ],
    "id" : "6de996af6d6511edab16fa163e0fa374",
    "isSupportVersion" : "enable",
    "status" : "enable"
  } ],
  "setId" : "bdb0ba39e21545b7bf8f1f3b70084bc2",
  "showToolVersions" : [ "202503" ]
}
```
#### 响应示例
**状态码：200**
请求成功!
```
{
  "httpStatus" : "OK",
  "result" : "变动数目为：1",
  "status" : "success"
}
```
**状态码：400**
请求异常。
```
{
  "error_code" : "CC.xxxxxxxx.400",
  "error_msg" : "请求参数校验失败,请检查请求参数是否正确。"
}
```
**状态码：401**
权限不足。
```
{
  "error_code" : "CC.00000003",
  "error_msg" : "认证信息过期。"
}
```
#### 状态码
| 状态码 | 描述    |
|:---|:---|
| 200 | 请求成功! |
| 400 | 请求异常。 |
| 401 | 权限不足。 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-codecheck/ErrorCode.html)。
