aws-sdk-glacier 1.3.0 → 1.4.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
  SHA1:
3
- metadata.gz: f0ffb4f3d371e929b2b9b01e7beb62005a98ddc1
4
- data.tar.gz: 8176406a8b319bdc6a3d98280db0e25106f6acbf
3
+ metadata.gz: 84d45c295529fceba697ef874bc8bbb324fbed3f
4
+ data.tar.gz: af82813b68db23f6b3c2f6d9d06ebf3edbb2796d
5
5
  SHA512:
6
- metadata.gz: f85e3ceef61f867886692a9acade950d9a6e6ef8c2b5fb4da2522a5420d77ed2b1695830c7c325cb9ca48dec8209591b9a7a675d3ce9b988a705128c2a3f95ee
7
- data.tar.gz: 0f3c770900475bfa10d094df8e6f734c00a0f19402dc983f0d7580a5b57d24df366b8967413aad519327d2f18bbbd414925d1b757be6a488b35481d535aab7bf
6
+ metadata.gz: 3c084c8ce9ccc9f5eeced377dba0b85ed02312dbdc7251818b055022b500fe6837b0d010f201e29ecd5afbc301c78ab45a17f03361e9759b0f7518e6b08b0c9d
7
+ data.tar.gz: 86284fb974112ae3d79b443b26e5e6767a3557b1093bbb1fce337d412430f517c3ad6009671665bd79e329456f2edc4a21c0f9f7f3e8c9b34992a761f1a2dcd0
@@ -49,6 +49,6 @@ require_relative 'aws-sdk-glacier/customizations'
49
49
  # @service
50
50
  module Aws::Glacier
51
51
 
52
- GEM_VERSION = '1.3.0'
52
+ GEM_VERSION = '1.4.0'
53
53
 
54
54
  end
@@ -58,6 +58,101 @@ module Aws::Glacier
58
58
  !!@data
59
59
  end
60
60
 
61
+ # @deprecated Use [Aws::Glacier::Client] #wait_until instead
62
+ #
63
+ # Waiter polls an API operation until a resource enters a desired
64
+ # state.
65
+ #
66
+ # @note The waiting operation is performed on a copy. The original resource remains unchanged
67
+ #
68
+ # ## Basic Usage
69
+ #
70
+ # Waiter will polls until it is successful, it fails by
71
+ # entering a terminal state, or until a maximum number of attempts
72
+ # are made.
73
+ #
74
+ # # polls in a loop until condition is true
75
+ # resource.wait_until(options) {|resource| condition}
76
+ #
77
+ # ## Example
78
+ #
79
+ # instance.wait_until(max_attempts:10, delay:5) {|instance| instance.state.name == 'running' }
80
+ #
81
+ # ## Configuration
82
+ #
83
+ # You can configure the maximum number of polling attempts, and the
84
+ # delay (in seconds) between each polling attempt. The waiting condition is set
85
+ # by passing a block to {#wait_until}:
86
+ #
87
+ # # poll for ~25 seconds
88
+ # resource.wait_until(max_attempts:5,delay:5) {|resource|...}
89
+ #
90
+ # ## Callbacks
91
+ #
92
+ # You can be notified before each polling attempt and before each
93
+ # delay. If you throw `:success` or `:failure` from these callbacks,
94
+ # it will terminate the waiter.
95
+ #
96
+ # started_at = Time.now
97
+ # # poll for 1 hour, instead of a number of attempts
98
+ # proc = Proc.new do |attempts, response|
99
+ # throw :failure if Time.now - started_at > 3600
100
+ # end
101
+ #
102
+ # # disable max attempts
103
+ # instance.wait_until(before_wait:proc, max_attempts:nil) {...}
104
+ #
105
+ # ## Handling Errors
106
+ #
107
+ # When a waiter is successful, it returns the Resource. When a waiter
108
+ # fails, it raises an error.
109
+ #
110
+ # begin
111
+ # resource.wait_until(...)
112
+ # rescue Aws::Waiters::Errors::WaiterFailed
113
+ # # resource did not enter the desired state in time
114
+ # end
115
+ #
116
+ #
117
+ # @yield param [Resource] resource to be used in the waiting condition
118
+ #
119
+ # @raise [Aws::Waiters::Errors::FailureStateError] Raised when the waiter terminates
120
+ # because the waiter has entered a state that it will not transition
121
+ # out of, preventing success.
122
+ #
123
+ # yet successful.
124
+ #
125
+ # @raise [Aws::Waiters::Errors::UnexpectedError] Raised when an error is encountered
126
+ # while polling for a resource that is not expected.
127
+ #
128
+ # @raise [NotImplementedError] Raised when the resource does not
129
+ #
130
+ # @option options [Integer] :max_attempts (10) Maximum number of
131
+ # attempts
132
+ # @option options [Integer] :delay (10) Delay between each
133
+ # attempt in seconds
134
+ # @option options [Proc] :before_attempt (nil) Callback
135
+ # invoked before each attempt
136
+ # @option options [Proc] :before_wait (nil) Callback
137
+ # invoked before each wait
138
+ # @return [Resource] if the waiter was successful
139
+ def wait_until(options = {}, &block)
140
+ self_copy = self.dup
141
+ attempts = 0
142
+ options[:max_attempts] = 10 unless options.key?(:max_attempts)
143
+ options[:delay] ||= 10
144
+ options[:poller] = Proc.new do
145
+ attempts += 1
146
+ if block.call(self_copy)
147
+ [:success, self_copy]
148
+ else
149
+ self_copy.reload unless attempts == options[:max_attempts]
150
+ :retry
151
+ end
152
+ end
153
+ Aws::Waiters::Waiter.new(options).wait({})
154
+ end
155
+
61
156
  # @!group Actions
