aws-sdk-glacier 1.48.0 → 1.50.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-glacier/account.rb +9 -3
- data/lib/aws-sdk-glacier/archive.rb +9 -3
- data/lib/aws-sdk-glacier/client.rb +6 -1
- data/lib/aws-sdk-glacier/endpoint_parameters.rb +3 -0
- data/lib/aws-sdk-glacier/endpoint_provider.rb +10 -1
- data/lib/aws-sdk-glacier/job.rb +9 -3
- data/lib/aws-sdk-glacier/multipart_upload.rb +15 -5
- data/lib/aws-sdk-glacier/notification.rb +12 -4
- data/lib/aws-sdk-glacier/resource.rb +6 -2
- data/lib/aws-sdk-glacier/vault.rb +39 -13
- data/lib/aws-sdk-glacier.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b9fbba3cf0e96a210ad928b94c75c4727c49877bd4974c6889293229abf30be
|
4
|
+
data.tar.gz: bc371ea4e7f46757dc866d03175146418553732880d60b4082e73acc2ec87dfa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6681a96110a959397317934b738ee124b1fe740a1a2628eb55d94354884a66f999ddf4568a9f5a9c1d222d413cae7215911a2114daeb219936bf104fab5ec880
|
7
|
+
data.tar.gz: eee71d209715b66bb52d868244cb2454abcd09405af513c038341c7867123e9307752efca4a418cc9a6af67775349777ccf1a123d3379f091fc7a63738c2ba38
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,16 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.50.0 (2023-05-31)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
8
|
+
|
9
|
+
1.49.0 (2023-01-27)
|
10
|
+
------------------
|
11
|
+
|
12
|
+
* Feature - Enabled FIPS endpoints for GovCloud (US) regions in SDK.
|
13
|
+
|
4
14
|
1.48.0 (2023-01-18)
|
5
15
|
------------------
|
6
16
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.50.0
|
@@ -156,7 +156,9 @@ module Aws::Glacier
|
|
156
156
|
:retry
|
157
157
|
end
|
158
158
|
end
|
159
|
-
Aws::
|
159
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
160
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
161
|
+
end
|
160
162
|
end
|
161
163
|
|
162
164
|
# @!group Actions
|
@@ -172,7 +174,9 @@ module Aws::Glacier
|
|
172
174
|
# @return [Vault]
|
173
175
|
def create_vault(options = {})
|
174
176
|
options = options.merge(account_id: @id)
|
175
|
-
|
177
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
178
|
+
@client.create_vault(options)
|
179
|
+
end
|
176
180
|
Vault.new(
|
177
181
|
account_id: @id,
|
178
182
|
name: options[:vault_name],
|
@@ -200,7 +204,9 @@ module Aws::Glacier
|
|
200
204
|
def vaults(options = {})
|
201
205
|
batches = Enumerator.new do |y|
|
202
206
|
options = options.merge(account_id: @id)
|
203
|
-
resp =
|
207
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
208
|
+
@client.list_vaults(options)
|
209
|
+
end
|
204
210
|
resp.each_page do |page|
|
205
211
|
batch = []
|
206
212
|
page.data.vault_list.each do |v|
|
@@ -172,7 +172,9 @@ module Aws::Glacier
|
|
172
172
|
:retry
|
173
173
|
end
|
174
174
|
end
|
175
|
-
Aws::
|
175
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
176
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
177
|
+
end
|
176
178
|
end
|
177
179
|
|
178
180
|
# @!group Actions
|
@@ -188,7 +190,9 @@ module Aws::Glacier
|
|
188
190
|
vault_name: @vault_name,
|
189
191
|
archive_id: @id
|
190
192
|
)
|
191
|
-
resp =
|
193
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
194
|
+
@client.delete_archive(options)
|
195
|
+
end
|
192
196
|
resp.data
|
193
197
|
end
|
194
198
|
|
@@ -206,7 +210,9 @@ module Aws::Glacier
|
|
206
210
|
archive_id: @id
|
207
211
|
}
|
208
212
|
)
|
209
|
-
resp =
|
213
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
214
|
+
@client.initiate_job(options)
|
215
|
+
end
|
210
216
|
Job.new(
|
211
217
|
id: resp.data.job_id,
|
212
218
|
account_id: @account_id,
|
@@ -286,6 +286,11 @@ module Aws::Glacier
|
|
286
286
|
# in the future.
|
287
287
|
#
|
288
288
|
#
|
289
|
+
# @option options [String] :sdk_ua_app_id
|
290
|
+
# A unique and opaque application ID that is appended to the
|
291
|
+
# User-Agent header as app/<sdk_ua_app_id>. It should have a
|
292
|
+
# maximum length of 50.
|
293
|
+
#
|
289
294
|
# @option options [String] :secret_access_key
|
290
295
|
#
|
291
296
|
# @option options [String] :session_token
|
@@ -3419,7 +3424,7 @@ module Aws::Glacier
|
|
3419
3424
|
params: params,
|
3420
3425
|
config: config)
|
3421
3426
|
context[:gem_name] = 'aws-sdk-glacier'
|
3422
|
-
context[:gem_version] = '1.
|
3427
|
+
context[:gem_version] = '1.50.0'
|
3423
3428
|
Seahorse::Client::Request.new(handlers, context)
|
3424
3429
|
end
|
3425
3430
|
|
@@ -50,6 +50,9 @@ module Aws::Glacier
|
|
50
50
|
|
51
51
|
def initialize(options = {})
|
52
52
|
self[:region] = options[:region]
|
53
|
+
if self[:region].nil?
|
54
|
+
raise ArgumentError, "Missing required EndpointParameter: :region"
|
55
|
+
end
|
53
56
|
self[:use_dual_stack] = options[:use_dual_stack]
|
54
57
|
self[:use_dual_stack] = false if self[:use_dual_stack].nil?
|
55
58
|
if self[:use_dual_stack].nil?
|
@@ -15,7 +15,7 @@ module Aws::Glacier
|
|
15
15
|
use_fips = parameters.use_fips
|
16
16
|
endpoint = parameters.endpoint
|
17
17
|
if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
|
18
|
-
if Aws::Endpoints::Matchers.set?(endpoint)
|
18
|
+
if Aws::Endpoints::Matchers.set?(endpoint)
|
19
19
|
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
20
20
|
raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
|
21
21
|
end
|
@@ -32,6 +32,9 @@ module Aws::Glacier
|
|
32
32
|
end
|
33
33
|
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
34
34
|
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
|
35
|
+
if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
|
36
|
+
return Aws::Endpoints::Endpoint.new(url: "https://glacier.#{region}.amazonaws.com", headers: {}, properties: {})
|
37
|
+
end
|
35
38
|
return Aws::Endpoints::Endpoint.new(url: "https://glacier-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
36
39
|
end
|
37
40
|
raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
|
@@ -42,6 +45,12 @@ module Aws::Glacier
|
|
42
45
|
end
|
43
46
|
raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
|
44
47
|
end
|
48
|
+
if Aws::Endpoints::Matchers.string_equals?(region, "us-gov-east-1")
|
49
|
+
return Aws::Endpoints::Endpoint.new(url: "https://glacier.us-gov-east-1.amazonaws.com", headers: {}, properties: {})
|
50
|
+
end
|
51
|
+
if Aws::Endpoints::Matchers.string_equals?(region, "us-gov-west-1")
|
52
|
+
return Aws::Endpoints::Endpoint.new(url: "https://glacier.us-gov-west-1.amazonaws.com", headers: {}, properties: {})
|
53
|
+
end
|
45
54
|
return Aws::Endpoints::Endpoint.new(url: "https://glacier.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
46
55
|
end
|
47
56
|
raise ArgumentError, 'No endpoint could be resolved'
|
data/lib/aws-sdk-glacier/job.rb
CHANGED
@@ -230,11 +230,13 @@ module Aws::Glacier
|
|
230
230
|
#
|
231
231
|
# @return [self]
|
232
232
|
def load
|
233
|
-
resp =
|
233
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
234
|
+
@client.describe_job(
|
234
235
|
account_id: @account_id,
|
235
236
|
vault_name: @vault_name,
|
236
237
|
job_id: @id
|
237
238
|
)
|
239
|
+
end
|
238
240
|
@data = resp.data
|
239
241
|
self
|
240
242
|
end
|
@@ -349,7 +351,9 @@ module Aws::Glacier
|
|
349
351
|
:retry
|
350
352
|
end
|
351
353
|
end
|
352
|
-
Aws::
|
354
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
355
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
356
|
+
end
|
353
357
|
end
|
354
358
|
|
355
359
|
# @!group Actions
|
@@ -399,7 +403,9 @@ module Aws::Glacier
|
|
399
403
|
vault_name: @vault_name,
|
400
404
|
job_id: @id
|
401
405
|
)
|
402
|
-
resp =
|
406
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
407
|
+
@client.get_job_output(options, &block)
|
408
|
+
end
|
403
409
|
resp.data
|
404
410
|
end
|
405
411
|
|
@@ -202,7 +202,9 @@ module Aws::Glacier
|
|
202
202
|
:retry
|
203
203
|
end
|
204
204
|
end
|
205
|
-
Aws::
|
205
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
206
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
207
|
+
end
|
206
208
|
end
|
207
209
|
|
208
210
|
# @!group Actions
|
@@ -218,7 +220,9 @@ module Aws::Glacier
|
|
218
220
|
vault_name: @vault_name,
|
219
221
|
upload_id: @id
|
220
222
|
)
|
221
|
-
resp =
|
223
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
224
|
+
@client.abort_multipart_upload(options)
|
225
|
+
end
|
222
226
|
resp.data
|
223
227
|
end
|
224
228
|
|
@@ -245,7 +249,9 @@ module Aws::Glacier
|
|
245
249
|
vault_name: @vault_name,
|
246
250
|
upload_id: @id
|
247
251
|
)
|
248
|
-
resp =
|
252
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
253
|
+
@client.complete_multipart_upload(options)
|
254
|
+
end
|
249
255
|
resp.data
|
250
256
|
end
|
251
257
|
|
@@ -273,7 +279,9 @@ module Aws::Glacier
|
|
273
279
|
vault_name: @vault_name,
|
274
280
|
upload_id: @id
|
275
281
|
)
|
276
|
-
resp =
|
282
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
283
|
+
@client.list_parts(options)
|
284
|
+
end
|
277
285
|
resp.data
|
278
286
|
end
|
279
287
|
|
@@ -302,7 +310,9 @@ module Aws::Glacier
|
|
302
310
|
vault_name: @vault_name,
|
303
311
|
upload_id: @id
|
304
312
|
)
|
305
|
-
resp =
|
313
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
314
|
+
@client.upload_multipart_part(options)
|
315
|
+
end
|
306
316
|
resp.data
|
307
317
|
end
|
308
318
|
|
@@ -70,10 +70,12 @@ module Aws::Glacier
|
|
70
70
|
#
|
71
71
|
# @return [self]
|
72
72
|
def load
|
73
|
-
resp =
|
73
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
74
|
+
@client.get_vault_notifications(
|
74
75
|
account_id: @account_id,
|
75
76
|
vault_name: @vault_name
|
76
77
|
)
|
78
|
+
end
|
77
79
|
@data = resp.vault_notification_config
|
78
80
|
self
|
79
81
|
end
|
@@ -188,7 +190,9 @@ module Aws::Glacier
|
|
188
190
|
:retry
|
189
191
|
end
|
190
192
|
end
|
191
|
-
Aws::
|
193
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
194
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
195
|
+
end
|
192
196
|
end
|
193
197
|
|
194
198
|
# @!group Actions
|
@@ -203,7 +207,9 @@ module Aws::Glacier
|
|
203
207
|
account_id: @account_id,
|
204
208
|
vault_name: @vault_name
|
205
209
|
)
|
206
|
-
resp =
|
210
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
211
|
+
@client.delete_vault_notifications(options)
|
212
|
+
end
|
207
213
|
resp.data
|
208
214
|
end
|
209
215
|
|
@@ -224,7 +230,9 @@ module Aws::Glacier
|
|
224
230
|
account_id: @account_id,
|
225
231
|
vault_name: @vault_name
|
226
232
|
)
|
227
|
-
resp =
|
233
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
234
|
+
@client.set_vault_notifications(options)
|
235
|
+
end
|
228
236
|
resp.data
|
229
237
|
end
|
230
238
|
|
@@ -46,7 +46,9 @@ module Aws::Glacier
|
|
46
46
|
# @return [Vault]
|
47
47
|
def create_vault(options = {})
|
48
48
|
options = options.merge(account_id: "-")
|
49
|
-
|
49
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
50
|
+
@client.create_vault(options)
|
51
|
+
end
|
50
52
|
Vault.new(
|
51
53
|
account_id: options[:account_id],
|
52
54
|
name: options[:vault_name],
|
@@ -73,7 +75,9 @@ module Aws::Glacier
|
|
73
75
|
def vaults(options = {})
|
74
76
|
batches = Enumerator.new do |y|
|
75
77
|
options = options.merge(account_id: "-")
|
76
|
-
resp =
|
78
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
79
|
+
@client.list_vaults(options)
|
80
|
+
end
|
77
81
|
resp.each_page do |page|
|
78
82
|
batch = []
|
79
83
|
page.data.vault_list.each do |v|
|
@@ -95,10 +95,12 @@ module Aws::Glacier
|
|
95
95
|
#
|
96
96
|
# @return [self]
|
97
97
|
def load
|
98
|
-
resp =
|
98
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
99
|
+
@client.describe_vault(
|
99
100
|
vault_name: @name,
|
100
101
|
account_id: @account_id
|
101
102
|
)
|
103
|
+
end
|
102
104
|
@data = resp.data
|
103
105
|
self
|
104
106
|
end
|
@@ -213,7 +215,9 @@ module Aws::Glacier
|
|
213
215
|
:retry
|
214
216
|
end
|
215
217
|
end
|
216
|
-
Aws::
|
218
|
+
Aws::Plugins::UserAgent.feature('resource') do
|
219
|
+
Aws::Waiters::Waiter.new(options).wait({})
|
220
|
+
end
|
217
221
|
end
|
218
222
|
|
219
223
|
# @!group Actions
|
@@ -228,7 +232,9 @@ module Aws::Glacier
|
|
228
232
|
vault_name: @name,
|
229
233
|
account_id: @account_id
|
230
234
|
)
|
231
|
-
resp =
|
235
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
236
|
+
@client.create_vault(options)
|
237
|
+
end
|
232
238
|
resp.data
|
233
239
|
end
|
234
240
|
|
@@ -242,7 +248,9 @@ module Aws::Glacier
|
|
242
248
|
vault_name: @name,
|
243
249
|
account_id: @account_id
|
244
250
|
)
|
245
|
-
resp =
|
251
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
252
|
+
@client.delete_vault(options)
|
253
|
+
end
|
246
254
|
resp.data
|
247
255
|
end
|
248
256
|
|
@@ -259,7 +267,9 @@ module Aws::Glacier
|
|
259
267
|
type: "inventory-retrieval"
|
260
268
|
}
|
261
269
|
)
|
262
|
-
resp =
|
270
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
271
|
+
@client.initiate_job(options)
|
272
|
+
end
|
263
273
|
Job.new(
|
264
274
|
id: resp.data.job_id,
|
265
275
|
account_id: @account_id,
|
@@ -291,7 +301,9 @@ module Aws::Glacier
|
|
291
301
|
vault_name: @name,
|
292
302
|
account_id: @account_id
|
293
303
|
)
|
294
|
-
resp =
|
304
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
305
|
+
@client.initiate_multipart_upload(options)
|
306
|
+
end
|
295
307
|
MultipartUpload.new(
|
296
308
|
id: resp.data.upload_id,
|
297
309
|
account_id: @account_id,
|
@@ -320,7 +332,9 @@ module Aws::Glacier
|
|
320
332
|
vault_name: @name,
|
321
333
|
account_id: @account_id
|
322
334
|
)
|
323
|
-
resp =
|
335
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
336
|
+
@client.upload_archive(options)
|
337
|
+
end
|
324
338
|
Archive.new(
|
325
339
|
id: resp.data.archive_id,
|
326
340
|
account_id: @account_id,
|
@@ -367,7 +381,9 @@ module Aws::Glacier
|
|
367
381
|
vault_name: @name,
|
368
382
|
completed: "true"
|
369
383
|
)
|
370
|
-
resp =
|
384
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
385
|
+
@client.list_jobs(options)
|
386
|
+
end
|
371
387
|
resp.each_page do |page|
|
372
388
|
batch = []
|
373
389
|
page.data.job_list.each do |j|
|
@@ -401,7 +417,9 @@ module Aws::Glacier
|
|
401
417
|
vault_name: @name,
|
402
418
|
statuscode: "Failed"
|
403
419
|
)
|
404
|
-
resp =
|
420
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
421
|
+
@client.list_jobs(options)
|
422
|
+
end
|
405
423
|
resp.each_page do |page|
|
406
424
|
batch = []
|
407
425
|
page.data.job_list.each do |j|
|
@@ -449,7 +467,9 @@ module Aws::Glacier
|
|
449
467
|
account_id: @account_id,
|
450
468
|
vault_name: @name
|
451
469
|
)
|
452
|
-
resp =
|
470
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
471
|
+
@client.list_jobs(options)
|
472
|
+
end
|
453
473
|
resp.each_page do |page|
|
454
474
|
batch = []
|
455
475
|
page.data.job_list.each do |j|
|
@@ -483,7 +503,9 @@ module Aws::Glacier
|
|
483
503
|
vault_name: @name,
|
484
504
|
statuscode: "InProgress"
|
485
505
|
)
|
486
|
-
resp =
|
506
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
507
|
+
@client.list_jobs(options)
|
508
|
+
end
|
487
509
|
resp.each_page do |page|
|
488
510
|
batch = []
|
489
511
|
page.data.job_list.each do |j|
|
@@ -512,7 +534,9 @@ module Aws::Glacier
|
|
512
534
|
vault_name: @name,
|
513
535
|
account_id: @account_id
|
514
536
|
)
|
515
|
-
resp =
|
537
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
538
|
+
@client.list_multipart_uploads(options)
|
539
|
+
end
|
516
540
|
resp.each_page do |page|
|
517
541
|
batch = []
|
518
542
|
page.data.uploads_list.each do |u|
|
@@ -566,7 +590,9 @@ module Aws::Glacier
|
|
566
590
|
vault_name: @name,
|
567
591
|
statuscode: "Succeeded"
|
568
592
|
)
|
569
|
-
resp =
|
593
|
+
resp = Aws::Plugins::UserAgent.feature('resource') do
|
594
|
+
@client.list_jobs(options)
|
595
|
+
end
|
570
596
|
resp.each_page do |page|
|
571
597
|
batch = []
|
572
598
|
page.data.job_list.each do |j|
|
data/lib/aws-sdk-glacier.rb
CHANGED
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.
|
4
|
+
version: 1.50.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: 2023-
|
11
|
+
date: 2023-05-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|
@@ -19,7 +19,7 @@ dependencies:
|
|
19
19
|
version: '3'
|
20
20
|
- - ">="
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 3.
|
22
|
+
version: 3.174.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -29,7 +29,7 @@ dependencies:
|
|
29
29
|
version: '3'
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version: 3.
|
32
|
+
version: 3.174.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: aws-sigv4
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|