Help Center/ Elastic Cloud Server/ API Reference/ APIs (Recommended)/ Status Management/ Modifying the Specifications of an ECS (Pay-per-Use)
Updated on 2024-06-03 GMT+08:00

Modifying the Specifications of an ECS (Pay-per-Use)

Function

ECS specifications can be modified, for example, upgrading the vCPUs and memory, to meet service requirements. This API is used to modify ECS specifications.

This API is an asynchronous API. After the specifications modification request is successfully delivered, a job ID is returned. This does not mean the modification is complete. You need to call the API by referring to Querying Task Execution Status to query the job status. The SUCCESS status indicates that the modification is successful.

Huawei Cloud no longer provides Windows images. This API cannot be used to modify the specifications of Windows ECSs.

Constraints

  • You can modify the ECS specifications only when the ECS is stopped.
  • This API cannot be used to modify the specifications of a yearly/monthly ECS. For details about how to modify the specifications of a yearly/monthly ECS, see Modifying the Specifications of an ECS.
  • Spot ECSs do not support specifications modification.

URI

POST /v1/{project_id}/cloudservers/{server_id}/resize

Table 1 describes the parameters in the URI.
Table 1 Parameter description

Parameter

Mandatory

Description

project_id

Yes

Specifies the project ID.

For details about how to obtain the ID, see Obtaining a Project ID.

server_id

Yes

Specifies the ECS ID.

Request

Table 2 describes the request parameters.
Table 2 Request parameters

Parameter

Mandatory

Type

Description

resize

Yes

Object

Specifies the operation to modify ECS specifications. For details, see Table 3.

dry_run

No

Boolean

Specifies whether to only check the request and not modify the ECS specifications.

true: The request is sent and the ECS specifications are not modified. Check items include mandatory parameters and request format.

  • If the check fails, the system returns an error.
  • If the check is successful, the system returns status code 202.

false: The request is sent and the ECS specifications will be modified after the check is passed.

Table 3 resize field description

Parameter

Mandatory

Type

Description

flavorRef

Yes

String

Specifies the flavor ID of the ECS after the modification.

You can view Querying the Target ECS Flavors to Which a Flavor Can Be Changed to query the target flavors to which a specified ECS flavor can be changed.

cpu_options

No

Object

Specifies the CPU options.

For details, see Table 4.

Table 4 cpu_options field description

Parameter

Mandatory

Type

Description

hw:cpu_threads

No

integer

Specifies whether to enable CPU hyper-threading.

Values: 1 and 2

  • 1: Disable hyper-threading.
  • 2: Enable hyper-threading.

This parameter can be set to 1 (disabling hyper-threading) only when all of the following conditions are met:

  • The ECS is being created or resized.
  • The extra_specs parameter of the target flavor contains:
    • hw:cpu_policy, whose value is set to dedicated
    • hw:cpu_threads, whose value is set to 2

Response

See Responses (Task).

Example Request

Change the ECS flavor to c3.15xlarge.2.

POST https://{endpoint}/v1/{project_id}/cloudservers/{server_id}/resize

{
"resize": {
        "flavorRef": "c3.15xlarge.2"
    }
}

Example Response

{      
    "job_id": "ff80808288d41e1b018990260955686a" 
} 

Error Codes

See Error Codes.