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: Member
- 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: Member
- 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: True if member detach was successful, otherwise False.
Return type: bool
- balancer_list_members(balancer)[source]¶
Return list of members attached to balancer
Parameters: balancer (LoadBalancer) – LoadBalancer which should be used Return type: list of Member
- connectionCls¶
alias of 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 (list of Member) – list of Members to attach to balancer
- algorithm (Algorithm) – Load balancing algorithm, defaults to ROUND_ROBIN.
Return type: LoadBalancer
- destroy_balancer(balancer)[source]¶
Destroy a load balancer
Parameters: balancer (LoadBalancer) – LoadBalancer which should be used Returns: True if the destroy was successful, otherwise False. Return type: bool
- get_balancer(balancer_id)[source]¶
Return a LoadBalancer object.
Parameters: balancer_id (str) – id of a load balancer you want to fetch Return type: LoadBalancer
- list_supported_algorithms()[source]¶
Return algorithms supported by this driver.
Return type: list of str
- 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: LoadBalancer
- 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) – Provier specific attributes. (optional)
- 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.
- class libcloud.loadbalancer.base.Algorithm[source]¶
Represents a load balancing algorithm.
x.__init__(...) initializes x; see help(type(x)) for signature