l.c.d.s.SlicehostNodeDriver(NodeDriver) : class documentation

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

Slicehost node driver
Method list_nodes List all nodes @return: list of node objects @rtype: C{list} of L{Node}
Method list_sizes List sizes on a provider
Method list_images List images on a provider
Method list_locations List data centers for a provider
Method create_node Create a new node instance.
Method reboot_node Reboot a node.
Method destroy_node Destroys the node
Method _to_nodes Undocumented
Method _to_node Undocumented
Method _to_sizes Undocumented
Method _to_size Undocumented
Method _to_images Undocumented
Method _to_image Undocumented

Inherited from NodeDriver:

Method __init__ @param key: API key or username to be used (required) @type key: C{str}
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 list_nodes(self): (source)
List all nodes
@return:  list of node objects
@rtype: C{list} of L{Node}
def list_sizes(self, location=None): (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_images(self, location=None): (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_locations(self): (source)
List data centers for a provider

@return: list of node location objects
@rtype: C{list} of L{NodeLocation}
def create_node(self, **kwargs): (source)
Create a new node instance.

@keyword    name:   String with a name for this new node (required)
@type       name:   C{str}

@keyword    size:   The size of resources allocated to this node.
                    (required)
@type       size:   L{NodeSize}

@keyword    image:  OS Image to boot on node. (required)
@type       image:  L{NodeImage}

@keyword    location: Which data center to create a node in. If empty,
                      undefined behavoir will be selected. (optional)
@type       location: L{NodeLocation}

@keyword    auth:   Initial authentication information for the node
                    (optional)
@type       auth:   L{NodeAuthSSHKey} or L{NodeAuthPassword}

@return: The newly created node.
@rtype: L{Node}
def reboot_node(self, node): (source)
Reboot a node.

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

@return: True if the reboot was successful, otherwise False
@rtype: C{bool}
def destroy_node(self, node): (source)
Destroys the node

Requires 'Allow Slices to be deleted or rebuilt from the API' to be
ticked at https://manage.slicehost.com/api, otherwise returns::
    <errors>
      <error>You must enable slice deletes in the SliceManager</error>
      <error>Permission denied</error>
    </errors>

@inherits: L{NodeDriver.destroy_node}
def _to_nodes(self, object): (source)
Undocumented
def _to_node(self, element): (source)
Undocumented
def _to_sizes(self, object): (source)
Undocumented
def _to_size(self, element): (source)
Undocumented
def _to_images(self, object): (source)
Undocumented
def _to_image(self, element): (source)
Undocumented
API Documentation for libcloud, generated by pydoctor at 2013-07-01 17:02:02.