
# 创建边缘实例 - CreateInstance
#### 功能介绍
创建边缘实例。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/IEC/doc?api=CreateInstance)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-iec/iec_05_0600.html)。
#### URI
POST /v1/cloudservers
#### 请求参数
表1请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                          |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | 用户Token。 通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
   
表2请求Body参数 
| 参数     | 是否必选 | 参数类型                                                                         | 描述        |
|:---|:---|:---|:---|
| server | 是    | [CreateInstanceOption] object | 待创建的边缘实例。 |
   
 表3CreateInstanceOption 
| 参数              | 是否必选 | 参数类型                                                                                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| name            | 是    | String                                                                               | 边缘资源名称，与边缘实例一一对应。 取值范围：只能由中文字符、大小写英文字母、数字及中划线、下划线组成，且长度为\[1-48\]个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| with_prefix     | 否    | Boolean                                                                              | 是否自动添加前缀。 - with_prefix为false时不拼接IEC前缀   - with_prefix不传或者传true时拼自动IEC前缀    以name为iec为例： 不添加前缀时实例名称为：iec 自动添加前缀实例名称为：IEC-ZS01-iec                                                                                                                                                                                                                                                                                                                                                                                                                      |
| image_ref       | 是    | String                                                                               | 边缘实例的系统镜像，需要指定已创建镜像的ID，ID格式为通用唯一识别码（Universally Unique Identifier，简称UUID）。 镜像的ID可以从控制台或者参考本文档的"查询边镜像列表"的章节获取。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| flavor_ref      | 是    | String                                                                               | 边缘实例的系统规格的ID。 已上线的规格请使用接口 "查询边缘实例规格列表" 进行查询。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| admin_pass      | 否    | String                                                                               | 如果需要使用密码方式登录边缘实例，可使用adminPass字段指定边缘实例管理员账户初始登录密码。其中，Linux管理员账户为root，Windows管理员账户为Administrator。 密码复杂度要求： 1. 长度为8-26位。   2. 密码至少必须包含大写字母、小写字母、数字和特殊字符（!@$%\^-_=+\[{}\]:,./?）中的三种。   3. 密码不能包含用户名或用户名的逆序。   4. Windows系统密码不能包含用户名或用户名的逆序，不能包含用户名中超过两个连续字符的部分。    说明 目前边缘实例不支持创建后设置密码，不设置此参数会导致实例创建后无法登录。 |
| key_name        | 否    | String                                                                               | 密钥对名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| net_config      | 是    | [NetConfigInstance] object               | 实例的边缘网络配置。包含了边缘网络的网段信息和子网数目信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| bandwidth       | 否    | [BandwidthConfigInstance] object   | 实例的带宽参数。IEC服务现在提供共享带宽服务，暂不不支持其他类型带宽。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| root_volume     | 是    | [RootVolume] object                             | 边缘实例对应系统盘相关配置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| data_volumes    | 否    | Array of [DataVolume] objects                   | 边缘实例对应数据盘相关配置。每一个数据结构代表一块待创建的数据盘。 约束：目前边缘实例最多可挂载2块数据盘                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| count           | 是    | Integer                                                                              | 边缘实例数量。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| security_groups | 否    | Array of [SecurityGroupOption] objects | 边缘业务对应安全组信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| user_data       | 否    | String                                                                               | 创建边缘实例过程中注入用户数据。支持注入文本、文本文件或gzip文件。 更多关于待注入用户数据的信息，请参见《弹性云服务器用户指南 》的"[用户数据注入](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0032380449.html)"章节。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| coverage        | 是    | [CoverageInstance] object                 | 边缘业务覆盖策略。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
 表4NetConfigInstance 
| 参数      | 是否必选 | 参数类型                                                                   | 描述                                                                                        |
|:---|:---|:---|:---|
| vpc_id  | 是    | String                                                                 | 边缘网络ID。                                                                                   |
| subnets | 是    | Array of [SubnetConfig] objects | 待创建边缘实例子网信息。 需要指定vpcid对应VPC下已创建的子网（subnet）的网络ID，UUID格式。 |
   
 表5SubnetConfig 