62
157
 
63
158
  # @example Request syntax with placeholder values
@@ -74,6 +74,101 @@ module Aws::Glacier
74
74
  !!@data
75
75
  end
76
76
 
77
+ # @deprecated Use [Aws::Glacier::Client] #wait_until instead
78
+ #
79
+ # Waiter polls an API operation until a resource enters a desired
80
+ # state.
81
+ #
82
+ # @note The waiting operation is performed on a copy. The original resource remains unchanged
83
+ #
84
+ # ## Basic Usage
85
+ #
86
+ # Waiter will polls until it is successful, it fails by
87
+ # entering a terminal state, or until a maximum number of attempts
88
+ # are made.
89
+ #
90
+ # # polls in a loop until condition is true
91
+ # resource.wait_until(options) {|resource| condition}
92
+ #
93
+ # ## Example
94
+ #
95
+ # instance.wait_until(max_attempts:10, delay:5) {|instance| instance.state.name == 'running' }
96
+ #
97
+ # ## Configuration
98
+ #
99
+ # You can configure the maximum number of polling attempts, and the
100
+ # delay (in seconds) between each polling attempt. The waiting condition is set
101
+ # by passing a block to {#wait_until}:
102
+ #
103
+ # # poll for ~25 seconds
104
+ # resource.wait_until(max_attempts:5,delay:5) {|resource|...}
105
+ #
106
+ # ## Callbacks
107
+ #
108
+ # You can be notified before each polling attempt and before each
109
+ # delay. If you throw `:success` or `:failure` from these callbacks,
110
+ # it will terminate the waiter.
111
+ #
112
+ # started_at = Time.now
113
+ # # poll for 1 hour, instead of a number of attempts
114
+ # proc = Proc.new do |attempts, response|
115
+ # throw :failure if Time.now - started_at > 3600
116
+ # end
117
+ #
118
+ # # disable max attempts
119
+ # instance.wait_until(before_wait:proc, max_attempts:nil) {...}
120
+ #
121
+ # ## Handling Errors
122
+ #
123
+ # When a waiter is successful, it returns the Resource. When a waiter
124
+ # fails, it raises an error.
125
+ #
126
+ # begin
127
+ # resource.wait_until(...)
128
+ # rescue Aws::Waiters::Errors::WaiterFailed
129
+ # # resource did not enter the desired state in time
130
+ # end
131
+ #
132
+ #
133
+ # @yield param [Resource] resource to be used in the waiting condition
134
+ #
135
+ # @raise [Aws::Waiters::Errors::FailureStateError] Raised when the waiter terminates
136
+ # because the waiter has entered a state that it will not transition
137
+ # out of, preventing success.
138
+ #
139
+ # yet successful.
140
+ #
141
+ # @raise [Aws::Waiters::Errors::UnexpectedError] Raised when an error is encountered
142
+ # while polling for a resource that is not expected.
143
+ #
144
+ # @raise [NotImplementedError] Raised when the resource does not
145
+ #
146
+ # @option options [Integer] :max_attempts (10) Maximum number of
147
+ # attempts
148
+ # @option options [Integer] :delay (10) Delay between each
149
+ # attempt in seconds
150
+ # @option options [Proc] :before_attempt (nil) Callback
151
+ # invoked before each attempt
152
+ # @option options [Proc] :before_wait (nil) Callback
153
+ # invoked before each wait
154
+ # @return [Resource] if the waiter was successful
155
+ def wait_until(options = {}, &block)
156
+ self_copy = self.dup
157
+ attempts = 0
158
+ options[:max_attempts] = 10 unless options.key?(:max_attempts)
159
+ options[:delay] ||= 10
160
+ options[:poller] = Proc.new do
161
+ attempts += 1
162
+ if block.call(self_copy)
163
+ [:success, self_copy]
164
+ else
165
+ self_copy.reload unless attempts == options[:max_attempts]
166
+ :retry
167
+ end
168
+ end
169
+ Aws::Waiters::Waiter.new(options).wait({})
170
+ end
171
+
77
172
  # @!group Actions
