
# 更新云服务器指定网卡属性 - ChangeServerNetworkInterface
#### 功能介绍
更新云服务器指定网卡属性，当前仅支持更新网卡IP。
#### 接口约束
- 关机状态的弹性云服务器才允许更新指定网卡属性。
- 当前只允许更新弹性云服务器主网卡属性。
- 只开通了IPv4协议的网卡，不支持修改网卡的IPv6地址。
- 只开通了IPv4协议的网卡，不支持跨VPC修改网卡的IPv4地址。
- 已开通IPv6协议的网卡，不支持跨子网修改网卡的IPv4地址和IPv6地址。
- 已开通IPv6协议的网卡，网卡上已绑定共享带宽或虚拟IP，不允许修改网卡的IPv4地址和IPv6地址。
 
#### 调试
您可以在[API Explorer](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=ECS&api=ChangeServerNetworkInterface)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ecs/ecs_06_0000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
 
| 授权项                                     | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                    | 别名 | 依赖的授权项 |
|:---|:---|:---|:---|:---|:---|
| ecs:cloudServers:changeNetworkInterface | write | instance \* | - g:ResourceTag/\<tag-key\>  - g:EnterpriseProjectId   | -  | -      |
   
#### URI
POST /v1/{project_id}/cloudservers/{server_id}/os-interface/{port_id}/change-network-interface
参数说明请参见[表 参数说明]。
 表1参数说明 
| 参数         | 是否必选 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| project_id | 是    | **参数解释：** 项目ID。 获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-ecs/ecs_01_0016.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| server_id  | 是    | **参数解释：** 云服务器ID。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                               |
| port_id    | 是    | **参数解释：** 网卡ID。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                |
   
#### 请求消息
请求参数如[表 请求参数]所示。
 表2请求参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| subnet_id    | 否    | String | **参数解释：** 子网ID ，UUID格式。 **约束限制：** 更新IPv4地址时，必须指定该参数；更新IPv6地址时，该参数可以不填。 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                |
| ip_address   | 否    | String | **参数解释：** IPv4地址，为空字符串时表示随机更新网卡IPv4地址。 **约束限制：** - 该参数和ipv6_address必须指定一个。  - 该参数和ipv6_address不能同时指定。   **取值范围：** 不涉及 **默认取值：** 不涉及   |
| ipv6_address | 否    | String | **参数解释：** IPv6地址，为空字符串时表示随机更新网卡IPv6地址。 **约束限制：** - 该参数和ip_address必须指定一个。  - 该参数和ip_address不能同时指定。   **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### 响应消息
响应参数如[表 响应参数]所示。
 表3响应参数 
| 参数           | 参数类型   | 描述                                                                                                                                                                                            |
|:---|:---|:---|
| id           | String | **参数解释：** 网卡ID。 **取值范围：** 不涉及                       |
| subnet_id    | String | **参数解释：** 子网ID。 **取值范围：** 不涉及                    |
| ip_address   | String | **参数解释：** 网卡IPv4地址。 **取值范围：** 不涉及               |
| ipv6_address | String | **参数解释：** 网卡IPv6地址，未开通IPv6协议的网卡不返回该字段。 **取值范围：** 不涉及 |
   
#### 请求示例
- 更新云服务器网卡，并指定IPv4地址。
  ```
  POST  https://{endpoint}/v1/{project_id}/cloudservers/{server_id}/os-interface/{port_id}/change-network-interface
  {
      "subnet_id": "7bf939cc-167f-49d5-a933-9cca504210ab",
      "ip_address":"192.168.1.159"
  }
  ```
  
- 更新云服务器网卡，随机分配IPv4地址。
  ```
  POST  https://{endpoint}/v1/{project_id}/cloudservers/{server_id}/os-interface/{port_id}/change-network-interface
  {
      "subnet_id": "7bf939cc-167f-49d5-a933-9cca504210ab",
      "ip_address":""
  }
  ```
  
- 更新云服务器网卡，并指定IPv6地址。
  ```
  POST  https://{endpoint}/v1/{project_id}/cloudservers/{server_id}/os-interface/{port_id}/change-network-interface
  {
      "subnet_id": "7bf939cc-167f-49d5-a933-9cca504210ab",
      "ipv6_address":"2001:db8:a583:578:2840:2d9f:27d4:2713"
  }
  ```
  
- 更新云服务器网卡，随机分配IPv6地址。
  ```
  POST  https://{endpoint}/v1/{project_id}/cloudservers/{server_id}/os-interface/{port_id}/change-network-interface
  {
      "subnet_id": "7bf939cc-167f-49d5-a933-9cca504210ab",
      "ipv6_address":""
  }
  ```
  
 
#### 响应示例
```
{
    "id": "6bcb3ac6-c5f7-45a8-b6df-aadc6839c2d9",
    "subnet_id": "7bf939cc-167f-49d5-a933-9cca504210ab",
    "ip_address": "192.168.1.159",
    "ipv6_address": "2001:db8:a583:578:192:168:1:159"
}
```
#### 返回值
请参考[通用请求返回值](https://support.huaweicloud.com/api-ecs/ecs_07_0001.html)。
#### 错误码
请参考[错误码](https://support.huaweicloud.com/api-ecs/ecs_07_0002.html)。
