From 0e5942d7e7bfd703fad5797362a0ebe1572674e6 Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Wed, 17 Jun 2015 07:39:27 -0400 Subject: [PATCH] Return rule object --- cloud/openstack/os_security_group_rule.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/cloud/openstack/os_security_group_rule.py b/cloud/openstack/os_security_group_rule.py index a5596558710..15ce00866ae 100644 --- a/cloud/openstack/os_security_group_rule.py +++ b/cloud/openstack/os_security_group_rule.py @@ -174,8 +174,9 @@ def main(): module.fail_json(msg='Could not find security group %s' % security_group) - if not _find_matching_rule(module, secgroup): - cloud.create_security_group_rule( + rule = _find_matching_rule(module, secgroup): + if not rule: + rule = cloud.create_security_group_rule( secgroup['id'], port_range_min=module.params['port_range_min'], port_range_max=module.params['port_range_max'], @@ -186,6 +187,7 @@ def main(): ethertype=module.params['ethertype'] ) changed = True + module.exit_json(changed=changed, rule=rule, id=rule.id) if state == 'absent' and secgroup: rule = _find_matching_rule(module, secgroup) @@ -193,7 +195,7 @@ def main(): cloud.delete_security_group_rule(rule['id']) changed = True - module.exit_json(changed=changed) + module.exit_json(changed=changed) except shade.OpenStackCloudException as e: module.fail_json(msg=e.message)