From bba322a10eee55d0a923f66dba8c79e8ac913304 Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Fri, 6 Mar 2015 14:55:11 -0800 Subject: [PATCH] Sort subnets by the order they are specified in the play Fixes #172 --- lib/ansible/modules/cloud/amazon/ec2_vpc.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/ansible/modules/cloud/amazon/ec2_vpc.py b/lib/ansible/modules/cloud/amazon/ec2_vpc.py index 00528f27849..a4f7c0ade43 100644 --- a/lib/ansible/modules/cloud/amazon/ec2_vpc.py +++ b/lib/ansible/modules/cloud/amazon/ec2_vpc.py @@ -506,6 +506,15 @@ def create_vpc(module, vpc_conn): 'id': sn.id, }) + # Sort subnets by the order they were listed in the play + order = {} + for idx, val in enumerate(subnets): + order[val['cidr']] = idx + + # Number of subnets in the play + 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) def terminate_vpc(module, vpc_conn, vpc_id=None, cidr=None):