aws-sdk-s3 1.103.0 → 1.106.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: 15712b72bf9c4eceb463344aa738f5e520a02161776d0a2e0c501c589ffba31b
4
- data.tar.gz: 44bd3b0c543a0bb6b31ff26da9e664b431b0497ca5157385671526a9bbe8c589
3
+ metadata.gz: b88adac8854f4eeb8210735da5ea5087e651c640f9a92e25ed6c4f96ad6ef459
4
+ data.tar.gz: 64ebe11f97661fb709c52724b4ef3aced1e6fc9b1341c4afd2e00d668b888dea
5
5
  SHA512:
6
- metadata.gz: f4dc0b61914a6c48dac9858321b0a6eb972991e2938d39a10d105140c18fcf7a43d1d905654942033f44336e491e82d5ad178eb2fc84beac05ac1e059da98be7
7
- data.tar.gz: 709d8e45a27f894622800dabb2ebb300f0d4b6f888c081987e42022b602d703aa22bd42fab179aeb976ee5ef12b98cb6b04d1663a49749b8693ea81b8099a2d3
6
+ metadata.gz: 776794c0a09c05871bf4bd3ccc6370cb46b9cbace5213acf09e4598509460bb585b8a55263fdc37191b82bba3eb4707b092ef82258e2a59313e527f22a1860f7
7
+ data.tar.gz: 53a6b5652862a2f053ca06733c7eccd0ea83144ee5f92776eaa6ea4a9002ab3f69b392d7f98ffc3f1991846d3799cf0f099157d5d0fe4fa71a7e444aaa696511
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.106.0 (2021-11-17)
5
+ ------------------
6
+
7
+ * Feature - Add `presigned_request` method to `Aws::S3::Object`.
8
+
9
+ 1.105.1 (2021-11-05)
10
+ ------------------
11
+
12
+ * Issue - Raise error when `use_fips_endpoint` is used with `use_accelerate_endpoint`.
13
+
14
+ 1.105.0 (2021-11-04)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
19
+ 1.104.0 (2021-10-18)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
4
24
  1.103.0 (2021-09-16)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.103.0
1
+ 1.106.0
@@ -25,25 +25,25 @@ module Aws
25
25
  if @region.empty? || @account_id.empty?
26
26
  raise ArgumentError,
27
27
  'S3 Access Point ARNs must contain both a region '\
28
- 'and an account id.'
28
+ 'and an account ID.'
29
29
  end
30
30
 
31
31
  if @region.include?('-fips') || @region.include?('fips-')
32
32
  raise ArgumentError,
33
- 'S3 Access Point ARNs cannot contain a FIPS region'
33
+ 'S3 Access Point ARNs cannot contain a FIPS region.'
34
34
  end
35
35
 
36
36
  if @type != 'accesspoint'
37
- raise ArgumentError, 'Invalid ARN, resource format is not correct'
37
+ raise ArgumentError, 'Invalid ARN, resource format is not correct.'
38
38
  end
39
39
 
40
40
  if @access_point_name.nil? || @access_point_name.empty?
41
- raise ArgumentError, 'Missing ARN accesspoint name.'
41
+ raise ArgumentError, 'Missing ARN Access Point name.'
42
42
  end
43
43
 
44
44
  if @extra
45
45
  raise ArgumentError,
46
- 'ARN accesspoint resource must be a single value.'
46
+ 'ARN Access Point resource must be a single value.'
47
47
  end
48
48
 
