diff --git a/lib/ansible/module_utils/ec2.py b/lib/ansible/module_utils/ec2.py index d556d33a65b..38c8814b5ea 100644 --- a/lib/ansible/module_utils/ec2.py +++ b/lib/ansible/module_utils/ec2.py @@ -570,7 +570,9 @@ def sort_json_policy_dict(policy_dict): else: checked_list.append(item) - checked_list.sort() + # Sort list. If it's a list of dictionaries, sort by tuple of key-value + # pairs, since Python 3 doesn't allow comparisons such as `<` between dictionaries. + checked_list.sort(key=lambda x: sorted(x.items()) if isinstance(x, dict) else x) return checked_list ordered_policy_dict = {}