l.c.d.b.BrightboxNodeDriver(NodeDriver) : class documentation

Part of libcloud.compute.drivers.brightbox View Source View In Hierarchy

Brightbox node driver
Method __init__ @param key: API key or username to be used (required) @type key: C{str}
Method create_node Create a new Brightbox node
Method destroy_node Destroy a node.
Method list_nodes List all nodes @return: list of node objects @rtype: C{list} of L{Node}
Method list_images List images on a provider
Method list_sizes List sizes on a provider
Method list_locations List data centers for a provider
Method ex_list_cloud_ips List Cloud IPs
Method ex_create_cloud_ip Requests a new cloud IP address for the account
Method ex_update_cloud_ip Update some details of the cloud IP address
Method ex_map_cloud_ip Maps (or points) a cloud IP address at a server's interface or a load balancer to allow them to respond to public requests
Method ex_unmap_cloud_ip Unmaps a cloud IP address from its current destination making it available to remap. This remains in the account's pool of addresses
Method ex_destroy_cloud_ip Release the cloud IP address from the account's ownership
Method _to_node Undocumented
Method _to_image Undocumented
Method _to_size Undocumented
Method _to_location Undocumented
Method _post Undocumented
Method _put Undocumented

Inherited from NodeDriver:

Method reboot_node Reboot a node.
Method deploy_node Create a new node, and start deployment.
Method create_volume Create a new volume.
Method destroy_volume Destroys a storage volume.
Method attach_volume Attaches volume to node.
Method detach_volume Detaches a volume from a node.
Method wait_until_running Block until the given nodes are fully booted and have an IP address assigned.
Method _wait_until_running Undocumented
Method _ssh_client_connect Try to connect to the remote SSH server. If a connection times out or is refused it is retried up to timeout number of seconds.
Method _connect_and_run_deployment_script Undocumented
Method _run_deployment_script Run the deployment script on the provided node. At this point it is assumed that SSH connection has already been established.
Method _get_size_price Undocumented

Inherited from BaseDriver (via NodeDriver):

Method _ex_connection_class_kwargs Return extra connection keyword arguments which are passed to the Connection class constructor.
def __init__(self, key, secret=None, secure=True, host=None, port=None, api_version=API_VERSION, **kwargs): (source)
@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}
def _to_node(self, data): (source)
Undocumented
def _to_image(self, data): (source)
Undocumented
def _to_size(self, data): (source)
Undocumented
def _to_location(self, data): (source)
Undocumented
def _post(self, path, data={}): (source)
Undocumented
def _put(self, path, data={}): (source)
Undocumented
def create_node(self, **kwargs): (source)
Create a new Brightbox node

Reference: https://api.gb1.brightbox.com/1.0/#server_create_server

@inherits: L{NodeDriver.create_node}

@keyword    ex_userdata: User data
@type       ex_userdata: C{str}

@keyword    ex_servergroup: Name or list of server group ids to
                            add server to
@type       ex_servergroup: C{str} or C{list} of C{str}
def destroy_node(self, node): (source)
Destroy a node.

Depending upon the provider, this may destroy all data associated with
the node, including backups.

@param node: The node to be destroyed
@type node: L{Node}

@return: True if the destroy was successful, otherwise False
@rtype: C{bool}
def list_nodes(self): (source)
List all nodes
@return:  list of node objects
@rtype: C{list} of L{Node}
def list_images(self): (source)
List images on a provider

@keyword location: The location at which to list images
@type location: L{NodeLocation}

@return: list of node image objects
@rtype: C{list} of L{NodeImage}
def list_sizes(self): (source)
List sizes on a provider

@keyword location: The location at which to list sizes
@type location: L{NodeLocation}

@return: list of node size objects
@rtype: C{list} of L{NodeSize}
def list_locations(self): (source)
List data centers for a provider

@return: list of node location objects
@rtype: C{list} of L{NodeLocation}
def ex_list_cloud_ips(self): (source)
List Cloud IPs

@note: This is an API extension for use on Brightbox

@rtype: C{list} of C{dict}
def ex_create_cloud_ip(self, reverse_dns=None): (source)
Requests a new cloud IP address for the account

@note: This is an API extension for use on Brightbox

@param      reverse_dns: Reverse DNS hostname
@type       reverse_dns: C{str}

@rtype: C{dict}
def ex_update_cloud_ip(self, cloud_ip_id, reverse_dns): (source)
Update some details of the cloud IP address

@note: This is an API extension for use on Brightbox

@param  cloud_ip_id: The id of the cloud ip.
@type   cloud_ip_id: C{str}

@param      reverse_dns: Reverse DNS hostname
@type       reverse_dns: C{str}

@rtype: C{dict}
def ex_map_cloud_ip(self, cloud_ip_id, interface_id): (source)
Maps (or points) a cloud IP address at a server's interface
or a load balancer to allow them to respond to public requests

@note: This is an API extension for use on Brightbox

@param  cloud_ip_id: The id of the cloud ip.
@type   cloud_ip_id: C{str}

@param  interface_id: The Interface ID or LoadBalancer ID to
                      which this Cloud IP should be mapped to
@type   interface_id: C{str}

@return: True if the mapping was successful.
@rtype: C{bool}
def ex_unmap_cloud_ip(self, cloud_ip_id): (source)
Unmaps a cloud IP address from its current destination making
it available to remap. This remains in the account's pool
of addresses

@note: This is an API extension for use on Brightbox

@param  cloud_ip_id: The id of the cloud ip.
@type   cloud_ip_id: C{str}

@return: True if the unmap was successful.
@rtype: C{bool}
def ex_destroy_cloud_ip(self, cloud_ip_id): (source)
Release the cloud IP address from the account's ownership

@note: This is an API extension for use on Brightbox

@param  cloud_ip_id: The id of the cloud ip.
@type   cloud_ip_id: C{str}

@return: True if the unmap was successful.
@rtype: C{bool}
API Documentation for libcloud, generated by pydoctor at 2013-07-01 17:02:02.