78
173
 
79
174
  # @example Request syntax with placeholder values
@@ -3213,7 +3213,7 @@ module Aws::Glacier
3213
3213
  params: params,
3214
3214
  config: config)
3215
3215
  context[:gem_name] = 'aws-sdk-glacier'
3216
- context[:gem_version] = '1.3.0'
3216
+ context[:gem_version] = '1.4.0'
3217
3217
  Seahorse::Client::Request.new(handlers, context)
3218
3218
  end
3219
3219
 
@@ -50,53 +50,53 @@ module Aws::Glacier
50
50
  # The job description you provided when you initiated the job.
51
51
  # @return [String]
52
52
  def job_description
53
- data.job_description
53
+ data[:job_description]
54
54
  end
55
55
 
56
56
  # The job type. It is either ArchiveRetrieval or InventoryRetrieval.
57
57
  # @return [String]
58
58
  def action
59
- data.action
59
+ data[:action]
60
60
  end
61
61
 
62
62
  # For an ArchiveRetrieval job, this is the archive ID requested for
63
63
  # download. Otherwise, this field is null.
64
64
  # @return [String]
65
65
  def archive_id
66
- data.archive_id
66
+ data[:archive_id]
67
67
  end
68
68
 
69
69
  # The Amazon Resource Name (ARN) of the vault from which the archive
70
70
  # retrieval was requested.
71
71
  # @return [String]
72
72
  def vault_arn
73
- data.vault_arn
73
+ data[:vault_arn]
74
74
  end
75
75
 
76
76
  # The UTC date when the job was created. A string representation of ISO
77
77
  # 8601 date format, for example, "2012-03-20T17:03:43.221Z".
78
78
  # @return [Time]
79
79
  def creation_date
80
- data.creation_date
80
+ data[:creation_date]
81
81
  end
82
82
 
83
83
  # The job status. When a job is completed, you get the job's output.
84
84
  # @return [Boolean]
85
85
  def completed
86
- data.completed
86
+ data[:completed]
87
87
  end
88
88
 
89
89
  # The status code can be InProgress, Succeeded, or Failed, and indicates
90
90
  # the status of the job.
91
91
  # @return [String]
92
92
  def status_code
93
- data.status_code
93
+ data[:status_code]
94
94
  end
95
95
 
96
96
  # A friendly message that describes the job status.
97
97
  # @return [String]
98
98
  def status_message
99
- data.status_message
99
+ data[:status_message]
100
100
  end
101
101
 
102
102
  # For an ArchiveRetrieval job, this is the size in bytes of the archive
@@ -104,7 +104,7 @@ module Aws::Glacier
104
104
  # value is null.
105
105
  # @return [Integer]
106
106
  def archive_size_in_bytes
107
- data.archive_size_in_bytes
107
+ data[:archive_size_in_bytes]
108
108
  end
109
109
 
110
110
  # For an InventoryRetrieval job, this is the size in bytes of the
@@ -112,21 +112,21 @@ module Aws::Glacier
112
112
  # value is null.
113
113
  # @return [Integer]
114
114
  def inventory_size_in_bytes
115
- data.inventory_size_in_bytes
115
+ data[:inventory_size_in_bytes]
116
116
  end
117
117
 
118
118
  # An Amazon Simple Notification Service (Amazon SNS) topic that receives
119
119
  # notification.
120
120
  # @return [String]
