Class Waiter

"Waiters" are associated with an AWS resource (e.g., EC2 instance), and poll
that resource and until it is in a particular state.

The Waiter object produces a promise that is either a.) resolved once the
waiting conditions are met, or b.) rejected if the waiting conditions cannot
be met or has exceeded the number of allowed attempts at meeting the
conditions. You can use waiters in a blocking or non-blocking way, depending
on whether you call wait() on the promise.

The configuration for the waiter must include information about the operation
and the conditions for wait completion.