aws-sdk-elasticbeanstalk 1.34.0 → 1.35.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3ac6559fb1cf7ea7dce359370e30c8b1c8e2c6f4095b535d6095bae135d0ace2
4
- data.tar.gz: b90c59a5c690527c41ca4cc5844402c8aa7234c883155e08cb871bcae6c01db0
3
+ metadata.gz: b84c4cde014f9096639a7008f1265a93484271a1ea0a2454a196ffeb9bf16178
4
+ data.tar.gz: bc8b419956a4fab618e015ed99833a845924a862b5d69168a0c8be6628a01d23
5
5
  SHA512:
6
- metadata.gz: f69cfb1b8140201dd3025376e5447987c6bb1cf0399cd749693944bb6a23b581164010752b89ee08de477a745fa218fe41f675a133f68bdd7e8b6dd1685134f3
7
- data.tar.gz: d79a58f8a5a432a3596d1433fc3d1c0dfe25f597e25b835b19a5ba26fc03a136c7eced6456a4dddda81240c0a566db82442204f056a00a6cdcee32d4db0a2709
6
+ metadata.gz: 45886e4cd8cd3aac96b84a6d3a2123c134b7a00f32e67ead85f10c1130b82178de8ad85b17ce1ee21b76028ad232779bf013eebbc7422aadc7b758367bf380f1
7
+ data.tar.gz: 3d43b824722656b86e7c35b44e914b90af70ccbfaee50ea66e52cd39f547dc13a219c6434dad544bdbb6d6819785afe67ba442a4ff442a182a73feef03d800ec
@@ -14,6 +14,7 @@ require_relative 'aws-sdk-elasticbeanstalk/types'
14
14
  require_relative 'aws-sdk-elasticbeanstalk/client_api'
15
15
  require_relative 'aws-sdk-elasticbeanstalk/client'
16
16
  require_relative 'aws-sdk-elasticbeanstalk/errors'
17
+ require_relative 'aws-sdk-elasticbeanstalk/waiters'
17
18
  require_relative 'aws-sdk-elasticbeanstalk/resource'
18
19
  require_relative 'aws-sdk-elasticbeanstalk/customizations'
19
20
 
@@ -47,6 +48,6 @@ require_relative 'aws-sdk-elasticbeanstalk/customizations'
47
48
  # @service
48
49
  module Aws::ElasticBeanstalk
49
50
 
50
- GEM_VERSION = '1.34.0'
51
+ GEM_VERSION = '1.35.0'
51
52
 
52
53
  end
@@ -2232,6 +2232,8 @@ module Aws::ElasticBeanstalk
2232
2232
  # * {Types::DescribeEnvironmentManagedActionHistoryResult#managed_action_history_items #managed_action_history_items} => Array<Types::ManagedActionHistoryItem>
2233
2233
  # * {Types::DescribeEnvironmentManagedActionHistoryResult#next_token #next_token} => String
2234
2234
  #
2235
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2236
+ #
2235
2237
  # @example Request syntax with placeholder values
2236
2238
  #
2237
2239
  # resp = client.describe_environment_managed_action_history({
@@ -2533,6 +2535,13 @@ module Aws::ElasticBeanstalk
2533
2535
  # resp.environments[0].operations_role #=> String
2534
2536
  # resp.next_token #=> String
2535
2537
  #
2538
+ #
2539
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
2540
+ #
2541
+ # * environment_exists
2542
+ # * environment_terminated
2543
+ # * environment_updated
2544
+ #
2536
2545
  # @see http://docs.aws.amazon.com/goto/WebAPI/elasticbeanstalk-2010-12-01/DescribeEnvironments AWS API Documentation
2537
2546
  #
2538
2547
  # @overload describe_environments(params = {})
@@ -3151,6 +3160,8 @@ module Aws::ElasticBeanstalk
3151
3160
  # * {Types::ListPlatformVersionsResult#platform_summary_list #platform_summary_list} => Array<Types::PlatformSummary>
3152
3161
  # * {Types::ListPlatformVersionsResult#next_token #next_token} => String
3153
3162
  #
3163
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
3164
+ #
3154
3165
  # @example Request syntax with placeholder values
3155
3166
  #
3156
3167
  # resp = client.list_platform_versions({
@@ -4475,14 +4486,131 @@ module Aws::ElasticBeanstalk
4475
4486
  params: params,
4476
4487
  config: config)
4477
4488
  context[:gem_name] = 'aws-sdk-elasticbeanstalk'
4478
- context[:gem_version] = '1.34.0'
4489
+ context[:gem_version] = '1.35.0'
4479
4490
  Seahorse::Client::Request.new(handlers, context)
4480
4491
  end
4481
4492
 