121
121
  def sns_topic
122
- data.sns_topic
122
+ data[:sns_topic]
123
123
  end
124
124
 
125
125
  # The UTC time that the archive retrieval request completed. While the
126
126
  # job is in progress, the value will be null.
127
127
  # @return [Time]
128
128
  def completion_date
129
- data.completion_date
129
+ data[:completion_date]
130
130
  end
131
131
 
132
132
  # For an ArchiveRetrieval job, it is the checksum of the archive.
@@ -158,14 +158,14 @@ module Aws::Glacier
158
158
  # ^
159
159
  # @return [String]
160
160
  def sha256_tree_hash
161
- data.sha256_tree_hash
161
+ data[:sha256_tree_hash]
162
162
  end
163
163
 
164
164
  # The SHA256 tree hash of the entire archive for an archive retrieval.
165
165
  # For inventory retrieval jobs, this field is null.
166
166
  # @return [String]
167
167
  def archive_sha256_tree_hash
168
- data.archive_sha256_tree_hash
168
+ data[:archive_sha256_tree_hash]
169
169
  end
170
170
 
171
171
  # The retrieved byte range for archive retrieval jobs in the form
@@ -175,20 +175,20 @@ module Aws::Glacier
175
175
  # archive minus 1. For inventory retrieval jobs this field is null.
176
176
  # @return [String]
177
177
  def retrieval_byte_range
178
- data.retrieval_byte_range
178
+ data[:retrieval_byte_range]
179
179
  end
180
180
 
181
181
  # The retrieval option to use for the archive retrieval. Valid values
182
182
  # are `Expedited`, `Standard`, or `Bulk`. `Standard` is the default.
183
183
  # @return [String]
184
184
  def tier
185
- data.tier
185
+ data[:tier]
186
186
  end
187
187
 
188
188
  # Parameters used for range inventory retrieval.
189
189
  # @return [Types::InventoryRetrievalJobDescription]
190
190
  def inventory_retrieval_parameters
191
- data.inventory_retrieval_parameters
191
+ data[:inventory_retrieval_parameters]
192
192
  end
193
193
 
194
194
  # @!endgroup
@@ -230,6 +230,101 @@ module Aws::Glacier
230
230
  !!@data
231
231
  end
232
232
 
233
+ # @deprecated Use [Aws::Glacier::Client] #wait_until instead
234
+ #
235
+ # Waiter polls an API operation until a resource enters a desired
236
+ # state.
237
+ #
238
+ # @note The waiting operation is performed on a copy. The original resource remains unchanged
239
+ #
240
+ # ## Basic Usage
241
+ #
242
+ # Waiter will polls until it is successful, it fails by
243
+ # entering a terminal state, or until a maximum number of attempts
244
+ # are made.
245
+ #
246
+ # # polls in a loop until condition is true
247
+ # resource.wait_until(options) {|resource| condition}
248
+ #
249
+ # ## Example
250
+ #
251
+ # instance.wait_until(max_attempts:10, delay:5) {|instance| instance.state.name == 'running' }
252
+ #
253
+ # ## Configuration
254
+ #
255
+ # You can configure the maximum number of polling attempts, and the
256
+ # delay (in seconds) between each polling attempt. The waiting condition is set
257
+ # by passing a block to {#wait_until}:
258
+ #
259
+ # # poll for ~25 seconds
260
+ # resource.wait_until(max_attempts:5,delay:5) {|resource|...}
261
+ #
262
+ # ## Callbacks
263
+ #
264
+ # You can be notified before each polling attempt and before each
265
+ # delay. If you throw `:success` or `:failure` from these callbacks,
266
+ # it will terminate the waiter.
267
+ #
268
+ # started_at = Time.now
269
+ # # poll for 1 hour, instead of a number of attempts
270
+ # proc = Proc.new do |attempts, response|
271
+ # throw :failure if Time.now - started_at > 3600
272
+ # end
273
+ #
274
+ # # disable max attempts
275
+ # instance.wait_until(before_wait:proc, max_attempts:nil) {...}
276
+ #
277
+ # ## Handling Errors
278
+ #
279
+ # When a waiter is successful, it returns the Resource. When a waiter
280
+ # fails, it raises an error.
281
+ #
282
+ # begin
283
+ # resource.wait_until(...)
284
+ # rescue Aws::Waiters::Errors::WaiterFailed
285
+ # # resource did not enter the desired state in time
286
+ # end
287
+ #
288
+ #
289
+ # @yield param [Resource] resource to be used in the waiting condition
290
+ #
291
+ # @raise [Aws::Waiters::Errors::FailureStateError] Raised when the waiter terminates
292
+ # because the waiter has entered a state that it will not transition
293
+ # out of, preventing success.
294
+ #
295
+ # yet successful.
296
+ #
297
+ # @raise [Aws::Waiters::Errors::UnexpectedError] Raised when an error is encountered
298
+ # while polling for a resource that is not expected.
299
+ #
300
+ # @raise [NotImplementedError] Raised when the resource does not
301
+ #
302
+ # @option options [Integer] :max_attempts (10) Maximum number of
303
+ # attempts
304
+ # @option options [Integer] :delay (10) Delay between each
305
+ # attempt in seconds
306
+ # @option options [Proc] :before_attempt (nil) Callback
307
+ # invoked before each attempt
308
+ # @option options [Proc] :before_wait (nil) Callback
309
+ # invoked before each wait
310
+ # @return [Resource] if the waiter was successful
311
+ def wait_until(options = {}, &block)
312
+ self_copy = self.dup
313
+ attempts = 0
314
+ options[:max_attempts] = 10 unless options.key?(:max_attempts)
315
+ options[:delay] ||= 10
316
+ options[:poller] = Proc.new do
317
+ attempts += 1
318
+ if block.call(self_copy)
319
+ [:success, self_copy]
320
+ else
321
+ self_copy.reload unless attempts == options[:max_attempts]
322
+ :retry
323
+ end
324
+ end
325
+ Aws::Waiters::Waiter.new(options).wait({})
326
+ end
327
+
233
328
  # @!group Actions