| 参数                    | 是否必选 | 参数类型                                                                               | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| id                    | 是    | String                                                                             | 边缘子网ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ipv6_enable           | 否    | Boolean                                                                            | 创建实例是否开启IPv6能力。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ipv6_bandwidth_enable | 否    | Boolean                                                                            | 是否使用IPv6带宽。 约束： - ipv6_enable=true时，有效；   - 使用IPv6带宽后，优先根据ipv6_bandwidth中配置的带宽，如果ipv6_bandwidth未设置，则使用使用IPv6子网所在Ipv6池的带宽,如果当前IPv6所在池子下面没有带宽，则自动创建带宽                |
| ipv6_bandwidth        | 否    | [Ipv6Bandwidth] object                     | 绑定的共享带宽信息                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| allowed_address_pairs | 否    | Array of [AllowedAddressPair] objects | - 功能说明：IP/Mac对列表   - 约束：    IP地址不允许为 "0.0.0.0/0" 如果allowed_address_pairs配置地址池较大的CIDR（掩码小于24位），建议为该port配置一个单独的安全组。 如果allowed_address_pairs为"1.1.1.1/0"，表示关闭源目地址检查开关 |
   
 表6Ipv6Bandwidth 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| id             | 否    | String | IPv6带宽的ID。                                                                                                                                                                                                                                        |
| bandwidth_type | 否    | String | 带宽类型。 指定带宽ID，则该参数不生效。 不指定带宽的情况下，如果当前带宽类型下没有带宽，自动在该带宽类型下创建带宽，有则使用最近创建的带宽。 约束：指定的bandwidth_type必须在对应弹性公网IP类型的allow_share_bandwidth_types中才能使用 |
   
 表7AllowedAddressPair 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| ip_address  | 是    | String | - 功能说明：IP地址   - 约束：    IP地址不支持"0.0.0.0/0" 如果allowed_address_pairs配置地址池较大的CIDR（掩码小于24位），建议为该port配置一个单独的安全组。 如果allowed_address_pairs的IP地址为"1.1.1.1/0"，表示关闭源目地址检查开关。 被绑定的边缘实例网卡allowed_address_pairs的IP地址填"1.1.1.1/0"。 |
| mac_address | 否    | String | MAC地址                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表8BandwidthConfigInstance 
| 参数              | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| sharetype       | 是    | String           | 带宽类型，现支持WHOLE类型，即共享带宽，其他类型不支持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| size            | 否    | Integer          | 带宽（Mbit/s）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ids             | 否    | Array of strings | 指定带宽创建虚拟机, 约束： 指定的带宽数量必须与demand中pool_ids中线路的数量一致                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| bandwidth_types | 否    | Array of strings | 带宽类型。 指定带宽ID，则该参数不生效。 不指定带宽的情况下，如果当前带宽类型下没有带宽，自动在该带宽类型下创建带宽，有则使用最近创建的带宽。 约束： - 指定的bandwidth_type必须在对应弹性公网IP类型的allow_share_bandwidth_types中才能使用   - 指定的共享带宽类型数量必须与demand中pool_ids中线路的数量一致    |
   
 表9RootVolume 
| 参数          | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| size        | 是    | Integer | 系统盘大小，容量单位为GB，输入大小范围为\[40,100\]。                                                                                                                                                                                                                                                                                                                 |
| volume_type | 是    | String  | "边缘实例系统盘对应的磁盘类型，需要与站点所提供的磁盘类型相匹配。" 取值范围： 目前支持"SATA"，"SAS"，"GPSSD"，"SSD"。 "SATA"为普通IO云硬盘 "SAS"为高IO云硬盘 "GPSSD"为通用型SSD云硬盘 "SSD"为超高IO云硬盘 |
   
 表10DataVolume 
| 参数          | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| size        | 是    | Integer | 数据盘大小，容量单位为GB，输入大小范围为\[1,500\]。                                                                                                                                                                                                                                                                                                                  |
| volume_type | 是    | String  | "边缘实例系统盘对应的磁盘类型，需要与站点所提供的磁盘类型相匹配。" 取值范围： 目前支持"SATA"，"SAS"，"GPSSD"，"SSD"。 "SATA"为普通IO云硬盘 "SAS"为高IO云硬盘 "GPSSD"为通用型SSD云硬盘 "SSD"为超高IO云硬盘 |
   
 表11SecurityGroupOption 
