Kernel适配器相关接口
创建主机Kernel适配器(CreateHostKernelInterface)
API请求
URLs
POST zstack/v1/l2-networks/kernel-interfacesHeaders
Authorization: OAuth the-session-uuidBody
{
"params": {
"name": "zs-kernel",
"description": "test-description",
"hostUuid": "ac64f7d9591b34b5a9286d7124e9787c",
"l2NetworkUuid": "c68967a38bf132bf96f7ca42cdc5c47b",
"l3NetworkUuid": "1c9547c6bd89392e8c0f50efa83ac990",
"requiredIp": "172.16.1.1",
"netmask": "255.255.255.0",
"trafficTypes": [
"Management"
]
},
"systemTags": [],
"userTags": []
}
Note: 上述示例中systemTags、userTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"zs-kernel","description":"test-description","hostUuid":"ac64f7d9591b34b5a9286d7124e9787c","l2NetworkUuid":"c68967a38bf132bf96f7ca42cdc5c47b","l3NetworkUuid":"1c9547c6bd89392e8c0f50efa83ac990","requiredIp":"172.16.1.1","netmask":"255.255.255.0","trafficTypes":["Management"]}}' http://localhost:8080/zstack/v1/l2-networks/kernel-interfaces参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| name | String | body(包含在params结构中) | 资源名称 | 4.1.0 | |
| description (可选) | String | body(包含在params结构中) | 资源的详细描述 | 4.1.0 | |
| hostUuid | String | body(包含在params结构中) | 主机UUID | 4.1.0 | |
| l2NetworkUuid | String | body(包含在params结构中) | 端口组分布式交换机UUID | 4.1.0 | |
| l3NetworkUuid | String | body(包含在params结构中) | 分布式端口组UUID | 4.1.0 | |
| requiredIp (可选) | String | body(包含在params结构中) | 请求的IP | 4.1.0 | |
| netmask (可选) | String | body(包含在params结构中) | 网络掩码 | 4.1.0 | |
| trafficTypes (可选) | List | body(包含在params结构中) | 流量类型 |
|
4.1.0 |
| resourceUuid (可选) | String | body(包含在params结构中) | 资源UUID | 4.1.0 | |
| tagUuids (可选) | List | body(包含在params结构中) | 标签UUID列表 | 4.1.0 | |
| systemTags (可选) | List | body | 系统标签 | 4.1.0 | |
| userTags (可选) | List | body | 用户标签 | 4.1.0 |
API返回
返回示例
{
"inventory": {
"uuid": "748beaeb70273060a8b599d871a195e6",
"name": "test-kernel",
"description": "test-kernel",
"hostUuid": "3a620091153d3027af5df7c27a0f8fd8",
"l2NetworkUuid": "f66b2fcb35ae3779a69447cf56a153e3",
"l3NetworkUuid": "c2372a1dd7ce338d80ce1de8c658e9a6",
"createDate": "Nov 14, 2017 10:20:57 PM",
"lastOpDate": "Nov 14, 2017 10:20:57 PM"
}
}#inventory
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | 资源的UUID,唯一标示该资源 | 4.1.0 |
| name | String | 资源名称 | 4.1.0 |
| description | String | 资源的详细描述 | 4.1.0 |
| hostUuid | String | 主机UUID | 4.1.0 |
| l2PortGroupUuid | String | 端口组UUID | 4.1.0 |
| l3NetworkUuid | String | 分布式端口组UUID | 4.1.0 |
| usedIps | List | IP配置 | 4.1.0 |
| trafficTypes | List | 流量类型 | 4.1.0 |
| createDate | Timestamp | 创建时间 | 4.1.0 |
| lastOpDate | Timestamp | 最后一次修改时间 | 4.1.0 |
#error
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| code | String | 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 | 4.1.0 |
| description | String | 错误的概要描述 | 4.1.0 |
| details | String | 错误的详细信息 | 4.1.0 |
| elaboration | String | 保留字段,默认为null | 4.1.0 |
| opaque | LinkedHashMap | 保留字段,默认为null | 4.1.0 |
| cause | ErrorCode | 根错误,引发当前错误的源错误,若无原错误,该字段为null | 4.1.0 |
SDK示例
Java
SDK
CreateHostKernelInterfaceAction action = new CreateHostKernelInterfaceAction();
action.name = "zs-kernel";
action.description = "test-description";
action.hostUuid = "ac64f7d9591b34b5a9286d7124e9787c";
action.l2NetworkUuid = "c68967a38bf132bf96f7ca42cdc5c47b";
action.l3NetworkUuid = "1c9547c6bd89392e8c0f50efa83ac990";
action.requiredIp = "172.16.1.1";
action.netmask = "255.255.255.0";
action.trafficTypes = asList("Management");
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateHostKernelInterfaceAction.Result res = action.call();Python
SDK
CreateHostKernelInterfaceAction action = CreateHostKernelInterfaceAction()
action.name = "zs-kernel"
action.description = "test-description"
action.hostUuid = "ac64f7d9591b34b5a9286d7124e9787c"
action.l2NetworkUuid = "c68967a38bf132bf96f7ca42cdc5c47b"
action.l3NetworkUuid = "1c9547c6bd89392e8c0f50efa83ac990"
action.requiredIp = "172.16.1.1"
action.netmask = "255.255.255.0"
action.trafficTypes = [Management]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateHostKernelInterfaceAction.Result res = action.call()删除主机Kernel适配器(DeleteHostKernelInterface)
API请求
URLs
DELETE zstack/v1/l2-networks/kernel-interfaces/{uuid}Headers
Authorization: OAuth the-session-uuidCurl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/l2-networks/kernel-interfaces/a5fc3dae62d832cb9bdbaa18d7bbe475参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| uuid | String | url | 资源的UUID,唯一标示该资源 | 4.1.0 | |
| systemTags (可选) | List | body | 系统标签 | 4.1.0 | |
| userTags (可选) | List | body | 用户标签 | 4.1.0 | |
| deleteMode (可选) | String | body | 删除模式(Permissive / Enforcing,Permissive) | 4.0.1 |
API返回
该API成功时返回一个空的JSON结构{},出错时返回的JSON结构包含一个error字段,例如:
{
"error": {
"code": "SYS.1001",
"description": "A message or a operation timeout",
"details": "Create VM on KVM timeout after 300s"
}
}SDK示例
Java
SDK
DeleteHostKernelInterfaceAction action = new DeleteHostKernelInterfaceAction();
action.uuid = "a5fc3dae62d832cb9bdbaa18d7bbe475";
action.deleteMode = "Permissive";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DeleteHostKernelInterfaceAction.Result res = action.call();Python
SDK
DeleteHostKernelInterfaceAction action = DeleteHostKernelInterfaceAction()
action.uuid = "a5fc3dae62d832cb9bdbaa18d7bbe475"
action.deleteMode = "Permissive"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
DeleteHostKernelInterfaceAction.Result res = action.call()更新主机Kernel适配器(UpdateHostKernelInterface)
API请求
URLs
PUT zstack/v1/l2-networks/kernel-interfaces/{uuid}/actionsHeaders
Authorization: OAuth the-session-uuidBody
{
"updateHostKernelInterface": {
"name": "test2",
"description": "test2-descrption",
"requiredIp": "172.16.100.100",
"netmask": "255.255.255.0",
"trafficTypes": [
"Management"
]
},
"systemTags": [],
"userTags": []
}Note: 上述示例中systemTags、userTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"updateHostKernelInterface":{"name":"test2","description":"test2-descrption","requiredIp":"172.16.100.100","netmask":"255.255.255.0","trafficTypes":["Management"]}}' http://localhost:8080/zstack/v1/l2-networks/kernel-interfaces/6a57407c26ed39838c25650452da1526/actions参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| uuid | String | url | 资源的UUID,唯一标示该资源 | 4.1.0 | |
| name | String | body(包含在updateHostKernelInterface结构中) |
资源名称 | 4.1.0 | |
| description (可选) | String | body(包含在updateHostKernelInterface结构中) |
资源的详细描述 | 4.1.0 | |
| requiredIp (可选) | String | body(包含在updateHostKernelInterface结构中) |
请求的IP | 4.1.0 | |
| netmask (可选) | String | body(包含在updateHostKernelInterface结构中) |
网络掩码 | 4.1.0 | |
| trafficTypes (可选) | List | body(包含在updateHostKernelInterface结构中) |
流量类型 |
|
4.1.0 |
| systemTags (可选) | List | body | 系统标签 | 4.1.0 | |
| userTags (可选) | List | body | 用户标签 | 4.1.0 |
API返回
返回示例
{
"inventory": {
"uuid": "d8704bf64eb3387c9eaddd22c28258ed",
"name": "test-kernel",
"description": "test-kernel",
"hostUuid": "925a0c209777387e92203118f48359d0",
"l2NetworkUuid": "e36292d8f0d4366f88224b5c725927f7",
"l3NetworkUuid": "981959800846388e8e3be6bf91a85d01",
"createDate": "Nov 14, 2017 10:20:57 PM",
"lastOpDate": "Nov 14, 2017 10:20:57 PM"
}
}#inventory
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | 资源的UUID,唯一标示该资源 | 4.1.0 |
| name | String | 资源名称 | 4.1.0 |
| description | String | 资源的详细描述 | 4.1.0 |
| hostUuid | String | 主机UUID | 4.1.0 |
| l2PortGroupUuid | String | 端口组UUID | 4.1.0 |
| l3NetworkUuid | String | 分布式端口组UUID | 4.1.0 |
| usedIps | List | IP配置 | 4.1.0 |
| trafficTypes | List | 流量类型 | 4.1.0 |
| createDate | Timestamp | 创建时间 | 4.1.0 |
| lastOpDate | Timestamp | 最后一次修改时间 | 4.1.0 |
#error
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| code | String | 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 | 4.1.0 |
| description | String | 错误的概要描述 | 4.1.0 |
| details | String | 错误的详细信息 | 4.1.0 |
| elaboration | String | 保留字段,默认为null | 4.1.0 |
| opaque | LinkedHashMap | 保留字段,默认为null | 4.1.0 |
| cause | ErrorCode | 根错误,引发当前错误的源错误,若无原错误,该字段为null | 4.1.0 |
SDK示例
Java
SDK
UpdateHostKernelInterfaceAction action = new UpdateHostKernelInterfaceAction();
action.uuid = "6a57407c26ed39838c25650452da1526";
action.name = "test2";
action.description = "test2-descrption";
action.requiredIp = "172.16.100.100";
action.netmask = "255.255.255.0";
action.trafficTypes = asList("Management");
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UpdateHostKernelInterfaceAction.Result res = action.call();Python
SDK
UpdateHostKernelInterfaceAction action = UpdateHostKernelInterfaceAction()
action.uuid = "6a57407c26ed39838c25650452da1526"
action.name = "test2"
action.description = "test2-descrption"
action.requiredIp = "172.16.100.100"
action.netmask = "255.255.255.0"
action.trafficTypes = [Management]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
UpdateHostKernelInterfaceAction.Result res = action.call()查询主机Kernel适配器(QueryHostKernelInterface)
查询Kernel适配器
API请求
URLs
GET zstack/v1/l3-networks/kernel-interfaces
GET zstack/v1/l3-networks/kernel-interfaces/{uuid}Headers
Authorization: OAuth the-session-uuidCurl示例
curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X GET http://localhost:8080/zstack/v1/l3-networks/kernel-interfaces?curl -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" -X GET http://localhost:8080/zstack/v1/l3-networks/kernel-interfaces/4acac30252e03f82a198e3e3b8eb8f7f可查询字段
运行CLI命令行工具,输入QueryHostKernelInterface并按Tab键查看所有可查询字段以及可跨表查询的资源名。
API返回
返回示例
{
"inventories": [
{
"uuid": "ff054502e59933a8a494cea5dc88d700",
"name": "host-kernel-interface",
"description": "example",
"hostUuid": "ff0192fa70113da886101145c084bd00",
"l2NetworkUuid": "ff0915ef0d3e32708d3150708a72c400",
"l3NetworkUuid": "ff07d561c51c3ef996d682825dcff700",
"usedIps": [
{
"hostKernelInterfaceUuid": "ff054502e59933a8a494cea5dc88d700",
"uuid": "ff0d1627c13c3337a92767d011d03a00",
"l3NetworkUuid": "ff07d561c51c3ef996d682825dcff700",
"ipVersion": 4,
"ip": "192.168.0.2",
"netmask": "255.255.255.0",
"ipInLong": 3232235522,
"ipInBinary": [
-64,
-88,
0,
2
],
"createDate": "Nov 14, 2017 2:20:57 PM",
"lastOpDate": "Nov 14, 2017 2:20:57 PM"
}
],
"trafficTypes": [
"Management"
],
"createDate": "Nov 14, 2017 2:20:57 PM",
"lastOpDate": "Nov 14, 2017 2:20:57 PM"
}
]
}| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| success | boolean | 请求是否成功 | 4.1.0 |
| inventories | List | 详情参考inventories | 4.1.0 |
| error | ErrorCode | 详情参考error | 4.1.0 |
#inventories
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | 资源的UUID,唯一标示该资源 | 4.1.0 |
| name | String | 资源名称 | 4.1.0 |
| description | String | 资源的详细描述 | 4.1.0 |
| hostUuid | String | 主机UUID | 4.1.0 |
| l2NetworkUuid | String | 分布式交换机UUID | 4.1.0 |
| l3NetworkUuid | String | 分布式端口组UUID | 4.1.0 |
| trafficTypes | List | 流量类型 | 4.1.0 |
| createDate | Timestamp | 创建时间 | 4.1.0 |
| lastOpDate | Timestamp | 最后一次修改时间 | 4.1.0 |
| usedIps | List | 详情参考usedIps | 4.1.0 |
#usedIps
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| hostKernelInterfaceUuid | String | Kernel适配器的UUID | 4.1.0 |
| uuid | String | 资源的UUID,唯一标示该资源 | 4.1.0 |
| ipRangeUuid | String | IP段UUID | 4.1.0 |
| l3NetworkUuid | String | 分布式端口组UUID | 4.1.0 |
| ipVersion | Integer | IP协议号 | 4.1.0 |
| ip | String | IP地址 | 4.1.0 |
| netmask | String | 子网掩码 | 4.1.0 |
| gateway | String | 网关地址 | 4.1.0 |
| usedFor | String | 分配原因 | 4.1.0 |
| ipInLong | Long | Long存储的IP地址,仅ipv4有效 | 4.1.0 |
| vmNicUuid | String | 虚拟机网卡UUID | 4.1.0 |
| createDate | Timestamp | 创建时间 | 4.1.0 |
| lastOpDate | Timestamp | 最后一次修改时间 | 4.1.0 |
#error
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| code | String | 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 | 0.6 |
| description | String | 错误的概要描述 | 0.6 |
| details | String | 错误的详细信息 | 0.6 |
| elaboration | String | 保留字段,默认为null | 0.6 |
| opaque | LinkedHashMap | 保留字段,默认为null | 0.6 |
| cause | ErrorCode | 根错误,引发当前错误的源错误,若无原错误,该字段为null | 0.6 |
SDK示例
Java SDK
QueryHostKernelInterfaceAction action = new QueryHostKernelInterfaceAction();
action.conditions = asList();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryHostKernelInterfaceAction.Result res = action.call();Python SDK
action = QueryHostKernelInterfaceAction()
action.conditions = []
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()批量创建Kernel适配器(BatchCreateHostKernelInterface)
API请求
URLs
POST zstack/v1/l3-networks/{l3NetworkUuid}/kernel-interfacesHeaders
Authorization: OAuth the-session-uuidBody
{
"params": {
"structs": [
{
"name": "host-kernel-interface-1",
"description": "example",
"hostUuid": "ff0192fa70113da886101145c084bd00",
"ip": "192.168.0.1",
"netmask": "255.255.255.0"
},
{
"name": "host-kernel-interface-2",
"description": "example",
"hostUuid": "ff0956f0005a313e8e1178392c01cd00",
"ip": "192.168.0.2",
"netmask": "255.255.255.0"
}
],
"trafficTypes": [
"Management"
]
},
"systemTags": [],
"userTags": []
}Note: 上述示例中
systemTags、userTags字段可以省略。列出是为了表示body中可以包含这两个字段。Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"structs":[{"name":"host-kernel-interface-1","description":"example","hostUuid":"ff0192fa70113da886101145c084bd00","ip":"192.168.0.1","netmask":"255.255.255.0"},{"name":"host-kernel-interface-2","description":"example","hostUuid":"ff0956f0005a313e8e1178392c01cd00","ip":"192.168.0.2","netmask":"255.255.255.0"}],"trafficTypes":["Management"]}}' \
http://localhost:8080/zstack/v1/l3-networks/ff07d561c51c3ef996d682825dcff700/kernel-interfaces参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| structs | List | body(包含在params结构中) |
Kernel适配器结构体列表 | 4.10.20 | |
| l3NetworkUuid | String | url | 分布式端口组UUID | 4.10.20 | |
| trafficTypes (可选) | List | body(包含在params结构中) |
流量类型 |
|
4.10.20 |
| systemTags (可选) | List | body | 系统标签 | 4.10.20 | |
| userTags (可选) | List | body | 用户标签 | 4.10.20 |
API返回
返回示例
{
"results": [
{
"inventory": {
"uuid": "ff054502e59933a8a494cea5dc88d700",
"name": "host-kernel-interface",
"description": "example",
"hostUuid": "ff0192fa70113da886101145c084bd00",
"l2NetworkUuid": "ff0915ef0d3e32708d3150708a72c400",
"l3NetworkUuid": "ff07d561c51c3ef996d682825dcff700",
"usedIps": [
{
"hostKernelInterfaceUuid": "ff054502e59933a8a494cea5dc88d700",
"uuid": "ff0d1627c13c3337a92767d011d03a00",
"l3NetworkUuid": "ff07d561c51c3ef996d682825dcff700",
"ipVersion": 4,
"ip": "192.168.0.2",
"netmask": "255.255.255.0",
"ipInLong": 3232235522,
"ipInBinary": [
-64,
-88,
0,
2
],
"createDate": "Nov 14, 2017 2:20:57 PM",
"lastOpDate": "Nov 14, 2017 2:20:57 PM"
}
],
"trafficTypes": [
"Management"
],
"createDate": "Nov 14, 2017 2:20:57 PM",
"lastOpDate": "Nov 14, 2017 2:20:57 PM"
}
}
]
}#results
#error
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| code | String | 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 | 0.6 |
| description | String | 错误的概要描述 | 0.6 |
| details | String | 错误的详细信息 | 0.6 |
| elaboration | String | 保留字段,默认为null | 0.6 |
| opaque | LinkedHashMap | 保留字段,默认为null | 0.6 |
| cause | ErrorCode | 根错误,引发当前错误的源错误,若无原错误,该字段为null | 0.6 |
#inventory
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| uuid | String | 资源的UUID,唯一标示该资源 | 4.1.0 |
| name | String | 资源名称 | 4.1.0 |
| description | String | 资源的详细描述 | 4.1.0 |
| hostUuid | String | 主机UUID | 4.1.0 |
| l2NetworkUuid | String | 分布式交换机UUID | 4.1.0 |
| l3NetworkUuid | String | 分布式端口组UUID | 4.1.0 |
| trafficTypes | List | 流量类型 | 4.1.0 |
| createDate | Timestamp | 创建时间 | 4.1.0 |
| lastOpDate | Timestamp | 最后一次修改时间 | 4.1.0 |
| usedIps | List | 详情参考usedIps | 4.1.0 |
#usedIps
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| hostKernelInterfaceUuid | String | Kernel适配器的UUID | 4.1.0 |
| uuid | String | 资源的UUID,唯一标示该资源 | 4.1.0 |
| ipRangeUuid | String | IP段UUID | 4.1.0 |
| l3NetworkUuid | String | 分布式端口组UUID | 4.1.0 |
| ipVersion | Integer | IP协议号 | 4.1.0 |
| ip | String | IP地址 | 4.1.0 |
| netmask | String | 子网掩码 | 4.1.0 |
| gateway | String | 网关地址 | 4.1.0 |
| usedFor | String | 分配原因 | 4.1.0 |
| ipInLong | Long | Long存储的IP地址,仅ipv4有效 | 4.1.0 |
| vmNicUuid | String | 虚拟机网卡UUID | 4.1.0 |
| createDate | Timestamp | 创建时间 | 4.1.0 |
| lastOpDate | Timestamp | 最后一次修改时间 | 4.1.0 |
#error
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| code | String | 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 | 4.1.0 |
| description | String | 错误的概要描述 | 4.1.0 |
| details | String | 错误的详细信息 | 4.1.0 |
| elaboration | String | 保留字段,默认为null | 4.1.0 |
| opaque | LinkedHashMap | 保留字段,默认为null | 4.1.0 |
| cause | ErrorCode | 根错误,引发当前错误的源错误,若无原错误,该字段为null | 4.1.0 |
SDK示例
Java SDK
BatchCreateHostKernelInterfaceAction action = new BatchCreateHostKernelInterfaceAction();
action.structs = asList([name:host-kernel-interface-1, description:example, hostUuid:ff0192fa70113da886101145c084bd00, ip:192.168.0.1, netmask:255.255.255.0],[name:host-kernel-interface-2, description:example, hostUuid:ff0956f0005a313e8e1178392c01cd00, ip:192.168.0.2, netmask:255.255.255.0]);
action.l3NetworkUuid = "ff07d561c51c3ef996d682825dcff700";
action.trafficTypes = asList("Management");
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
BatchCreateHostKernelInterfaceAction.Result res = action.call();Python SDK
action = BatchCreateHostKernelInterfaceAction()
action.structs = [[name:host-kernel-interface-1, description:example, hostUuid:ff0192fa70113da886101145c084bd00, ip:192.168.0.1, netmask:255.255.255.0], [name:host-kernel-interface-2, description:example, hostUuid:ff0956f0005a313e8e1178392c01cd00, ip:192.168.0.2, netmask:255.255.255.0]]
action.l3NetworkUuid = "ff07d561c51c3ef996d682825dcff700"
action.trafficTypes = [Management]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()获取候选的主机Kernel适配器(GetCandidateHostKernelInterfaces)
API请求
URLs
GET zstack/v1/hosts/kernel-interfacesHeaders
Authorization: OAuth the-session-uuidCurl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/hosts/kernel-interfaces?hostUuids=ff0192fa70113da886101145c084bd00&cidr=192.168.1.0/24&trafficTypes=Management&containsRejected=true&limit=1000&start=0参数列表
| 名字 | 类型 | 位置 | 描述 | 可选值 | 起始版本 |
|---|---|---|---|---|---|
| hostUuids | List | query | 主机UUID列表 | 4.10.20 | |
| cidr (可选) | String | query | 无类别域间路由 | 4.10.20 | |
| trafficTypes (可选) | List | query | 流量类型 |
|
4.10.20 |
| containsRejected (可选) | boolean | query | 是否包含被拒绝的候选项 | 4.10.20 | |
| limit (可选) | Integer | query | 最多返回的记录数,类似MySQL的limit,默认值1000 | 4.10.20 | |
| start (可选) | Integer | query | 起始查询记录位置,类似MySQL的offset。跟limit配合使用可以实现分页 |
4.10.20 | |
| systemTags (可选) | List | query | 系统标签 | 4.10.20 | |
| userTags (可选) | List | query | 用户标签 | 4.10.20 |
API返回
返回示例
{
"results": [
{
"candidate": {
"uuid": "ff054502e59933a8a494cea5dc88d700",
"name": "host-kernel-interface",
"description": "example",
"hostUuid": "ff0192fa70113da886101145c084bd00",
"l2NetworkUuid": "ff0915ef0d3e32708d3150708a72c400",
"l3NetworkUuid": "ff07d561c51c3ef996d682825dcff700",
"usedIps": [
{
"hostKernelInterfaceUuid": "ff054502e59933a8a494cea5dc88d700",
"uuid": "ff0d1627c13c3337a92767d011d03a00",
"l3NetworkUuid": "ff07d561c51c3ef996d682825dcff700",
"ipVersion": 4,
"ip": "192.168.0.2",
"netmask": "255.255.255.0",
"ipInLong": 3232235522,
"ipInBinary": [
-64,
-88,
0,
2
],
"createDate": "Nov 14, 2017 2:20:57 PM",
"lastOpDate": "Nov 14, 2017 2:20:57 PM"
}
],
"trafficTypes": [
"Management"
],
"createDate": "Nov 14, 2017 2:20:57 PM",
"lastOpDate": "Nov 14, 2017 2:20:57 PM"
},
"finalDecision": "ACCEPTED",
"decisions": []
}
]
}| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| results | List | 候选的主机Kernel适配器的返回结果列表 | 4.10.20 |
| success | boolean | 4.10.20 | |
| error | ErrorCode | 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error | 4.10.20 |
#error
| 名字 | 类型 | 描述 | 起始版本 |
|---|---|---|---|
| code | String | 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 | 0.6 |
| description | String | 错误的概要描述 | 0.6 |
| details | String | 错误的详细信息 | 0.6 |
| elaboration | String | 保留字段,默认为null | 0.6 |
| opaque | LinkedHashMap | 保留字段,默认为null | 0.6 |
| cause | ErrorCode | 根错误,引发当前错误的源错误,若无原错误,该字段为null | 0.6 |
SDK示例
Java SDK
GetCandidateHostKernelInterfacesAction action = new GetCandidateHostKernelInterfacesAction();
action.hostUuids = asList("ff0192fa70113da886101145c084bd00");
action.cidr = "192.168.1.0/24";
action.trafficTypes = asList("Management");
action.containsRejected = true;
action.limit = 1000;
action.start = 0;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetCandidateHostKernelInterfacesAction.Result res = action.call();Python SDK
action = GetCandidateHostKernelInterfacesAction()
action.hostUuids = [ff0192fa70113da886101145c084bd00]
action.cidr = "192.168.1.0/24"
action.trafficTypes = [Management]
action.containsRejected = true
action.limit = 1000
action.start = 0
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
res = action.call()