aws-sdk-s3 1.60.2 → 1.61.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: f87c5f4f043720c025a6c6d3edcabb3e43d65ccd
4
- data.tar.gz: 80066c30456a2726ae1ea613e66457a19901ff1c
3
+ metadata.gz: 0da3bfd3b5b86514694701d043129e63a20061d5
4
+ data.tar.gz: 23b6ae8f0aa5237eea50c2f0615085c05fadecac
5
5
  SHA512:
6
- metadata.gz: a9df4ccc85c418d3987a78a102dd8a7c72407076b6d8ee44ac251380308d1d302673cb3e309bf2e21d3a02b10fc8f42a4e8774b624ee8a262df0de44244b6167
7
- data.tar.gz: aec4f2b78df7cd1c474db811d2960edb4c4b4009dca130c0ec50f5ec98cf5a693ea049fac63630d57de688fd270c11ba93a58ba6e35a0c93d607d9a75f135889
6
+ metadata.gz: c48ccfd91350839d27f92712ce9d167eeff24bbdab758cd1c7ff999c0914510ad1180a888114ba1da9aa2518cb14ca2590f523173b15e93350bfe59af9b032e6
7
+ data.tar.gz: 6cc8009f8566e5f44f19e51b6d5e6d083c5247a7c9f0c8518b6383e8022007b6d43082743ececc647924757c66c65543d602f496a3b6739ef56e1329afb1429b
@@ -45,17 +45,20 @@ require_relative 'aws-sdk-s3/event_streams'
45
45
  # methods each accept a hash of request parameters and return a response
46
46
  # structure.
47
47
  #
48
+ # s3 = Aws::S3::Client.new
49
+ # resp = s3.abort_multipart_upload(params)
50
+ #
48
51
  # See {Client} for more information.
49
52
  #
50
53
  # # Errors
51
54
  #
52
- # Errors returned from Amazon Simple Storage Service all
53
- # extend {Errors::ServiceError}.
55
+ # Errors returned from Amazon Simple Storage Service are defined in the
56
+ # {Errors} module and all extend {Errors::ServiceError}.
54
57
  #
55
58
  # begin
56
59
  # # do stuff
57
60
  # rescue Aws::S3::Errors::ServiceError
58
- # # rescues all service API errors
61
+ # # rescues all Amazon Simple Storage Service API errors
59
62
  # end
60
63
  #
61
64
  # See {Errors} for more information.
@@ -63,6 +66,6 @@ require_relative 'aws-sdk-s3/event_streams'
63
66
  # @service
64
67
  module Aws::S3
65
68
 
66
- GEM_VERSION = '1.60.2'
69
+ GEM_VERSION = '1.61.0'
67
70
 
68
71
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class Bucket
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class BucketAcl
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class BucketCors
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class BucketLifecycle
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class BucketLifecycleConfiguration
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class BucketLogging
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class BucketNotification
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class BucketPolicy
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class BucketRequestPayment
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class BucketTagging
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class BucketVersioning
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class BucketWebsite
10
11
 
11
12
  extend Aws::Deprecations
@@ -46,6 +46,18 @@ require 'aws-sdk-core/plugins/event_stream_configuration.rb'
46
46
  Aws::Plugins::GlobalConfiguration.add_identifier(:s3)
47
47
 
48
48
  module Aws::S3
49
+ # An API client for S3. To construct a client, you need to configure a `:region` and `:credentials`.
50
+ #
51
+ # client = Aws::S3::Client.new(
52
+ # region: region_name,
53
+ # credentials: credentials,
54
+ # # ...
55
+ # )
56
+ #
57
+ # For details on configuring region and credentials see
58
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
59
+ #
60
+ # See {#initialize} for a full list of supported configuration options.
49
61
  class Client < Seahorse::Client::Base
50
62
 
51
63
  include Aws::ClientStubs
@@ -140,6 +152,12 @@ module Aws::S3
140
152
  # When set to `true`, a thread polling for endpoints will be running in
141
153
  # the background every 60 secs (default). Defaults to `false`.
142
154
  #
155
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
156
+ # Used only in `adaptive` retry mode. When true, the request will sleep
157
+ # until there is sufficent client side capacity to retry the request.
158
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
159
+ # not retry instead of sleeping.
160
+ #
143
161
  # @option options [Boolean] :client_side_monitoring (false)
144
162
  # When `true`, client-side metrics will be collected for all API requests from