234
329
 
235
330
  # @example Request syntax with placeholder values
@@ -50,14 +50,14 @@ module Aws::Glacier
50
50
  # The Amazon Resource Name (ARN) of the vault that contains the archive.
51
51
  # @return [String]
52
52
  def vault_arn
53
- data.vault_arn
53
+ data[:vault_arn]
54
54
  end
55
55
 
56
56
  # The description of the archive that was specified in the Initiate
57
57
  # Multipart Upload request.
58
58
  # @return [String]
59
59
  def archive_description
60
- data.archive_description
60
+ data[:archive_description]
61
61
  end
62
62
 
63
63
  # The part size, in bytes, specified in the Initiate Multipart Upload
@@ -65,13 +65,13 @@ module Aws::Glacier
65
65
  # last part, which may be smaller than this size.
66
66
  # @return [Integer]
67
67
  def part_size_in_bytes
68
- data.part_size_in_bytes
68
+ data[:part_size_in_bytes]
69
69
  end
70
70
 
71
71
  # The UTC time at which the multipart upload was initiated.
72
72
  # @return [Time]
73
73
  def creation_date
74
- data.creation_date
74
+ data[:creation_date]
75
75
  end
76
76
 
77
77
  # @!endgroup
@@ -104,6 +104,101 @@ module Aws::Glacier
104
104
  !!@data
105
105
  end
106
106
 
