You are viewing documentation for version 3 of the AWS SDK for Ruby. Version 2 documentation can be found here.

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

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

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 'gems/aws-sdk-ecs/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 Method Details

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

Returns a response object which responds to the following methods:

Parameters:

  • params (Hash) (defaults to: {})

    a customizable set of options

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 'gems/aws-sdk-ecs/lib/aws-sdk-ecs/waiters.rb', line 104

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