# ModifyInstanceTrafficPackage

## 1. 接口描述

本接口(ModifyInstanceTrafficPackage)用于修改实例流量包。

{% hint style="info" %}
**注意事项**

* 仅机器状态处于\*\*`RUNNING`**或**`STOPPED`\*\*状态，接口才能调用。
* 若机器的[`internetChargeType`](/api-reference/cn/compute/bmc/datastructure.md#internetchargetype)为`ByTrafficPackage`：
  * 机器的`instanceChargeType`为`PREPAID`：
    * 升配（target > cur）会预先扣除本次实例购买所需金额，如果余额不足，请求将会失败，立即生效。
    * 降配（target < cur）会生成下个周期的降配订单，下周期生效。
  * 询流量包变更价格接口 InquiryPriceInstanceTrafficPackage。
* 若要查询实例带宽状态，可调用 DescribeInstanceInternetStatus。
  {% endhint %}

## 2. 请求参数

以下请求参数列表仅列出了接口中需要的请求参数

| 参数名称               | 必选 | 类型     | 描述                                                              |
| ------------------ | -- | ------ | --------------------------------------------------------------- |
| instanceId         | 是  | String | <p>待操作的实例ID。</p><p>可通过DescribeInstances接口返回值中的instanceId获取。</p> |
| trafficPackageSize | 是  | Float  | <p>流量包大小。</p><p>必须是0.05的倍数。</p><p>可选值范围：\[0.0, +)</p>           |

## 3. 响应结果

| 参数名称        | 类型     | 描述                                                       |
| ----------- | ------ | -------------------------------------------------------- |
| requestId   | String | <p>唯一请求 ID。</p><p>每次请求都会返回。定位问题时需要提供该次请求的 requestId。</p> |
| orderNumber | String | 订单编号。                                                    |

## 4. 代码示例

{% tabs %}
{% tab title="示例" %}
**1. 升配实例流量包**

```json
POST /api/v2/bmc HTTP/1.1
Host: console.zenlayer.com
Content-Type: application/json
X-ZC-Action: ModifyInstanceTrafficPackage
Request：
{
  "instanceId": "instanceId",
  "trafficPackageSize": 100
}
Response：
{
  "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
  "response": { 
    "requestId": "T05992D0C-7E8B-4047-B0C0-780F2CD549D3",
    "orderNumber": "xxxx"
  }
}
```

{% endtab %}
{% endtabs %}

## 5. 开发者工具

Zenlayer Cloud API 2.0 提供了配套的[开发工具集（SDK）](/api-reference/cn/api-introduction/toolkit.md)，未来会陆续支持更多开发语言，方便快速接入和使用Zenlayer的产品和服务。

## 6. 错误码

下面包含业务逻辑中遇到的错误码，其他错误码见[公共错误码](/api-reference/cn/api-introduction/instruction/commonerrorcode.md)

| HTTP状态码 | 错误码                                                        | 说明                                                                                             |
| ------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| 403     | OPERATION\_DENIED\_INSTANCE\_STATUS\_NOT\_SUPPORT          | 实例状态不支持。                                                                                       |
| 403     | OPERATION\_FAILED\_INSTANCE\_EXIST\_PLAN\_TRAFFIC\_PACKAGE | 指定的实例存在降配计划订单。                                                                                 |
| 403     | OPERATION\_DENIED\_INSTANCE\_TRAFFIC\_PACKAGE\_PROCESSING  | 指定的实例流量包正在修改中。                                                                                 |
| 400     | INVALID\_PARAMETER\_TRAFFIC\_PACKAGE\_LESS                 | 实例流量包参数需要大于等于默认值。                                                                              |
| 400     | INVALID\_PARAMETER\_TRAFFIC\_PACKAGE\_ERROR                | 实例流量包参数校验错误。设定的流量包大小值不合法，必须是0.05的倍数。                                                           |
| 403     | OPERATION\_DENIED\_INTERNET\_CHARGE\_TYPE\_NOT\_SUPPORT    | 指定的[实例网络模型](/api-reference/cn/compute/bmc/datastructure.md#internetchargetype)不是`ByBandwidth。` |
| 404     | INVALID\_INSTANCE\_NOT\_FOUND                              | 实例不存在。                                                                                         |
| 400     | INVALID\_PARAMETER\_TRAFFIC\_PACKAGE\_EXCEED               | 流量包参数超过最大值。                                                                                    |
| 403     | OPERATION\_FAILED\_INSTANCE\_NOT\_EXIST\_TRAFFIC\_PACKAGE  | 指定的实例不存在流量包。                                                                                   |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.console.zenlayer.com/api-reference/cn/compute/bmc/bare-metal-instance/modifyinstancetrafficpackage.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
