# 更新配置文件 - UpdateConf
#### 功能介绍
该接口用于Logstash集群更新配置文件。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-css/css_03_0077.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-css/css_03_0096.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                     | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                        | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | css:logstash:confUpdate | Write | cluster \*  | - g:EnterpriseProjectId   - g:ResourceTag/\<tag-key\>    | -  | -      |
     
  
 
#### URI
POST /v1.0/{project_id}/clusters/{cluster_id}/lgsconf/update
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 项目ID。获取方法请参见[获取项目ID和名称](https://support.huaweicloud.com/api-css/css_03_0071.html)。 **约束限制**： 不涉及 **取值范围**： 账户的项目ID，长度为32个字符，由小写字母和数字组成。 **默认取值**： 不涉及 |
| cluster_id | 是    | String | **参数解释**： 指定更新配置文件的集群ID。获取方法请参见[获取集群ID](https://support.huaweicloud.com/api-css/css_03_0101.html)。 **约束限制**： 不涉及 **取值范围**： UUID格式，36个字符。 **默认取值**： 不涉及          |
   
#### 请求参数
表2请求Body参数 
| 参数              | 是否必选 | 参数类型                                           | 描述                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| name            | 是    | String                                         | **参数解释**： 配置文件名称。 **约束限制**： 不涉及 **取值范围**： 4～32个字符，只能包含数字、字母、中划线和下划线，且必须以字母开头。 **默认取值**： 不涉及                                                 |
| conf_content    | 是    | String                                         | **参数解释**： logstash配置文件内容。 **约束限制**： 文件内容不超过100KB **取值范围**： 不涉及 **默认取值**： 不涉及                                                                |
| setting         | 是    | [setting] object | **参数解释**： 配置实体对象。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                                                 |
| sensitive_words | 否    | Array of strings                               | **参数解释**： 敏感字符替换，输入需要隐藏的敏感字符串列表。配置隐藏字符串列表后，在返回的配置内容中，会将所有在列表中的字符串隐藏为\*\*\*。 **约束限制**： 列表最大支持20条，单个字符串最大长度512字节。 **取值范围**： 不涉及 **默认取值**： 不涉及 |
| desc            | 否    | String                                         | **参数解释**： 配置文件描述。 **约束限制**： 不涉及 **取值范围**： 无字符类型限制，不超过128个字符。 **默认取值**： 不涉及                                                                  |
   
 表3setting 
| 参数                       | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| workers                  | 否    | Integer | **参数解释**： 并行执行管道的Filters+Outputs阶段的工作线程数。 **约束限制**： 不涉及 **取值范围**： 1\~节点CPU核数的5倍 **默认取值**： 节点的CPU核数。                                                                                                                                                                                                                                                                                                      |
| batch_size               | 否    | Integer | **参数解释**： 单个工作线程在尝试执行其Filters和Outputs之前将从inputs收集的最大事件数，调大该值会增加内存开销。 **约束限制**： 不涉及 **取值范围**： 1-100000 **默认取值**： 125                                                                                                                                                                                                                                                                                      |
| batch_delay_ms           | 否    | Integer | **参数解释**： 每个event被pipeline调度等待的最小时间。单位毫秒。 **约束限制**： 不涉及 **取值范围**： 1-600000 **默认取值**： 50                                                                                                                                                                                                                                                                                                                  |
| queue_type               | 是    | String  | **参数解释**： 用于事件缓冲的内部队列模型。 **约束限制**： 不涉及 **取值范围**： - memory：基于内存的传统队列。   - persisted：基于磁盘的ACKed持久化队列。    **默认取值**： 不涉及 |
| queue_check_point_writes | 否    | Integer | **参数解释**： 如果使用持久化队列，则表示强制执行检查点之前写入的最大事件数。 **约束限制**： 仅当queue_type=persisted时生效。 **取值范围**： 1-100000 **默认取值**： 1024                                                                                                                                                                                                                                                                                         |
| queue_max_bytes_mb       | 否    | Integer | **参数解释**： 如果使用持久化队列，则表示持久化队列的总容量（以兆字节MB为单位），确保磁盘的容量大于该值。 **约束限制**： 仅当queue_type=persisted时生效 **取值范围**： 1-10240 **默认取值**： 1024                                                                                                                                                                                                                                                                            |
   
#### 响应参数
**状态码：200**
无
#### 请求示例
更新配置文件。
```
POST https://{Endpoint}/v1.0/{project_id}/clusters/4f3deec3-efa8-4598-bf91-560aad1377a3/lgsconf/update
{
  "name" : "conf",
  "desc" : "This is a description of a configuration file.",
  "conf_content" : "xxxxxxxx",
  "setting" : {
    "workers" : 2,
    "batch_size" : 125,
    "batch_delay_ms" : 50,
    "queue_type" : "persisted",
    "queue_check_point_writes" : 1024,
    "queue_max_bytes_mb" : 1024
  }
}
```
#### 响应示例
无
#### 状态码
| 状态码 | 描述                                                                                       |
|:---|:---|
| 200 | 请求成功。                                                                                    |
| 400 | 非法请求。 建议直接修改该请求，不要重试该请求。                                   |
| 409 | 服务器在完成请求时发生冲突。 返回该状态码，表明客户端尝试创建的资源已经存在，或者由于冲突请求的更新操作不能被完成。 |
| 412 | 未满足前提条件，服务器未满足请求者在请求中设置的其中一个前提条件。                                                        |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-css/css_03_0076.html)。