145
163
  # this client.
@@ -170,6 +188,10 @@ module Aws::S3
170
188
  # When `true`, an attempt is made to coerce request parameters into
171
189
  # the required types.
172
190
  #
191
+ # @option options [Boolean] :correct_clock_skew (true)
192
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
193
+ # a clock skew correction and retry requests with skewed client clocks.
194
+ #
173
195
  # @option options [Boolean] :disable_host_prefix_injection (false)
174
196
  # Set to true to disable SDK automatically adding host prefix
175
197
  # to default service endpoint when available.
@@ -218,6 +240,12 @@ module Aws::S3
218
240
  # The Logger instance to send log messages to. If this option
219
241
  # is not set, logging will be disabled.
220
242
  #
243
+ # @option options [Integer] :max_attempts (3)
244
+ # An integer representing the maximum number attempts that will be made for
245
+ # a single request, including the initial attempt. For example,
246
+ # setting this value to 5 will result in a request being retried up to
247
+ # 4 times. Used in `standard` and `adaptive` retry modes.
248
+ #
221
249
  # @option options [Proc] :output_event_stream_handler
222
250
  # When an EventStream or Proc object is provided, it will be used as callback for each chunk of event stream response received along the way.
223
251
  #
@@ -230,11 +258,19 @@ module Aws::S3
230
258
  # where server-side-encryption is used with customer-provided keys.
231
259
  # This should only be disabled for local testing.
232
260
  #
261
+ # @option options [Proc] :retry_backoff
262
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
263
+ # This option is only used in the `legacy` retry mode.
264
+ #
233
265
  # @option options [Float] :retry_base_delay (0.3)
234
- # The base delay in seconds used by the default backoff function.
266
+ # The base delay in seconds used by the default backoff function. This option
267
+ # is only used in the `legacy` retry mode.
235
268
  #
236
269
  # @option options [Symbol] :retry_jitter (:none)
237
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
270
+ # A delay randomiser function used by the default backoff function.
271
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
272
+ # otherwise a Proc that takes and returns a number. This option is only used
273
+ # in the `legacy` retry mode.
238
274
  #
239
275
  # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
240
276
  #
@@ -242,11 +278,26 @@ module Aws::S3
242
278
  # The maximum number of times to retry failed requests. Only
243
279
  # ~ 500 level server errors and certain ~ 400 level client errors
244
280
  # are retried. Generally, these are throttling errors, data
245
- # checksum errors, networking errors, timeout errors and auth
246
- # errors from expired credentials.
281
+ # checksum errors, networking errors, timeout errors, auth errors,
282
+ # endpoint discovery, and errors from expired credentials.
283
+ # This option is only used in the `legacy` retry mode.
247
284
  #
248
285
  # @option options [Integer] :retry_max_delay (0)
249
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
286
+ # The maximum number of seconds to delay between retries (0 for no limit)
287
+ # used by the default backoff function. This option is only used in the
288
+ # `legacy` retry mode.
289
+ #
290
+ # @option options [String] :retry_mode ("legacy")
291
+ # Specifies which retry algorithm to use. Values are:
292
+ # * `legacy` - The pre-existing retry behavior. This is default value if
293
+ # no retry mode is provided.
294
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
295
+ # This includes support for retry quotas, which limit the number of
296
+ # unsuccessful retries a client can make.
297
+ # * `adaptive` - An experimental retry mode that includes all the
298
+ # functionality of `standard` mode along with automatic client side
299
+ # throttling. This is a provisional mode that may change behavior
300
+ # in the future.
250
301
  #
251
302
  # @option options [String] :s3_us_east_1_regional_endpoint ("legacy")
252
303
  # Passing in `regional` to enable regional endpoint for S3's `us-east-1`
@@ -287,16 +338,16 @@ module Aws::S3
287
338
  # requests through. Formatted like 'http://proxy.com:123'.
288
339
  #
289
340
  # @option options [Float] :http_open_timeout (15) The number of
290
- # seconds to wait when opening a HTTP session before rasing a
341
+ # seconds to wait when opening a HTTP session before raising a
291
342
  # `Timeout::Error`.
292
343
  #
293
344
  # @option options [Integer] :http_read_timeout (60) The default
294
345
  # number of seconds to wait for response data. This value can
295
346
  # safely be set
