Class: Aws::ECS::Waiters::ServicesStable

Inherits:
Object
  • Object
show all
Defined in:
lib/aws-sdk-ecs/waiters.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ ServicesStable

Returns a new instance of ServicesStable.

Parameters:

  • options (Hash)

Options Hash (options):

  • :client (required, Client)
  • :max_attempts (Integer) — default: 40
  • :delay (Integer) — default: 15
  • :before_attempt (Proc)
  • :before_wait (Proc)


65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/aws-sdk-ecs/waiters.rb', line 65

def initialize(options)
  @client = options.fetch(:client)
  @waiter = Aws::Waiters::Waiter.new({
    max_attempts: 40,
    delay: 15,
    poller: Aws::Waiters::Poller.new(
      operation_name: :describe_services,
      acceptors: [
        {
          "expected" => "MISSING",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "failures[].reason"
        },
        {
          "expected" => "DRAINING",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "services[].status"
        },
        {
          "expected" => "INACTIVE",
          "matcher" => "pathAny",
          "state" => "failure",
          "argument" => "services[].status"
        },
        {
          "expected" => true,
          "matcher" => "path",
          "state" => "success",
          "argument" => "length(services[?!(length(deployments) == `1` && running_count == desired_count)]) == `0`"
        }
      ]
    )
  }.merge(options))
end

Instance Attribute Details

#waiterObject (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



109
110
111
# File 'lib/aws-sdk-ecs/waiters.rb', line 109

def waiter
  @waiter
end

Instance Method Details

#wait(params = {}) ⇒ Types::DescribeServicesResponse

Returns a response object which responds to the following methods:

Options Hash (params):

  • :cluster (String)

    The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe. If you do not specify a cluster, the default cluster is assumed.

  • :services (required, Array<String>)

    A list of services to describe. You may specify up to 10 services to describe in a single operation.

Returns:



104
105
106
# File 'lib/aws-sdk-ecs/waiters.rb', line 104

def wait(params = {})
  @waiter.wait(client: @client, params: params)
end