aws-sdk-elasticbeanstalk 1.34.0 → 1.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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