4493
+ # Polls an API operation until a resource enters a desired state.
4494
+ #
4495
+ # ## Basic Usage
4496
+ #
4497
+ # A waiter will call an API operation until:
4498
+ #
4499
+ # * It is successful
4500
+ # * It enters a terminal state
4501
+ # * It makes the maximum number of attempts
4502
+ #
4503
+ # In between attempts, the waiter will sleep.
4504
+ #
4505
+ # # polls in a loop, sleeping between attempts
4506
+ # client.wait_until(waiter_name, params)
4507
+ #
4508
+ # ## Configuration
4509
+ #
4510
+ # You can configure the maximum number of polling attempts, and the
4511
+ # delay (in seconds) between each polling attempt. You can pass
4512
+ # configuration as the final arguments hash.
4513
+ #
4514
+ # # poll for ~25 seconds
4515
+ # client.wait_until(waiter_name, params, {
4516
+ # max_attempts: 5,
4517
+ # delay: 5,
4518
+ # })
4519
+ #
4520
+ # ## Callbacks
4521
+ #
4522
+ # You can be notified before each polling attempt and before each
4523
+ # delay. If you throw `:success` or `:failure` from these callbacks,
4524
+ # it will terminate the waiter.
4525
+ #
4526
+ # started_at = Time.now
4527
+ # client.wait_until(waiter_name, params, {
4528
+ #
4529
+ # # disable max attempts
4530
+ # max_attempts: nil,
4531
+ #
4532
+ # # poll for 1 hour, instead of a number of attempts
4533
+ # before_wait: -> (attempts, response) do
4534
+ # throw :failure if Time.now - started_at > 3600
4535
+ # end
4536
+ # })
4537
+ #
4538
+ # ## Handling Errors
4539
+ #
4540
+ # When a waiter is unsuccessful, it will raise an error.
4541
+ # All of the failure errors extend from
4542
+ # {Aws::Waiters::Errors::WaiterFailed}.
4543
+ #
4544
+ # begin
4545
+ # client.wait_until(...)
4546
+ # rescue Aws::Waiters::Errors::WaiterFailed
4547
+ # # resource did not enter the desired state in time
4548
+ # end
4549
+ #
4550
+ # ## Valid Waiters
4551
+ #
4552
+ # The following table lists the valid waiter names, the operations they call,
4553
+ # and the default `:delay` and `:max_attempts` values.
4554
+ #
4555
+ # | waiter_name | params | :delay | :max_attempts |
4556
+ # | ---------------------- | ------------------------------ | -------- | ------------- |
4557
+ # | environment_exists | {Client#describe_environments} | 20 | 20 |
4558
+ # | environment_terminated | {Client#describe_environments} | 20 | 20 |
4559
+ # | environment_updated | {Client#describe_environments} | 20 | 20 |
4560
+ #
4561
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
4562
+ # because the waiter has entered a state that it will not transition
4563
+ # out of, preventing success.
4564
+ #
4565
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
4566
+ # maximum number of attempts have been made, and the waiter is not
4567
+ # yet successful.
4568
+ #
4569
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
4570
+ # while polling for a resource that is not expected.
4571
+ #
4572
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
4573
+ # for an unknown state.
4574
+ #
4575
+ # @return [Boolean] Returns `true` if the waiter was successful.
4576
+ # @param [Symbol] waiter_name
4577
+ # @param [Hash] params ({})
4578
+ # @param [Hash] options ({})
4579
+ # @option options [Integer] :max_attempts
4580
+ # @option options [Integer] :delay
4581
+ # @option options [Proc] :before_attempt
4582
+ # @option options [Proc] :before_wait
4583
+ def wait_until(waiter_name, params = {}, options = {})
4584
+ w = waiter(waiter_name, options)
4585
+ yield(w.waiter) if block_given? # deprecated
4586
+ w.wait(params)
4587
+ end
4588
+
4482
4589
  # @api private
4483
4590
  # @deprecated
4484
4591
  def waiter_names
4485
- []
4592
+ waiters.keys
4593
+ end
4594
+
4595
+ private
4596
+
4597
+ # @param [Symbol] waiter_name
4598
+ # @param [Hash] options ({})
4599
+ def waiter(waiter_name, options = {})
4600
+ waiter_class = waiters[waiter_name]
4601
+ if waiter_class
4602
+ waiter_class.new(options.merge(client: self))
4603
+ else
4604
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
4605
+ end
4606
+ end
4607
+
4608
+ def waiters
4609
+ {
4610
+ environment_exists: Waiters::EnvironmentExists,
4611
+ environment_terminated: Waiters::EnvironmentTerminated,
4612
+ environment_updated: Waiters::EnvironmentUpdated
4613
+ }
4486
4614
  end
4487
4615
 
