ModifyInstanceChargeType
调用ModifyInstanceChargeType更换一台或者多台ECS实例的计费方式。支持在按量付费实例和包年包月实例间相互转换,同时可以将实例挂载的所有按量付费云盘转换为包年包月云盘。
接口说明
请确保在使用该接口前,您已充分了解云服务器ECS的计费方式和产品定价。
调用该接口时,您需要注意:
- 目标实例的状态必须为运行中(
Running
)或者已停止(Stopped
),并且无欠费的情况下才能修改计费方式。 - 更换计费方式后,默认自动扣费。您需要确保账户余额充足,否则会生成异常订单,此时只能作废订单。如果您的账户余额不足,可以将参数
AutoPay
置为false
,此时会生成正常的未支付订单,您可以登录ECS管理控制台支付。 - 包年包月转按量付费:
- 达到一定信用等级的阿里云用户可以使用包年包月转按量付费功能。
- 包年包月实例转按量实例的时候,新计费方式将覆盖实例的整个生命周期。您会收到修改前后的实例计费的价格差退款,退还到您的原付款渠道中,已使用的代金券将不退回。
- 退款规则:您在一个月内能自由操作的退款额度有限且不累计,消耗完退款额度后,只能等待次月转换计费方式。一次转换计费消耗的退款额度公式为vCPU数*(退款天数*24±浮动小时数)。
- 按量付费转包年包月:
- 支持将实例挂载的所有按量付费数据盘同时转换为包年包月数据盘。
- 如果按量付费实例已经设置了释放时间,则不能调用该接口。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 否 | ModifyInstanceChargeType |
接口名称。对于您自行拼凑HTTP/HTTPS URL发起的API请求, |
InstanceIds | String | 是 | ["i-bp67acfmxazb4ph***","i-bp67acfmxazb4pi***"] |
实例ID。取值可以由多台实例ID组成一个JSON数组,最多支持20个ID,ID之间用半角逗号( |
RegionId | String | 是 | cn-hangzhou |
实例所属的地域ID。您可以调用DescribeRegions查看最新的阿里云地域列表。 |
Period | Integer | 否 | 1 |
包年包月续费时长。如果ECS实例的宿主机为专有宿主机DDH,则取值范围不能超过专有宿主机的订阅时长。取值范围:
|
PeriodUnit | String | 否 | Month |
续费时长的时间单位,即参数
|
IncludeDataDisks | Boolean | 否 | true |
是否将实例挂载的所有按量付费数据盘一起转换为包年包月数据盘。 默认值:true。 |
IsDetailFee | Boolean | 否 | false |
包年包月转换为按量计费时,是否返回订单费用详情。 默认值:false。 |
InstanceChargeType | String | 否 | PrePaid |
实例需要修改的目标计费方式。取值范围:
|
DryRun | Boolean | 否 | false |
是否只预检此次请求。取值范围:
|
AutoPay | Boolean | 否 | false |
是否自动支付。取值范围:
说明 如果您的支付方式余额不足,可以将参数AutoPay置为false,此时会生成未支付订单,您可以登录ECS管理控制台自行支付。
|
ClientToken | String | 否 | 123e4567-e89b-12d3-a456-426655440000 |
保证请求幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符,且不能超过64个字符。更多详情,请参见如何保证幂等性。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | B61C08E5-403A-46A2-96C1-F7B1216DB10C |
请求ID。 |
OrderId | String | 204135153880*** |
生成的订单ID。 |
FeeOfInstances | Array |
订单费用详情。 |
|
InstanceId | String | i-bp67acfmxazb4ph*** |
实例ID。 |
Fee | String | 0 |
费用数值。 |
Currency | String | CNY |
账单费用货币单位。 |
示例
请求示例
https://ecs.aliyuncs.com/?Action=ModifyInstanceChargeType
&RegionId=cn-hangzhou
&InstanceIds=["i-bp67acfmxazb4ph***","i-bp67acfmxazb4pi***"]
&Period=1
&PeriodUnit=Month
&AutoPay=false
&IncludeAllDisks=true
&ClientToken=123e4567-e89b-12d3-a456-426655440000
&<公共请求参数>
正常返回示例
XML
格式
<ModifyInstanceChargeTypeResponse>
<RequestId>B61C08E5-403A-46A2-96C1-F7B1216DB10C</RequestId>
<OrderId>204135153880***</OrderId>
<FeeOfInstances>
<FeeOfInstance>
<Fee>0</Fee>
<InstanceId>i-bp67acfmxazb4ph***</InstanceId>
<Currency>CNY</Currency>
</FeeOfInstance>
<FeeOfInstance>
<Fee>0</Fee>
<InstanceId>i-bp67acfmxazb4pi***</InstanceId>
<Currency>CNY</Currency>
</FeeOfInstance>
</FeeOfInstances>
</ModifyInstanceChargeTypeResponse>
JSON
格式
{
"RequestId":"B61C08E5-403A-46A2-96C1-F7B1216DB10C",
"OrderId":"204135153880***",
"FeeOfInstances":
{
"FeeOfInstance":[
{
"Fee":"0",
"InstanceId":"i-bp67acfmxazb4ph***",
"Currency":"CNY"
},
{
"Fee":"0",
"InstanceId":"i-bp67acfmxazb4pi***",
"Currency":"CNY"
}
]
}
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | InvalidParameter.InstanceIds | The specified InstanceIds are invalid. | 指定的实例无效。 |
400 | InvalidParameter | %s | 无效的参数。 |
400 | InvalidStatus.ValueNotSupported | %s | 该资源当前的状态不支持此操作。 |
400 | InvalidInstanceChargeType.ValueNotSupported | %s | 暂不支持此付款类型,请核对相关信息后重试。 |
400 | ExpiredInstance | The specified instance has expired. | 指定的实例已过期。 |
403 | InvalidInstance.TempBandwidthUpgrade | Cannot switch to Pay-As-You-Go during the period of temporary bandwidth upgrade. | 实例在临时带宽升级期间不能转换为按量付费。 |
400 | InstancesIdQuotaExceed | The maximum number of Instances is exceeded. | 超过了实例数的上限。 |
400 | InvalidClientToken.ValueNotSupported | The ClientToken provided is invalid. | 指定的 ClientToken 不合法。 |
400 | InvalidInternetChargeType.ValueNotSupported | %s | 暂不支持指定的实例付费类型,请确认相关参数是否正确。 |
403 | InvalidInstanceType.ValueNotSupported | The specified InstanceType does not exist or beyond the permitted range. | 您指定的实例规格不存在,或者您没有权限操作此规格的实例。 |
403 | InstanceType.Offline | %s | 实例规格已停售或者供货不足。 |
500 | InternalError | The request processing has failed due to some unknown error, exception or failure. | 内部错误,请重试。如果多次尝试失败,请提交工单。 |
400 | ReleaseTimeHaveBeenSet | The specified instance has been set released time. | 指定的实例已设置释放时间。 |
403 | InvalidAccountStatus.NotEnoughBalance | Your account does not have enough balance. | 账号余额不足,请您先充值再进行该操作。 |
403 | Account.Arrearage | Your account has an outstanding payment. | 您的账号存在未支付的款项。 |
400 | Throttling | Request was denied due to request throttling, please try again after 5 minutes. | 您当前的请求被流控,请 5 分钟后重试。 |
403 | InvalidParameter.NotMatch | %s | 您输入的参数无效,请检查参数之间是否冲突。 |
403 | InvalidAction | %s | 操作无效。 |
400 | Throttling | %s | 请求被流控。 |
400 | QuotaExceed.AfterpayInstance | The maximum number of Pay-As-You-Go instances is exceeded: %s | 按量付费的实例库存不足,请减少创建数量。 |
400 | InvalidParameter.Bandwidth | %s | 指定的带宽无效,请检查参数是否正确。 |
400 | InvalidPeriod.UnitMismatch | The specified Period must be correlated with the PeriodUnit. | 指定的时长必须与“PeriodUnit”关联。 |
400 | InvalidImageType.NotSupported | %s | 指定的镜像类型无效,请查询本地域是否支持此镜像类型。 |
400 | InvalidPeriod.ExceededDedicatedHost | Instance expired date can't exceed dedicated host expired date. | 实例过期日期不能超过专有宿主机的过期日期。 |
400 | InvalidMarketImageChargeType.NotSupport | The specified chargeType of marketImage is unsupported. | 暂不支持该市场镜像的付费类型。 |
403 | QuotaExceed.PostPaidDisk | Living postPaid disks quota exceeded. | 按量付费磁盘数量已超出允许数量。 |
403 | ImageNotSupportInstanceType | The specified instanceType is not supported by instance with marketplace image. | 指定的市场镜像不支持该实例规格。 |
403 | InvalidInstanceType.PhasedOut | This instanceType is no longer offered. | 您指定的实例规格已下线不再出售。 |
400 | InvalidSystemDiskCategory.ValueNotSupported | %s | 当前操作不支持此系统磁盘类型。 |
500 | InternalError | The request processing has failed due to some unknown error. | 内部错误,请重试。如果多次尝试失败,请提交工单。 |
403 | RealNameAuthenticationError | Your account has not passed the real-name authentication yet. | 您的帐户尚未通过实名认证,请先实名认证后再操作。 |
访问错误中心查看更多错误码。
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
评论