Part of libcloud.loadbalancer.drivers.rackspace View Source View In Hierarchy
Known subclasses: libcloud.loadbalancer.drivers.rackspace.RackspaceUKLBDriver
Method | __init__ | @param key: API key or username to be used (required) @type key: C{str} |
Method | list_protocols | Return a list of supported protocols. |
Method | ex_list_protocols_with_default_ports | List protocols with default ports. |
Method | list_balancers | @inherits: L{Driver.list_balancers} |
Method | create_balancer | Create a new load balancer instance |
Method | ex_create_balancer | Creates a new load balancer instance |
Method | destroy_balancer | Destroy a load balancer |
Method | ex_destroy_balancers | Destroys a list of Balancers (the API supports up to 10). |
Method | get_balancer | Return a L{LoadBalancer} object. |
Method | balancer_attach_member | Attach a member to balancer |
Method | ex_balancer_attach_members | Attaches a list of members to a load balancer. |
Method | balancer_detach_member | Detach member from balancer |
Method | ex_balancer_detach_members | Detaches a list of members from a balancer (the API supports up to 10). This method blocks until the detach request has been processed and the balancer is in a RUNNING state again. |
Method | ex_balancer_detach_members_no_poll | Detaches a list of members from a balancer (the API supports up to 10). This method returns immediately. |
Method | balancer_list_members | Return list of members attached to balancer |
Method | update_balancer | Sets the name, algorithm, protocol, or port on a load balancer. |
Method | ex_update_balancer_no_poll | Update balancer no poll. |
Method | ex_balancer_update_member | No summary |
Method | ex_balancer_update_member_no_poll | Updates a Member's extra attributes for a Balancer. The attribute can include 'weight' or 'condition'. This method returns immediately. |
Method | ex_list_algorithm_names | Lists algorithms supported by the API. Returned as strings because this list may change in the future. |
Method | ex_get_balancer_error_page | List error page configured for the specified load balancer. |
Method | ex_balancer_access_list | List the access list. |
Method | ex_update_balancer_health_monitor | Sets a Balancer's health monitor. This method blocks until the update request has been processed and the balancer is in a RUNNING state again. |
Method | ex_update_balancer_health_monitor_no_poll | Sets a Balancer's health monitor. This method returns immediately. |
Method | ex_disable_balancer_health_monitor | Disables a Balancer's health monitor. This method blocks until the disable request has been processed and the balancer is in a RUNNING state again. |
Method | ex_disable_balancer_health_monitor_no_poll | Disables a Balancer's health monitor. This method returns immediately. |
Method | ex_update_balancer_connection_throttle | Updates a Balancer's connection throttle. This method blocks until the update request has been processed and the balancer is in a RUNNING state again. |
Method | ex_update_balancer_connection_throttle_no_poll | Sets a Balancer's connection throttle. This method returns immediately. |
Method | ex_disable_balancer_connection_throttle | Disables a Balancer's connection throttle. This method blocks until the disable request has been processed and the balancer is in a RUNNING state again. |
Method | ex_disable_balancer_connection_throttle_no_poll | Disables a Balancer's connection throttle. This method returns immediately. |
Method | ex_enable_balancer_connection_logging | Enables connection logging for a Balancer. This method blocks until the enable request has been processed and the balancer is in a RUNNING state again. |
Method | ex_enable_balancer_connection_logging_no_poll | Enables connection logging for a Balancer. This method returns immediately. |
Method | ex_disable_balancer_connection_logging | Disables connection logging for a Balancer. This method blocks until the enable request has been processed and the balancer is in a RUNNING state again. |
Method | ex_disable_balancer_connection_logging_no_poll | Disables connection logging for a Balancer. This method returns immediately. |
Method | ex_enable_balancer_session_persistence | Enables session persistence for a Balancer by setting the persistence type to 'HTTP_COOKIE'. This method blocks until the enable request has been processed and the balancer is in a RUNNING state again. |
Method | ex_enable_balancer_session_persistence_no_poll | Enables session persistence for a Balancer by setting the persistence type to 'HTTP_COOKIE'. This method returns immediately. |
Method | ex_disable_balancer_session_persistence | Disables session persistence for a Balancer. This method blocks until the disable request has been processed and the balancer is in a RUNNING state again. |
Method | ex_disable_balancer_session_persistence_no_poll | Disables session persistence for a Balancer. This method returns immediately. |
Method | ex_update_balancer_error_page | Updates a Balancer's custom error page. This method blocks until the update request has been processed and the balancer is in a RUNNING state again. |
Method | ex_update_balancer_error_page_no_poll | Updates a Balancer's custom error page. This method returns immediately. |
Method | ex_disable_balancer_custom_error_page | No summary |
Method | ex_disable_balancer_custom_error_page_no_poll | Disables a Balancer's custom error page, returning its error page to the Rackspace-provided default. This method returns immediately. |
Method | ex_create_balancer_access_rule | Adds an access rule to a Balancer's access list. This method blocks until the update request has been processed and the balancer is in a RUNNING state again. |
Method | ex_create_balancer_access_rule_no_poll | Adds an access rule to a Balancer's access list. This method returns immediately. |
Method | ex_create_balancer_access_rules | Adds a list of access rules to a Balancer's access list. This method blocks until the update request has been processed and the balancer is in a RUNNING state again. |
Method | ex_create_balancer_access_rules_no_poll | Adds a list of access rules to a Balancer's access list. This method returns immediately. |
Method | ex_destroy_balancer_access_rule | Removes an access rule from a Balancer's access list. This method blocks until the update request has been processed and the balancer is in a RUNNING state again. |
Method | ex_destroy_balancer_access_rule_no_poll | Removes an access rule from a Balancer's access list. This method returns immediately. |
Method | ex_destroy_balancer_access_rules | Removes a list of access rules from a Balancer's access list. This method blocks until the update request has been processed and the balancer is in a RUNNING state again. |
Method | ex_destroy_balancer_access_rules_no_poll | Removes a list of access rules from a Balancer's access list. This method returns immediately. |
Method | _ex_connection_class_kwargs | Return extra connection keyword arguments which are passed to the Connection class constructor. |
Method | _member_attributes | Undocumented |
Method | _get_updated_balancer | No summary |
Method | _find_matching_rule | No summary |
Method | _to_protocols | Undocumented |
Method | _to_protocols_with_default_ports | Undocumented |
Method | _to_balancers | Undocumented |
Method | _to_balancer | Undocumented |
Method | _to_members | Undocumented |
Method | _to_member | Undocumented |
Method | _protocol_to_value | Undocumented |
Method | _kwargs_to_mutable_attrs | Undocumented |
Method | _kwargs_to_mutable_member_attrs | Undocumented |
Method | _to_health_monitor | Undocumented |
Method | _to_connection_throttle | Undocumented |
Method | _to_access_rule | Undocumented |
Method | _to_access_rule_type | Undocumented |
Method | _iso_to_datetime | Undocumented |
Inherited from Driver:
Method | balancer_attach_compute_node | Attach a compute node as a member to the load balancer. |
Method | list_supported_algorithms | Return algorithms supported by this driver. |
Method | _value_to_algorithm | Return C{LBAlgorithm} based on the value. |
Method | _algorithm_to_value | Return value based in the algorithm (C{LBAlgorithm}). |
Inherited from OpenStackDriverMixin:
Method | openstack_connection_kwargs | @rtype: C{dict} |
Method | _get_argument_pairs | Undocumented |
@param key: API key or username to be used (required) @type key: C{str} @param secret: Secret password to be used (required) @type secret: C{str} @param secure: Weither to use HTTPS or HTTP. Note: Some providers only support HTTPS, and it is on by default. @type secure: C{bool} @param host: Override hostname used for connections. @type host: C{str} @param port: Override port used for connections. @type port: C{int} @param api_version: Optional API version. Only used by drivers which support multiple API versions. @type api_version: C{str} @rtype: C{None}
Return extra connection keyword arguments which are passed to the Connection class constructor.
List protocols with default ports. @rtype: C{list} of C{tuple} @return: A list of protocols with default ports included.
@inherits: L{Driver.list_balancers} @param ex_member_address: Optional IP address of the attachment member. If provided, only the load balancers which have this member attached will be returned. @type ex_member_address: C{str}
Create a new load balancer instance @param name: Name of the new load balancer (required) @type name: C{str} @param port: Port the load balancer should listen on, defaults to 80 @type port: C{str} @param protocol: Loadbalancer protocol, defaults to http. @type protocol: C{str} @param members: list of Members to attach to balancer @type members: C{list} of L{Member} @param algorithm: Load balancing algorithm, defaults to ROUND_ROBIN @type algorithm: L{Algorithm} @rtype: L{LoadBalancer}
Creates a new load balancer instance @param name: Name of the new load balancer (required) @type name: C{str} @param members: C{list} ofL{Member}s to attach to balancer @type members: C{list} of L{Member} @param protocol: Loadbalancer protocol, defaults to http. @type protocol: C{str} @param port: Port the load balancer should listen on, defaults to 80 @type port: C{str} @param algorithm: Load balancing algorithm, defaults to LBAlgorithm.ROUND_ROBIN @type algorithm: L{Algorithm} @param vip: Virtual ip type of PUBLIC, SERVICENET, or ID of a virtual ip @type vip: C{str} @rtype: L{LoadBalancer}
Destroy a load balancer @param balancer: LoadBalancer which should be used @type balancer: L{LoadBalancer} @return: True if the destroy was successful, otherwise False @rtype: C{bool}
Destroys a list of Balancers (the API supports up to 10). @param balancers: A list of Balancers to destroy. @type balancers: C{list} of L{LoadBalancer} @return: Returns whether the destroy request was accepted. @rtype: C{bool}
Return a L{LoadBalancer} object. @param balancer_id: id of a load balancer you want to fetch @type balancer_id: C{str} @rtype: L{LoadBalancer}
Attach a member to balancer @param balancer: LoadBalancer which should be used @type balancer: L{LoadBalancer} @param member: Member to join to the balancer @type member: L{Member} @return: Member after joining the balancer. @rtype: L{Member}
Attaches a list of members to a load balancer. @param balancer: The Balancer to which members will be attached. @type balancer: L{LoadBalancer} @param members: A list of Members to attach. @type members: C{list} of L{Member} @rtype: C{list} of L{Member}
Detach member from balancer @param balancer: LoadBalancer which should be used @type balancer: L{LoadBalancer} @param member: Member which should be used @type member: L{Member} @return: True if member detach was successful, otherwise False @rtype: C{bool}
Detaches a list of members from a balancer (the API supports up to 10). This method blocks until the detach request has been processed and the balancer is in a RUNNING state again. @param balancer: The Balancer to detach members from. @type balancer: L{LoadBalancer} @param members: A list of Members to detach. @type members: C{list} of L{Member} @return: Updated Balancer. @rtype: L{LoadBalancer}
Detaches a list of members from a balancer (the API supports up to 10). This method returns immediately. @param balancer: The Balancer to detach members from. @type balancer: L{LoadBalancer} @param members: A list of Members to detach. @type members: C{list} of L{Member} @return: Returns whether the detach request was accepted. @rtype: C{bool}
Return list of members attached to balancer @param balancer: LoadBalancer which should be used @type balancer: L{LoadBalancer} @rtype: C{list} of L{Member}
Sets the name, algorithm, protocol, or port on a load balancer. @param balancer: LoadBalancer which should be used @type balancer: L{LoadBalancer} @keyword name: New load balancer name @type name: C{str} @keyword algorithm: New load balancer algorithm @type algorithm: L{Algorithm} @keyword protocol: New load balancer protocol @type protocol: C{str} @keyword port: New load balancer port @type port: C{int} @rtype: L{LoadBalancer}
Update balancer no poll. @inherits: L{Driver.update_balancer}
Updates a Member's extra attributes for a Balancer. The attributes can include 'weight' or 'condition'. This method blocks until the update request has been processed and the balancer is in a RUNNING state again. @param balancer: Balancer to update the member on. @type balancer: L{LoadBalancer} @param member: Member which should be used @type member: L{Member} @keyword **kwargs: New attributes. Should contain either 'weight' or 'condition'. 'condition' can be set to 'ENABLED', 'DISABLED'. or 'DRAINING'. 'weight' can be set to a positive integer between 1 and 100, with a higher weight indicating that the node will receive more traffic (assuming the Balancer is using a weighted algorithm). @type **kwargs: C{dict} @return: Updated Member. @rtype: L{Member}
Updates a Member's extra attributes for a Balancer. The attribute can include 'weight' or 'condition'. This method returns immediately. @param balancer: Balancer to update the member on. @type balancer: L{LoadBalancer} @param member: Member which should be used @type member: L{Member} @keyword **kwargs: New attributes. Should contain either 'weight' or 'condition'. 'condition' can be set to 'ENABLED', 'DISABLED'. or 'DRAINING'. 'weight' can be set to a positive integer between 1 and 100, with a higher weight indicating that the node will receive more traffic (assuming the Balancer is using a weighted algorithm). @type **kwargs: C{dict} @return: Returns whether the update request was accepted. @rtype: C{bool}
Lists algorithms supported by the API. Returned as strings because this list may change in the future. @rtype: C{list} of C{str}
List error page configured for the specified load balancer. @param balancer: Balancer which should be used @type balancer: L{LoadBalancer} @rtype: C{str}
List the access list. @param balancer: Balancer which should be used @type balancer: L{LoadBalancer} @rtype: C{list} of L{RackspaceAccessRule}
Updating a balancer's attributes puts a balancer into 'PENDING_UPDATE' status. Wait until the balancer is back in 'ACTIVE' status and then return the individual balancer details call.
Sets a Balancer's health monitor. This method blocks until the update request has been processed and the balancer is in a RUNNING state again. @param balancer: Balancer to update. @type balancer: L{LoadBalancer} @param health_monitor: Health Monitor for the balancer. @type health_monitor: L{RackspaceHealthMonitor} @return: Updated Balancer. @rtype: L{LoadBalancer}
Sets a Balancer's health monitor. This method returns immediately. @param balancer: Balancer to update health monitor on. @type balancer: L{LoadBalancer} @param health_monitor: Health Monitor for the balancer. @type health_monitor: L{RackspaceHealthMonitor} @return: Returns whether the update request was accepted. @rtype: C{bool}
Disables a Balancer's health monitor. This method blocks until the disable request has been processed and the balancer is in a RUNNING state again. @param balancer: Balancer to disable health monitor on. @type balancer: L{LoadBalancer} @return: Updated Balancer. @rtype: L{LoadBalancer}
Disables a Balancer's health monitor. This method returns immediately. @param balancer: Balancer to disable health monitor on. @type balancer: L{LoadBalancer} @return: Returns whether the disable request was accepted. @rtype: C{bool}
Updates a Balancer's connection throttle. This method blocks until the update request has been processed and the balancer is in a RUNNING state again. @param balancer: Balancer to update connection throttle on. @type balancer: L{LoadBalancer} @param connection_throttle: Connection Throttle for the balancer. @type connection_throttle: L{RackspaceConnectionThrottle} @return: Updated Balancer. @rtype: L{LoadBalancer}
Sets a Balancer's connection throttle. This method returns immediately. @param balancer: Balancer to update connection throttle on. @type balancer: L{LoadBalancer} @param connection_throttle: Connection Throttle for the balancer. @type connection_throttle: L{RackspaceConnectionThrottle} @return: Returns whether the update request was accepted. @rtype: C{bool}
Disables a Balancer's connection throttle. This method blocks until the disable request has been processed and the balancer is in a RUNNING state again. @param balancer: Balancer to disable connection throttle on. @type balancer: L{LoadBalancer} @return: Updated Balancer. @rtype: L{LoadBalancer}
Disables a Balancer's connection throttle. This method returns immediately. @param balancer: Balancer to disable connection throttle on. @type balancer: L{LoadBalancer} @return: Returns whether the disable request was accepted. @rtype: C{bool}
Enables connection logging for a Balancer. This method blocks until the enable request has been processed and the balancer is in a RUNNING state again. @param balancer: Balancer to enable connection logging on. @type balancer: L{LoadBalancer} @return: Updated Balancer. @rtype: L{LoadBalancer}
Enables connection logging for a Balancer. This method returns immediately. @param balancer: Balancer to enable connection logging on. @type balancer: L{LoadBalancer} @return: Returns whether the enable request was accepted. @rtype: C{bool}
Disables connection logging for a Balancer. This method blocks until the enable request has been processed and the balancer is in a RUNNING state again. @param balancer: Balancer to disable connection logging on. @type balancer: L{LoadBalancer} @return: Updated Balancer. @rtype: L{LoadBalancer}
Disables connection logging for a Balancer. This method returns immediately. @param balancer: Balancer to disable connection logging on. @type balancer: L{LoadBalancer} @return: Returns whether the disable request was accepted. @rtype: C{bool}
Enables session persistence for a Balancer by setting the persistence type to 'HTTP_COOKIE'. This method blocks until the enable request has been processed and the balancer is in a RUNNING state again. @param balancer: Balancer to enable session persistence on. @type balancer: L{LoadBalancer} @return: Updated Balancer. @rtype: L{LoadBalancer}
Enables session persistence for a Balancer by setting the persistence type to 'HTTP_COOKIE'. This method returns immediately. @param balancer: Balancer to enable session persistence on. @type balancer: L{LoadBalancer} @return: Returns whether the enable request was accepted. @rtype: C{bool}
Disables session persistence for a Balancer. This method blocks until the disable request has been processed and the balancer is in a RUNNING state again. @param balancer: Balancer to disable session persistence on. @type balancer: L{LoadBalancer} @return: Updated Balancer. @rtype: L{LoadBalancer}
Disables session persistence for a Balancer. This method returns immediately. @param balancer: Balancer to disable session persistence for. @type balancer: L{LoadBalancer} @return: Returns whether the disable request was accepted. @rtype: C{bool}
Updates a Balancer's custom error page. This method blocks until the update request has been processed and the balancer is in a RUNNING state again. @param balancer: Balancer to update the custom error page for. @type balancer: L{LoadBalancer} @param page_content: HTML content for the custom error page. @type page_content: C{str} @return: Updated Balancer. @rtype: L{LoadBalancer}
Updates a Balancer's custom error page. This method returns immediately. @param balancer: Balancer to update the custom error page for. @type balancer: L{LoadBalancer} @param page_content: HTML content for the custom error page. @type page_content: C{str} @return: Returns whether the update request was accepted. @rtype: C{bool}
Disables a Balancer's custom error page, returning its error page to the Rackspace-provided default. This method blocks until the disable request has been processed and the balancer is in a RUNNING state again. @param balancer: Balancer to disable the custom error page for. @type balancer: L{LoadBalancer} @return: Updated Balancer. @rtype: L{LoadBalancer}
Disables a Balancer's custom error page, returning its error page to the Rackspace-provided default. This method returns immediately. @param balancer: Balancer to disable the custom error page for. @type balancer: L{LoadBalancer} @return: Returns whether the disable request was accepted. @rtype: C{bool}
Adds an access rule to a Balancer's access list. This method blocks until the update request has been processed and the balancer is in a RUNNING state again. @param balancer: Balancer to create the access rule for. @type balancer: L{LoadBalancer} @param rule: Access Rule to add to the balancer. @type rule: L{RackspaceAccessRule} @return: The created access rule. @rtype: L{RackspaceAccessRule}
Adds an access rule to a Balancer's access list. This method returns immediately. @param balancer: Balancer to create the access rule for. @type balancer: L{LoadBalancer} @param rule: Access Rule to add to the balancer. @type rule: L{RackspaceAccessRule} @return: Returns whether the create request was accepted. @rtype: C{bool}
Adds a list of access rules to a Balancer's access list. This method blocks until the update request has been processed and the balancer is in a RUNNING state again. @param balancer: Balancer to create the access rule for. @type balancer: L{LoadBalancer} @param rules: List of L{RackspaceAccessRule} to add to the balancer. @type rules: C{list} of L{RackspaceAccessRule} @return: The created access rules. @rtype: L{RackspaceAccessRule}
LB API does not return the ID for the newly created rules, so we have to search the list to find the rule with a matching rule type and address to return an object with the right identifier.it. The API enforces rule type and address uniqueness.
Adds a list of access rules to a Balancer's access list. This method returns immediately. @param balancer: Balancer to create the access rule for. @type balancer: L{LoadBalancer} @param rules: List of L{RackspaceAccessRule} to add to the balancer. @type rules: C{list} of L{RackspaceAccessRule} @return: Returns whether the create request was accepted. @rtype: C{bool}
Removes an access rule from a Balancer's access list. This method blocks until the update request has been processed and the balancer is in a RUNNING state again. @param balancer: Balancer to remove the access rule from. @type balancer: L{LoadBalancer} @param rule: Access Rule to remove from the balancer. @type rule: L{RackspaceAccessRule} @return: Updated Balancer. @rtype: L{LoadBalancer}
Removes an access rule from a Balancer's access list. This method returns immediately. @param balancer: Balancer to remove the access rule from. @type balancer: L{LoadBalancer} @param rule: Access Rule to remove from the balancer. @type rule: L{RackspaceAccessRule} @return: Returns whether the destroy request was accepted. @rtype: C{bool}
Removes a list of access rules from a Balancer's access list. This method blocks until the update request has been processed and the balancer is in a RUNNING state again. @param balancer: Balancer to remove the access rules from. @type balancer: L{LoadBalancer} @param rules: List of L{RackspaceAccessRule} objects to remove from the balancer. @type rules: C{list} of L{RackspaceAccessRule} @return: Updated Balancer. @rtype: L{LoadBalancer}
Removes a list of access rules from a Balancer's access list. This method returns immediately. @param balancer: Balancer to remove the access rules from. @type balancer: L{LoadBalancer} @param rules: List of L{RackspaceAccessRule} objects to remove from the balancer. @type rules: C{list} of L{RackspaceAccessRule} @return: Returns whether the destroy request was accepted. @rtype: C{bool}