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.EC2USWestNodeDriver, libcloud.compute.drivers.ec2.EucNodeDriver, libcloud.compute.drivers.ec2.NimbusNodeDriver

Amazon EC2 node driver
Method list_nodes List all nodes @return: C{list} of L{Node} objects
Method list_sizes List sizes on a provider @return: C{list} of L{NodeSize} objects
Method list_images List images on a provider @return: C{list} of L{NodeImage} objects
Method list_locations List data centers for a provider @return: C{list} of L{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 keypiar 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 L{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_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 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_terminate_boolean Undocumented
Method _to_nodes Undocumented
Method _to_node Undocumented
Method _to_images Undocumented
Method _to_image Undocumented
Method _get_sizes Undocumented

Inherited from NodeDriver:

Method __init__ @keyword key: API key or username to used @type key: str
Method deploy_node Create a new node, and start deployment.
Method _get_size_price Undocumented
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_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): (source)
List all nodes
@return: C{list} of L{Node} objects
def list_sizes(self, location=None): (source)
List sizes on a provider
@return: C{list} of L{NodeSize} objects
def _get_sizes(self, include_cluser_instances=False): (source)
Undocumented
def list_images(self, location=None): (source)
List images on a provider
@return: C{list} of L{NodeImage} objects
def list_locations(self): (source)
List data centers for a provider
@return: C{list} of L{NodeLocation} objects
def ex_create_keypair(self, name): (source)
Creates a new keypair

@note: This is a non-standard extension API, and
       only works for EC2.

@type name: C{str}
@param name: The name of the keypair to Create. This must be
             unique, otherwise an InvalidKeyPair.Duplicate
             exception is raised.
def ex_import_keypair(self, name, keyfile): (source)
imports a new public key

@note: This is a non-standard extension API, and only works for EC2.

@type name: C{str}
@param name: The name of the public key to import. This must be unique,
             otherwise an InvalidKeyPair.Duplicate exception is raised.

@type keyfile: C{str}
@param keyfile: The filename with path of the public key to import.
def ex_describe_keypairs(self, name): (source)
Describes a keypiar by name

@note: This is a non-standard extension API, and only works for EC2.

@type name: C{str}
@param name: The name of the keypair to describe.
def ex_create_security_group(self, name, description): (source)
Creates a new Security Group

@note: This is a non-standard extension API, and only works for EC2.

@type name: C{str}
@param name: The name of the security group to Create. This must be unique.

@type description: C{str}
@param description: Human readable description of a Security Group.
def ex_authorize_security_group_permissive(self, name): (source)
Edit a Security Group to allow all traffic.

@note: This is a non-standard extension API, and only works for EC2.

@type name: C{str}
@param name: The name of the security group to edit
def ex_list_availability_zones(self, only_available=True): (source)
Return a list of L{ExEC2AvailabilityZone} objects for the
current region.

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

@keyword  only_available: If true, return only availability zones
                          with state 'available'
@type     only_available: C{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.

@type node: C{Node}
@param node: Node instance
@param tags: A 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.

@type node: C{Node}
@param node: Node instance
@param tags: A dictionary or other mapping of strings to strings,
             specifying the tag names and tag values to be deleted.
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 L{NodeDriver.create_node} for more keyword args.
Reference: http://bit.ly/8ZyPSy [docs.amazonwebservices.com]

@keyword    ex_mincount: Minimum number of instances to launch
@type       ex_mincount: C{int}

@keyword    ex_maxcount: Maximum number of instances to launch
@type       ex_maxcount: C{int}

@keyword    ex_securitygroup: Name of security group
@type       ex_securitygroup: C{str}

@keyword    ex_keyname: The name of the key pair
@type       ex_keyname: C{str}

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

@keyword    ex_clienttoken: Unique identifier to ensure idempotency
@type       ex_clienttoken: C{str}
def reboot_node(self, node): (source)
Reboot the node by passing in the node object
def destroy_node(self, node): (source)
Destroy node by passing in the node object
API Documentation for libcloud, generated by pydoctor at 2011-07-02 22:19:34.