
# 创建裸金属服务器（废弃）
#### 功能介绍
创建一台裸金属服务器。
当前API已废弃，请使用"[创建裸金属服务器 - CreateBareMetalServers](https://support.huaweicloud.com/api-bms/bms_api_0606.html)"。
#### 约束
- 本接口不支持批量创建裸金属服务器。
- 使用支持Cloud-init或Cloudbase-init功能的镜像创建裸金属服务器时，只能使用key_name参数，adminPass参数无效。对于Linux裸金属服务器，如果需要注入密码，只能使用userdata方式进行注入；对于Windows裸金属服务器，如果需要注入密码，只能通过元数据admin_pass进行注入。
- 使用不支持Cloud-init或Cloudbase-init功能的镜像创建裸金属服务器时，adminPass和key_name参数都无效，请使用镜像内置的密码或证书登录。
- 不支持文件注入功能。
- 不支持从系统卷创建裸金属服务器。
- 网络的三个参数（port、uuid和fixed_ip）中，port优先级最高；指定fixed_ip时必须指明uuid。
- 创建裸金属服务器后建议对其添加"__type_baremetal"标签，表示其是一台裸金属服务器，否则在Console上裸金属服务器列表中可能查询不到申请的该服务器。
- 裸金属服务器最多只能指定2个VPC网络，第一个网络会作为裸金属服务器的主网卡网络。
 
#### URI
POST /v2.1/{project_id}/servers
参数说明请参见[表1]。
 表1参数说明 
| 参数         | 是否必选 | 描述    |
|:---|:---|:---|
| project_id | 是    | 项目ID。 |
   
#### 请求参数
| 参数     | 是否必选 | 参数类型   | 描述                                                     |
|:---|:---|:---|:---|
| server | 是    | Object | 裸金属服务器信息，详情请参见[表2]。 |
   
 表2server字段数据结构说明 
| 参数                | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| imageRef          | 是    | String           | 裸金属服务器使用的镜像ID或者镜像资源的URL。 - 镜像ID示例：3b8d6fef-af77-42ab-b8b7-5a7f0f0af8f2  - 镜像URL示例：http://glance.openstack.example.com/images/3b8d6fef-af77-42ab-b8b7-5a7f0f0af8f2   说明： - 对于部分规格的裸金属服务器，不能支持云服务平台提供的所有公共镜像。具体规格的镜像支持列表，请登录管理控制台，以"创建裸金属服务器"页面系统自动过滤的镜像信息为准，并在镜像服务页面查询镜像ID。  - 如果创建失败，请尝试修改参数配置。   |
| flavorRef         | 是    | String           | 裸金属服务器使用的规格ID或URL。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| name              | 是    | String           | 裸金属服务器名称。长度大于0小于256字节。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| metadata          | 否    | Object           | 裸金属服务器元数据，key和value的长度均不大于255字节。详情请参见[表3]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| user_data         | 否    | String           | 创建裸金属服务器过程中注入用户数据。 支持注入文本、文本文件或gzip文件。注入内容最大长度32KB。注入内容，需要进行base64格式编码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| adminPass         | 否    | String           | 裸金属服务器管理员账户初始登录密码。其中，Linux注入无效，Windows管理员账户为Administrator。 密码复杂度要求： - 长度为8-26位。  - 密码至少必须包含大写字母、小写字母、数字和特殊字符（!@$%\^-_=+\[{}\]:,./?）中的三种。  - 密码不能包含用户名或用户名的逆序。  - Windows系统密码不能包含用户名或用户名的逆序，不能包含用户名中超过两个连续字符的部分。   注：不输入则会随机生成密码。 特殊字符：!@$%\^-_=+\[{}\]:,./?                                                                                                                         |
| security_groups   | 否    | Array of objects | 指定裸金属服务器的安全组，默认为default，指定network参数时有效，不支持指定多个安全组。详情请参见[表4]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| networks          | 是    | Array of objects | 指定裸金属服务器的网卡信息。详情请参见[表5]。 最多只能指定4个网络信息，其中2个为vxlan类型的网络，2个为geneve类型的网络。参数中第一个网络信息必须为vxlan类型的网络，其会作为裸金属服务器的主网卡网络。若用户指定了多组网络参数，需保证各组参数都属于同一虚拟私有云。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| key_name          | 否    | String           | 扩展属性，指定keypair的名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| availability_zone | 是    | String           | 裸金属服务器对应可用区信息，不支持指定具体的主机信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   
 表3metadata字段数据结构说明 
