CreateLoadBalancerListener
API Request
URLs
POST zstack/v1/load-balancers/{loadBalancerUuid}/listeners
Headers
Authorization: OAuth the-session-uuid
Body
Note: In
the preceding sample, both systemTags and userTags are optional.
These two fields can be included in the body structure.
{
"params": {
"name": "Test-Listener",
"instancePort": 80.0,
"loadBalancerPort": 80.0,
"protocol": "http"
"aclStatus": "disable",
"aclType": "black"
},
"systemTags": [],
"userTags": []
}

Curl
Sample
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
Request Parameters
Note:
Name | Type | Location | Description | Optional Value | Starting Version |
---|---|---|---|---|---|
loadBalancerUuid | String | url | The UUID of the load balancer listener. | 0.6 | |
name | String | body (contained in the params structure) | The name of the load balancer listener. | 0.6 | |
description | String | body (contained in the params structure) | Optional. The detailed description of the resource. | 0.6 | |
instancePort | Integer | body (contained in the params structure) | Optional. The VM port. | 0.6 | |
loadBalancerPort | int | body (contained in the params structure) | The load balancer port. | 0.6 | |
protocol | String | body (contained in the params structure) | Optional. The protocol. |
|
3.0.0 |
certificateUuid | String | body (contained in the params structure) | Optional. The certificate UUID. | 2.3.2 | |
resourceUuid | String | body (contained in the params structure) | Optional. The resource UUID. | 0.6 | |
instancePort | Integer | body (contained in the params structure) | Optional. | 3.9.0 | |
healthCheckProtocol | String | body (contained in the params structure) | Optional. The health check protocol. |
|
3.9.0 |
healthCheckMethod | String | body (contained in the params structure) | Optional. The health check method. |
|
3.9.0 |
healthCheckURI | String | body (contained in the params structure) | Optional. The health check URI. | 3.9.0 | |
healthCheckHttpCode | String | body (contained in the params structure) | Optional. The expected response code of the health check. | 3.9.0 | |
aclStatus | String | body (contained in the params structure) | The access control status. |
|
3.9.0 |
aclUuids | list | body (contained in the params structure) | Optional. The access control list. | 3.9.0 | |
aclType | String | body (contained in the params structure) | Optional. The access control type. |
|
3.9.0 |
tagUuids | list | body (contained in the params structure) | Optional. The tag UUID list. | 3.9.0 | |
systemTags | List | body | Optional. The system tags. | 0.6 | |
userTags | List | body | Optional. The user tags. | 0.6 |

- When you create a load balancer listener in ZStack Cloud, you can set seven layers of health check
parameters by adding the healthCheckParameter option to
SystemTags.
- Format of the healthCheckParameter option:
healthCheckParameter::{parameter}
. Here, the parameter can behealthCheckParameter::method:uri:expect-result
. - Example:
healthCheckParameter::GET:/healthstatus.html:http_2xx
- Format of the healthCheckParameter option:
- When you create a load balancer listener in ZStack Cloud, you can set the access control status of
the listener by adding the accessControlStatus option to
SystemTags.
- Format of the accessControlStatus option:
accessControlStatus::{status}
- Example:
accessControlStatus::{enable}
- Format of the accessControlStatus option:
API Response
Sample
Response
{
"inventory": {
"uuid": "e82212513e2f3644885d98ce164ee687",
"name": "Test-Listener",
"loadBalancerUuid": "f7b267e9a5683ba5981b79196ca65d47",
"instancePort": 80.0,
"loadBalancerPort": 80.0,
"protocol": "http"
}
}
Name | Type | Description | Starting Version |
---|---|---|---|
error | ErrorCode | The error code. If not null, the operation fails, or vice versa. For more information, see error. | 0.6 |
inventory | LoadBalancerListenerInventory | See inventory. | 0.6 |
#error
Name | Type | Description | Starting Version |
---|---|---|---|
code | String | The error code, which is a numbered or alphanumeric code that specifies an error. For example, SYS.1000, HOST.1001. | 0.6 |
description | String | The brief description of the error. | 0.6 |
details | String | The details about the error. | 0.6 |
elaboration | String | The reserved field. Default value: null. | 0.6 |
opaque | LinkedHashMap | The reserved field. Default value: null. | 0.6 |
cause | ErrorCode | The root error, which is the associated root cause of the current error. If no root error exists, this parameter is null. | 0.6 |
#inventory
Name | Type | Description | Starting Version |
---|---|---|---|
uuid | String | The resource UUID. | 0.6 |
name | String | The resource name. | 0.6 |
description | String | The detailed description of the resource. | 0.6 |
loadBalancerUuid | String | The load balancer UUID. | 0.6 |
instancePort | Integer | 0.6 | |
loadBalancerPort | Integer | 0.6 | |
protocol | String | 0.6 | |
createDate | Timestamp | The creation date. | 0.6 |
lastOpDate | Timestamp | The last operation date. | 0.6 |
vmNicRefs | List | See vmNicRefs. | 0.6 |
aclRefs | List | See aclRefs. | 3.9.0 |
certificateRefs | List | See certificateRefs. | 2.3.2 |
#vmNicRefs
Name | Type | Description | Starting Version |
---|---|---|---|
id | Long | 0.6 | |
listenerUuid | String | 0.6 | |
vmNicUuid | String | The VM NIC UUID. | 0.6 |
status | String | 0.6 | |
createDate | Timestamp | The creation date. | 0.6 |
lastOpDate | Timestamp | The last operation date. | 0.6 |
#aclRefs
Name | Type | Description | Starting Version |
---|---|---|---|
id | Long | The resource UUID. | 3.9.0 |
listenerUuid | String | The listener UUID. | 3.9.0 |
aclUuid | String | The UUID of the access control list. | 3.9.0 |
type | String | The access control type. | 3.9.0 |
createDate | Timestamp | The creation date. | 3.9.0 |
lastOpDate | Timestamp | The last operation date. | 3.9.0 |
#certificateRefs
Name | Type | Description | Starting Version |
---|---|---|---|
id | Long | 2.3 | |
listenerUuid | String | 2.3 | |
certificateUuid | String | 2.3.2 | |
createDate | Timestamp | The creation date. | 0.6 |
lastOpDate | Timestamp | The last operation date. | 0.6 |
SDK Sample
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()