296
- # per-request on the session yeidled by {#session_for}.
347
+ # per-request on the session yielded by {#session_for}.
297
348
  #
298
349
  # @option options [Float] :http_idle_timeout (5) The number of
299
- # seconds a connection is allowed to sit idble before it is
350
+ # seconds a connection is allowed to sit idle before it is
300
351
  # considered stale. Stale connections are closed and removed
301
352
  # from the pool before making a request.
302
353
  #
@@ -305,7 +356,7 @@ module Aws::S3
305
356
  # request body. This option has no effect unless the request has
306
357
  # "Expect" header set to "100-continue". Defaults to `nil` which
307
358
  # disables this behaviour. This value can safely be set per
308
- # request on the session yeidled by {#session_for}.
359
+ # request on the session yielded by {#session_for}.
309
360
  #
310
361
  # @option options [Boolean] :http_wire_trace (false) When `true`,
311
362
  # HTTP debug output will be sent to the `:logger`.
@@ -11713,7 +11764,7 @@ module Aws::S3
11713
11764
  params: params,
11714
11765
  config: config)
11715
11766
  context[:gem_name] = 'aws-sdk-s3'
11716
- context[:gem_version] = '1.60.2'
11767
+ context[:gem_version] = '1.61.0'
11717
11768
  Seahorse::Client::Request.new(handlers, context)
11718
11769
  end
11719
11770
 
@@ -587,6 +587,10 @@ module Aws::S3
587
587
  Bucket.add_member(:creation_date, Shapes::ShapeRef.new(shape: CreationDate, location_name: "CreationDate"))
588
588
  Bucket.struct_class = Types::Bucket
589
589
 
590
+ BucketAlreadyExists.struct_class = Types::BucketAlreadyExists
591
+
592
+ BucketAlreadyOwnedByYou.struct_class = Types::BucketAlreadyOwnedByYou
593
+
590
594
  BucketLifecycleConfiguration.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, required: true, location_name: "Rule"))
591
595
  BucketLifecycleConfiguration.struct_class = Types::BucketLifecycleConfiguration
592
596
 
@@ -1544,6 +1548,12 @@ module Aws::S3
1544
1548
 
1545
1549
  MultipartUploadList.member = Shapes::ShapeRef.new(shape: MultipartUpload)
1546
1550
 
1551
+ NoSuchBucket.struct_class = Types::NoSuchBucket
1552
+
1553
+ NoSuchKey.struct_class = Types::NoSuchKey
1554
+
1555
+ NoSuchUpload.struct_class = Types::NoSuchUpload
1556
+
1547
1557
  NoncurrentVersionExpiration.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
1548
1558
  NoncurrentVersionExpiration.struct_class = Types::NoncurrentVersionExpiration
1549
1559
 
@@ -1574,6 +1584,8 @@ module Aws::S3
1574
1584
  Object.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1575
1585
  Object.struct_class = Types::Object
1576
1586
 
1587
+ ObjectAlreadyInActiveTierError.struct_class = Types::ObjectAlreadyInActiveTierError
1588
+
1577
1589
  ObjectIdentifier.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
1578
1590
  ObjectIdentifier.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
1579
1591
  ObjectIdentifier.struct_class = Types::ObjectIdentifier
@@ -1596,6 +1608,8 @@ module Aws::S3
1596
1608
  ObjectLockRule.add_member(:default_retention, Shapes::ShapeRef.new(shape: DefaultRetention, location_name: "DefaultRetention"))
1597
1609
  ObjectLockRule.struct_class = Types::ObjectLockRule
1598
1610
 
1611
+ ObjectNotInActiveTierError.struct_class = Types::ObjectNotInActiveTierError
1612
+
1599
1613
  ObjectVersion.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1600
1614
  ObjectVersion.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1601
1615
  ObjectVersion.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectVersionStorageClass, location_name: "StorageClass"))
@@ -6,9 +6,108 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
10
+ # When S3 returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::S3::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all S3 errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::S3::Errors::ServiceError
18
+ # # rescues all S3 API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {BucketAlreadyExists}
29
+ # * {BucketAlreadyOwnedByYou}
30
+ # * {NoSuchBucket}
31
+ # * {NoSuchKey}
32
+ # * {NoSuchUpload}
33
+ # * {ObjectAlreadyInActiveTierError}
34
+ # * {ObjectNotInActiveTierError}
35
+ #
36
+ # Additionally, error classes are dynamically generated for service errors based on the error code
37
+ # if they are not defined above.
9
38
  module Errors