107
+ # @deprecated Use [Aws::Glacier::Client] #wait_until instead
108
+ #
109
+ # Waiter polls an API operation until a resource enters a desired
110
+ # state.
111
+ #
112
+ # @note The waiting operation is performed on a copy. The original resource remains unchanged
113
+ #
114
+ # ## Basic Usage
115
+ #
116
+ # Waiter will polls until it is successful, it fails by
117
+ # entering a terminal state, or until a maximum number of attempts
118
+ # are made.
119
+ #
120
+ # # polls in a loop until condition is true
121
+ # resource.wait_until(options) {|resource| condition}
122
+ #
123
+ # ## Example
124
+ #
125
+ # instance.wait_until(max_attempts:10, delay:5) {|instance| instance.state.name == 'running' }
126
+ #
127
+ # ## Configuration
128
+ #
129
+ # You can configure the maximum number of polling attempts, and the
130
+ # delay (in seconds) between each polling attempt. The waiting condition is set
131
+ # by passing a block to {#wait_until}:
132
+ #
133
+ # # poll for ~25 seconds
134
+ # resource.wait_until(max_attempts:5,delay:5) {|resource|...}
135
+ #
136
+ # ## Callbacks
137
+ #
138
+ # You can be notified before each polling attempt and before each
139
+ # delay. If you throw `:success` or `:failure` from these callbacks,
140
+ # it will terminate the waiter.
141
+ #
142
+ # started_at = Time.now
143
+ # # poll for 1 hour, instead of a number of attempts
144
+ # proc = Proc.new do |attempts, response|
145
+ # throw :failure if Time.now - started_at > 3600
146
+ # end
147
+ #
148
+ # # disable max attempts
149
+ # instance.wait_until(before_wait:proc, max_attempts:nil) {...}
150
+ #
151
+ # ## Handling Errors
152
+ #
153
+ # When a waiter is successful, it returns the Resource. When a waiter
154
+ # fails, it raises an error.
155
+ #
156
+ # begin
157
+ # resource.wait_until(...)
158
+ # rescue Aws::Waiters::Errors::WaiterFailed
159
+ # # resource did not enter the desired state in time
160
+ # end
161
+ #
162
+ #
163
+ # @yield param [Resource] resource to be used in the waiting condition
164
+ #
165
+ # @raise [Aws::Waiters::Errors::FailureStateError] Raised when the waiter terminates
166
+ # because the waiter has entered a state that it will not transition
167
+ # out of, preventing success.
168
+ #
169
+ # yet successful.
170
+ #
171
+ # @raise [Aws::Waiters::Errors::UnexpectedError] Raised when an error is encountered
172
+ # while polling for a resource that is not expected.
173
+ #
174
+ # @raise [NotImplementedError] Raised when the resource does not
175
+ #
176
+ # @option options [Integer] :max_attempts (10) Maximum number of
177
+ # attempts
178
+ # @option options [Integer] :delay (10) Delay between each
179
+ # attempt in seconds
180
+ # @option options [Proc] :before_attempt (nil) Callback
181
+ # invoked before each attempt
182
+ # @option options [Proc] :before_wait (nil) Callback
183
+ # invoked before each wait
184
+ # @return [Resource] if the waiter was successful
185
+ def wait_until(options = {}, &block)
186
+ self_copy = self.dup
187
+ attempts = 0
188
+ options[:max_attempts] = 10 unless options.key?(:max_attempts)
189
+ options[:delay] ||= 10
190
+ options[:poller] = Proc.new do
191
+ attempts += 1
192
+ if block.call(self_copy)
193
+ [:success, self_copy]
194
+ else
195
+ self_copy.reload unless attempts == options[:max_attempts]
196
+ :retry
197
+ end
198
+ end
199
+ Aws::Waiters::Waiter.new(options).wait({})
200
+ end
201
+
107
202
  # @!group Actions
108
203
 
109
204
  # @example Request syntax with placeholder values
@@ -42,14 +42,14 @@ module Aws::Glacier
42
42
  # Resource Name (ARN).
43
43
  # @return [String]
44
44
  def sns_topic
45
- data.sns_topic
45
+ data[:sns_topic]
46
46
  end
47
47
 
48
48
  # A list of one or more events for which Amazon Glacier will send a
49
49
  # notification to the specified Amazon SNS topic.
50
50
  # @return [Array<String>]
51
51
  def events
52
- data.events
52
+ data[:events]
53
53
  end
54
54
 
55
55
  # @!endgroup
@@ -90,6 +90,101 @@ module Aws::Glacier
90
90
  !!@data
91
91
  end
92
92
 
