
# 切换云手机服务器 - ChangeCloudPhoneServer
#### 功能介绍
切换云手机服务器, 支持您换一台新的云手机服务器。切换后服务器名称、服务器ID与原服务器相同, 服务器计费保持不变。服务器切换的同时服务器上的手机重新创建，不保留用户数据。切换需要额外的资源和资源配额。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/CPH/doc?api=ChangeCloudPhoneServer)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-cph/cph_api_06000.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                                              | 别名 | 依赖的授权项                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|:---|:---|:---|
  | cph:servers:change | Write | server \*   | - g:EnterpriseProjectId   - g:ResourceTag/\<tag-key\>    | -  | - vpc:vpcs:get  - vpc:subnets:get  - vpc:networks:get  - eip:bandwidths:get  - eip:publicIps:list  - kps:SSHKeyPair:get  - vpc:quotas:list  - sfsturbo:shares:getShare  - sfsturbo:shares:showFsDir   |
     
  
 
#### URI
POST /v2/{project_id}/cloud-phone/servers/{server_id}/change
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述           |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目id。        |
| server_id  | 是    | String | 云手机服务器的唯一标识。 |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                  |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。 通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
   
表3请求Body参数 
| 参数                       | 是否必选 | 参数类型                                                                                         | 描述                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| phone_model_name         | 是    | String                                                                                       | 云手机规格，不超过64个字节。                                                                                                                                                                                             |
| image_id                 | 是    | String                                                                                       | 云手机镜像ID，不超过32个字节。                                                                                                                                                                                           |
| keypair_name             | 否    | String                                                                                       | 密钥对名称，不超过64个字节，用于云手机ADB登录。                                                                                                                                                                                  |
| availability_zone        | 否    | String                                                                                       | 云手机服务器所在的可用区，不填则维持原可用区不变。如上海一可用区1为cn-east-3a。                                                                                                                                                               |
| ports                    | 否    | Array of [Port] objects                               | 云手机启用的应用端口，云手机服务会做端口转发。                                                                                                                                                                                     |
| extend_param             | 否    | [extend_param] object                         | 扩展字段。                                                                                                                                                                                                       |
| tenant_vpc_id            | 是    | String                                                                                       | 租户自定义的VPC ID，为待创建的云服务器所属的虚拟私有云（简称VPC），需要指定已创建VPC的ID，UUID格式。                                                                                                                                                 |
| nics                     | 是    | Array of [Nic] objects                                 | 租户自定义的网卡的结构体，为待创建的云服务器的网卡信息。                                                                                                                                                                                |
| public_ip                | 是    | [public_ip] object                               | 租户自定义的弹性公网IP结构体。 配置云服务器的弹性IP信息的方式， 自动分配，需要指定新创建弹性IP的信息； 使用已有，需要指定已经购买的EIP ID。 |
| phone_count_per_ip       | 否    | Integer                                                                                      | 多少个手机共用一个vip。默认为手机开数，表示所有手机共享1个vip。取值范围：1到手机规格开数。                                                                                                                                                           |
| phone_data_volume        | 否    | [phone_data_volume] object               | 手机磁盘结构体，2.0规格必选。                                                                                                                                                                                            |
| server_share_data_volume | 否    | [server_share_data_volume] object | 共享存储磁盘结构体，2.0规格可选。注：rx7服务器+AOSP11镜像当前不支持共享应用。                                                                                                                                                               |
| band_width               | 是    | [band_width] object                             | 云手机使用的带宽信息。                                                                                                                                                                                                 |
| property                 | 否    | String                                                                                       | 云手机属性列表，为Json格式字符串。只可以预置有权限修改的属性。字符串长度\[1,8192\]。                                                                                                                                                           |
   
 表4Port 
| 参数                  | 是否必选 | 参数类型    | 描述                                                                         |
|:---|:---|:---|:---|
| name                | 是    | String  | 应用端口名称，不超过16个字节，系统关键服务名称不能使用"adb"和"vnc"。                                   |
| listen_port         | 是    | Integer | 端口号，大于等于10000，小于等于50000。                                                   |
| internet_accessible | 是    | String  | 为"true"则映射出公网访问（忽略大小写）。 为其他则不映射。 |
   
 表5extend_param 
| 参数                    | 是否必选 | 参数类型   | 描述                                                                                |
|:---|:---|:---|:---|
| enterprise_project_id | 否    | String | 企业项目ID。 该字段不传（或传为字符串"0"），则将资源绑定给默认企业项目。 |
   
 表6Nic 
