aws-sdk-s3 1.57.0 → 1.58.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 +4 -4
- data/lib/aws-sdk-s3.rb +1 -1
- data/lib/aws-sdk-s3/bucket.rb +39 -29
- data/lib/aws-sdk-s3/bucket_acl.rb +1 -0
- data/lib/aws-sdk-s3/bucket_cors.rb +3 -2
- data/lib/aws-sdk-s3/bucket_lifecycle.rb +1 -0
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +1 -0
- data/lib/aws-sdk-s3/bucket_logging.rb +1 -0
- data/lib/aws-sdk-s3/bucket_notification.rb +1 -0
- data/lib/aws-sdk-s3/bucket_policy.rb +1 -0
- data/lib/aws-sdk-s3/bucket_request_payment.rb +1 -0
- data/lib/aws-sdk-s3/bucket_tagging.rb +2 -1
- data/lib/aws-sdk-s3/bucket_versioning.rb +1 -0
- data/lib/aws-sdk-s3/bucket_website.rb +1 -0
- data/lib/aws-sdk-s3/client.rb +882 -581
- data/lib/aws-sdk-s3/customizations/bucket.rb +41 -14
- data/lib/aws-sdk-s3/multipart_upload.rb +22 -9
- data/lib/aws-sdk-s3/multipart_upload_part.rb +34 -25
- data/lib/aws-sdk-s3/object.rb +156 -115
- data/lib/aws-sdk-s3/object_acl.rb +9 -4
- data/lib/aws-sdk-s3/object_summary.rb +126 -86
- data/lib/aws-sdk-s3/object_version.rb +56 -39
- data/lib/aws-sdk-s3/plugins/bucket_arn.rb +212 -0
- data/lib/aws-sdk-s3/plugins/bucket_dns.rb +7 -7
- data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +23 -3
- data/lib/aws-sdk-s3/types.rb +792 -410
- metadata +3 -2
@@ -3,6 +3,20 @@ require 'uri'
|
|
3
3
|
module Aws
|
4
4
|
module S3
|
5
5
|
class Bucket
|
6
|
+
# Save the old initialize method so that we can call 'super'.
|
7
|
+
old_initialize = instance_method(:initialize)
|
8
|
+
# Define a new initialize method that extracts out a bucket ARN.
|
9
|
+
define_method(:initialize) do |*args|
|
10
|
+
old_initialize.bind(self).call(*args)
|
11
|
+
bucket_name, region, arn = Plugins::BucketARN.resolve_arn!(
|
12
|
+
name,
|
13
|
+
client.config.region,
|
14
|
+
client.config.s3_use_arn_region
|
15
|
+
)
|
16
|
+
@name = bucket_name
|
17
|
+
@client.config.region = region
|
18
|
+
@arn = arn
|
19
|
+
end
|
6
20
|
|
7
21
|
# Deletes all objects and versioned objects from this bucket
|
8
22
|
#
|
@@ -31,10 +45,10 @@ module Aws
|
|
31
45
|
# each attempt.
|
32
46
|
#
|
33
47
|
# @return [void]
|
34
|
-
def delete!
|
48
|
+
def delete!(options = {})
|
35
49
|
options = {
|
36
50
|
initial_wait: 1.3,
|
37
|
-
max_attempts: 3
|
51
|
+
max_attempts: 3
|
38
52
|
}.merge(options)
|
39
53
|
|
40
54
|
attempts = 0
|
@@ -43,20 +57,30 @@ module Aws
|
|
43
57
|
delete
|
44
58
|
rescue Errors::BucketNotEmpty
|
45
59
|
attempts += 1
|
46
|
-
if attempts >= options[:max_attempts]
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
retry
|
51
|
-
end
|
60
|
+
raise if attempts >= options[:max_attempts]
|
61
|
+
|
62
|
+
Kernel.sleep(options[:initial_wait]**attempts)
|
63
|
+
retry
|
52
64
|
end
|
53
65
|
end
|
54
66
|
|
55
67
|
# Returns a public URL for this bucket.
|
56
68
|
#
|
57
|
-
#
|
58
|
-
#
|
59
|
-
#
|
69
|
+
# @example
|
70
|
+
#
|
71
|
+
# bucket = s3.bucket('bucket-name')
|
72
|
+
# bucket.url
|
73
|
+
# #=> "https://bucket-name.s3.amazonaws.com"
|
74
|
+
#
|
75
|
+
# It will also work when provided an Access Point ARN.
|
76
|
+
#
|
77
|
+
# @example
|
78
|
+
#
|
79
|
+
# bucket = s3.bucket(
|
80
|
+
# 'arn:aws:s3:us-east-1:123456789012:accesspoint:myendpoint'
|
81
|
+
# )
|
82
|
+
# bucket.url
|
83
|
+
# #=> "https://myendpoint-123456789012.s3-accesspoint.us-west-2.amazonaws.com"
|
60
84
|
#
|
61
85
|
# You can pass `virtual_host: true` to use the bucket name as the
|
62
86
|
# host name.
|
@@ -73,6 +97,8 @@ module Aws
|
|
73
97
|
def url(options = {})
|
74
98
|
if options[:virtual_host]
|
75
99
|
"http://#{name}"
|
100
|
+
elsif @arn
|
101
|
+
Plugins::BucketARN.resolve_url!(URI.parse(s3_bucket_url), @arn).to_s
|
76
102
|
else
|
77
103
|
s3_bucket_url
|
78
104
|
end
|
@@ -93,7 +119,7 @@ module Aws
|
|
93
119
|
client.config.credentials,
|
94
120
|
client.config.region,
|
95
121
|
name,
|
96
|
-
{url: url}.merge(options)
|
122
|
+
{ url: url }.merge(options)
|
97
123
|
)
|
98
124
|
end
|
99
125
|
|
@@ -101,6 +127,7 @@ module Aws
|
|
101
127
|
def load
|
102
128
|
@data = client.list_buckets.buckets.find { |b| b.name == name }
|
103
129
|
raise "unable to load bucket #{name}" if @data.nil?
|
130
|
+
|
104
131
|
self
|
105
132
|
end
|
106
133
|
|
@@ -115,7 +142,7 @@ module Aws
|
|
115
142
|
url.path += Seahorse::Util.uri_escape(name)
|
116
143
|
end
|
117
144
|
if (client.config.region == 'us-east-1') &&
|
118
|
-
|
145
|
+
(client.config.s3_us_east_1_regional_endpoint == 'legacy')
|
119
146
|
url.host = Plugins::IADRegionalEndpoint.legacy_host(url.host)
|
120
147
|
end
|
121
148
|
url.to_s
|
@@ -123,7 +150,7 @@ module Aws
|
|
123
150
|
|
124
151
|
def bucket_as_hostname?(https)
|
125
152
|
Plugins::BucketDns.dns_compatible?(name, https) &&
|
126
|
-
|
153
|
+
!client.config.force_path_style
|
127
154
|
end
|
128
155
|
|
129
156
|
end
|
@@ -27,6 +27,7 @@ module Aws::S3
|
|
27
27
|
@id = extract_id(args, options)
|
28
28
|
@data = options.delete(:data)
|
29
29
|
@client = options.delete(:client) || Client.new(options)
|
30
|
+
@waiter_block_warned = false
|
30
31
|
end
|
31
32
|
|
32
33
|
# @!group Read-Only Attributes
|
@@ -219,9 +220,13 @@ module Aws::S3
|
|
219
220
|
# @option options [String] :request_payer
|
220
221
|
# Confirms that the requester knows that she or he will be charged for
|
221
222
|
# the request. Bucket owners need not specify this parameter in their
|
222
|
-
# requests.
|
223
|
-
# buckets
|
224
|
-
#
|
223
|
+
# requests. For information about downloading objects from Requester
|
224
|
+
# Pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
|
225
|
+
# in the *Amazon S3 Developer Guide*.
|
226
|
+
#
|
227
|
+
#
|
228
|
+
#
|
229
|
+
# [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
225
230
|
# @return [Types::AbortMultipartUploadOutput]
|
226
231
|
def abort(options = {})
|
227
232
|
options = options.merge(
|
@@ -252,9 +257,13 @@ module Aws::S3
|
|
252
257
|
# @option options [String] :request_payer
|
253
258
|
# Confirms that the requester knows that she or he will be charged for
|
254
259
|
# the request. Bucket owners need not specify this parameter in their
|
255
|
-
# requests.
|
256
|
-
# buckets
|
257
|
-
#
|
260
|
+
# requests. For information about downloading objects from Requester
|
261
|
+
# Pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
|
262
|
+
# in the *Amazon S3 Developer Guide*.
|
263
|
+
#
|
264
|
+
#
|
265
|
+
#
|
266
|
+
# [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
258
267
|
# @return [Object]
|
259
268
|
def complete(options = {})
|
260
269
|
options = options.merge(
|
@@ -302,9 +311,13 @@ module Aws::S3
|
|
302
311
|
# @option options [String] :request_payer
|
303
312
|
# Confirms that the requester knows that she or he will be charged for
|
304
313
|
# the request. Bucket owners need not specify this parameter in their
|
305
|
-
# requests.
|
306
|
-
# buckets
|
307
|
-
#
|
314
|
+
# requests. For information about downloading objects from Requester
|
315
|
+
# Pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
|
316
|
+
# in the *Amazon S3 Developer Guide*.
|
317
|
+
#
|
318
|
+
#
|
319
|
+
#
|
320
|
+
# [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
308
321
|
# @return [MultipartUploadPart::Collection]
|
309
322
|
def parts(options = {})
|
310
323
|
batches = Enumerator.new do |y|
|
@@ -30,6 +30,7 @@ module Aws::S3
|
|
30
30
|
@part_number = extract_part_number(args, options)
|
31
31
|
@data = options.delete(:data)
|
32
32
|
@client = options.delete(:client) || Client.new(options)
|
33
|
+
@waiter_block_warned = false
|
33
34
|
end
|
34
35
|
|
35
36
|
# @!group Read-Only Attributes
|
@@ -234,26 +235,26 @@ module Aws::S3
|
|
234
235
|
# The range of bytes to copy from the source object. The range value
|
235
236
|
# must use the form bytes=first-last, where the first and last are the
|
236
237
|
# zero-based byte offsets to copy. For example, bytes=0-9 indicates that
|
237
|
-
# you want to copy the first
|
238
|
+
# you want to copy the first 10 bytes of the source. You can copy a
|
238
239
|
# range only if the source object is greater than 5 MB.
|
239
240
|
# @option options [String] :sse_customer_algorithm
|
240
|
-
# Specifies the algorithm to use to when encrypting the object (
|
241
|
-
# AES256).
|
241
|
+
# Specifies the algorithm to use to when encrypting the object (for
|
242
|
+
# example, AES256).
|
242
243
|
# @option options [String] :sse_customer_key
|
243
244
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
244
245
|
# encrypting data. This value is used to store the object and then it is
|
245
|
-
# discarded; Amazon does not store the encryption key. The key must
|
246
|
-
# appropriate for use with the algorithm specified in the
|
247
|
-
# x-amz-server-side-encryption-customer-algorithm header. This must
|
248
|
-
# the same encryption key specified in the initiate multipart upload
|
246
|
+
# discarded; Amazon S3 does not store the encryption key. The key must
|
247
|
+
# be appropriate for use with the algorithm specified in the
|
248
|
+
# `x-amz-server-side-encryption-customer-algorithm` header. This must
|
249
|
+
# be the same encryption key specified in the initiate multipart upload
|
249
250
|
# request.
|
250
251
|
# @option options [String] :sse_customer_key_md5
|
251
252
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
252
253
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
253
|
-
# ensure the encryption key was transmitted without error.
|
254
|
+
# ensure that the encryption key was transmitted without error.
|
254
255
|
# @option options [String] :copy_source_sse_customer_algorithm
|
255
|
-
# Specifies the algorithm to use when decrypting the source object
|
256
|
-
#
|
256
|
+
# Specifies the algorithm to use when decrypting the source object (for
|
257
|
+
# example, AES256).
|
257
258
|
# @option options [String] :copy_source_sse_customer_key
|
258
259
|
# Specifies the customer-provided encryption key for Amazon S3 to use to
|
259
260
|
# decrypt the source object. The encryption key provided in this header
|
@@ -261,13 +262,17 @@ module Aws::S3
|
|
261
262
|
# @option options [String] :copy_source_sse_customer_key_md5
|
262
263
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
263
264
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
264
|
-
# ensure the encryption key was transmitted without error.
|
265
|
+
# ensure that the encryption key was transmitted without error.
|
265
266
|
# @option options [String] :request_payer
|
266
267
|
# Confirms that the requester knows that she or he will be charged for
|
267
268
|
# the request. Bucket owners need not specify this parameter in their
|
268
|
-
# requests.
|
269
|
-
# buckets
|
270
|
-
#
|
269
|
+
# requests. For information about downloading objects from Requester
|
270
|
+
# Pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
|
271
|
+
# in the *Amazon S3 Developer Guide*.
|
272
|
+
#
|
273
|
+
#
|
274
|
+
#
|
275
|
+
# [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
271
276
|
# @return [Types::UploadPartCopyOutput]
|
272
277
|
def copy_from(options = {})
|
273
278
|
options = options.merge(
|
@@ -299,29 +304,33 @@ module Aws::S3
|
|
299
304
|
# the body cannot be determined automatically.
|
300
305
|
# @option options [String] :content_md5
|
301
306
|
# The base64-encoded 128-bit MD5 digest of the part data. This parameter
|
302
|
-
# is auto-populated when using the command from the CLI. This
|
307
|
+
# is auto-populated when using the command from the CLI. This parameter
|
303
308
|
# is required if object lock parameters are specified.
|
304
309
|
# @option options [String] :sse_customer_algorithm
|
305
|
-
# Specifies the algorithm to use to when encrypting the object (
|
306
|
-
# AES256).
|
310
|
+
# Specifies the algorithm to use to when encrypting the object (for
|
311
|
+
# example, AES256).
|
307
312
|
# @option options [String] :sse_customer_key
|
308
313
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
309
314
|
# encrypting data. This value is used to store the object and then it is
|
310
|
-
# discarded; Amazon does not store the encryption key. The key must
|
311
|
-
# appropriate for use with the algorithm specified in the
|
312
|
-
# x-amz-server-side-encryption-customer-algorithm header
|
313
|
-
# the same encryption key specified in the initiate multipart upload
|
315
|
+
# discarded; Amazon S3 does not store the encryption key. The key must
|
316
|
+
# be appropriate for use with the algorithm specified in the
|
317
|
+
# `x-amz-server-side-encryption-customer-algorithm header`. This must
|
318
|
+
# be the same encryption key specified in the initiate multipart upload
|
314
319
|
# request.
|
315
320
|
# @option options [String] :sse_customer_key_md5
|
316
321
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
317
322
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
318
|
-
# ensure the encryption key was transmitted without error.
|
323
|
+
# ensure that the encryption key was transmitted without error.
|
319
324
|
# @option options [String] :request_payer
|
320
325
|
# Confirms that the requester knows that she or he will be charged for
|
321
326
|
# the request. Bucket owners need not specify this parameter in their
|
322
|
-
# requests.
|
323
|
-
# buckets
|
324
|
-
#
|
327
|
+
# requests. For information about downloading objects from Requester
|
328
|
+
# Pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
|
329
|
+
# in the *Amazon S3 Developer Guide*.
|
330
|
+
#
|
331
|
+
#
|
332
|
+
#
|
333
|
+
# [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
325
334
|
# @return [Types::UploadPartOutput]
|
326
335
|
def upload(options = {})
|
327
336
|
options = options.merge(
|
data/lib/aws-sdk-s3/object.rb
CHANGED
@@ -24,6 +24,7 @@ module Aws::S3
|
|
24
24
|
@key = extract_key(args, options)
|
25
25
|
@data = options.delete(:data)
|
26
26
|
@client = options.delete(:client) || Client.new(options)
|
27
|
+
@waiter_block_warned = false
|
27
28
|
end
|
28
29
|
|
29
30
|
# @!group Read-Only Attributes
|
@@ -46,7 +47,7 @@ module Aws::S3
|
|
46
47
|
data[:delete_marker]
|
47
48
|
end
|
48
49
|
|
49
|
-
# Indicates that a range of bytes was
|
50
|
+
# Indicates that a range of bytes was specified.
|
50
51
|
# @return [String]
|
51
52
|
def accept_ranges
|
52
53
|
data[:accept_ranges]
|
@@ -54,7 +55,7 @@ module Aws::S3
|
|
54
55
|
|
55
56
|
# If the object expiration is configured (see PUT Bucket lifecycle), the
|
56
57
|
# response includes this header. It includes the expiry-date and rule-id
|
57
|
-
# key
|
58
|
+
# key-value pairs providing object expiration information. The value of
|
58
59
|
# the rule-id is URL encoded.
|
59
60
|
# @return [String]
|
60
61
|
def expiration
|
@@ -99,14 +100,14 @@ module Aws::S3
|
|
99
100
|
end
|
100
101
|
|
101
102
|
# An ETag is an opaque identifier assigned by a web server to a specific
|
102
|
-
# version of a resource found at a URL
|
103
|
+
# version of a resource found at a URL.
|
103
104
|
# @return [String]
|
104
105
|
def etag
|
105
106
|
data[:etag]
|
106
107
|
end
|
107
108
|
|
108
109
|
# This is set to the number of metadata entries not returned in
|
109
|
-
# x-amz-meta headers. This can happen if you create metadata using an
|
110
|
+
# `x-amz-meta` headers. This can happen if you create metadata using an
|
110
111
|
# API like SOAP that supports more flexible metadata than the REST API.
|
111
112
|
# For example, using SOAP, you can create metadata whose values are not
|
112
113
|
# legal HTTP headers.
|
@@ -175,8 +176,8 @@ module Aws::S3
|
|
175
176
|
# If the object is stored using server-side encryption either with an
|
176
177
|
# AWS KMS customer master key (CMK) or an Amazon S3-managed encryption
|
177
178
|
# key, the response includes this header with the value of the
|
178
|
-
#
|
179
|
-
# (
|
179
|
+
# server-side encryption algorithm used when storing this object in
|
180
|
+
# Amazon S3 (for example, AES256, aws:kms).
|
180
181
|
# @return [String]
|
181
182
|
def server_side_encryption
|
182
183
|
data[:server_side_encryption]
|
@@ -197,7 +198,7 @@ module Aws::S3
|
|
197
198
|
end
|
198
199
|
|
199
200
|
# If server-side encryption with a customer-provided encryption key was
|
200
|
-
# requested, the response will include this header to provide round
|
201
|
+
# requested, the response will include this header to provide round-trip
|
201
202
|
# message integrity verification of the customer-provided encryption
|
202
203
|
# key.
|
203
204
|
# @return [String]
|
@@ -205,8 +206,8 @@ module Aws::S3
|
|
205
206
|
data[:sse_customer_key_md5]
|
206
207
|
end
|
207
208
|
|
208
|
-
# If present, specifies the ID of the AWS Key Management Service (
|
209
|
-
# customer master key (CMK) that was used for the object.
|
209
|
+
# If present, specifies the ID of the AWS Key Management Service (AWS
|
210
|
+
# KMS) customer master key (CMK) that was used for the object.
|
210
211
|
# @return [String]
|
211
212
|
def ssekms_key_id
|
212
213
|
data[:ssekms_key_id]
|
@@ -235,27 +236,28 @@ module Aws::S3
|
|
235
236
|
# Amazon S3 can return this header if your request involves a bucket
|
236
237
|
# that is either a source or destination in a replication rule.
|
237
238
|
#
|
238
|
-
# In replication you have a source bucket on which you configure
|
239
|
+
# In replication, you have a source bucket on which you configure
|
239
240
|
# replication and destination bucket where Amazon S3 stores object
|
240
|
-
# replicas. When you request an object (GetObject) or object metadata
|
241
|
-
# (HeadObject) from these buckets, Amazon S3 will return the
|
242
|
-
# x-amz-replication-status header in the response as follows:
|
243
|
-
#
|
244
|
-
# * If requesting object from the source bucket — Amazon S3 will
|
245
|
-
# the x-amz-replication-status header if object in your
|
246
|
-
# eligible for replication.
|
247
|
-
#
|
248
|
-
# For example, suppose in your replication configuration you
|
249
|
-
# object prefix
|
250
|
-
# with key prefix
|
251
|
-
# key name prefix, for example
|
252
|
-
# for replication. For any object request with this key name prefix
|
253
|
-
# Amazon S3 will return the x-amz-replication-status header with
|
254
|
-
# PENDING, COMPLETED or FAILED indicating object replication
|
255
|
-
#
|
256
|
-
#
|
257
|
-
#
|
258
|
-
#
|
241
|
+
# replicas. When you request an object (`GetObject`) or object metadata
|
242
|
+
# (`HeadObject`) from these buckets, Amazon S3 will return the
|
243
|
+
# `x-amz-replication-status` header in the response as follows:
|
244
|
+
#
|
245
|
+
# * If requesting an object from the source bucket — Amazon S3 will
|
246
|
+
# return the `x-amz-replication-status` header if the object in your
|
247
|
+
# request is eligible for replication.
|
248
|
+
#
|
249
|
+
# For example, suppose that in your replication configuration, you
|
250
|
+
# specify object prefix `TaxDocs` requesting Amazon S3 to replicate
|
251
|
+
# objects with key prefix `TaxDocs`. Any objects you upload with this
|
252
|
+
# key name prefix, for example `TaxDocs/document1.pdf`, are eligible
|
253
|
+
# for replication. For any object request with this key name prefix,
|
254
|
+
# Amazon S3 will return the `x-amz-replication-status` header with
|
255
|
+
# value PENDING, COMPLETED or FAILED indicating object replication
|
256
|
+
# status.
|
257
|
+
#
|
258
|
+
# * If requesting an object from the destination bucket — Amazon S3 will
|
259
|
+
# return the `x-amz-replication-status` header with value REPLICA if
|
260
|
+
# the object in your request is a replica that Amazon S3 created.
|
259
261
|
#
|
260
262
|
# For more information, see [Replication][1].
|
261
263
|
#
|
@@ -584,8 +586,8 @@ module Aws::S3
|
|
584
586
|
# Specifies whether the object tag-set are copied from the source object
|
585
587
|
# or replaced with tag-set provided in the request.
|
586
588
|
# @option options [String] :server_side_encryption
|
587
|
-
# The
|
588
|
-
# S3 (
|
589
|
+
# The server-side encryption algorithm used when storing this object in
|
590
|
+
# Amazon S3 (for example, AES256, aws:kms).
|
589
591
|
# @option options [String] :storage_class
|
590
592
|
# The type of storage to use for the object. Defaults to 'STANDARD'.
|
591
593
|
# @option options [String] :website_redirect_location
|
@@ -593,31 +595,36 @@ module Aws::S3
|
|
593
595
|
# object to another object in the same bucket or to an external URL.
|
594
596
|
# Amazon S3 stores the value of this header in the object metadata.
|
595
597
|
# @option options [String] :sse_customer_algorithm
|
596
|
-
# Specifies the algorithm to use to when encrypting the object (
|
597
|
-
# AES256).
|
598
|
+
# Specifies the algorithm to use to when encrypting the object (for
|
599
|
+
# example, AES256).
|
598
600
|
# @option options [String] :sse_customer_key
|
599
601
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
600
602
|
# encrypting data. This value is used to store the object and then it is
|
601
|
-
# discarded; Amazon does not store the encryption key. The key must
|
602
|
-
# appropriate for use with the algorithm specified in the
|
603
|
-
# x-amz-server-side-encryption-customer-algorithm header.
|
603
|
+
# discarded; Amazon S3 does not store the encryption key. The key must
|
604
|
+
# be appropriate for use with the algorithm specified in the
|
605
|
+
# `x-amz-server-side-encryption-customer-algorithm` header.
|
604
606
|
# @option options [String] :sse_customer_key_md5
|
605
607
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
606
608
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
607
|
-
# ensure the encryption key was transmitted without error.
|
609
|
+
# ensure that the encryption key was transmitted without error.
|
608
610
|
# @option options [String] :ssekms_key_id
|
609
611
|
# Specifies the AWS KMS key ID to use for object encryption. All GET and
|
610
612
|
# PUT requests for an object protected by AWS KMS will fail if not made
|
611
|
-
# via SSL or using SigV4.
|
612
|
-
# officially supported AWS SDKs and CLI
|
613
|
-
#
|
613
|
+
# via SSL or using SigV4. For information about configuring using any of
|
614
|
+
# the officially supported AWS SDKs and AWS CLI, see [Specifying the
|
615
|
+
# Signature Version in Request Authentication][1] in the *Amazon S3
|
616
|
+
# Developer Guide*.
|
617
|
+
#
|
618
|
+
#
|
619
|
+
#
|
620
|
+
# [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
614
621
|
# @option options [String] :ssekms_encryption_context
|
615
622
|
# Specifies the AWS KMS Encryption Context to use for object encryption.
|
616
623
|
# The value of this header is a base64-encoded UTF-8 string holding JSON
|
617
624
|
# with the encryption context key-value pairs.
|
618
625
|
# @option options [String] :copy_source_sse_customer_algorithm
|
619
|
-
# Specifies the algorithm to use when decrypting the source object
|
620
|
-
#
|
626
|
+
# Specifies the algorithm to use when decrypting the source object (for
|
627
|
+
# example, AES256).
|
621
628
|
# @option options [String] :copy_source_sse_customer_key
|
622
629
|
# Specifies the customer-provided encryption key for Amazon S3 to use to
|
623
630
|
# decrypt the source object. The encryption key provided in this header
|
@@ -625,17 +632,21 @@ module Aws::S3
|
|
625
632
|
# @option options [String] :copy_source_sse_customer_key_md5
|
626
633
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
627
634
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
628
|
-
# ensure the encryption key was transmitted without error.
|
635
|
+
# ensure that the encryption key was transmitted without error.
|
629
636
|
# @option options [String] :request_payer
|
630
637
|
# Confirms that the requester knows that she or he will be charged for
|
631
638
|
# the request. Bucket owners need not specify this parameter in their
|
632
|
-
# requests.
|
633
|
-
# buckets
|
634
|
-
#
|
639
|
+
# requests. For information about downloading objects from Requester
|
640
|
+
# Pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
|
641
|
+
# in the *Amazon S3 Developer Guide*.
|
642
|
+
#
|
643
|
+
#
|
644
|
+
#
|
645
|
+
# [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
635
646
|
# @option options [String] :tagging
|
636
647
|
# The tag-set for the object destination object this value must be used
|
637
|
-
# in conjunction with the TaggingDirective
|
638
|
-
# as URL Query parameters
|
648
|
+
# in conjunction with the `TaggingDirective`. The tag-set must be
|
649
|
+
# encoded as URL Query parameters.
|
639
650
|
# @option options [String] :object_lock_mode
|
640
651
|
# The Object Lock mode that you want to apply to the copied object.
|
641
652
|
# @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
|
@@ -665,16 +676,20 @@ module Aws::S3
|
|
665
676
|
# @option options [String] :mfa
|
666
677
|
# The concatenation of the authentication device's serial number, a
|
667
678
|
# space, and the value that is displayed on your authentication device.
|
668
|
-
# Required to permanently delete a
|
669
|
-
# configured with MFA
|
679
|
+
# Required to permanently delete a versioned object if versioning is
|
680
|
+
# configured with MFA delete enabled.
|
670
681
|
# @option options [String] :version_id
|
671
682
|
# VersionId used to reference a specific version of the object.
|
672
683
|
# @option options [String] :request_payer
|
673
684
|
# Confirms that the requester knows that she or he will be charged for
|
674
685
|
# the request. Bucket owners need not specify this parameter in their
|
675
|
-
# requests.
|
676
|
-
# buckets
|
677
|
-
#
|
686
|
+
# requests. For information about downloading objects from Requester
|
687
|
+
# Pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
|
688
|
+
# in the *Amazon S3 Developer Guide*.
|
689
|
+
#
|
690
|
+
#
|
691
|
+
#
|
692
|
+
# [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
678
693
|
# @option options [Boolean] :bypass_governance_retention
|
679
694
|
# Indicates whether S3 Object Lock should bypass Governance-mode
|
680
695
|
# restrictions to process this operation.
|
@@ -724,41 +739,45 @@ module Aws::S3
|
|
724
739
|
# time, otherwise return a 412 (precondition failed).
|
725
740
|
# @option options [String] :range
|
726
741
|
# Downloads the specified range bytes of an object. For more information
|
727
|
-
# about the HTTP Range header,
|
728
|
-
# http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
|
742
|
+
# about the HTTP Range header, see
|
743
|
+
# [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35]().
|
729
744
|
# @option options [String] :response_cache_control
|
730
|
-
# Sets the Cache-Control header of the response.
|
745
|
+
# Sets the `Cache-Control` header of the response.
|
731
746
|
# @option options [String] :response_content_disposition
|
732
|
-
# Sets the Content-Disposition header of the response
|
747
|
+
# Sets the `Content-Disposition` header of the response
|
733
748
|
# @option options [String] :response_content_encoding
|
734
|
-
# Sets the Content-Encoding header of the response.
|
749
|
+
# Sets the `Content-Encoding` header of the response.
|
735
750
|
# @option options [String] :response_content_language
|
736
|
-
# Sets the Content-Language header of the response.
|
751
|
+
# Sets the `Content-Language` header of the response.
|
737
752
|
# @option options [String] :response_content_type
|
738
|
-
# Sets the Content-Type header of the response.
|
753
|
+
# Sets the `Content-Type` header of the response.
|
739
754
|
# @option options [Time,DateTime,Date,Integer,String] :response_expires
|
740
|
-
# Sets the Expires header of the response.
|
755
|
+
# Sets the `Expires` header of the response.
|
741
756
|
# @option options [String] :version_id
|
742
757
|
# VersionId used to reference a specific version of the object.
|
743
758
|
# @option options [String] :sse_customer_algorithm
|
744
|
-
# Specifies the algorithm to use to when encrypting the object (
|
745
|
-
# AES256).
|
759
|
+
# Specifies the algorithm to use to when encrypting the object (for
|
760
|
+
# example, AES256).
|
746
761
|
# @option options [String] :sse_customer_key
|
747
762
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
748
763
|
# encrypting data. This value is used to store the object and then it is
|
749
|
-
# discarded; Amazon does not store the encryption key. The key must
|
750
|
-
# appropriate for use with the algorithm specified in the
|
751
|
-
# x-amz-server-side-encryption-customer-algorithm header.
|
764
|
+
# discarded; Amazon S3 does not store the encryption key. The key must
|
765
|
+
# be appropriate for use with the algorithm specified in the
|
766
|
+
# `x-amz-server-side-encryption-customer-algorithm` header.
|
752
767
|
# @option options [String] :sse_customer_key_md5
|
753
768
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
754
769
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
755
|
-
# ensure the encryption key was transmitted without error.
|
770
|
+
# ensure that the encryption key was transmitted without error.
|
756
771
|
# @option options [String] :request_payer
|
757
772
|
# Confirms that the requester knows that she or he will be charged for
|
758
773
|
# the request. Bucket owners need not specify this parameter in their
|
759
|
-
# requests.
|
760
|
-
# buckets
|
761
|
-
#
|
774
|
+
# requests. For information about downloading objects from Requester
|
775
|
+
# Pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
|
776
|
+
# in the *Amazon S3 Developer Guide*.
|
777
|
+
#
|
778
|
+
#
|
779
|
+
#
|
780
|
+
# [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
762
781
|
# @option options [Integer] :part_number
|
763
782
|
# Part number of the object being read. This is a positive integer
|
764
783
|
# between 1 and 10,000. Effectively performs a 'ranged' GET request
|
@@ -834,8 +853,8 @@ module Aws::S3
|
|
834
853
|
# @option options [Hash<String,String>] :metadata
|
835
854
|
# A map of metadata to store with the object in S3.
|
836
855
|
# @option options [String] :server_side_encryption
|
837
|
-
# The
|
838
|
-
# S3 (
|
856
|
+
# The server-side encryption algorithm used when storing this object in
|
857
|
+
# Amazon S3 (for example, AES256, aws:kms).
|
839
858
|
# @option options [String] :storage_class
|
840
859
|
# The type of storage to use for the object. Defaults to 'STANDARD'.
|
841
860
|
# @option options [String] :website_redirect_location
|
@@ -843,24 +862,29 @@ module Aws::S3
|
|
843
862
|
# object to another object in the same bucket or to an external URL.
|
844
863
|
# Amazon S3 stores the value of this header in the object metadata.
|
845
864
|
# @option options [String] :sse_customer_algorithm
|
846
|
-
# Specifies the algorithm to use to when encrypting the object (
|
847
|
-
# AES256).
|
865
|
+
# Specifies the algorithm to use to when encrypting the object (for
|
866
|
+
# example, AES256).
|
848
867
|
# @option options [String] :sse_customer_key
|
849
868
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
850
869
|
# encrypting data. This value is used to store the object and then it is
|
851
|
-
# discarded; Amazon does not store the encryption key. The key must
|
852
|
-
# appropriate for use with the algorithm specified in the
|
853
|
-
# x-amz-server-side-encryption-customer-algorithm header.
|
870
|
+
# discarded; Amazon S3 does not store the encryption key. The key must
|
871
|
+
# be appropriate for use with the algorithm specified in the
|
872
|
+
# `x-amz-server-side-encryption-customer-algorithm` header.
|
854
873
|
# @option options [String] :sse_customer_key_md5
|
855
874
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
856
875
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
857
|
-
# ensure the encryption key was transmitted without error.
|
876
|
+
# ensure that the encryption key was transmitted without error.
|
858
877
|
# @option options [String] :ssekms_key_id
|
859
878
|
# Specifies the AWS KMS key ID to use for object encryption. All GET and
|
860
879
|
# PUT requests for an object protected by AWS KMS will fail if not made
|
861
|
-
# via SSL or using SigV4.
|
862
|
-
# officially supported AWS SDKs and CLI
|
863
|
-
#
|
880
|
+
# via SSL or using SigV4. For information about configuring using any of
|
881
|
+
# the officially supported AWS SDKs and AWS CLI, see [Specifying the
|
882
|
+
# Signature Version in Request Authentication][1] in the *Amazon S3
|
883
|
+
# Developer Guide*.
|
884
|
+
#
|
885
|
+
#
|
886
|
+
#
|
887
|
+
# [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
|
864
888
|
# @option options [String] :ssekms_encryption_context
|
865
889
|
# Specifies the AWS KMS Encryption Context to use for object encryption.
|
866
890
|
# The value of this header is a base64-encoded UTF-8 string holding JSON
|
@@ -868,12 +892,16 @@ module Aws::S3
|
|
868
892
|
# @option options [String] :request_payer
|
869
893
|
# Confirms that the requester knows that she or he will be charged for
|
870
894
|
# the request. Bucket owners need not specify this parameter in their
|
871
|
-
# requests.
|
872
|
-
# buckets
|
873
|
-
#
|
895
|
+
# requests. For information about downloading objects from Requester
|
896
|
+
# Pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
|
897
|
+
# in the *Amazon S3 Developer Guide*.
|
898
|
+
#
|
899
|
+
#
|
900
|
+
#
|
901
|
+
# [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
874
902
|
# @option options [String] :tagging
|
875
903
|
# The tag-set for the object. The tag-set must be encoded as URL Query
|
876
|
-
# parameters
|
904
|
+
# parameters.
|
877
905
|
# @option options [String] :object_lock_mode
|
878
906
|
# Specifies the Object Lock mode that you want to apply to the uploaded
|
879
907
|
# object.
|
@@ -1016,8 +1044,8 @@ module Aws::S3
|
|
1016
1044
|
# @option options [Hash<String,String>] :metadata
|
1017
1045
|
# A map of metadata to store with the object in S3.
|
1018
1046
|
# @option options [String] :server_side_encryption
|
1019
|
-
# The
|
1020
|
-
# S3 (
|
1047
|
+
# The server-side encryption algorithm used when storing this object in
|
1048
|
+
# Amazon S3 (for example, AES256, aws:kms).
|
1021
1049
|
# @option options [String] :storage_class
|
1022
1050
|
# If you don't specify, Standard is the default storage class. Amazon
|
1023
1051
|
# S3 supports other storage classes.
|
@@ -1025,7 +1053,7 @@ module Aws::S3
|
|
1025
1053
|
# If the bucket is configured as a website, redirects requests for this
|
1026
1054
|
# object to another object in the same bucket or to an external URL.
|
1027
1055
|
# Amazon S3 stores the value of this header in the object metadata. For
|
1028
|
-
# information about object metadata, see .
|
1056
|
+
# information about object metadata, see [Object Key and Metadata][1].
|
1029
1057
|
#
|
1030
1058
|
# In the following example, the request header sets the redirect to an
|
1031
1059
|
# object (anotherPage.html) in the same bucket:
|
@@ -1038,37 +1066,38 @@ module Aws::S3
|
|
1038
1066
|
# `x-amz-website-redirect-location: http://www.example.com/`
|
1039
1067
|
#
|
1040
1068
|
# For more information about website hosting in Amazon S3, see [Hosting
|
1041
|
-
# Websites on Amazon S3][
|
1042
|
-
# Redirects][
|
1069
|
+
# Websites on Amazon S3][2] and [How to Configure Website Page
|
1070
|
+
# Redirects][3].
|
1043
1071
|
#
|
1044
1072
|
#
|
1045
1073
|
#
|
1046
|
-
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
1047
|
-
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/
|
1074
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html
|
1075
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
|
1076
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html
|
1048
1077
|
# @option options [String] :sse_customer_algorithm
|
1049
|
-
# Specifies the algorithm to use to when encrypting the object (
|
1050
|
-
# AES256).
|
1078
|
+
# Specifies the algorithm to use to when encrypting the object (for
|
1079
|
+
# example, AES256).
|
1051
1080
|
# @option options [String] :sse_customer_key
|
1052
1081
|
# Specifies the customer-provided encryption key for Amazon S3 to use in
|
1053
1082
|
# encrypting data. This value is used to store the object and then it is
|
1054
|
-
# discarded; Amazon does not store the encryption key. The key must
|
1055
|
-
# appropriate for use with the algorithm specified in the
|
1056
|
-
# x-amz-server-side-encryption-customer-algorithm header.
|
1083
|
+
# discarded; Amazon S3 does not store the encryption key. The key must
|
1084
|
+
# be appropriate for use with the algorithm specified in the
|
1085
|
+
# `x-amz-server-side-encryption-customer-algorithm` header.
|
1057
1086
|
# @option options [String] :sse_customer_key_md5
|
1058
1087
|
# Specifies the 128-bit MD5 digest of the encryption key according to
|
1059
1088
|
# RFC 1321. Amazon S3 uses this header for a message integrity check to
|
1060
|
-
# ensure the encryption key was transmitted without error.
|
1089
|
+
# ensure that the encryption key was transmitted without error.
|
1061
1090
|
# @option options [String] :ssekms_key_id
|
1062
|
-
# If
|
1063
|
-
# aws:kms
|
1091
|
+
# If `x-amz-server-side-encryption` is present and has the value of
|
1092
|
+
# `aws:kms`, this header specifies the ID of the AWS Key Management
|
1064
1093
|
# Service (AWS KMS) customer master key (CMK) that was used for the
|
1065
1094
|
# object.
|
1066
1095
|
#
|
1067
|
-
# If the value of x-amz-server-side-encryption is aws:kms
|
1068
|
-
# specifies the ID of the AWS KMS CMK that will be used for the
|
1069
|
-
# If you specify x-amz-server-side-encryption:aws:kms
|
1070
|
-
# provide x-amz-server-side-encryption-aws-kms-key-id
|
1071
|
-
# the AWS managed CMK in AWS to protect the data.
|
1096
|
+
# If the value of `x-amz-server-side-encryption` is `aws:kms`, this
|
1097
|
+
# header specifies the ID of the AWS KMS CMK that will be used for the
|
1098
|
+
# object. If you specify `x-amz-server-side-encryption:aws:kms`, but do
|
1099
|
+
# not provide` x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3
|
1100
|
+
# uses the AWS managed CMK in AWS to protect the data.
|
1072
1101
|
# @option options [String] :ssekms_encryption_context
|
1073
1102
|
# Specifies the AWS KMS Encryption Context to use for object encryption.
|
1074
1103
|
# The value of this header is a base64-encoded UTF-8 string holding JSON
|
@@ -1076,9 +1105,13 @@ module Aws::S3
|
|
1076
1105
|
# @option options [String] :request_payer
|
1077
1106
|
# Confirms that the requester knows that she or he will be charged for
|
1078
1107
|
# the request. Bucket owners need not specify this parameter in their
|
1079
|
-
# requests.
|
1080
|
-
# buckets
|
1081
|
-
#
|
1108
|
+
# requests. For information about downloading objects from Requester
|
1109
|
+
# Pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
|
1110
|
+
# in the *Amazon S3 Developer Guide*.
|
1111
|
+
#
|
1112
|
+
#
|
1113
|
+
#
|
1114
|
+
# [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
1082
1115
|
# @option options [String] :tagging
|
1083
1116
|
# The tag-set for the object. The tag-set must be encoded as URL Query
|
1084
1117
|
# parameters. (For example, "Key1=Value1")
|
@@ -1198,9 +1231,13 @@ module Aws::S3
|
|
1198
1231
|
# @option options [String] :request_payer
|
1199
1232
|
# Confirms that the requester knows that she or he will be charged for
|
1200
1233
|
# the request. Bucket owners need not specify this parameter in their
|
1201
|
-
# requests.
|
1202
|
-
# buckets
|
1203
|
-
#
|
1234
|
+
# requests. For information about downloading objects from Requester
|
1235
|
+
# Pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
|
1236
|
+
# in the *Amazon S3 Developer Guide*.
|
1237
|
+
#
|
1238
|
+
#
|
1239
|
+
#
|
1240
|
+
# [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
1204
1241
|
# @return [Types::RestoreObjectOutput]
|
1205
1242
|
def restore_object(options = {})
|
1206
1243
|
options = options.merge(
|
@@ -1327,13 +1364,17 @@ module Aws::S3
|
|
1327
1364
|
# The concatenation of the authentication device's serial number, a
|
1328
1365
|
# space, and the value that is displayed on your authentication device.
|
1329
1366
|
# Required to permanently delete a versioned object if versioning is
|
1330
|
-
# configured with MFA
|
1367
|
+
# configured with MFA delete enabled.
|
1331
1368
|
# @option options [String] :request_payer
|
1332
1369
|
# Confirms that the requester knows that she or he will be charged for
|
1333
1370
|
# the request. Bucket owners need not specify this parameter in their
|
1334
|
-
# requests.
|
1335
|
-
# buckets
|
1336
|
-
#
|
1371
|
+
# requests. For information about downloading objects from Requester
|
1372
|
+
# Pays buckets, see [Downloading Objects in Requestor Pays Buckets][1]
|
1373
|
+
# in the *Amazon S3 Developer Guide*.
|
1374
|
+
#
|
1375
|
+
#
|
1376
|
+
#
|
1377
|
+
# [1]: https://docs.aws.amazon.com/http:/docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
|
1337
1378
|
# @option options [Boolean] :bypass_governance_retention
|
1338
1379
|
# Specifies whether you want to delete this object even if it has a
|
1339
1380
|
# Governance-type Object Lock in place. You must have sufficient
|