Help Center/ Customer Operation Capabilities/ API Reference/ Transaction Management/ Managing Yearly/Monthly Resources/ Enabling/Canceling the Change from Yearly/Monthly to Pay-per-Use upon Expiration
Updated on 2024-08-15 GMT+08:00

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.

  • SET_UP: Enable
  • CANCEL: Cancel

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

Response Parameters

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 1,000 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.

Table 1 ErrorDetail

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 1,000 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.