From 74f6b64fb06762b934c71e65ffece526f08399ff Mon Sep 17 00:00:00 2001 From: Damir Suleymanov Date: Tue, 20 Jun 2017 16:49:05 -0400 Subject: [PATCH] Handle rate limits on every iteration (#23726) --- lib/ansible/modules/cloud/amazon/route53.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/ansible/modules/cloud/amazon/route53.py b/lib/ansible/modules/cloud/amazon/route53.py index 8055f211d5..59cf9366e3 100644 --- a/lib/ansible/modules/cloud/amazon/route53.py +++ b/lib/ansible/modules/cloud/amazon/route53.py @@ -521,7 +521,12 @@ def main(): sets = invoke_with_throttling_retries(conn.get_all_rrsets, zone.id, name=record_in, type=type_in, identifier=identifier_in) - for rset in sets: + sets_iter = iter(sets) + while True: + try: + rset = invoke_with_throttling_retries(next, sets_iter) + except StopIteration: + break # 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', '*')