Stops Elastic Compute Service (ECS) instances. You can specify parameters to determine whether to forcefully stop the instances, the stop mode, and the batch operation mode.
Operation description
This operation is an asynchronous operation. After you call this operation to stop ECS instances, the operation sets the status of the ECS instances to Stopping and begins the stop process. You can call the DescribeInstanceStatus operation to query the status of the ECS instances. When the status of the ECS instances changes to Stopped
, the instances are stopped.
Precautions
- You cannot call this operation to stop ECS instances that are locked for security reasons. For more information, see API behavior when an instance is locked for security reasons.
- After you enable the default economical mode for all pay-as-you-go ECS instances located in virtual private clouds (VPCs) in your account, you can set
StoppedMode
to KeepCharging for the pay-as-you-go ECS instances that you want to stop to enable standard mode. This way, the instances continue to be billed after they are stopped. The instance type resources and public IP addresses of the instances are retained.
Debugging
Authorization information
The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action
policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:
- Operation: the value that you can use in the Action element to specify the operation on a resource.
- Access level: the access level of each operation. The levels are read, write, and list.
- Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
- The required resource types are displayed in bold characters.
- If the permissions cannot be granted at the resource level,
All Resources
is used in the Resource type column of the operation.
- Condition Key: the condition key that is defined by the cloud service.
- Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
Operation | Access level | Resource type | Condition key | Associated operation |
---|---|---|---|---|
ecs:StopInstances | update | *Instance acs:ecs:{#regionId}:{#accountId}:instance/{#instanceId} |
| none |
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
DryRun | boolean | No | Specifies whether to perform only a dry run, without performing the actual request. Valid values:
Note
If you set BatchOptimization to SuccessFirst and DryRun to true, only DRYRUN.SUCCESS is returned, regardless of whether the request passes the dry run.
Default value: false. | false |
RegionId | string | Yes | The region ID of the instance. You can call the DescribeRegions operation to query the most recent region list. | cn-hangzhou |
ForceStop | boolean | No | Specifies whether to forcefully stop instances. Valid values:
Default value: false. | false |
StoppedMode | string | No | The stop mode of the pay-as-you-go instance. Valid values:
Default value: If the prerequisites required for enabling economical mode are met and you have enabled the mode in the ECS console, the default value is StopCharging . For more information, see the "Enable economical mode" section in | KeepCharging |
BatchOptimization | string | No | The batch operation mode. Valid values:
Default value: AllTogether. | AllTogether |
InstanceId | array | Yes | The IDs of ECS instances. You can specify 1 to 100 instance IDs. | |
string | Yes | The ID of the ECS instance. | i-bp67acfmxazb4p**** |
Response parameters
Examples
Sample success responses
JSON
format
{
"RequestId": "1C488B66-B819-4D14-8711-C4EAAA13AC01",
"InstanceResponses": {
"InstanceResponse": [
{
"Code": "200",
"Message": "success",
"InstanceId": "i-bp67acfmxazb4p****",
"CurrentStatus": "Stopping",
"PreviousStatus": "Running"
}
]
}
}
Error codes
HTTP status code | Error code | Error message | Description |
---|---|---|---|
400 | InvalidParameter.KMSKeyId.CMKNotEnabled | The CMK needs to be added ECS tag | - |
400 | InvalidParameter.KMSKeyId.CMKNotEnabled | The CMK needs to be enabled. | The customer master key (CMK) is not enabled when KMSKeyId is specified for an encrypted disk. You can call the DescribeKey operation of KMS to query information about the specified CMK. |
400 | InvalidParameter.KMSKeyId.KMSUnauthorized | ECS service account have no right to access your KMS. | - |
400 | DRYRUN.SUCCESS | This request is a dryrun request with successful result. | The request is checked and determined as valid. |
403 | InvalidInstanceId.NotFound | InstanceId should not be null. | - |
403 | InvalidParameter.TooManyInstanceIds | Instance ids cannot be more than 100. | - |
403 | Abs.InvalidInstanceIds.MalFormed | The specified instanceIds is not valid. | - |
403 | InstanceLockedForSecurity | %s | - |
403 | InstanceExpiredOrInArrears | %s | - |
403 | IncorrectInstanceStatus | %s | The instance is in a state that does not support the current operation. |
403 | InvalidInstanceId.NotSupport | %s | - |
403 | InsufficientBalance | Your account does not have enough balance. | Your account balance is insufficient. Add funds to your account and try again. |
403 | InstanceNotReady | The specified instance is not ready for use. | The resource is in a state that does not support the current operation. Try again later and check whether the instance state supports the operation. |
404 | InvalidInstanceId.NotFound | %s | The specified instance does not exist. Check whether the InstanceId parameter is valid. |
404 | InvalidInstanceIds.NotFound | The specified InstanceIds does not exist. | The specified InstanceId parameter does not exist. You can call the DescribeInstances operation to query the state of the instance. |
404 | InvalidInstanceId.NotFound | The specified InstanceId does not exist. | The specified instance does not exist. |
409 | InvalidOperation.Conflict | Request was denied due to conflict with a previous request, please try again later. | - |
500 | InternalError | The request processing has failed due to some unknown error. | An internal error has occurred. Try again later. |
For a list of error codes, visit the Service error codes.
Change history
Change time | Summary of changes | Operation |
---|---|---|
2024-12-20 | The Error code has changed | View Change Details |