
# 设置或取消包年/包月资源到期转按需-UpdatePeriodToOnDemand
#### 功能介绍
客户可以设置包年/包月资源到期后转为按需资源计费。包年/包月计费模式到期后，按需的计费模式即生效。
客户在费用中心设置包年包月资源到期转按需请参见[这里](https://support.huaweicloud.com/usermanual-billing/renewals_topic_50000003.html)。
![](https://support.huaweicloud.com/api-oce/public_sys-resources/note_3.0-zh-cn.png)
- 客户需要成功支付包年/包月资源订单后，才能设置资源的到期转按需。
- 目前解决方案组合产品、按需套餐包不支持到期转按需。
- 在调用本接口前，您可以调用"[查询客户包年/包月资源列表-ListPayPerUseCustomerResources](https://support.huaweicloud.com/api-oce/api_order_00021.html)"接口获取资源ID、资源过期时间以及资源过期后的扣费策略等信息。
- 设置包年/包月资源到期转按需后，包年/包月资源到期后将自动变成按需计费。
- 取消包年/包月资源到期转按需的前提是已经调用"[设置或取消包年/包月资源到期转按需-UpdatePeriodToOnDemand](https://support.huaweicloud.com/api-oce/api_order_00024.html)"接口设置包年/包月资源的到期转按需或在调用"[续订包年/包月资源-RenewalResources](https://support.huaweicloud.com/api-oce/api_order_00018.html)"接口时设置到期策略为到期转按需。
 
#### REST API
该接口只允许使用客户AK/SK或者Token调用。
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=BSS&api=UpdatePeriodToOnDemand)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[策略授权参考](https://support.huaweicloud.com/api-oce/jac_000053.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                        | 描述                             | 访问级别  | 资源类型（\*为必须） | 条件键 | 别名 |
  |:---|:---|:---|:---|:---|:---|
  | billing:subscription:renew | 授予续费、设置自动续费、设置到期策略、按需转包年/包月的权限 | write | -           | -   | -  |
     
  
 
#### URI
POST /v2/orders/subscriptions/resources/to-on-demand
参数说明请参见下表。
#### 请求消息
请求参数
| 参数           | 是否必选 | 参数类型           | 取值范围             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|:---|
| operation    | 是    | String         | 最大长度：64          | 设置或取消包年/包月资源到期转按需的操作。 - SET_UP：设置  - CANCEL：取消                                                                                                                                                                                                       |
| resource_ids | 是    | list\<string\> |  \[1-100\] | 资源ID。 您可以调用"[查询客户包年/包月资源列表-ListPayPerUseCustomerResources](https://support.huaweicloud.com/api-oce/api_order_00021.html)"接口获取资源ID。 此处只支持设置主资源ID，最多可设置100个资源ID。设置后，主资源及其对应的从资源将一起转为按需资源，本字段必填。 请根据"[查询客户包年/包月资源列表-ListPayPerUseCustomerResources](https://support.huaweicloud.com/api-oce/api_order_00021.html)"接口响应参数中的"is_main_resource"参数来标识资源是否为主资源。 |
   
请求示例
```
POST https://bss.myhuaweicloud.com/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"]
}
```
#### 响应消息
响应参数
| 参数            | 参数类型                | 取值范围      | 描述                                                                                            |
|:---|:---|:---|:---|
| error_code    | String              | 最大长度：20   | 状态码。具体请参见[状态码]。                                        |
| error_msg     | String              | 最大长度：1000 | 错误描述信息。                                                                                       |
| error_details | List\<ErrorDetail\> | 最大个数：100  | HTTP 200的时候返回该字段；部分失败时仅返回失败的记录；如果全部成功，则该记录为空，具体参见[表1]。 |
   
 表1ErrorDetail 
| 参数         | 参数类型   | 取值范围      | 描述                                                     |
|:---|:---|:---|:---|
| id         | String | 最大长度：128  | 批量处理消息的ID。                                             |
| error_code | String | 最大长度：20   | 状态码。具体请参见[状态码]。 |
| error_msg  | String | 最大长度：1000 | 错误描述信息。                                                |
   
响应示例：
```
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: length
Date: response time   
{
    "error_details": []
}
```
 #### 状态码
![](https://support.huaweicloud.com/api-oce/public_sys-resources/note_3.0-zh-cn.png)
- 状态码4xx：由于明显的客户端错误（例如，格式错误的请求语法、参数错误等），华为云会返回4xx错误码，请及时检查请求消息的正确性，重新发起请求。
- 状态码5xx：由于华为云系统原因，导致无法完成明显有效请求的处理，可及时联系华为云客服处理。
 
| HTTP状态码 | 错误码          | 描述                |
|:---|:---|:---|
| 400     | CBC.0100     | 参数错误。             |
| 400     | CBC.99003608 | 严选产品不能设置转按需。      |
| 400     | CBC.99003609 | 该产品类型不支持转按需。      |
| 200     | CBC.99003610 | 宽限期、保留期资源不能转按需。   |
| 400     | CBC.99003611 | 按需套餐包不能设置转按需。     |
| 400     | CBC.99003012 | 资源ID不存在。          |
| 400     | CBC.99003622 | 解决方案产品不能设置转按需。    |
| 400     | CBC.99003623 | 存在其他处理中交易不能转按需。   |
| 400     | CBC.99003624 | 违规冻结资源不允许设置转按需。   |
| 400     | CBC.99003625 | 公安冻结资源不允许设置转按需。   |
| 400     | CBC.99003626 | 账号已经被冻结，不允许设置转按需。 |
| 403     | CBC.0151     | 访问拒绝。             |
| 500     | CBC.0999     | 其他错误。             |
   
