ByCloud Docs
GuidesCLIAPISDK

JavaScript 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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.listLoadBalancers();
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.createLoadBalancer({
name: "web-lb",
vip_subnet_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(result);
GET

getLoadBalancer()

Get load balancer

Parameters

load_balancer_id

string

required

- Load Balancer ID

Example

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.getLoadBalancer({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(result);
PATCH

updateLoadBalancer()

Update load balancer

Parameters

load_balancer_id

string

required

- Load Balancer ID

name

string

description

string

tags

array

Example

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.updateLoadBalancer({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.deleteLoadBalancer({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.listHealthMonitors({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await 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
});
console.log(result);
GET

getHealthMonitor()

Get health monitor

Parameters

load_balancer_id

string

required

- Load Balancer ID

health_monitor_id

string

required

- Health Monitor ID

Example

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.getHealthMonitor({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
health_monitor_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.updateHealthMonitor({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
health_monitor_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(result);
DELETE

deleteHealthMonitor()

Delete health monitor

Parameters

load_balancer_id

string

required

- Load Balancer ID

health_monitor_id

string

required

- Health Monitor ID

Example

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.deleteHealthMonitor({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
health_monitor_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.listL7Policies({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.createL7Policy({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
listener_id: "550e8400-e29b-41d4-a716-446655440000",
action: "REDIRECT_TO_POOL"
});
console.log(result);
GET

getL7Policy()

Get L7 policy

Parameters

load_balancer_id

string

required

- Load Balancer ID

l7_policy_id

string

required

- L7 Policy ID

Example

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.getL7Policy({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
l7_policy_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.updateL7Policy({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
l7_policy_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(result);
DELETE

deleteL7Policy()

Delete L7 policy

Parameters

load_balancer_id

string

required

- Load Balancer ID

l7_policy_id

string

required

- L7 Policy ID

Example

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.deleteL7Policy({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
l7_policy_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.listL7Rules({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
l7_policy_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await 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"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await 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"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await 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"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await 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"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.listListeners({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.createListener({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
protocol: "HTTP",
protocol_port: 10
});
console.log(result);
GET

getListener()

Get listener

Parameters

load_balancer_id

string

required

- Load Balancer ID

listener_id

string

required

- Listener ID

Example

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.getListener({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
listener_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.updateListener({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
listener_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(result);
DELETE

deleteListener()

Delete listener

Parameters

load_balancer_id

string

required

- Load Balancer ID

listener_id

string

required

- Listener ID

Example

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.deleteListener({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
listener_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.listPools({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.createPool({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
protocol: "HTTP",
lb_algorithm: "ROUND_ROBIN"
});
console.log(result);
GET

getPool()

Get pool

Parameters

load_balancer_id

string

required

- Load Balancer ID

pool_id

string

required

- Pool ID

Example

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.getPool({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
pool_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.updatePool({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
pool_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(result);
DELETE

deletePool()

Delete pool

Parameters

load_balancer_id

string

required

- Load Balancer ID

pool_id

string

required

- Pool ID

Example

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.deletePool({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
pool_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.listPoolMembers({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
pool_id: "550e8400-e29b-41d4-a716-446655440000"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await client.loadBalancers.createPoolMember({
load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",
pool_id: "550e8400-e29b-41d4-a716-446655440000",
address: "example-string",
protocol_port: 10
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await 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"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await 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"
});
console.log(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

import { ByCloud } from "@bycoded/bycloud-sdk";
const client = new ByCloud({
token: "YOUR_ACCESS_TOKEN",
});
const result = await 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"
});
console.log(result);