One of the higher-level abstractions provided by the SDK are **Waiters**. Waiters help make it easier to work with *eventually consistent* systems by providing an easy way to wait until a resource enters into a particular state by polling the resource. You can find a list of the waiters supported by a client by viewing the API Documentation of a service client. Any method with a name starting with "``waitUntil``" will create and invoke a Waiter. In the following example, the Amazon S3 Client is used to create a bucket. Then the Waiter is used to wait until the bucket exists. .. code-block:: php // Create a bucket $s3Client->createBucket(array('Bucket' => 'my-bucket')); // Wait until the created bucket is available $s3Client->waitUntil('BucketExists', array('Bucket' => 'my-bucket'));