Enabling/Canceling the Change from Yearly/Monthly to Pay-per-Use upon Expiration
Function
A customer can change the billing mode of resources from yearly/monthly to pay-per-use after the resources expire. The pay-per-use mode takes effect upon a yearly/monthly expiration.
Customers can follow the instructions described in From Yearly/Monthly to Pay-per-Use to enable the change from yearly/monthly to pay-per-use upon expiration in Billing Center.
- The customer can enable the change from yearly/monthly to pay-per-use only after it has paid the yearly/monthly subscription.
- The billing mode of solution portfolio products cannot be changed from yearly/monthly to pay-per-use.
- Before invoking this API, you can invoke the API described in Querying Customer's Yearly/Monthly Resources to query the resource ID, resource expiration date, and deduction policy after the resource is expired.
- With the change from yearly/monthly to pay-per-use enabled, after a yearly/monthly package expires, you will be billed for subsequently used resources on a pay-per-use basis.
- To cancel the change from yearly/monthly to pay-per-use, you must enable the change by calling the API described in Enabling/Canceling the Change from Yearly/Monthly to Pay-per-Use upon Expiration or set the expiration policy to Pay-per-Use After Expiration by calling the API described in Renewing Subscription to Yearly/Monthly Resources.
REST API
This API can be invoked only by the customer AK/SK or token.
URI
POST /v2/orders/subscriptions/resources/to-on-demand
The following table describes the parameters.
Request
Request Parameters
Parameter |
Mandatory |
Type |
Value Range |
Description |
---|---|---|---|---|
operation |
Yes |
String |
A maximum of 64 characters |
Used to enable or cancel the change from yearly/monthly to pay-per-use.
|
resource_ids |
Yes |
list<string> |
[1-100] |
Resource ID. You can obtain the resource ID by invoking the API described in Querying Customer's Yearly/Monthly Resources. A maximum of 100 IDs of only primary resources can be set. After this parameter is set, both the primary resource and its attached resources are changed to pay-per-use resources. This field is mandatory. You can refer to parameter is_main_resource in the response of the API described in Querying Customer's Yearly/Monthly Resources to check whether the resource is primary. |
Example Request
POST https://bss.myhuaweicloud.eu/v2/orders/subscriptions/resources/to-on-demand HTTP/1.1 Content-Type: application/json X-Auth-Token: MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ { "operation":"SET_UP", "resource_ids":["0c3248018ed54b1e8e3ecbab1b0989ce"] }
Response
Parameter |
Type |
Value Range |
Description |
---|---|---|---|
error_code |
String |
A maximum of 20 characters |
Error code. For details, see Returned Values. |
error_msg |
String |
A maximum of 1000 characters |
Error description. |
error_details |
List<ErrorDetail> |
A maximum of 100 records |
This parameter is returned when HTTP 200 is displayed. If some operations fail, only failure records are returned. If all the operations succeed, the record is empty. For details, see Table 1. |
Parameter |
Type |
Value Range |
Description |
---|---|---|---|
id |
String |
A maximum of 128 characters |
ID of a batch processing message. |
error_code |
String |
A maximum of 20 characters |
Error code. For details, see Returned Values. |
error_msg |
String |
A maximum of 1000 characters |
Error description. |
Example Response
HTTP/1.1 200 OK Content-Type: application/json;charset=UTF-8 Content-Length: length Date: response time { "error_details": [] }
Returned Values
- 4xx: This class of HTTP status code is intended for situations in which the error seems to have been caused by the client, for example, the request contains bad syntax or incorrect parameters. You must ensure the request is correct.
- 5xx: This class of HTTP status code is intended for cases in which the Huawei Cloud server is aware that it has encountered an error or is otherwise incapable of performing the request. In this case, contact Huawei Cloud customer service.
HTTP Value |
Error Code |
Description |
---|---|---|
400 |
CBC.0100 |
Parameter error. |
400 |
CBC.99003609 |
The billing mode of this product type cannot be changed to pay-per-use. |
200 |
CBC.99003610 |
The billing mode of resources in the grace or retention period cannot be changed to pay-per-use. |
400 |
CBC.99003611 |
The billing mode of pay-per-usage packages cannot be changed to pay-per-use. |
400 |
CBC.99003012 |
The resource ID does not exist. |
400 |
CBC.99003622 |
The billing mode of solutions cannot be changed to pay-per-use. |
400 |
CBC.99003623 |
Cannot be changed to the pay-per-use billing mode because there are transactions being processed. |
400 |
CBC.99003624 |
Cannot be changed to the pay-per-use billing mode because the resource has been frozen due to security reasons. |
400 |
CBC.99003626 |
Cannot be changed to the pay-per-use billing mode because this account has been frozen. |
403 |
CBC.0151 |
Access denied. |
500 |
CBC.0999 |
Other errors. |
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.