Merge pull request #6324 from scottanderson42/bugfix/route53-characters

BUGFIX: route53 module won't round-trip * and @ in records
This commit is contained in:
Michael DeHaan 2014-03-11 10:18:23 -05:00
commit 3af6befbae

View file

@ -220,11 +220,16 @@ def main():
found_record = False found_record = False
sets = conn.get_all_rrsets(zones[zone_in]) sets = conn.get_all_rrsets(zones[zone_in])
for rset in sets: for rset in sets:
if rset.type == type_in and rset.name == record_in: # Due to a bug in either AWS or Boto, "special" characters are returned as octals, preventing round
# tripping of things like * and @.
decoded_name = rset.name.replace(r'\052', '*')
decoded_name = rset.name.replace(r'\100', '@')
if rset.type == type_in and decoded_name == record_in:
found_record = True found_record = True
record['zone'] = zone_in record['zone'] = zone_in
record['type'] = rset.type record['type'] = rset.type
record['record'] = rset.name record['record'] = decoded_name
record['ttl'] = rset.ttl record['ttl'] = rset.ttl
record['value'] = ','.join(sorted(rset.resource_records)) record['value'] = ','.join(sorted(rset.resource_records))
record['values'] = sorted(rset.resource_records) record['values'] = sorted(rset.resource_records)