Update Load Balancer
Updates the configuration of an existing load balancer. This is the endpoint used to add or change backends, backend servers, ACL routing rules (acl_list / acl_map), the TCP backend (tcp_backend), timeouts, SSL settings, and the plan.
The full configuration context must be re-sent on every update - the console reads the current context object (from List Load Balancers), mutates the arrays it needs to change, and PUTs the entire object back. Any field omitted is treated as cleared. Key rules enforced by the backend:
-
backendsandtcp_backendare mutually exclusive;tcp_backendmay contain at most one entry. -
acl_list/acl_mapmay only be used on an ALB (they cannot coexist withtcp_backend). -
default_backendmay only be set whenbackendsis non-empty. -
For an internal load balancer (
lb_type: internal)vpc_listis required andlb_reserve_ipmust be empty.
/api/v1/appliances/load-balancers/{lb_id}/Path parameters
lb_idPathintegerrequiredThe
idof the load balancer, as returned by the List Load Balancers endpoint.- required
- must be a valid load balancer (appliance) ID
example12345
Query parameters
project_idQueryintegerrequiredIdentifier of the project to scope the request to. Required integer project ID.
- required
- must be a valid integer project ID
example{{project_id}}apikeyQuerystringrequiredAPI key used to authenticate the update request
- required
- non-empty string
example{{api_key}}locationQuerystringrequiredRegion of the load balancer being updated.
- must be a non-empty string
example{{location}}
Request body
application/json
The complete load balancer configuration context. Read the current context from List Load Balancers, change the fields you need, and PUT the whole object back. Fields shared with create (plan, timeouts, ssl_context, vpc_list, backends/servers, security and encryption flags) behave identically; the fields below are the ones most relevant to updates.
Display name (changing it here renames the load balancer).
new-name-1- matches ^[A-Za-z0-9_-]+$
- max length 64 characters
Network scheme. internal requires a non-empty vpc_list and forbids lb_reserve_ip.
externalFrontend protocol (HTTP/HTTPS/BOTH for an ALB, TCP for an NLB).
HTTPListening port (string).
80- integer 1-65535 (as a string)
- ports 1-1023 and reserved ports 8080, 10050, 9101 rejected unless 80 or 443
Plan SKU. Changing it here is not how you upgrade - use Perform Load Balancer Action with type: upgrade_plan instead.
E2E-LB-2DALB backend groups (same item shape as create). Add, edit, or remove backends here. Empty for an NLB. Deleting a backend also prunes any acl_map entries that targeted it.
NLB TCP backend (same item shape as create). At most one entry. Mutually exclusive with backends.
Layer-7 ACL rule definitions (the match conditions). Only valid on an ALB - cannot coexist with tcp_backend. Each entry is paired 1:1 with an acl_map entry by acl_name.
Maps named ACL rules (from acl_list) to the backend that should serve matching traffic. Only valid on an ALB.
Backend that serves unmatched traffic. Must be empty if there are no backends.
backend-group-1TLS configuration (ALB only).
61- minimum 60, maximum 10000
61- minimum 60, maximum 10000
61- minimum 60, maximum 10000
61- minimum 60, maximum 10000
VPC attachments (required for internal load balancers).
12345falsefalseResponses
200Successful response
200Success