功能介绍
创建一台或多台 裸金属服务器 。
背景信息(设置登录鉴权方式)
裸金属服务器的登录鉴权方式包括两种:密钥对、密码。为安全起见,推荐使用密钥对方式。
- 密钥对
接口调用方法:使用key_name字段,指定裸金属服务器登录时使用的密钥文件。key_name字段的使用方法请参见表2。
- 密码
指使用设置初始密码方式作为裸金属服务器的鉴权方式,此时,您可以通过用户名密码方式登录裸金属服务器,Linux操作系统时为root用户的初始密码。
接口调用方法:
- 方法一(推荐):使用adminPass字段,指定管理员帐号的初始登录密码,adminPass字段的使用方法请参见表2。
此时,对于安装了Cloud-init 镜像 的Linux裸金属服务器,若指定user_data字段,则该adminPass字段无效。
- 方法二:
公共镜像默认已安装Cloud-init或者Cloudbase-init,私有镜像需要您自行确认是否安装。
- 方法一(推荐):使用adminPass字段,指定管理员帐号的初始登录密码,adminPass字段的使用方法请参见表2。
约束
- 不支持文件注入功能。
- 目前仅支持创建包周期裸金属服务器。
- 不支持市场镜像创建裸金属服务器。
注意事项
- 该接口可以使用合作伙伴自身的AK/SK或者Token调用,也可以用合作伙伴子客户的AK/SK或者Token来调用。
- 如果使用AK/SK认证方式,示例代码中的region请参考地区和 终端节点 中“裸金属服务器 BMS”下“区域”的内容,serviceName(英文服务名称缩写)请指定为BMS。
- Endpoint请参考地区和终端节点中“裸金属服务器 BMS”下“终端节点(Endpoint)”的内容。
- 请保证帐户余额充足,此接口无法使用优惠券支付,若余额不足会报“BMS.0216”错误码。若想使用优惠券,请将request请求中的isAutoPay字段设置为false,然后在华为云官网页面使用优惠券进行支付或者调用“查询订单可用优惠券”接口进行支付。
调试
您可以在API Explorer中调试该接口。
URI
POST /v1/{project_id}/baremetalservers
请求参数
参数 |
是否必选 |
参数类型 |
---|---|---|
imageRef |
是 |
String |
flavorRef |
是 |
String |
name |
是 |
String |
metadata |
是 |
Object |
user_data |
否 |
String |
adminPass |
否 |
String |
key_name |
否 |
String |
security_groups |
否 |
Array of objects |
nics |
是 |
Array of objects |
availability_zone |
是 |
String |
vpcid |
是 |
String |
publicip |
否 |
Object |
count |
否 |
Integer |
root_volume |
否 |
Object |
data_volumes |
否 |
Array of objects |
extendparam |
是 |
Object |
schedulerHints |
否 |
Object |
server_tags |
否 |
Map<String,String> |
enhanced_high_speed_net |
否 |
Array of objects |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
op_svc_userid |
是 |
String |
用户ID(登录管理控制台,进入我的凭证,即可看到“用户ID”)。 |
BYOL |
否 |
String |
是否自带许可,取值“true”或“false”。 |
admin_pass |
否 |
String |
如果需要使用密码方式登录裸金属服务器,可使用admin_pass字段指定裸金属服务器管理员帐户初始登录密码。其中,Linux管理员帐户为root。 密码复杂度要求:
|
agency_name |
否 |
String |
委托的名称。 委托是由租户管理员在 统一身份认证 服务(Identity and Access Management, IAM )上创建的,可以作为其他租户访问此裸金属服务器的临时凭证。 说明:
委托获取、更新请参考如下步骤:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
subnet_id |
是 |
String |
裸金属服务器网卡所在的子网信息。 需要指定vpcid对应VPC下已创建的子网(subnet)的网络ID(network_id),UUID格式。子网(subnet)的网络ID(network_id)可以从虚拟 私有云 控制台或者参考《虚拟私有云API参考》的“查询子网列表”章节获取。 |
port_id |
否 |
String |
裸金属服务器的网卡ID。该字段不为空时,表示指定网卡创建裸金属服务器,此时subnet_id、security_groups、ip_address、ipv6_enable、ipv6_bandwidth字段不生效。 网卡ID可以从虚拟私有云控制台或者参考《虚拟私有云API参考》的“查询端口列表”章节获取。 约束:
|
ip_address |
否 |
String |
裸金属服务器网卡的IP地址,IPv4格式。 约束:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
id |
否 |
String |
创建裸金属服务器分配已有 弹性公网IP 时,分配的弹性 公网IP 的ID,UUID格式。弹性公网IP的ID可以从网络控制台或者参考《弹性公网IP API参考》的“查询弹性公网IP列表”章节获取。 约束:
|
eip |
否 |
Object |

