From 0e213e985bb3e9e1e90a90881f69baa9056e1b60 Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Wed, 13 May 2015 17:11:28 -0400 Subject: [PATCH] Tell me what the igw id is if we created an igw. --- cloud/amazon/ec2_vpc.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/cloud/amazon/ec2_vpc.py b/cloud/amazon/ec2_vpc.py index 752a5f28caa..f11466421c2 100644 --- a/cloud/amazon/ec2_vpc.py +++ b/cloud/amazon/ec2_vpc.py @@ -182,6 +182,17 @@ def get_vpc_info(vpc): 'state': vpc.state, }) +def get_igw_info(igw): + """ + Get info about the internet gateway. + """ + if igw is None: + return {} + + return ({ + 'id': igw.id, + }) + def find_vpc(module, vpc_conn, vpc_id=None, cidr=None): """ Finds a VPC that matches a specific id or cidr + tags @@ -570,6 +581,7 @@ def create_vpc(module, vpc_conn): module.fail_json(msg='Unable to delete old route table {0}, error: {1}'.format(rt.id, e)) vpc_dict = get_vpc_info(vpc) + igw_dict = get_igw_info(igw) created_vpc_id = vpc.id returned_subnets = [] current_subnets = vpc_conn.get_all_subnets(filters={ 'vpc_id': vpc.id }) @@ -592,7 +604,7 @@ def create_vpc(module, vpc_conn): subnets_in_play = len(subnets) returned_subnets.sort(key=lambda x: order.get(x['cidr'], subnets_in_play)) - return (vpc_dict, created_vpc_id, returned_subnets, changed) + return (vpc_dict, created_vpc_id, returned_subnets, igw_dict, changed) def terminate_vpc(module, vpc_conn, vpc_id=None, cidr=None): """ @@ -693,6 +705,7 @@ def main(): else: module.fail_json(msg="region must be specified") + igw_dict = {} if module.params.get('state') == 'absent': vpc_id = module.params.get('vpc_id') cidr = module.params.get('cidr_block') @@ -700,9 +713,9 @@ def main(): subnets_changed = None elif module.params.get('state') == 'present': # Changed is always set to true when provisioning a new VPC - (vpc_dict, new_vpc_id, subnets_changed, changed) = create_vpc(module, vpc_conn) + (vpc_dict, new_vpc_id, subnets_changed, igw_dict, changed) = create_vpc(module, vpc_conn) - module.exit_json(changed=changed, vpc_id=new_vpc_id, vpc=vpc_dict, subnets=subnets_changed) + module.exit_json(changed=changed, vpc_id=new_vpc_id, vpc=vpc_dict, igw=igw_dict, subnets=subnets_changed) # import module snippets from ansible.module_utils.basic import *