l.c.d.e.EC2NodeDriver(NodeDriver) : class documentation

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

Known subclasses: libcloud.compute.drivers.ec2.EC2APNENodeDriver, libcloud.compute.drivers.ec2.EC2APSENodeDriver, libcloud.compute.drivers.ec2.EC2EUNodeDriver, libcloud.compute.drivers.ec2.EC2SAEastNodeDriver, libcloud.compute.drivers.ec2.EC2USWestNodeDriver, libcloud.compute.drivers.ec2.EC2USWestOregonNodeDriver, libcloud.compute.drivers.ec2.EucNodeDriver, libcloud.compute.drivers.ec2.NimbusNodeDriver

Amazon EC2 node driver
Method list_nodes No summary
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 @return: list of NodeLocation objects
Method ex_create_keypair Creates a new keypair
Method ex_import_keypair imports a new public key
Method ex_describe_keypairs Describes a keypair by name
Method ex_create_security_group Creates a new Security Group
Method ex_authorize_security_group_permissive Edit a Security Group to allow all traffic.
Method ex_list_availability_zones Return a list of ExEC2AvailabilityZone objects for the current region.
Method ex_describe_tags Return a dictionary of tags for this instance.
Method ex_create_tags Create tags for an instance.
Method ex_delete_tags Delete tags from an instance.
Method ex_describe_all_addresses Return all the Elastic IP addresses for this account optionally, return only the allocated addresses
Method ex_associate_addresses Associate an IP address with a particular node.
Method ex_describe_addresses Return Elastic IP addresses for all the nodes in the provided list.
Method ex_describe_addresses_for_node Return a list of Elastic IP addresses associated with this node.
Method ex_modify_instance_attribute Modify node attributes. A list of valid attributes can be found at http://goo.gl/gxcj8
Method ex_change_node_size Change the node size. Note: Node must be turned of before changing the size.
Method create_node Create a new EC2 node
Method reboot_node Reboot the node by passing in the node object
Method ex_start_node Start the node by passing in the node object, does not work with instance store backed instances
Method ex_stop_node Stop the node by passing in the node object, does not work with instance store backed instances
Method destroy_node Destroy node by passing in the node object
Method _pathlist Converts a key and an array of values into AWS query param format.
Method _get_boolean Undocumented
Method _get_state_boolean Checks for the instances's state
Method _get_terminate_boolean Undocumented
Method _to_nodes Undocumented
Method _to_node Undocumented
Method _to_images Undocumented
Method _to_image Undocumented
Method _get_sizes Undocumented
Method _add_instance_filter Add instance filter to the provided params dictionary.

Inherited from NodeDriver:

Method __init__
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.
def _pathlist(self, key, arr): (source)
Converts a key and an array of values into AWS query param format.
def _get_boolean(self, element): (source)
Undocumented
def _get_state_boolean(self, element): (source)
Checks for the instances's state
def _get_terminate_boolean(self, element): (source)
Undocumented
def _to_nodes(self, object, xpath, groups=None): (source)
Undocumented
def _to_node(self, element, groups=None): (source)
Undocumented
def _to_images(self, object): (source)
Undocumented
def _to_image(self, element): (source)
Undocumented
def list_nodes(self, ex_node_ids=None): (source)
Parametersex_node_idsList of node.id This parameter is used to filter the list of nodes that should be returned. Only the nodes with the corresponding node ids will be returned.
def list_sizes(self, location=None): (source)
List sizes on a provider
ParameterslocationThe location at which to list sizes (type: NodeLocation)
Returnslist of NodeSize objects
def _get_sizes(self, include_cluser_instances=False): (source)
Undocumented
def list_images(self, location=None): (source)
List images on a provider
ParameterslocationThe location at which to list images (type: NodeLocation)
Returnslist of NodeImage objects
def list_locations(self): (source)
List data centers for a provider
Returnslist of NodeLocation objects
def ex_create_keypair(self, name): (source)
Creates a new keypair
ParametersnameThe name of the keypair to Create. This must be unique, otherwise an InvalidKeyPair.Duplicate exception is raised. (type: str)
NoteThis is a non-standard extension API, and only works for EC2.
def ex_import_keypair(self, name, keyfile): (source)
imports a new public key
ParametersnameThe name of the public key to import. This must be unique, otherwise an InvalidKeyPair.Duplicate exception is raised. (type: str)
keyfileThe filename with path of the public key to import. (type: str)
NoteThis is a non-standard extension API, and only works for EC2.
def ex_describe_keypairs(self, name): (source)
Describes a keypair by name
ParametersnameThe name of the keypair to describe. (type: str)
NoteThis is a non-standard extension API, and only works for EC2.
def ex_create_security_group(self, name, description): (source)
Creates a new Security Group
ParametersnameThe name of the security group to Create. This must be unique. (type: str)
descriptionHuman readable description of a Security Group. (type: str)
NoteThis is a non-standard extension API, and only works for EC2.
def ex_authorize_security_group_permissive(self, name): (source)
Edit a Security Group to allow all traffic.
ParametersnameThe name of the security group to edit (type: str)
NoteThis is a non-standard extension API, and only works for EC2.
def ex_list_availability_zones(self, only_available=True): (source)
Return a list of ExEC2AvailabilityZone objects for the current region.

