Pool members are logical, physical objects representing a single internal physical server IP address and listener port. You assign pool members to pools and use them to load balance traffic directed to the pool associated with a virtual server configured in the load balancer.
Use the following operations to view and manage pool members.
Retrieve pool members for a pool
Retrieve a list of members associated with a specific pool ID.
GET /pools/{poolId}/members
This operation does not accept a request body.
Response
{
"data": [
{
"id": "127.0.0.1:80",
"port": {
"type": "equal",
"value": 80
},
"monitorRule": {},
"address": "127.0.0.1",
"appService": null,
"connectionLimit": 0,
"description": "none",
"dynamicRatio": 1,
"inheritProfile": "enabled",
"logging": "disabled",
"priorityGroup": 0,
"rateLimit": "disabled",
"ratio": 1,
"session": "monitor-enabled",
"state": "unchecked",
"metadata": {},
"profiles": null
}
]
}
Create a pool member in a pool
Create a pool member by adding an existing node to a specified pool.
POST /pools/{poolId}/members
Request body
{
"nodeId": "<nodeId>",
"port": {
"type": "equal",
"value": 80
}
}
Response
{
"data": {
"eventId": "<eventId:str>",
"resource": "<poolId:str>",
"status": "PROCESSING",
"timestamp": "2016-03-17T09:36:42.5274609Z",
"eventRef": "/events/<eventId:str>"
}
}
Retrieve statistics for pool members
Retrieve statistics for all pool members in a specified pool, including configuration settings, availability, and monitoring status.
GET /pools/{poolId}/members/stats
This operation does not accept a request body.
Response
{
"data": [
{
"id": "test1:80",
"address": "127.0.0.1",
"connq": {
"ageEdm": 0,
"ageEma": 0,
"ageHead": 0,
"ageMax": 0,
"depth": 0,
"serviced": 0
},
"curSessions": 0,
"monitorRule": {
"monitors": [
"default"
],
"minimum": "all"
},
"monitorStatus": "address-down",
"nodeName": "test1",
"poolName": "test2",
"port": {
"type": "equal",
"value": 80
},
"serverside": {
"bitsIn": 0,
"bitsOut": 0,
"curConns": 0,
"maxConns": 0,
"pktsIn": 0,
"pktsOut": 0,
"totConns": 0
},
"sessionStatus": "enabled",
"status": {
"availabilityState": "unknown",
"enabledState": "enabled",
"statusReason": "Pool member does not have service checking enabled"
},
"totRequests": 0
}
]
}
Retrieve pool member configuration
Retrieve configuration, monitor settings, and other data for a pool member.
GET /pools/{poolId}/members/{memberId}
This operation does not accept a request body.
Response
{
"data": [
{
"id": "127.0.0.1:80",
"address": "127.0.0.1",
"appService": null,
"connectionLimit": 0,
"description": null,
"dynamicRatio": 1,
"inheritProfile": "enabled",
"logging": "disabled",
"priorityGroup": 0,
"port": {
"type": "equal",
"value": 70
},
"rateLimit": "disabled",
"ratio": 1,
"session": "user-enabled",
"state": "unchecked",
"metadata": {},
"monitorRule": {},
"profiles": []
}
]
}
Update pool member configuration
Update configuration settings for a specified pool member.
PUT /pools/{poolId}/members/{memberId}
Request body
{
"appService": null,
"connectionLimit": 0,
"description": null,
"dynamicRatio": 1,
"inheritProfile": "enabled",
"logging": "enabled",
"priorityGroup": 0,
"rateLimit": "enabled"
}
Response
Update a pool member by pool ID.
{
"data": {
"eventId": "<eventId:str>",
"status": "PROCESSING",
"resource": "<poolId:str>",
"timestamp": "2016-03-17T09:36:42.5274609Z",
"eventRef": "/events/<eventId:str>"
}
}
Remove a pool member from pool
Remove a pool member by a specified pool ID.
DELETE /pools/{poolId}/members/{memberId}
This operation does not accept a request body.
Response
{
"data": {
"eventId": "<eventId:str>",
"status": "PROCESSING",
"resource": "<poolId:str>",
"timestamp": "2016-03-17T09:36:42.5274609Z",
"eventRef": "/events/<eventId:str>"
}
}
Retrieve a pool member monitor rule
Retrieves configuration settings for a monitor rule applied to a specified pool member.
GET /pools/{poolId}/members/{memberId}/monitor-rule
This operation does not accept a request body.
Response
{
"data": [
{
"minimum": "all",
"names": [
"default"
]
}
]
}
Update a monitor rule for pool member
Update the configuration settings for the monitor rule applied to a specified pool member.
PUT /pools/{poolId}/members/{memberId}/monitor-rule
Request body
{
"names": [
"tcp"
],
"minimum": 1
}
Response
Returns event information for the update monitor rule request. Use the event ID to get event status and output information.
{
"data": {
"eventId": "<eventId:str>",
"status": "PROCESSING",
"resource": "<poolId:str>",
"timestamp": "2016-03-16T17:09:53.1059638Z",
"eventRef": "/events/<eventId:str>"
}
}
Create a monitor rule for a pool member
Add monitors rule to a pool member in a specified pool.
POST /pools/{poolId}/members/{memberId}/monitor-rule
Request body
{
"names": [
"tcp",
"https"
],
"minimum": 1
}
Response
{
"data": {
"eventId": "<eventId:str>",
"status": "PROCESSING",
"resource": "<poolId:str>",
"timestamp": "2016-03-24T10:41:08.6194067Z",
"eventRef": "/events/<eventId:str>"
}
}
Remove a monitor rule from a pool member
Remove the monitor rule applied to a specified pool member (memberId) in a specified pool (poolId).
DELETE /pools/{poolId}/members/{memberID}/monitor-rule
Response
Returns event information for the update monitor rule request. Use the event ID to retrieve event status and output information.
{
"data": {
"eventId": "<eventId:str>",
"resource": "<poolId:str>",
"eventRef": "/events/<eventId:str}",
"status": "PROCESSING",
"timestamp": "2016-03-08T17:22:33.6249648Z"
}
}
Retrieve statistics for a pool member
Retrieve configuration, monitor settings, and other data for a pool member.
GET /pools/{poolId}/members/{memberId}/stats
This operation does not accept a request body.
Response
{
"data": [
{
"id": "test1:80",
"address": "127.0.0.1",
"connq": {
"ageEdm": 0,
"ageEma": 0,
"ageHead": 0,
"ageMax": 0,
"depth": 0,
"serviced": 0
},
"curSessions": 0,
"monitorRule": {
"monitors": [
"default"
],
"minimum": "all"
},
"monitorStatus": "address-down",
"nodeName": "test1",
"poolName": "test2",
"port": {
"type": "equal",
"value": 80
},
"serverside": {
"bitsIn": 0,
"bitsOut": 0,
"curConns": 0,
"maxConns": 0,
"pktsIn": 0,
"pktsOut": 0,
"totConns": 0
},
"sessionStatus": "enabled",
"status": {
"availabilityState": "unknown",
"enabledState": "enabled",
"statusReason": "Pool member does not have service checking enabled"
},
"totRequests": 0
}
]
}
Disable a pool member for maintenance
This setting allows the pool member (a combination of IP and port) to accept only new connections that match an existing persistence session. Use this feature to prevent new connections to a pool member without affecting existing client connections on the same pool member.
To monitor connection stats of a pool member, see: Retrieve statistics for pool members. Review the first object in the data array. The serverside object shows stats on activity to the member.
To re-enable the pool member, see Enable a pool member after maintenance.
It is important to understand differences between Disable versus offline.
PUT /pools/{pool_ID}/members/{member_ID}
Request body
{
"session": "user-disabled"
}
Response
{
"data": {
"eventId": "<eventId:str>",
"status": "PROCESSING",
"resource": "<poolId:str>",
"timestamp": "2016-03-17T09:36:42.5274609Z",
"eventRef": "/events/<eventId:str>"
}
}
Enable a pool member after maintenance
This setting allows the pool member (a combination of IP and Port) to accept new connections. Use this feature to enable a pool member after maintenance.
PUT /pools/{pool_ID}/members/{member_ID}
Request body
{
"session": "user-enabled"
}
Response
{
"data": {
"eventId": "<eventId:str>",
"status": "PROCESSING",
"resource": "<poolId:str>",
"timestamp": "2016-03-17T09:36:42.5274609Z",
"eventRef": "/events/<eventId:str>"
}
}
Offline a pool member for maintenance
This setting enables you to force a pool member offline and allows only active connections.
It is important to understand differences between Disable versus offline.
Request body
{
"state": "user-down"
}
Response
{
"data": {
"eventId": "<eventId:str>",
"status": "PROCESSING",
"resource": "<nodeId:str>",
"timestamp": "2016-03-08T17:22:33.6249648Z",
"eventRef": "/events/<eventId:str>"
}
}
Online a pool member after maintenance
Use this setting to bring a pool member back online, usually after maintenance.
Request body
{
"state": "user-up"
}
Response
{
"data": {
"eventId": "<eventId:str>",
"status": "PROCESSING",
"resource": "<nodeId:str>",
"timestamp": "2016-03-08T17:22:33.6249648Z",
"eventRef": "/events/<eventId:str>"
}
}