49
49
  unless Seahorse::Util.host_label?(
@@ -60,7 +60,7 @@ module Aws
60
60
  if custom_endpoint
61
61
  "#{pfx}.#{custom_endpoint}"
62
62
  else
63
- sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(region)
63
+ sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(region, 's3')
64
64
  "#{pfx}.s3-accesspoint#{'-fips' if fips}#{'.dualstack' if dualstack}.#{region}.#{sfx}"
65
65
  end
66
66
  end
@@ -55,12 +55,11 @@ module Aws
55
55
  end
56
56
  end
57
57
 
58
- def host_url(region, fips = false, dualstack = false, custom_endpoint = nil)
58
+ def host_url(_region, _fips = false, _dualstack = false, custom_endpoint = nil)
59
59
  if custom_endpoint
60
60
  "#{@mrap_alias}.#{custom_endpoint}"
61
61
  else
62
-
63
- sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(@partition)
62
+ sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(@partition, 's3')
64
63
  "#{@mrap_alias}.accesspoint.s3-global.#{sfx}"
65
64
  end
66
65
  end
@@ -19,18 +19,18 @@ module Aws
19
19
 
20
20
  def validate_arn!
21
21
  unless @service == 's3-object-lambda'
22
- raise ArgumentError, 'Must provide a valid S3 Object Lambdas ARN.'
22
+ raise ArgumentError, 'Must provide a valid S3 Object Lambda ARN.'
23
23
  end
24
24
 
25
25
  if @region.empty? || @account_id.empty?
26
26
  raise ArgumentError,
27
27
  'S3 Object Lambdas ARNs must contain both a region '\
28
- 'and an account id.'
28
+ 'and an account ID.'
29
29
  end
30
30
 
31
31
  if @region.include?('-fips') || @region.include?('fips-')
32
32
  raise ArgumentError,
33
- 'S3 Access Point ARNs cannot contain a FIPS region'
33
+ 'S3 Object Lambda ARNs cannot contain a FIPS region'
34
34
  end
35
35
 
36
36
  if @type != 'accesspoint'
@@ -38,12 +38,12 @@ module Aws
38
38
  end
39
39
 
40
40
  if @access_point_name.nil? || @access_point_name.empty?
41
- raise ArgumentError, 'Missing ARN accesspoint name.'
41
+ raise ArgumentError, 'Missing ARN Access Point name.'
42
42
  end
43
43
 
44
44
  if @extra
45
45
  raise ArgumentError,
46
- 'ARN accesspoint resource must be a single value.'
46
+ 'ARN Access Point resource must be a single value.'
47
47
  end
48
48
 
49
49
  unless Seahorse::Util.host_label?(
@@ -60,7 +60,7 @@ module Aws
60
60
  if custom_endpoint
61
61
  "#{pfx}.#{custom_endpoint}"
62
62
  else
63
- sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(region)
63
+ sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(region, 's3')
64
64
  "#{pfx}.s3-object-lambda#{'-fips' if fips}.#{region}.#{sfx}"
65
65
  end
66
66
  end
@@ -20,13 +20,14 @@ module Aws
20
20
 
21
21
  def validate_arn!
22
22
  unless @service == 's3-outposts'
23
- raise ArgumentError, 'Must provide a valid S3 Outposts ARN.'
23
+ raise ArgumentError, 'Must provide a valid S3 Outpost Access '\
24
+ 'Point ARN.'
24
25
  end
25
26
 
26
27
  if @region.empty? || @account_id.empty?
27
28
  raise ArgumentError,
28
- 'S3 Outpost ARNs must contain both a region '\
29
- 'and an account id.'
29
+ 'S3 Outpost Access Point ARNs must contain both a region '\
30
+ 'and an account ID.'
30
31
  end
31
32
 
32
33
  if @type != 'outpost' && @subtype != 'accesspoint'
@@ -34,16 +35,16 @@ module Aws
34
35
  end
35
36
 
36
37
  if @outpost_id.nil? || @outpost_id.empty?
37
- raise ArgumentError, 'Missing ARN outpost id.'
38
+ raise ArgumentError, 'Missing ARN Outpost ID.'
38
39
  end
39
40
 
40
41
  if @access_point_name.nil? || @access_point_name.empty?
41
- raise ArgumentError, 'Missing ARN accesspoint name.'
42
+ raise ArgumentError, 'Missing ARN Access Point name.'
42
43
  end
43
44
 
44
45
  if @extra
45
46
  raise ArgumentError,
46
- 'ARN accesspoint resource must be a single value.'
47
+ 'ARN Access Point resource must be a single value.'
47
48
  end
48
49
 
49
50
  unless Seahorse::Util.host_label?(
@@ -359,9 +359,14 @@ module Aws::S3
359
359
  # for all object operations. You must first enable accelerate for
360
360
  # each bucket. [Go here for more information](http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html).
361
361
  #
362
- # @option options [Boolean] :use_dualstack_endpoint (false)
363
- # When set to `true`, IPv6-compatible bucket endpoints will be used
364
- # for all operations.
362
+ # @option options [Boolean] :use_dualstack_endpoint
363
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
364
+ # will be used if available.
365
+ #
366
+ # @option options [Boolean] :use_fips_endpoint
367
+ # When set to `true`, fips compatible endpoints will be used if available.
368
+ # When a `fips` region is used, the region is normalized and this config
369
+ # is set to `true`.
365
370
  #
366
371
  # @option options [Boolean] :validate_params (true)
367
372
  # When `true`, request parameters are validated before
@@ -14061,7 +14066,7 @@ module Aws::S3
14061
14066
  params: params,
14062
14067
  config: config)
14063
14068
  context[:gem_name] = 'aws-sdk-s3'
14064
- context[:gem_version] = '1.103.0'
14069
+ context[:gem_version] = '1.106.0'
14065
14070
  Seahorse::Client::Request.new(handlers, context)
14066
14071
  end
14067
14072
 
@@ -161,7 +161,7 @@ module Aws
161
161
  #
162
162
  # @param [Symbol] method
163
163
  # The S3 operation to generate a presigned URL for. Valid values
164
- # are `:get`, `:put`, `:head`, `:delete`, `:create_multipart_upload`,
164
+ # are `:get`, `:put`, `:head`, `:delete`, `:create_multipart_upload`,
165
165
  # `:list_multipart_uploads`, `:complete_multipart_upload`,
166
166
  # `:abort_multipart_upload`, `:list_parts`, and `:upload_part`.
167
167
  #
@@ -215,6 +215,79 @@ module Aws
215
215
  )
216
216
  end
217
217
 
218
+ # Allows you to create presigned URL requests for S3 operations. This
219
+ # method returns a tuple containing the URL and the signed X-amz-* headers
220
+ # to be used with the presigned url.
221
+ #
222
+ # @example Pre-signed GET URL, valid for one hour
223
+ #
224
+ # obj.presigned_request(:get, expires_in: 3600)
225
+ # #=> ["https://bucket-name.s3.amazonaws.com/object-key?...", {}]
226
+ #
227
+ # @example Pre-signed PUT with a canned ACL
228
+ #
229
+ # # the object uploaded using this URL will be publicly accessible
230
+ # obj.presigned_request(:put, acl: 'public-read')
231
+ # #=> ["https://bucket-name.s3.amazonaws.com/object-key?...",
232
+ # {"x-amz-acl"=>"public-read"}]
233
+ #
234
+ # @param [Symbol] method
235
+ # The S3 operation to generate a presigned request for. Valid values
236
+ # are `:get`, `:put`, `:head`, `:delete`, `:create_multipart_upload`,
237
+ # `:list_multipart_uploads`, `:complete_multipart_upload`,
238
+ # `:abort_multipart_upload`, `:list_parts`, and `:upload_part`.
239
+ #
240
+ # @param [Hash] params
241
+ # Additional request parameters to use when generating the pre-signed
242
+ # request. See the related documentation in {Client} for accepted
243
+ # params.
244
+ #
245
+ # | Method | Client Method |
246
+ # |------------------------------|------------------------------------|
247
+ # | `:get` | {Client#get_object} |
248
+ # | `:put` | {Client#put_object} |
249
+ # | `:head` | {Client#head_object} |
250
+ # | `:delete` | {Client#delete_object} |
251
+ # | `:create_multipart_upload` | {Client#create_multipart_upload} |
252
+ # | `:list_multipart_uploads` | {Client#list_multipart_uploads} |
253
+ # | `:complete_multipart_upload` | {Client#complete_multipart_upload} |
254
+ # | `:abort_multipart_upload` | {Client#abort_multipart_upload} |
255
+ # | `:list_parts` | {Client#list_parts} |
256
+ # | `:upload_part` | {Client#upload_part} |
257
+ #
258
+ # @option params [Boolean] :virtual_host (false) When `true` the
259
+ # presigned URL will use the bucket name as a virtual host.
260
+ #
261
+ # bucket = Aws::S3::Bucket.new('my.bucket.com')
262
+ # bucket.object('key').presigned_request(virtual_host: true)
263
+ # #=> ["http://my.bucket.com/key?...", {}]
264
+ #
265
+ # @option params [Integer] :expires_in (900) Number of seconds before
266
+ # the pre-signed URL expires. This may not exceed one week (604800
267
+ # seconds). Note that the pre-signed URL is also only valid as long as
268
+ # credentials used to sign it are. For example, when using IAM roles,
269
+ # temporary tokens generated for signing also have a default expiration
270
+ # which will affect the effective expiration of the pre-signed URL.
271
+ #
272
+ # @raise [ArgumentError] Raised if `:expires_in` exceeds one week
273
+ # (604800 seconds).
274
+ #
275
+ # @return [String, Hash] A tuple with a presigned URL and headers that
276
+ # should be included with the request.
277
+ #
278
+ def presigned_request(method, params = {})
279
+ presigner = Presigner.new(client: client)
280
+
281
+ if %w(delete head get put).include?(method.to_s)
282
+ method = "#{method}_object".to_sym
283
+ end
284
+
285
+ presigner.presigned_request(
286
+ method.downcase,
287
+ params.merge(bucket: bucket_name, key: key)
288
+ )
289
+ end
290
+
218
291
  # Returns the public (un-signed) URL for this object.
219
292
  #
220
293
  # s3.bucket('bucket-name').object('obj-key').public_url
@@ -41,11 +41,17 @@ each bucket. [Go here for more information](http://docs.aws.amazon.com/AmazonS3/
41
41
  accelerate = context.params.delete(:use_accelerate_endpoint)
42
42
  end
43
43
  accelerate = context.config.use_accelerate_endpoint if accelerate.nil?
44
- # Raise if :endpoint and dualstack are both provided
44
+ # Raise if :endpoint and accelerate are both provided
45
45
  if accelerate && !context.config.regional_endpoint
46
46
  raise ArgumentError,
47
47
  'Cannot use both :use_accelerate_endpoint and :endpoint'
48
48
  end
49
+ # Raise if :use_fips_endpoint and accelerate are both provided
50
+ if accelerate && context.config.use_fips_endpoint
51
+ raise ArgumentError,
52
+ 'Cannot use both :use_accelerate_endpoint and '\
53
+ ':use_fips_endpoint'
54
+ end
49
55
  context[:use_accelerate_endpoint] = accelerate
50
56
  @handler.call(context)
51
57
  end
@@ -77,17 +77,10 @@ result in cross region requests.
77
77
  if arn
78
78
  validate_config!(context, arn)
79
79
 
80
- fips = false
81
- if resolved_region.include?('fips')
82
- fips = true
83
- resolved_region = resolved_region.gsub('fips-', '')
84
- .gsub('-fips', '')
85
- end
86
-
87
80
  context.metadata[:s3_arn] = {
88
81
  arn: arn,
89
82
  resolved_region: resolved_region,
90
- fips: fips,
83
+ fips: context.config.use_fips_endpoint,
91
84
  dualstack: extract_dualstack_config!(context)
92
85
  }
93
86
  end
@@ -126,7 +119,8 @@ result in cross region requests.
126
119
 
127
120
  if !arn.support_dualstack? && context[:use_dualstack_endpoint]
128
121
  raise ArgumentError,
129
- 'Cannot provide an Outpost Access Point or Multi-region Access Point ARN'\
122
+ 'Cannot provide an Outpost Access Point, Object Lambda, '\
123
+ 'or Multi-region Access Point ARN'\
130
124
  ' when `:use_dualstack_endpoint` is set to true.'
131
125
  end
132
126
 
@@ -135,6 +129,12 @@ result in cross region requests.
135
129
  'Cannot provide a Multi-region Access Point ARN with '\
136
130
  '`:s3_disable_multiregion_access_points` set to true'
137
131
  end
132
+
133
+ if context.config.use_fips_endpoint && !arn.support_fips?
134
+ raise ArgumentError,
135
+ 'FIPS client regions are not supported for this type '\
136
+ 'of ARN.'
137
+ end
138
138
  end
139
139
  end
140
140
 
@@ -146,7 +146,7 @@ result in cross region requests.
146
146
  s3_arn = resolve_arn_type!(arn)
147
147
  s3_arn.validate_arn!
148
148
  validate_region_config!(s3_arn, region, use_arn_region)
149
- region = s3_arn.region if use_arn_region && !region.include?('fips')
149
+ region = s3_arn.region if use_arn_region
150
150
  [region, s3_arn]
151
151
  else
152
152
  [region]
@@ -231,19 +231,6 @@ result in cross region requests.
231
231
  raise Aws::Errors::InvalidARNPartitionError
232
232
  end
233
233
  else
234
- if region.include?('fips')
235
- # If ARN type doesn't support FIPS but the client region is FIPS
236
- unless arn.support_fips?
237
- raise ArgumentError,
238
- 'FIPS client regions are not supported for this type '\
239
- 'of ARN.'
240
- end
241
-
242
- fips = true
243
- # Normalize the region so we can compare partition and regions
244
- region = region.gsub('fips-', '').gsub('-fips', '')
245
- end
246
-
247
234
  # use_arn_region does not apply to MRAP (global) arns
248
235
  unless arn.region.empty?
249
236
  # Raise if the ARN and client regions are in different partitions
@@ -254,7 +241,7 @@ result in cross region requests.
254
241
 
255
242
  # Raise if regions mismatch
256
243
  # Either when it's a fips client or not using the ARN region
257
- if (!use_arn_region || fips) && region != arn.region
244
+ if !use_arn_region && region != arn.region
258
245
  raise Aws::Errors::InvalidARNRegionError
259
246
  end
260
247
  end
@@ -24,7 +24,7 @@ request URI and never moved to the host as a sub-domain.
24
24
  DOCS
25
25
 
26
26
  def add_handlers(handlers, config)
27
- handlers.add(Handler) unless config.force_path_style
27
+ handlers.add(Handler, priority: 48) unless config.force_path_style
28
28
  end
29
29
 
30
30
  # @api private
@@ -5,18 +5,9 @@ module Aws
5
5
  module Plugins
6
6
  # @api private
7
7
  class Dualstack < Seahorse::Client::Plugin
8
-
9
- option(:use_dualstack_endpoint,
10
- default: false,
11
- doc_type: 'Boolean',
12
- docstring: <<-DOCS)
13
- When set to `true`, IPv6-compatible bucket endpoints will be used
14
- for all operations.
15
- DOCS
16
-
17
8
  def add_handlers(handlers, config)
18
9
  handlers.add(OptionHandler, step: :initialize)
19
- handlers.add(DualstackHandler, step: :build, priority: 11)
10
+ handlers.add(DualstackHandler, step: :build, priority: 49)
20
11
  end
21
12
 
22
13
  # @api private
@@ -40,38 +31,41 @@ for all operations.
40
31
  # @api private
41
32
  class DualstackHandler < Seahorse::Client::Handler
42
33
  def call(context)
43
- if context.config.regional_endpoint && use_dualstack_endpoint?(context)
34
+ # only rewrite the endpoint if it's not a custom endpoint
35
+ # accelerate/ARN already handle dualstack cases, so ignore these
36
+ # check to see if dualstack is on but configured off via operation
37
+ if context.config.regional_endpoint &&
38
+ use_dualstack_endpoint?(context)
44
39
  apply_dualstack_endpoint(context)
45
40
  end
46
41
  @handler.call(context)
47
42
  end
48
43
 
49
44
  private
50
- def apply_dualstack_endpoint(context)
51
- bucket_name = context.params[:bucket]
52
- region = context.config.region
53
- dns_suffix = Aws::Partitions::EndpointProvider.dns_suffix_for(region)
54
45
 
55
- if use_bucket_dns?(bucket_name, context)
56
- host = "#{bucket_name}.s3.dualstack.#{region}.#{dns_suffix}"
57
- else
58
- host = "s3.dualstack.#{region}.#{dns_suffix}"
59
- end
46
+ def apply_dualstack_endpoint(context)
47
+ new_endpoint = Aws::Partitions::EndpointProvider.resolve(
48
+ context.config.region,
49
+ 's3',
50
+ 'regional',
51
+ {
52
+ dualstack: context[:use_dualstack_endpoint],
53
+ fips: context.config.use_fips_endpoint
54
+ }
55
+ )
60
56
  endpoint = URI.parse(context.http_request.endpoint.to_s)
61
- endpoint.scheme = context.http_request.endpoint.scheme
62
- endpoint.port = context.http_request.endpoint.port
63
- endpoint.host = host
64
- context.http_request.endpoint = endpoint.to_s
65
- end
66
-
67
- def use_bucket_dns?(bucket_name, context)
68
- ssl = context.http_request.endpoint.scheme == "https"
69
- bucket_name && BucketDns.dns_compatible?(bucket_name, ssl) &&
70
- !context.config.force_path_style
57
+ endpoint.host = URI.parse(new_endpoint).host
58
+ context.http_request.endpoint = endpoint
71
59
  end
72
60
 
73
61
  def use_dualstack_endpoint?(context)
74
- context[:use_dualstack_endpoint] && !context[:use_accelerate_endpoint]
62
+ # case when dualstack is turned off via operation
63
+ (context[:use_dualstack_endpoint] ||
64
+ context.config.use_dualstack_endpoint) &&
65
+ # accelerate plugin already applies dualstack
66
+ !context[:use_accelerate_endpoint] &&
67
+ # arns handle dualstack
68
+ !context.metadata[:s3_arn]
75
69
  end
76
70
  end
77
71
 
@@ -22,7 +22,9 @@ module Aws
22
22
  # S3 removes core's signature_v4 plugin that checks for this
23
23
  raise Aws::Errors::MissingRegionError if cfg.region.nil?
24
24
 
25
- Aws::Partitions::EndpointProvider.signing_region(cfg.region, 's3')
25
+ Aws::Partitions::EndpointProvider.signing_region(
26
+ cfg.region, 's3'
27
+ )
26
28
  end
27
29
 
28
30
  def add_handlers(handlers, cfg)
@@ -162,7 +164,12 @@ module Aws
162
164
 
163
165
  def custom_endpoint?(resp)
164
166
  resolved_suffix = Aws::Partitions::EndpointProvider.dns_suffix_for(
165
- resp.context.config.region
167
+ resp.context.config.region,
168
+ 's3',
169
+ {
170
+ dualstack: resp.context[:use_dualstack_endpoint],
171
+ fips: resp.context.config.use_fips_endpoint
172
+ }
166
173
  )
167
174
  !resp.context.http_request.endpoint.hostname.include?(resolved_suffix)
168
175
  end
@@ -234,12 +241,20 @@ module Aws
234
241
  # Otherwise it will retry with the ARN as the bucket name.
235
242
  def new_hostname(context, region)
236
243
  uri = URI.parse(
237
- Aws::Partitions::EndpointProvider.resolve(region, 's3')
244
+ Aws::Partitions::EndpointProvider.resolve(
245
+ region, 's3', 'regional',
246
+ {
247
+ dualstack: context[:use_dualstack_endpoint],
248
+ fips: context.config.use_fips_endpoint
249
+ }
250
+ )
238
251
  )
239
252
 
240
253
  if (arn = context.metadata[:s3_arn])
241
254
  # Retry with the response region and not the ARN resolved one
242
- ARN.resolve_url!(uri, arn[:arn], region).host
255
+ ARN.resolve_url!(
256
+ uri, arn[:arn], region, arn[:fips], arn[:dualstack]
257
+ ).host
243
258
  else
244
259
  "#{context.params[:bucket]}.#{uri.host}"
245
260
  end
data/lib/aws-sdk-s3.rb CHANGED
@@ -69,6 +69,6 @@ require_relative 'aws-sdk-s3/event_streams'
69
69
  # @!group service
70
70
  module Aws::S3
71
71
 
72
- GEM_VERSION = '1.103.0'
72
+ GEM_VERSION = '1.106.0'
73
73
 
74
74
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.103.0
4
+ version: 1.106.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: 2021-09-16 00:00:00.000000000 Z
11
+ date: 2021-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-kms
@@ -47,7 +47,7 @@ dependencies:
47
47
  version: '3'
48
48
  - - ">="
49
49
  - !ruby/object:Gem::Version
50
- version: 3.120.0
50
+ version: 3.122.0
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
@@ -57,7 +57,7 @@ dependencies:
57
57
  version: '3'
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: 3.120.0
60
+ version: 3.122.0
61
61
  description: Official AWS Ruby gem for Amazon Simple Storage Service (Amazon S3).
62
62
  This gem is part of the AWS SDK for Ruby.
63
63
  email: