ModifyInstanceType

1. 接口描述

调用本接口用于修改一台虚拟机实例的机型。

注意事项

  • 仅实例状态处于RUNNINGSTOPPED状态,接口才能调用。

  • 实例的instanceChargeType为PREPAID:

    • 升配(原机型的原价 < 要变更机型的原价)会生成待支付的订单,需要扣除本次升配的费用,立即生效。

    • 降配(原机型的原价 > 要变更机型的原价)会生成下个周期的降配订单,下周期生效。

  • 实例的instanceChargeType为POSTPAID:

    • 立即生效。

  • 本接口调用是异步操作,你可以调用DescribeInstanceTypeStatus来查看变更的结果。

  • 变更规则:

    • 相同系列机型可以互相变更,如c.1c2g -> c.2c4g

    • 部分支持跨规格变更,如c、g、m系列

    • 部分机型不允许跨规格变更,如s、h系列

2. 请求参数

以下请求参数列表仅列出了接口中需要的请求参数

参数名称必选类型描述

instanceId

String

待操作的实例ID。

可通过DescribeInstances接口返回值中的instanceId获取。

instanceTypeId

String

要更换的机型ID。

可通过DescribeZoneInstanceConfigInfos接口返回值中的instanceType获取。

3. 响应结果

参数名称类型描述

requestId

String

唯一请求 ID。

每次请求都会返回。定位问题时需要提供该次请求的 requestId。

orderNumber

String

订单编号。

4. 代码示例

1. 修改实例的机型

POST /api/v2/vm HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: ModifyInstanceType
<Common Request Params>

Request:
{
  "instanceId": "instanceId",
  "instanceTypeId": "c.2c4g"
}

Response:
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": {  
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
    "orderNumber": "xxxx"
  }
}

5. 开发者工具

Zenlayer Cloud API 2.0 提供了配套的开发工具集(SDK),未来会陆续支持更多开发语言,方便快速接入和使用Zenlayer的产品和服务。

6. 错误码

下面包含业务逻辑中遇到的错误码,其他错误码见公共错误码

HTTP状态码错误码说明

404

INVALID_INSTANCE_NOT_FOUND

指定的实例不存在。

403

INVALID_INSTANCE_TYPE_NOT_CHANGED

实例规格未发生改变。

400

OPERATION_FAILED_INSTANCE_TYPE_UNSUPPORTED

指定的规格不支持该实例。

403

OPERATION_DENIED_INSTANCE_EXIST_PLAN

实例存在变更计划。

403

OPERATION_DENIED_INSTANCE_PLAN_PROCESSING

实例计划在变更中。

400

UNSUPPORTED_OPERATION_INSTANCE_STATUS

实例的状态不支持变更。

400

UNSUPPORTED_OPERATION_ZONE_NOT_SUPPORT

实例所在的区域不支持变更。

400

UNSUPPORTED_OPERATION_INSTANCE_BEING_RECYCLE

实例在回收站不允许变更。

404

INVALID_PRODUCT_NOT_FOUND

指定的规格产品不存在。

最后更新于