4488
4616
  class << self
@@ -1440,6 +1440,12 @@ module Aws::ElasticBeanstalk
1440
1440
  o.input = Shapes::ShapeRef.new(shape: DescribeEnvironmentManagedActionHistoryRequest)
1441
1441
  o.output = Shapes::ShapeRef.new(shape: DescribeEnvironmentManagedActionHistoryResult)
1442
1442
  o.errors << Shapes::ShapeRef.new(shape: ElasticBeanstalkServiceException)
1443
+ o[:pager] = Aws::Pager.new(
1444
+ limit_key: "max_items",
1445
+ tokens: {
1446
+ "next_token" => "next_token"
1447
+ }
1448
+ )
1443
1449
  end)
1444
1450
 
1445
1451
  api.add_operation(:describe_environment_managed_actions, Seahorse::Model::Operation.new.tap do |o|
@@ -1541,6 +1547,12 @@ module Aws::ElasticBeanstalk
1541
1547
  o.output = Shapes::ShapeRef.new(shape: ListPlatformVersionsResult)
1542
1548
  o.errors << Shapes::ShapeRef.new(shape: InsufficientPrivilegesException)
1543
1549
  o.errors << Shapes::ShapeRef.new(shape: ElasticBeanstalkServiceException)
1550
+ o[:pager] = Aws::Pager.new(
1551
+ limit_key: "max_records",
1552
+ tokens: {
1553
+ "next_token" => "next_token"
1554
+ }
1555
+ )
1544
1556
  end)
1545
1557
 
1546
1558
  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
