# 创建堡垒机实例 - CreateInstance
#### 功能介绍
创建云堡垒机实例。
#### 调用方法
请参见[如何调用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:createInstance | Write | instance \* | -                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | -  | - vpc:quotas:list  - vpc:subnets:list  - vpc:subnets:get  - vpc:securityGroups:list  - ecs:cloudServerFlavors:get   |
  | cbh:instance:createInstance | Write | -           | - g:EnterpriseProjectId   - g:RequestTag/tag-key   - g:TagKeys   - cbh:VpcId   - cbh:SubnetId   - cbh:AllowBindPublicIp    | -  | - vpc:quotas:list  - vpc:subnets:list  - vpc:subnets:get  - vpc:securityGroups:list  - ecs:cloudServerFlavors:get   |
     
  
 
#### URI
POST /v2/{project_id}/cbs/instance
表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参数 
| 参数                      | 是否必选 | 参数类型                                                                   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| specification           | 是    | String                                                                 | 待创建云堡垒机规格ID，例如： - cbh.basic.50   - cbh.enhance.50    可参考接口[查询云堡垒机规格信息](https://support.huaweicloud.com/api-cbh/ListSpecifications.html)获取。                                                                    |
| instance_name           | 是    | String                                                                 | 云堡垒机实例名称，取值范围： 只能由中文字符、英文字母、数字及"_"、"-"组成，且长度为\[1-64\]个字符。 例如：CBH-6b8e。                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| password                | 是    | String                                                                 | 堡垒机实例前端登录密码。 密码规则：8-32位、不能包含admin或nimda及其大写形式、必须包含大小写数字特殊字符（!@$%\^-_=+\[{}\]:,./?\~#\*）四种类型中的三种、不能包含超过2个连续的相同字符（区分大小写）。                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| region                  | 是    | String                                                                 | 创建云堡垒机实例所在局点ID。 可参考接口[查询云堡垒机规格信息](https://support.huaweicloud.com/api-cbh/ListSpecifications.html)获取。                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| availability_zone       | 是    | String                                                                 | 创建云堡垒机所在的可用区，需要指定可用区名称。(主备模式是作为主机可用区) 可参考接口[获取服务可用区信息](https://support.huaweicloud.com/api-cbh/ListAvailableZones.html)获取。                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| slave_availability_zone | 否    | String                                                                 | 创建云堡垒机备机所在的可用区，需要指定可用区名称。(只创建单机时不传此字段)。 可参考接口[获取服务可用区信息](https://support.huaweicloud.com/api-cbh/ListAvailableZones.html)获取。                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| charging_mode           | 是    | Integer                                                                | 计费模式。 0 包周期计费。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| period_type             | 否    | Integer                                                                | 订购周期类型。（包周期模式必传） - 2：月   - 3：年                                                                                                                                                                                                                  |
| period_num              | 否    | Integer                                                                | 订购周期数。（包周期模式必传） - period_type=2（周期类型为月），取值范围\[1，9\]   - periodType=3（周期类型为年），取值范围\[1，10\]                                                                                                                                                       |
| is_auto_renew           | 否    | Integer                                                                | 是否自动续订。 - 1，自动续订   - 0，不自动续订    默认值为"0"                                                                                                                                                                       |
| is_auto_pay             | 否    | Integer                                                                | 是否自动支付，下单订购后，是否自动从客户的客户云账户中支付，而不需要客户手动去进行支付。 - 1：是（会自动选择折扣和优惠券进行优惠，然后自动从客户云账户中支付），自动支付失败后会生成订单成功(该订单应付金额是优惠后金额)、但订单状态为"待支付"，等待客户手动支付(手动支付时，客户还可以修改系统自动选择的折扣和优惠券)   - 0：否（需要客户手动去支付，客户可以选择折扣和优惠券。）    默认值为"0"。 |
| network                 | 是    | [NetworkInfoCreate] object | 切换云堡垒机实例vpc所需网络信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| ipv6_enable             | 否    | Boolean                                                                | 云堡垒机实例是否支持IPV6。 默认值为"false"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| enterprise_project_id   | 否    | String                                                                 | 企业项目ID。 默认值为"0"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| attach_disk_size        | 否    | Integer                                                                | 附加磁盘大小。单位TB 说明： 附加磁盘和规格自带磁盘大小合起来不能超过300TB。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| tags                    | 否    | Array of [ResourceTag] objects   | 标签信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
   
 表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地址。   |
   
 表8ResourceTag 
| 参数    | 是否必选 | 参数类型   | 描述               |
|:---|:---|:---|:---|
| key   | 是    | String | 键。最大长度128个字符。    |
| value | 是    | String | 值。每个值最大长度255个字符。 |
   
#### 响应参数
**状态码：200**
表9响应Body参数 
| 参数       | 参数类型   | 描述    |
|:---|:---|:---|
| order_id | String | 订单ID。 |
   
**状态码：400**
表10响应Body参数 
| 参数                | 参数类型   | 描述      |
|:---|:---|:---|
| error_code        | String | 错误码。    |
| error_description | String | 请求参数错误。 |
   
**状态码：401**
表11响应Body参数 
| 参数                | 参数类型   | 描述         |
|:---|:---|:---|
| error_code        | String | 错误码。       |
| error_description | String | 校验Token失败。 |
   
**状态码：403**
表12响应Body参数 
| 参数                | 参数类型   | 描述       |
|:---|:---|:---|
| error_code        | String | 错误码。     |
| error_description | String | 租户无权限操作。 |
   
**状态码：404**
表13响应Body参数 
| 参数                | 参数类型   | 描述         |
|:---|:---|:---|
| error_code        | String | 错误码。       |
| error_description | String | 没有找到CBH资源。 |
   
#### 请求示例
创建堡垒机实例请求示例
```
{
  "specification" : "cbh.basic.50",
  "instance_name" : "CBH-155f",
  "password" : "1xxx6xxxx",
  "region" : "cn-north-4",
  "availability_zone" : "cn-north-4a",
  "slave_availability_zone" : "cn-north-4a",
  "charging_mode" : 0,
  "period_type" : 2,
  "period_num" : 1,
  "is_auto_renew" : 0,
  "is_auto_pay" : 0,
  "ipv6_enable" : false,
  "enterprise_project_id" : "0",
  "attach_disk_size" : 1,
  
  "tags" : [ {
    "key" : "key",
    "value" : "value"
  } ],
  "network" : {
    "vpc_id" : "279e8217-xxxx-4d83-xxxx-b8f14d47170b",
    "subnet_id" : "a86217e6-xxxx-4803-xxxx-b57da681xxxx",
    "private_ip" : {
      "ip" : "123.xxx.41.xx",
      "slave_ip" : "123.xxx.41.xx",
      "floating_ip" : "123.xxx.41.xx"
    },
    "public_ip" : {
      "id" : "cfcab481-xxxx-4e23-xxxx-d6cdd0efxxxx",
      "public_eip" : "123.xxx.41.xx"
    },
    "security_groups" : [ {
      "id" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    } ]
  }
}
```
#### 响应示例
**状态码：200**
```
{
  "order_id" : "CS22xxx82xx5AssGxxx"
}
```
#### 状态码
| 状态码 | 描述                          |
|:---|:---|
| 200 | Cbh Create Instance Success |
| 400 | Bad Request                 |
| 401 | Unauthorized                |
| 403 | Forbidden                   |
| 404 | Not Found                   |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-cbh/ErrorCode.html)。