10
39
 
11
40
  extend Aws::Errors::DynamicErrors
12
41
 
42
+ class BucketAlreadyExists < ServiceError
43
+
44
+ # @param [Seahorse::Client::RequestContext] context
45
+ # @param [String] message
46
+ # @param [Aws::S3::Types::BucketAlreadyExists] data
47
+ def initialize(context, message, data = Aws::EmptyStructure.new)
48
+ super(context, message, data)
49
+ end
50
+ end
51
+
52
+ class BucketAlreadyOwnedByYou < ServiceError
53
+
54
+ # @param [Seahorse::Client::RequestContext] context
55
+ # @param [String] message
56
+ # @param [Aws::S3::Types::BucketAlreadyOwnedByYou] data
57
+ def initialize(context, message, data = Aws::EmptyStructure.new)
58
+ super(context, message, data)
59
+ end
60
+ end
61
+
62
+ class NoSuchBucket < ServiceError
63
+
64
+ # @param [Seahorse::Client::RequestContext] context
65
+ # @param [String] message
66
+ # @param [Aws::S3::Types::NoSuchBucket] data
67
+ def initialize(context, message, data = Aws::EmptyStructure.new)
68
+ super(context, message, data)
69
+ end
70
+ end
71
+
72
+ class NoSuchKey < ServiceError
73
+
74
+ # @param [Seahorse::Client::RequestContext] context
75
+ # @param [String] message
76
+ # @param [Aws::S3::Types::NoSuchKey] data
77
+ def initialize(context, message, data = Aws::EmptyStructure.new)
78
+ super(context, message, data)
79
+ end
80
+ end
81
+
82
+ class NoSuchUpload < ServiceError
83
+
84
+ # @param [Seahorse::Client::RequestContext] context
85
+ # @param [String] message
86
+ # @param [Aws::S3::Types::NoSuchUpload] data
87
+ def initialize(context, message, data = Aws::EmptyStructure.new)
88
+ super(context, message, data)
89
+ end
90
+ end
91
+
92
+ class ObjectAlreadyInActiveTierError < ServiceError
93
+
94
+ # @param [Seahorse::Client::RequestContext] context
95
+ # @param [String] message
96
+ # @param [Aws::S3::Types::ObjectAlreadyInActiveTierError] data
97
+ def initialize(context, message, data = Aws::EmptyStructure.new)
98
+ super(context, message, data)
99
+ end
100
+ end
101
+
102
+ class ObjectNotInActiveTierError < ServiceError
103
+
104
+ # @param [Seahorse::Client::RequestContext] context
105
+ # @param [String] message
106
+ # @param [Aws::S3::Types::ObjectNotInActiveTierError] data
107
+ def initialize(context, message, data = Aws::EmptyStructure.new)
108
+ super(context, message, data)
109
+ end
110
+ end
111
+
13
112
  end
14
113
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class MultipartUpload
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class MultipartUploadPart
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class Object
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class ObjectAcl
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class ObjectSummary
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+
9
10
  class ObjectVersion
10
11
 
11
12
  extend Aws::Deprecations
@@ -6,7 +6,6 @@ module Aws
6
6
  # This plugin is an implementation detail and may be modified.
7
7
  # @api private
8
8
  class S3Signer < Seahorse::Client::Plugin
9
-
10
9
  option(:signature_version, 'v4')
11
10
 
12
11
  option(:sigv4_signer) do |cfg|
@@ -50,7 +49,6 @@ module Aws
50
49
  end
51
50
 
52
51
  class V4Handler < Seahorse::Client::Handler
53
-
54
52
  def call(context)