93
+ # @deprecated Use [Aws::Glacier::Client] #wait_until instead
94
+ #
95
+ # Waiter polls an API operation until a resource enters a desired
96
+ # state.
97
+ #
98
+ # @note The waiting operation is performed on a copy. The original resource remains unchanged
99
+ #
100
+ # ## Basic Usage
101
+ #
102
+ # Waiter will polls until it is successful, it fails by
103
+ # entering a terminal state, or until a maximum number of attempts
104
+ # are made.
105
+ #
106
+ # # polls in a loop until condition is true
107
+ # resource.wait_until(options) {|resource| condition}
108
+ #
109
+ # ## Example
110
+ #
111
+ # instance.wait_until(max_attempts:10, delay:5) {|instance| instance.state.name == 'running' }
112
+ #
113
+ # ## Configuration
114
+ #
115
+ # You can configure the maximum number of polling attempts, and the
116
+ # delay (in seconds) between each polling attempt. The waiting condition is set
117
+ # by passing a block to {#wait_until}:
118
+ #
119
+ # # poll for ~25 seconds
120
+ # resource.wait_until(max_attempts:5,delay:5) {|resource|...}
121
+ #
122
+ # ## Callbacks
123
+ #
124
+ # You can be notified before each polling attempt and before each
125
+ # delay. If you throw `:success` or `:failure` from these callbacks,
126
+ # it will terminate the waiter.
127
+ #
128
+ # started_at = Time.now
129
+ # # poll for 1 hour, instead of a number of attempts
130
+ # proc = Proc.new do |attempts, response|
131
+ # throw :failure if Time.now - started_at > 3600
132
+ # end
133
+ #
134
+ # # disable max attempts
135
+ # instance.wait_until(before_wait:proc, max_attempts:nil) {...}
136
+ #
137
+ # ## Handling Errors
138
+ #
139
+ # When a waiter is successful, it returns the Resource. When a waiter
140
+ # fails, it raises an error.
141
+ #
142
+ # begin
143
+ # resource.wait_until(...)
144
+ # rescue Aws::Waiters::Errors::WaiterFailed
145
+ # # resource did not enter the desired state in time
146
+ # end
147
+ #
148
+ #
149
+ # @yield param [Resource] resource to be used in the waiting condition
150
+ #
151
+ # @raise [Aws::Waiters::Errors::FailureStateError] Raised when the waiter terminates
152
+ # because the waiter has entered a state that it will not transition
153
+ # out of, preventing success.
154
+ #
155
+ # yet successful.
156
+ #
157
+ # @raise [Aws::Waiters::Errors::UnexpectedError] Raised when an error is encountered
158
+ # while polling for a resource that is not expected.
159
+ #
160
+ # @raise [NotImplementedError] Raised when the resource does not
161
+ #
162
+ # @option options [Integer] :max_attempts (10) Maximum number of
163
+ # attempts
164
+ # @option options [Integer] :delay (10) Delay between each
165
+ # attempt in seconds
166
+ # @option options [Proc] :before_attempt (nil) Callback
167
+ # invoked before each attempt
168
+ # @option options [Proc] :before_wait (nil) Callback
169
+ # invoked before each wait
170
+ # @return [Resource] if the waiter was successful
171
+ def wait_until(options = {}, &block)
172
+ self_copy = self.dup
173
+ attempts = 0
174
+ options[:max_attempts] = 10 unless options.key?(:max_attempts)
175
+ options[:delay] ||= 10
176
+ options[:poller] = Proc.new do
177
+ attempts += 1
178
+ if block.call(self_copy)
179
+ [:success, self_copy]
180
+ else
181
+ self_copy.reload unless attempts == options[:max_attempts]
182
+ :retry
183
+ end
184
+ end
185
+ Aws::Waiters::Waiter.new(options).wait({})
186
+ end
187
+
93
188
  # @!group Actions
94
189
 
95
190
  # @example Request syntax with placeholder values
@@ -42,7 +42,7 @@ module Aws::Glacier
42
42
  # The Amazon Resource Name (ARN) of the vault.
43
43
  # @return [String]
44
44
  def vault_arn
45
- data.vault_arn
45
+ data[:vault_arn]
46
46
  end
47
47
 
48
48
  # The Universal Coordinated Time (UTC) date when the vault was created.
@@ -50,7 +50,7 @@ module Aws::Glacier
50
50
  # `2012-03-20T17:03:43.221Z`.
51
51
  # @return [Time]
52
52
  def creation_date
53
- data.creation_date
53
+ data[:creation_date]
54
54
  end
55
55
 
56
56
  # The Universal Coordinated Time (UTC) date when Amazon Glacier
@@ -58,7 +58,7 @@ module Aws::Glacier
58
58
  # the ISO 8601 date format, for example `2012-03-20T17:03:43.221Z`.
59
59
  # @return [Time]
60
60
  def last_inventory_date
61
- data.last_inventory_date
61
+ data[:last_inventory_date]
62
62
  end
63
63
 
64
64
  # The number of archives in the vault as of the last inventory date.
@@ -66,7 +66,7 @@ module Aws::Glacier
66
66
  # vault, for example if you just created the vault.
67
67
  # @return [Integer]
68
68
  def number_of_archives
69
- data.number_of_archives
69
+ data[:number_of_archives]
70
70
  end
71
71
 
72
72
  # Total size, in bytes, of the archives in the vault as of the last
@@ -74,7 +74,7 @@ module Aws::Glacier
74
74
  # yet run on the vault, for example if you just created the vault.
