diff --git a/changelogs/fragments/ec2_transit_gateway_IncorrectState.yaml b/changelogs/fragments/ec2_transit_gateway_IncorrectState.yaml new file mode 100644 index 00000000000..0668d630491 --- /dev/null +++ b/changelogs/fragments/ec2_transit_gateway_IncorrectState.yaml @@ -0,0 +1,3 @@ +--- +minor_changes: +- ec2_transit_gateway - wait and retry if API returns an IncorrectState error. diff --git a/plugins/modules/ec2_transit_gateway.py b/plugins/modules/ec2_transit_gateway.py index c013ea67379..4237376203b 100644 --- a/plugins/modules/ec2_transit_gateway.py +++ b/plugins/modules/ec2_transit_gateway.py @@ -242,7 +242,11 @@ class AnsibleEc2Tgw(object): def __init__(self, module, results): self._module = module self._results = results - self._connection = self._module.client('ec2') + retry_decorator = AWSRetry.jittered_backoff( + catch_extra_error_codes=['IncorrectState'], + ) + connection = module.client('ec2', retry_decorator=retry_decorator) + self._connection = connection self._check_mode = self._module.check_mode def process(self):