# Switch from General UDB to High Availability - SwitchUDBInstanceToHA

## Overview

Switch ordinary UDB to high availability (only for instances of SSD model with mysql5.5 and above), call this API when the original db status is WaitForSwitch; Although PromoteUDBInstanceToHA can also be used for single point upgrade to high availability for NVMe models, it is more recommended to directly call the new API interface (UpgradeUDBInstanceToHA).






## Definition

### Public Parameters

| Parameter Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **Action**     | string  | Corresponding API command name, the current API is `SwitchUDBInstanceToHA`.                      | **Yes** |
| **PublicKey**  | string  | The user's public key can be obtained from [Console](https://console.scloudsg.com/uaccount/api_manage)                                             | **Yes** |
| **Signature**  | string  | User signature generated based on public key and API command, see [Signature Algorithm](/docs/api/summary/signature.md)  | **Yes** |

### Request Parameters

| Parameter Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **Region** | string | Region. See [List of Regions and Availability Zones](/docs/api/summary/regionlist) |**Yes**|
| **ProjectId** | string | Project ID. If not filled in, the default project is used, sub-accounts must be filled in. Please refer to the [GetProjectList interface](/docs/api/summary/get_project_list). |No|
| **DBId** | string | Instance's Id, this value can be obtained through DescribeUDBInstance |**Yes**|
| **ChargeType** | string | Yearly, Monthly, Dynamic, Trial, If not filled, the current single-point billing will be executed |No|
| **Quantity** | string | The purchase duration needs to be used in conjunction with ChargeType, otherwise the value of the single-point billing strategy will be used. |No|
| **Tag** | string | Business Group |No|

### Response Field

| Field Name | Type | Description Information | Required |
|:---|:---|:---|:---|
| **RetCode** | int | Return status code. If it is 0, it means successful return. If it is not 0, it means failure. |**Yes**|
| **Action** | string | Operation command name. |**Yes**|
| **Message** | string | Returns an error message, providing detailed description when `RetCode` is non-zero. |No|
| **DBId** | string | The translation is: """Id of the high-availability db instance after switching |No|




## Example

### Request Example
    
```
https://api.scloudsg.com/?Action=SwitchUDBInstanceToHA
&Region=cn-bj2
&DBId=udb-xxx
&ChargeType=GFfPZuzb
&Quantity=EIwSDflg
&Tag=YgoEVhht
```

### Response Example
    
```json
{
  "Action": "SwitchUDBInstanceToHAResponse",
  "DBId": "udbha-xxxxx",
  "RetCode": 0
}
```





