You can call this operation to restart one or more ECS instances that are in the Running state. After this operation is called, the ECS instances enter the Stopping state and then the Running state.

Description

  • The ECS instances to be restarted must be in the Running (Running) state.
  • Batch operations are supported. You can use the BatchOptimization parameter to specify the batch operation mode.
  • Instances can be forcibly restarted. A forced restart (ForceStop) is equivalent to powering off traditional servers to restart them. This operation can cause data loss if data in the instance is not written to Elastic Block Storage devices.
  • If the response contains{"OperationLocks": {"LockReason" : "security"}} when you query information of an instance, the instance is locked for security reasons and all operations are prohibited on the instance.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter Type Required Example Description
Action String Yes RebootInstances

The operation that you want to perform. Set the value to RebootInstances.

InstanceId.N RepeatList Yes i-bp67acfmxazb4p****

The ID of instance N that you want to restart. Valid values of N: 1 to 100.

RegionId String Yes cn-hangzhou

The region ID of the instance. You can call the DescribeRegions operation to query the most recent region list.

DryRun Boolean No false

Specifies whether to check the validity of the request without actually making the request. Valid values:

  • true: The validity of the request is checked but the request is not made. Check items include the request format, instance status, and whether the required parameters are specified. If the check fails, the corresponding error message is returned. If the check succeeds, DRYRUN.SUCCESS is returned.
    Note If you set BatchOptimization to SuccessFirst and DryRun to true, only DRYRUN.SUCCESS is returned regardless of whether the check succeeds.
  • false: The validity of the request is checked, and the request is made if the check succeeds.

Default value: false.

ForceReboot Boolean No false

Specifies whether to forcibly restart the instance. Valid values:

  • true: forcibly restarts the instance. This operation is equivalent to the typical power-off operation. Cache data that is not written to storage in the instance will be lost.
  • false: normally restarts the instance.

Default value: false.

BatchOptimization String No AllTogether

The batch operation mode. Valid values:

  • AllTogether: In this mode, if all instances are restarted, a success message is returned. If an instance fails the verification, all instances fail to restart and an error message is returned.
  • SuccessFirst: In this mode, each instance is restarted separately. The response contains the operation results for each instance.

Default value: AllTogether.

Response parameters

Parameter Type Example Description
InstanceResponses Array of InstanceResponse

Details about the instance responses, which contain the status of each instance before and after the operation is called and the result of the operation.

InstanceResponse
Code String 200

The error code of the operation result. The return value 200 indicates success. For more information, see the "Error codes" section in this topic.

CurrentStatus String Stopping

The current status of the instance.

InstanceId String i-bp1g6zv0ce8oghu7****

The ID of the instance.

Message String success

The error message for an instance operation. The return value Success indicates operation success. For more information, see the "Error codes" section in this topic.

PreviousStatus String Running

The status of the instance before the operation is called.

RequestId String 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E

The ID of the request.

Examples

Sample requests

https://ecs.aliyuncs.com/?Action=RebootInstances
&InstanceId.1=i-bp1g6zv0ce8oghu7****
&InstanceId.2=i-bp1g6zv0ce8oghu7****
&InstanceId.3=i-TestID
&RegionId=cn-hangzhou
&ForceReboot=false
$BatchOptimization=SuccessFirst
&<Common request parameters>

Sample success responses

XML format

<RebootInstancesResponse>
      <RequestId>FF53E96D-3F1A-42F0-8373-1C2B39D72D44</RequestId>
      <InstanceResponses>
            <InstanceResponse>
                  <Message>success</Message>
                  <InstanceId>i-bp1g6zv0ce8oghu7****</InstanceId>
                  <PreviousStatus>Running</PreviousStatus>
                  <CurrentStatus>Stopping</CurrentStatus>
                  <Code>200</Code>
            </InstanceResponse>
            <InstanceResponse>
                  <Message>success</Message>
                  <InstanceId>i-bp1g6zv0ce8oghu7****</InstanceId>
                  <PreviousStatus>Running</PreviousStatus>
                  <CurrentStatus>Stopping</CurrentStatus>
                  <Code>200</Code>
            </InstanceResponse>
            <InstanceResponse>
                  <Message>The specified InstanceId does not exist. </Message>
                  <InstanceId>i-TestID</InstanceId>
                  <PreviousStatus></PreviousStatus>
                  <CurrentStatus></CurrentStatus>
                  <Code>InvalidInstanceId.NotFound</Code>
            </InstanceResponse>
      </InstanceResponses>
</RebootInstancesResponse>

JSON format

{
    "RequestId": "FF53E96D-3F1A-42F0-8373-1C2B39D72D44",
    "InstanceResponses": {
        "InstanceResponse": [
            {
                "Message": "success",
                "InstanceId": "i-bp1g6zv0ce8oghu7****",
                "PreviousStatus": "Running",
                "CurrentStatus": "Stopping",
                "Code": "200"
            },
            {
                "Message": "success",
                "InstanceId": "i-bp1g6zv0ce8oghu7****",
                "PreviousStatus": "Running",
                "CurrentStatus": "Stopping",
                "Code": "200"
            },
            {
                "Message": "The specified InstanceId does not exist.",
                "InstanceId": "i-TestID",
                "PreviousStatus": "",
                "CurrentStatus": "",
                "Code": "InvalidInstanceId.NotFound"
            }
        ]
    }
}

Error codes

HTTP status code Error code Error message Description
404 InvalidInstanceId.NotFound %s The error message returned because the specified instance ID does not exist.
403 IncorrectInstanceStatus %s The error message returned because the operation is not supported while the instance is in the current state.
500 InternalError The request processing has failed due to some unknown error. The error message returned because an internal error has occurred. Try again later. If the problem persists, submit a ticket.
404 InvalidInstanceId.NotFound The specified InstanceId does not exist. The error message returned because the specified instance ID does not exist.
403 InsufficientBalance Your account does not have enough balance. The error message returned because your account balance is insufficient. Add funds to your account and try again.
403 InstanceNotReady The specified instance is not ready for use. The error message returned because the operation is not supported while the resource is in the current state. Try again later.

For a list of error codes, visit the API Error Center.