From 2b1af586a23c564c7e33b0b80f6f29656df50540 Mon Sep 17 00:00:00 2001
From: James Cammarata <jimi@sngx.net>
Date: Wed, 2 Jul 2014 09:26:14 -0500
Subject: [PATCH] Make sure subnets and route_tables are initialized before
 using

Fixes #7712
---
 cloud/ec2_vpc | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/cloud/ec2_vpc b/cloud/ec2_vpc
index 5383f3892c0..561e0db696c 100644
--- a/cloud/ec2_vpc
+++ b/cloud/ec2_vpc
@@ -274,6 +274,11 @@ def create_vpc(module, vpc_conn):
     wait_timeout = int(module.params.get('wait_timeout'))
     changed = False
 
+    if subnets is None:
+        subnets = []
+    if route_tables is None:
+        route_tables = []
+
     # Check for existing VPC by cidr_block + tags or id
     previous_vpc = find_vpc(module, vpc_conn, id, cidr_block)
 
@@ -408,7 +413,7 @@ def create_vpc(module, vpc_conn):
     if route_tables and not isinstance(route_tables, list):
         module.fail_json(msg='route tables need to be a list of dictionaries')
     
-# Work through each route table and update/create to match dictionary array
+    # Work through each route table and update/create to match dictionary array
     all_route_tables = []
     for rt in route_tables:
         try:
@@ -561,11 +566,11 @@ def main():
             wait_timeout = dict(default=300),
             dns_support = dict(type='bool', default=True),
             dns_hostnames = dict(type='bool', default=True),
-            subnets = dict(type='list'),
+            subnets = dict(type='list', default=[]),
             vpc_id = dict(),
             internet_gateway = dict(type='bool', default=False),
             resource_tags = dict(type='dict'),
-            route_tables = dict(type='list'),
+            route_tables = dict(type='list', default=[]),
             state = dict(choices=['present', 'absent'], default='present'),
         )
     )