75
75
  # @return [Integer]
76
76
  def size_in_bytes
77
- data.size_in_bytes
77
+ data[:size_in_bytes]
78
78
  end
79
79
 
80
80
  # @!endgroup
@@ -115,6 +115,101 @@ module Aws::Glacier
115
115
  !!@data
116
116
  end
117
117
 
118
+ # @deprecated Use [Aws::Glacier::Client] #wait_until instead
119
+ #
120
+ # Waiter polls an API operation until a resource enters a desired
121
+ # state.
122
+ #
123
+ # @note The waiting operation is performed on a copy. The original resource remains unchanged
124
+ #
125
+ # ## Basic Usage
126
+ #
127
+ # Waiter will polls until it is successful, it fails by
128
+ # entering a terminal state, or until a maximum number of attempts
129
+ # are made.
130
+ #
131
+ # # polls in a loop until condition is true
132
+ # resource.wait_until(options) {|resource| condition}
133
+ #
134
+ # ## Example
135
+ #
136
+ # instance.wait_until(max_attempts:10, delay:5) {|instance| instance.state.name == 'running' }
137
+ #
138
+ # ## Configuration
139
+ #
140
+ # You can configure the maximum number of polling attempts, and the
141
+ # delay (in seconds) between each polling attempt. The waiting condition is set
142
+ # by passing a block to {#wait_until}:
143
+ #
144
+ # # poll for ~25 seconds
145
+ # resource.wait_until(max_attempts:5,delay:5) {|resource|...}
146
+ #
147
+ # ## Callbacks
148
+ #
149
+ # You can be notified before each polling attempt and before each
150
+ # delay. If you throw `:success` or `:failure` from these callbacks,
151
+ # it will terminate the waiter.
152
+ #
153
+ # started_at = Time.now
154
+ # # poll for 1 hour, instead of a number of attempts
155
+ # proc = Proc.new do |attempts, response|
156
+ # throw :failure if Time.now - started_at > 3600
157
+ # end
158
+ #
159
+ # # disable max attempts
160
+ # instance.wait_until(before_wait:proc, max_attempts:nil) {...}
161
+ #
162
+ # ## Handling Errors
163
+ #
164
+ # When a waiter is successful, it returns the Resource. When a waiter
165
+ # fails, it raises an error.
166
+ #
167
+ # begin
168
+ # resource.wait_until(...)
169
+ # rescue Aws::Waiters::Errors::WaiterFailed
170
+ # # resource did not enter the desired state in time
171
+ # end
172
+ #
173
+ #
174
+ # @yield param [Resource] resource to be used in the waiting condition
175
+ #
176
+ # @raise [Aws::Waiters::Errors::FailureStateError] Raised when the waiter terminates
177
+ # because the waiter has entered a state that it will not transition
178
+ # out of, preventing success.
179
+ #
180
+ # yet successful.
181
+ #
182
+ # @raise [Aws::Waiters::Errors::UnexpectedError] Raised when an error is encountered
183
+ # while polling for a resource that is not expected.
184
+ #
185
+ # @raise [NotImplementedError] Raised when the resource does not
186
+ #
187
+ # @option options [Integer] :max_attempts (10) Maximum number of
188
+ # attempts
189
+ # @option options [Integer] :delay (10) Delay between each
190
+ # attempt in seconds
191
+ # @option options [Proc] :before_attempt (nil) Callback
192
+ # invoked before each attempt
193
+ # @option options [Proc] :before_wait (nil) Callback
194
+ # invoked before each wait
195
+ # @return [Resource] if the waiter was successful
196
+ def wait_until(options = {}, &block)
197
+ self_copy = self.dup
198
+ attempts = 0
199
+ options[:max_attempts] = 10 unless options.key?(:max_attempts)
200
+ options[:delay] ||= 10
201
+ options[:poller] = Proc.new do
202
+ attempts += 1
203
+ if block.call(self_copy)
204
+ [:success, self_copy]
205
+ else
206
+ self_copy.reload unless attempts == options[:max_attempts]
207
+ :retry
208
+ end
209
+ end
210
+ Aws::Waiters::Waiter.new(options).wait({})
211
+ end
212
+
118
213
  # @!group Actions
119
214
 
120
215
  # @example Request syntax with placeholder values
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-glacier
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.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: 2017-09-13 00:00:00.000000000 Z
11
+ date: 2017-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core