ByCloud Docs
GuidesCLIAPISDK

PHP SDK

Load Balancers

Load balancers, listeners, pools, and health monitors

35 methods

GET

listLoadBalancers()

List load balancers

Parameters

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

name

string

- Filter by name (exact match or prefix with *)

tags

string

- Filter by tags (comma-separated)

vip_subnet_id

string

- Filter by VIP subnet ID

vip_address

string

- Filter by VIP address

provisioning_status

string

- Filter by provisioning status

operating_status

string

- Filter by operating status

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->listLoadBalancers();
print_r($result);
POST

createLoadBalancer()

Create load balancer

Parameters

name

string

required
description

string

vip_address

string

- VIP address (auto-assigned if omitted)

vip_subnet_id

string

required
vip_network_id

string

flavor_id

string

tags

array

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->createLoadBalancer([
'name' => 'web-lb',
'vip_subnet_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

getLoadBalancer()

Get load balancer

Parameters

load_balancer_id

string

required

- Load Balancer ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->getLoadBalancer([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
PATCH

updateLoadBalancer()

Update load balancer

Parameters

load_balancer_id

string

required

- Load Balancer ID

name

string

description

string

tags

array

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->updateLoadBalancer([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

deleteLoadBalancer()

Delete load balancer

Parameters

load_balancer_id

string

required

- Load Balancer ID

cascade

boolean

- Delete all child resources (listeners, pools, etc.)

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->deleteLoadBalancer([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listHealthMonitors()

List health monitors

Parameters

load_balancer_id

string

required

- Load Balancer ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

name

string

- Filter by name (exact match or prefix with *)

tags

string

- Filter by tags (comma-separated)

pool_id

string

- Filter by pool ID

type

string

- Filter by health monitor type

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->listHealthMonitors([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
POST

createHealthMonitor()

Create health monitor

Parameters

load_balancer_id

string

required

- Load Balancer ID

name

string

pool_id

string

required
type

string

required
delay

integer

required
timeout

integer

required
max_retries

integer

required
max_retries_down

integer

http_method

string

url_path

string

expected_codes

string

tags

array

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->createHealthMonitor([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'pool_id' => '550e8400-e29b-41d4-a716-446655440000',
'type' => 'HTTP',
'delay' => 10,
'timeout' => 10,
'max_retries' => 10
]);
print_r($result);
GET

getHealthMonitor()

Get health monitor

Parameters

load_balancer_id

string

required

- Load Balancer ID

health_monitor_id

string

required

- Health Monitor ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->getHealthMonitor([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'health_monitor_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
PATCH

updateHealthMonitor()

Update health monitor

Parameters

load_balancer_id

string

required

- Load Balancer ID

health_monitor_id

string

required

- Health Monitor ID

name

string

delay

integer

timeout

integer

max_retries

integer

max_retries_down

integer

http_method

string

url_path

string

expected_codes

string

tags

array

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->updateHealthMonitor([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'health_monitor_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

deleteHealthMonitor()

Delete health monitor

Parameters

load_balancer_id

string

required

- Load Balancer ID

health_monitor_id

string

required

- Health Monitor ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->deleteHealthMonitor([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'health_monitor_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listL7Policies()

List L7 policies

Parameters

load_balancer_id

string

required

- Load Balancer ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

name

string

- Filter by name (exact match or prefix with *)

tags

string

- Filter by tags (comma-separated)

listener_id

string

- Filter by listener ID

action

string

- Filter by action

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->listL7Policies([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
POST

createL7Policy()

Create L7 policy

Parameters

load_balancer_id

string

required

- Load Balancer ID

name

string

description

string

listener_id

string

required
action

string

required
position

integer

redirect_pool_id

string

- Required for REDIRECT_TO_POOL action

redirect_url

string

- Required for REDIRECT_TO_URL action

redirect_prefix

string

- Required for REDIRECT_PREFIX action

redirect_http_code

integer

tags

array

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->createL7Policy([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'listener_id' => '550e8400-e29b-41d4-a716-446655440000',
'action' => 'REDIRECT_TO_POOL'
]);
print_r($result);
GET

getL7Policy()

Get L7 policy

Parameters

load_balancer_id

string

required

- Load Balancer ID

l7_policy_id

string

required

- L7 Policy ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->getL7Policy([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'l7_policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
PATCH

updateL7Policy()

Update L7 policy

Parameters

load_balancer_id

string

required

- Load Balancer ID

l7_policy_id

string

required

- L7 Policy ID

name

string

description

string

action

string

position

integer

redirect_pool_id

string

redirect_url

string

redirect_prefix

string

redirect_http_code

integer

tags

array

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->updateL7Policy([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'l7_policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

deleteL7Policy()

Delete L7 policy

Parameters

load_balancer_id

string

required

- Load Balancer ID

l7_policy_id

string

required

- L7 Policy ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->deleteL7Policy([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'l7_policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listL7Rules()

List L7 rules

Parameters

load_balancer_id

string

required

- Load Balancer ID

l7_policy_id

string

required

- L7 Policy ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->listL7Rules([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'l7_policy_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
POST

createL7Rule()

Create L7 rule

Parameters

load_balancer_id

string

required

- Load Balancer ID

l7_policy_id

string

required

- L7 Policy ID

type

string

required
compare_type

string

required
key

string

- Required for HEADER and COOKIE rules

value

string

required
invert

boolean

tags

array

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->createL7Rule([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'l7_policy_id' => '550e8400-e29b-41d4-a716-446655440000',
'type' => 'PATH',
'compare_type' => 'STARTS_WITH',
'value' => 'example-string'
]);
print_r($result);
GET

getL7Rule()

Get L7 rule

Parameters

load_balancer_id

string

required

- Load Balancer ID

l7_policy_id

string

required

- L7 Policy ID

l7_rule_id

string

required

- L7 Rule ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->getL7Rule([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'l7_policy_id' => '550e8400-e29b-41d4-a716-446655440000',
'l7_rule_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
PATCH

updateL7Rule()

Update L7 rule

Parameters

load_balancer_id

string

required

- Load Balancer ID

l7_policy_id

string

required

- L7 Policy ID

l7_rule_id

string

required

- L7 Rule ID

type

string

compare_type

string

key

string

value

string

invert

boolean

tags

array

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->updateL7Rule([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'l7_policy_id' => '550e8400-e29b-41d4-a716-446655440000',
'l7_rule_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

deleteL7Rule()

Delete L7 rule

Parameters

load_balancer_id

string

required

- Load Balancer ID

l7_policy_id

string

required

- L7 Policy ID

l7_rule_id

string

required

- L7 Rule ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->deleteL7Rule([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'l7_policy_id' => '550e8400-e29b-41d4-a716-446655440000',
'l7_rule_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listListeners()

List listeners

Parameters

load_balancer_id

string

required

- Load Balancer ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

name

string

- Filter by name (exact match or prefix with *)

tags

string

- Filter by tags (comma-separated)

protocol

string

- Filter by protocol

protocol_port

integer

- Filter by protocol port

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->listListeners([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
POST

createListener()

Create listener

Parameters

load_balancer_id

string

required

- Load Balancer ID

name

string

description

string

load_balancer_id

string

protocol

string

required
protocol_port

integer

required
connection_limit

integer

default_pool_id

string

default_tls_container_ref

string

sni_container_refs

array

insert_headers

object

timeout_client_data

integer

timeout_member_connect

integer

timeout_member_data

integer

timeout_tcp_inspect

integer

tags

array

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->createListener([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'protocol' => 'HTTP',
'protocol_port' => 10
]);
print_r($result);
GET

getListener()

Get listener

Parameters

load_balancer_id

string

required

- Load Balancer ID

listener_id

string

required

- Listener ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->getListener([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'listener_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
PATCH

updateListener()

Update listener

Parameters

load_balancer_id

string

required

- Load Balancer ID

listener_id

string

required

- Listener ID

name

string

description

string

connection_limit

integer

default_pool_id

string

default_tls_container_ref

string

sni_container_refs

array

insert_headers

object

timeout_client_data

integer

timeout_member_connect

integer

timeout_member_data

integer

timeout_tcp_inspect

integer

tags

array

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->updateListener([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'listener_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

deleteListener()

Delete listener

Parameters

load_balancer_id

string

required

- Load Balancer ID

listener_id

string

required

- Listener ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->deleteListener([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'listener_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listPools()

List pools

Parameters

load_balancer_id

string

required

- Load Balancer ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

name

string

- Filter by name (exact match or prefix with *)

tags

string

- Filter by tags (comma-separated)

protocol

string

- Filter by protocol

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->listPools([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
POST

createPool()

Create pool

Parameters

load_balancer_id

string

required

- Load Balancer ID

name

string

description

string

load_balancer_id

string

listener_id

string

- Listener to attach (optional)

protocol

string

required
lb_algorithm

string

required
session_persistence

object

tags

array

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->createPool([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'protocol' => 'HTTP',
'lb_algorithm' => 'ROUND_ROBIN'
]);
print_r($result);
GET

getPool()

Get pool

Parameters

load_balancer_id

string

required

- Load Balancer ID

pool_id

string

required

- Pool ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->getPool([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'pool_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
PATCH

updatePool()

Update pool

Parameters

load_balancer_id

string

required

- Load Balancer ID

pool_id

string

required

- Pool ID

name

string

description

string

lb_algorithm

string

session_persistence

object

tags

array

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->updatePool([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'pool_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

deletePool()

Delete pool

Parameters

load_balancer_id

string

required

- Load Balancer ID

pool_id

string

required

- Pool ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->deletePool([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'pool_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
GET

listPoolMembers()

List pool members

Parameters

load_balancer_id

string

required

- Load Balancer ID

pool_id

string

required

- Pool ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->listPoolMembers([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'pool_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
POST

createPoolMember()

Create pool member

Parameters

load_balancer_id

string

required

- Load Balancer ID

pool_id

string

required

- Pool ID

name

string

address

string

required
protocol_port

integer

required
weight

integer

subnet_id

string

monitor_address

string

monitor_port

integer

backup

boolean

tags

array

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->createPoolMember([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'pool_id' => '550e8400-e29b-41d4-a716-446655440000',
'address' => 'example-string',
'protocol_port' => 10
]);
print_r($result);
GET

getPoolMember()

Get pool member

Parameters

load_balancer_id

string

required

- Load Balancer ID

pool_id

string

required

- Pool ID

member_id

string

required

- Pool Member ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->getPoolMember([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'pool_id' => '550e8400-e29b-41d4-a716-446655440000',
'member_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
PATCH

updatePoolMember()

Update pool member

Parameters

load_balancer_id

string

required

- Load Balancer ID

pool_id

string

required

- Pool ID

member_id

string

required

- Pool Member ID

name

string

weight

integer

monitor_address

string

monitor_port

integer

backup

boolean

tags

array

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->updatePoolMember([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'pool_id' => '550e8400-e29b-41d4-a716-446655440000',
'member_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);
DELETE

deletePoolMember()

Delete pool member

Parameters

load_balancer_id

string

required

- Load Balancer ID

pool_id

string

required

- Pool ID

member_id

string

required

- Pool Member ID

Example

<?php
use ByCloud\SDK\ByCloud;
$client = new ByCloud(["token" => "YOUR_ACCESS_TOKEN"]);
$result = $client->loadBalancers->deletePoolMember([
'load_balancer_id' => '550e8400-e29b-41d4-a716-446655440000',
'pool_id' => '550e8400-e29b-41d4-a716-446655440000',
'member_id' => '550e8400-e29b-41d4-a716-446655440000'
]);
print_r($result);