LoadBalancer Base API¶
-
class
libcloud.loadbalancer.base.Driver(key, secret=None, secure=True, host=None, port=None, **kwargs)[source]¶ A base Driver class to derive from
This class is always subclassed by a specific driver.
-
balancer_attach_compute_node(balancer, node)[source]¶ Attach a compute node as a member to the load balancer.
Parameters: - balancer (
LoadBalancer) – LoadBalancer which should be used - node (
Node) – Node to join to the balancer
Returns: Member after joining the balancer.
Return type: - balancer (
-
balancer_attach_member(balancer, member)[source]¶ Attach a member to balancer
Parameters: - balancer (
LoadBalancer) – LoadBalancer which should be used - member (
Member) – Member to join to the balancer
Returns: Member after joining the balancer.
Return type: - balancer (
-
balancer_detach_member(balancer, member)[source]¶ Detach member from balancer
Parameters: - balancer (
LoadBalancer) – LoadBalancer which should be used - member (
Member) – Member which should be used
Returns: Trueif member detach was successful, otherwiseFalse.Return type: bool- balancer (
-
balancer_list_members(balancer)[source]¶ Return list of members attached to balancer
Parameters: balancer ( LoadBalancer) – LoadBalancer which should be usedReturn type: listofMember
-
connectionCls¶ alias of
libcloud.common.base.ConnectionKey
-
create_balancer(name, port, protocol, algorithm, members)[source]¶ Create a new load balancer instance
Parameters: - name (
str) – Name of the new load balancer (required) - port (
str) – Port the load balancer should listen on, defaults to 80 - protocol (
str) – Loadbalancer protocol, defaults to http. - members (
listofMember) – list of Members to attach to balancer - algorithm (
Algorithm) – Load balancing algorithm, defaults to ROUND_ROBIN.
Return type: - name (
-
destroy_balancer(balancer)[source]¶ Destroy a load balancer
Parameters: balancer ( LoadBalancer) – LoadBalancer which should be usedReturns: Trueif the destroy was successful, otherwiseFalse.Return type: bool
-
get_balancer(balancer_id)[source]¶ Return a
LoadBalancerobject.Parameters: balancer_id ( str) – id of a load balancer you want to fetchReturn type: LoadBalancer
-
list_balancers()[source]¶ List all loadbalancers
Return type: listofLoadBalancer
-
list_supported_algorithms()[source]¶ Return algorithms supported by this driver.
Return type: listofstr
-
update_balancer(balancer, **kwargs)[source]¶ Sets the name, algorithm, protocol, or port on a load balancer.
Parameters: - balancer (
LoadBalancer) – LoadBalancer which should be used - name (
str) – New load balancer name - algorithm (
Algorithm) – New load balancer algorithm - protocol (
str) – New load balancer protocol - port (
int) – New load balancer port
Return type: - balancer (
-
-
class
libcloud.loadbalancer.base.LoadBalancer(id, name, state, ip, port, driver, extra=None)[source]¶ Provide a common interface for handling Load Balancers.
Parameters: - id (
str) – Load balancer ID. - name (
str) – Load balancer name. - state (
libcloud.loadbalancer.types.State) – State this loadbalancer is in. - ip (
str) – IP address of this loadbalancer. - port (
int) – Port of this loadbalancer. - driver (
Driver) – Driver this loadbalancer belongs to. - extra (
dict) – Provider specific attributes. (optional)
- id (
-
class
libcloud.loadbalancer.base.Member(id, ip, port, balancer=None, extra=None)[source]¶ Represents a load balancer member.
Parameters: - id (
str) – Member ID. - ip – IP address of this member.
- ip –
str - port – Port of this member
- port –
str - balancer – Balancer this member is attached to. (optional)
- balancer –
LoadBalancer - extra (
dict) – Provider specific attributes.
- id (