
# 实例开通接口 - CreateInstance
#### 功能介绍
租户可以通过调用该接口生成实例。
该接口需要结合BatchShowSku接口一起使用，在BatchShowSku接口中获取全量的可售的sku。租户根据自己需要去选择相应规格进行订购。
调用该接口时如果想要直接购买成功，请您先在账户上充值并在订购参数中选择isAutoPay为自动付费。
如果没有选择自动付费，在调完接口后请拿对应的订单号去您账号的待支付订单中选择手动付费。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/KooPhone/doc?api=CreateInstance)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-koophone/kp_01_0009.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                                        | 访问级别  | 资源类型（\*为必须）           | 条件键 | 别名 | 依赖的授权项 |
  |:---|:---|:---|:---|:---|:---|
  | koophone:cloudphoneResource:instanceCreate | Write | cloudphoneResource \* | -   | -  | -      |
     
  
 
#### URI
POST /v1/instances/create
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                           |
|:---|:---|:---|:---|
| x-auth-token | 是    | String | 租户token                                      |
| Content-Type | 是    | String | 请求体的数据格式。默认填写"application/json"，表示请求体是JSON格式 |
   
表2请求Body参数 
| 参数                 | 是否必选 | 参数类型                                                                    | 描述                                                   |
|:---|:---|:---|:---|
| os                 | 是    | String                                                                  | 创建实例的镜像规格，当前支持的场景下必填。枚举值，AOSP14：镜像14版本，AOSP11：镜像11版本 |
| instanceSkuId      | 是    | String                                                                  | 创建的实例商品规格id，在CBC定义，Console提供规格与资源池映射，最大长度64个字符       |
| bandSkuId          | 是    | String                                                                  | 带宽商品规格id，在CBC定义，云手机及云应用时必填，最大长度64个字符                 |
| regionId           | 是    | String                                                                  | 区域id，最大长度64个字符                                       |
| instanceNamePrefix | 是    | String                                                                  | 云机实例名称前缀，最大长度14个字符                                   |
| bandSize           | 是    | Double                                                                  | 带宽大小，单位M                                             |
| count              | 是    | Integer                                                                 | 购买实例数量，最大1500个                                       |
| chargeParam        | 是    | [chargeParam]object | 计费相关参数                                               |
| network            | 否    | String                                                                  | 网络线路                                                 |
| specPoolId         | 否    | String                                                                  | 规格池id                                                |
| nodeGroupId        | 否    | String                                                                  | 节点组id                                                |
   
 表3chargeParam 
| 参数           | 是否必选 | 参数类型    | 描述                                              |
|:---|:---|:---|:---|
| chargingMode | 是    | Integer | 计费模式。1：包年包月，当前只支持包年包月模式                         |
| periodType   | 是    | Integer | 订购周期类型。2：月，3：年                                  |
| periodNum    | 是    | Integer | 订购周期数。当订购周期为月时，取值范围\[1,9\]。当订购周期为年时，取值范围\[1,3\] |
| isAutoPay    | 否    | Integer | 是否自动付款，默认不自动付款。0：不自动付款，1：自动付款                   |
| isAutoRenew  | 否    | Integer | 是否自动续订。0：非自动续订，1：自动续订                           |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数         | 参数类型                                                       | 描述     |
|:---|:---|:---|
| data       | [data]object | 返回内容   |
| error_code | String                                                     | 0表示成功  |
| error_msg  | String                                                     | OK表示成功 |
   
 表5data 
| 参数            | 参数类型                                                                                   | 描述   |
|:---|:---|:---|
| orderId       | String                                                                                 | 订单id |
| instanceInfos | Array of [instanceInfos]objects | 实例信息 |
   
 表6instanceInfos 
| 参数           | 参数类型   | 描述   |
|:---|:---|:---|
| instanceId   | String | 实例id |
| instanceName | String | 实例名称 |
   
**状态码：400**
表7响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|
| error_code | String | 0：成功 KOOPHONE.API.1000：请求参数错误 KOOPHONE.API.1001：没有实例权限 KOOPHONE.API.3001：请求参数中的instanceSkuId需要匹配bandSkuId KOOPHONE.API.3002：没有这个sku或者region KOOPHONE.API.3003：普通实例需要os镜像版本 KOOPHONE.API.3006：如果period type是月份，period num范围应该在1-9之间 KOOPHONE.API.3007：如果period type是年份，period num范围应该在1-3之间 KOOPHONE.API.40010：实例库存不足 KOOPHONE.API.9999：服务内部报错 |
| error_msg  | String | 错误信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   
#### 请求示例
订购请求参数
```
/instances/create
{
  "os" : "AOSP11",
  "instanceSkuId" : "kp.professional.2xlarge.128g.2",
  "bandSkuId" : "kp.bandwidth",
  "regionId" : "cn-north-7",
  "instanceNamePrefix" : "koophone",
  "bandSize" : 4,
  "count" : 1,
  "chargeParam" : {
    "chargingMode" : 1,
    "periodType" : 2,
    "periodNum" : 1,
    "isAutoPay" : 1,
    "isAutoRenew" : 1
  },
  "network" : "EIP",
  "specPoolId" : "abc123",
  "nodeGroupId" : "234aaac"
}
```
#### 响应示例
**状态码：200**
实例订购返参
```
{
  "data" : {
    "orderId" : "CS2412261442DBN4E",
    "instanceInfos" : [ {
      "instanceId" : "11J6QVu5",
      "instanceName" : "koophone-00001"
    } ]
  },
  "error_code" : "0",
  "error_msg" : "OK"
}
```
#### 状态码
| 状态码 | 描述     |
|:---|:---|
| 200 | 实例订购返参 |
| 400 | 错误信息   |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-koophone/ErrorCode.html)。