| 参数             | 是否必选 | 参数类型                                                                     | 描述                                                                                                                       |
|:---|:---|:---|:---|
| subnet_id      | 是    | String                                                                   | 租户自定义的子网 ID，为待创建的云服务器所属的子网。 需要指定tenant_vpc_id对应VPC下已创建的子网（subnet）的网络ID，UUID格式。 |
| ipv6_enable    | 否    | Boolean                                                                  | 是否支持ipv6。 取值为true时，标识此网卡支持ipv6。                                                |
| ipv6_bandwidth | 否    | [ipv6_bandwidth] object | 绑定的共享带宽信息，详情请参见 ipv6_bandwidth数据结构说明。                                                                                    |
   
 表7ipv6_bandwidth 
| 参数            | 是否必选 | 参数类型   | 描述             |
|:---|:---|:---|:---|
| band_width_id | 是    | String | ipv6绑定的共享带宽ID。 |
   
 表8public_ip 
| 参数    | 是否必选 | 参数类型                                               | 描述                                      |
|:---|:---|:---|:---|
| ids   | 否    | Array of strings                                   | 指定已有的EIP进行服务器创建，当前只支持传入一个已有的EIP ID。     |
| eip   | 否    | [eip] object | 配置服务器自动分配弹性IP时，创建弹性IP的配置参数，详情见 eip 结构体。 |
| count | 否    | Integer                                            | Eip数量。默认为1，不需要Eip可设置为0，取值范围为0到手机IP数。    |
   
 表9eip 
| 参数   | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| type | 是    | String | 弹性公网IP的类型。 - 5_telcom：电信   - 5_union：联通   - 5_bgp：全动态BGP   - 5_sbgp：静态BGP    |
   
 表10phone_data_volume 
| 参数          | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| volume_type | 是    | String  | 磁盘类型，只支持如下类型： - SSD   - GPSSD    |
| size        | 是    | Integer | 手机磁盘大小，单位GiB，取值范围\[10，32768\]。                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表11server_share_data_volume 
| 参数          | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| volume_type | 是    | String  | 磁盘类型，只支持如下类型： - SSD   - GPSSD    |
| size        | 是    | Integer | 共享磁盘大小，单位GiB，取值范围\[10，32768\]。                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表12band_width 
| 参数                     | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| band_width_id          | 否    | String  | 云手机服务器的带宽唯一标识，选共享带宽时必选。                                                                                                                                                                                                                                                                                                                                                                                                                         |
| band_width_size        | 否    | Integer | 云手机服务器的带宽大小，选独享带宽时必选。                                                                                                                                                                                                                                                                                                                                                                                                                           |
| band_width_charge_mode | 是    | Integer | 云手机服务器带宽的计费方式。 - 0：bandwidth, 按带宽计费   - 1：traffic, 按流量计费    |
| band_width_share_type  | 是    | Integer | 云手机服务器的带宽类型。 - 0：per，独享带宽   - 1：whole，共享带宽                  |
   
#### 响应参数
**状态码：200**
表13响应Body参数 
| 参数         | 参数类型   | 描述         |
|:---|:---|:---|
| request_id | String | 请求的唯一标识ID。 |
| server_id  | String | 服务器id。     |
| job_id     | String | 任务id。      |
| error_msg  | String | 任务错误码说明。   |
| error_code | String | 任务错误码。     |
   
#### 请求示例
切换云手机服务器
```
POST https://{CPH Endpoint}/v2/{project_id}/cloud-phone/servers/{server_id}/change
{
  "phone_model_name" : "kg1.cp.c20.d64SSD.e1v1",
  "image_id" : "20060220200717f201120a2300000e91",
  "keypair_name" : "keypair",
  "property" : "{\"sys.prop.writephonenum\":\"13666666666\",\"sys.prop.writeimsi\":\"460021624617113\",\"sys.prop.writewifissid\":\"test_wifi\"}",
  "ports" : [ {
    "name" : "myServer1",
    "listen_port" : 20000,
    "internet_accessible" : "false"
  }, {
    "name" : "myServer2",
    "listen_port" : 20001,
    "internet_accessible" : "true"
  } ],
  "extend_param" : {
    "enterprise_project_id" : "0"
  },
  "tenant_vpc_id" : "fca063f6-b942-42a8-9004-e5545f58d6a2",
  "nics" : [ {
    "subnet_id" : "f1cbfc37-eb42-4357-a0ec-9e4f11950908"
  } ],
  "public_ip" : {
    "eip" : {
      "type" : "5_bgp"
    }
  },
  "band_width" : {
    "band_width_share_type" : 0,
    "band_width_size" : 300,
    "band_width_charge_mode" : 1
  }
}
```
#### 响应示例
**状态码：200**
OK
```
{
  "request_id" : "1564567b8bab40f34711234cb80d8574",
  "server_id" : "1234567b8bab40ffb711234cb80d0234",
  "job_id" : "3648acdc113a44d39a95f95bf3b8b01e"
}
```
#### 状态码
| 状态码 | 描述 |
|:---|:---|
| 200 | OK |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-cph/ErrorCode.html)。
