summaryrefslogtreecommitdiffstats
path: root/contrib/boto_v6/ec2
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/boto_v6/ec2')
-rw-r--r--contrib/boto_v6/ec2/__init__.py0
-rw-r--r--contrib/boto_v6/ec2/connection.py41
-rw-r--r--contrib/boto_v6/ec2/instance.py33
3 files changed, 74 insertions, 0 deletions
diff --git a/contrib/boto_v6/ec2/__init__.py b/contrib/boto_v6/ec2/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/contrib/boto_v6/ec2/__init__.py
diff --git a/contrib/boto_v6/ec2/connection.py b/contrib/boto_v6/ec2/connection.py
new file mode 100644
index 000000000..151b76a55
--- /dev/null
+++ b/contrib/boto_v6/ec2/connection.py
@@ -0,0 +1,41 @@
+'''
+Created on 2010/12/20
+
+@author: Nachi Ueno <ueno.nachi@lab.ntt.co.jp>
+'''
+import boto
+import boto.ec2
+from boto_v6.ec2.instance import ReservationV6
+
+
+class EC2ConnectionV6(boto.ec2.EC2Connection):
+ '''
+ EC2Connection for OpenStack IPV6 mode
+ '''
+ def get_all_instances(self, instance_ids=None, filters=None):
+ """
+ Retrieve all the instances associated with your account.
+
+ :type instance_ids: list
+ :param instance_ids: A list of strings of instance IDs
+
+ :type filters: dict
+ :param filters: Optional filters that can be used to limit
+ the results returned. Filters are provided
+ in the form of a dictionary consisting of
+ filter names as the key and filter values
+ as the value. The set of allowable filter
+ names/values is dependent on the request
+ being performed. Check the EC2 API guide
+ for details.
+
+ :rtype: list
+ :return: A list of :class:`boto.ec2.instance.Reservation`
+ """
+ params = {}
+ if instance_ids:
+ self.build_list_params(params, instance_ids, 'InstanceId')
+ if filters:
+ self.build_filter_params(params, filters)
+ return self.get_list('DescribeInstances', params,
+ [('item', ReservationV6)])
diff --git a/contrib/boto_v6/ec2/instance.py b/contrib/boto_v6/ec2/instance.py
new file mode 100644
index 000000000..255114935
--- /dev/null
+++ b/contrib/boto_v6/ec2/instance.py
@@ -0,0 +1,33 @@
+'''
+Created on 2010/12/20
+
+@author: Nachi Ueno <ueno.nachi@lab.ntt.co.jp>
+'''
+import boto
+from boto.resultset import ResultSet
+from boto.ec2.instance import Reservation
+from boto.ec2.instance import Group
+from boto.ec2.instance import Instance
+
+
+class ReservationV6(Reservation):
+ def startElement(self, name, attrs, connection):
+ if name == 'instancesSet':
+ self.instances = ResultSet([('item', InstanceV6)])
+ return self.instances
+ elif name == 'groupSet':
+ self.groups = ResultSet([('item', Group)])
+ return self.groups
+ else:
+ return None
+
+
+class InstanceV6(Instance):
+ def __init__(self, connection=None):
+ Instance.__init__(self, connection)
+ self.public_dns_name_v6 = None
+
+ def endElement(self, name, value, connection):
+ Instance.endElement(self, name, value, connection)
+ if name == 'dnsNameV6':
+ self.dns_name_v6 = value