
# 设置磁盘自动扩容策略 - ConfiguringanAutomaticScale-upPolicy
#### 功能介绍
设置磁盘自动扩容策略。
#### 接口约束
- 该接口支持如下数据库实例：
  - GeminiDB Cassandra
  
  - GeminiDB Redis
   

- 该接口支持按需和包周期实例。
- 包周期用户默认自动扣费。
- 账户需要有足够的余额，才可进行自动扩容。
- 实例状态非"normal"时，不允许设置磁盘自动扩容策略。
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/GaussDBforNoSQL/doc?api=SetAutoEnlargePolicy)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-nosql/nosql_05_0023.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                                                | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名                               | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | gaussdbfornosql:instance:setAutoExtendVolumePolicy | Write | -           | -   | nosql:instance:modifyStorageSize | -      |
     
  
 
#### URI
PUT /v3/{project_id}/instances/disk-auto-expansion
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释：** 租户在某一region下的project ID。获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-nosql/nosql_projectid.html)。 **约束限制：** 不涉及。 **取值范围：** 长度为32个字符，仅由英文字母和数字组成。 **默认取值：** 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。 |
   
表3请求Body参数 
| 参数            | 是否必选 | 参数类型                                                                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| instance_ids  | 是    | Array of strings                                                      | **参数解释：** 设置磁盘自动扩容的实例ID。可以调用[查询实例列表和详情 - QueryingInstancesandDetails](https://support.huaweicloud.com/api-nosql/nosql_05_0016.html)接口获取。 **约束限制：** 最大支持50个实例。                                                                                                                                                          |
| switch_option | 否    | String                                                                | **参数解释：** 自动扩容开关。 **约束限制：** 不涉及。 **取值范围：** - on：表示开启磁盘自动扩容策略。  - off：表示关闭磁盘自动扩容策略。   **默认取值：** 默认值为"on"。 |
| policy        | 否    | [diskAutoExpansionPolicy] object | **参数解释：** 磁盘自动扩容策略。 **约束限制：** 不涉及。                                                                                                                                                                                                                                                                                                                                               |
   
 表4diskAutoExpansionPolicy 
| 参数        | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| threshold | 否    | Integer | **参数解释：** 触发自动扩容阈值，单位：%。 **约束限制：** 不涉及。 **取值范围：** - GeminiDB Cassandra只支持输入80、85和90。  - GeminiDB Redis只支持输入60、65、70、75、80、85和90。   **默认取值：** - GeminiDB Cassandra默认阈值为90，即当已使用存储空间达到总存储空间的90%或者可用空间小于10GB时就会触发扩容。  - GeminiDB Redis默认阈值为80，即当已使用存储空间达到总存储空间的80%时就会触发扩容。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| step      | 否    | Integer | **参数解释：** 扩容步长（s%）。 **约束限制：** - GeminiDB Cassandra - 当触发自动扩容的时候，自动扩容当前存储空间的s%。    - GeminiDB Redis - 当磁盘满(磁盘使用率 \> 98%)时。磁盘的总容量\<600G，下一次自动扩容到当前磁盘容量使用率(已使用/总量)\<85%；磁盘的总容量≥600G，下一次自动扩容到当前总容量+90G以上。     说明： - GeminiDB Cassandra - 非10倍数向上取整。  - 小数点后四舍五入，默认一次最小100GB。    - GeminiDB Redis - 小数点后四舍五入，默认一次最小1GB。    - 账户余额不足时，会导致包年/包月实例扩容失败。   **取值范围：** - GeminiDB Cassandra - 支持输入10、15和20。    - GeminiDB Redis - 支持输入10、15和20。     **默认取值：** - GeminiDB Cassandra - 默认为10。      - GeminiDB Redis - 默认为20。     |
| size      | 否    | Integer | **参数解释：** 实例通过自动扩容所能达到的存储空间上限，单位：GB。 **约束限制：** - GeminiDB Cassandra - 存储空间上限\>=当前存储容量+100GB。  - 最大存储空间上限不能超过实例[当前规格支持的最大存储容量](https://support.huaweicloud.com/cassandraug-nosql/nosql_05_0017.html)。  - 批量自动扩容时，不支持自定义存储自动扩容上限，默认扩容至所选实例对应的最大存储空间。    - GeminiDB Redis - 存储空间上限\>=当前存储容量+1GB。  - 最大存储空间上限不能超过实例[当前规格支持的最大存储容量](https://support.huaweicloud.com/redisug-nosql/nosql_05_0059.html)。  - 批量自动扩容时，不支持自定义存储自动扩容上限，默认扩容至所选实例对应的最大存储空间。     **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
#### 响应参数
**状态码：20** **0**
表5响应Body参数 
| 参数            | 参数类型                                                     | 描述                                                           |
|:---|:---|:---|
| error_results | [ErrorResult] objects | **参数解释：** 设置磁盘自动扩容策略失败的实例信息列表。 |
   
 表6ErrorResult 
| 参数            | 参数类型   | 描述                                                                                                                               |
|:---|:---|:---|
| instance_id   | String | **参数解释：** 实例ID。 **取值范围：** 不涉及。 |
| error_message | String | **参数解释：** 错误信息。 **取值范围：** 不涉及。     |
   
#### 请求示例
- 开启磁盘自动扩容策略，设置自动扩容阈值为90，扩容步长为10%，通过自动扩容所能达到的存储空间上限为600GB。
  ```
  PUT https://{Endpoint}/v3/619d3e78f61b4be68bc5aa0b59edcf7b/instances/disk-auto-expansion 
  { 
    "instance_ids" : [ "93e4b3eda14349b1b870f72829bc3b9bin06" ], 
    "switch_option": "on",
    "policy" : { 
      "threshold" : 90, 
      "step" : 10, 
      "size" : 600 
    } 
  }
  ```
  
- 关闭磁盘自动扩容策略。
  ```
  PUT https://{Endpoint}/v3/619d3e78f61b4be68bc5aa0b59edcf7b/instances/disk-auto-expansion 
  {
      "instance_ids": [ "93e4b3eda14349b1b870f72829bc3b9bin06" ],
      "switch_option": "off"
  }
  ```
  
 
#### 响应示例
**状态码：200**
Success.
```
{    "error_results" : [{
        "instance_id" : "93e4b3eda14349b1b870f72829bc3b9bin06",
        "error_message": "xasdasdas"
  }]
}
```
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-nosql/nosql_status_code.html)。
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-nosql/nosql_error_code.html)。
