aws-sdk-s3 1.60.2 → 1.61.0

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