
# CN横向扩容/DN分片扩容/磁盘扩容 - AddingCNsandDNshardsandScalingupStorage
#### 功能介绍
通过该接口调用实现CN横向扩容/DN分片扩容/磁盘扩容。
- 调用接口前，您需要了解API [认证鉴权](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_011.html)。
- 调用接口前，您需要提前获取到[地区和终端节点](https://developer.huaweicloud.com/endpoint)。
 
#### 接口约束
- 扩容实例磁盘
  - 磁盘大小要求(分片数\*4GB )的整数倍。
  
  - 所有节点状态正常。
   
 
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=GaussDBforopenGauss&api=RunInstanceAction)中调试该接口。
#### URI
POST /v3/{project_id}/instances/{instance_id}/action
表1参数说明 
| 名称          | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| project_id  | 是    | String | **参数解释：** 租户在某一Region下的项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_196.html)。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为32个字符。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| instance_id | 是    | String | **参数解释：** 实例ID，此参数是用户创建实例的唯一标识。请参考[查询数据库实例列表 - QueryingDBInstances](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_328.html)接口获取实例ID。 **约束限制：** 不涉及。 **取值范围：** 只能由英文字母、数字组成，且长度为36个字符。 **默认取值** **：** 不涉及。 |
   
#### 请求消息
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取。 请求响应成功后在响应消息头中包含的"X-Subject-Token"的值即为Token值。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值** **：** 不涉及。 |
| X-Language   | 否    | String | **参数解释：** 指定接口返回信息的语言类型。 **约束限制：** 不涉及。 **取值范围：** - **zh-cn**：中文  - **en-us**：英文   **默认取值** **：** **en-us**                     |
   
表3参数说明 
| 名称             | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| expand_cluster | 否    | Object | **参数解释：** CN横向扩容/DN分片扩容时的配置。 详情请参见[表4]。 **约束限制** **：** CN横向扩容/DN分片扩容时必填。                                                                                                                                                                                                                                                                                                                                                                    |
| enlarge_volume | 否    | Object | **参数解释：** 所需扩容到的磁盘容量大小。 详情请参见[表7]。 **约束限制** **：** 扩容实例磁盘时必填。                                                                                                                                                                                                                                                                                                                                                                                             |
| is_auto_pay    | 否    | String | **参数解释：** 包周期实例时可指定，表示是否自动从账户中支付，此字段不影响自动续订的支付方式。 **约束限制** **：** 不涉及。 **取值范围** **：** - true，表示自动从账户中支付。  - false，表示手动从账户中支付，默认为该方式。   **默认取值** **：** false |
   
 表4expand_cluster字段数据结构说明 
| 名称           | 是否必选 | 参数类型                          | 说明                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| coordinators | 否    | Array of Coordinators objects | **参数解释：** CN扩容时的配置。需要填写[表5]参数。 **约束限制** **：** CN扩容时必选。当节点数达到最大值时，不支持扩容。         |
| shard        | 否    | Shard object                  | **参数解释：** DN分片扩容时的配置。需要填写[表6]参数。 **约束限制** **：** DN分片扩容时必选。当节点数达到最大值时，不支持扩容。 |
   
 表5coordinators参数填写说明 
| 名称      | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| az_code | 是    | String | **参数解释：** 新增CN横向扩容每个节点的可用区。如果需要扩容多个CN，请分别填写待扩容CN所在的可用区。 不同区域的可用区请参考[地区和终端节点](https://developer.huaweicloud.com/endpoint)。 **约束限制** **：** 当节点数达到最大值时，不支持扩容。 **取值范围** **：** 不涉及。 **默认取值** **：** 不涉及。 |
   
 表6shard参数填写说明 
| 名称    | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| count | 是    | Integer | **参数解释：** 新增DN分片的数量，单位：个。 **约束限制** **：** 当节点数达到最大值时，不支持扩容。 **取值范围** **：** \[1, min(255 - 当前分片数, 64)\] 。 **默认取值** **：** 不涉及。 |
   
 表7enlarge_volume字段数据结构说明 
| 名称   | 是否必选 | 参数类型    | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| size | 是    | Integer | **参数解释：** GaussDB磁盘大小，单位：GB。 **约束限制** **：** 磁盘大小要求是（分片数\*4GB）的倍数。 **取值范围** **：** （分片数\*40GB）\~（分片数\*24000GB）。 **默认取值** **：** 不涉及。 |
   
#### 响应参数
表8响应参数 
| 名称       | 参数类型   | 说明                                                                                                                                                                                            |
|:---|:---|:---|
| job_id   | String | **参数解释：** 任务ID。按需实例时仅返回任务ID。 **取值范围** **：** 不涉及。 |
| order_id | String | **参数解释：** 订单ID。包周期实例时仅返回订单ID。 **取值范围** **：** 不涉及。  |
   
#### 请求示例
- 添加一个协调节点。
  ```
  POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/dd93e98e103b4fc4b5a978a6bd6f03a9in14/action
  {
      "expand_cluster": {
          "coordinators": [
              {
                  "az_code": "az_code"
              }
          ]
      }
  }
  ```
  
- 添加多个协调节点。
  ```
  POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/dd93e98e103b4fc4b5a978a6bd6f03a9in14/action
  {
      "expand_cluster": {
          "coordinators": [
              {
                  "az_code": "az_code"
              },
              {
                  "az_code": "az_code"
              },
              {
                  "az_code": "az_code"
              }
          ]
      }
  }
  ```
  
- 添加一个DN分片。
  ```
  POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/dd93e98e103b4fc4b5a978a6bd6f03a9in14/action
  {
      "expand_cluster": {
          "shard": {
              "count": 1
          }
      }
  }
  ```
  
- 扩容磁盘到400GB。
  ```
  POST https://gaussdb-opengauss.cn-north-1.myhuaweicloud.com/v3/0483b6b16e954cb88930a360d2c4e663/instances/dd93e98e103b4fc4b5a978a6bd6f03a9in14/action
  {
      "enlarge_volume": {
          "size": 400
      }
  }
  ```
  
 
#### 响应示例
```
{
"job_id": "2b414788a6004883a02390e2eb0ea227"
}
```
#### 状态码
- 正常 202
  
- 异常 请参见[状态码](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_194.html)。
  
 
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-gaussdb/gaussdb_api_195.html)。
