l.c.d.c.CloudStackNodeDriver(CloudStackDriverMixIn, NodeDriver) : class documentation

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

Known subclasses: libcloud.compute.drivers.ktucloud.KTUCloudNodeDriver, libcloud.compute.drivers.ninefold.NinefoldNodeDriver

Driver for the CloudStack API.
Class Variable host The host where the API can be reached.
Class Variable path The path where the API can be reached.
Class Variable async_poll_frequency How often (in seconds) to poll for async job completion. (type: int)
Method __init__
Method list_images List images on a provider
Method list_locations List data centers for a provider
Method list_nodes List all nodes @return: list of node objects @rtype: list of Node
Method list_sizes List sizes on a provider
Method create_node Create a new node instance.
Method destroy_node Destroy a node.
Method reboot_node Reboot a node.
Method ex_list_disk_offerings Fetch a list of all available disk offerings.
Method create_volume Create a new volume.
Method attach_volume Attaches volume to node.
Method detach_volume Detaches a volume from a node.
Method destroy_volume Destroys a storage volume.
Method ex_allocate_public_ip "Allocate a public IP and bind it to a node.
Method ex_release_public_ip Release a public IP.
Method ex_add_ip_forwarding_rule "Add a NAT/firewall forwarding rule.
Method ex_delete_ip_forwarding_rule Remove a NAT/firewall forwarding rule.
Method ex_register_iso Registers an existing ISO by URL.

Inherited from CloudStackDriverMixIn:

Method _sync_request Undocumented
Method _async_request Undocumented

Inherited from NodeDriver:

Method deploy_node Create a new node, and start deployment.
Method _wait_until_running Block until node is fully booted and has an IP address assigned.
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 _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.
host =
The host where the API can be reached.
path =
The path where the API can be reached.
async_poll_frequency =
How often (in seconds) to poll for async job completion. (type: int)
def __init__(self, key, *args, secret=None, secure=True, host=None, path=None, port=None, **kwargs): (source)
Unknown Field: requireskey, secret, host or path
def list_images(self, location=None): (source)
List images on a provider
ParameterslocationThe location at which to list images (type: NodeLocation)
Returnslist of node image objects (type: list of NodeImage)
def list_locations(self): (source)
List data centers for a provider
Returnslist of node location objects (type: list of NodeLocation)
def list_nodes(self): (source)
List all nodes
Returnslist of node objects (type: list of Node)
def list_sizes(self, location=None): (source)
List sizes on a provider
ParameterslocationThe location at which to list sizes (type: NodeLocation)
Returnslist of node size objects (type: list of NodeSize)
def create_node(self, name, size, image, location=None, **kwargs): (source)
Create a new node instance.
ParametersnameString with a name for this new node (required) (type: str)
sizeThe size of resources allocated to this node. (required) (type: NodeSize)
imageOS Image to boot on node. (required) (type: NodeImage)
locationWhich data center to create a node in. If empty, undefined behavoir will be selected. (optional) (type: NodeLocation)
authInitial authentication information for the node (optional) (type: NodeAuthSSHKey or NodeAuthPassword)
ReturnsThe newly created node. (type: Node)
def destroy_node(self, node): (source)
Destroy a node.

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

ParametersnodeThe node to be destroyed (type: Node)
ReturnsTrue if the destroy was successful, otherwise False (type: bool)
def reboot_node(self, node): (source)
Reboot a node.
ParametersnodeThe node to be rebooted (type: Node)
ReturnsTrue if the reboot was successful, otherwise False (type: bool)
def ex_list_disk_offerings(self): (source)
Fetch a list of all available disk offerings.
Returns (type: list of CloudStackDiskOffering)
def create_volume(self, size, name, location, snapshot=None): (source)
Create a new volume.
ParameterssizeSize of volume in gigabytes (required) (type: int)
nameName of the volume to be created (type: str)
locationWhich data center to create a volume in. If empty, undefined behavoir will be selected. (optional) (type: NodeLocation)
snapshotName of snapshot from which to create the new volume. (optional) (type: str)
ReturnsThe newly created volume. (type: StorageVolume)
def attach_volume(self, node, volume, device=None): (source)
Attaches volume to node.
ParametersnodeNode to attach volume to (type: Node)
volumeVolume to attach (type: StorageVolume)
deviceWhere the device is exposed, e.g. '/dev/sdb (optional) (type: str)
Returns (type: bool)
def detach_volume(self, volume): (source)
Detaches a volume from a node.
ParametersvolumeVolume to be detached (type: StorageVolume)
Returns (type: bool)
def destroy_volume(self, volume): (source)
Destroys a storage volume.
ParametersvolumeVolume to be destroyed (type: StorageVolume)
Returns (type: bool)
def ex_allocate_public_ip(self, node): (source)
"Allocate a public IP and bind it to a node.
ParametersnodeNode which should be used (type: Node)
Returns (type: CloudStackAddress)
def ex_release_public_ip(self, node, address): (source)
Release a public IP.
ParametersnodeNode which should be used (type: Node)
addressCloudStackAddress which should be used (type: CloudStackAddress)
Returns (type: bool)
def ex_add_ip_forwarding_rule(self, node, address, protocol, start_port, end_port=None): (source)
"Add a NAT/firewall forwarding rule.
ParametersnodeNode which should be used (type: Node)
addressCloudStackAddress which should be used (type: CloudStackAddress)
protocolProtocol which should be used (TCP or UDP) (type: str)
start_portStart port which should be used (type: int)
end_portEnd port which should be used (type: int)
Returns (type: CloudStackForwardingRule)
def ex_delete_ip_forwarding_rule(self, node, rule): (source)
Remove a NAT/firewall forwarding rule.
ParametersnodeNode which should be used (type: Node)
ruleForwarding rule which should be used (type: CloudStackForwardingRule)
Returns (type: bool)
def ex_register_iso(self, name, url, location=None, **kwargs): (source)
Registers an existing ISO by URL.
ParametersnameName which should be used (type: str)
urlUrl should be used (type: str)
locationLocation which should be used (type: NodeLocation)
Returns (type: str)
API Documentation for libcloud, generated by pydoctor at 2012-07-28 18:57:18.