55
53
  Aws::Plugins::SignatureV4.apply_signature(
56
54
  context: context,
@@ -64,10 +62,8 @@ module Aws
64
62
  def sigv4_signer(context)
65
63
  # If the client was configured with the wrong region,
66
64
  # we have to build a new signer.
67
- if
68
- context[:cached_sigv4_region] &&
69
- context[:cached_sigv4_region] != context.config.sigv4_signer.region
70
- then
65
+ if context[:cached_sigv4_region] &&
66
+ context[:cached_sigv4_region] != context.config.sigv4_signer.region
71
67
  S3Signer.build_v4_signer(
72
68
  region: context[:cached_sigv4_region],
73
69
  credentials: context.config.credentials
@@ -76,13 +72,11 @@ module Aws
76
72
  context.config.sigv4_signer
77
73
  end
78
74
  end
79
-
80
75
  end
81
76
 
82
77
  # This handler will update the http endpoint when the bucket region
83
78
  # is known/cached.
84
79
  class CachedBucketRegionHandler < Seahorse::Client::Handler
85
-
86
80
  def call(context)
87
81
  bucket = context.params[:bucket]
88
82
  check_for_cached_region(context, bucket) if bucket
@@ -98,7 +92,6 @@ module Aws
98
92
  context[:cached_sigv4_region] = cached_region
99
93
  end
100
94
  end
101
-
102
95
  end
103
96
 
104
97
  # This handler detects when a request fails because of a mismatched bucket
@@ -106,7 +99,6 @@ module Aws
106
99
  # region, then finally a version 4 signed request against the correct
107
100
  # regional endpoint.
108
101
  class BucketRegionErrorHandler < Seahorse::Client::Handler
109
-
110
102
  def call(context)
111
103
  response = @handler.call(context)
112
104
  handle_region_errors(response)
@@ -115,7 +107,9 @@ module Aws
115
107
  private
116
108
 
117
109
  def handle_region_errors(response)
118
- if wrong_sigv4_region?(response) && !fips_region?(response)
110
+ if wrong_sigv4_region?(response) &&
111
+ !fips_region?(response) &&
112
+ !custom_endpoint?(response)
119
113
  get_region_and_retry(response.context)
120
114
  else
121
115
  response
@@ -139,12 +133,17 @@ module Aws
139
133
  resp.context.http_request.endpoint.host.include?('fips')
140
134
  end
141
135
 
136
+ def custom_endpoint?(resp)
137
+ resolved_suffix = Aws::Partitions::EndpointProvider.dns_suffix_for(
138
+ resp.context.config.region
139
+ )
140
+ !resp.context.http_request.endpoint.hostname.include?(resolved_suffix)
141
+ end
142
+
142
143
  def wrong_sigv4_region?(resp)
143
144
  resp.context.http_response.status_code == 400 &&
144
- (
145
- resp.context.http_response.headers['x-amz-bucket-region'] ||
146
- resp.context.http_response.body_contents.match(/<Region>.+?<\/Region>/)
147
- )
145
+ (resp.context.http_response.headers['x-amz-bucket-region'] ||
146
+ resp.context.http_response.body_contents.match(/<Region>.+?<\/Region>/))
148
147
  end
149
148
 
150
149
  def resign_with_new_region(context, actual_region)
@@ -162,7 +161,7 @@ module Aws
162
161
 
163
162
  def region_from_body(body)
164
163
  region = body.match(/<Region>(.+?)<\/Region>/)[1]
165
- if region.nil? || region == ""
164
+ if region.nil? || region == ''
166
165
  raise "couldn't get region from body: #{body}"
167
166
  else
168
167
  region
@@ -170,32 +169,30 @@ module Aws
170
169
  end
171
170
 
172
171
  def log_warning(context, actual_region)
173
- msg = "S3 client configured for #{context.config.region.inspect} " +
174
- "but the bucket #{context.params[:bucket].inspect} is in " +
175
- "#{actual_region.inspect}; Please configure the proper region " +
176
- "to avoid multiple unnecessary redirects and signing attempts\n"
177
- if logger = context.config.logger
172
+ msg = "S3 client configured for #{context.config.region.inspect} " \
173
+ "but the bucket #{context.params[:bucket].inspect} is in " \
174
+ "#{actual_region.inspect}; Please configure the proper region " \
175
+ "to avoid multiple unnecessary redirects and signing attempts\n"
176
+ if (logger = context.config.logger)
178
177
  logger.warn(msg)
179
178
  else
180
179
  warn(msg)
181
180
  end
182
181
  end
183
-
184
182
  end
185
183
 
186
184
  class << self
187
-
188
185
  # @option options [required, String] :region
189
186
  # @option options [required, #credentials] :credentials
190
187
  # @api private
191
188
  def build_v4_signer(options = {})
192
- Aws::Sigv4::Signer.new({
189
+ Aws::Sigv4::Signer.new(
193
190
  service: 's3',
194
191
  region: options[:region],
195
192
  credentials_provider: options[:credentials],
196
193
  uri_escape_path: false,
197
- unsigned_headers: ['content-length', 'x-amzn-trace-id'],
198
- })
194
+ unsigned_headers: ['content-length', 'x-amzn-trace-id']
195
+ )
199
196
  end
200
197
 
201
198
  def new_hostname(context, region)
@@ -6,6 +6,13 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::S3
9
+ # This class provides a resource oriented interface for S3.
10
+ # To create a resource object:
11
+ # resource = Aws::S3::Resource.new(region: 'us-west-2')
12
+ # You can supply a client object with custom configuration that will be used for all resource operations.
13
+ # If you do not pass +:client+, a default client will be constructed.
14
+ # client = Aws::S3::Client.new(region: 'us-west-2')
15
+ # resource = Aws::S3::Resource.new(client: client)
9
16
  class Resource
10
17
 
11
18
  # @param options ({})
@@ -433,6 +433,24 @@ module Aws::S3
433
433
  include Aws::Structure
434
434
  end
435
435
 
436
+ # The requested bucket name is not available. The bucket namespace is
437
+ # shared by all users of the system. Please select a different name and
438
+ # try again.
439
+ #
440
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BucketAlreadyExists AWS API Documentation
441
+ #
442
+ class BucketAlreadyExists < Aws::EmptyStructure; end
443
+
444
+ # The bucket you tried to create already exists, and you own it. Amazon
445
+ # S3 returns this error in all AWS Regions except in the North Virginia
446
+ # Region. For legacy compatibility, if you re-create an existing bucket
447
+ # that you already own in the North Virginia Region, Amazon S3 returns
448
+ # 200 OK and resets the bucket access control lists (ACLs).
449
+ #
450
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BucketAlreadyOwnedByYou AWS API Documentation
451
+ #
452
+ class BucketAlreadyOwnedByYou < Aws::EmptyStructure; end
453
+
436
454
  # Specifies the lifecycle configuration for objects in an Amazon S3
437
455
  # bucket. For more information, see [Object Lifecycle Management][1] in
438
456
  # the *Amazon Simple Storage Service Developer Guide*.
@@ -7614,6 +7632,24 @@ module Aws::S3
7614
7632
  include Aws::Structure
7615
7633
  end
7616
7634
 
7635
+ # The specified bucket does not exist.
7636
+ #
7637
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NoSuchBucket AWS API Documentation
7638
+ #
7639
+ class NoSuchBucket < Aws::EmptyStructure; end
7640
+
7641
+ # The specified key does not exist.
7642
+ #
7643
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NoSuchKey AWS API Documentation
7644
+ #
7645
+ class NoSuchKey < Aws::EmptyStructure; end
7646
+
7647
+ # The specified multipart upload does not exist.
7648
+ #
7649
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NoSuchUpload AWS API Documentation
7650
+ #
7651
+ class NoSuchUpload < Aws::EmptyStructure; end
7652
+
7617
7653
  # Specifies when noncurrent object versions expire. Upon expiration,
7618
7654
  # Amazon S3 permanently deletes the noncurrent object versions. You set
7619
7655
  # this lifecycle configuration action on a bucket that has versioning
@@ -7896,6 +7932,12 @@ module Aws::S3
7896
7932
  include Aws::Structure
7897
7933
  end
7898
7934
 
7935
+ # This operation is not allowed against this storage tier.
7936
+ #
7937
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectAlreadyInActiveTierError AWS API Documentation
7938
+ #
7939
+ class ObjectAlreadyInActiveTierError < Aws::EmptyStructure; end
7940
+
7899
7941
  # Object Identifier is unique value to identify objects.
7900
7942
  #
7901
7943
  # @note When making an API call, you may pass ObjectIdentifier
@@ -8026,6 +8068,13 @@ module Aws::S3
8026
8068
  include Aws::Structure
8027
8069
  end
8028
8070
 
8071
+ # The source object of the COPY operation is not in the active tier and
8072
+ # is only stored in Amazon S3 Glacier.
8073
+ #
8074
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ObjectNotInActiveTierError AWS API Documentation
8075
+ #
8076
+ class ObjectNotInActiveTierError < Aws::EmptyStructure; end
8077
+
8029
8078
  # The version of an object.
8030
8079
  #
8031
8080
  # @!attribute [rw] etag
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.60.2
4
+ version: 1.61.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-02-07 00:00:00.000000000 Z
11
+ date: 2020-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-kms