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)


131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# File 'lib/aws-sdk-ecs/waiters.rb', line 131

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.



175
176
177
# File 'lib/aws-sdk-ecs/waiters.rb', line 175

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. This parameter is required if the service or services you are describing were launched in any cluster other than the default cluster.

  • :services (required, Array<String>)

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

  • :include (Array<String>)

    Determines whether you want to see the resource tags for the service. If ‘TAGS` is specified, the tags are included in the response. If this field is omitted, tags aren’t included in the response.

Returns:



170
171
172
# File 'lib/aws-sdk-ecs/waiters.rb', line 170

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