aws/aws-cli — pull request #992 by jamesls (2014-11-10 06:08:10+00:00)
Title: Add waiter models

This re-adds #985, and fixes a bug where creating a client without a region would sometimes generate an error. The fix here is so use the waiter_model (via the newly added `get_waiter_model` from botocore). From the [newly added commit](https://github.com/jamesls/aws-cli/commit/b89d6f012a0a1206bf93e3298f64cc13e1842055):

Update waiters to use the new get_waiter_model

This fixes an issue where previously we were creating a client
without specifying a region, which in certain cases would trigger
an error. Now we only use the waiter model to generate the necessary
commands.

As part of thie change I went ahead and just switched the invoke
to just use the service/operation object. This isn't ideal, but at the
same time, it's pretty clear that for the time being there's no way
to do this entirely with just clients. Given that's the case, I don't
feel it's that imperative to use clients where possible. When
we switch to clients, this module will need updates regardless.
It also simplified the code a little bit.

Also, the CI build will fail until the `get_waiter_model` method is merged,
(depends on https://github.com/boto/botocore/pull/376).

cc @kyleknap @danielgtaylor