Module: Aws::MediaLive::Waiters

Defined in:
lib/aws-sdk-medialive/waiters.rb

Overview

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_placement_group_assigned | Client#describe_channel_placement_group | 3 | 5 | | channel_placement_group_deleted | Client#describe_channel_placement_group | 5 | 20 | | channel_placement_group_unassigned | Client#describe_channel_placement_group | 5 | 20 | | channel_running | Client#describe_channel | 5 | 120 | | channel_stopped | Client#describe_channel | 5 | 60 | | cluster_created | Client#describe_cluster | 3 | 5 | | cluster_deleted | Client#describe_cluster | 5 | 20 | | input_attached | Client#describe_input | 5 | 20 | | input_deleted | Client#describe_input | 5 | 20 | | input_detached | Client#describe_input | 5 | 84 | | 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 | | node_deregistered | Client#describe_node | 5 | 20 | | node_registered | Client#describe_node | 3 | 5 | | signal_map_created | Client#get_signal_map | 5 | 60 | | signal_map_monitor_deleted | Client#get_signal_map | 5 | 120 | | signal_map_monitor_deployed | Client#get_signal_map | 5 | 120 | | signal_map_updated | Client#get_signal_map | 5 | 60 |

Defined Under Namespace

Classes: ChannelCreated, ChannelDeleted, ChannelPlacementGroupAssigned, ChannelPlacementGroupDeleted, ChannelPlacementGroupUnassigned, ChannelRunning, ChannelStopped, ClusterCreated, ClusterDeleted, InputAttached, InputDeleted, InputDetached, MultiplexCreated, MultiplexDeleted, MultiplexRunning, MultiplexStopped, NodeDeregistered, NodeRegistered, SignalMapCreated, SignalMapMonitorDeleted, SignalMapMonitorDeployed, SignalMapUpdated