diff --git a/changelogs/fragments/67089-sns_topic-notfound-backoff.yaml b/changelogs/fragments/67089-sns_topic-notfound-backoff.yaml new file mode 100644 index 00000000000..dcd01aad484 --- /dev/null +++ b/changelogs/fragments/67089-sns_topic-notfound-backoff.yaml @@ -0,0 +1,2 @@ +minor_changes: +- sns_topic - Add backoff when we get Topic ``NotFound`` exceptions while listing the subscriptions. diff --git a/lib/ansible/modules/cloud/amazon/sns_topic.py b/lib/ansible/modules/cloud/amazon/sns_topic.py index 48248a9d44e..d0059d1359b 100644 --- a/lib/ansible/modules/cloud/amazon/sns_topic.py +++ b/lib/ansible/modules/cloud/amazon/sns_topic.py @@ -264,12 +264,12 @@ class SnsTopicManager(object): paginator = self.connection.get_paginator('list_topics') return paginator.paginate().build_full_result()['Topics'] - @AWSRetry.jittered_backoff() + @AWSRetry.jittered_backoff(catch_extra_error_codes=['NotFound']) def _list_topic_subscriptions_with_backoff(self): paginator = self.connection.get_paginator('list_subscriptions_by_topic') return paginator.paginate(TopicArn=self.topic_arn).build_full_result()['Subscriptions'] - @AWSRetry.jittered_backoff() + @AWSRetry.jittered_backoff(catch_extra_error_codes=['NotFound']) def _list_subscriptions_with_backoff(self): paginator = self.connection.get_paginator('list_subscriptions') return paginator.paginate().build_full_result()['Subscriptions']