# 切换堡垒机虚拟私有云 - SwitchInstanceVpc
#### 功能介绍
切换堡垒机虚拟私有云
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-cbh/cbh_02_0008.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-cbh/cbh_02_00015.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                            | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | cbh:instance:switchInstanceVpc | Write | instance \* | - g:ResourceTag/\<tag-key\>   - g:EnterpriseProjectId   - cbh:VpcId   - cbh:SubnetId    | -  | -      |
     
  
 
#### URI
PUT /v2/{project_id}/cbs/instance/vpc
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**： 项目ID，用于唯一标识用户项目。获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-cbh/cbh_02_0020.html)。 **约束限制**： 不涉及 **取值范围**： 只能由字母和数字组成，长度为32个字符。 **默认取值**： 不涉及 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**： 用户Token。通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。获取方法请参见[获取用户Token](https://support.huaweicloud.com/api-cbh/cbh_02_0010.html)。 **约束限制**： 不涉及 **取值范围**： 字符串，长度为1\~28000个字符。 **默认取值**： 不涉及 |
   
表3请求Body参数 
| 参数        | 是否必选 | 参数类型                                                                      | 描述                 |
|:---|:---|:---|:---|
| server_id | 是    | String                                                                    | 需要切换vpc的实例id       |
| network   | 是    | [NetworkInfoCreate] object | 切换云堡垒机实例vpc所需网络信息。 |
   
 表4NetworkInfoCreate 
| 参数              | 是否必选 | 参数类型                                                                        | 描述                                                                                                                                                                                                     |
|:---|:---|:---|:---|
| vpc_id          | 是    | String                                                                      | 待创建云服务器所属虚拟私有云（简称VPC），需要指定已创建VPC的ID，UUID格式。 VPC的ID可以从控制台或者参考《虚拟私有云接口参考》的"查询VPC"章节获取。 例如：03211ecf-xxxx-4306-xxxx-6e939bfxxxxx |
| subnet_id       | 是    | String                                                                      | 子网ID，字母数字下划线连接符组成。                                                                                                                                                                                     |
| public_ip       | 是    | [PublicIp] object                     | 云堡垒机实例弹性公网IP信息。可填写null值。                                                                                                                                                                               |
| security_groups | 是    | Array of [SecurityGroup] objects | 安全组信息。                                                                                                                                                                                                 |
| private_ip      | 否    | [PrivateIp] object                   | 云堡垒机实例指定公网IP信息。                                                                                                                                                                                        |
   
 表5PublicIp 
| 参数         | 是否必选 | 参数类型   | 描述                         |
|:---|:---|:---|:---|
| id         | 否    | String | 弹性IP和EIP只能有一个，弹性IP或EIP的ID。 |
| public_eip | 否    | String | 弹性IP地址。                    |
   
 表6SecurityGroup 
| 参数 | 是否必选 | 参数类型   | 描述                        |
|:---|:---|:---|:---|
| id | 是    | String | 云堡垒机实例安全组ID，字母数字下划线连接符组成。 |
   
 表7PrivateIp 
| 参数          | 是否必选 | 参数类型   | 描述        |
|:---|:---|:---|:---|
| ip          | 是    | String | 私网IP地址。   |
| slave_ip    | 否    | String | 备机私网IP地址。 |
| floating_ip | 否    | String | 浮动IP地址。   |
   
#### 响应参数
**状态码：200**
无
**状态码：400**
表8响应Body参数 
| 参数                | 参数类型   | 描述      |
|:---|:---|:---|
| error_code        | String | 错误码。    |
| error_description | String | 请求参数错误。 |
   
**状态码：401**
表9响应Body参数 
| 参数                | 参数类型   | 描述         |
|:---|:---|:---|
| error_code        | String | 错误码。       |
| error_description | String | 校验Token失败。 |
   
**状态码：403**
表10响应Body参数 
| 参数                | 参数类型   | 描述       |
|:---|:---|:---|
| error_code        | String | 错误码。     |
| error_description | String | 租户无权限操作。 |
   
**状态码：404**
表11响应Body参数 
| 参数                | 参数类型   | 描述         |
|:---|:---|:---|
| error_code        | String | 错误码。       |
| error_description | String | 没有找到CBH资源。 |
   
#### 请求示例
```
{
  "server_id" : "0f2c69d1-e420-4ae1-9b43-ab8699883678",
  "network" : {
    "vpc_id" : "760071b3-34a3-4359-bf18-3af24e77c1cf",
    "subnet_id" : "90b6be71-e72a-4d5a-8838-5924bce3c583",
    "private_ip" : {
      "ip" : "192.168.0.3",
      "slave_ip" : null,
      "floating_ip" : null
    },
    "public_ip" : null,
    "security_groups" : [ {
      "id" : "21321412321321321"
    } ]
  }
}
```
#### 响应示例
无
#### 状态码
| 状态码 | 描述                              |
|:---|:---|
| 200 | Switch Cbh Instance Vpc Success |
| 400 | Bad Request                     |
| 401 | Unauthorized                    |
| 403 | 访问拒绝                            |
| 404 | Not Found                       |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-cbh/ErrorCode.html)。
