创建部署服务器(CreateBaremetalPxeServer)

API请求

URLs
POST zstack/v1/baremetal/pxeservers
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "zoneUuid": "4d813a1e8053335d931094e4f41c0cad",
    "name": "test",
    "hostname": "127.0.0.1",
    "sshUsername": "root",
    "sshPassword": "password",
    "sshPort": 22.0,
    "storagePath": "/cloud_bm_cache",
    "dhcpInterface": "eth0",
    "dhcpRangeBegin": "10.0.0.1",
    "dhcpRangeEnd": "10.0.0.255",
    "dhcpRangeNetmask": "255.255.255.0"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"zoneUuid":"4d813a1e8053335d931094e4f41c0cad","name":"test","hostname":"127.0.0.1","sshUsername":"root","sshPassword":"password","sshPort":22.0,"storagePath":"/cloud_bm_cache","dhcpInterface":"eth0","dhcpRangeBegin":"10.0.0.1","dhcpRangeEnd":"10.0.0.255","dhcpRangeNetmask":"255.255.255.0"}}' http://localhost:8080/zstack/v1/baremetal/pxeservers
参数列表
名字 类型 位置 描述 可选值 起始版本
name String body(包含在params结构中) 资源名称 3.1.1
description (可选) String body(包含在params结构中) 资源的详细描述 3.1.1
dhcpInterface String body(包含在params结构中) DHCP请求监听网卡 3.1.1
dhcpRangeBegin (可选) String body(包含在params结构中) DHCP地址范围起始 3.1.1
dhcpRangeEnd (可选) String body(包含在params结构中) DHCP地址范围终止 3.1.1
dhcpRangeNetmask (可选) String body(包含在params结构中) DHCP地址范围掩码 3.1.1
zoneUuid String body(包含在params结构中) 区域UUID 3.1.1
hostname String body(包含在params结构中) 3.1.1
sshUsername String body(包含在params结构中) 3.1.1
sshPassword String body(包含在params结构中) 3.1.1
sshPort (可选) Integer body(包含在params结构中) 3.1.1
storagePath String body(包含在params结构中) 3.1.1
resourceUuid (可选) String body(包含在params结构中) 3.1.1
systemTags (可选) List body 系统标签 3.1.1
userTags (可选) List body 用户标签 3.1.1

API返回

返回示例
{
  "inventory": {
    "uuid": "e958961c7785304691d49ec5ac7df64d",
    "name": "test",
    "hostname": "127.0.0.1",
    "sshUsername": "root",
    "sshPassword": "password",
    "sshPort": 22.0,
    "storagePath": "/cloud_bm_cache",
    "dhcpInterface": "eth0",
    "dhcpRangeBegin": "10.0.0.1",
    "dhcpRangeEnd": "10.0.0.255",
    "dhcpRangeNetmask": "255.255.255.0",
    "state": "Enabled",
    "status": "Connecting"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.1.1
inventory BaremetalPxeServerInventory 详情参考inventory 3.1.1
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.1.1
description String 错误的概要描述 3.1.1
details String 错误的详细信息 3.1.1
elaboration String 保留字段,默认为null 3.1.1
opaque LinkedHashMap 保留字段,默认为null 3.1.1
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.1.1
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.1.1
zoneUuid String 区域UUID 3.1.1
name String 资源名称 3.1.1
description String 资源的详细描述 3.1.1
hostname String 部署服务器地址 3.1.1
sshUsername String 部署服务器SSH账户 3.1.1
sshPassword String 部署服务器SSH密码 3.1.1
sshPort Integer 部署服务器SSH端口 3.1.1
storagePath String 部署服务器存储路径 3.1.1
dhcpInterface String DHCP请求监听网卡 3.1.1
dhcpInterfaceAddress String DHCP请求监听网卡IP 3.1.1
dhcpRangeBegin String DHCP地址范围起始 3.1.1
dhcpRangeEnd String DHCP地址范围终止 3.1.1
dhcpRangeNetmask String DHCP子网掩码 3.1.1
state String 部署服务器运行状态 3.1.1
status String 部署服务器连接状态 3.1.1
createDate Timestamp 创建时间 3.1.1
lastOpDate Timestamp 最后一次修改时间 3.1.1
totalCapacity Long 存储路径总容量 3.1.1
availableCapacity Long 存储路径可用容量 3.1.1
attachedClusterUuids List 部署服务器挂载集群UUID列表 3.1.1

SDK示例

Java SDK
CreateBaremetalPxeServerAction action = new CreateBaremetalPxeServerAction();
action.zoneUuid = "4d813a1e8053335d931094e4f41c0cad";
action.name = "test";
action.hostname = "127.0.0.1";
action.sshUsername = "root";
action.sshPassword = "password";
action.sshPort = 22.0;
action.storagePath = "/cloud_bm_cache";
action.dhcpInterface = "eth0";
action.dhcpRangeBegin = "10.0.0.1";
action.dhcpRangeEnd = "10.0.0.255";
action.dhcpRangeNetmask = "255.255.255.0";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateBaremetalPxeServerAction.Result res = action.call();
Python SDK
CreateBaremetalPxeServerAction action = CreateBaremetalPxeServerAction()
action.zoneUuid = "4d813a1e8053335d931094e4f41c0cad"
action.name = "test"
action.hostname = "127.0.0.1"
action.sshUsername = "root"
action.sshPassword = "password"
action.sshPort = 22.0
action.storagePath = "/cloud_bm_cache"
action.dhcpInterface = "eth0"
action.dhcpRangeBegin = "10.0.0.1"
action.dhcpRangeEnd = "10.0.0.255"
action.dhcpRangeNetmask = "255.255.255.0"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateBaremetalPxeServerAction.Result res = action.call()