Roman Yepishev has proposed merging lp:~rye/txaws/ip-addresses into lp:txaws.

Requested reviews:
  txAWS Technical List (txaws-tech)
Related bugs:
  Bug #945176 in txAWS: "Support privateIpAddress and ipAddress"
  https://bugs.launchpad.net/txaws/+bug/945176

For more details, see:
https://code.launchpad.net/~rye/txaws/ip-addresses/+merge/95679

This adds the processing of ipAddress and privateIpAddress, breaking Instance() 
signature.
-- 
https://code.launchpad.net/~rye/txaws/ip-addresses/+merge/95679
Your team txAWS Technical List is requested to review the proposed merge of 
lp:~rye/txaws/ip-addresses into lp:txaws.
=== modified file 'txaws/ec2/client.py'
--- txaws/ec2/client.py	2012-01-29 07:46:54 +0000
+++ txaws/ec2/client.py	2012-03-02 22:15:21 +0000
@@ -552,6 +552,8 @@
             "instanceState").findtext("name")
         private_dns_name = instance_data.findtext("privateDnsName")
         dns_name = instance_data.findtext("dnsName")
+        private_ip_address = instance_data.findtext("privateIpAddress")
+        ip_address = instance_data.findtext("ipAddress")
         key_name = instance_data.findtext("keyName")
         ami_launch_index = instance_data.findtext("amiLaunchIndex")
         products = []
@@ -568,9 +570,9 @@
         image_id = instance_data.findtext("imageId")
         instance = model.Instance(
             instance_id, instance_state, instance_type, image_id,
-            private_dns_name, dns_name, key_name, ami_launch_index,
-            launch_time, placement, products, kernel_id, ramdisk_id,
-            reservation=reservation)
+            private_dns_name, dns_name, private_ip_address, ip_address,
+            key_name, ami_launch_index, launch_time, placement, products,
+            kernel_id, ramdisk_id, reservation=reservation)
         return instance
 
     def describe_instances(self, xml_bytes):

=== modified file 'txaws/ec2/model.py'
--- txaws/ec2/model.py	2009-10-05 23:51:09 +0000
+++ txaws/ec2/model.py	2012-03-02 22:15:21 +0000
@@ -32,6 +32,9 @@
     @attrib dns_name: The public DNS name assigned to the instance. This DNS
         name is contactable from outside the Amazon EC2 network. This element
         remains empty until the instance enters a running state.
+    @attrib private_ip_address: The private IP address assigned to the
+        instance.
+    @attrib ip_address: The IP address of the instance.
     @attrib key_name: If this instance was launched with an associated key
         pair, this displays the key pair name.
     @attrib ami_launch_index: The AMI launch index, which can be used to find
@@ -43,7 +46,8 @@
     @attrib ramdisk_id: Optional. RAM disk associated with this instance.
     """
     def __init__(self, instance_id, instance_state, instance_type="",
-                 image_id="", private_dns_name="", dns_name="", key_name="",
+                 image_id="", private_dns_name="", dns_name="",
+                 private_ip_address="", ip_address="", key_name="",
                  ami_launch_index="", launch_time="", placement="",
                  product_codes=[], kernel_id=None, ramdisk_id=None,
                  reservation=None):
@@ -53,6 +57,8 @@
         self.image_id = image_id
         self.private_dns_name = private_dns_name
         self.dns_name = dns_name
+        self.private_ip_address = private_ip_address
+        self.ip_address = ip_address
         self.key_name = key_name
         self.ami_launch_index = ami_launch_index
         self.launch_time = launch_time

=== modified file 'txaws/ec2/tests/test_client.py'
--- txaws/ec2/tests/test_client.py	2012-02-01 22:57:48 +0000
+++ txaws/ec2/tests/test_client.py	2012-03-02 22:15:21 +0000
@@ -40,14 +40,17 @@
 
     def test_instance_creation(self):
         instance = model.Instance(
-            "id1", "running", "type", "id2", "dns1", "dns2", "key", "ami",
-            "time", "placement", ["prod1", "prod2"], "id3", "id4")
+            "id1", "running", "type", "id2", "dns1", "dns2", "ip1",
+            "ip2", "key", "ami", "time", "placement",
+            ["prod1", "prod2"], "id3", "id4")
         self.assertEquals(instance.instance_id, "id1")
         self.assertEquals(instance.instance_state, "running")
         self.assertEquals(instance.instance_type, "type")
         self.assertEquals(instance.image_id, "id2")
         self.assertEquals(instance.private_dns_name, "dns1")
         self.assertEquals(instance.dns_name, "dns2")
+        self.assertEquals(instance.private_ip_address, "ip1")
+        self.assertEquals(instance.ip_address, "ip2")
         self.assertEquals(instance.key_name, "key")
         self.assertEquals(instance.ami_launch_index, "ami")
         self.assertEquals(instance.launch_time, "time")
@@ -180,6 +183,8 @@
         self.assertEquals(
             instance.dns_name,
             "ec2-75-101-245-65.compute-1.amazonaws.com")
+        self.assertEquals(instance.private_ip_address, "10.0.0.1")
+        self.assertEquals(instance.ip_address, "75.101.245.65")
         self.assertEquals(instance.key_name, "keyname")
         self.assertEquals(instance.ami_launch_index, "0")
         self.assertEquals(instance.launch_time, "2009-04-27T02:23:18.000Z")
@@ -208,6 +213,8 @@
         self.assertEquals(
             instance.dns_name,
             "ec2-75-101-245-65.compute-1.amazonaws.com")
+        self.assertEquals(instance.private_ip_address, "10.0.0.1")
+        self.assertEquals(instance.ip_address, "75.101.245.65")
         self.assertEquals(instance.key_name, None)
         self.assertEquals(instance.ami_launch_index, None)
         self.assertEquals(instance.launch_time, "2009-04-27T02:23:18.000Z")

=== modified file 'txaws/testing/payload.py'
--- txaws/testing/payload.py	2012-01-28 00:39:00 +0000
+++ txaws/testing/payload.py	2012-03-02 22:15:21 +0000
@@ -25,6 +25,8 @@
           <privateDnsName>domU-12-31-39-03-15-11.compute-1.internal\
 </privateDnsName>
           <dnsName>ec2-75-101-245-65.compute-1.amazonaws.com</dnsName>
+          <privateIpAddress>10.0.0.1</privateIpAddress>
+          <ipAddress>75.101.245.65</ipAddress>
           <instanceType>c1.xlarge</instanceType>
           <launchTime>2009-04-27T02:23:18.000Z</launchTime>
           <placement>
@@ -62,6 +64,8 @@
           <privateDnsName>domU-12-31-39-03-15-11.compute-1.internal\
 </privateDnsName>
           <dnsName>ec2-75-101-245-65.compute-1.amazonaws.com</dnsName>
+          <privateIpAddress>10.0.0.1</privateIpAddress>
+          <ipAddress>75.101.245.65</ipAddress>
           <reason/>
           <keyName>keyname</keyName>
           <amiLaunchIndex>0</amiLaunchIndex>

_______________________________________________
Mailing list: https://launchpad.net/~txaws-dev
Post to     : txaws-dev@lists.launchpad.net
Unsubscribe : https://launchpad.net/~txaws-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to