diff --git a/changelogs/fragments/avoid_KeyError_exception_during_wait.yaml b/changelogs/fragments/avoid_KeyError_exception_during_wait.yaml new file mode 100644 index 00000000..24a2c2ea --- /dev/null +++ b/changelogs/fragments/avoid_KeyError_exception_during_wait.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: +- "Address a situation where the creation of a resource with ``wait: true`` was causing an exception in case of timeout (https://github.com/ansible-collections/amazon.cloud/pull/60)." diff --git a/plugins/module_utils/core.py b/plugins/module_utils/core.py index 2cb4e7b3..e9894f5e 100644 --- a/plugins/module_utils/core.py +++ b/plugins/module_utils/core.py @@ -105,8 +105,10 @@ def wait_until_resource_request_success(self, request_token: str): WaiterConfig=self._waiter_config, ) except botocore.exceptions.WaiterError as e: + progress_event = e.last_response["ProgressEvent"] + message = progress_event.get("StatusMessage") or progress_event.get("OperationStatus") self.module.fail_json_aws( - e.last_response["ProgressEvent"]["StatusMessage"], + message, msg="Resource request failed to reach successful state", ) except (