| 参数         | 是否必选 | 参数类型   | 描述                                                          |
|:---|:---|:---|:---|
| 用户自定义字段键值对 | 否    | String | metadata键、值。 键、值长度均不大于255字节。 |
   
 表4security_groups字段数据结构说明 
| 参数   | 是否必选 | 参数类型   | 描述              |
|:---|:---|:---|:---|
| name | 是    | String | 裸金属服务器对应的安全组名称。 |
   
 表5networks字段数据结构说明 
| 参数       | 是否必选 | 参数类型   | 描述           |
|:---|:---|:---|:---|
| port     | 否    | String | 网络Port UUID。 |
| uuid     | 否    | String | 网络UUID。      |
| fixed_ip | 否    | String | 指定的IP地址。     |
   
#### 请求示例
创建裸金属服务器，其中镜像ID为1a6635d8-afea-4f2b-abb6-27a202bad319，规格为physical.o2.medium，名称为bms_name01，可用区为az-dc-1，网络UUID为8470310b-bfa2-4edf-8f64-d15196b2b2c9。
```
POST https://{ECS Endpoint}/v2.1/bbf1946d374b44a0a2a95533562ba954/servers
```
```
{
    "server": {
        "imageRef": "1a6635d8-afea-4f2b-abb6-27a202bad319",
        "flavorRef": "physical.o2.medium",
        "name": "bms_name01",
        "availability_zone": "az-dc-1",
        "networks": [
            {
                "uuid": "8470310b-bfa2-4edf-8f64-d15196b2b2c9"
            }
        ]
    }
}
```
#### 响应参数
| 参数     | 参数类型   | 描述                                                      |
|:---|:---|:---|
| server | Object | 裸金属服务器信息。详情请参见[表6]。 |
   
 表6server字段数据结构说明 
| 参数                | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|
| security_groups   | Array of objects | 裸金属服务器安全组信息。详情请参见[表7]。                                                                                                                                                                                                                                                                                                                                                                                                                         |
| OS-DCF:diskConfig | String           | 磁盘配置，取值为以下两种： - MANUAL：API使用镜像中的分区方案和文件系统创建裸金属服务器。如果目标flavor磁盘较大，则API不会对剩余磁盘空间进行分区。  - AUTO：API使用与目标flavor磁盘大小相同的单个分区创建裸金属服务器，API会自动调整文件系统以适应整个分区。   |
| id                | String           | 裸金属服务器ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| links             | Array of objects | 裸金属服务器相关快捷链接信息。详情请参见[表8]。                                                                                                                                                                                                                                                                                                                                                                                                                      |
| adminPass         | String           | 裸金属服务器管理员账户初始登录密码。                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   
 表7security_groups字段数据结构说明 
| 参数   | 参数类型   | 描述              |
|:---|:---|:---|
| name | String | 裸金属服务器对应的安全组名称。 |
   
 表8links字段数据结构说明 
| 参数   | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| rel  | String | 快捷链接标记名称。取值为： - self：包含版本号的资源链接，需要立即跟踪时使用此类链接。  - bookmark：提供了适合长期存储的资源链接。   |
| href | String | 对应快捷链接。                                                                                                                                                                                                                                                                                                                            |
   
#### 响应示例
```
{
    "server": {
        "security_groups": [
            {
                "name": "default"
            }
        ],
        "OS-DCF:diskConfig": "MANUAL",
        "links": [
            {
                "rel": "self",
                "href": "https://openstack.example.com/v2/c685484a8cc2416b97260938705deb65/servers/9ab74d89-61e7-4259-8546-465fdebe4944"
            },
            {
                "rel": "bookmark",
                "href": "https://openstack.example.com/c685484a8cc2416b97260938705deb65/servers/9ab74d89-61e7-4259-8546-465fdebe4944"
            }
        ],
        "id": "9ab74d89-61e7-4259-8546-465fdebe4944",
        "adminPass": "RjdD3h8U2DBe"
    }
}
```
#### 返回值
正常返回值：
| 返回值 | 说明           |
|:---|:---|
| 200 | 服务器已成功处理了请求。 |
   
其他返回值请参考[状态码](https://support.huaweicloud.com/api-bms/bms_api_0801.html)。
#### 错误码
请参考[错误码](https://support.huaweicloud.com/api-bms/bms_api_0802.html)。
