lib/aws-sdk-medialive/waiters.rb in aws-sdk-medialive-1.41.0 vs lib/aws-sdk-medialive/waiters.rb in aws-sdk-medialive-1.42.0
- old
+ new
@@ -6,10 +6,78 @@
# WARNING ABOUT GENERATED CODE
require 'aws-sdk-core/waiters'
module Aws::MediaLive
+ # Waiters are utility methods that poll for a particular state to occur
+ # on a client. Waiters can fail after a number of attempts at a polling
+ # interval defined for the service client.
+ #
+ # For a list of operations that can be waited for and the
+ # client methods called for each operation, see the table below or the
+ # {Client#wait_until} field documentation for the {Client}.
+ #
+ # # Invoking a Waiter
+ # To invoke a waiter, call #wait_until on a {Client}. The first parameter
+ # is the waiter name, which is specific to the service client and indicates
+ # which operation is being waited for. The second parameter is a hash of
+ # parameters that are passed to the client method called by the waiter,
+ # which varies according to the waiter name.
+ #
+ # # Wait Failures
+ # To catch errors in a waiter, use WaiterFailed,
+ # as shown in the following example.
+ #
+ # rescue rescue Aws::Waiters::Errors::WaiterFailed => error
+ # puts "failed waiting for instance running: #{error.message}
+ # end
+ #
+ # # Configuring a Waiter
+ # Each waiter has a default polling interval and a maximum number of
+ # attempts it will make before returning control to your program.
+ # To set these values, use the `max_attempts` and `delay` parameters
+ # in your `#wait_until` call.
+ # The following example waits for up to 25 seconds, polling every five seconds.
+ #
+ # client.wait_until(...) do |w|
+ # w.max_attempts = 5
+ # w.delay = 5
+ # end
+ #
+ # To disable wait failures, set the value of either of these parameters
+ # to `nil`.
+ #
+ # # Extending a Waiter
+ # To modify the behavior of waiters, you can register callbacks that are
+ # triggered before each polling attempt and before waiting.
+ #
+ # The following example implements an exponential backoff in a waiter
+ # by doubling the amount of time to wait on every attempt.
+ #
+ # client.wait_until(...) do |w|
+ # w.interval = 0 # disable normal sleep
+ # w.before_wait do |n, resp|
+ # sleep(n ** 2)
+ # end
+ # end
+ #
+ # # Available Waiters
+ #
+ # The following table lists the valid waiter names, the operations they call,
+ # and the default `:delay` and `:max_attempts` values.
+ #
+ # | waiter_name | params | :delay | :max_attempts |
+ # | ----------------- | --------------------------- | -------- | ------------- |
+ # | channel_created | {Client#describe_channel} | 3 | 5 |
+ # | channel_deleted | {Client#describe_channel} | 5 | 84 |
+ # | channel_running | {Client#describe_channel} | 5 | 120 |
+ # | channel_stopped | {Client#describe_channel} | 5 | 60 |
+ # | multiplex_created | {Client#describe_multiplex} | 3 | 5 |
+ # | multiplex_deleted | {Client#describe_multiplex} | 5 | 20 |
+ # | multiplex_running | {Client#describe_multiplex} | 5 | 120 |
+ # | multiplex_stopped | {Client#describe_multiplex} | 5 | 28 |
+ #
module Waiters
# Wait until a channel has been created
class ChannelCreated
@@ -69,18 +137,18 @@
# Wait until a channel has been deleted
class ChannelDeleted
# @param [Hash] options
# @option options [required, Client] :client
- # @option options [Integer] :max_attempts (20)
+ # @option options [Integer] :max_attempts (84)
# @option options [Integer] :delay (5)
# @option options [Proc] :before_attempt
# @option options [Proc] :before_wait
def initialize(options)
@client = options.fetch(:client)
@waiter = Aws::Waiters::Waiter.new({
- max_attempts: 20,
+ max_attempts: 84,
delay: 5,
poller: Aws::Waiters::Poller.new(
operation_name: :describe_channel,
acceptors: [
{
@@ -169,17 +237,17 @@
# Wait until a channel has is stopped
class ChannelStopped
# @param [Hash] options
# @option options [required, Client] :client
- # @option options [Integer] :max_attempts (28)
+ # @option options [Integer] :max_attempts (60)
# @option options [Integer] :delay (5)
# @option options [Proc] :before_attempt
# @option options [Proc] :before_wait
def initialize(options)
@client = options.fetch(:client)
@waiter = Aws::Waiters::Waiter.new({
- max_attempts: 28,
+ max_attempts: 60,
delay: 5,
poller: Aws::Waiters::Poller.new(
operation_name: :describe_channel,
acceptors: [
{