# 设置Serverless自动启停策略 - UpdateServerlessScaleToZeroPolicy
#### 功能介绍
设置Serverless实例的Scale to Zero自动启停策略。
开启后，当实例所有节点算力不超过2TCU且无活跃用户连接达到空闲时长阈值时，实例自动缩容到零（停止计费）；
当检测到新的用户连接时，实例自动唤醒并恢复计费。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-taurusdb/taurusdb_03_0000.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-taurusdb/taurusdb_06_0000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                                                | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | 别名                                         | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | gaussdbformysql:serverless:updateScaleToZeroPolicy | Write | instance \* | - g:EnterpriseProjectId   - g:ResourceTag/\<tag-key\>    | gaussdb:serverless:updateScaleToZeroPolicy | -      |
     
  
 
#### URI
PUT /v3/{project_id}/instances/{instance_id}/serverless/scale-to-zero-policy
表1路径参数 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释**： 租户在某一Region下的project ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-taurusdb/taurusdb_10_0004.html)。 **约束限制**： 不涉及。 **取值范围**： 只能由英文字母、数字组成，且长度为32个字符。 **默认取值**： 不涉及。                        |
| instance_id | 是    | String | **参数解释**： 实例ID，此参数是实例的唯一标识。 通过调用[查询实例列表](https://support.huaweicloud.com/api-taurusdb/ListGaussMySqlInstancesUnifyStatus.html)接口获取实例ID。 **约束限制**： 不涉及。 **取值范围**： 只能由英文字母、数字组成，后缀为in07，长度为36个字符。 **默认取值**： 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**： 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取。 请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。 **约束限制**： 不涉及。 **取值范围**： 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                            |
| Content-Type | 是    | String | **参数解释**： 内容类型。 **约束限制**： 不涉及。 **取值范围**： application/json。 **默认取值**： application/json。                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| X-Language   | 否    | String | **参数解释**： 请求语言类型。 **约束限制**： 不涉及。 **取值范围**： - en-us：英文。   - zh-cn：中文。    **默认取值**： en-us。 |
   
表3请求Body参数 
| 参数                    | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| scale_to_zero         | 是    | Boolean | **参数解释**： 是否开启Scale to Zero自动启停。 **约束限制**： 仅Serverless实例支持。 **取值范围**： - true：开启。实例空闲达idle_duration_seconds阈值时算力自动缩容到零（停止VM计费），有新连接时自动唤醒恢复。   - false：关闭。实例正常计费。    **默认取值**： false。 |
| idle_duration_seconds | 否    | Integer | **参数解释**： 触发缩容到零的空闲检测时长（秒）。实例所有节点无活跃用户连接达到该时长后，自动缩容到零。 **约束限制**： - 当scale_to_zero为true时，该参数必填。   - 当scale_to_zero为false时，该参数可不传。    **取值范围**： 300～3600。 **默认取值**： 不涉及。              |
   
#### 响应参数
**状态码：200**
无
**状态码：400**
表4响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 错误消息。 |
   
**状态码：500**
表5响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 错误消息。 |
   
#### 请求示例
- 开启Scale to Zero自动启停，空闲持续时间设为600秒（10分钟）。
  ```
  PUT https://{Endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances/096c0fc43e804757b59946b80dc27f8bin07/serverless/scale-to-zero-policy
  {
    "scale_to_zero" : true,
    "idle_duration_seconds" : 600
  }
  ```
  
- 关闭Scale to Zero自动启停（idle_duration_seconds可不传）。
  ```
  PUT https://{Endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances/096c0fc43e804757b59946b80dc27f8bin07/serverless/scale-to-zero-policy
  {
    "scale_to_zero" : false
  }
  ```
  
 
#### 响应示例
无
#### 状态码
| 状态码 | 描述            |
|:---|:---|
| 200 | Success.      |
| 400 | Client error. |
| 500 | Server error. |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-taurusdb/ErrorCode.html)。
