更換一台或者多台隨用隨付執行個體為預付費(訂用帳戶)執行個體。同時可以將執行個體掛載的所有隨用隨付雲端碟轉換為預付費(訂用帳戶)雲端碟。
描述
調用該介面時,您需要注意:
- 目標執行個體的狀態必須為 運行中(
Running)或者 已停止(Stopped),並且無欠費的情況下才能修改計費方式。 - 如果隨用隨付執行個體已經設定了釋放時間,則不能調用該介面。
- 支援批量操作,單次最多支援修改 20 個執行個體的計費方式。
- 支援將執行個體掛載的所有隨用隨付資料盤同時轉換為訂用帳戶資料盤。
- 訂用帳戶執行個體轉按量執行個體的時候,新計費方式將覆蓋執行個體的整個生命週期,您會收到修改前後的執行個體計費的價格差退款,退還到您的原付款渠道中,已使用的代金券將不退回。
- 請確保您的賬戶餘額充足。並且,參數
AutoPay為true表示自動支付,賬戶餘額不足的時候會生成無法支付的訂單,您只能在 ECS 控制台 作廢訂單。
請求參數
| 名稱 | 類型 | 是否必需 | 描述 |
|---|---|---|---|
| Action | String | 是 | 系統規定參數。取值:ModifyInstanceChargeType |
| RegionId | String | 是 | 執行個體所屬的地域 ID。您可以調用 DescribeRegions 查看最新的阿里雲地域列表。 |
| InstanceIds | String | 是 | 執行個體 ID。取值可以由多個執行個體 ID 組成一個 JSON 數組,格式為 ["s-xxxxxxxxx", "s-yyyyyyyyy", … "s-zzzzzzzzz"],最多支援 20 個 ID,ID 之間用半形逗號(,)隔開。 |
| Period | Integer | 是 | 購買執行個體的時長。 |
| PeriodUnit | String | 是 | 時長周期單位。取值範圍:
Year、Week 和 Month。 |
| IncludeDataDisks | Boolean | 否 | 是否將執行個體掛載的所有隨用隨付資料盤一起轉換為訂用帳戶資料盤。預設值:true |
| InstanceChargeType | String | 否 | 執行個體需要修改的目標計費方式。取值範圍:
|
| AutoPay | Boolean | 否 | 是否自動支付。取值範圍:
|
| DryRun | Boolean | 否 | 是否只預檢。當 DryRun 值為 true 時,只預檢測,不實際的修改付費類型操作。預設值:false |
| ClientToken | String | 否 | 用於保證請求的等冪性。由用戶端生成該參數值,要保證在不同請求間唯一。只支援 ASCII 字元,且不能超過 64 個字元。更多詳情,請參閱 如何保證等冪性。 |
返回參數
| 名稱 | 類型 | 描述 |
|---|---|---|
| OrderId | Long | 生成的訂單 ID |
樣本
請求樣本
https://ecs.aliyuncs.com/?Action=ModifyInstanceChargeType
&RegionId=cn-hangzhou
&InstanceIds=["i-xxxxx1","i-xxxxx2"]
&Period=1
&PeriodUnit=Month
&AutoPay=false
&IncludeAllDisks=true
&ClientToken=xxxxxxxxxxxxxx
&<公共請求參數>
返回樣本
XML 格式
<ModifyInstanceConfigurationResponse>
<RequestId>04F0F334-1335-436C-A1D7-6C044FExxxxx</RequestId>
<OrderId>10111111111xxxxx</OrderId>
</ModifyInstanceConfigurationResponse>
JSON 格式
{
"RequestId": "04F0F334-1335-436C-A1D7-6C044FExxxxx",
"OrderId": 1011111111111111,
}
錯誤碼
以下為本介面特有的錯誤碼。更多錯誤碼,請訪問 API 錯誤中心。
| 錯誤碼 | 錯誤資訊 | HTTP 狀態碼 | 說明 |
|---|---|---|---|
| ExpiredInstance | Expired instances exist in your request list. | 400 | 執行個體列表中存在欠費執行個體。 |
| InstancesIdQuotaExceed | The maximum number of Instances is exceeded. | 400 | 單次最多能指定 20 台執行個體。 |
| InvalidInstance.UnpaidOrder | The specified instance has unpaid order. | 400 | 執行個體有未支付的訂單。 |
| InvalidClientToken.ValueNotSupported | The ClientToken provided is invalid. | 400 | 參數 ClientToken參數值不合法,不能包含 ASCII 以外的字元。 |
| InvalidParameter.InstanceIds | The specified InstanceIds are invalid. | 400 | 指定的 InstanceIds 不合法。 |
| InvalidStatus.ValueNotSupported | The instance cannot be modified in the specified status. | 400 | 執行個體必須處於 運行中(Running)或者 已停止(Stopped)狀態。 |
| ReleaseTimeHaveBeenSet | The specified instance has been set released time. | 400 | 您的請求中存在已設定了釋放時間的執行個體。 |
| Throttling | You have made too many requests within a short time; your request is denied due to request throttling. | 400 | 您的操作過於頻繁,請稍後再試。 |
| InvalidAccountStatus.NotEnoughBalance | Your account does not have enough balance. | 403 | 您的賬戶餘額不足。 |
| InvalidInstanceId.NotFound | The specified InstanceId does not exist. | 404 | 指定的執行個體不存在。 |
| InternalError | The request processing has failed due to some unknown error, exception or failure. | 500 | 內部錯誤。 |