in migration/bring-your-own-role/byor.py [0:0]
def _statements_equal(statement1, statement2):
# Helper function to sort nested structures in trust policy
def sort_nested(item):
if isinstance(item, dict):
return {k: sort_nested(v) for k, v in sorted(item.items())}
elif isinstance(item, list):
return sorted(sort_nested(i) for i in item)
else:
return item
# Sort all nested structures
sorted_statement1 = sort_nested(statement1)
sorted_statement2 = sort_nested(statement2)
return json.dumps(sorted_statement1, sort_keys=True) == json.dumps(sorted_statement2, sort_keys=True)