summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn Falkner-Horine <dreadpirateshawn@gmail.com>2014-09-09 16:21:44 -0700
committerShawn Falkner-Horine <dreadpirateshawn@gmail.com>2014-09-09 16:21:44 -0700
commit637b7a53ad3f381d06c06e7625caada3b30ca9de (patch)
treec9d644a8b336769413acd28b1ba41d9476bb8a2f
parent7a397419e48b0f1b3dc76f62da624fe3ea7828cc (diff)
downloadboto-637b7a53ad3f381d06c06e7625caada3b30ca9de.tar.gz
Route Tables: Update describe_route_tables to support additional route types (VPC peering connection, NIC).
-rw-r--r--boto/vpc/routetable.py6
-rw-r--r--tests/unit/vpc/test_routetable.py20
2 files changed, 25 insertions, 1 deletions
diff --git a/boto/vpc/routetable.py b/boto/vpc/routetable.py
index 7f83717e..21060ee9 100644
--- a/boto/vpc/routetable.py
+++ b/boto/vpc/routetable.py
@@ -67,6 +67,8 @@ class Route(object):
self.destination_cidr_block = None
self.gateway_id = None
self.instance_id = None
+ self.interface_id = None
+ self.vpc_peering_connection_id = None
self.state = None
def __repr__(self):
@@ -82,6 +84,10 @@ class Route(object):
self.gateway_id = value
elif name == 'instanceId':
self.instance_id = value
+ elif name == 'networkInterfaceId':
+ self.interface_id = value
+ elif name == 'vpcPeeringConnectionId':
+ self.vpc_peering_connection_id = value
elif name == 'state':
self.state = value
diff --git a/tests/unit/vpc/test_routetable.py b/tests/unit/vpc/test_routetable.py
index 3518fd74..c90e56c4 100644
--- a/tests/unit/vpc/test_routetable.py
+++ b/tests/unit/vpc/test_routetable.py
@@ -48,6 +48,18 @@ class TestDescribeRouteTables(AWSMockServiceTestCase):
<gatewayId>igw-eaad4883</gatewayId>
<state>active</state>
</item>
+ <item>
+ <destinationCidrBlock>10.0.0.0/21</destinationCidrBlock>
+ <networkInterfaceId>eni-884ec1d1</networkInterfaceId>
+ <state>blackhole</state>
+ <origin>CreateRoute</origin>
+ </item>
+ <item>
+ <destinationCidrBlock>11.0.0.0/22</destinationCidrBlock>
+ <vpcPeeringConnectionId>pcx-efc52b86</vpcPeeringConnectionId>
+ <state>blackhole</state>
+ <origin>CreateRoute</origin>
+ </item>
</routeSet>
<associationSet>
<item>
@@ -88,13 +100,19 @@ class TestDescribeRouteTables(AWSMockServiceTestCase):
self.assertIsNone(api_response[0].associations[0].subnet_id)
self.assertEquals(api_response[0].associations[0].main, True)
self.assertEquals(api_response[1].id, 'rtb-f9ad4890')
- self.assertEquals(len(api_response[1].routes), 2)
+ self.assertEquals(len(api_response[1].routes), 4)
self.assertEquals(api_response[1].routes[0].destination_cidr_block, '10.0.0.0/22')
self.assertEquals(api_response[1].routes[0].gateway_id, 'local')
self.assertEquals(api_response[1].routes[0].state, 'active')
self.assertEquals(api_response[1].routes[1].destination_cidr_block, '0.0.0.0/0')
self.assertEquals(api_response[1].routes[1].gateway_id, 'igw-eaad4883')
self.assertEquals(api_response[1].routes[1].state, 'active')
+ self.assertEquals(api_response[1].routes[2].destination_cidr_block, '10.0.0.0/21')
+ self.assertEquals(api_response[1].routes[2].interface_id, 'eni-884ec1d1')
+ self.assertEquals(api_response[1].routes[2].state, 'blackhole')
+ self.assertEquals(api_response[1].routes[3].destination_cidr_block, '11.0.0.0/22')
+ self.assertEquals(api_response[1].routes[3].vpc_peering_connection_id, 'pcx-efc52b86')
+ self.assertEquals(api_response[1].routes[3].state, 'blackhole')
self.assertEquals(len(api_response[1].associations), 1)
self.assertEquals(api_response[1].associations[0].id, 'rtbassoc-faad4893')
self.assertEquals(api_response[1].associations[0].route_table_id, 'rtb-f9ad4890')