输入publicip字段数据结构中的id和eip参数值时,只能选择其中一个输入。
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
volumetype |
是 |
String |
裸金属服务器系统盘对应的磁盘类型,需要与系统所提供的磁盘类型相匹配。
|
size |
是 |
Integer |
系统盘大小,容量单位为GB,输入大小范围为[40-1024]。 约束: 系统盘大小取值应不小于镜像中系统盘的最小值(min_disk属性)。 |
cluster_id |
否 |
String |
裸金属服务器系统盘对应的存储池的ID。 说明:
|
cluster_type |
否 |
String |
裸金属服务器系统盘对应的磁盘存储类型。磁盘存储类型枚举值:DSS(专属分布式存储)。 说明:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
volumetype |
是 |
String |
裸金属服务器数据盘对应的磁盘类型,需要与系统所提供的磁盘类型相匹配。
约束:
说明:
企业存储支持的存储类型说明可以从管理控制台或参考《专属企业存储服务用户指南》的“申请专属企业存储”章节获取。 |
size |
是 |
Integer |
数据盘大小,容量单位为GB,输入大小范围为[10-32768]。 |
shareable |
否 |
Boolean |
是否为共享磁盘。
不指定时默认为false。 |
cluster_id |
否 |
String |
裸金属服务器数据盘对应的存储池ID。 说明:
|
cluster_type |
否 |
String |
裸金属服务器数据盘对应的磁盘存储类型。磁盘存储类型枚举值:DSS(专属分布式存储)。 说明:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
chargingMode |
否 |
String |
计费模式。取值范围: prePaid:预付费,即包年包月。默认值是prePaid。 |
regionID |
否 |
String |
裸金属服务器所在区域ID。 请参考地区和终端节点获取。 |
periodType |
否 |
String |
订购周期类型。取值范围:
说明:
chargingMode为prePaid时生效,且为必选值。 |
periodNum |
否 |
Integer |
订购周期数。取值范围:
说明:
chargingMode为prePaid时生效,且为必选值。 |
isAutoRenew |
否 |
String |
是否自动续订。
说明:
chargingMode为prePaid时生效,不指定该参数或者该参数值为空时默认为不自动续订。 |
isAutoPay |
否 |
String |
下单订购后,是否自动从客户的帐户中支付,而不需要客户手动去支付。
说明:
chargingMode为prePaid时生效,不指定该参数或者该参数值为空时默认为客户手动支付。 |
ent erp rise_project_id |
否 |
String |
企业项目ID。 该字段不传(或传为字符串“0”),则将资源绑定给默认企业项目。 说明:
关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理API参考》。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
dec_baremetal |
否 |
String |
是否在专属云中创建裸金属服务器,参数值为share或dedicate。 约束:
|
参数 |
是否必选 |
参数类型 |
描述 |
|||
---|---|---|---|---|---|---|
max_link_number |
否 |
Integer |
单个增强高速网卡的物理网口数量。 说明:
若不使用该字段,则默认按总带宽创建。 物理网口数量和带宽的查询方法: 通过查询裸金属服务器规格extra_specs参数的详情(OpenStack原生)接口查询指定规格的baremetal:netcard_detail信息。若baremetal:netcard_detail信息包含2*10GE,表示该网卡有两个物理网口,单个物理网口的带宽为10GE。 若baremetal:netcard_detail信息为:1*100G IB + 2*10GE(82599 Standard Card) + Tesla P100 * 83、1*100G IB + 2*10GE(82599 Standard Card) + Tesla V100 * 84、1*100G IB + 2*10GE等,则不需要使用该字段。 若baremetal:netcard_detail信息为2 x 2*10GE,对应传参样例:
若baremetal:netcard_detail信息为2 x 2*10GE + 2*16G FC,对应传参样例:
若baremetal:netcard_detail信息为2 x 2*25GE,表示该网卡有两个物理网口,单个物理网口的带宽为10GE。对应传参样例:
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
iptype |
是 |
String |
弹性公网IP地址类型。 类型枚举值:5_bgp、5_sbgp 详情请参见《弹性公网IP API参考》“申请弹性公网IP”章节的“publicip”字段说明。 |
bandwidth |
是 |
Object |
|
extendparam |
是 |
Object |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
否 |
String |
带宽名称。 |
sharetype |
是 |
String |
带宽的共享类型。 共享类型枚举:PER,表示独享;WHOLE,表示共享 |
id |
否 |
String |
共享带宽ID。创建WHOLE类型带宽的弹性公网IP时可以指定之前的共享带宽创建。 共享带宽的使用限制请参见“共享带宽简介”。 说明:
当创建WHOLE类型的带宽时,该字段必选。 |
size |
是 |
Integer |
说明:
|
chargemode |
否 |
String |
带宽的计费类型。 取值为:traffic(按流量计费)、bandwidth(按带宽计费)
说明:
如果sharetype是WHOLE并且id有值,仅支持按带宽计费,该参数会忽略。 |
请求示例
- 创建一个裸金属服务器,镜像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": "" }, "publicip": { "id": "1b036bce-26b4-465c-acea-99fdbb0573a3" }, "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": "KeyPair-zbb29" } }
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操作系统的裸金属服务器,可用区为azl,名称为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": "cWF6PTEyMw==", "security_groups": [ { "id": "33cf5e40-0b65-4e03-867d-4c67947c49be" } ], "key_name": "KeyPair-Maoz" } }
响应参数
名称 |
参数类型 |
说明 |
---|---|---|
order_id |
String |
提交订单成功后返回的订单ID,用户可以使用该ID对订单的处理情况进行查询(在管理控制台的“费用中心 > 我的订单”页面查询)。 |
job_id |
String |
提交任务成功后返回的任务ID,用户可以使用该ID对任务执行情况进行查询。 如何根据job_id来查询Job的执行状态,请参考查询Job状态。 |
响应示例
- 正常响应
{ "order_id": "CS2009141523OQSEQ", "job_id": "ff808081748b760c01748b7f80370003" }
错误码
请参考错误码。