
# 创建裸金属服务器 - CreateBareMetalServers
#### 功能介绍
创建一台或多台裸金属服务器。
#### 背景信息（设置登录鉴权方式）
裸金属服务器的登录鉴权方式包括两种：密钥对、密码。为安全起见，推荐使用密钥对方式。
- 密钥对 指使用密钥对作为裸金属服务器的鉴权方式。
  接口调用方法：使用**key_name** 字段，指定裸金属服务器登录时使用的密钥文件。**key_name** 字段的使用方法请参见[表2]。
  
- 密码 指使用设置初始密码方式作为裸金属服务器的鉴权方式，此时，您可以通过用户名密码方式登录裸金属服务器，Linux操作系统时为**root**用户的初始密码。
  接口调用方法：
  - 方法一（推荐）：使用**adminPass** 字段，指定管理员账号的初始登录密码，**adminPass** 字段的使用方法请参见[表2]。
    ![](https://support.huaweicloud.com/api-bms/public_sys-resources/note_3.0-zh-cn.png)
    此时，对于安装了Cloud-init镜像的Linux裸金属服务器，若指定**user_data** 字段，则该**adminPass**字段无效。
    
  
  - 方法二：
    - 对于镜像已安装Cloud-init的Linux裸金属服务器：使用**user_data** 字段进行注入，具体请参见[表2]。
     
  
  
  ![](https://support.huaweicloud.com/api-bms/public_sys-resources/note_3.0-zh-cn.png)
  公共镜像默认已安装Cloud-init或者Cloudbase-init，私有镜像需要您自行确认是否安装。
  
 
#### 约束
- 不支持文件注入功能。
- 目前仅支持创建包周期裸金属服务器。
- 不支持市场镜像创建裸金属服务器**。**
 
#### 注意事项
- 该接口可以使用合作伙伴自身的AK/SK或者Token调用，也可以用合作伙伴子客户的AK/SK或者Token来调用。
- 如果使用AK/SK认证方式，示例代码中的region请参考[地区和终端节点](https://developer.huaweicloud.com/endpoint)中"裸金属服务器 BMS"下"区域"的内容，serviceName（英文服务名称缩写）请指定为BMS。
- Endpoint请参考[地区和终端节点](https://developer.huaweicloud.com/endpoint)中"裸金属服务器 BMS"下"终端节点（Endpoint）"的内容。
- 请保证账户余额充足，此接口无法使用优惠券支付，若余额不足会报"BMS.0216"错误码。若想使用优惠券，请将request请求中的isAutoPay字段设置为false，然后在华为云官网页面使用优惠券进行支付或者调用"[查询订单可用优惠券](https://support.huaweicloud.com/api-bpconsole/api_order_00015.html)"和"[支付包周期产品订单](https://support.huaweicloud.com/api-bpconsole/api_order_00030.html)"接口进行支付。
 
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/BMS/doc?api=CreateBareMetalServers)中调试该接口。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-bms/bms_api_0900.html)。
- 如果使用身份策略授权，需具备如下身份策略权限。
  
  | 授权项                | 访问级别  | 资源类型（\*为必须） | 条件键                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | 别名 | 依赖的授权项                                                                                                                                                                                                                                                                                                                                                                                                            |
  |:---|:---|:---|:---|:---|:---|
  | bms:servers:create | write | -           | - g:EnterpriseProjectId  - g:TagKeys  - g:RequestTag/\<tag-key\>  - bms:Flavorld  - bms:VpcId  - bms:SubnetId  - bms:KmsKeyId  - evs:Encrypted  - bms:ImageId  - bms:SSHKeyPairName  - bms:AvailabilityZone  - bms:VolumeType  - eip:AssociatePublicIp  - bms:MetadataOptionsHttpEndpoint  - bms:MetadataOptionsHttpTokens  - bms:MetadataAgencyName   | -  | - eip:publicIps:create  - eip:publicIps:associateInstance  - iam:agencies:pass  - eip:bandwidths:insertPublicIps    |
     
  
 
#### URI
POST /v1/{project_id}/baremetalservers
参数说明请参见[表1]。
 表1参数说明 
| 参数         | 是否必选 | 描述                                                                                                                 |
|:---|:---|:---|
| project_id | 是    | 项目ID。 获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-bms/bms_api_appendix_03.html)。 |
   
#### 请求参数
| 参数     | 是否必选 | 参数类型   | 描述                                                       |
|:---|:---|:---|:---|
| server | 是    | Object | 裸金属服务器信息。详情请参见[表2]。 |
   
 表2server字段数据结构说明 
| 参数                | 是否必选 | 参数类型                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| imageRef          | 是    | String                | 裸金属服务器使用的镜像ID或者镜像资源的URL。ID格式为通用唯一识别码（Universally Unique Identifier，简称UUID）。 镜像ID可以从镜像服务控制台获取，或者参考《镜像服务API参考》的"[查询镜像列表](https://support.huaweicloud.com/api-ims/ims_03_0602.html)"章节查询。 在使用"查询镜像列表"API查询时，可以添加过滤字段"?virtual_env_type=Ironic"来筛选裸金属服务器镜像。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| flavorRef         | 是    | String                | 裸金属服务器使用的规格ID，格式为physical.x.x。 规格ID可以从裸金属服务器控制台获取，也可以通过[查询规格详情和规格扩展信息列表](https://support.huaweicloud.com/api-bms/bms_api_0619.html)API查询。 说明： 裸金属服务器规格与镜像间的约束关系请参见[裸金属服务器类型与支持的操作系统版本](https://support.huaweicloud.com/productdesc-bms/bms_pd_0006.html)。 对于physical.x.x.hba类型的规格，申请的租户只能是DeC租户，且只能挂载DESS卷。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| name              | 是    | String                | 裸金属服务器名称。 取值范围： - 只能由中文字符、英文字母（a\~z，A\~Z）、数字（0\~9）、下划线（_）、中划线（-）、点（.）组成，且长度为\[1-63\]个字符。  - 创建的裸金属服务器数量大于1时，为区分不同裸金属服务器，创建过程中系统会自动在名称后加"-0000"的类似标记。故此时名称的长度为\[1-58\]个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| metadata          | 是    | Object                | 裸金属服务器元数据，key和value的长度均不大于255字节。详情请参见[表3]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| user_data         | 否    | String                | 创建裸金属服务器过程中待注入的用户数据。支持注入文本。 约束： - 注入内容，需要进行base64格式编码。注入内容（编码之前的内容）最大长度32KB。  - 当key_name没有指定时，user_data注入的数据默认为裸金属服务器root账户的登录密码。  - 创建密码方式鉴权的Linux裸金属服务器时为必填项，为root用户注入自定义初始化密码。   建议密码复杂度如下： - 长度为8-26位。  - 密码至少必须包含大写字母（A-Z）、小写字母（a-z）、数字（0-9）和特殊字符（!@$%\^-_=+\[{}\]:,./?）中的三种。   示例： ``` #!/bin/bash echo 'root:$6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig' | chpasswd -e ``` 其中，$6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig为密文密码，生成方法如下： 1. 生成加密盐值 ``` [root@test linux]# python -c "import crypt, getpass, pwd;print crypt.mksalt()" $6$V6azyeLwcD3CHlpY ```   2. 根据盐值生成密文密码 ``` [root@test linux]# python -c "import crypt, getpass, pwd;print crypt.crypt('Cloud.1234','\$6\$V6azyeLwcD3CHlpY')" $6$V6azyeLwcD3CHlpY$BN3VVq18fmCkj66B4zdHLWevqcxlig ```    说明： 使用Linux镜像并且采用密码登录裸金属服务器时，不支持数据注入。如何注入请参见[用户数据注入](https://support.huaweicloud.com/usermanual-bms/bms_01_0021.html)。 |
| adminPass         | 否    | String                | 如果需要使用密码方式登录裸金属服务器，可使用adminPass字段指定裸金属服务器管理员账户初始登录密码。其中，Linux管理员账户为root。 密码复杂度要求： - 长度为8-26位。  - 密码至少必须包含大写字母、小写字母、数字和特殊字符（!@$%\^-_=+\[{}\]:,./?）中的三种。  - Linux系统密码不能包含用户名或用户名的逆序。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| key_name          | 否    | String                | 扩展属性，指定密钥的名称。如果需要使用SSH密钥方式登录裸金属服务器，请指定已有密钥的名称。 密钥可以通过[创建和导入SSH密钥（OpenStack原生）](https://support.huaweicloud.com/api-bms/bms_api_0740.html)API创建，或者使用[查询SSH密钥列表（OpenStack原生）](https://support.huaweicloud.com/api-bms/bms_api_0738.html)API查询已有的密钥。 约束： - 当key_name和user_data同时指定时，user_data只能用做用户数据注入。  - 当使用Windows镜像创建裸金属服务器时，该字段不能为空（即Windows镜像只支持密钥登录）。  - Windows裸金属服务器登录时，首先需要将密钥解析为密码，然后通过远程登录工具进行登录。具体请参见"[通过远程登录工具登录Windows BMS](https://support.huaweicloud.com/usermanual-bms/zh-cn_topic_0079188786.html)"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| security_groups   | 否    | Array of objects      | 指定裸金属服务器的安全组。详情请参见[表4]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| nics              | 是    | Array of objects      | 指定裸金属服务器的网卡信息。详情请参见[表5]。 约束： - 一个裸金属服务器支持挂载多个网卡，参数中第一个网卡会作为裸金属服务器的主网卡。若用户指定了多组网卡参数，需保证各组参数都属于同一VPC。  - 不同的规格对网卡上限有一定的区别，参考[实例规格](https://support.huaweicloud.com/productdesc-bms/bms_pd_0003.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| availability_zone | 是    | String                | 裸金属服务器对应可用区信息，需要指定可用区（AZ）的名称。 请参考[地区和终端节点](https://developer.huaweicloud.com/endpoint)获取。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| vpcid             | 是    | String                | 裸金属服务器所属虚拟私有云（VPC），需要指定已有VPC的ID，UUID格式。VPC的ID可以从网络控制台或者参考《虚拟私有云API参考》的"[查询VPC](https://support.huaweicloud.com/api-vpc/vpc_api01_0002.html)"章节获取。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| publicip          | 否    | Object                | 配置裸金属服务器的弹性公网IP信息，弹性公网IP有三种配置方式： - 不使用（无该字段）。  - 自动分配，需要指定新创建弹性公网IP的信息。  - 使用已有，需要指定已创建弹性公网IP的信息。   详情请参见[表7]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| count             | 否    | Integer               | 创建裸金属服务器的数量。 约束： - 不传该字段时默认取值为1。  - 租户的配额足够时，最大值为100。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| root_volume       | 否    | Object                | 裸金属服务器对应系统盘相关配置。详情请参见[表8]。 约束： 当规格是快速发放时，该参数必选；当规格不是快速发放时，不传该参数。查询规格是否为快速发放，参见[查询规格详情和规格扩展信息列表 - ListBaremetalFlavorDetailExtends](https://support.huaweicloud.com/api-bms/bms_api_0619.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| data_volumes      | 否    | Array of objects      | 裸金属服务器对应数据盘相关配置。每一个数据结构代表一个待创建的数据盘。详情请参见[表9]。 约束： 目前裸金属服务器最多可挂载60块云硬盘（包括系统盘和数据盘）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| extendparam       | 是    | Object                | 创建裸金属服务器的附加信息。详情请参见[表10]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| schedulerHints    | 否    | Object                | 裸金属服务器的调度信息。当需要在专属云中创建裸金属服务器时，该字段必选。 详情请参见[表11]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| server_tags       | 否    | List \<resource_tag\> | 裸金属服务器的标签，详见[表12]。 说明： 创建裸金属服务器时，一台裸金属服务器最多可以添加10个标签。其中，__type_baremetal为系统内部标签，因此实际能添加的标签为9个。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| metadata_options  | 否    | Object                | 实例元数据配置，详情请参见[表13]。 约束： 该参数仅在"拉美-圣保罗一"区域支持，其他区域暂不支持。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   
 表3metadata字段数据结构说明 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| op_svc_userid | 是    | String | 用户ID（登录管理控制台，进入我的凭证，即可看到"用户ID"）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| BYOL          | 否    | String | 是否自带许可，取值"true"或"false"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| admin_pass    | 否    | String | 如果需要使用密码方式登录裸金属服务器，可使用admin_pass字段指定裸金属服务器管理员账户初始登录密码。其中，Linux管理员账户为root。 密码复杂度要求： - 长度为8-26位。  - 密码至少必须包含大写字母、小写字母、数字和特殊字符（!@$%\^-_=+\[{}\]:,./?）中的三种。  - 密码不能包含用户名或用户名的逆序，不能包含用户名中超过两个连续字符的部分。                                                                                                                                   |
| agency_name   | 否    | String | 委托的名称。 委托是由租户管理员在统一身份认证服务（Identity and Access Management，IAM）上创建的，可以作为其他租户访问此裸金属服务器的临时凭证。 说明： 委托获取、更新请参考如下步骤： 1. 使用IAM服务提供的[查询指定条件下的委托列表](https://support.huaweicloud.com/api-iam/iam_12_0001.html)接口，获取有效可用的委托名称。  2. 使用[更新裸金属服务器元数据](https://support.huaweicloud.com/api-bms/bms_api_0631.html)接口，更新metadata中agency_name字段为新的委托名称。   |
   
 表4security_groups字段数据结构说明 
| 参数 | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| id | 否    | String | 裸金属服务器对应的安全组ID，对创建裸金属服务器中配置的所有网卡生效。 - 当该参数未指定时默认给裸金属服务器绑定default安全组。  - 当该参数传值（UUID格式）时需要指定已有安全组的ID。获取已有安全组的方法请参见《虚拟私有云API参考》的"[查询安全组列表](https://support.huaweicloud.com/api-vpc/vpc_sg01_0003.html)"章节。   |
   
 表5nics字段数据结构说明 
| 参数                    | 是否必选 | 参数类型                                                                    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| subnet_id             | 是    | String                                                                  | 裸金属服务器网卡所在的子网信息。 需要指定vpcid对应VPC下已创建的子网（subnet）的网络ID（network_id），UUID格式。子网（subnet）的网络ID（network_id）可以从虚拟私有云控制台或者参考《虚拟私有云API参考》的"[查询子网列表](https://support.huaweicloud.com/api-vpc/vpc_subnet01_0003.html)"章节获取。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ip_address            | 否    | String                                                                  | 裸金属服务器网卡的IP地址，IPv4格式。 约束： - 不填或空字符串，默认在子网中自动分配一个未使用的IP作为网卡的IP地址。  - 若指定IP地址，该IP地址必须在子网的网段内，且未被使用。  - 批量创建裸金属服务器时，不支持指定IP地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| allowed_address_pairs | 否    | Array of [allow_address_pair] objects | IP/Mac对列表，详情请参见[表6](扩展属性)。 约束： - IP地址不允许为 "0.0.0.0/0"。  - 如果allowed_address_pairs配置地址池较大的CIDR（掩码小于24位），建议为该port配置一个单独的安全组。  - 如果allowed_address_pairs为"1.1.1.1/0"，表示关闭源目的地址检查开关。  - 如果是虚拟IP绑定云服务器， - 则mac_address可为空或者填写被绑定云服务器网卡的Mac地址。  - 被绑定的云服务器网卡allowed_address_pairs的IP地址填"1.1.1.1/0"。     |
   
 表6allow_address_pair字段数据结构说明 
| 名称          | 是否必选 | 参数类型   | 说明                                                                                                                                                                                                |
|:---|:---|:---|:---|
| ip_address  | 否    | String | IP地址。 约束：不支持0.0.0.0/0 如果allowed_address_pairs配置地址池较大的CIDR（掩码小于24位），建议为该port配置一个单独的安全组。 |
| mac_address | 否    | String | MAC地址。                                                                                                                                                                                            |
   
 表7publicip字段数据结构说明 
| 参数  | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| id  | 否    | String | 创建裸金属服务器分配已有弹性公网IP时，分配的弹性公网IP的ID，UUID格式。弹性公网IP的ID可以从网络控制台或者参考《弹性公网IP API参考》的"[查询弹性公网IP列表](https://support.huaweicloud.com/api-eip/eip_api_0003.html)"章节获取。 约束： - 只能分配状态（status）为DOWN的弹性公网IP。  - 批量创建裸金属服务器时，不能使用已有弹性公网IP，即不支持此参数。   |
| eip | 否    | Object | 配置裸金属服务器自动分配弹性公网IP时，创建弹性公网IP的配置参数。详情请参见[表14]。                                                                                                                                                                                                                                                                                                                                                                                  |
   
![](https://support.huaweicloud.com/api-bms/public_sys-resources/note_3.0-zh-cn.png)
输入publicip字段数据结构中的id和eip参数值时，只能选择其中一个输入。
 表8root_volume字段数据结构说明 
| 参数           | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| volumetype   | 是    | String  | 裸金属服务器系统盘对应的磁盘类型，需要与系统所提供的磁盘类型相匹配。 - GPSSD：通用型SSD磁盘类型  - SAS：高IO磁盘类型  - SSD：超高IO磁盘类型                                               |
| size         | 是    | Integer | 系统盘大小，容量单位为GB，输入大小范围为\[40-1024\]。 约束： 系统盘大小取值应不小于镜像中系统盘的最小值（min_disk属性）。                                                                                                                                                                                                                                                     |
| cluster_id   | 否    | String  | 裸金属服务器系统盘对应的存储池的ID。 说明： - 使用专属分布式存储时需要该字段。  - 存储池ID可以从管理控制台或者参考《专属分布式存储API参考》的"[获取专属分布式存储池详情列表](https://support.huaweicloud.com/api-dss/dss_02_1002.html)"章节获取。                            |
| cluster_type | 否    | String  | 裸金属服务器系统盘对应的磁盘存储类型。磁盘存储类型枚举值：DSS（专属分布式存储）。 说明： - 使用专属分布式存储时需要该字段。  - 存储池类型可以从管理控制台或者参考《专属分布式存储API参考》的"[获取专属分布式存储池详情列表](https://support.huaweicloud.com/api-dss/dss_02_1002.html)"章节获取。   |
| metadata     | 否    | Object  | 云硬盘的metadata信息，metadata中的key和value长度不大于255个字节。 仅在创建加密盘时使用metadata字段。详情请参见[表17]。                                                                                                                                                                                                                  |
   
 表9data_volumes字段数据结构说明 
| 参数           | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| volumetype   | 是    | String  | 裸金属服务器数据盘对应的磁盘类型，需要与系统所提供的磁盘类型相匹配。 - GPSSD：通用型SSD磁盘类型  - SAS：高IO磁盘类型  - SSD：超高IO磁盘类型   约束： - 在专属云中申请裸金属服务器时，须使用专属企业存储，此时该字段前缀必须是DESS_。 枚举值如下： DESS_SAS_ISCSI：普通I/O企业存储 DESS_SAS_FC：普通I/O企业存储（低延时） DESS_MIX_ISCSI：高I/O企业存储 DESS_MIX_FC：高I/O企业存储（低延时） DESS_SSD_ISCSI：超高I/O企业存储 DESS_SSD_FC：超高I/O企业存储（低延时）   - 所有用户，包年包月场景下，不能挂载DESS卷。   说明： 企业存储支持的存储类型说明可以从管理控制台或参考《专属企业存储服务用户指南》的"[申请专属企业存储](https://support.huaweicloud.com/usermanual-dess/hw_applying_dess_devices.html)"章节获取。 |
| size         | 是    | Integer | 数据盘大小，容量单位为GB，输入大小范围为\[10-32768\]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| shareable    | 否    | Boolean | 是否为共享磁盘。 - true为共享盘  - false为普通云硬盘   不指定时默认为false。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| cluster_id   | 否    | String  | 裸金属服务器数据盘对应的存储池ID。 说明： - 使用专属分布式存储时需要该字段。  - 存储池ID可以从管理控制台或者参考《专属分布式存储API参考》的"[获取专属分布式存储池详情列表](https://support.huaweicloud.com/api-dss/dss_02_1002.html)"章节获取。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| cluster_type | 否    | String  | 裸金属服务器数据盘对应的磁盘存储类型。磁盘存储类型枚举值：DSS（专属分布式存储）。 说明： - 使用专属分布式存储时需要该字段。  - 存储池类型可以从管理控制台或者参考《专属分布式存储API参考》的"[获取专属分布式存储池详情列表](https://support.huaweicloud.com/api-dss/dss_02_1002.html)"章节获取。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| metadata     | 否    | object  | 云硬盘的metadata信息，metadata中的key和value长度不大于255个字节。 仅在创建加密盘时使用metadata字段，详情请参见[表17]。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
 表10创建裸金属服务器的extendparam字段数据结构说明 
| 参数                    | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                             |
|:---|:---|:---|:---|
| chargingMode          | 否    | String  | 计费模式。取值范围： prePaid：预付费，即包年包月。默认值是prePaid。                                                                                                                                                                                                                                                                                       |
| regionID              | 否    | String  | 裸金属服务器所在区域ID。 请参考[地区和终端节点](https://developer.huaweicloud.com/endpoint)获取。                                                                                                                                                                                                                                                      |
| periodType            | 否    | String  | 订购周期类型。取值范围： - month：月  - year：年   说明： chargingMode为prePaid时生效，且为必选值。                                                            |
| periodNum             | 否    | Integer | 订购周期数。取值范围： - periodType=month（周期类型为月）时，取值为\[1-9\]。  - periodType=year（周期类型为年）时，取值为1。   说明： chargingMode为prePaid时生效，且为必选值。 |
| isAutoRenew           | 否    | String  | 是否自动续订。 - true：自动续订  - false：不自动续订   说明： chargingMode为prePaid时生效，不指定该参数或者该参数值为空时默认为不自动续订。                                      |
| isAutoPay             | 否    | String  | 下单订购后，是否自动从客户的账户中支付，而不需要客户手动去支付。 - true：是（自动支付）  - false：否（需要客户手动支付）   说明： chargingMode为prePaid时生效，不指定该参数或者该参数值为空时默认为客户手动支付。 |
| enterprise_project_id | 否    | String  | 企业项目ID。 该字段不传（或传为字符串"0"），则将资源绑定给默认企业项目。 说明： 关于企业项目ID的获取及企业项目特性的详细信息，请参见《[企业管理API参考](https://support.huaweicloud.com/api-em/zh-cn_topic_0136314423.html)》。                                                                                      |
   
 表11schedulerHints字段数据结构说明 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| dec_baremetal | 否    | String | 是否在专属云中创建裸金属服务器，参数值为share或dedicate。 约束： - 该值不传时默认为share。  - 在专属云中创建裸金属服务器时，必须指定该字段为dedicate。   |
   
 表12server_tags字段数据结构说明 
| 参数    | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| key   | 是    | String | 键 - 最大长度36个unicode字符，不能为空。  - 不能包含非打印字符ASCII（0-31），以及以下特殊字符：=\*\<\>\\,\|/  - 同一资源的key值不能重复。   |
| value | 否    | String | 值 - 每个值最大长度43个unicode字符，可以为空字符串。  - 不能包含非打印字符ASCII（0-31），以及以下特殊字符：=\*\<\>\\,\|/                                                                                     |
   
 表13metadata_options数据结构说明 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| http_endpoint | 否    | String | 是否启用IMDS服务，默认enabled。 - enabled：启用IMDS服务  - disabled：禁用IMDS服务                            |
| http_tokens   | 否    | String | 是否要求携带token，默认optional。 - optional：不要求携带token  - required：要求必须携带token，即禁用v1只能用v2   |
   
 表14eip字段数据结构说明 
| 参数          | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| iptype      | 是    | String | 弹性公网IP地址类型。 类型枚举值：5_bgp、5_sbgp 详情请参见《弹性公网IP API参考》"[申请弹性公网IP](https://support.huaweicloud.com/api-eip/eip_api_0001.html)"章节的"publicip"字段说明。 |
| bandwidth   | 是    | Object | 弹性公网IP带宽。详情请参见[表15]。                                                                                                                                              |
| extendparam | 是    | Object | 创建弹性公网IP的附加信息。详情请参见[表16]。                                                                                                                                      |
   
 表15bandwidth字段数据结构说明 
| 参数         | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| name       | 否    | String  | 带宽名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| sharetype  | 是    | String  | 带宽的共享类型。 共享类型枚举：PER，表示独享；WHOLE，表示共享                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| id         | 否    | String  | 共享带宽ID。创建WHOLE类型带宽的弹性公网IP时可以指定之前的共享带宽创建。 共享带宽的使用限制请参见"[共享带宽简介](https://support.huaweicloud.com/usermanual-eip/bandwidth_0002.html)"。 说明： 当创建WHOLE类型的带宽时，该字段必选。                                                                                                                                                                                                                                                                                                                                                                                    |
| size       | 是    | Integer | - 取值范围：默认5Mbit/s\~2000Mbit/s（具体范围以各Region配置为准，请参见管理控制台对应页面显示）。  - 功能说明：带宽大小。共享带宽的大小有最小值限制，默认为5M。   说明： - 如果传入的参数为小数（如10.2）或者字符类型（如10），会自动强制转换为整数。带宽小于300Mbit/s时，步长支持1Mbit/s；带宽为300Mbit/s\~1000Mbit/s时，步长支持50Mbit/s；带宽为1000Mbit/s\~2000Mbit/s时，步长支持1000Mbit/s。  - 如果sharetype是PER，该参数必选；如果sharetype是WHOLE并且id有值，该参数会忽略。   |
| chargemode | 否    | String  | 带宽的计费类型。 取值为：traffic（按流量计费）、bandwidth（按带宽计费） - 未传该字段，表示按带宽计费。  - 字段值为空，表示按带宽计费。   说明： 如果sharetype是WHOLE并且id有值，仅支持按带宽计费，该参数会忽略。                                                                                                                                                                                                                                                              |
   
 表16创建弹性公网IP的extendparam字段数据结构说明 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| chargingMode | 是    | String | 弹性公网IP的计费模式。若chargemode取值为bandwidth，则支持prePaid和postPaid；若chargemode取值为traffic，则仅支持postPaid。 取值范围： - prePaid：预付费，即包年包月  - postPaid：后付费，即按需付费   说明： 如果bandwidth对象中sharetype是WHOLE且id有值，弹性公网IP只能创建为按需付费的，故该参数传参"prePaid"无效。 |
   
 表17磁盘的metadata字段数据结构说明 
| 参数                             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| __system__encrypted            | 否    | String | metadata中表示加密功能的字段，0代表不加密，1代表加密。 该字段不存在时，系统盘默认为不加密。 该字段值为0时，__system__cmkid不生效。                                                                                                                                                                                                                                                                                                                                                                                                             |
| __system__cmkid                | 否    | String | 用户主密钥ID，是metadata中表示加密功能的字段，与__system__encrypted配合使用。 说明： 请参考[查询密钥列表](https://support.huaweicloud.com/api-dew/ListKeys.html)，通过HTTPS请求获取密钥ID。                                                                                                                                                                                                                                                                                                                                             |
| __system__encryption_algorithm | 否    | String | 创建加密卷支持指定加密算法。 取值范围： - AES_256：通用的高级加密算法。  - SM4：国密算法。   说明： - __system__encrypted、__system__cmkid均有效才支持设置。  - 如果不设置，默认值为AES_256。   |
   
#### 请求示例
- 创建一个裸金属服务器，镜像ID为766a545a-02e1-433e-b1d1-733b5dc95e94，规格为physical.s3.large，计费模式为包年包月，使用密码方式远程登录。
  ```
  POST https://{BMS Endpoint}/v1/{project_id}/baremetalservers
  ```
  ```
  {
      "server": {
          "availability_zone": "az1",
          "name": "bms-75c7",
          "imageRef": "766a545a-02e1-433e-b1d1-733b5dc95e94",
          "flavorRef": "physical.s3.large",
          "data_volumes": [
              {
                  "volumetype": "SAS",
                  "size": 10,
                  "shareable": false
              }
          ],
          "vpcid": "8df83bf2-fd2e-4ee0-9692-c0b7736513fb",
          "nics": [
              {
                  "subnet_id": "c6bb8788-4fd1-4a8f-adab-7eba3bed8616",
                  "ip_address": ""
              }
          ],
          "count": 1,
          "schedulerHints": {
              "dec_baremetal": "share"
          },
          "extendparam": {    
              "chargingMode": "prePaid",
              "periodType": "month",
              "periodNum": 1,
              "isAutoRenew": "true",
              "isAutoPay": "true",
              "regionID": "region01"
          },
          "metadata": {
              "op_svc_userid": "59781460e9e54886a7d03df7d3f3fc81",
              "BYOL": "false",
              "admin_pass": "$ADMIN_PASS"
          },
          "publicip": {
              "id": "1b036bce-26b4-465c-acea-99fdbb0573a3"
          },
          "user_data": "$USER_DATA",
          "security_groups": [
              {
                  "id": "993f2916-5bad-4f24-bc3c-db539f1a6d19"
              }
          ]
      }
  }
  ```
  
- 创建一个包年包月的Linux裸金属服务器，可用区为az1，名称为bms-3b91，镜像ID为766a545a-02e1-433e-b1d1-733b5dc95e94规格为physical.o2.large且使用密钥方式远程登录。
  ```
  {
      "server": {
          "availability_zone": "az1",
          "name": "bms-3b91",
          "imageRef": "766a545a-02e1-433e-b1d1-733b5dc95e94",
          "flavorRef": "physical.o2.large",
          "data_volumes": [
              {
                  "volumetype": "SAS",
                  "size": 10,
                  "shareable": true
              }
          ],
          "vpcid": "8df83bf2-fd2e-4ee0-9692-c0b7736513fb",
          "nics": [
              {
                  "subnet_id": "c6bb8788-4fd1-4a8f-adab-7eba3bed8616",
                  "ip_address": ""
              },
              {
                  "subnet_id": "2b8bcf33-33f2-4a63-aa9c-b1e17ff0ed7f",
                  "ip_address": ""
              }
          ],
          "count": 1,
          "schedulerHints": {
              "dec_baremetal": "share"
          },
          "extendparam": {
              "chargingMode": "prePaid",
              "periodType": "month",
              "periodNum": 1,
              "isAutoRenew": "true",
              "isAutoPay": "true",
              "regionID": "region01"
          },
          "metadata": {
              "op_svc_userid": "59781460e9e54886a7d03df7d3f3fc81",
              "BYOL": "false"
          },
          "publicip": {
              "eip": {
                  "iptype": "5_bpg",
                  "bandwidth": {
                      "chargemode": "",
                      "name": "bms-3b91-bandwidth",
                      "size": 1,
                      "sharetype": "PER"
                  },
                  "extendparam": {
                     "chargingMode": "prePaid"
                  }
              }
          },
          "security_groups": [
              {
                  "id": "993f2916-5bad-4f24-bc3c-db539f1a6d19"
              }
          ],
          "key_name": "$key_name"
      }
  }
  ```
  Java语言生成user_data示例如下：
  ```
  String userData_org = "#!/bin/bash \r\n echo    'root:xxxxx' | chpasswd ;";
  byte[] userData_byte = userData_org.getBytes();
  String userData = new BASE64Encoder().encode(userData_byte);
  ```
  
- 创建包年包月的Windows操作系统的裸金属服务器，可用区为az1，名称为bms-6a1e，镜像ID为fd04041a-5f35-45ae-a27c-bf30f921c6b5，规格为physical.s3.large且使用密钥方式远程登录。
  ```
  { 
       "server": { 
           "availability_zone": "az1", 
           "name": "bms-6a1e", 
           "imageRef": "fd04041a-5f35-45ae-a27c-bf30f921c6b5", 
           "flavorRef": "physical.s3.large", 
           "data_volumes": [ 
               { 
                   "volumetype": "SAS", 
                   "size": 10, 
                   "shareable": false 
               } 
           ], 
           "vpcid": "0adc2847-c160-4263-be1f-e03d36e93e32", 
           "nics": [ 
               { 
                   "subnet_id": "4f1cf6cc-4cc3-41d3-8192-625293dccce0", 
                   "ip_address": "" 
               } 
           ], 
           "count": 1, 
           "schedulerHints": { 
               "dec_baremetal": "share" 
           }, 
          "extendparam": { 
              "chargingMode": "prePaid", 
              "periodType": "month", 
              "periodNum": 1, 
              "isAutoRenew": "true", 
              "isAutoPay": "true", 
              "regionID": "region1" 
           }, 
           "metadata": { 
              "op_svc_userid": "8a74baed155b47e8b59fbca853d6cb48", 
              "BYOL": "false" 
           }, 
           "publicip": { 
               "id": "db9c4f39-fabd-4cc2-8685-82e7715d099f" 
           }, 
           "user_data": "$USER_DATA", 
           "security_groups": [ 
               { 
                   "id": "33cf5e40-0b65-4e03-867d-4c67947c49be" 
               } 
           ], 
           "key_name": "$key_name"
       } 
   }
  ```
  
 
#### 响应参数
表18正常响应要素说明 
| 名称       | 参数类型   | 说明                                                                                                                                                                                |
|:---|:---|:---|
| order_id | String | 提交订单成功后返回的订单ID，用户可以使用该ID对订单的处理情况进行查询（在管理控制台的"费用中心 \> 我的订单"页面查询）。                                                                                                                  |
| job_id   | String | 提交任务成功后返回的任务ID，用户可以使用该ID对任务执行情况进行查询。 如何根据job_id来查询Job的执行状态，请参考[查询Job状态 - ShowJobInfos](https://support.huaweicloud.com/api-bms/bms_api_0640.html)。 |
   
表19异常响应要素说明 
| 名称    | 参数类型        | 说明                                                            |
|:---|:---|:---|
| error | 字典数据结构\[1\] | 提交任务异常时返回的异常信息，详情请参见[表20]。 |
   
 表20error数据结构 
| 名称      | 参数类型   | 说明          |
|:---|:---|:---|
| message | String | 任务异常错误信息描述。 |
| code    | String | 任务异常错误信息编码。 |
   
#### 响应示例
- 正常响应
  ```
  { 
      "order_id": "CS2009141523OQSEQ",
      "job_id": "ff808081748b760c01748b7f80370003"
  }
  ```
  
 
#### 返回值
正常返回值：
| 返回值 | 说明           |
|:---|:---|
| 200 | 服务器已成功处理了请求。 |
   
其他返回值请参考[状态码](https://support.huaweicloud.com/api-bms/bms_api_0801.html)。
#### 错误码
请参考[错误码](https://support.huaweicloud.com/api-bms/bms_api_0802.html)。
