更新时间:2024-05-15 GMT+08:00
分享

变更云服务器规格

功能介绍

变更云服务器规格。

本接口为异步接口,当前变更弹性云服务器规格请求下发成功后会返回job_id,此时变更弹性云服务器规格并没有立即完成,需要通过调用查询任务的执行状态查询job状态,当Job状态为 SUCCESS 时代表云服务器规格变更成功。

V1.1版本变更云服务器规格的接口兼容了V1版本变更云服务器规格(按需)的功能,同时合入新功能,支持包年/包月的弹性云服务器。

调试

您可以在API Explorer中调试该接口。

URI

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

表1 参数说明

参数

是否必选

描述

project_id

项目ID。

获取方法请参见获取项目ID

server_id

云服务器ID。

云服务器的ID可以从控制台或者参考“查询云服务器列表”的章节获取。

请求消息

表2 参数说明

名称

是否必选

参数类型

描述

resize

Object

标记为云服务器变更规格操作,详情参见 表3

dry_run

Boolean

是否只预检此次请求。

true:发送检查请求,不会变更云服务器规格。检查项包括是否填写了必需参数、请求格式等。

  • 如果检查不通过,则返回对应错误。
  • 如果检查通过,则返回202状态码。

false:发送正常请求,通过检查后并且执行变更云服务器规格请求。

表3 resize数据结构说明

名称

是否必选

参数类型

描述

flavorRef

String

变更后的云服务器规格ID。

可以通过 查询云服务器规格变更支持列表 接口查询允许变更的规格列表。

说明:
  • 不支持变更至同一规格。

dedicated_host_id

String

新专属主机ID。

仅对于部署在专属主机上的弹性云服务器,该参数必选。

extendparam

Object

变更云服务器扩展信息,详情参见 表4

mode

String

取值为withStopServer ,支持开机状态下变更规格。

mode取值为withStopServer时,对开机状态的云服务器执行变更规格操作,系统自动对云服务器先执行关机,再变更规格,变更成功后再执行开机。

cpu_options

Object

自定义CPU选项。

详情请参见表5

表4 extendparam数据结构说明

名称

是否必选

参数类型

描述

isAutoPay

String

下单订购后,是否自动从客户的账户中支付,而不需要客户手动去进行支付。

  • “true”:是(自动支付)
  • “false”:否(需要客户手动支付)
说明:

当弹性云服务器是按包年包月计费时生效,该值为空时默认为客户手动支付。

表5 cpu_options数据结构说明

参数

是否必选

参数类型

描述

hw:cpu_threads

integer

用于控制CPU是否开启超线程。

取值范围:1,2。

  • 1: 关闭超线程。
  • 2: 打开超线程。

需要同时满足如下条件,才能设置为“关闭超线程”:

  • 只能在实例创建或者resize时指定。
  • 只有目标flavor的extra_specs参数:
    • 存在“hw:cpu_policy”并取值为“dedicated”。
    • 存在“hw:cpu_threads”并取值为“2”。

响应消息

表6 参数说明

参数

是否必选

参数类型

描述

job_id

String

任务ID,变更按需的弹性云服务器规格时返回该参数。

查询job状态请参见查询任务的执行状态

order_id

String

订单号,变更包年包月的弹性云服务器规格时返回该参数。

请求示例

变更专属主机上的云服务器的规格为“s3.large.2”,自动支付且支持开机状态下变更规格。

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

{
    "resize": {
        "flavorRef": "s3.large.2",
        "dedicated_host_id": "459a2b9d-804a-4745-ab19-a113bb1b4ddc",
        "extendparam":{
             "isAutoPay": "true"
        },
        "mode": "withStopServer"
    }
}

响应示例

{
    "job_id": "ff80808288d41e1b018990260955686a"
}

{
    "order_id": "CS1711152257C60TL",
    "job_id": "ff80808288d41e1b018990260955686a"
}

{
    "error": {
        "message": "XXXX", 
        "code": "XXX"
    }
}

返回值

请参考通用请求返回值

错误码

请参考错误码

相关文档