From e5149f3b304647cc69b1af0846d3f6422330ab1c Mon Sep 17 00:00:00 2001 From: Toshio Kuratomi Date: Fri, 20 Mar 2015 09:52:19 -0700 Subject: [PATCH] Fix review comments from @bcoca in #745 --- lib/ansible/modules/cloud/amazon/ec2_asg.py | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/lib/ansible/modules/cloud/amazon/ec2_asg.py b/lib/ansible/modules/cloud/amazon/ec2_asg.py index 92025c2b23c..97d89d4c987 100644 --- a/lib/ansible/modules/cloud/amazon/ec2_asg.py +++ b/lib/ansible/modules/cloud/amazon/ec2_asg.py @@ -225,19 +225,10 @@ def enforce_required_arguments(module): def get_properties(autoscaling_group): properties = dict((attr, getattr(autoscaling_group, attr)) for attr in ASG_ATTRIBUTES) - # - # Ansible output is serialized to JSON but our - # tag list is sometimes a list of Tag-objects - # (as received by Boto). - # - # Since we can not easily teach python to serialize - # such a list we replace it with a dict-representation - # in those cases. - # - # Yes, this is an ugly hack. But at least it works, - # unlike the even uglier hack that was here previously... - # - if 'tags' in properties and properties['tags'] is list: + # Ugly hack to make this JSON-serializable. We take a list of boto Tag + # objects and replace them with a dict-representation. Needed because the + # tags are included in ansible's return value (which is jsonified) + if 'tags' in properties and isinstance(properties['tags'], list): serializable_tags = {} for tag in properties['tags']: serializable_tags[tag.key] = [tag.value, tag.propagate_at_launch]