文档目录

负载均衡相关接口

创建负载均衡器(CreateLoadBalancer)

API请求

URLs
POST zstack/v1/load-balancers
Headers
Authorization: OAuth the-session-uuid
Body
{
"params": {
"name": "Test-Lb",
"vipUuid": "59a98484f6fe43b9af1d782f725f40ac"
  },
"systemTags": [],
"userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。

Curl示例

curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 855586410b7b4c0cba21bfd5ed2df4fb" \
-X POST -d '{"params":{"name":"Test-Lb","vipUuid":"d7720f0981853e91b37678e4acb1d4f0"}}' http://localhost:8080/zstack/v1/load-balancers
参数列表
名字 类型 位置 描述 可选值 起始版本
name String body(包含在params结构中) 资源名称 0.6
description (可选) String body(包含在params结构中) 资源的详细描述 0.6
vipUuid String body(包含在params结构中) VIP UUID 0.6
resourceUuid (可选) String body(包含在params结构中) 资源UUID 0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6

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
CreateLoadBalancerAction action = new CreateLoadBalancerAction();
action.name = "Test-Lb";
action.vipUuid = "861b79a91e894ea68f77ffd7007bb57d";
action.sessionId = "056fdb04a78544fd9a43f757d6af4700";
CreateLoadBalancerAction.Result res = action.call();
Python SDK
CreateLoadBalancerAction action = CreateLoadBalancerAction()
action.name = "Test-Lb"
action.vipUuid = "3b1839e4bef9437a9b0cf28789951009"
action.sessionId = "b21c8f46991440d48be3dcf5c4a36f15"
CreateLoadBalancerAction.Result res = action.call()

删除负载均衡器(DeleteLoadBalancer)

API请求

URLs
DELETE/v1/load-balancers/listeners/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 1ac325e9a263466d88a9bdf44c64ce96" \
-X DELETE http://localhost:8080/zstack/v1/load-balancers/listeners/db191bc52926462eb21d24b30db7971f
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 0.6
deleteMode (可选) String body 删除模式 0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6

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
DeleteLoadBalancerListenerAction action = new DeleteLoadBalancerListenerAction();
action.uuid = "2e7918e14cb345888cb57769f117fb91";
action.sessionId = "efa96e940fce42c58c5e43885ce1f37f";
DeleteLoadBalancerListenerAction.Result res = action.call();
Python SDK
DeleteLoadBalancerListenerAction action = DeleteLoadBalancerListenerAction()
action.uuid = "be721492004a49038940201562070e1e"
action.sessionId = "4a6baa8346204970bf3ce9397f48504a"
DeleteLoadBalancerListenerAction.Result res = action.call()

查询负载均衡器(QueryLoadBalancer)

API请求

URLs
GET zstack/v1/load-balancers
GET zstack/v1/load-balancers/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 18a70c9589fa4d93a59a228488e459fb" \
-X GET http://localhost:8080/zstack/v1/load-balancers
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b3fd9ebb07e44e61be3c1f4d24710f9d" \
-X GET http://localhost:8080/zstack/v1/load-balancers/2bc2a3e1855249c6ad436556915253d5

可查询字段

运行CLI命令行工具,输入QueryLoadBalancer并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
"inventories": [
    {
"name": "Test-Lb",
"uuid": "36c2ba1d4a86409693a2de40fa0473ca",
"vipUuid": "8807c418b3b74ee5991006bcc4c670e4"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventories List 详情参考inventories 0.6
#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
#inventories
名字 类型 描述 起始版本
name String 资源名称 0.6
uuid String 资源的UUID,唯一标示该资源 0.6
description String 资源的详细描述 0.6
state String 0.6
vipUuid String VIP UUID 0.6
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
listeners List 详情参考listeners 0.6
#listeners
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
loadBalancerUuid String 负载均衡器UUID 0.6
instancePort Integer 0.6
loadBalancerPort Integer 0.6
protocol String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
vmNicRefs List 详情参考vmNicRefs 0.6
certificateRefs List 详情参考certificateRefs 0.6
#vmNicRefs
名字 类型 描述 起始版本
id Long 0.6
listenerUuid String 0.6
vmNicUuid String 云主机网卡UUID 0.6
status String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
#certificateRefs
名字 类型 描述 起始版本
id Long 2.3
listenerUuid String 2.3
certificateUuid String 2.3
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
QueryLoadBalancerAction action = new QueryLoadBalancerAction();
action.conditions = asList();
action.sessionId = "d649f3ea966e437db93b2049bef206ca";
QueryLoadBalancerAction.Result res = action.call();
Python SDK
QueryLoadBalancerAction action = QueryLoadBalancerAction()
action.conditions = []
action.sessionId = "244697b709b0490ab8d8d37e6f94592f"
QueryLoadBalancerAction.Result res = action.call()

刷新负载均衡器(RefreshLoadBalancer)

API请求

URLs
PUT zstack/v1/load-balancers/{uuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
"refreshLoadBalancer": {},
"systemTags": [],
"userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b1e125550d924d17a0efa1bb6dd36806" \
-X PUT -d '{"refreshLoadBalancer":{}}' \
http://localhost:8080/zstack/v1/load-balancers/9fb0a5a16d06393db160485b0b79fd49/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6

API返回

返回示例
{
"inventory": {
"name": "Test-Lb",
"uuid": "ee6de94ed5bf49c8b09a7bd3e5965c60",
"vipUuid": "691e275592d84c898c1d495febf42a9a"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory LoadBalancerInventory 详情参考inventory 0.6
#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
名字 类型 描述 起始版本
name String 资源名称 0.6
uuid String 资源的UUID,唯一标示该资源 0.6
description String 资源的详细描述 0.6
state String 0.6
vipUuid String VIP UUID 0.6
createDate Timestamp 创建时间 3.1.0
lastOpDate Timestamp 最后一次修改时间 3.1.0
listeners List 详情参考listeners 0.6
#listeners
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
loadBalancerUuid String 负载均衡器UUID 0.6
instancePort Integer 0.6
loadBalancerPort Integer 0.6
protocol String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
vmNicRefs List 详情参考vmNicRefs 0.6
aclRefs List 详情参考aclRefs 3.9.0
certificateRefs List 详情参考certificateRefs 0.6
#vmNicRefs
名字 类型 描述 起始版本
id Long 0.6
listenerUuid String 0.6
vmNicUuid String 云主机网卡UUID 0.6
status String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
#aclRefs
名字 类型 描述 起始版本
id Long 资源唯一标识 3.9.0
listenerUuid String 监听器唯一标识 3.9.0
aclUuid String 访问策略组唯一标识 3.9.0
type String 访问策略类型 3.9.0
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0
#certificateRefs
名字 类型 描述 起始版本
id Long 2.3
listenerUuid String 2.3
certificateUuid String 2.3
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
RefreshLoadBalancerAction action = new RefreshLoadBalancerAction();
action.uuid = "cad53be6896e43cf8aef4021d165f56d";
action.sessionId = "fec73392481a4edaa2738131516ef0d7";
RefreshLoadBalancerAction.Result res = action.call();
Python SDK
RefreshLoadBalancerAction action = RefreshLoadBalancerAction()
action.uuid = "3556da2f1d3b47e48ec3068a5c3055ba"
action.sessionId = "9947fe6582f44b5a961143d08f49a2eb"
RefreshLoadBalancerAction.Result res = action.call()

创建负载均衡监听器(CreateLoadBalancerListener)

API请求

URLs
POST zstack/v1/load-balancers/{loadBalancerUuid}/listeners
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "name": "Test-Listener",
    "instancePort": 80.0,
    "loadBalancerPort": 80.0,
    "protocol": "http"
    "aclStatus": "disable",
    "aclType": "black"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8"
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c"
-X POST -d '{"params":{"name":"Test-Listener","instancePort":80.0,"loadBalancerPort":80.0,"protocol":"http","aclStatus":"disable","aclType":"black"}}'
http://localhost:8080/zstack/v1/load-balancers/192b3fe960d63e078ced8f59529a25ad/listeners
参数列表
名字 类型 位置 描述 可选值 起始版本
loadBalancerUuid String url 负载均衡器UUID 0.6
name String body(包含在params结构中) 资源名称 0.6
description (可选) String body(包含在params结构中) 资源的详细描述 0.6
instancePort(可选) Integer body(包含在params结构中) 云主机端口 0.6
loadBalancerPort int body(包含在params结构中) 负载均衡器端口 0.6
protocol (可选) String body(包含在params结构中) 协议
  • tcp
  • http
  • https
  • udp
3.0.0
certificateUuid (可选) String body(包含在params结构中) 2.3.2
resourceUuid (可选) String body(包含在params结构中) 资源UUID 0.6
instancePort (可选) Integer body(包含在params结构中) 0.6
healthCheckProtocol (可选) String body(包含在params结构中) 健康检查协议
  • tcp
  • udp
  • http
3.9.0
healthCheckMethod (可选) String body(包含在params结构中) 健康检查方法
  • GET
  • HEAD
3.9.0
healthCheckURI (可选) String body(包含在params结构中) 健康检查的URI 3.9.0
healthCheckHttpCode (可选) String body(包含在params结构中) 健康检查期望的返回码 3.9.0
aclStatus (可选) String body(包含在params结构中) 访问控制策略状态
  • enable
  • disable
3.9.0
aclUuids (可选) list body(包含在params结构中) 访问控制策略组 3.9.0
aclType (可选) String body(包含在params结构中) 访问控制策略类型
  • white
  • black
3.9.0
tagUuids (可选) list body(包含在params结构中) 标签UUID列表 0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6
Note:
  • ZStack Cloud创建负载均衡监听器时支持设置7层健康检查参数,SystemTags增加healthCheckParameter选项。
    • 选项格式为:healthCheckParameter::{parameter} ,参数形如:healthCheckParameter::method:uri:expect-result
    • 例如:healthCheckParameter::GET:/healthstatus.html:http_2xx
  • ZStack Cloud创建负载均衡监听器时支持设置监听器访问控制状态,SystemTags增加accessControlStatus选项。
    • 选项格式为:accessControlStatus::{status}
    • 例如:accessControlStatus::enable
  • ZStack Cloud创建负载均衡监听器时支持指定会话保持模式及开关,SystemTags增加sessionPersistence选项。
    • 选项格式为:sessionPersistence::{%s},其中%s可以为disable/iphash/insert/rewrite
    • 例如:sessionPersistence::insert
  • ZStack Cloud创建负载均衡监听器时支持设置指定会话保持时间,SystemTags增加sessionIdleTimeout选项。
    • 选项格式为:sessionIdleTimeout::{%s},其中%s可以为30-3600
    • 例如:sessionIdleTimeout::60
  • ZStack Cloud创建负载均衡监听器时支持设置会话保持重写名称,SystemTags增加cookieName选项。
    • 选项格式为:validRegexValues::{%s},其中%s可以为"[A-Za-z0-9_-]+", maxLength = 20
    • 例如:cookieName::zstack-cookie
  • ZStack Cloud支持设置是否开启HTTP重定向,SystemTags增加httpRedirectHttps选项。
    • 选项格式为:httpRedirectHttps::{%s},其中%s可以为disable/enable
    • 例如:httpRedirectHttps::enable
  • ZStack Cloud支持重定向目的监听端口,SystemTags增加redirectPort选项。
    • 选项格式为:redirectPort::{%s},其中%s可以为1-65535
    • 例如:redirectPort::80
  • ZStack Cloud支持重定向状态码,SystemTags增加statusCode选项。
    • 选项格式为:statusCode::{%s},其中%s可以为301/302/303/307/308
    • 例如:statusCode::302

API返回

返回示例
{
  "inventory": {
    "uuid": "e82212513e2f3644885d98ce164ee687",
    "name": "Test-Listener",
    "loadBalancerUuid": "f7b267e9a5683ba5981b79196ca65d47",
    "instancePort": 80.0,
    "loadBalancerPort": 80.0,
    "protocol": "http"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory LoadBalancerListenerInventory 详情参考inventory 0.6
#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,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
loadBalancerUuid String 负载均衡器UUID 0.6
instancePort Integer 0.6
loadBalancerPort Integer 0.6
protocol String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
vmNicRefs List 详情参考vmNicRefs 0.6
aclRefs List 详情参考aclRefs 3.9.0
certificateRefs List 详情参考certificateRefs 0.6
#vmNicRefs
名字 类型 描述 起始版本
id Long 0.6
listenerUuid String 0.6
vmNicUuid String 云主机网卡UUID 0.6
status String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
#aclRefs
名字 类型 描述 起始版本
id Long 资源唯一标识 3.9.0
listenerUuid String 监听器唯一标识 3.9.0
aclUuid String 访问策略组唯一标识 3.9.0
type String 访问策略类型 3.9.0
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0
#certificateRefs
名字 类型 描述 起始版本
id Long 2.3
listenerUuid String 2.3
certificateUuid String 2.3.2
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
CreateLoadBalancerListenerAction action = new CreateLoadBalancerListenerAction();
action.loadBalancerUuid = "192b3fe960d63e078ced8f59529a25ad";
action.name = "Test-Listener";
action.instancePort = 80.0;
action.loadBalancerPort = 80.0;
action.protocol = "http";
action.aclStatus = "disable";
action.aclType = "black";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateLoadBalancerListenerAction.Result res = action.call();
Python SDK
CreateLoadBalancerListenerAction action = CreateLoadBalancerListenerAction()
action.loadBalancerUuid = "192b3fe960d63e078ced8f59529a25ad"
action.name = "Test-Listener"
action.instancePort = 80.0
action.loadBalancerPort = 80.0
action.protocol = "http"
action.aclStatus = "disable"
action.aclType = "black"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateLoadBalancerListenerAction.Result res = action.call()

删除负载均衡监听器(DeleteLoadBalancerListener)

API请求

URLs
DELETE/v1/load-balancers/listeners/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 1ac325e9a263466d88a9bdf44c64ce96" \
-X DELETE http://localhost:8080/zstack/v1/load-balancers/listeners/db191bc52926462eb21d24b30db7971f?
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6

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
DeleteLoadBalancerListenerAction action = new DeleteLoadBalancerListenerAction();
action.uuid = "2e7918e14cb345888cb57769f117fb91";
action.sessionId = "efa96e940fce42c58c5e43885ce1f37f";
DeleteLoadBalancerListenerAction.Result res = action.call();
Python SDK
DeleteLoadBalancerListenerAction action = DeleteLoadBalancerListenerAction()
action.uuid = "be721492004a49038940201562070e1e"
action.sessionId = "4a6baa8346204970bf3ce9397f48504a"
DeleteLoadBalancerListenerAction.Result res = action.call()

查询负载均衡监听器(QueryLoadBalancerListener)

API请求

URLs
GET zstack/v1/load-balancers/listeners
GET zstack/v1/load-balancers/listeners/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 6d7ca1c2f39440d5a4110962854c3234" \
-X GET http://localhost:8080/zstack/v1/load-balancers/listeners
curl \
-H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 057112ec0d5e4bcd9193b1f9499169eb" \
-X GET http://localhost:8080/zstack/v1/load-balancers/listeners/cdf776df1cb04ae6a3cf1fb1330dab2d

可查询字段

运行CLI命令行工具,输入QueryLoadBalancerListener并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
"inventories": [
    {
"uuid": "be2f6e299e364f5cb71e52f11eeee34e",
"name": "Test-Listener",
"loadBalancerUuid": "90a89f6ec62b4acf9ccb770b453fddc5",
"instancePort": 80.0,
"loadBalancerPort": 80.0,
"protocol": "http"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventories List 详情参考inventories 0.6
#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
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
loadBalancerUuid String 负载均衡器UUID 0.6
instancePort Integer 0.6
loadBalancerPort Integer 0.6
protocol String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
vmNicRefs List 详情参考vmNicRefs 0.6
certificateRefs List 详情参考certificateRefs 0.6
#vmNicRefs
名字 类型 描述 起始版本
id Long 0.6
listenerUuid String 0.6
vmNicUuid String 云主机网卡UUID 0.6
status String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
#certificateRefs
名字 类型 描述 起始版本
id Long 2.3
listenerUuid String 2.3
certificateUuid String 2.3
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
QueryLoadBalancerListenerAction action = new QueryLoadBalancerListenerAction();
action.conditions = asList();
action.sessionId = "c616bc4ee56648b6a921b2da70fe7798";
QueryLoadBalancerListenerAction.Result res = action.call();
Python SDK
QueryLoadBalancerListenerAction action = QueryLoadBalancerListenerAction()
action.conditions = []
action.sessionId = "529b237f77cd4130b861ebe99a30c983"
QueryLoadBalancerListenerAction.Result res = action.call()

更新负载均衡监听器(UpdateLoadBalancerListener)

API请求

URLs
PUT zstack/v1/load-balancers/listeners/{uuid}
Headers
Authorization: OAuth the-session-uuid
Body
{
  "updateLoadBalancerListener": {
    "name": "Test-Listener",
    "description": "desc info"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"updateLoadBalancerListener":{"name":"Test-Listener","description":"desc info"}}' \
http://localhost:8080/zstack/v1/load-balancers/listeners/6566eed5ab7432d2956b1c093d25daab
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 0.6
name (可选) String body(包含在updateLoadBalancerListener结构中) 资源名称 0.6
description (可选) String body(包含在updateLoadBalancerListener结构中) 资源的详细描述 0.6
systemTags (可选) List body 0.6
userTags (可选) List body 0.6

API返回

返回示例
{
  "inventory": {
    "uuid": "84735dfea01d359196587f35314a1e17",
    "name": "Test-Listener",
    "description": "desc info",
    "loadBalancerUuid": "c8f77d0df3c83e449f0d372dbe80bd09",
    "instancePort": 80.0,
    "loadBalancerPort": 80.0,
    "protocol": "http"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory LoadBalancerListenerInventory 详情参考inventory 0.6
#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,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
loadBalancerUuid String 负载均衡器UUID 0.6
instancePort Integer 0.6
loadBalancerPort Integer 0.6
protocol String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
vmNicRefs List 详情参考vmNicRefs 0.6
certificateRefs List 详情参考certificateRefs 0.6
#vmNicRefs
名字 类型 描述 起始版本
id Long 0.6
listenerUuid String 0.6
vmNicUuid String 云主机网卡UUID 0.6
status String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
#certificateRefs
名字 类型 描述 起始版本
id Long 2.3
listenerUuid String 2.3
certificateUuid String 2.3
createDate Timestamp 创建时间 2.3
lastOpDate Timestamp 最后一次修改时间 2.3

SDK示例

Java SDK
UpdateLoadBalancerListenerAction action = new UpdateLoadBalancerListenerAction();
action.uuid = "6566eed5ab7432d2956b1c093d25daab";
action.name = "Test-Listener";
action.description = "desc info";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UpdateLoadBalancerListenerAction.Result res = action.call();
Python SDK
UpdateLoadBalancerListenerAction action = UpdateLoadBalancerListenerAction()
action.uuid = "6566eed5ab7432d2956b1c093d25daab"
action.name = "Test-Listener"
action.description = "desc info"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
UpdateLoadBalancerListenerAction.Result res = action.call()

修改负载均衡监听器参数(ChangeLoadBalancerListener)

API请求

URLs
PUT zstack/v1/load-balancers/listeners/{uuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
  "changeLoadBalancerListener": {
    "connectionIdleTimeout": 300,
    "maxConnection": 5000,
    "balancerAlgorithm": "roundrobin",
    "healthCheckTarget": "default",
    "healthyThreshold": 2,
    "unhealthyThreshold": 3,
    "healthCheckInterval": 5,
    "nbprocess": 1,
    "httpMode": "http-keep-alive",
    "sessionPersistence": "insert",
    "sessionIdleTimeout": 60
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"changeLoadBalancerListener":{"connectionIdleTimeout":300,"maxConnection":5000,"balancerAlgorithm":"roundrobin","healthCheckTarget":"default","healthyThreshold":2,"unhealthyThreshold":3,"healthCheckInterval":5,"nbprocess":1,"httpMode":"http-keep-alive","sessionPersistence":"insert","sessionIdleTimeout":60}}'
http://localhost:8080/zstack/v1/load-balancers/listeners/ca4f7cea0c5a3a329742b127d7f80615/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 3.4.0
connectionIdleTimeout (可选) Integer body(包含在changeLoadBalancerListener结构中) 空闲连接超时 4.6.0
maxConnection (可选) Integer body(包含在changeLoadBalancerListener结构中) 最大连接并发数 4.6.0
balancerAlgorithm (可选) String body(包含在changeLoadBalancerListener结构中) 负载均衡算法
  • weightroundrobin
  • roundrobin
  • leastconn
  • source
4.6.0
healthCheckTarget (可选) String body(包含在changeLoadBalancerListener结构中) 健康检查端口 4.6.0
healthyThreshold (可选) Integer body(包含在changeLoadBalancerListener结构中) 健康检查阈值 4.6.0
unhealthyThreshold (可选) Integer body(包含在changeLoadBalancerListener结构中) 非健康检查阈值 4.6.0
healthCheckInterval (可选) Integer body(包含在changeLoadBalancerListener结构中) 健康检查间隔 4.6.0
healthCheckProtocol (可选) String body(包含在changeLoadBalancerListener结构中) 负载均衡健康检查协议
  • tcp
  • udp
  • http
3.9.0
healthCheckMethod (可选) String body(包含在changeLoadBalancerListener结构中) 健康检查方法
  • GET
  • HEAD
3.9.0
healthCheckURI (可选) String body(包含在changeLoadBalancerListener结构中) 健康检查的URI 3.9.0
healthCheckHttpCode (可选) String body(包含在changeLoadBalancerListener结构中) 健康检查期望的成功返回码 3.9.0
aclStatus (可选) String body(包含在changeLoadBalancerListener结构中) 访问控制状态
  • enable
  • disable
3.9.0
securityPolicyType (可选) String body(包含在changeLoadBalancerListener结构中) TLS安全策略
  • tls_cipher_policy_default
  • tls_cipher_policy_1_0
  • tls_cipher_policy_1_1
  • tls_cipher_policy_1_2
  • tls_cipher_policy_1_2_strict
  • tls_cipher_policy_1_2_strict_with_1_3
4.1.0
nbprocess (可选) Integer body(包含在changeLoadBalancerListener结构中) 负载均衡进程数量 4.1.0
httpMode (可选) String body(包含在changeLoadBalancerListener结构中) 负载均衡HTTP模式
  • http-keep-alive
  • http-server-close
  • http-tunnel
  • httpclose
  • forceclose
4.1.0
sessionPersistence (可选) String body(包含在changeLoadBalancerListener结构中) 会话保持模式
  • disable
  • iphash
  • insert
  • rewrite
4.6.0
sessionIdleTimeout (可选) Integer body(包含在changeLoadBalancerListener结构中) 会话保持超时时间 4.6.0
cookieName (可选) String body(包含在changeLoadBalancerListener结构中) Cookie名称 4.6.0
systemTags (可选) List body 3.4.0
userTags (可选) List body 3.4.0
httpRedirectHttps (可选) String body(包含在changeLoadBalancerListener结构中) http重定向https
  • disable
  • enable
4.7.21
redirectPort (可选) Integer body(包含在changeLoadBalancerListener结构中) 重定向端口 4.7.21
statusCode (可选) Integer body(包含在changeLoadBalancerListener结构中) 重定向状态码
  • 301
  • 302
  • 303
  • 307
  • 308
4.7.21
Note:
  • ZStack Cloud修改负载均衡监听器参数时支持设置后端server的权重,SystemTags增加balancerWeight选项。
    • 选项格式为:balancerWeight::{nicUuid}::{weight} ,其中weight为对应后端server的权重.范围:0~100的整数,默认为100。
    • 例如:balancerWeight::{"c44007641c9040c6b2587e19b1b3e2b0"}::{100}

API返回

返回示例
{
  "inventory": {
    "uuid": "6356c8f8ae7534bab9a2175144dbc997",
    "name": "Test-Listener",
    "description": "desc info",
    "loadBalancerUuid": "4b32d1a27d8e3d77a606e5014caddd86",
    "instancePort": 80,
    "loadBalancerPort": 80,
    "protocol": "http"
  }
}
名字 类型 描述 起始版本
success boolean 3.4.0
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.4.0
inventory LoadBalancerListenerInventory 详情参考inventory 3.4.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.4.0
description String 错误的概要描述 3.4.0
details String 错误的详细信息 3.4.0
elaboration String 保留字段,默认为null 3.4.0
opaque LinkedHashMap 保留字段,默认为null 3.4.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.4.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.4.0
name String 资源名称 3.4.0
description String 资源的详细描述 3.4.0
loadBalancerUuid String 负载均衡器UUID 3.4.0
instancePort Integer 3.4.0
loadBalancerPort Integer 3.4.0
protocol String 3.4.0
createDate Timestamp 创建时间 3.4.0
lastOpDate Timestamp 最后一次修改时间 3.4.0
vmNicRefs List 详情参考vmNicRefs 3.4.0
aclRefs List 详情参考aclRefs 3.9.0
certificateRefs List 详情参考certificateRefs 3.4.0
serverGroupRefs List 详情参考serverGroupRefs 4.1.0
#vmNicRefs
名字 类型 描述 起始版本
id Long 3.4.0
listenerUuid String 3.4.0
vmNicUuid String 云主机网卡UUID 3.4.0
status String 3.4.0
createDate Timestamp 创建时间 3.4.0
lastOpDate Timestamp 最后一次修改时间 3.4.0
#aclRefs
名字 类型 描述 起始版本
id Long 资源唯一标识 3.9.0
listenerUuid String 监听器唯一标识 3.9.0
aclUuid String 访问策略组唯一标识 3.9.0
type String 访问策略类型 3.9.0
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0
#certificateRefs
名字 类型 描述 起始版本
id Long 3.4.0
listenerUuid String 3.4.0
certificateUuid String 3.4.0
createDate Timestamp 创建时间 3.4.0
lastOpDate Timestamp 最后一次修改时间 3.4.0
#serverGroupRefs
名字 类型 描述 起始版本
id long 4.1.0
listenerUuid String 4.1.0
serverGroupUuid String 4.1.0
createDate Timestamp 创建时间 4.1.0
lastOpDate Timestamp 最后一次修改时间 4.1.0

SDK示例

Java SDK
ChangeLoadBalancerListenerAction action = new ChangeLoadBalancerListenerAction();
action.uuid = "ca4f7cea0c5a3a329742b127d7f80615";
action.connectionIdleTimeout = 300;
action.maxConnection = 5000;
action.balancerAlgorithm = "roundrobin";
action.healthCheckTarget = "default";
action.healthyThreshold = 2;
action.unhealthyThreshold = 3;
action.healthCheckInterval = 5;
action.nbprocess = 1;
action.httpMode = "http-keep-alive";
action.sessionPersistence = "insert";
action.sessionIdleTimeout = 60;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
ChangeLoadBalancerListenerAction.Result res = action.call();
Python SDK
ChangeLoadBalancerListenerAction action = ChangeLoadBalancerListenerAction()
action.uuid = "ca4f7cea0c5a3a329742b127d7f80615"
action.connectionIdleTimeout = 300
action.maxConnection = 5000
action.balancerAlgorithm = "roundrobin"
action.healthCheckTarget = "default"
action.healthyThreshold = 2
action.unhealthyThreshold = 3
action.healthCheckInterval = 5
action.nbprocess = 1
action.httpMode = "http-keep-alive"
action.sessionPersistence = "insert"
action.sessionIdleTimeout = 60
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
ChangeLoadBalancerListenerAction.Result res = action.call()

获取云主机网卡(GetCandidateVmNicsForLoadBalancer)

获取可供负载均衡器添加的云主机网卡。

API请求

URLs
GET zstack/v1/load-balancers/listeners/{listenerUuid}/vm-instances/candidate-nics
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth e75a29e482104fd094dde90d69b212c6" \
-X GET http://localhost:8080/zstack/v1/load-balancers/listeners/4fe68eaa71ec47699c19b7819bd52f80/vm-instances/candidate-nics
参数列表
名字 类型 位置 描述 可选值 起始版本
listenerUuid String url 负载均衡监听器UUID 0.6
systemTags (可选) List query 系统标签 0.6
userTags (可选) List query 用户标签 0.6

API返回

返回示例
{
"inventories": [
    {
"uuid": "241c356448ea4dfab7e95dd1e52a163d",
"vmInstanceUuid": "5d0f9bee14d94943a4e6ec34c599dc19",
"usedIpUuid": "2974a99c5bc2481cb54759c83fea8f52",
"l3NetworkUuid": "a3dfb2211d6e4d538a73bb3453876654",
"ip": "192.168.1.10",
"mac": "00:0c:29:bd:99:fc",
"netmask": "255.255.255.0",
"gateway": "192.168.1.1",
"deviceId": 0.0,
"createDate": "Jun 7, 2017 9:21:22 PM",
"lastOpDate": "Jun 7, 2017 9:21:22 PM"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventories List 详情参考inventories 0.6
#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
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
vmInstanceUuid String 云主机UUID 0.6
l3NetworkUuid String 三层网络UUID 0.6
ip String 0.6
mac String 0.6
netmask String 0.6
gateway String 0.6
metaData String 0.6
deviceId Integer 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6

SDK示例

Java SDK
GetCandidateVmNicsForLoadBalancerAction action = new GetCandidateVmNicsForLoadBalancerAction();
action.listenerUuid = "939a6fd54937468b9b9c27c4d3903c6e";
action.sessionId = "af93732431cf45e7828b579fcb9e46bc";
GetCandidateVmNicsForLoadBalancerAction.Result res = action.call();
Python SDK
GetCandidateVmNicsForLoadBalancerAction action = GetCandidateVmNicsForLoadBalancerAction()
action.listenerUuid = "a100b63272ff460eb0301f5759ff2fce"
action.sessionId = "423e456aac8041aa9bfdf4ce26ab32ce"
GetCandidateVmNicsForLoadBalancerAction.Result res = action.call()

添加云主机网卡到负载均衡器(AddVmNicToLoadBalancer)

API请求

URLs
POST zstack/v1/load-balancers/listeners/{listenerUuid}/vm-instances/nics
Headers
Authorization: OAuth the-session-uuid
Body
{
"params": {
"vmNicUuids": [
"aadbfdd8413545d9a1d53d8a0cfa58a8"
    ]
  },
"systemTags": [],
"userTags": []
}

上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。

Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth 47ac995879a9490f83b6b6ef79bca99f" \
-X POST -d '{"params":{"vmNicUuids":["f141d926d13b34cc905507ce7aa9a479"]}}' \
http://localhost:8080/zstack/v1/load-balancers/listeners/21e488793c5831a0842d72a63bcdaf04/vm-instances/nics
参数列表
名字 类型 位置 描述 可选值 起始版本
vmNicUuids List body(包含在params结构中) 云主机网卡UUID 0.6
listenerUuid String url 负载均衡监听器UUID 0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6
Note:
  • ZStack Cloud添加云主机网卡到负载均衡器时支持设置后端server的权重,SystemTags增加balancerWeight选项。
    • 选项格式为:balancerWeight::{nicUuid}::{weight} ,其中weight为对应后端server的权重.范围:0~100的整数,默认为100。
    • 例如:balancerWeight::{"c44007641c9040c6b2587e19b1b3e2b0"}::{100}

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
AddVmNicToLoadBalancerAction action = new AddVmNicToLoadBalancerAction();
action.vmNicUuids = asList("01741d3cc9d0422197b2176f3c977d52");
action.listenerUuid = "fd774b08700545ddaa5938fb2ccf4320";
action.sessionId = "ed5ea413b2354a94ac7b427528f88d26";
AddVmNicToLoadBalancerAction.Result res = action.call()
Python SDK
AddVmNicToLoadBalancerAction action = AddVmNicToLoadBalancerAction()
action.vmNicUuids = [9b08b7603be945d2928a08a0e8d1fc00]
action.listenerUuid = "874bcad239a645af8cd69ed267a48809"
action.sessionId = "a70b5f9862424ceb8ea8e2c7d679e0df"
AddVmNicToLoadBalancerAction.Result res = action.call()

从负载均衡器移除云主机网卡(RemoveVmNicFromLoadBalancer)

API请求

URLs
DELETE/v1/load-balancers/listeners/{listenerUuid}/vm-instances/nics?vmNicUuids={vmNicUuids}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth a846184b54d845dbb85e50ba35364b6e" \
-X DELETE http://localhost:8080/zstack/v1/load-balancers/listeners/9fda51c382d841e0a47a4195f8dac67b/vm-instances/nics?vmNicUuids=9952aa24a745355b866782dd9b1c53e8
参数列表
名字 类型 位置 描述 可选值 起始版本
vmNicUuids List body 云主机网卡UUID 0.6
listenerUuid String url 负载均衡监听器UUID 0.6
systemTags (可选) List body 系统标签 0.6
userTags (可选) List body 用户标签 0.6

API返回

返回示例
{
"inventory": {
"name": "Test-Lb",
"uuid": "40f1e1e109d34feaa119ad14b7ed5638",
"vipUuid": "d3968f8dd2764d988f09b251617b2cf9"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory LoadBalancerInventory 详情参考inventory 0.6
#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
名字 类型 描述 起始版本
name String 资源名称 0.6
uuid String 资源的UUID,唯一标示该资源 0.6
description String 资源的详细描述 0.6
state String 0.6
vipUuid String VIP UUID 0.6
listeners List 详情参考listeners 0.6
#listeners
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
loadBalancerUuid String 负载均衡器UUID 0.6
instancePort Integer 0.6
loadBalancerPort Integer 0.6
protocol String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
vmNicRefs List 详情参考vmNicRefs 0.6
#vmNicRefs
名字 类型 描述 起始版本
id Long 0.6
listenerUuid String 0.6
vmNicUuid String 云主机网卡UUID 0.6
status String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6

SDK示例

Java SDK
RemoveVmNicFromLoadBalancerAction action = new RemoveVmNicFromLoadBalancerAction();
action.vmNicUuids = asList("6d6c33021c0a432c9030046c3a24be6e");
action.listenerUuid = "0a11bad9fdb84538953689a5c4430126";
action.sessionId = "867ccf6fbe934fe19e8bb5ba861de7fd";
RemoveVmNicFromLoadBalancerAction.Result res = action.call();
Python SDK
RemoveVmNicFromLoadBalancerAction action = RemoveVmNicFromLoadBalancerAction()
action.vmNicUuids = [ef9de345e68f4e6aa51164eff6ee5249]
action.listenerUuid = "04f42584e0a14afdb382e0961f057076"
action.sessionId = "46c7dabf668943faa1bb8b6be0d60397"
RemoveVmNicFromLoadBalancerAction.Result res = action.call()

更新负载均衡器(UpdateLoadBalancer)

API请求

URLs
PUT zstack/v1/load-balancers/{uuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
  "updateLoadBalancer": {
    "name": "Test-Lb",
    "description": "info"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"updateLoadBalancer":{"name":"Test-Lb","description":"info"}}' \
http://localhost:8080/zstack/v1/load-balancers/a355359f46d13e5ab64d6eeff66aedbf/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 0.6
name (可选) String body(包含在updateLoadBalancer结构中) 资源名称 0.6
description (可选) String body(包含在updateLoadBalancer结构中) 资源的详细描述 0.6
resourceUuid (可选) String body(包含在updateLoadBalancer结构中) 0.6
systemTags (可选) List body 0.6
userTags (可选) List body 0.6

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
UpdateLoadBalancerAction action = new UpdateLoadBalancerAction();
action.uuid = "a355359f46d13e5ab64d6eeff66aedbf";
action.name = "Test-Lb";
action.description = "info";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UpdateLoadBalancerAction.Result res = action.call();
Python SDK
UpdateLoadBalancerAction action = UpdateLoadBalancerAction()
action.uuid = "a355359f46d13e5ab64d6eeff66aedbf"
action.name = "Test-Lb"
action.description = "info"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
UpdateLoadBalancerAction.Result res = action.call()

创建证书(CreateCertificate)

API请求

URLs
POST zstack/v1/certificates
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "name": "www.domain.com",
    "certificate": "-----BEGIN PRIVATE KEY-----MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDIpe/zscx2QwunyYPHusMCt/5n4LWSi4pzfsUfvzo4txTe7WwWZ4H3iEA7RwSkg49xx3Rn6jh9S0RMncqUjTxPUjlZKoN0w+nU2AsxXhbV8AiS3UoWJcZUtlfLAjeUKajy1F5hyxHsKJlmOozAcXObunzuaWkKvjchqMSX54+E02h7JNtzv9lagr0MsB4hkraanlpQWr4mv3N7D8kBz9wplMeJXeo4awls3kygiN63TnIQ5hzF7jNxR3uSFYQtUfLnzKcj4aIma62tDf6pkpQ3S+SprGs/OkGvEldNus6FXTO7ixFyORM27ka3Rmv6SYQQquV+950xfb42n9s2UE0pAgMBAAECggEAd0Ixye3O8ifNgLAE1K0MBcyouMNWCMFJzHX34nO9vkILdKk3imWBWUgxrUn713CezOjZJn6PjuEyujs7UmpUA22Cyp27PqbHkAvNM02SUxx1bB19UIapSGaM7gvmTvkoAxT4+DVD9NL4wktgp22HYnNImEgs+AaxLB9sokEvC6mxP23pv7LfnK4EDH2b+1pbE++VheVIBZxK+mTdxPRgwQBJv2VtK0LRDndnRU8gmB5O0KBnep3sCsAKmWtAJf37L9lWgc9QC7LysnuMsZ10KuoeQndVetsAazBARHhUdLd1fWQqbLklC6NtcLodoS+umuvHArKx6LungK4cmNyGZQKBgQD8abrSQXOJuNNx7N+EJjn3hjc3FOrSAgGY7LCiQ/qEP8EkWslxotRHKqKqz78oq4RApT/fBV17HqPe67IJ5xhwYlIUASzs8WvigRV6ITSZv92G8iOSdW7ALZzF4q+tc2RgPvW/pZPaHoxfNU6TC/QW35qAslPWab7Tel9cGb030wKBgQDLf+OLfUfhJUq8mZ3L8U1p1QLpSJNx282hGVg+OXwpuQQZ5qrxkhzF/xBYCjmMQMEfxLtRJxYTPgkHcTp9ozl4ICXdmHpL8V+E5PBQjbCBNCbE8kjXngCc0wiKsLJIUWmKoVRoq7dAaUz3INzkp0tujf8aa7DzC+1C4+j5nvFlkwKBgCTAKClQyke1F2Qw/uI4xpvZeNSWQRJOpHjljVoy15jFx5NJfKcE9C9gb8q68LQ1NM5MwR3xpAi3D1j3rDZw5UgHqLes7CObiv+xl7TufMAeBV0OiEtcucFVYswVE0sH0AeLYzCCJSLO69U457XVObbS26X9UOOZBeW4nYXFYZ1tAoGBAJgnShIcnObZRDUZwqMfC5uqud+E9UF3cBsY4SK9RnnHrSpUjtHKRps/5498LaURMZS4OroluFqw0n1vCqWvqiOIHee+vwoTMjEiIBCKsEMapDYzVYVpzNl07HkOPm7V+Ey/7WXJpl2RngtU1fRcpYjGwMuXY5mF/GM8FxC055bjAoGATYqGLqNhbZ0SVhgSs/2vHMlJYaHwJLlYPS+9OWk5JycvYSbfa9/rc2jblieuE5MseHQFqU0BRVeHqY4dqpQpeO45fC5h9vqC4Lp2LaXbwtxv5Z0cb/o8ecXuSXeF/G2PQvhK44IQFb9RSLuQBUMp/gX6UNVS0dP+7dDpim5n2zY\u003d-----END PRIVATE KEY----------BEGIN CERTIFICATE-----MIID4zCCAsugAwIBAgIJAJWhNGBNfAtTMA0GCSqGSIb3DQEBCwUAMIGHMQswCQYDVQQGEwJDTjELMAkGA1UECAwCU0gxCzAJBgNVBAcMAlNIMQ8wDQYDVQQKDAZaU1RBQ0sxDDAKBgNVBAsMA0RldjEZMBcGA1UEAwwQc2hpeGluLnpzdGFjay5pbzEkMCIGCSqGSIb3DQEJARYVc2hpeGluLnJ1YW5AenN0YWNrLmlvMB4XDTE4MDMyMDA0NDYwM1oXDTE5MDMyMDA0NDYwM1owgYcxCzAJBgNVBAYTAkNOMQswCQYDVQQIDAJTSDELMAkGA1UEBwwCU0gxDzANBgNVBAoMBlpTVEFDSzEMMAoGA1UECwwDRGV2MRkwFwYDVQQDDBBzaGl4aW4uenN0YWNrLmlvMSQwIgYJKoZIhvcNAQkBFhVzaGl4aW4ucnVhbkB6c3RhY2suaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIpe/zscx2QwunyYPHusMCt/5n4LWSi4pzfsUfvzo4txTe7WwWZ4H3iEA7RwSkg49xx3Rn6jh9S0RMncqUjTxPUjlZKoN0w+nU2AsxXhbV8AiS3UoWJcZUtlfLAjeUKajy1F5hyxHsKJlmOozAcXObunzuaWkKvjchqMSX54+E02h7JNtzv9lagr0MsB4hkraanlpQWr4mv3N7D8kBz9wplMeJXeo4awls3kygiN63TnIQ5hzF7jNxR3uSFYQtUfLnzKcj4aIma62tDf6pkpQ3S+SprGs/OkGvEldNus6FXTO7ixFyORM27ka3Rmv6SYQQquV+950xfb42n9s2UE0pAgMBAAGjUDBOMB0GA1UdDgQWBBTg8PjTZJmWSDA9GPTJ7K5wWTPVsjAfBgNVHSMEGDAWgBTg8PjTZJmWSDA9GPTJ7K5wWTPVsjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQDH5POu4FmmAsHXe49gL6Y6Kdcti2FTBYse7ru05V4URGsU5Dab25mATqp7z7WCiv9pTdlC0KoJieML7rpLiLskBBLpToU8bUigX96q5dmMtDbLSmGeYfhHj9tHeYuGv0U2eRcN2Jo6xlHrl6X3RazO/h/9mCW6sLAGgaJ9MyQAiqRfYaO+ToBqdbHmBEwmueaOO7wFy9UbU7F/CdeEzblKdWRMKQgf5yxA6pXYghjPWWNAqElxnnXskBmjMhYaDfGCQuRK5Ma362ax0i8UGqYfMnflBgy1qX8+f7VjyWokK4tcjep72TTYkIVBGbwBMqk2U2v5qslBRmM5+pmAESJq-----END CERTIFICATE-----"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"www.domain.com","certificate":"-----BEGIN PRIVATE KEY-----MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDIpe/zscx2QwunyYPHusMCt/5n4LWSi4pzfsUfvzo4txTe7WwWZ4H3iEA7RwSkg49xx3Rn6jh9S0RMncqUjTxPUjlZKoN0w+nU2AsxXhbV8AiS3UoWJcZUtlfLAjeUKajy1F5hyxHsKJlmOozAcXObunzuaWkKvjchqMSX54+E02h7JNtzv9lagr0MsB4hkraanlpQWr4mv3N7D8kBz9wplMeJXeo4awls3kygiN63TnIQ5hzF7jNxR3uSFYQtUfLnzKcj4aIma62tDf6pkpQ3S+SprGs/OkGvEldNus6FXTO7ixFyORM27ka3Rmv6SYQQquV+950xfb42n9s2UE0pAgMBAAECggEAd0Ixye3O8ifNgLAE1K0MBcyouMNWCMFJzHX34nO9vkILdKk3imWBWUgxrUn713CezOjZJn6PjuEyujs7UmpUA22Cyp27PqbHkAvNM02SUxx1bB19UIapSGaM7gvmTvkoAxT4+DVD9NL4wktgp22HYnNImEgs+AaxLB9sokEvC6mxP23pv7LfnK4EDH2b+1pbE++VheVIBZxK+mTdxPRgwQBJv2VtK0LRDndnRU8gmB5O0KBnep3sCsAKmWtAJf37L9lWgc9QC7LysnuMsZ10KuoeQndVetsAazBARHhUdLd1fWQqbLklC6NtcLodoS+umuvHArKx6LungK4cmNyGZQKBgQD8abrSQXOJuNNx7N+EJjn3hjc3FOrSAgGY7LCiQ/qEP8EkWslxotRHKqKqz78oq4RApT/fBV17HqPe67IJ5xhwYlIUASzs8WvigRV6ITSZv92G8iOSdW7ALZzF4q+tc2RgPvW/pZPaHoxfNU6TC/QW35qAslPWab7Tel9cGb030wKBgQDLf+OLfUfhJUq8mZ3L8U1p1QLpSJNx282hGVg+OXwpuQQZ5qrxkhzF/xBYCjmMQMEfxLtRJxYTPgkHcTp9ozl4ICXdmHpL8V+E5PBQjbCBNCbE8kjXngCc0wiKsLJIUWmKoVRoq7dAaUz3INzkp0tujf8aa7DzC+1C4+j5nvFlkwKBgCTAKClQyke1F2Qw/uI4xpvZeNSWQRJOpHjljVoy15jFx5NJfKcE9C9gb8q68LQ1NM5MwR3xpAi3D1j3rDZw5UgHqLes7CObiv+xl7TufMAeBV0OiEtcucFVYswVE0sH0AeLYzCCJSLO69U457XVObbS26X9UOOZBeW4nYXFYZ1tAoGBAJgnShIcnObZRDUZwqMfC5uqud+E9UF3cBsY4SK9RnnHrSpUjtHKRps/5498LaURMZS4OroluFqw0n1vCqWvqiOIHee+vwoTMjEiIBCKsEMapDYzVYVpzNl07HkOPm7V+Ey/7WXJpl2RngtU1fRcpYjGwMuXY5mF/GM8FxC055bjAoGATYqGLqNhbZ0SVhgSs/2vHMlJYaHwJLlYPS+9OWk5JycvYSbfa9/rc2jblieuE5MseHQFqU0BRVeHqY4dqpQpeO45fC5h9vqC4Lp2LaXbwtxv5Z0cb/o8ecXuSXeF/G2PQvhK44IQFb9RSLuQBUMp/gX6UNVS0dP+7dDpim5n2zY=-----END PRIVATE KEY----------BEGIN CERTIFICATE-----MIID4zCCAsugAwIBAgIJAJWhNGBNfAtTMA0GCSqGSIb3DQEBCwUAMIGHMQswCQYDVQQGEwJDTjELMAkGA1UECAwCU0gxCzAJBgNVBAcMAlNIMQ8wDQYDVQQKDAZaU1RBQ0sxDDAKBgNVBAsMA0RldjEZMBcGA1UEAwwQc2hpeGluLnpzdGFjay5pbzEkMCIGCSqGSIb3DQEJARYVc2hpeGluLnJ1YW5AenN0YWNrLmlvMB4XDTE4MDMyMDA0NDYwM1oXDTE5MDMyMDA0NDYwM1owgYcxCzAJBgNVBAYTAkNOMQswCQYDVQQIDAJTSDELMAkGA1UEBwwCU0gxDzANBgNVBAoMBlpTVEFDSzEMMAoGA1UECwwDRGV2MRkwFwYDVQQDDBBzaGl4aW4uenN0YWNrLmlvMSQwIgYJKoZIhvcNAQkBFhVzaGl4aW4ucnVhbkB6c3RhY2suaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIpe/zscx2QwunyYPHusMCt/5n4LWSi4pzfsUfvzo4txTe7WwWZ4H3iEA7RwSkg49xx3Rn6jh9S0RMncqUjTxPUjlZKoN0w+nU2AsxXhbV8AiS3UoWJcZUtlfLAjeUKajy1F5hyxHsKJlmOozAcXObunzuaWkKvjchqMSX54+E02h7JNtzv9lagr0MsB4hkraanlpQWr4mv3N7D8kBz9wplMeJXeo4awls3kygiN63TnIQ5hzF7jNxR3uSFYQtUfLnzKcj4aIma62tDf6pkpQ3S+SprGs/OkGvEldNus6FXTO7ixFyORM27ka3Rmv6SYQQquV+950xfb42n9s2UE0pAgMBAAGjUDBOMB0GA1UdDgQWBBTg8PjTZJmWSDA9GPTJ7K5wWTPVsjAfBgNVHSMEGDAWgBTg8PjTZJmWSDA9GPTJ7K5wWTPVsjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQDH5POu4FmmAsHXe49gL6Y6Kdcti2FTBYse7ru05V4URGsU5Dab25mATqp7z7WCiv9pTdlC0KoJieML7rpLiLskBBLpToU8bUigX96q5dmMtDbLSmGeYfhHj9tHeYuGv0U2eRcN2Jo6xlHrl6X3RazO/h/9mCW6sLAGgaJ9MyQAiqRfYaO+ToBqdbHmBEwmueaOO7wFy9UbU7F/CdeEzblKdWRMKQgf5yxA6pXYghjPWWNAqElxnnXskBmjMhYaDfGCQuRK5Ma362ax0i8UGqYfMnflBgy1qX8+f7VjyWokK4tcjep72TTYkIVBGbwBMqk2U2v5qslBRmM5+pmAESJq-----END CERTIFICATE-----"}}' http://localhost:8080/zstack/v1/certificates
参数列表
名字 类型 位置 描述 可选值 起始版本
name String body(包含在params结构中) 资源名称 2.3.2
certificate String body(包含在params结构中) 2.3.2
description (可选) String body(包含在params结构中) 资源的详细描述 2.3.2
resourceUuid (可选) String body(包含在params结构中) 2.3.2
systemTags (可选) List body 2.3.2
userTags (可选) List body 2.3.2

API返回

返回示例
{
  "inventory": {
    "name": "www.domain.com",
    "certificate": "-----BEGIN PRIVATE KEY-----MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDIpe/zscx2QwunyYPHusMCt/5n4LWSi4pzfsUfvzo4txTe7WwWZ4H3iEA7RwSkg49xx3Rn6jh9S0RMncqUjTxPUjlZKoN0w+nU2AsxXhbV8AiS3UoWJcZUtlfLAjeUKajy1F5hyxHsKJlmOozAcXObunzuaWkKvjchqMSX54+E02h7JNtzv9lagr0MsB4hkraanlpQWr4mv3N7D8kBz9wplMeJXeo4awls3kygiN63TnIQ5hzF7jNxR3uSFYQtUfLnzKcj4aIma62tDf6pkpQ3S+SprGs/OkGvEldNus6FXTO7ixFyORM27ka3Rmv6SYQQquV+950xfb42n9s2UE0pAgMBAAECggEAd0Ixye3O8ifNgLAE1K0MBcyouMNWCMFJzHX34nO9vkILdKk3imWBWUgxrUn713CezOjZJn6PjuEyujs7UmpUA22Cyp27PqbHkAvNM02SUxx1bB19UIapSGaM7gvmTvkoAxT4+DVD9NL4wktgp22HYnNImEgs+AaxLB9sokEvC6mxP23pv7LfnK4EDH2b+1pbE++VheVIBZxK+mTdxPRgwQBJv2VtK0LRDndnRU8gmB5O0KBnep3sCsAKmWtAJf37L9lWgc9QC7LysnuMsZ10KuoeQndVetsAazBARHhUdLd1fWQqbLklC6NtcLodoS+umuvHArKx6LungK4cmNyGZQKBgQD8abrSQXOJuNNx7N+EJjn3hjc3FOrSAgGY7LCiQ/qEP8EkWslxotRHKqKqz78oq4RApT/fBV17HqPe67IJ5xhwYlIUASzs8WvigRV6ITSZv92G8iOSdW7ALZzF4q+tc2RgPvW/pZPaHoxfNU6TC/QW35qAslPWab7Tel9cGb030wKBgQDLf+OLfUfhJUq8mZ3L8U1p1QLpSJNx282hGVg+OXwpuQQZ5qrxkhzF/xBYCjmMQMEfxLtRJxYTPgkHcTp9ozl4ICXdmHpL8V+E5PBQjbCBNCbE8kjXngCc0wiKsLJIUWmKoVRoq7dAaUz3INzkp0tujf8aa7DzC+1C4+j5nvFlkwKBgCTAKClQyke1F2Qw/uI4xpvZeNSWQRJOpHjljVoy15jFx5NJfKcE9C9gb8q68LQ1NM5MwR3xpAi3D1j3rDZw5UgHqLes7CObiv+xl7TufMAeBV0OiEtcucFVYswVE0sH0AeLYzCCJSLO69U457XVObbS26X9UOOZBeW4nYXFYZ1tAoGBAJgnShIcnObZRDUZwqMfC5uqud+E9UF3cBsY4SK9RnnHrSpUjtHKRps/5498LaURMZS4OroluFqw0n1vCqWvqiOIHee+vwoTMjEiIBCKsEMapDYzVYVpzNl07HkOPm7V+Ey/7WXJpl2RngtU1fRcpYjGwMuXY5mF/GM8FxC055bjAoGATYqGLqNhbZ0SVhgSs/2vHMlJYaHwJLlYPS+9OWk5JycvYSbfa9/rc2jblieuE5MseHQFqU0BRVeHqY4dqpQpeO45fC5h9vqC4Lp2LaXbwtxv5Z0cb/o8ecXuSXeF/G2PQvhK44IQFb9RSLuQBUMp/gX6UNVS0dP+7dDpim5n2zY\u003d-----END PRIVATE KEY----------BEGIN CERTIFICATE-----MIID4zCCAsugAwIBAgIJAJWhNGBNfAtTMA0GCSqGSIb3DQEBCwUAMIGHMQswCQYDVQQGEwJDTjELMAkGA1UECAwCU0gxCzAJBgNVBAcMAlNIMQ8wDQYDVQQKDAZaU1RBQ0sxDDAKBgNVBAsMA0RldjEZMBcGA1UEAwwQc2hpeGluLnpzdGFjay5pbzEkMCIGCSqGSIb3DQEJARYVc2hpeGluLnJ1YW5AenN0YWNrLmlvMB4XDTE4MDMyMDA0NDYwM1oXDTE5MDMyMDA0NDYwM1owgYcxCzAJBgNVBAYTAkNOMQswCQYDVQQIDAJTSDELMAkGA1UEBwwCU0gxDzANBgNVBAoMBlpTVEFDSzEMMAoGA1UECwwDRGV2MRkwFwYDVQQDDBBzaGl4aW4uenN0YWNrLmlvMSQwIgYJKoZIhvcNAQkBFhVzaGl4aW4ucnVhbkB6c3RhY2suaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIpe/zscx2QwunyYPHusMCt/5n4LWSi4pzfsUfvzo4txTe7WwWZ4H3iEA7RwSkg49xx3Rn6jh9S0RMncqUjTxPUjlZKoN0w+nU2AsxXhbV8AiS3UoWJcZUtlfLAjeUKajy1F5hyxHsKJlmOozAcXObunzuaWkKvjchqMSX54+E02h7JNtzv9lagr0MsB4hkraanlpQWr4mv3N7D8kBz9wplMeJXeo4awls3kygiN63TnIQ5hzF7jNxR3uSFYQtUfLnzKcj4aIma62tDf6pkpQ3S+SprGs/OkGvEldNus6FXTO7ixFyORM27ka3Rmv6SYQQquV+950xfb42n9s2UE0pAgMBAAGjUDBOMB0GA1UdDgQWBBTg8PjTZJmWSDA9GPTJ7K5wWTPVsjAfBgNVHSMEGDAWgBTg8PjTZJmWSDA9GPTJ7K5wWTPVsjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQDH5POu4FmmAsHXe49gL6Y6Kdcti2FTBYse7ru05V4URGsU5Dab25mATqp7z7WCiv9pTdlC0KoJieML7rpLiLskBBLpToU8bUigX96q5dmMtDbLSmGeYfhHj9tHeYuGv0U2eRcN2Jo6xlHrl6X3RazO/h/9mCW6sLAGgaJ9MyQAiqRfYaO+ToBqdbHmBEwmueaOO7wFy9UbU7F/CdeEzblKdWRMKQgf5yxA6pXYghjPWWNAqElxnnXskBmjMhYaDfGCQuRK5Ma362ax0i8UGqYfMnflBgy1qX8+f7VjyWokK4tcjep72TTYkIVBGbwBMqk2U2v5qslBRmM5+pmAESJq-----END CERTIFICATE-----"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 2.3.2
inventory CertificateInventory 详情参考inventory 2.3.2
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 2.3.2
description String 错误的概要描述 2.3.2
details String 错误的详细信息 2.3.2
elaboration String 保留字段,默认为null 2.3.2
opaque LinkedHashMap 保留字段,默认为null 2.3.2
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 2.3.2
#inventory
名字 类型 描述 起始版本
name String 资源名称 2.3.2
uuid String 资源的UUID,唯一标示该资源 2.3.2
certificate String 证书内容 2.3.2
description String 资源的详细描述 2.3.2
createDate Timestamp 创建时间 2.3.2
lastOpDate Timestamp 最后一次修改时间 2.3.2
listeners List 详情参考listeners 2.3.2
#listeners
名字 类型 描述 起始版本
id Long 2.3.2
listenerUuid String 2.3.2
certificateUuid String 2.3.2
createDate Timestamp 创建时间 2.3.2
lastOpDate Timestamp 最后一次修改时间 2.3.2

SDK示例

Java SDK
CreateCertificateAction action = new CreateCertificateAction();
action.name = "www.domain.com";
action.certificate = "-----BEGIN PRIVATE KEY-----MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDIpe/zscx2QwunyYPHusMCt/5n4LWSi4pzfsUfvzo4txTe7WwWZ4H3iEA7RwSkg49xx3Rn6jh9S0RMncqUjTxPUjlZKoN0w+nU2AsxXhbV8AiS3UoWJcZUtlfLAjeUKajy1F5hyxHsKJlmOozAcXObunzuaWkKvjchqMSX54+E02h7JNtzv9lagr0MsB4hkraanlpQWr4mv3N7D8kBz9wplMeJXeo4awls3kygiN63TnIQ5hzF7jNxR3uSFYQtUfLnzKcj4aIma62tDf6pkpQ3S+SprGs/OkGvEldNus6FXTO7ixFyORM27ka3Rmv6SYQQquV+950xfb42n9s2UE0pAgMBAAECggEAd0Ixye3O8ifNgLAE1K0MBcyouMNWCMFJzHX34nO9vkILdKk3imWBWUgxrUn713CezOjZJn6PjuEyujs7UmpUA22Cyp27PqbHkAvNM02SUxx1bB19UIapSGaM7gvmTvkoAxT4+DVD9NL4wktgp22HYnNImEgs+AaxLB9sokEvC6mxP23pv7LfnK4EDH2b+1pbE++VheVIBZxK+mTdxPRgwQBJv2VtK0LRDndnRU8gmB5O0KBnep3sCsAKmWtAJf37L9lWgc9QC7LysnuMsZ10KuoeQndVetsAazBARHhUdLd1fWQqbLklC6NtcLodoS+umuvHArKx6LungK4cmNyGZQKBgQD8abrSQXOJuNNx7N+EJjn3hjc3FOrSAgGY7LCiQ/qEP8EkWslxotRHKqKqz78oq4RApT/fBV17HqPe67IJ5xhwYlIUASzs8WvigRV6ITSZv92G8iOSdW7ALZzF4q+tc2RgPvW/pZPaHoxfNU6TC/QW35qAslPWab7Tel9cGb030wKBgQDLf+OLfUfhJUq8mZ3L8U1p1QLpSJNx282hGVg+OXwpuQQZ5qrxkhzF/xBYCjmMQMEfxLtRJxYTPgkHcTp9ozl4ICXdmHpL8V+E5PBQjbCBNCbE8kjXngCc0wiKsLJIUWmKoVRoq7dAaUz3INzkp0tujf8aa7DzC+1C4+j5nvFlkwKBgCTAKClQyke1F2Qw/uI4xpvZeNSWQRJOpHjljVoy15jFx5NJfKcE9C9gb8q68LQ1NM5MwR3xpAi3D1j3rDZw5UgHqLes7CObiv+xl7TufMAeBV0OiEtcucFVYswVE0sH0AeLYzCCJSLO69U457XVObbS26X9UOOZBeW4nYXFYZ1tAoGBAJgnShIcnObZRDUZwqMfC5uqud+E9UF3cBsY4SK9RnnHrSpUjtHKRps/5498LaURMZS4OroluFqw0n1vCqWvqiOIHee+vwoTMjEiIBCKsEMapDYzVYVpzNl07HkOPm7V+Ey/7WXJpl2RngtU1fRcpYjGwMuXY5mF/GM8FxC055bjAoGATYqGLqNhbZ0SVhgSs/2vHMlJYaHwJLlYPS+9OWk5JycvYSbfa9/rc2jblieuE5MseHQFqU0BRVeHqY4dqpQpeO45fC5h9vqC4Lp2LaXbwtxv5Z0cb/o8ecXuSXeF/G2PQvhK44IQFb9RSLuQBUMp/gX6UNVS0dP+7dDpim5n2zY=-----END PRIVATE KEY----------BEGIN CERTIFICATE-----MIID4zCCAsugAwIBAgIJAJWhNGBNfAtTMA0GCSqGSIb3DQEBCwUAMIGHMQswCQYDVQQGEwJDTjELMAkGA1UECAwCU0gxCzAJBgNVBAcMAlNIMQ8wDQYDVQQKDAZaU1RBQ0sxDDAKBgNVBAsMA0RldjEZMBcGA1UEAwwQc2hpeGluLnpzdGFjay5pbzEkMCIGCSqGSIb3DQEJARYVc2hpeGluLnJ1YW5AenN0YWNrLmlvMB4XDTE4MDMyMDA0NDYwM1oXDTE5MDMyMDA0NDYwM1owgYcxCzAJBgNVBAYTAkNOMQswCQYDVQQIDAJTSDELMAkGA1UEBwwCU0gxDzANBgNVBAoMBlpTVEFDSzEMMAoGA1UECwwDRGV2MRkwFwYDVQQDDBBzaGl4aW4uenN0YWNrLmlvMSQwIgYJKoZIhvcNAQkBFhVzaGl4aW4ucnVhbkB6c3RhY2suaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIpe/zscx2QwunyYPHusMCt/5n4LWSi4pzfsUfvzo4txTe7WwWZ4H3iEA7RwSkg49xx3Rn6jh9S0RMncqUjTxPUjlZKoN0w+nU2AsxXhbV8AiS3UoWJcZUtlfLAjeUKajy1F5hyxHsKJlmOozAcXObunzuaWkKvjchqMSX54+E02h7JNtzv9lagr0MsB4hkraanlpQWr4mv3N7D8kBz9wplMeJXeo4awls3kygiN63TnIQ5hzF7jNxR3uSFYQtUfLnzKcj4aIma62tDf6pkpQ3S+SprGs/OkGvEldNus6FXTO7ixFyORM27ka3Rmv6SYQQquV+950xfb42n9s2UE0pAgMBAAGjUDBOMB0GA1UdDgQWBBTg8PjTZJmWSDA9GPTJ7K5wWTPVsjAfBgNVHSMEGDAWgBTg8PjTZJmWSDA9GPTJ7K5wWTPVsjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQDH5POu4FmmAsHXe49gL6Y6Kdcti2FTBYse7ru05V4URGsU5Dab25mATqp7z7WCiv9pTdlC0KoJieML7rpLiLskBBLpToU8bUigX96q5dmMtDbLSmGeYfhHj9tHeYuGv0U2eRcN2Jo6xlHrl6X3RazO/h/9mCW6sLAGgaJ9MyQAiqRfYaO+ToBqdbHmBEwmueaOO7wFy9UbU7F/CdeEzblKdWRMKQgf5yxA6pXYghjPWWNAqElxnnXskBmjMhYaDfGCQuRK5Ma362ax0i8UGqYfMnflBgy1qX8+f7VjyWokK4tcjep72TTYkIVBGbwBMqk2U2v5qslBRmM5+pmAESJq-----END CERTIFICATE-----";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateCertificateAction.Result res = action.call();
Python SDK
CreateCertificateAction action = CreateCertificateAction()
action.name = "www.domain.com"
action.certificate = "-----BEGIN PRIVATE KEY-----MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDIpe/zscx2QwunyYPHusMCt/5n4LWSi4pzfsUfvzo4txTe7WwWZ4H3iEA7RwSkg49xx3Rn6jh9S0RMncqUjTxPUjlZKoN0w+nU2AsxXhbV8AiS3UoWJcZUtlfLAjeUKajy1F5hyxHsKJlmOozAcXObunzuaWkKvjchqMSX54+E02h7JNtzv9lagr0MsB4hkraanlpQWr4mv3N7D8kBz9wplMeJXeo4awls3kygiN63TnIQ5hzF7jNxR3uSFYQtUfLnzKcj4aIma62tDf6pkpQ3S+SprGs/OkGvEldNus6FXTO7ixFyORM27ka3Rmv6SYQQquV+950xfb42n9s2UE0pAgMBAAECggEAd0Ixye3O8ifNgLAE1K0MBcyouMNWCMFJzHX34nO9vkILdKk3imWBWUgxrUn713CezOjZJn6PjuEyujs7UmpUA22Cyp27PqbHkAvNM02SUxx1bB19UIapSGaM7gvmTvkoAxT4+DVD9NL4wktgp22HYnNImEgs+AaxLB9sokEvC6mxP23pv7LfnK4EDH2b+1pbE++VheVIBZxK+mTdxPRgwQBJv2VtK0LRDndnRU8gmB5O0KBnep3sCsAKmWtAJf37L9lWgc9QC7LysnuMsZ10KuoeQndVetsAazBARHhUdLd1fWQqbLklC6NtcLodoS+umuvHArKx6LungK4cmNyGZQKBgQD8abrSQXOJuNNx7N+EJjn3hjc3FOrSAgGY7LCiQ/qEP8EkWslxotRHKqKqz78oq4RApT/fBV17HqPe67IJ5xhwYlIUASzs8WvigRV6ITSZv92G8iOSdW7ALZzF4q+tc2RgPvW/pZPaHoxfNU6TC/QW35qAslPWab7Tel9cGb030wKBgQDLf+OLfUfhJUq8mZ3L8U1p1QLpSJNx282hGVg+OXwpuQQZ5qrxkhzF/xBYCjmMQMEfxLtRJxYTPgkHcTp9ozl4ICXdmHpL8V+E5PBQjbCBNCbE8kjXngCc0wiKsLJIUWmKoVRoq7dAaUz3INzkp0tujf8aa7DzC+1C4+j5nvFlkwKBgCTAKClQyke1F2Qw/uI4xpvZeNSWQRJOpHjljVoy15jFx5NJfKcE9C9gb8q68LQ1NM5MwR3xpAi3D1j3rDZw5UgHqLes7CObiv+xl7TufMAeBV0OiEtcucFVYswVE0sH0AeLYzCCJSLO69U457XVObbS26X9UOOZBeW4nYXFYZ1tAoGBAJgnShIcnObZRDUZwqMfC5uqud+E9UF3cBsY4SK9RnnHrSpUjtHKRps/5498LaURMZS4OroluFqw0n1vCqWvqiOIHee+vwoTMjEiIBCKsEMapDYzVYVpzNl07HkOPm7V+Ey/7WXJpl2RngtU1fRcpYjGwMuXY5mF/GM8FxC055bjAoGATYqGLqNhbZ0SVhgSs/2vHMlJYaHwJLlYPS+9OWk5JycvYSbfa9/rc2jblieuE5MseHQFqU0BRVeHqY4dqpQpeO45fC5h9vqC4Lp2LaXbwtxv5Z0cb/o8ecXuSXeF/G2PQvhK44IQFb9RSLuQBUMp/gX6UNVS0dP+7dDpim5n2zY=-----END PRIVATE KEY----------BEGIN CERTIFICATE-----MIID4zCCAsugAwIBAgIJAJWhNGBNfAtTMA0GCSqGSIb3DQEBCwUAMIGHMQswCQYDVQQGEwJDTjELMAkGA1UECAwCU0gxCzAJBgNVBAcMAlNIMQ8wDQYDVQQKDAZaU1RBQ0sxDDAKBgNVBAsMA0RldjEZMBcGA1UEAwwQc2hpeGluLnpzdGFjay5pbzEkMCIGCSqGSIb3DQEJARYVc2hpeGluLnJ1YW5AenN0YWNrLmlvMB4XDTE4MDMyMDA0NDYwM1oXDTE5MDMyMDA0NDYwM1owgYcxCzAJBgNVBAYTAkNOMQswCQYDVQQIDAJTSDELMAkGA1UEBwwCU0gxDzANBgNVBAoMBlpTVEFDSzEMMAoGA1UECwwDRGV2MRkwFwYDVQQDDBBzaGl4aW4uenN0YWNrLmlvMSQwIgYJKoZIhvcNAQkBFhVzaGl4aW4ucnVhbkB6c3RhY2suaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIpe/zscx2QwunyYPHusMCt/5n4LWSi4pzfsUfvzo4txTe7WwWZ4H3iEA7RwSkg49xx3Rn6jh9S0RMncqUjTxPUjlZKoN0w+nU2AsxXhbV8AiS3UoWJcZUtlfLAjeUKajy1F5hyxHsKJlmOozAcXObunzuaWkKvjchqMSX54+E02h7JNtzv9lagr0MsB4hkraanlpQWr4mv3N7D8kBz9wplMeJXeo4awls3kygiN63TnIQ5hzF7jNxR3uSFYQtUfLnzKcj4aIma62tDf6pkpQ3S+SprGs/OkGvEldNus6FXTO7ixFyORM27ka3Rmv6SYQQquV+950xfb42n9s2UE0pAgMBAAGjUDBOMB0GA1UdDgQWBBTg8PjTZJmWSDA9GPTJ7K5wWTPVsjAfBgNVHSMEGDAWgBTg8PjTZJmWSDA9GPTJ7K5wWTPVsjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQDH5POu4FmmAsHXe49gL6Y6Kdcti2FTBYse7ru05V4URGsU5Dab25mATqp7z7WCiv9pTdlC0KoJieML7rpLiLskBBLpToU8bUigX96q5dmMtDbLSmGeYfhHj9tHeYuGv0U2eRcN2Jo6xlHrl6X3RazO/h/9mCW6sLAGgaJ9MyQAiqRfYaO+ToBqdbHmBEwmueaOO7wFy9UbU7F/CdeEzblKdWRMKQgf5yxA6pXYghjPWWNAqElxnnXskBmjMhYaDfGCQuRK5Ma362ax0i8UGqYfMnflBgy1qX8+f7VjyWokK4tcjep72TTYkIVBGbwBMqk2U2v5qslBRmM5+pmAESJq-----END CERTIFICATE-----"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateCertificateAction.Result res = action.call()

删除证书(DeleteCertificate)

API请求

URLs
DELETE zstack/v1/certificates/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/certificates/378bccfaa21d3b7fbb7b9bb014d1541c
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 2.3.2
deleteMode (可选) String body 2.3.2
systemTags (可选) List body 2.3.2
userTags (可选) List body 2.3.2

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
DeleteCertificateAction action = new DeleteCertificateAction();
action.uuid = "378bccfaa21d3b7fbb7b9bb014d1541c";
action.deleteMode = "Permissive";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DeleteCertificateAction.Result res = action.call();
Python SDK
DeleteCertificateAction action = DeleteCertificateAction()
action.uuid = "378bccfaa21d3b7fbb7b9bb014d1541c"
action.deleteMode = "Permissive"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
DeleteCertificateAction.Result res = action.call()

查询证书(QueryCertificate)

API请求

URLs
GET zstack/v1/certificates
GET zstack/v1/certificates/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/certificates
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/certificates/658b7eeb6e2e3ea28c4243ae24e20e07

可查询字段

运行CLI命令行工具,输入QueryCertificate并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
  "inventories": [
    {
      "name": "www.domain.com",
      "certificate": "-----BEGIN PRIVATE KEY-----MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDIpe/zscx2QwunyYPHusMCt/5n4LWSi4pzfsUfvzo4txTe7WwWZ4H3iEA7RwSkg49xx3Rn6jh9S0RMncqUjTxPUjlZKoN0w+nU2AsxXhbV8AiS3UoWJcZUtlfLAjeUKajy1F5hyxHsKJlmOozAcXObunzuaWkKvjchqMSX54+E02h7JNtzv9lagr0MsB4hkraanlpQWr4mv3N7D8kBz9wplMeJXeo4awls3kygiN63TnIQ5hzF7jNxR3uSFYQtUfLnzKcj4aIma62tDf6pkpQ3S+SprGs/OkGvEldNus6FXTO7ixFyORM27ka3Rmv6SYQQquV+950xfb42n9s2UE0pAgMBAAECggEAd0Ixye3O8ifNgLAE1K0MBcyouMNWCMFJzHX34nO9vkILdKk3imWBWUgxrUn713CezOjZJn6PjuEyujs7UmpUA22Cyp27PqbHkAvNM02SUxx1bB19UIapSGaM7gvmTvkoAxT4+DVD9NL4wktgp22HYnNImEgs+AaxLB9sokEvC6mxP23pv7LfnK4EDH2b+1pbE++VheVIBZxK+mTdxPRgwQBJv2VtK0LRDndnRU8gmB5O0KBnep3sCsAKmWtAJf37L9lWgc9QC7LysnuMsZ10KuoeQndVetsAazBARHhUdLd1fWQqbLklC6NtcLodoS+umuvHArKx6LungK4cmNyGZQKBgQD8abrSQXOJuNNx7N+EJjn3hjc3FOrSAgGY7LCiQ/qEP8EkWslxotRHKqKqz78oq4RApT/fBV17HqPe67IJ5xhwYlIUASzs8WvigRV6ITSZv92G8iOSdW7ALZzF4q+tc2RgPvW/pZPaHoxfNU6TC/QW35qAslPWab7Tel9cGb030wKBgQDLf+OLfUfhJUq8mZ3L8U1p1QLpSJNx282hGVg+OXwpuQQZ5qrxkhzF/xBYCjmMQMEfxLtRJxYTPgkHcTp9ozl4ICXdmHpL8V+E5PBQjbCBNCbE8kjXngCc0wiKsLJIUWmKoVRoq7dAaUz3INzkp0tujf8aa7DzC+1C4+j5nvFlkwKBgCTAKClQyke1F2Qw/uI4xpvZeNSWQRJOpHjljVoy15jFx5NJfKcE9C9gb8q68LQ1NM5MwR3xpAi3D1j3rDZw5UgHqLes7CObiv+xl7TufMAeBV0OiEtcucFVYswVE0sH0AeLYzCCJSLO69U457XVObbS26X9UOOZBeW4nYXFYZ1tAoGBAJgnShIcnObZRDUZwqMfC5uqud+E9UF3cBsY4SK9RnnHrSpUjtHKRps/5498LaURMZS4OroluFqw0n1vCqWvqiOIHee+vwoTMjEiIBCKsEMapDYzVYVpzNl07HkOPm7V+Ey/7WXJpl2RngtU1fRcpYjGwMuXY5mF/GM8FxC055bjAoGATYqGLqNhbZ0SVhgSs/2vHMlJYaHwJLlYPS+9OWk5JycvYSbfa9/rc2jblieuE5MseHQFqU0BRVeHqY4dqpQpeO45fC5h9vqC4Lp2LaXbwtxv5Z0cb/o8ecXuSXeF/G2PQvhK44IQFb9RSLuQBUMp/gX6UNVS0dP+7dDpim5n2zY\u003d-----END PRIVATE KEY----------BEGIN CERTIFICATE-----MIID4zCCAsugAwIBAgIJAJWhNGBNfAtTMA0GCSqGSIb3DQEBCwUAMIGHMQswCQYDVQQGEwJDTjELMAkGA1UECAwCU0gxCzAJBgNVBAcMAlNIMQ8wDQYDVQQKDAZaU1RBQ0sxDDAKBgNVBAsMA0RldjEZMBcGA1UEAwwQc2hpeGluLnpzdGFjay5pbzEkMCIGCSqGSIb3DQEJARYVc2hpeGluLnJ1YW5AenN0YWNrLmlvMB4XDTE4MDMyMDA0NDYwM1oXDTE5MDMyMDA0NDYwM1owgYcxCzAJBgNVBAYTAkNOMQswCQYDVQQIDAJTSDELMAkGA1UEBwwCU0gxDzANBgNVBAoMBlpTVEFDSzEMMAoGA1UECwwDRGV2MRkwFwYDVQQDDBBzaGl4aW4uenN0YWNrLmlvMSQwIgYJKoZIhvcNAQkBFhVzaGl4aW4ucnVhbkB6c3RhY2suaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDIpe/zscx2QwunyYPHusMCt/5n4LWSi4pzfsUfvzo4txTe7WwWZ4H3iEA7RwSkg49xx3Rn6jh9S0RMncqUjTxPUjlZKoN0w+nU2AsxXhbV8AiS3UoWJcZUtlfLAjeUKajy1F5hyxHsKJlmOozAcXObunzuaWkKvjchqMSX54+E02h7JNtzv9lagr0MsB4hkraanlpQWr4mv3N7D8kBz9wplMeJXeo4awls3kygiN63TnIQ5hzF7jNxR3uSFYQtUfLnzKcj4aIma62tDf6pkpQ3S+SprGs/OkGvEldNus6FXTO7ixFyORM27ka3Rmv6SYQQquV+950xfb42n9s2UE0pAgMBAAGjUDBOMB0GA1UdDgQWBBTg8PjTZJmWSDA9GPTJ7K5wWTPVsjAfBgNVHSMEGDAWgBTg8PjTZJmWSDA9GPTJ7K5wWTPVsjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQDH5POu4FmmAsHXe49gL6Y6Kdcti2FTBYse7ru05V4URGsU5Dab25mATqp7z7WCiv9pTdlC0KoJieML7rpLiLskBBLpToU8bUigX96q5dmMtDbLSmGeYfhHj9tHeYuGv0U2eRcN2Jo6xlHrl6X3RazO/h/9mCW6sLAGgaJ9MyQAiqRfYaO+ToBqdbHmBEwmueaOO7wFy9UbU7F/CdeEzblKdWRMKQgf5yxA6pXYghjPWWNAqElxnnXskBmjMhYaDfGCQuRK5Ma362ax0i8UGqYfMnflBgy1qX8+f7VjyWokK4tcjep72TTYkIVBGbwBMqk2U2v5qslBRmM5+pmAESJq-----END CERTIFICATE-----"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventories List 详情参考inventories 0.6
#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
#inventories
名字 类型 描述 起始版本
name String 资源名称 0.6
uuid String 资源的UUID,唯一标示该资源 0.6
certificate String 证书内容 2.3.2
description String 资源的详细描述 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
listeners List 详情参考listeners 0.6
#listeners
名字 类型 描述 起始版本
id Long 2.3.2
listenerUuid String 0.6
certificateUuid String 2.3.2
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6

SDK示例

Java SDK
QueryCertificateAction action = new QueryCertificateAction();
action.conditions = asList();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryCertificateAction.Result res = action.call();
Python SDK
QueryCertificateAction action = QueryCertificateAction()
action.conditions = []
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QueryCertificateAction.Result res = action.call()

添加证书到负载均衡(AddCertificateToLoadBalancerListener)

API请求

URLs
POST zstack/v1/load-balancers/listeners/{listenerUuid}/certificate
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "certificateUuid": "707589c97d89315691794dbdadb1252f"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"certificateUuid":"707589c97d89315691794dbdadb1252f"}}' \
http://localhost:8080/zstack/v1/load-balancers/listeners/706687a8f42538e99a8519b9cbd61440/certificate
参数列表
名字 类型 位置 描述 可选值 起始版本
certificateUuid String body(包含在params结构中) 2.3.2
listenerUuid String url 2.3.2
systemTags (可选) List body 0.6
userTags (可选) List body 0.6

API返回

返回示例
{
  "inventory": {
    "name": "Test-Lb-Listener",
    "loadBalancerUuid": "5f6148b3eafc37e59a6cfcb30f3bd8b8",
    "vmNicRefs": [
      {
        "listenerUuid": "5f6148b3eafc37e59a6cfcb30f3bd8b8",
        "vmNicUuid": "202ca851ff3e30d0b43a6176008a7bed"
      }
    ],
    "certificateRefs": [
      {
        "listenerUuid": "5f6148b3eafc37e59a6cfcb30f3bd8b8",
        "certificateUuid": "fb20f7baabb93cc9a2e0e713c5dfd870"
      }
    ]
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory LoadBalancerListenerInventory 详情参考inventory 0.6
#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,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
loadBalancerUuid String 负载均衡器UUID 0.6
instancePort Integer 0.6
loadBalancerPort Integer 0.6
protocol String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
vmNicRefs List 详情参考vmNicRefs 0.6
certificateRefs List 详情参考certificateRefs 2.3.2
#vmNicRefs
名字 类型 描述 起始版本
id Long 0.6
listenerUuid String 0.6
vmNicUuid String 云主机网卡UUID 0.6
status String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
#certificateRefs
名字 类型 描述 起始版本
id Long 2.3.2
listenerUuid String 2.3.2
certificateUuid String 2.3.2
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6

SDK示例

Java SDK
AddCertificateToLoadBalancerListenerAction action = new AddCertificateToLoadBalancerListenerAction();
action.certificateUuid = "707589c97d89315691794dbdadb1252f";
action.listenerUuid = "706687a8f42538e99a8519b9cbd61440";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AddCertificateToLoadBalancerListenerAction.Result res = action.call();
Python SDK
AddCertificateToLoadBalancerListenerAction action = AddCertificateToLoadBalancerListenerAction()
action.certificateUuid = "707589c97d89315691794dbdadb1252f"
action.listenerUuid = "706687a8f42538e99a8519b9cbd61440"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AddCertificateToLoadBalancerListenerAction.Result res = action.call()

从负载均衡移除证书(RemoveCertificateFromLoadBalancerListener)

API请求

URLs
DELETE zstack/v1/load-balancers/listeners/{listenerUuid}/certificate
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/load-balancers/listeners/7b49bf59591335e8a9e3aa35c0949c0a/certificate
参数列表
名字 类型 位置 描述 可选值 起始版本
certificateUuid String body 2.3.2
listenerUuid String url 2.3.2
systemTags (可选) List body 2.3.2
userTags (可选) List body 2.3.2

API返回

返回示例
{
  "inventory": {
    "name": "Test-Lb-Listener",
    "loadBalancerUuid": "12c0b22525323a3d98d77a0fc722dfe6",
    "vmNicRefs": [
      {
        "listenerUuid": "12c0b22525323a3d98d77a0fc722dfe6",
        "vmNicUuid": "e1fffed46c7c329ea08eef0cf3162319"
      }
    ]
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory LoadBalancerListenerInventory 详情参考inventory 0.6
#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,唯一标示该资源 0.6
name String 资源名称 0.6
description String 资源的详细描述 0.6
loadBalancerUuid String 负载均衡器UUID 0.6
instancePort Integer 0.6
loadBalancerPort Integer 0.6
protocol String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
vmNicRefs List 详情参考vmNicRefs 0.6
certificateRefs List 详情参考certificateRefs 0.6
#vmNicRefs
名字 类型 描述 起始版本
id Long 0.6
listenerUuid String 0.6
vmNicUuid String 云主机网卡UUID 0.6
status String 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
#certificateRefs
名字 类型 描述 起始版本
id Long 2.3.2
listenerUuid String 2.3.2
certificateUuid String 2.3.2
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6

SDK示例

Java SDK
RemoveCertificateFromLoadBalancerListenerAction action = new RemoveCertificateFromLoadBalancerListenerAction();
action.certificateUuid = "ae54af269496365d99c558a7f4137a6c";
action.listenerUuid = "7b49bf59591335e8a9e3aa35c0949c0a";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
RemoveCertificateFromLoadBalancerListenerAction.Result res = action.call();
Python SDK
RemoveCertificateFromLoadBalancerListenerAction action = RemoveCertificateFromLoadBalancerListenerAction()
action.certificateUuid = "ae54af269496365d99c558a7f4137a6c"
action.listenerUuid = "7b49bf59591335e8a9e3aa35c0949c0a"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
RemoveCertificateFromLoadBalancerListenerAction.Result res = action.call()

更新证书信息(UpdateCertificate)

API请求

URLs
PUT zstack/v1/certificates/{uuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
  "updateCertificate": {
    "name": "Test-Cer",
    "description": "info"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"updateCertificate":{"name":"Test-Cer","description":"info"}}' \
http://localhost:8080/zstack/v1/certificates/e7fbc0a186d838f7b6fb0ae5133300ec/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 0.6
name (可选) String body(包含在updateCertificate结构中) 资源名称 0.6
description (可选) String body(包含在updateCertificate结构中) 资源的详细描述 0.6
resourceUuid (可选) String body(包含在updateCertificate结构中) 0.6
systemTags (可选) List body 0.6
userTags (可选) List body 0.6

API返回

返回示例
{
  "inventory": {
    "name": "Test-Cer",
    "certificate": "123456789",
    "description": "Certificate for lb"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 0.6
inventory CertificateInventory 详情参考inventory 0.6
#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
名字 类型 描述 起始版本
name String 资源名称 0.6
uuid String 资源的UUID,唯一标示该资源 0.6
certificate String 证书内容 0.6
description String 资源的详细描述 0.6
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6
listeners List 详情参考listeners 2.3
#listeners
名字 类型 描述 起始版本
id Long 2.3.2
listenerUuid String 2.3
certificateUuid String 2.3.2
createDate Timestamp 创建时间 0.6
lastOpDate Timestamp 最后一次修改时间 0.6

SDK示例

Java SDK
UpdateCertificateAction action = new UpdateCertificateAction();
action.uuid = "e7fbc0a186d838f7b6fb0ae5133300ec";
action.name = "Test-Cer";
action.description = "info";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UpdateCertificateAction.Result res = action.call();
Python SDK
UpdateCertificateAction action = UpdateCertificateAction()
action.uuid = "e7fbc0a186d838f7b6fb0ae5133300ec"
action.name = "Test-Cer"
action.description = "info"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
UpdateCertificateAction.Result res = action.call()

添加转发规则到访问控制策略组(AddAccessControlListRedirectRule)

API请求

URLs
POST zstack/v1/access-control-lists/{aclUuid}/redirectRules
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "name": "redirect-rule",
    "domain": "zstack.io",
    "url": "/cloud"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"redirect-rule","domain":"zstack.io","url":"/cloud"}}' http://localhost:8080/zstack/v1/access-control-lists/f1ca42b8901833fbac7cbd06e3b4d7cb/redirectRules
参数列表
名字 类型 位置 描述 可选值 起始版本
name (可选) String body(包含在params结构中) 资源名称 4.1.0
description (可选) String body(包含在params结构中) 资源的详细描述 4.1.0
domain (可选) String body(包含在params结构中) 域名 4.1.0
url (可选) String body(包含在params结构中) url 4.1.0
aclUuid String url 访问控制策略组的唯一标识 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": {
    "aclUuid": "3e05577ffa823e759d67e112aa7e5f80",
    "ipEntries": "192.168.48.0/24"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.1.0
inventory AccessControlListEntryInventory 详情参考inventory 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
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.1.0
aclUuid String 4.1.0
type String 4.1.0
name String 资源名称 4.1.0
domain String 4.1.0
url String 4.1.0
ipEntries String 4.1.0
description String 资源的详细描述 4.1.0
createDate Timestamp 创建时间 4.1.0
lastOpDate Timestamp 最后一次修改时间 4.1.0

SDK示例

Java SDK
AddAccessControlListRedirectRuleAction action = new AddAccessControlListRedirectRuleAction();
action.name = "redirect-rule";
action.domain = "zstack.io";
action.url = "/cloud";
action.aclUuid = "f1ca42b8901833fbac7cbd06e3b4d7cb";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AddAccessControlListRedirectRuleAction.Result res = action.call();
Python SDK
AddAccessControlListRedirectRuleAction action = AddAccessControlListRedirectRuleAction()
action.name = "redirect-rule"
action.domain = "zstack.io"
action.url = "/cloud"
action.aclUuid = "f1ca42b8901833fbac7cbd06e3b4d7cb"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AddAccessControlListRedirectRuleAction.Result res = action.call()

修改控制策略组转发规则名称(ChangeAccessControlListRedirectRule)

API请求

URLs
POST zstack/v1/access-control-lists/redirectRules/{uuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
  "changeAccessControlListRedirectRule": {
    "name": "acl-group"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"changeAccessControlListRedirectRule":{"name":"acl-group"}}' http://localhost:8080/zstack/v1/access-control-lists/redirectRules/e58d9a2195c432fda747f33a884028ed/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 4.1.0
name (可选) String body(包含在changeAccessControlListRedirectRule结构中) 转发规则名称 4.1.0
systemTags (可选) List body 系统标签 4.1.0
userTags (可选) List body 用户标签 4.1.0

API返回

返回示例
{
  "inventory": {
    "aclUuid": "bc9854edd56938f59a7ad06d2ffddb77",
    "type": "RedirectRule",
    "name": "acl-group",
    "domain": "zstack.io",
    "url": "/test"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.1.0
inventory AccessControlListEntryInventory 详情参考inventory 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
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.1.0
aclUuid String 4.1.0
type String 4.1.0
name String 资源名称 4.1.0
domain String 4.1.0
url String 4.1.0
ipEntries String 4.1.0
description String 资源的详细描述 4.1.0
createDate Timestamp 创建时间 4.1.0
lastOpDate Timestamp 最后一次修改时间 4.1.0

SDK示例

Java SDK
ChangeAccessControlListRedirectRuleAction action = new ChangeAccessControlListRedirectRuleAction();
action.uuid = "e58d9a2195c432fda747f33a884028ed";
action.name = "acl-group";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
ChangeAccessControlListRedirectRuleAction.Result res = action.call();
Python SDK
ChangeAccessControlListRedirectRuleAction action = ChangeAccessControlListRedirectRuleAction()
action.uuid = "e58d9a2195c432fda747f33a884028ed"
action.name = "acl-group"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
ChangeAccessControlListRedirectRuleAction.Result res = action.call()

修改访问控制组绑定的后端服务器组(ChangeAccessControlListServerGroup)

API请求

URLs
POST zstack/v1/load-balancers/listener/acl/{aclUuid}/servergroup/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
  "changeAccessControlListServerGroup": {
    "serverGroupUuids": [
      "89bdb613cad93f5f881b9127986d4d1b"
    ],
    "listenerUuid": "e58cd2cd6a633f999909c7e5ce448e07"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"changeAccessControlListServerGroup":{"serverGroupUuids":["89bdb613cad93f5f881b9127986d4d1b"],"listenerUuid":"e58cd2cd6a633f999909c7e5ce448e07"}}' http://localhost:8080/zstack/v1/load-balancers/listener/acl/07f904e5fbc8312992dd85a99c8edc9b/servergroup/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
serverGroupUuids List body(包含在changeAccessControlListServerGroup结构中) 负载均衡器服务器组uuid 4.1.0
listenerUuid String body(包含在changeAccessControlListServerGroup结构中) 监听器唯一标识 4.1.0
aclUuid String url 访问控制策略组的唯一标识 4.1.0
systemTags (可选) List body 系统标签 4.1.0
userTags (可选) List body 用户标签 4.1.0

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
ChangeAccessControlListServerGroupAction action = new ChangeAccessControlListServerGroupAction();
action.serverGroupUuids = asList("89bdb613cad93f5f881b9127986d4d1b");
action.listenerUuid = "e58cd2cd6a633f999909c7e5ce448e07";
action.aclUuid = "07f904e5fbc8312992dd85a99c8edc9b";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
ChangeAccessControlListServerGroupAction.Result res = action.call();
Python SDK
ChangeAccessControlListServerGroupAction action = ChangeAccessControlListServerGroupAction()
action.serverGroupUuids = [89bdb613cad93f5f881b9127986d4d1b]
action.listenerUuid = "e58cd2cd6a633f999909c7e5ce448e07"
action.aclUuid = "07f904e5fbc8312992dd85a99c8edc9b"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
ChangeAccessControlListServerGroupAction.Result res = action.call()

获取负载均衡监听器访问控制策略条目(GetLoadBalancerListenerACLEntries)

API请求

URLs
POST zstack/v1/load-balancers/listeners/access-control-lists/entries
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/load-balancers/listeners/access-control-lists/entries
参数列表
名字 类型 位置 描述 可选值 起始版本
listenerUuids (可选) List query 4.1.0
type (可选) String query 4.1.0
systemTags (可选) List query 系统标签 4.1.0
userTags (可选) List query 用户标签 4.1.0

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
GetLoadBalancerListenerACLEntriesAction action = new GetLoadBalancerListenerACLEntriesAction();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetLoadBalancerListenerACLEntriesAction.Result res = action.call();
Python SDK
GetLoadBalancerListenerACLEntriesAction action = GetLoadBalancerListenerACLEntriesAction()
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetLoadBalancerListenerACLEntriesAction.Result res = action.call()

创建访问控制策略组(CreateAccessControlList)

API请求

URLs
POST zstack/v1/access-control-lists
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "name": "acl-group",
    "ipVersion": 4.0
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"acl-group","ipVersion":4.0}}' http://localhost:8080/zstack/v1/access-control-lists
参数列表
名字 类型 位置 描述 可选值 起始版本
name String body(包含在params结构中) 资源名称 3.9.0
description (可选) String body(包含在params结构中) 资源的详细描述 3.9.0
ipVersion (可选) Integer body(包含在params结构中) IP协议版本
  • 4
  • 6
3.9.0
resourceUuid (可选) String body(包含在params结构中) 资源UUID 3.9.0
tagUuids (可选) List body(包含在params结构中) 标签UUID列表 3.9.0
systemTags (可选) List body 系统标签 3.9.0
userTags (可选) List body 用户标签 3.9.0

API返回

返回示例
{
  "inventory": {
    "name": "acl-group",
    "ipVersion": 4.0
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.9.0
inventory AccessControlListInventory 详情参考inventory 3.9.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.9.0
description String 错误的概要描述 3.9.0
details String 错误的详细信息 3.9.0
elaboration String 保留字段,默认为null 3.9.0
opaque LinkedHashMap 保留字段,默认为null 3.9.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.9.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.9.0
name String 资源名称 3.9.0
ipVersion Integer IP地址版本 3.9.0
description String 资源的详细描述 3.9.0
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0
entries List 详情参考entries 3.9.0
#entries
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.9.0
aclUuid String 访问控制策略组的唯一标识 3.9.0
ipEntries String IP组 3.9.0
description String 资源的详细描述 3.9.0
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0

SDK示例

Java SDK
CreateAccessControlListAction action = new CreateAccessControlListAction();
action.name = "acl-group";
action.ipVersion = 4.0;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateAccessControlListAction.Result res = action.call();
Python SDK
CreateAccessControlListAction action = CreateAccessControlListAction()
action.name = "acl-group"
action.ipVersion = 4.0
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateAccessControlListAction.Result res = action.call()

删除访问控制策略组(DeleteAccessControlList)

API请求

URLs
DELETE zstack/v1/access-control-lists/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/access-control-lists/f2a128d702d83f4389ad82d425b0e74e
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 3.9.0
deleteMode (可选) String body 删除模式(Permissive / Enforcing,Permissive) 3.9.0
systemTags (可选) List body 系统标签 3.9.0
userTags (可选) List body 用户标签 3.9.0

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
DeleteAccessControlListAction action = new DeleteAccessControlListAction();
action.uuid = "f2a128d702d83f4389ad82d425b0e74e";
action.deleteMode = "Permissive";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DeleteAccessControlListAction.Result res = action.call();
Python SDK
DeleteAccessControlListAction action = DeleteAccessControlListAction()
action.uuid = "f2a128d702d83f4389ad82d425b0e74e"
action.deleteMode = "Permissive"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
DeleteAccessControlListAction.Result res = action.call()

查询访问控制策略组(QueryAccessControlList)

API请求

URLs
GET zstack/v1/access-control-lists
GET zstack/v1/access-control-lists/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/access-control-lists
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/access-control-lists/83146a1d0dd93c6abc53788a6434bd57

可查询字段

运行CLI命令行工具,输入QueryAccessControlList并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
  "inventories": [
    {
      "uuid": "0abdbd20b8173ccf89f881309b5e40d0",
      "name": "acl-group"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.9.0
inventories List 详情参考inventories 3.9.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.9.0
description String 错误的概要描述 3.9.0
details String 错误的详细信息 3.9.0
elaboration String 保留字段,默认为null 3.9.0
opaque LinkedHashMap 保留字段,默认为null 3.9.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.9.0
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.9.0
name String 资源名称 3.9.0
ipVersion Integer IP地址版本 3.9.0
description String 资源的详细描述 3.9.0
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0
entries List 详情参考entries 3.9.0
#entries
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.9.0
aclUuid String 访问控制策略组的唯一标识 3.9.0
ipEntries String IP组 3.9.0
description String 资源的详细描述 3.9.0
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0

SDK示例

Java SDK
QueryAccessControlListAction action = new QueryAccessControlListAction();
action.conditions = asList();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryAccessControlListAction.Result res = action.call();
Python SDK
QueryAccessControlListAction action = QueryAccessControlListAction()
action.conditions = []
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QueryAccessControlListAction.Result res = action.call()

向访问控制策略组添加IP组(AddAccessControlListEntry)

API请求

URLs
POST zstack/v1/access-control-lists/{aclUuid}/ipentries
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "entries": "192.168.12.1,192.168.48.0/24"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"entries":"192.168.12.1,192.168.48.0/24"}}' http://localhost:8080/zstack/v1/access-control-lists/101a39fcb6c538a4914d0ae7fa8468a4/ipentries
参数列表
名字 类型 位置 描述 可选值 起始版本
aclUuid String url 访问控制策略组的唯一标识 3.9.0
entries String body(包含在params结构中) IP组 3.9.0
description (可选) String body(包含在params结构中) 资源的详细描述 3.9.0
resourceUuid (可选) String body(包含在params结构中) 资源UUID 3.9.0
tagUuids (可选) List body(包含在params结构中) 标签UUID列表 3.9.0
systemTags (可选) List body 系统标签 3.9.0
userTags (可选) List body 用户标签 3.9.0

API返回

返回示例
{
  "inventory": {
    "aclUuid": "3e05577ffa823e759d67e112aa7e5f80",
    "ipEntries": "192.168.48.0/24"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.9.0
inventory AccessControlListEntryInventory 详情参考inventory 3.9.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.9.0
description String 错误的概要描述 3.9.0
details String 错误的详细信息 3.9.0
elaboration String 保留字段,默认为null 3.9.0
opaque LinkedHashMap 保留字段,默认为null 3.9.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.9.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.9.0
aclUuid String 访问控制策略组的唯一标识 3.9.0
ipEntries String IP组 3.9.0
description String 资源的详细描述 3.9.0
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0

SDK示例

Java SDK
AddAccessControlListEntryAction action = new AddAccessControlListEntryAction();
action.aclUuid = "101a39fcb6c538a4914d0ae7fa8468a4";
action.entries = "192.168.12.1,192.168.48.0/24";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AddAccessControlListEntryAction.Result res = action.call();
Python SDK
AddAccessControlListEntryAction action = AddAccessControlListEntryAction()
action.aclUuid = "101a39fcb6c538a4914d0ae7fa8468a4"
action.entries = "192.168.12.1,192.168.48.0/24"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AddAccessControlListEntryAction.Result res = action.call()

删除访问控制策略的IP组(RemoveAccessControlListEntry)

API请求

URLs
DELETE zstack/v1/access-control-lists/{aclUuid}/ipentries/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/access-control-lists/c151f0f90e143c26b6667e70ebbe5b7b/ipentries/22c9d1f964b63f6abc52fed8437042a3
参数列表
名字 类型 位置 描述 可选值 起始版本
aclUuid String url 访问控制策略组的唯一标识 3.9.0
uuid String url 资源的UUID,唯一标示该资源 3.9.0
deleteMode (可选) String body 删除模式(Permissive / Enforcing,Permissive) 3.9.0
systemTags (可选) List body 系统标签 3.9.0
userTags (可选) List body 用户标签 3.9.0

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
RemoveAccessControlListEntryAction action = new RemoveAccessControlListEntryAction();
action.aclUuid = "c151f0f90e143c26b6667e70ebbe5b7b";
action.uuid = "22c9d1f964b63f6abc52fed8437042a3";
action.deleteMode = "Permissive";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
RemoveAccessControlListEntryAction.Result res = action.call();
Python SDK
RemoveAccessControlListEntryAction action = RemoveAccessControlListEntryAction()
action.aclUuid = "c151f0f90e143c26b6667e70ebbe5b7b"
action.uuid = "22c9d1f964b63f6abc52fed8437042a3"
action.deleteMode = "Permissive"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
RemoveAccessControlListEntryAction.Result res = action.call()

添加监听器的访问控制策略(AddAccessControlListToLoadBalancer)

API请求

URLs
POST zstack/v1/load-balancers/listeners/{listenerUuid}/access-control-lists
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "aclUuids": [
      "25e10ecdb6d63b598899c1103d2cdf46"
    ],
    "aclType": "black"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"aclUuids":["25e10ecdb6d63b598899c1103d2cdf46"],"aclType":"black"}}' http://localhost:8080/zstack/v1/load-balancers/listeners/19c1a4dcaea637da86e3ecbb6a3a5f6e/access-control-lists
参数列表
名字 类型 位置 描述 可选值 起始版本
aclUuids List body(包含在params结构中) 访问控制策略组的唯一标识 3.9.0
aclType String body(包含在params结构中) 访问控制策略类型
  • white
  • black
  • redirect
4.1.0
listenerUuid String url 监听器唯一标识 3.9.0
serverGroupUuids (可选) List body 负载均衡器服务器组uuid 4.1.0
systemTags (可选) List body 系统标签 3.9.0
userTags (可选) List body 用户标签 3.9.0

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
AddAccessControlListToLoadBalancerAction action = new AddAccessControlListToLoadBalancerAction();
action.aclUuids = asList("25e10ecdb6d63b598899c1103d2cdf46");
action.aclType = "black";
action.listenerUuid = "19c1a4dcaea637da86e3ecbb6a3a5f6e";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AddAccessControlListToLoadBalancerAction.Result res = action.call();
Python SDK
AddAccessControlListToLoadBalancerAction action = AddAccessControlListToLoadBalancerAction()
action.aclUuids = [25e10ecdb6d63b598899c1103d2cdf46]
action.aclType = "black"
action.listenerUuid = "19c1a4dcaea637da86e3ecbb6a3a5f6e"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AddAccessControlListToLoadBalancerAction.Result res = action.call()

删除监听器访问控制策略(RemoveAccessControlListFromLoadBalancer)

API请求

URLs
DELETE zstack/v1/load-balancers/listeners/{listenerUuid}/access-control-lists
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/load-balancers/listeners/0299b3e26af5350c8db91930723d2065/access-control-lists
参数列表
名字 类型 位置 描述 可选值 起始版本
aclUuids List body 访问控制策略组唯一标识 3.9.0
listenerUuid String url 监听器唯一标识 3.9.0
serverGroupUuids (可选) List body 4.1.0
systemTags (可选) List body 系统标签 3.9.0
userTags (可选) List body 用户标签 3.9.0

API返回

返回示例
{
  "inventory": {
    "uuid": "fb39937eaf5b3564af4b23d48802d438",
    "name": "test-lb-listener"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.9.0
inventory LoadBalancerListenerInventory 详情参考inventory 3.9.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.9.0
description String 错误的概要描述 3.9.0
details String 错误的详细信息 3.9.0
elaboration String 保留字段,默认为null 3.9.0
opaque LinkedHashMap 保留字段,默认为null 3.9.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.9.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.9.0
name String 资源名称 3.9.0
description String 资源的详细描述 3.9.0
loadBalancerUuid String 负载均衡器UUID 3.9.0
instancePort Integer 3.9.0
loadBalancerPort Integer 3.9.0
protocol String 3.9.0
serverGroupUuid String 4.1.3
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0
vmNicRefs List 详情参考vmNicRefs 3.9.0
aclRefs List 详情参考aclRefs 3.9.0
certificateRefs List 详情参考certificateRefs 3.9.0
serverGroupRefs List 详情参考serverGroupRefs 4.1.0
#vmNicRefs
名字 类型 描述 起始版本
id Long 3.9.0
listenerUuid String 3.9.0
vmNicUuid String 云主机网卡UUID 3.9.0
status String 3.9.0
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0
#aclRefs
名字 类型 描述 起始版本
id Long 资源唯一标识 3.9.0
listenerUuid String 监听器唯一标识 3.9.0
aclUuid String 访问策略组唯一标识 3.9.0
type String 访问策略类型 3.9.0
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0
#certificateRefs
名字 类型 描述 起始版本
id Long 3.9.0
listenerUuid String 3.9.0
certificateUuid String 3.9.0
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0
#serverGroupRefs
名字 类型 描述 起始版本
id Long 4.1.0
listenerUuid String 4.1.0
serverGroupUuid String 4.1.0
createDate Timestamp 创建时间 4.1.0
lastOpDate Timestamp 最后一次修改时间 4.1.0

SDK示例

Java SDK
RemoveAccessControlListFromLoadBalancerAction action = new RemoveAccessControlListFromLoadBalancerAction();
action.aclUuids = asList("027bfcc0fddf39e3be51badf4777c0cd");
action.listenerUuid = "0299b3e26af5350c8db91930723d2065";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
RemoveAccessControlListFromLoadBalancerAction.Result res = action.call();
Python SDK
RemoveAccessControlListFromLoadBalancerAction action = RemoveAccessControlListFromLoadBalancerAction()
action.aclUuids = [027bfcc0fddf39e3be51badf4777c0cd]
action.listenerUuid = "0299b3e26af5350c8db91930723d2065"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
RemoveAccessControlListFromLoadBalancerAction.Result res = action.call()

获取监听器可加载L3网络(GetCandidateL3NetworksForLoadBalancer)

API请求

URLs
GET zstack/v1/load-balancers/listeners/{listenerUuid}/networks/candidates
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/load-balancers/listeners/6ecc19bdec0139499e3abf6c51bca683/networks/candidates?limit=1000.0&start=0.0
参数列表
名字 类型 位置 描述 可选值 起始版本
listenerUuid String url 3.9.0
limit (可选) Integer query 3.9.0
start (可选) Integer query 3.9.0
systemTags (可选) List query 系统标签 3.9.0
userTags (可选) List query 用户标签 3.9.0

API返回

返回示例
{
  "inventories": [
    {
      "name": "Test-L3Network",
      "l2NetworkUuid": "7631f86a65af335fb1496afe8e7ac9ee"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 3.9.0
inventories List 详情参考inventories 3.9.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 3.9.0
description String 错误的概要描述 3.9.0
details String 错误的详细信息 3.9.0
elaboration String 保留字段,默认为null 3.9.0
opaque LinkedHashMap 保留字段,默认为null 3.9.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 3.9.0
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.9.0
name String 资源名称 3.9.0
description String 资源的详细描述 3.9.0
type String 3.9.0
zoneUuid String 区域UUID 3.9.0
l2NetworkUuid String 二层网络UUID 3.9.0
state String 3.9.0
dnsDomain String 3.9.0
system Boolean 3.9.0
category String 3.9.0
ipVersion Integer 3.9.0
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0
dns List 3.9.0
ipRanges List 详情参考ipRanges 3.9.0
networkServices List 详情参考networkServices 3.9.0
hostRoute List 详情参考hostRoute 3.9.0
#ipRanges
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 3.9.0
l3NetworkUuid String 三层网络UUID 3.9.0
name String 资源名称 3.9.0
description String 资源的详细描述 3.9.0
startIp String 3.9.0
endIp String 3.9.0
netmask String 3.9.0
gateway String 3.9.0
networkCidr String 3.9.0
ipVersion Integer 3.9.0
addressMode String 3.9.0
prefixLen Integer 3.9.0
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0
#networkServices
名字 类型 描述 起始版本
l3NetworkUuid String 三层网络UUID 3.9.0
networkServiceProviderUuid String 网络服务提供模块UUID 3.9.0
networkServiceType String 3.9.0
#hostRoute
名字 类型 描述 起始版本
id Long 3.9.0
l3NetworkUuid String 三层网络UUID 3.9.0
prefix String 3.9.0
nexthop String 3.9.0
createDate Timestamp 创建时间 3.9.0
lastOpDate Timestamp 最后一次修改时间 3.9.0

SDK示例

Java SDK
GetCandidateL3NetworksForLoadBalancerAction action = new GetCandidateL3NetworksForLoadBalancerAction();
action.listenerUuid = "6ecc19bdec0139499e3abf6c51bca683";
action.limit = 1000.0;
action.start = 0.0;
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetCandidateL3NetworksForLoadBalancerAction.Result res = action.call();
Python SDK
GetCandidateL3NetworksForLoadBalancerAction action = GetCandidateL3NetworksForLoadBalancerAction()
action.listenerUuid = "6ecc19bdec0139499e3abf6c51bca683"
action.limit = 1000.0
action.start = 0.0
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetCandidateL3NetworksForLoadBalancerAction.Result res = action.call()

创建负载均衡器服务器组(CreateLoadBalancerServerGroup)

API请求

URLs
POST zstack/v1/load-balancers/{loadBalancerUuid}/servergroups
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "name": "create-Lb"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"create-Lb"}}' http://localhost:8080/zstack/v1/load-balancers/7cac70b63aad32dda436e95bba3c34cb/servergroups
参数列表
名字 类型 位置 描述 可选值 起始版本
name String body(包含在params结构中) 资源名称 4.0.0
description (可选) String body(包含在params结构中) 资源的详细描述 4.0.0
loadBalancerUuid String url 负载均衡器UUID 4.0.0
resourceUuid (可选) String body(包含在params结构中) 资源UUID 4.0.0
tagUuids (可选) List body(包含在params结构中) 标签UUID列表 4.0.0
systemTags (可选) List body 系统标签 4.0.0
userTags (可选) List body 用户标签 4.0.0

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
CreateLoadBalancerServerGroupAction action = new CreateLoadBalancerServerGroupAction();
action.name = "create-Lb";
action.loadBalancerUuid = "7cac70b63aad32dda436e95bba3c34cb";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateLoadBalancerServerGroupAction.Result res = action.call();
Python SDK
CreateLoadBalancerServerGroupAction action = CreateLoadBalancerServerGroupAction()
action.name = "create-Lb"
action.loadBalancerUuid = "7cac70b63aad32dda436e95bba3c34cb"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateLoadBalancerServerGroupAction.Result res = action.call()

删除负载均衡器服务器组(DeleteLoadBalancerServerGroup)

API请求

URLs
DELETE zstack/v1/load-balancers/servergroups/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/load-balancers/servergroups/1e1fef3a79563c1080210f094ea62898?deleteMode=Permissive
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 服务器组uuid 4.0.0
systemTags (可选) List body 系统标签 4.0.0
userTags (可选) List body 用户标签 4.0.0

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
DeleteLoadBalancerServerGroupAction action = new DeleteLoadBalancerServerGroupAction();
action.uuid = "1e1fef3a79563c1080210f094ea62898";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DeleteLoadBalancerServerGroupAction.Result res = action.call();
Python SDK
DeleteLoadBalancerServerGroupAction action = DeleteLoadBalancerServerGroupAction()
action.uuid = "1e1fef3a79563c1080210f094ea62898"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
DeleteLoadBalancerServerGroupAction.Result res = action.call()

更新负载均衡器服务器组(UpdateLoadBalancerServerGroup)

API请求

URLs
PUT zstack/v1/load-balancers/servergroups/{uuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
  "updateLoadBalancerServerGroup": {
    "name": "updateServerGroup",
    "description": "updateServerGroup"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"updateLoadBalancerServerGroup":{"name":"updateServerGroup","description":"updateServerGroup"}}' http://localhost:8080/zstack/v1/load-balancers/servergroups/e29a3b43310933718221e4c314c8af6f/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 4.0.0
name(可选) String body(包含在updateLoadBalancerServerGroup结构中) 资源名称 4.0.0
description (可选) String body(包含在updateLoadBalancerServerGroup结构中) 资源的详细描述 4.0.0
systemTags (可选) List body 系统标签 4.0.0
userTags (可选) List body 用户标签 4.0.0

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
UpdateLoadBalancerServerGroupAction action = new UpdateLoadBalancerServerGroupAction();
action.uuid = "e29a3b43310933718221e4c314c8af6f";
action.name = "updateServerGroup";
action.description = "updateServerGroup";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UpdateLoadBalancerServerGroupAction.Result res = action.call();
Python SDK
UpdateLoadBalancerServerGroupAction action = UpdateLoadBalancerServerGroupAction()
action.uuid = "e29a3b43310933718221e4c314c8af6f"
action.name = "updateServerGroup"
action.description = "updateServerGroup"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
UpdateLoadBalancerServerGroupAction.Result res = action.call()

查询负载均衡器服务器组(QueryLoadBalancerServerGroup)

API请求

URLs
GET zstack/v1/load-balancers/servergroups
GET zstack/v1/load-balancers/servergroups/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/load-balancers/servergroups
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/load-balancers/servergroups/3d12c68915bd391ca7cea7a95249b47b

可查询字段

运行CLI命令行工具,输入QueryLoadBalancerServerGroup并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
  "inventories": [
    {
      "uuid": "f523d90c41b136279b523052149c9690",
      "name": "Test-LbServerGroup"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.0.0
inventories List 详情参考inventories 4.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 4.0.0
description String 错误的概要描述 4.0.0
details String 错误的详细信息 4.0.0
elaboration String 保留字段,默认为null 4.0.0
opaque LinkedHashMap 保留字段,默认为null 4.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 4.0.0
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
loadBalancerUuid String 负载均衡器UUID 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
listenerServerGroupRefs List 详情参考listenerServerGroupRefs 4.0.0
serverIps List 详情参考serverIps 4.0.0
vmNicRefs List 详情参考vmNicRefs 4.0.0
#listenerServerGroupRefs
名字 类型 描述 起始版本
id long 4.0.0
listenerUuid String 4.0.0
serverGroupUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#serverIps
名字 类型 描述 起始版本
id long 4.0.0
description String 资源的详细描述 4.0.0
serverGroupUuid String 4.0.0
ipAddress String 4.0.0
weight Long 4.0.0
status String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#vmNicRefs
名字 类型 描述 起始版本
id Long 4.0.0
serverGroupUuid String 4.0.0
vmNicUuid String 云主机网卡UUID 4.0.0
weight Long 4.0.0
status String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0

SDK示例

Java SDK
QueryLoadBalancerServerGroupAction action = new QueryLoadBalancerServerGroupAction();
action.conditions = asList();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QueryLoadBalancerServerGroupAction.Result res = action.call();
Python SDK
QueryLoadBalancerServerGroupAction action = QueryLoadBalancerServerGroupAction()
action.conditions = []
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QueryLoadBalancerServerGroupAction.Result res = action.call()

添加后端服务器到服务器组(AddBackendServerToServerGroup)

API请求

URLs
POST zstack/v1/load-balancers/servergroups/{serverGroupUuid}/backendservers
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "vmNics": [
      {
        "70856dd6ee693c30b28e6233850fc494": "10"
      }
    ],
    "servers": [
      {
        "192.168.1.1": "20"
      }
    ]
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"vmNics":[{"70856dd6ee693c30b28e6233850fc494":"10"}],"servers":[{"192.168.1.1":"20"}]}}' http://localhost:8080/zstack/v1/load-balancers/servergroups/9e9c1f7a74ce3cb6b51d4f938537f765/backendservers
参数列表
名字 类型 位置 描述 可选值 起始版本
serverGroupUuid String url 负载均衡器服务器组uuid 4.0.0
vmNics (可选) List body(包含在params结构中) 后端服务器网卡 4.0.0
servers (可选) List body(包含在params结构中) 后端服务器IP 4.0.0
systemTags (可选) List body 系统标签 4.0.0
userTags (可选) List body 用户标签 4.0.0

API返回

返回示例
{
	"error": {
		"code": "SYS.1001",
		"description": "A message or a operation timeout",
		"details": "Create VM on KVM timeout after 300s"
	}
}

SDK示例

Java SDK
AddBackendServerToServerGroupAction action = new AddBackendServerToServerGroupAction();
action.serverGroupUuid = "9e9c1f7a74ce3cb6b51d4f938537f765";
action.vmNics = asList([70856dd6ee693c30b28e6233850fc494:10]);
action.servers = asList([192.168.1.1:20]);
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AddBackendServerToServerGroupAction.Result res = action.call();
Python SDK
AddBackendServerToServerGroupAction action = AddBackendServerToServerGroupAction()
action.serverGroupUuid = "9e9c1f7a74ce3cb6b51d4f938537f765"
action.vmNics = [[70856dd6ee693c30b28e6233850fc494:10]]
action.servers = [[192.168.1.1:20]]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AddBackendServerToServerGroupAction.Result res = action.call()

从服务器组移除后端服务器(RemoveBackendServerFromServerGroup)

API请求

URLs
PUT zstack/v1/load-balancers/servergroups/{serverGroupUuid}/backendservers/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
  "removeBackendServerFromServerGroup": {},
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"removeBackendServerFromServerGroup":{}}' http://localhost:8080/zstack/v1/load-balancers/servergroups/af07cb06004d35b6af53aa12c8438f22/backendservers/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
serverGroupUuid String url 4.0.0
vmNicUuids (可选) List body(包含在removeBackendServerFromServerGroup结构中) 4.0.0
serverIps (可选) List body(包含在removeBackendServerFromServerGroup结构中) 4.0.0
systemTags (可选) List body 系统标签 4.0.0
userTags (可选) List body 用户标签 4.0.0

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
RemoveBackendServerFromServerGroupAction action = new RemoveBackendServerFromServerGroupAction();
action.serverGroupUuid = "af07cb06004d35b6af53aa12c8438f22";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
RemoveBackendServerFromServerGroupAction.Result res = action.call();
Python SDK
RemoveBackendServerFromServerGroupAction action = RemoveBackendServerFromServerGroupAction()
action.serverGroupUuid = "af07cb06004d35b6af53aa12c8438f22"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
RemoveBackendServerFromServerGroupAction.Result res = action.call()

添加服务器组到负载均衡监听器(AddServerGroupToLoadBalancerListener)

API请求

URLs
POST zstack/v1/load-balancers/listeners/{listenerUuid}/servergroups
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "serverGroupUuid": "05a078a03cad32a6a4c5c05f418eb27a"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"serverGroupUuid":"05a078a03cad32a6a4c5c05f418eb27a"}}' http://localhost:8080/zstack/v1/load-balancers/listeners/cb64a1d37cae35449ca3f9813150f073/servergroups
参数列表
名字 类型 位置 描述 可选值 起始版本
serverGroupUuid String body(包含在params结构中) 负载均衡器服务器组uuid 4.0.0
listenerUuid String url 负载均衡器监听器uuid 4.0.0
systemTags (可选) List body 系统标签 4.0.0
userTags (可选) List body 用户标签 4.0.0

API返回

返回示例
{
  "inventory": {
    "uuid": "2bdca7f6bea932cd8373468d971ef61f",
    "name": "Test-Listener",
    "loadBalancerUuid": "32a8cf1442b43724bef1aa2f94aa97e4",
    "instancePort": 80.0,
    "loadBalancerPort": 80.0,
    "protocol": "http"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.0.0
inventory LoadBalancerListenerInventory 详情参考inventory 4.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 4.0.0
description String 错误的概要描述 4.0.0
details String 错误的详细信息 4.0.0
elaboration String 保留字段,默认为null 4.0.0
opaque LinkedHashMap 保留字段,默认为null 4.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 4.0.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
loadBalancerUuid String 负载均衡器UUID 4.0.0
instancePort Integer 4.0.0
loadBalancerPort Integer 4.0.0
protocol String 4.0.0
serverGroupUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
vmNicRefs List 详情参考vmNicRefs 4.0.0
aclRefs List 详情参考alcRefs 4.0.0
certificateRefs List 详情参考certificateRefs 4.0.0
serverGroupRefs List 详情参考serverGroupRefs 4.0.0
#vmNicRefs
名字 类型 描述 起始版本
id Long 4.0.0
listenerUuid String 4.0.0
vmNicUuid String 云主机网卡UUID 4.0.0
status String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#alcRefs
名字 类型 描述 起始版本
id Long 资源唯一标识 4.0.0
listenerUuid String 监听器唯一标识 4.0.0
aclUuid String 访问策略组唯一标识 4.0.0
type String 访问策略类型 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#certificateRefs
名字 类型 描述 起始版本
id Long 4.0.0
listenerUuid String 4.0.0
certificateUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#serverGroupRefs
名字 类型 描述 起始版本
id long 4.0.0
listenerUuid String 4.0.0
serverGroupUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0

SDK示例

Java SDK
AddServerGroupToLoadBalancerListenerAction action = new AddServerGroupToLoadBalancerListenerAction();
action.serverGroupUuid = "05a078a03cad32a6a4c5c05f418eb27a";
action.listenerUuid = "cb64a1d37cae35449ca3f9813150f073";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
AddServerGroupToLoadBalancerListenerAction.Result res = action.call();
Python SDK
AddServerGroupToLoadBalancerListenerAction action = AddServerGroupToLoadBalancerListenerAction()
action.serverGroupUuid = "05a078a03cad32a6a4c5c05f418eb27a"
action.listenerUuid = "cb64a1d37cae35449ca3f9813150f073"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
AddServerGroupToLoadBalancerListenerAction.Result res = action.call()

从负载均衡监听器移除服务器组(RemoveServerGroupFromLoadBalancerListener)

API请求

URLs
DELETE zstack/v1/load-balancers/listeners/{listenerUuid}/servergroups
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/load-balancers/listeners/f75607a7bf203e07bab135d9363bd17d/servergroups
参数列表
名字 类型 位置 描述 可选值 起始版本
serverGroupUuid String body 服务器组uuid 4.0.0
listenerUuid String url 监听器uuid 4.0.0
systemTags (可选) List body 系统标签 4.0.0
userTags (可选) List body 用户标签 4.0.0

API返回

返回示例
{
  "inventory": {
    "uuid": "0938faf74f7d34cd97d35427b1b562e5",
    "name": "Test-Listener",
    "loadBalancerUuid": "e64028f4b3f33896a49d4da1d4e51a8f",
    "instancePort": 80.0,
    "loadBalancerPort": 80.0,
    "protocol": "http"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.0.0
inventory LoadBalancerListenerInventory 详情参考inventory 4.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 4.0.0
description String 错误的概要描述 4.0.0
details String 错误的详细信息 4.0.0
elaboration String 保留字段,默认为null 4.0.0
opaque LinkedHashMap 保留字段,默认为null 4.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 4.0.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
loadBalancerUuid String 负载均衡器UUID 4.0.0
instancePort Integer 4.0.0
loadBalancerPort Integer 4.0.0
protocol String 4.0.0
serverGroupUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
vmNicRefs List 详情参考vmNicRefs 4.0.0
aclRefs List 详情参考aclRefs 4.0.0
certificateRefs List 详情参考certificateRefs 4.0.0
serverGroupRefs List 详情参考serverGroupRefs 4.0.0
#vmNicRefs
名字 类型 描述 起始版本
id Long 4.0.0
listenerUuid String 4.0.0
vmNicUuid String 云主机网卡UUID 4.0.0
status String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#aclRefs
名字 类型 描述 起始版本
id Long 资源唯一标识 4.0.0
listenerUuid String 监听器唯一标识 4.0.0
aclUuid String 访问策略组唯一标识 4.0.0
type String 访问策略类型 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#certificateRefs
名字 类型 描述 起始版本
id Long 4.0.0
listenerUuid String 4.0.0
certificateUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#serverGroupRefs
名字 类型 描述 起始版本
id long 4.0.0
listenerUuid String 4.0.0
serverGroupUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0

SDK示例

Java SDK
RemoveServerGroupFromLoadBalancerListenerAction action = new RemoveServerGroupFromLoadBalancerListenerAction();
action.serverGroupUuid = "f08184f0cda83505bc2a703b5e589160";
action.listenerUuid = "f75607a7bf203e07bab135d9363bd17d";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
RemoveServerGroupFromLoadBalancerListenerAction.Result res = action.call();
Python SDK
RemoveServerGroupFromLoadBalancerListenerAction action = RemoveServerGroupFromLoadBalancerListenerAction()
action.serverGroupUuid = "f08184f0cda83505bc2a703b5e589160"
action.listenerUuid = "f75607a7bf203e07bab135d9363bd17d"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
RemoveServerGroupFromLoadBalancerListenerAction.Result res = action.call()

更新负载均衡后端服务器参数(ChangeLoadBalancerBackendServer)

API请求

URLs
PUT zstack/v1/load-balancers/servergroups/{serverGroupUuid}/backendserver/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
  "changeLoadBalancerBackendServer": {
    "vmNics": [
      {
        "c1409d7fc54333d5ad3163d406620c01": "10"
      }
    ],
    "servers": [
      {
        "192.168.1.1": "20"
      }
    ]
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"changeLoadBalancerBackendServer":{"vmNics":[{"c1409d7fc54333d5ad3163d406620c01":"10"}],"servers":[{"192.168.1.1":"20"}]}}' http://localhost:8080/zstack/v1/load-balancers/servergroups/892bcf49ff433372952a09db93f851e6/backendserver/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
serverGroupUuid String url 负载均衡器服务器组uuid 4.0.0
vmNics (可选) List body(包含在changeLoadBalancerBackendServer结构中) 后端服务器组网卡 4.0.0
servers (可选) List body(包含在changeLoadBalancerBackendServer结构中) 后端服务器组网ip 4.0.0
systemTags (可选) List body 系统标签 4.0.0
userTags (可选) List body 用户标签 4.0.0

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
ChangeLoadBalancerBackendServerAction action = new ChangeLoadBalancerBackendServerAction();
action.serverGroupUuid = "892bcf49ff433372952a09db93f851e6";
action.vmNics = asList([c1409d7fc54333d5ad3163d406620c01:10]);
action.servers = asList([192.168.1.1:20]);
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
ChangeLoadBalancerBackendServerAction.Result res = action.call();
Python SDK
ChangeLoadBalancerBackendServerAction action = ChangeLoadBalancerBackendServerAction()
action.serverGroupUuid = "892bcf49ff433372952a09db93f851e6"
action.vmNics = [[c1409d7fc54333d5ad3163d406620c01:10]]
action.servers = [[192.168.1.1:20]]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
ChangeLoadBalancerBackendServerAction.Result res = action.call()

获取可供负载均衡器服务器组添加的云主机网卡(GetCandidateVmNicsForLoadBalancerServerGroup)

API请求

URLs
GET zstack/v1/load-balancers/servergroups/candidate-nics
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/load-balancers/servergroups/candidate-nics?servergroupUuid=8e19c3c1227635b39799ff85cd2e01b4&loadBalancerUuid=786271b7eea63f0785ed67e3a36bfe35
参数列表
名字 类型 位置 描述 可选值 起始版本
servergroupUuid (可选) String query 4.0.0
loadBalancerUuid (可选) String query 负载均衡器UUID 4.0.0
systemTags (可选) List query 系统标签 4.0.0
userTags (可选) List query 用户标签 4.0.0

API返回

返回示例
{
  "inventories": [
    {
      "uuid": "798c7b209b34303aa9a48593594bccee",
      "vmInstanceUuid": "c158c92bdda63bbb97c8dea6d284350a",
      "usedIpUuid": "702b0b20aebe3d4a880abe851940462d",
      "l3NetworkUuid": "a1cebc14f5b236578049889964686822",
      "ip": "192.168.1.10",
      "mac": "00:0c:29:bd:99:fc",
      "hypervisorType": "KVM",
      "netmask": "255.255.255.0",
      "gateway": "192.168.1.1",
      "deviceId": 0.0,
      "createDate": "Nov 14, 2017 10:20:57 PM",
      "lastOpDate": "Nov 14, 2017 10:20:57 PM"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.0.0
inventories List 详情参考inventories 4.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 4.0.0
description String 错误的概要描述 4.0.0
details String 错误的详细信息 4.0.0
elaboration String 保留字段,默认为null 4.0.0
opaque LinkedHashMap 保留字段,默认为null 4.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 4.0.0
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
vmInstanceUuid String 云主机UUID 4.0.0
l3NetworkUuid String 三层网络UUID 4.0.0
ip String IP地址 4.0.0
mac String MAC地址 4.0.0
hypervisorType String 虚拟化类型 4.0.0
netmask String 子网掩码 4.0.0
gateway String 网关 4.0.0
metaData String 4.0.0
ipVersion Integer IP地址版本 4.0.0
deviceId Integer 设备ID 4.0.0
type String 网卡类型 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
usedIps List 详情参考usedIps 4.0.0
#usedIps
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
ipRangeUuid String IP段UUID 4.0.0
l3NetworkUuid String 三层网络UUID 4.0.0
ipVersion Integer IP协议号 4.0.0
ip String IP地址 4.0.0
netmask String 网络掩码 4.0.0
gateway String 网关地址 4.0.0
usedFor String 4.0.0
ipInLong long 4.0.0
vmNicUuid String 云主机网卡UUID 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0

SDK示例

Java SDK
GetCandidateVmNicsForLoadBalancerServerGroupAction action = new GetCandidateVmNicsForLoadBalancerServerGroupAction();
action.servergroupUuid = "8e19c3c1227635b39799ff85cd2e01b4";
action.loadBalancerUuid = "786271b7eea63f0785ed67e3a36bfe35";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
GetCandidateVmNicsForLoadBalancerServerGroupAction.Result res = action.call();
Python SDK
GetCandidateVmNicsForLoadBalancerServerGroupAction action = GetCandidateVmNicsForLoadBalancerServerGroupAction()
action.servergroupUuid = "8e19c3c1227635b39799ff85cd2e01b4"
action.loadBalancerUuid = "786271b7eea63f0785ed67e3a36bfe35"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
GetCandidateVmNicsForLoadBalancerServerGroupAction.Result res = action.call()

创建性能独享型负载均衡器组(CreateSlbGroup)

API请求

URLs
POST zstack/v1/load-balancers/slb/groups
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "name": "slbGroup",
    "slbOfferingUuid": "f66b4cd06a2d3ae985e40514502c3ea3",
    "frontEndL3NetworkUuid": "307ab51e198a35bab0bcc517f849aa46",
    "backendType": "VYOS",
    "deployType": "Direct",
    "description": "this is a slb spec for test"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"slbGroup","slbOfferingUuid":"f66b4cd06a2d3ae985e40514502c3ea3","frontEndL3NetworkUuid":"307ab51e198a35bab0bcc517f849aa46","backendType":"VYOS","deployType":"Direct","description":"this is a slb spec for test"}}' http://localhost:8080/zstack/v1/load-balancers/slb/groups
参数列表
名字 类型 位置 描述 可选值 起始版本
name String body(包含在params结构中) 资源名称 4.0.0
slbOfferingUuid String body(包含在params结构中) 高性能实例规格uuid 4.0.0
frontEndL3NetworkUuid String body(包含在params结构中) 前端网络uuid 4.0.0
backendL3NetworkUuids (可选) List body(包含在params结构中) 后端所属网络uuid 4.0.0
backendType (可选) String body(包含在params结构中) 后端类型
  • VYOS
4.0.0
deployType (可选) String body(包含在params结构中) 部署类型
  • Direct
4.0.0
description (可选) String body(包含在params结构中) 资源的详细描述 4.0.0
resourceUuid (可选) String body(包含在params结构中) 资源UUID 4.0.0
tagUuids (可选) List body(包含在params结构中) 标签UUID列表 4.0.0
systemTags (可选) List body 系统标签 4.0.0
userTags (可选) List body 用户标签 4.0.0

API返回

返回示例
{
  "inventory": {}
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.0.0
inventory SlbGroupInventory 详情参考inventory 4.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 4.0.0
description String 错误的概要描述 4.0.0
details String 错误的详细信息 4.0.0
elaboration String 保留字段,默认为null 4.0.0
opaque LinkedHashMap 保留字段,默认为null 4.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 4.0.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
backendType String 4.0.0
deployType String 4.0.0
slbOfferingUuid String 4.0.0
description String 资源的详细描述 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
slbVms List 详情参考slbVms 4.0.0
lbs List 详情参考lbs 4.0.0
networks List 详情参考networks 4.0.0
#slbVms
名字 类型 描述 起始版本
slbGroupUuid String 4.0.0
publicNetworkUuid String 4.0.0
virtualRouterVips List 4.0.0
applianceVmType String 4.0.0
managementNetworkUuid String 4.0.0
defaultRouteL3NetworkUuid String 4.0.0
status String 4.0.0
agentPort Integer 4.0.0
haStatus String 4.0.0
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
zoneUuid String 区域UUID 4.0.0
clusterUuid String 集群UUID 4.0.0
imageUuid String 镜像UUID 4.0.0
hostUuid String 物理机UUID 4.0.0
lastHostUuid String 4.0.0
instanceOfferingUuid String 计算规格UUID 4.0.0
rootVolumeUuid String 根云盘UUID 4.0.0
platform String 4.0.0
defaultL3NetworkUuid String 4.0.0
type String 4.0.0
hypervisorType String 4.0.0
memorySize Long 4.0.0
cpuNum Integer 4.0.0
cpuSpeed Long 4.0.0
allocatorStrategy String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
state String 4.0.0
vmNics List 详情参考vmNics 4.0.0
allVolumes List 详情参考allVolumes 4.0.0
vmCdRoms List 详情参考vmCdRoms 4.0.0
#vmNics
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
vmInstanceUuid String 云主机UUID 4.0.0
l3NetworkUuid String 三层网络UUID 4.0.0
ip String IP地址 4.0.0
mac String MAC地址 4.0.0
hypervisorType String 虚拟化类型 4.0.0
netmask String 子网掩码 4.0.0
gateway String 网关 4.0.0
metaData String 4.0.0
ipVersion Integer IP地址版本 4.0.0
deviceId Integer 设备ID 4.0.0
type String 网卡类型 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
usedIps List 详情参考usedIps 4.0.0
#usedIps
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
ipRangeUuid String IP段UUID 4.0.0
l3NetworkUuid String 三层网络UUID 4.0.0
ipVersion Integer IP协议号 4.0.0
ip String IP地址 4.0.0
netmask String 网络掩码 4.0.0
gateway String 网关地址 4.0.0
usedFor String 4.0.0
ipInLong long 4.0.0
vmNicUuid String 云主机网卡UUID 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#allVolumes
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
primaryStorageUuid String 主存储UUID 4.0.0
vmInstanceUuid String 云主机UUID 4.0.0
diskOfferingUuid String 云盘规格UUID 4.0.0
rootImageUuid String 云盘根镜像UUID 4.0.0
installPath String 云盘在主存储上的路径 4.0.0
type String 云盘类型,数据云盘/根云盘 4.0.0
format String 云盘格式 4.0.0
size Long 云盘大小 4.0.0
actualSize Long 云盘真实大小 4.0.0
deviceId Integer 4.0.0
state String 云盘是否开启 4.0.0
status String 云盘状态 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
isShareable Boolean 是否共享云盘 4.0.0
volumeQos String 云盘Qos,格式如total=1048576 4.0.0
#vmCdRoms
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
vmInstanceUuid String 云主机UUID 4.0.0
deviceId Integer 光驱顺序号 4.0.0
isoUuid String ISO镜像UUID 4.0.0
isoInstallPath String ISO镜像挂载路径 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#lbs
名字 类型 描述 起始版本
slbGroupUuid String 4.0.0
name String 资源名称 4.0.0
uuid String 资源的UUID,唯一标示该资源 4.0.0
description String 资源的详细描述 4.0.0
state String 4.0.0
type String 4.0.0
vipUuid String VIP UUID 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
listeners List 详情参考listeners 4.0.0
#listeners
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
loadBalancerUuid String 负载均衡器UUID 4.0.0
instancePort Integer 4.0.0
loadBalancerPort Integer 4.0.0
protocol String 4.0.0
serverGroupUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
vmNicRefs List 详情参考vmNicRefs 4.0.0
aclRefs List 详情参考aclRefs 4.0.0
certificateRefs List 详情参考certificateRefs 4.0.0
serverGroupRefs List 详情参考serverGroupRefs 4.0.0
#vmNicRefs
名字 类型 描述 起始版本
id Long 4.0.0
listenerUuid String 4.0.0
vmNicUuid String 云主机网卡UUID 4.0.0
status String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#aclRefs
名字 类型 描述 起始版本
id Long 资源唯一标识 4.0.0
listenerUuid String 监听器唯一标识 4.0.0
aclUuid String 访问策略组唯一标识 4.0.0
type String 访问策略类型 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#certificateRefs
名字 类型 描述 起始版本
id Long 4.0.0
listenerUuid String 4.0.0
certificateUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#serverGroupRefs
名字 类型 描述 起始版本
id long 4.0.0
listenerUuid String 4.0.0
serverGroupUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#networks
名字 类型 描述 起始版本
slbGroupUuid String 4.0.0
l3NetworkUuid String 三层网络UUID 4.0.0
l3NetworkCategory String 4.0.0
l3NetworkType String 4.0.0
type String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0

SDK示例

Java SDK
CreateSlbGroupAction action = new CreateSlbGroupAction();
action.name = "slbGroup";
action.slbOfferingUuid = "f66b4cd06a2d3ae985e40514502c3ea3";
action.frontEndL3NetworkUuid = "307ab51e198a35bab0bcc517f849aa46";
action.backendType = "VYOS";
action.deployType = "Direct";
action.description = "this is a slb spec for test";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateSlbGroupAction.Result res = action.call();
Python SDK
CreateSlbGroupAction action = CreateSlbGroupAction()
action.name = "slbGroup"
action.slbOfferingUuid = "f66b4cd06a2d3ae985e40514502c3ea3"
action.frontEndL3NetworkUuid = "307ab51e198a35bab0bcc517f849aa46"
action.backendType = "VYOS"
action.deployType = "Direct"
action.description = "this is a slb spec for test"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateSlbGroupAction.Result res = action.call()

删除性能独享型负载均衡器组(DeleteSlbGroup)

API请求

URLs
DELETE zstack/v1/load-balancers/slb/group/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X DELETE http://localhost:8080/zstack/v1/load-balancers/slb/group/d0b541dcd7d230378a0d97e6c1e07d48
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 4.0.0
deleteMode (可选) String body 删除模式
  • Permissive
  • Enforcing
4.0.0
systemTags (可选) List body 系统标签 4.0.0
userTags (可选) List body 用户标签 4.0.0

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
DeleteSlbGroupAction action = new DeleteSlbGroupAction();
action.uuid = "d0b541dcd7d230378a0d97e6c1e07d48";
action.deleteMode = "Permissive";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
DeleteSlbGroupAction.Result res = action.call();
Python SDK
DeleteSlbGroupAction action = DeleteSlbGroupAction()
action.uuid = "d0b541dcd7d230378a0d97e6c1e07d48"
action.deleteMode = "Permissive"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
DeleteSlbGroupAction.Result res = action.call()

更新性能独享型负载均衡器组(UpdateSlbGroup)

API请求

URLs
PUT zstack/v1/load-balancers/slb/group/{uuid}/actions
Headers
Authorization: OAuth the-session-uuid
Body
{
  "updateSlbGroup": {
    "name": "slb",
    "description": "slb test",
    "slbOfferingUuid": "3996416dcab833258087ac86be993858"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X PUT -d '{"updateSlbGroup":{"name":"slb","description":"slb test","slbOfferingUuid":"3996416dcab833258087ac86be993858"}}' http://localhost:8080/zstack/v1/load-balancers/slb/group/fa13412281f333469e8009c531ef9755/actions
参数列表
名字 类型 位置 描述 可选值 起始版本
uuid String url 资源的UUID,唯一标示该资源 4.0.0
name (可选) String body(包含在updateSlbGroup结构中) 资源名称 4.0.0
description (可选) String body(包含在updateSlbGroup结构中) 资源的详细描述 4.0.0
slbOfferingUuid (可选) String body(包含在updateSlbGroup结构中) 性能独享型负载均衡器规格 4.0.0
systemTags (可选) List body 系统标签 4.0.0
userTags (可选) List body 用户标签 4.0.0

API返回

返回示例
{
  "inventory": {
    "name": "slb",
    "backendType": "vyos",
    "deployType": "direct",
    "description": "slb test"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.0.0
inventory SlbGroupInventory 详情参考inventory 4.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 4.0.0
description String 错误的概要描述 4.0.0
details String 错误的详细信息 4.0.0
elaboration String 保留字段,默认为null 4.0.0
opaque LinkedHashMap 保留字段,默认为null 4.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 4.0.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
backendType String 4.0.0
deployType String 4.0.0
slbOfferingUuid String 4.0.0
description String 资源的详细描述 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
slbVms List 详情参考slbVms 4.0.0
lbs List 详情参考lbs 4.0.0
networks List 详情参考networks 4.0.0
#slbVms
名字 类型 描述 起始版本
slbGroupUuid String 4.0.0
publicNetworkUuid String 4.0.0
virtualRouterVips List 4.0.0
applianceVmType String 4.0.0
managementNetworkUuid String 4.0.0
defaultRouteL3NetworkUuid String 4.0.0
status String 4.0.0
agentPort Integer 4.0.0
haStatus String 4.0.0
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
zoneUuid String 区域UUID 4.0.0
clusterUuid String 集群UUID 4.0.0
imageUuid String 镜像UUID 4.0.0
hostUuid String 物理机UUID 4.0.0
lastHostUuid String 4.0.0
instanceOfferingUuid String 计算规格UUID 4.0.0
rootVolumeUuid String 根云盘UUID 4.0.0
platform String 4.0.0
defaultL3NetworkUuid String 4.0.0
type String 4.0.0
hypervisorType String 4.0.0
memorySize Long 4.0.0
cpuNum Integer 4.0.0
cpuSpeed Long 4.0.0
allocatorStrategy String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
state String 4.0.0
vmNics List 详情参考vmNics 4.0.0
allVolumes List 详情参考allVolumes 4.0.0
vmCdRoms List 详情参考vmCdRoms 4.0.0
#vmNics
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
vmInstanceUuid String 云主机UUID 4.0.0
l3NetworkUuid String 三层网络UUID 4.0.0
ip String IP地址 4.0.0
mac String MAC地址 4.0.0
hypervisorType String 虚拟化类型 4.0.0
netmask String 子网掩码 4.0.0
gateway String 网关 4.0.0
metaData String 4.0.0
ipVersion Integer IP地址版本 4.0.0
deviceId Integer 设备ID 4.0.0
type String 网卡类型 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
usedIps List 详情参考usedIps 4.0.0
#usedIps
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
ipRangeUuid String IP段UUID 4.0.0
l3NetworkUuid String 三层网络UUID 4.0.0
ipVersion Integer IP协议号 4.0.0
ip String IP地址 4.0.0
netmask String 网络掩码 4.0.0
gateway String 网关地址 4.0.0
usedFor String 4.0.0
ipInLong long 4.0.0
vmNicUuid String 云主机网卡UUID 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#allVolumes
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
primaryStorageUuid String 主存储UUID 4.0.0
vmInstanceUuid String 云主机UUID 4.0.0
diskOfferingUuid String 云盘规格UUID 4.0.0
rootImageUuid String 云盘根镜像UUID 4.0.0
installPath String 云盘在主存储上的路径 4.0.0
type String 云盘类型,数据云盘/根云盘 4.0.0
format String 云盘格式 4.0.0
size Long 云盘大小 4.0.0
actualSize Long 云盘真实大小 4.0.0
deviceId Integer 4.0.0
state String 云盘是否开启 4.0.0
status String 云盘状态 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
isShareable Boolean 是否共享云盘 4.0.0
volumeQos String 云盘Qos,格式如total=1048576 4.0.0
#vmCdRoms
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
vmInstanceUuid String 云主机UUID 4.0.0
deviceId Integer 光驱顺序号 4.0.0
isoUuid String ISO镜像UUID 4.0.0
isoInstallPath String ISO镜像挂载路径 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#lbs
名字 类型 描述 起始版本
slbGroupUuid String 4.0.0
name String 资源名称 4.0.0
uuid String 资源的UUID,唯一标示该资源 4.0.0
description String 资源的详细描述 4.0.0
state String 4.0.0
type String 4.0.0
vipUuid String VIP UUID 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
listeners List 详情参考listeners 4.0.0
#listeners
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
loadBalancerUuid String 负载均衡器UUID 4.0.0
instancePort Integer 4.0.0
loadBalancerPort Integer 4.0.0
protocol String 4.0.0
serverGroupUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
vmNicRefs List 详情参考vmNicRefs 4.0.0
aclRefs List 详情参考aclRefs 4.0.0
certificateRefs List 详情参考certificateRefs 4.0.0
serverGroupRefs List 详情参考serverGroupRefs 4.0.0
#vmNicRefs
名字 类型 描述 起始版本
id Long 4.0.0
listenerUuid String 4.0.0
vmNicUuid String 云主机网卡UUID 4.0.0
status String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#aclRefs
名字 类型 描述 起始版本
id Long 资源唯一标识 4.0.0
listenerUuid String 监听器唯一标识 4.0.0
aclUuid String 访问策略组唯一标识 4.0.0
type String 访问策略类型 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#certificateRefs
名字 类型 描述 起始版本
id Long 4.0.0
listenerUuid String 4.0.0
certificateUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#serverGroupRefs
名字 类型 描述 起始版本
id long 4.0.0
listenerUuid String 4.0.0
serverGroupUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#networks
名字 类型 描述 起始版本
slbGroupUuid String 4.0.0
l3NetworkUuid String 三层网络UUID 4.0.0
l3NetworkCategory String 4.0.0
l3NetworkType String 4.0.0
type String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0

SDK示例

Java SDK
UpdateSlbGroupAction action = new UpdateSlbGroupAction();
action.uuid = "fa13412281f333469e8009c531ef9755";
action.name = "slb";
action.description = "slb test";
action.slbOfferingUuid = "3996416dcab833258087ac86be993858";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
UpdateSlbGroupAction.Result res = action.call();
Python SDK
UpdateSlbGroupAction action = UpdateSlbGroupAction()
action.uuid = "fa13412281f333469e8009c531ef9755"
action.name = "slb"
action.description = "slb test"
action.slbOfferingUuid = "3996416dcab833258087ac86be993858"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
UpdateSlbGroupAction.Result res = action.call()

查询性能独享型负载均衡器组(QuerySlbGroup)

API请求

URLs
GET zstack/v1/load-balancers/slb/groups
GET zstack/v1/load-balancers/slb/groups/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/load-balancers/slb/groups
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/load-balancers/slb/groups/3cdd853e3e8d364b83f6e1e4965df7b0

可查询字段

运行CLI命令行工具,输入QuerySlbGroup并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
  "inventories": [
    {
      "name": "slb",
      "backendType": "vyos",
      "deployType": "direct",
      "description": "slb test"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.0.0
inventories List 详情参考inventories 4.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 4.0.0
description String 错误的概要描述 4.0.0
details String 错误的详细信息 4.0.0
elaboration String 保留字段,默认为null 4.0.0
opaque LinkedHashMap 保留字段,默认为null 4.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 4.0.0
#inventories
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
backendType String 4.0.0
deployType String 4.0.0
slbOfferingUuid String 4.0.0
description String 资源的详细描述 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
slbVms List 详情参考slbVms 4.0.0
lbs List 详情参考lbs 4.0.0
networks List 详情参考networks 4.0.0
#slbVms
名字 类型 描述 起始版本
slbGroupUuid String 4.0.0
publicNetworkUuid String 4.0.0
virtualRouterVips List 4.0.0
applianceVmType String 4.0.0
managementNetworkUuid String 4.0.0
defaultRouteL3NetworkUuid String 4.0.0
status String 4.0.0
agentPort Integer 4.0.0
haStatus String 4.0.0
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
zoneUuid String 区域UUID 4.0.0
clusterUuid String 集群UUID 4.0.0
imageUuid String 镜像UUID 4.0.0
hostUuid String 物理机UUID 4.0.0
lastHostUuid String 4.0.0
instanceOfferingUuid String 计算规格UUID 4.0.0
rootVolumeUuid String 根云盘UUID 4.0.0
platform String 4.0.0
defaultL3NetworkUuid String 4.0.0
type String 4.0.0
hypervisorType String 4.0.0
memorySize Long 4.0.0
cpuNum Integer 4.0.0
cpuSpeed Long 4.0.0
allocatorStrategy String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
state String 4.0.0
vmNics List 详情参考vmNics 4.0.0
allVolumes List 详情参考allVolumes 4.0.0
vmCdRoms List 详情参考vmCdRoms 4.0.0
#vmNics
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
vmInstanceUuid String 云主机UUID 4.0.0
l3NetworkUuid String 三层网络UUID 4.0.0
ip String IP地址 4.0.0
mac String MAC地址 4.0.0
hypervisorType String 虚拟化类型 4.0.0
netmask String 子网掩码 4.0.0
gateway String 网关 4.0.0
metaData String 4.0.0
ipVersion Integer IP地址版本 4.0.0
deviceId Integer 设备ID 4.0.0
type String 网卡类型 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
usedIps List 详情参考usedIps 4.0.0
#usedIps
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
ipRangeUuid String IP段UUID 4.0.0
l3NetworkUuid String 三层网络UUID 4.0.0
ipVersion Integer IP协议号 4.0.0
ip String IP地址 4.0.0
netmask String 网络掩码 4.0.0
gateway String 网关地址 4.0.0
usedFor String 4.0.0
ipInLong long 4.0.0
vmNicUuid String 云主机网卡UUID 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#allVolumes
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
primaryStorageUuid String 主存储UUID 4.0.0
vmInstanceUuid String 云主机UUID 4.0.0
diskOfferingUuid String 云盘规格UUID 4.0.0
rootImageUuid String 云盘根镜像UUID 4.0.0
installPath String 云盘在主存储上的路径 4.0.0
type String 云盘类型,数据云盘/根云盘 4.0.0
format String 云盘格式 4.0.0
size Long 云盘大小 4.0.0
actualSize Long 云盘真实大小 4.0.0
deviceId Integer 4.0.0
state String 云盘是否开启 4.0.0
status String 云盘状态 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
isShareable Boolean 是否共享云盘 4.0.0
volumeQos String 云盘Qos,格式如total=1048576 4.0.0
#vmCdRoms
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
vmInstanceUuid String 云主机UUID 4.0.0
deviceId Integer 光驱顺序号 4.0.0
isoUuid String ISO镜像UUID 4.0.0
isoInstallPath String ISO镜像挂载路径 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#lbs
名字 类型 描述 起始版本
slbGroupUuid String 4.0.0
name String 资源名称 4.0.0
uuid String 资源的UUID,唯一标示该资源 4.0.0
description String 资源的详细描述 4.0.0
state String 4.0.0
type String 4.0.0
vipUuid String VIP UUID 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
listeners List 详情参考listeners 4.0.0
#listeners
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
loadBalancerUuid String 负载均衡器UUID 4.0.0
instancePort Integer 4.0.0
loadBalancerPort Integer 4.0.0
protocol String 4.0.0
serverGroupUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
vmNicRefs List 详情参考vmNicRefs 4.0.0
aclRefs List 详情参考aclRefs 4.0.0
certificateRefs List 详情参考certificateRefs 4.0.0
serverGroupRefs List 详情参考serverGroupRefs 4.0.0
#vmNicRefs
名字 类型 描述 起始版本
id Long 4.0.0
listenerUuid String 4.0.0
vmNicUuid String 云主机网卡UUID 4.0.0
status String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#aclRefs
名字 类型 描述 起始版本
id Long 资源唯一标识 4.0.0
listenerUuid String 监听器唯一标识 4.0.0
aclUuid String 访问策略组唯一标识 4.0.0
type String 访问策略类型 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#certificateRefs
名字 类型 描述 起始版本
id Long 4.0.0
listenerUuid String 4.0.0
certificateUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#serverGroupRefs
名字 类型 描述 起始版本
id long 4.0.0
listenerUuid String 4.0.0
serverGroupUuid String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#networks
名字 类型 描述 起始版本
slbGroupUuid String 4.0.0
l3NetworkUuid String 三层网络UUID 4.0.0
l3NetworkCategory String 4.0.0
l3NetworkType String 4.0.0
type String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0

SDK示例

Java SDK
QuerySlbGroupAction action = new QuerySlbGroupAction();
action.conditions = asList("uuid=8751fa7f60f4394ea89b9197961113f2");
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QuerySlbGroupAction.Result res = action.call();
Python SDK
QuerySlbGroupAction action = QuerySlbGroupAction()
action.conditions = ["uuid=067ab1149fd733359870c11f10398cfd"]
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QuerySlbGroupAction.Result res = action.call()

创建高性能实例性负载均衡器规格(CreateSlbOffering)

API请求

URLs
POST zstack/v1/instance-offerings/slb
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "zoneUuid": "bdbae55ce73b3e2ab8a4ae3a6df0b287",
    "managementNetworkUuid": "7661f1f6d5a63d6eb3b9c3890ab3f9bb",
    "imageUuid": "2bae0841f4c63f128efcf66d095d73b0",
    "name": "SLB-Offering",
    "cpuNum": 2.0,
    "memorySize": 1024.0,
    "sortKey": 0.0,
    "type": "SLB"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"zoneUuid":"bdbae55ce73b3e2ab8a4ae3a6df0b287","managementNetworkUuid":"7661f1f6d5a63d6eb3b9c3890ab3f9bb","imageUuid":"2bae0841f4c63f128efcf66d095d73b0","name":"SLB-Offering","cpuNum":2.0,"memorySize":1024.0,"sortKey":0.0,"type":"SLB"}}' http://localhost:8080/zstack/v1/instance-offerings/slb
参数列表
名字 类型 位置 描述 可选值 起始版本
zoneUuid String body(包含在params结构中) 区域UUID 4.0.0
managementNetworkUuid String body(包含在params结构中) 管理网络uuid 4.0.0
imageUuid String body(包含在params结构中) 镜像UUID 4.0.0
name String body(包含在params结构中) 资源名称 4.0.0
description (可选) String body(包含在params结构中) 资源的详细描述 4.0.0
cpuNum int body(包含在params结构中) 4.0.0
memorySize long body(包含在params结构中) 4.0.0
allocatorStrategy (可选) String body(包含在params结构中) 4.0.0
sortKey (可选) int body(包含在params结构中) 4.0.0
type (可选) String body(包含在params结构中) 4.0.0
resourceUuid (可选) String body(包含在params结构中) 资源UUID 4.0.0
tagUuids (可选) List body(包含在params结构中) 标签UUID列表 4.0.0
systemTags (可选) List body 系统标签 4.0.0
userTags (可选) List body 用户标签 4.0.0

API返回

返回示例
{
  "inventory": {
    "uuid": "3b0af4671cc93f619ef326a3c99d825c",
    "name": "instanceOffering1",
    "cpuNum": 2.0,
    "cpuSpeed": 1.0,
    "type": "UserVm",
    "allocatorStrategy": "Mevoco",
    "createDate": "Nov 14, 2017 10:20:57 PM",
    "lastOpDate": "Nov 14, 2017 10:20:57 PM",
    "state": "Enabled"
  }
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.0.0
inventory InstanceOfferingInventory 详情参考inventory 4.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 4.0.0
description String 错误的概要描述 4.0.0
details String 错误的详细信息 4.0.0
elaboration String 保留字段,默认为null 4.0.0
opaque LinkedHashMap 保留字段,默认为null 4.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 4.0.0
#inventory
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
cpuNum Integer CPU数量 4.0.0
cpuSpeed Integer CPU速度 4.0.0
memorySize Long 内存大小 4.0.0
type String 类型 4.0.0
allocatorStrategy String 分配策略 4.0.0
sortKey Integer 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
state String 状态(启用,禁用) 4.0.0

SDK示例

Java SDK
CreateSlbOfferingAction action = new CreateSlbOfferingAction();
action.zoneUuid = "bdbae55ce73b3e2ab8a4ae3a6df0b287";
action.managementNetworkUuid = "7661f1f6d5a63d6eb3b9c3890ab3f9bb";
action.imageUuid = "2bae0841f4c63f128efcf66d095d73b0";
action.name = "SLB-Offering";
action.cpuNum = 2.0;
action.memorySize = 1024.0;
action.sortKey = 0.0;
action.type = "SLB";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateSlbOfferingAction.Result res = action.call();
Python SDK
CreateSlbOfferingAction action = CreateSlbOfferingAction()
action.zoneUuid = "bdbae55ce73b3e2ab8a4ae3a6df0b287"
action.managementNetworkUuid = "7661f1f6d5a63d6eb3b9c3890ab3f9bb"
action.imageUuid = "2bae0841f4c63f128efcf66d095d73b0"
action.name = "SLB-Offering"
action.cpuNum = 2.0
action.memorySize = 1024.0
action.sortKey = 0.0
action.type = "SLB"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateSlbOfferingAction.Result res = action.call()

查询性能独享型负载均衡器规格(QuerySlbOffering)

API请求

URLs
GET zstack/v1/instance-offerings/slb
GET zstack/v1/instance-offerings/slb/{uuid}
Headers
Authorization: OAuth the-session-uuid
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/instance-offerings/slb
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X GET http://localhost:8080/zstack/v1/instance-offerings/slb/cab5a4776ee936938d2cdd08860ee50a

可查询字段

运行CLI命令行工具,输入QuerySlbOffering并按Tab键查看所有可查询字段以及可跨表查询的资源名。

API返回

返回示例
{
  "inventories": [
    {
      "managementNetworkUuid": "fdd51745e9ee3a4cb5bca03cf021c22f",
      "zoneUuid": "305d0c8b5c5a3edd81a641911126c332",
      "imageUuid": "b2f980076c3e3e6f8e9f3d4fd22bb7fb",
      "name": "SLB-Offering",
      "cpuNum": 2.0,
      "cpuSpeed": 1.0,
      "memorySize": 1024.0,
      "type": "SLB"
    }
  ]
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.0.0
inventories List 详情参考inventories 4.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 4.0.0
description String 错误的概要描述 4.0.0
details String 错误的详细信息 4.0.0
elaboration String 保留字段,默认为null 4.0.0
opaque LinkedHashMap 保留字段,默认为null 4.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 4.0.0
#inventories
名字 类型 描述 起始版本
managementNetworkUuid String 4.0.0
zoneUuid String 区域UUID 4.0.0
imageUuid String 镜像UUID 4.0.0
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
cpuNum Integer 4.0.0
cpuSpeed Integer 4.0.0
memorySize Long 4.0.0
type String 4.0.0
allocatorStrategy String 4.0.0
sortKey Integer 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
state String 4.0.0

SDK示例

Java SDK
QuerySlbOfferingAction action = new QuerySlbOfferingAction();
action.conditions = asList();
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
QuerySlbOfferingAction.Result res = action.call();
Python SDK
QuerySlbOfferingAction action = QuerySlbOfferingAction()
action.conditions = []
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
QuerySlbOfferingAction.Result res = action.call()

创建高性能负载均衡器实例(CreateSlbInstance)

API请求

URLs
POST zstack/v1/load-balancers/slb/instances
Headers
Authorization: OAuth the-session-uuid
Body
{
  "params": {
    "name": "SlbInstance",
    "slbGroupUuid": "9f4fcda488f9346ca9c8ea9243d6d8e3",
    "description": "this is a slb for test"
  },
  "systemTags": [],
  "userTags": []
}
Note: 上述示例中systemTagsuserTags字段可以省略。列出是为了表示body中可以包含这两个字段。
Curl示例
curl -H "Content-Type: application/json;charset=UTF-8" \
-H "Authorization: OAuth b86c9016b4f24953a9edefb53ca0678c" \
-X POST -d '{"params":{"name":"SlbInstance","slbGroupUuid":"9f4fcda488f9346ca9c8ea9243d6d8e3","description":"this is a slb for test"}}' http://localhost:8080/zstack/v1/load-balancers/slb/instances
参数列表
名字 类型 位置 描述 可选值 起始版本
name String body(包含在params结构中) 资源名称 4.0.0
slbGroupUuid String body(包含在params结构中) 性能独享型负载均衡器组uuid 4.0.0
description (可选) List body(包含在params结构中) 资源的详细描述 4.0.0
zoneUuid (可选) String body(包含在params结构中) 区域UUID
  • VYOS
4.0.0
clusterUuid (可选) String body(包含在params结构中) 集群UUID
  • Direct
4.0.0
hostUuid (可选) String body(包含在params结构中) 物理机UUID 4.0.0
resourceUuid (可选) String body(包含在params结构中) 资源UUID 4.0.0
tagUuids (可选) List body(包含在params结构中) 标签UUID列表 4.0.0
systemTags (可选) List body 系统标签 4.0.0
userTags (可选) List body 用户标签 4.0.0

API返回

返回示例
{
  "inventory": {}
}
名字 类型 描述 起始版本
error ErrorCode 错误码,若不为null,则表示操作失败, 操作成功时该字段为null。 详情参考error 4.0.0
inventory SlbVmInstanceInventory 详情参考inventory 4.0.0
#error
名字 类型 描述 起始版本
code String 错误码号,错误的全局唯一标识,例如SYS.1000, HOST.1001 4.0.0
description String 错误的概要描述 4.0.0
details String 错误的详细信息 4.0.0
elaboration String 保留字段,默认为null 4.0.0
opaque LinkedHashMap 保留字段,默认为null 4.0.0
cause ErrorCode 根错误,引发当前错误的源错误,若无原错误,该字段为null 4.0.0
#inventory
名字 类型 描述 起始版本
slbGroupUuid String 4.0.0
publicNetworkUuid String 4.0.0
virtualRouterVips List 4.0.0
applianceVmType String 4.0.0
managementNetworkUuid String 4.0.0
defaultRouteL3NetworkUuid String 4.0.0
status String 4.0.0
agentPort Integer 4.0.0
haStatus String 4.0.0
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
zoneUuid String 区域UUID 4.0.0
clusterUuid String 集群UUID 4.0.0
imageUuid String 镜像UUID 4.0.0
hostUuid String 物理机UUID 4.0.0
lastHostUuid String 4.0.0
instanceOfferingUuid String 计算规格UUID 4.0.0
rootVolumeUuid String 根云盘UUID 4.0.0
platform String 4.0.0
defaultL3NetworkUuid String 4.0.0
type String 4.0.0
hypervisorType String 4.0.0
memorySize Long 4.0.0
cpuNum Integer 4.0.0
cpuSpeed Long 4.0.0
allocatorStrategy String 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
state String 4.0.0
vmNics List 详情参考vmNics 4.0.0
allVolumes List 详情参考allVolumes 4.0.0
vmCdRoms List 详情参考vmCdRoms 4.0.0
#vmNics
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
vmInstanceUuid String 云主机UUID 4.0.0
l3NetworkUuid String 三层网络UUID 4.0.0
ip String IP地址 4.0.0
mac String MAC地址 4.0.0
hypervisorType String 虚拟化类型 4.0.0
netmask String 子网掩码 4.0.0
gateway String 网关 4.0.0
metaData String 4.0.0
ipVersion Integer IP地址版本 4.0.0
deviceId Integer 设备ID 4.0.0
type String 网卡类型 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
usedIps List 详情参考usedIps 4.0.0
#usedIps
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
ipRangeUuid String IP段UUID 4.0.0
l3NetworkUuid String 三层网络UUID 4.0.0
ipVersion Integer IP协议号 4.0.0
ip String IP地址 4.0.0
netmask String 网络掩码 4.0.0
gateway String 网关地址 4.0.0
usedFor String 4.0.0
ipInLong long 4.0.0
vmNicUuid String 云主机网卡UUID 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
#allVolumes
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
primaryStorageUuid String 主存储UUID 4.0.0
vmInstanceUuid String 云主机UUID 4.0.0
diskOfferingUuid String 云盘规格UUID 4.0.0
rootImageUuid String 云盘根镜像UUID 4.0.0
installPath String 云盘在主存储上的路径 4.0.0
type String 云盘类型,数据云盘/根云盘 4.0.0
format String 云盘格式 4.0.0
size Long 云盘大小 4.0.0
actualSize Long 云盘真实大小 4.0.0
deviceId Integer 4.0.0
state String 云盘是否开启 4.0.0
status String 云盘状态 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0
isShareable Boolean 是否共享云盘 4.0.0
volumeQos String 云盘Qos,格式如total=1048576 4.0.0
#vmCdRoms
名字 类型 描述 起始版本
uuid String 资源的UUID,唯一标示该资源 4.0.0
vmInstanceUuid String 云主机UUID 4.0.0
deviceId Integer 光驱顺序号 4.0.0
isoUuid String ISO镜像UUID 4.0.0
isoInstallPath String ISO镜像挂载路径 4.0.0
name String 资源名称 4.0.0
description String 资源的详细描述 4.0.0
createDate Timestamp 创建时间 4.0.0
lastOpDate Timestamp 最后一次修改时间 4.0.0

SDK示例

Java SDK
CreateSlbInstanceAction action = new CreateSlbInstanceAction();
action.name = "SlbInstance";
action.slbGroupUuid = "9f4fcda488f9346ca9c8ea9243d6d8e3";
action.description = "this is a slb for test";
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c";
CreateSlbInstanceAction.Result res = action.call();
Python SDK
CreateSlbInstanceAction action = CreateSlbInstanceAction()
action.name = "SlbInstance"
action.slbGroupUuid = "9f4fcda488f9346ca9c8ea9243d6d8e3"
action.description = "this is a slb for test"
action.sessionId = "b86c9016b4f24953a9edefb53ca0678c"
CreateSlbInstanceAction.Result res = action.call()
开发手册 | 4.8.38 | ZStack Cloud · ZCF | ZStack 资源中心