Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

Module: Aws::EKS::Waiters

Defined in:
gems/aws-sdk-eks/lib/aws-sdk-eks/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
addon_active Client#describe_addon 10 60
addon_deleted Client#describe_addon 10 60
cluster_active Client#describe_cluster 30 40
cluster_deleted Client#describe_cluster 30 40
fargate_profile_active Client#describe_fargate_profile 10 60
fargate_profile_deleted Client#describe_fargate_profile 30 60
nodegroup_active Client#describe_nodegroup 30 80
nodegroup_deleted Client#describe_nodegroup 30 40

Defined Under Namespace

Classes: AddonActive, AddonDeleted, ClusterActive, ClusterDeleted, FargateProfileActive, FargateProfileDeleted, NodegroupActive, NodegroupDeleted