| 参数 | 是否必选 | 参数类型   | 描述                                               |
|:---|:---|:---|:---|
| id | 否    | String | 边缘实例的安全组，会对边缘实例中配置的网卡生效。需要指定已有安全组的ID。不填写时选择默认安全组 |
   
 表12CoverageInstance 
| 参数              | 是否必选 | 参数类型                                                                                   | 描述                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| coverage_policy | 是    | String                                                                                 | 区域调度策略，只支持centralize。 - centralize：代表城市集中策略，指定该策略，边缘业务创建时会保证将所有实例都发放在同一个站点。                                                        |
| coverage_level  | 是    | String                                                                                 | 区域分布层级，只支持site。 - site:站点级别。    约束： coverage_sites中'site'字段仅支持使用ID(站点ID，通过"查询边缘站点列表"获取)，不支持name。 |
| coverage_sites  | 是    | Array of [CoverageSiteInstance] objects | 区域及购买数量列表。                                                                                                                                                                                                                                                                                                                     |
   
 表13CoverageSiteInstance 
| 参数      | 是否必选 | 参数类型                                                                       | 描述                                                              |
|:---|:---|:---|:---|
| site    | 是    | String                                                                     | 站点ID。 具体信息可通过调用"查询边缘站点列表"来查询。 |
| demands | 是    | Array of [DemandInstance] objects | 租户需求数量列表                                                        |
   
 表14DemandInstance 
| 参数       | 是否必选 | 参数类型             | 描述                                                                                                                                                                               |
|:---|:---|:---|:---|
| pool_id  | 否    | String           | 弹性公网IP池。 多线路场景下，将在该弹性公网IP池下创建弹性公网IP。 说明： 覆盖规则为省级/大区时不支持指定线路ID创建边缘业务。                                         |
| pool_ids | 否    | Array of strings | 线路ID集合。 指定pool_ids的情况下，pool_id参数不生效 多线路场景下，将在各线路下创建弹性公网IP 约束：线路ID必须小于等于网卡数 |
   
#### 响应参数
**状态码：202**
表15响应Body参数 
| 参数         | 参数类型             | 描述                                   |
|:---|:---|:---|
| job_id     | String           | 提交任务成功后返回的任务ID，用户可以使用该ID对任务执行情况进行查询。 |
| server_ids | Array of strings | 创建中实例的ID。                            |
   
#### 请求示例
在站点a0272146-f6d8-4e3f-a1dc-196ec4a2f856创建规格为c6.large.2，系统盘类型为SAS，大小40GB的边缘实例
```
POST https://{endpoint}/v1/cloudservers
{
  "server" : {
    "name" : "ecs01",
    "image_ref" : "d0272146-f6d8-4e3c-a1dc-196ec4a2f848",
    "flavor_ref" : "6",
    "net_config" : {
      "vpc_id" : "d0272146-f6d8-4e3c-a1dc-196ec4a2f848",
      "subnets" : [ {
        "id" : "d0272146-f6d8-4e3c-a1dc-196ec4a2f848"
      } ]
    },
    "bandwidth" : {
      "sharetype" : "WHOLE"
    },
    "root_volume" : {
      "volume_type" : "SAS",
      "size" : 40
    },
    "data_volumes" : [ {
      "volume_type" : "SATA",
      "size" : 100
    } ],
    "count" : 1,
    "security_groups" : [ {
      "id" : "d0272146-f6d8-4e3c-a1dc-196ec4a2f848"
    } ],
    "coverage" : {
      "coverage_policy" : "centralize",
      "coverage_level" : "site",
      "coverage_sites" : [ {
        "site" : "a0272146-f6d8-4e3f-a1dc-196ec4a2f856",
        "demands" : [ {
          "pool_id" : "5bgp_xxx"
        } ]
      } ]
    }
  }
}
```
#### 响应示例
**状态码：202**
Accepted
```
{
  "job_id" : "ff808082720e919801738f0e5eb1727f",
  "server_ids" : [ "fbe3076f-6d30-4ae2-9acf-a6d946ef2702" ]
}
```
#### 状态码
| 状态码 | 描述       |
|:---|:---|
| 202 | Accepted |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-iec/ErrorCode.html)。
