Go SDK
Load Balancers
Load balancers, listeners, pools, and health monitors
25 methods
ListHealthMonitors()
List health monitors
Parameters
limitinteger
- Maximum number of items to return
markerstring
- ID of the last item from the previous page (for pagination)
namestring
- Filter by name (exact match or prefix with *)
tagsstring
- Filter by tags (comma-separated)
pool_idstring
- Filter by pool ID
typestring
- Filter by health monitor type
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.ListHealthMonitors(ctx)if err != nil {panic(err)}fmt.Println(result)}
CreateHealthMonitor()
Create health monitor
Parameters
namestring
pool_idstring
requiredtypestring
requireddelayinteger
requiredtimeoutinteger
requiredmax_retriesinteger
requiredmax_retries_downinteger
http_methodstring
url_pathstring
expected_codesstring
tagsarray
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.CreateHealthMonitor(ctx, &bycloud.CreateHealthMonitorParams{Pool_id: "550e8400-e29b-41d4-a716-446655440000",Type: "HTTP",Delay: 10,Timeout: 10,Max_retries: 10,})if err != nil {panic(err)}fmt.Println(result)}
GetHealthMonitor()
Get health monitor
Parameters
health_monitor_idstring
required- Health Monitor ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.GetHealthMonitor(ctx, &bycloud.GetHealthMonitorParams{Health_monitor_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
UpdateHealthMonitor()
Update health monitor
Parameters
health_monitor_idstring
required- Health Monitor ID
namestring
delayinteger
timeoutinteger
max_retriesinteger
max_retries_downinteger
http_methodstring
url_pathstring
expected_codesstring
tagsarray
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.UpdateHealthMonitor(ctx, &bycloud.UpdateHealthMonitorParams{Health_monitor_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
DeleteHealthMonitor()
Delete health monitor
Parameters
health_monitor_idstring
required- Health Monitor ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.DeleteHealthMonitor(ctx, &bycloud.DeleteHealthMonitorParams{Health_monitor_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
ListListeners()
List listeners
Parameters
limitinteger
- Maximum number of items to return
markerstring
- ID of the last item from the previous page (for pagination)
namestring
- Filter by name (exact match or prefix with *)
tagsstring
- Filter by tags (comma-separated)
load_balancer_idstring
- Filter by load balancer ID
protocolstring
- Filter by protocol
protocol_portinteger
- Filter by protocol port
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.ListListeners(ctx)if err != nil {panic(err)}fmt.Println(result)}
CreateListener()
Create listener
Parameters
namestring
descriptionstring
load_balancer_idstring
requiredprotocolstring
requiredprotocol_portinteger
requiredconnection_limitinteger
default_pool_idstring
default_tls_container_refstring
sni_container_refsarray
insert_headersobject
timeout_client_datainteger
timeout_member_connectinteger
timeout_member_datainteger
timeout_tcp_inspectinteger
tagsarray
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.CreateListener(ctx, &bycloud.CreateListenerParams{Load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",Protocol: "HTTP",Protocol_port: 10,})if err != nil {panic(err)}fmt.Println(result)}
GetListener()
Get listener
Parameters
listener_idstring
required- Listener ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.GetListener(ctx, &bycloud.GetListenerParams{Listener_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
UpdateListener()
Update listener
Parameters
listener_idstring
required- Listener ID
namestring
descriptionstring
connection_limitinteger
default_pool_idstring
default_tls_container_refstring
sni_container_refsarray
insert_headersobject
timeout_client_datainteger
timeout_member_connectinteger
timeout_member_datainteger
timeout_tcp_inspectinteger
tagsarray
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.UpdateListener(ctx, &bycloud.UpdateListenerParams{Listener_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
DeleteListener()
Delete listener
Parameters
listener_idstring
required- Listener ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.DeleteListener(ctx, &bycloud.DeleteListenerParams{Listener_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
ListLoadBalancers()
List load balancers
Parameters
limitinteger
- Maximum number of items to return
markerstring
- ID of the last item from the previous page (for pagination)
namestring
- Filter by name (exact match or prefix with *)
tagsstring
- Filter by tags (comma-separated)
vip_subnet_idstring
- Filter by VIP subnet ID
vip_addressstring
- Filter by VIP address
provisioning_statusstring
- Filter by provisioning status
operating_statusstring
- Filter by operating status
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.ListLoadBalancers(ctx)if err != nil {panic(err)}fmt.Println(result)}
CreateLoadBalancer()
Create load balancer
Parameters
namestring
requireddescriptionstring
vip_addressstring
- VIP address (auto-assigned if omitted)
vip_subnet_idstring
requiredvip_network_idstring
providerstring
flavor_idstring
tagsarray
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.CreateLoadBalancer(ctx, &bycloud.CreateLoadBalancerParams{Name: "web-lb",Vip_subnet_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
GetLoadBalancer()
Get load balancer
Parameters
load_balancer_idstring
required- Load Balancer ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.GetLoadBalancer(ctx, &bycloud.GetLoadBalancerParams{Load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
UpdateLoadBalancer()
Update load balancer
Parameters
load_balancer_idstring
required- Load Balancer ID
namestring
descriptionstring
tagsarray
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.UpdateLoadBalancer(ctx, &bycloud.UpdateLoadBalancerParams{Load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
DeleteLoadBalancer()
Delete load balancer
Parameters
load_balancer_idstring
required- Load Balancer ID
cascadeboolean
- Delete all child resources (listeners, pools, etc.)
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.DeleteLoadBalancer(ctx, &bycloud.DeleteLoadBalancerParams{Load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
ListPools()
List pools
Parameters
limitinteger
- Maximum number of items to return
markerstring
- ID of the last item from the previous page (for pagination)
namestring
- Filter by name (exact match or prefix with *)
tagsstring
- Filter by tags (comma-separated)
load_balancer_idstring
- Filter by load balancer ID
protocolstring
- Filter by protocol
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.ListPools(ctx)if err != nil {panic(err)}fmt.Println(result)}
CreatePool()
Create pool
Parameters
namestring
descriptionstring
load_balancer_idstring
requiredlistener_idstring
- Listener to attach (optional)
protocolstring
requiredlb_algorithmstring
requiredsession_persistenceobject
tagsarray
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.CreatePool(ctx, &bycloud.CreatePoolParams{Load_balancer_id: "550e8400-e29b-41d4-a716-446655440000",Protocol: "HTTP",Lb_algorithm: "ROUND_ROBIN",})if err != nil {panic(err)}fmt.Println(result)}
GetPool()
Get pool
Parameters
pool_idstring
required- Pool ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.GetPool(ctx, &bycloud.GetPoolParams{Pool_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
UpdatePool()
Update pool
Parameters
pool_idstring
required- Pool ID
namestring
descriptionstring
lb_algorithmstring
session_persistenceobject
tagsarray
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.UpdatePool(ctx, &bycloud.UpdatePoolParams{Pool_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
DeletePool()
Delete pool
Parameters
pool_idstring
required- Pool ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.DeletePool(ctx, &bycloud.DeletePoolParams{Pool_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
ListPoolMembers()
List pool members
Parameters
pool_idstring
required- Pool ID
limitinteger
- Maximum number of items to return
markerstring
- ID of the last item from the previous page (for pagination)
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.ListPoolMembers(ctx, &bycloud.ListPoolMembersParams{Pool_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
CreatePoolMember()
Create pool member
Parameters
pool_idstring
required- Pool ID
namestring
addressstring
requiredprotocol_portinteger
requiredweightinteger
subnet_idstring
monitor_addressstring
monitor_portinteger
backupboolean
tagsarray
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.CreatePoolMember(ctx, &bycloud.CreatePoolMemberParams{Pool_id: "550e8400-e29b-41d4-a716-446655440000",Address: "example-string",Protocol_port: 10,})if err != nil {panic(err)}fmt.Println(result)}
GetPoolMember()
Get pool member
Parameters
pool_idstring
required- Pool ID
member_idstring
required- Pool Member ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.GetPoolMember(ctx, &bycloud.GetPoolMemberParams{Pool_id: "550e8400-e29b-41d4-a716-446655440000",Member_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
UpdatePoolMember()
Update pool member
Parameters
pool_idstring
required- Pool ID
member_idstring
required- Pool Member ID
namestring
weightinteger
monitor_addressstring
monitor_portinteger
backupboolean
tagsarray
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.UpdatePoolMember(ctx, &bycloud.UpdatePoolMemberParams{Pool_id: "550e8400-e29b-41d4-a716-446655440000",Member_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}
DeletePoolMember()
Delete pool member
Parameters
pool_idstring
required- Pool ID
member_idstring
required- Pool Member ID
Example
package mainimport ("context""fmt""github.com/bycoded/bycloud-go")func main() {client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))ctx := context.Background()result, err := client.LoadBalancers.DeletePoolMember(ctx, &bycloud.DeletePoolMemberParams{Pool_id: "550e8400-e29b-41d4-a716-446655440000",Member_id: "550e8400-e29b-41d4-a716-446655440000",})if err != nil {panic(err)}fmt.Println(result)}