@@ -0,0 +1,210 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ require 'aws-sdk-core/waiters'
11
+
12
+ module Aws::ElasticBeanstalk
13
+ # Waiters are utility methods that poll for a particular state to occur
14
+ # on a client. Waiters can fail after a number of attempts at a polling
15
+ # interval defined for the service client.
16
+ #
17
+ # For a list of operations that can be waited for and the
18
+ # client methods called for each operation, see the table below or the
19
+ # {Client#wait_until} field documentation for the {Client}.
20
+ #
21
+ # # Invoking a Waiter
22
+ # To invoke a waiter, call #wait_until on a {Client}. The first parameter
23
+ # is the waiter name, which is specific to the service client and indicates
24
+ # which operation is being waited for. The second parameter is a hash of
25
+ # parameters that are passed to the client method called by the waiter,
26
+ # which varies according to the waiter name.
27
+ #
28
+ # # Wait Failures
29
+ # To catch errors in a waiter, use WaiterFailed,
30
+ # as shown in the following example.
31
+ #
32
+ # rescue rescue Aws::Waiters::Errors::WaiterFailed => error
33
+ # puts "failed waiting for instance running: #{error.message}
34
+ # end
35
+ #
36
+ # # Configuring a Waiter
37
+ # Each waiter has a default polling interval and a maximum number of
38
+ # attempts it will make before returning control to your program.
39
+ # To set these values, use the `max_attempts` and `delay` parameters
40
+ # in your `#wait_until` call.
41
+ # The following example waits for up to 25 seconds, polling every five seconds.
42
+ #
43
+ # client.wait_until(...) do |w|
44
+ # w.max_attempts = 5
45
+ # w.delay = 5
46
+ # end
47
+ #
48
+ # To disable wait failures, set the value of either of these parameters
49
+ # to `nil`.
50
+ #
51
+ # # Extending a Waiter
52
+ # To modify the behavior of waiters, you can register callbacks that are
53
+ # triggered before each polling attempt and before waiting.
54
+ #
55
+ # The following example implements an exponential backoff in a waiter
56
+ # by doubling the amount of time to wait on every attempt.
57
+ #
58
+ # client.wait_until(...) do |w|
59
+ # w.interval = 0 # disable normal sleep
60
+ # w.before_wait do |n, resp|
61
+ # sleep(n ** 2)
62
+ # end
63
+ # end
64
+ #
65
+ # # Available Waiters
66
+ #
67
+ # The following table lists the valid waiter names, the operations they call,
68
+ # and the default `:delay` and `:max_attempts` values.
69
+ #
70
+ # | waiter_name | params | :delay | :max_attempts |
71
+ # | ---------------------- | ------------------------------ | -------- | ------------- |
72
+ # | environment_exists | {Client#describe_environments} | 20 | 20 |
73
+ # | environment_terminated | {Client#describe_environments} | 20 | 20 |
74
+ # | environment_updated | {Client#describe_environments} | 20 | 20 |
75
+ #
76
+ module Waiters
77
+
78
+ class EnvironmentExists
79
+
80
+ # @param [Hash] options
81
+ # @option options [required, Client] :client
82
+ # @option options [Integer] :max_attempts (20)
83
+ # @option options [Integer] :delay (20)
84
+ # @option options [Proc] :before_attempt
85
+ # @option options [Proc] :before_wait
86
+ def initialize(options)
87
+ @client = options.fetch(:client)
88
+ @waiter = Aws::Waiters::Waiter.new({
89
+ max_attempts: 20,
90
+ delay: 20,
91
+ poller: Aws::Waiters::Poller.new(
92
+ operation_name: :describe_environments,
93
+ acceptors: [
94
+ {
95
+ "state" => "success",
96
+ "matcher" => "pathAll",
97
+ "argument" => "environments[].status",
98
+ "expected" => "Ready"
99
+ },
100
+ {
101
+ "state" => "retry",
102
+ "matcher" => "pathAll",
103
+ "argument" => "environments[].status",
104
+ "expected" => "Launching"
105
+ }
106
+ ]
107
+ )
108
+ }.merge(options))
109
+ end
110
+
111
+ # @option (see Client#describe_environments)
112
+ # @return (see Client#describe_environments)
113
+ def wait(params = {})
114
+ @waiter.wait(client: @client, params: params)
115
+ end
116
+
117
+ # @api private
118
+ attr_reader :waiter
119
+
120
+ end
121
+
122
+ class EnvironmentTerminated
123
+
124
+ # @param [Hash] options
125
+ # @option options [required, Client] :client
126
+ # @option options [Integer] :max_attempts (20)
127
+ # @option options [Integer] :delay (20)
128
+ # @option options [Proc] :before_attempt
129
+ # @option options [Proc] :before_wait
130
+ def initialize(options)
131
+ @client = options.fetch(:client)
132
+ @waiter = Aws::Waiters::Waiter.new({
133
+ max_attempts: 20,
134
+ delay: 20,
135
+ poller: Aws::Waiters::Poller.new(
136
+ operation_name: :describe_environments,
137
+ acceptors: [
138
+ {
139
+ "state" => "success",
140
+ "matcher" => "pathAll",
141
+ "argument" => "environments[].status",
142
+ "expected" => "Terminated"
143
+ },
144
+ {
145
+ "state" => "retry",
146
+ "matcher" => "pathAll",
147
+ "argument" => "environments[].status",
148
+ "expected" => "Terminating"
149
+ }
150
+ ]
151
+ )
152
+ }.merge(options))
153
+ end
154
+
155
+ # @option (see Client#describe_environments)
156
+ # @return (see Client#describe_environments)
157
+ def wait(params = {})
158
+ @waiter.wait(client: @client, params: params)
159
+ end
160
+
161
+ # @api private
162
+ attr_reader :waiter
163
+
164
+ end
165
+
166
+ class EnvironmentUpdated
167
+
168
+ # @param [Hash] options
169
+ # @option options [required, Client] :client
170
+ # @option options [Integer] :max_attempts (20)
171
+ # @option options [Integer] :delay (20)
172
+ # @option options [Proc] :before_attempt
173
+ # @option options [Proc] :before_wait
174
+ def initialize(options)
175
+ @client = options.fetch(:client)
176
+ @waiter = Aws::Waiters::Waiter.new({
177
+ max_attempts: 20,
178
+ delay: 20,
179
+ poller: Aws::Waiters::Poller.new(
180
+ operation_name: :describe_environments,
181
+ acceptors: [
182
+ {
183
+ "state" => "success",
184
+ "matcher" => "pathAll",
185
+ "argument" => "environments[].status",
186
+ "expected" => "Ready"
187
+ },
188
+ {
189
+ "state" => "retry",
190
+ "matcher" => "pathAll",
191
+ "argument" => "environments[].status",
192
+ "expected" => "Updating"
193
+ }
194
+ ]
195
+ )
196
+ }.merge(options))
197
+ end
198
+
199
+ # @option (see Client#describe_environments)
200
+ # @return (see Client#describe_environments)
201
+ def wait(params = {})
202
+ @waiter.wait(client: @client, params: params)
203
+ end
204
+
205
+ # @api private
206
+ attr_reader :waiter
207
+
208
+ end
209
+ end
210
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-elasticbeanstalk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.34.0
4
+ version: 1.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-02 00:00:00.000000000 Z
11
+ date: 2020-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -59,6 +59,7 @@ files:
59
59
  - lib/aws-sdk-elasticbeanstalk/errors.rb
60
60
  - lib/aws-sdk-elasticbeanstalk/resource.rb
61
61
  - lib/aws-sdk-elasticbeanstalk/types.rb
62
+ - lib/aws-sdk-elasticbeanstalk/waiters.rb
62
63
  homepage: https://github.com/aws/aws-sdk-ruby
63
64
  licenses:
64
65
  - Apache-2.0