You can call the ModifyDBInstanceSpec operation to change the instance type or storage capacity of an instance. This operation is supported for primary instances and read-only instances. This operation is not supported for disaster recovery instances or temporary instances.
Before you call this operation, make sure that the following requirements are met:
- The instance is in the Running state.
- The instance does not have ongoing backup tasks.
- At least one of the DBInstanceClass and DBInstanceStorage parameters is specified in the request.
- If you want to decrease the storage capacity, the new storage capacity that you specify is greater than or equal to 1.1 times the used storage.
- The instance is a primary instance or read-only instance.
Debugging
Request parameters
Parameter | Type | Required | Example | Description |
---|---|---|---|---|
Action | String | Yes | ModifyDBInstanceSpec | The operation that you want to perform. Set the value to ModifyDBInstanceSpec. |
DBInstanceId | String | Yes | rm-uf6wjk5******* | The ID of the instance. |
DBInstanceClass | String | No | rds.mys2.small | The new instance type of the instance. For more information, see Primary ApsaraDB RDS instance types. You can call the DescribeAvailableClasses operation to query the instance types that are available to a region. Note
|
DBInstanceStorage | Integer | No | 20 | The new storage capacity of the instance. Unit: GB. You can increase the storage capacity at a step size of 5 GB. For more information, see Primary ApsaraDB RDS instance types. You can call the DescribeAvailableClasses operation to query the storage capacity range that is supported for an instance type. Note
|
PayType | String | Yes | Postpaid | The billing method of the instance. Valid values:
|
EffectiveTime | String | No | MaintainTime | The time at which you want to apply the specification changes. Valid values:
Note Default value: Immediate. |
EngineVersion | String | No | 5.6 | The database engine version that is run on the instance. Valid values:
|
DBInstanceStorageType | String | No | local_ssd | The type of storage media that is used for the instance. Valid values:
To change the storage type, take note of the following information: If the instance runs PostgreSQL, you can upgrade the storage type of the instance from standard SSDs to ESSDs. However, you cannot downgrade the storage type of the instance from ESSDs to standard SSDs. ESSDs provide the following performance levels (PLs): ESSDs of PL1, ESSDs of PL2, and ESSDs of PL3. You can upgrade or downgrade the storage type between ESSDs of PL1, ESSDs of PL2, and ESSDs of PL3. For more information, see Configuration items. |
Direction | String | No | Up | The type of change that you want to perform on the instance. Valid values:
Note
|
SourceBiz | String | No | N/A | An invalid parameter. |
DedicatedHostGroupId | String | No | dhg-7a9******** | The ID of the dedicated cluster to which the instance belongs. |
ZoneId | String | No | cn-hangzhou-b | The zone ID of the instance. |
SwitchTime | String | No | 2019-07-10T13:15:12Z | The time at which you want to change the specifications. We recommend that you change the specifications during off-peak hours. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. Note
|
ResourceGroupId | String | No | rg-acfmy********** | The ID of the resource group to which the instance belongs. |
UsedTime | Long | No | 3 | The validity period of the specification changes on an ApsaraDB RDS for SQL Server instance. At the end of the validity period, the specifications of the instance are restored to the specifications that are used before an elastic upgrade is performed. Unit: days. |
MaxCapacity | double | No | 8 | The maximum value of Rds Capacity Unit (RCU). |
MinCapacity | double | No | 0.5 | The minimum value of RCU. |
AutoPause | Boolean | No | true | Specifies whether to support automatic suspension. |
SwitchForce | Boolean | No | false | Specifies whether to enable the forced scaling feature for the serverless instance. Valid values:
|
Category | String | No | HighAvailability | The RDS edition of the instance. Valid values:
Note If you set the EngineVersion parameter to an SQL Server version, you must also specify this parameter. |
Response parameters
Parameter | Type | Example | Description |
---|---|---|---|
DBInstanceId | String | rm-uf6wjk5******* | The ID of the instance. |
RequestId | String | 3C5CFDEE-F774-4DED-89A2-1D76EC63C575 | The ID of the request. |
OrderId | Long | 20793850608**** | The ID of the order. |
Examples
Sample requests
http(s)://rds.aliyuncs.com/?Action=ModifyDBInstanceSpec
&DBInstanceId=rm-uf6wjk5*******
&PayType=Postpaid
&DBInstanceClass=rds.mys2.small
&<Common request parameters>
Sample success responses
XML
format
HTTP/1.1 200 OK
Content-Type:application/xml
<ModifyDBInstanceSpecResponse>
<RequestId>3C5CFDEE-F774-4DED-89A2-1D76EC63C575</RequestId>
<DBInstanceId>rm-uf6wjk5*******</DBInstanceId>
<OrderId>20793850608****</OrderId>
</ModifyDBInstanceSpecResponse>
JSON
format
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "3C5CFDEE-F774-4DED-89A2-1D76EC63C575",
"DBInstanceId" : "rm-uf6wjk5*******",
"OrderId" : "20793850608****"
}
Error codes
HTTP status code | Error code | Error message | Description |
---|---|---|---|
400 | CannotDecreaseEssdPerfLevel | cannot decrease cloud essd performance level. | The error message returned because the change of the storage type is not allowed. The storage type of an instance that runs SQL Server with standard SSDs can be changed only to ESSDs. The storage type of an instance that runs SQL Server with local SSDs can be changed to standard SSDs or ESSDs. |
400 | InvalidEssdStorageSize | invalid cloud essd storage size. | The error message returned because the specified instance type is invalid. You must select a valid instance type and try again. |
400 | NotSupportReduceDiskSize | Not support reduce disk size. | The error message returned because the storage capacity of the instance cannot be decreased. |
400 | InvalidDBInstanceClass.NotFound | Specified DB instance class is not found. | The error message returned because the new instance type cannot be found or is no longer available for purchase. You must select an available instance type. |
400 | InvalidAvZone.Format | Specified AvZone is not valid. | The error message returned because the value of the ZoneID parameter is invalid. |
400 | OperationDenied.OrderUnPaid | The operation is not permitted due to the wrong Order status (Unpaid). | The error message returned because you have unpaid orders. You must pay for the orders before you call this operation. |
400 | OperationDenied.InvalidStorageSize | The storage size limit is exceeded. | The error message returned because the new storage capacity exceeds the upper limit. You must clear or expand the disk space. |
400 | InsufficientResourceCapacity | The instance cluster does not support this operation. | The error message returned because the operation is not supported in the dedicated cluster to which the instance belongs. |
400 | InvalidUsedTime | The parameter usedTime is invalid. | The error message returned because the value of the UsedTime parameter is invalid. |
400 | CannotChangeStorageType | Temp upgrade does not support changing storage type. | The error message returned because elastic upgrades do not support storage type changes. |
400 | TempUpgrade.NotSupport | The instance does not support temp upgrade. | The error message returned because the instance does not support elastic upgrades. |
400 | EngineNotSupported | Engine specified cannot be supported the operation. | The error message returned because this operation is not supported for the database engine that is run on the instance. You must update the minor engine version. |
400 | MaxscaleNotSupport | Maxscale not supported | The error message returned because the instance does not support the dedicated proxy feature. You must check the dedicated proxy configuration that you specified. |
400 | ADInstanceNotSupportThisOperation | The AD instance is not supported this operation | The error message returned because the operation is not supported for an instance that is added to an Active Directory (AD) domain. |
400 | BYOKInstanceNotSupportThisOperation | The BYOK instance is not supported this operation | The error message returned because the operation is not supported for an instance for which disk encryption is enabled. |
400 | BYOLInstanceNotSupportThisOperation | The BYOL instance is not supported this operation | The error message returned because the operation is not supported for an instance that uses Bring Your Own License (BYOL). |
400 | SSLInstanceNotSupportThisOperation | The instance opened SSL, upgrade is not this operation | The error message returned because the operation is not supported for an instance for which the SSL encryption feature is enabled. |
400 | TDEInstanceNotSupportThisOperation | The instance opened TDE, this operation is not supported | The error message returned because the operation is not supported for an instance for which the Transparent Data Encryption (TDE) feature is enabled. |
400 | InstanceIsSnapshotBackupNotSupportThisOperation | The instance backup method is snapshot backup, this operation is not supported | The error message returned because the operation is not supported for an instance for which the snapshot backup feature is enabled. |
400 | InstanceHasReadOnlyInstanceNotSupportThisOperation | The instance has read-only instance or is read-only instance, this operation is not supported | The error message returned because the operation is not supported for a read-only instance or an instance to which read-only instances are attached. |
400 | IncorrectDBInstanceState | Current DB instance state does not support this operation. | The error message returned because this operation is not supported when the instance is in the current state. |
400 | BackupReadInstanceModifyNotAllowed | Modify Backup Read Instance Is Not Allowed. | The error message returned because you are not allowed to modify the instance from which the backup comes. |
400 | MinorVersionNotSupport | The current database minor version does not support the operation. | The error message returned because the operation is not supported by the current minor engine version. |
400 | LX.ARGUMENT.ILLEGAL | The instance configuration does not take effect after you change the instance configuration. | The error message returned because the current instance configuration does not take effect after you change the instance configuration. |
400 | ORD.S.QUERY.PROD.ERROR | An error occurred while querying the ordering information | The error message returned because the order cannot be found. |
403 | IncorrectDBInstanceType | The database instance type does not support the operation. | The error message returned because the operation is not supported by the database engine that is run on the instance. |
403 | OperationDenied.NotSupportedBackupMethod | When the storage is larger than 4000 GB, only snapshot backup is supported. | The error message returned because the storage capacity is greater than 4,000 GB and only snapshot backups are supported. |
403 | IncorrectReadDBInstanceDisksize | Read instance disk size must be equal or higher than primary instance. | The error message returned because the storage capacity of the read-only instance is less than the storage capacity of the primary instance. Make sure that the storage capacity of the read-only instance is greater than or equal to the storage capacity of the primary instance. |
404 | InvalidClusterKms | The current instance does not authorized to access the Key Management Service. | The error message returned because the instance does not have permissions to access Key Management Service (KMS). |
For a list of error codes, see Service error codes.