Note: This is an extension method and is only available for EC2 driver.

Parametersonly_availableIf true, return only availability zones with state 'available' (type: string)
def ex_describe_tags(self, node): (source)
Return a dictionary of tags for this instance.

@type node: C{Node}
@param node: Node instance

@return dict Node tags
def ex_create_tags(self, node, tags): (source)
Create tags for an instance.
ParametersnodeNode instance (type: Node)
tagsA dictionary or other mapping of strings to strings, associating tag names with tag values.
def ex_delete_tags(self, node, tags): (source)
Delete tags from an instance.
ParametersnodeNode instance (type: Node)
tagsA dictionary or other mapping of strings to strings, specifying the tag names and tag values to be deleted.
def _add_instance_filter(self, params, node): (source)
Add instance filter to the provided params dictionary.
def ex_describe_all_addresses(self, only_allocated=False): (source)
Return all the Elastic IP addresses for this account
optionally, return only the allocated addresses

@keyword  only_allocated: If true, return only those addresses
                          that are associated with an instance
@type     only_allocated: C{string}

@return   list list of elastic ips for this particular account.
def ex_associate_addresses(self, node, elastic_ip_address): (source)
Associate an IP address with a particular node.
ParametersnodeNode instance (type: Node)
def ex_describe_addresses(self, nodes): (source)
Return Elastic IP addresses for all the nodes in the provided list.

@type nodes: C{list}
@param nodes: List of C{Node} instances

@return dict Dictionary where a key is a node ID and the value is a
             list with the Elastic IP addresses associated with
             this node.
def ex_describe_addresses_for_node(self, node): (source)
Return a list of Elastic IP addresses associated with this node.

@type node: C{Node}
@param node: Node instance

@return list Elastic IP addresses attached to this node.
def ex_modify_instance_attribute(self, node, attributes): (source)
Modify node attributes.
A list of valid attributes can be found at http://goo.gl/gxcj8

@type node: C{Node}
@param node: Node instance

@type attributes: C{dict}
@param attributes: Dictionary with node attributes

@return bool True on success, False otherwise.
def ex_change_node_size(self, node, new_size): (source)
Change the node size.
Note: Node must be turned of before changing the size.

@type node: C{Node}
@param node: Node instance

@type new_size: C{NodeSize}
@param new_size: NodeSize intance

@return bool True on success, False otherwise.
def create_node(self, **kwargs): (source)
Create a new EC2 node

See NodeDriver.create_node for more keyword args. Reference: http://bit.ly/8ZyPSy [docs.amazonwebservices.com]

Parametersex_mincountMinimum number of instances to launch (type: int)
ex_maxcountMaximum number of instances to launch (type: int)
ex_securitygroupName of security group (type: str)
ex_keynameThe name of the key pair (type: str)
ex_userdataUser data (type: str)
ex_clienttokenUnique identifier to ensure idempotency (type: str)
def reboot_node(self, node): (source)
Reboot the node by passing in the node object
def ex_start_node(self, node): (source)
Start the node by passing in the node object, does not work with instance store backed instances
def ex_stop_node(self, node): (source)
Stop the node by passing in the node object, does not work with instance store backed instances
def destroy_node(self, node): (source)
Destroy node by passing in the node object
API Documentation for libcloud, generated by pydoctor at 2012-07-15 18:48:28.