aws-sdk-s3 1.30.0 → 1.114.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +903 -0
  3. data/LICENSE.txt +202 -0
  4. data/VERSION +1 -0
  5. data/lib/aws-sdk-s3/arn/access_point_arn.rb +69 -0
  6. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +68 -0
  7. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +69 -0
  8. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +74 -0
  9. data/lib/aws-sdk-s3/bucket.rb +377 -77
  10. data/lib/aws-sdk-s3/bucket_acl.rb +57 -14
  11. data/lib/aws-sdk-s3/bucket_cors.rb +67 -13
  12. data/lib/aws-sdk-s3/bucket_lifecycle.rb +54 -15
  13. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +56 -15
  14. data/lib/aws-sdk-s3/bucket_logging.rb +52 -15
  15. data/lib/aws-sdk-s3/bucket_notification.rb +44 -15
  16. data/lib/aws-sdk-s3/bucket_policy.rb +51 -13
  17. data/lib/aws-sdk-s3/bucket_region_cache.rb +2 -0
  18. data/lib/aws-sdk-s3/bucket_request_payment.rb +51 -12
  19. data/lib/aws-sdk-s3/bucket_tagging.rb +59 -13
  20. data/lib/aws-sdk-s3/bucket_versioning.rb +118 -12
  21. data/lib/aws-sdk-s3/bucket_website.rb +66 -13
  22. data/lib/aws-sdk-s3/client.rb +9016 -669
  23. data/lib/aws-sdk-s3/client_api.rb +786 -2
  24. data/lib/aws-sdk-s3/customizations/bucket.rb +59 -16
  25. data/lib/aws-sdk-s3/customizations/multipart_upload.rb +2 -0
  26. data/lib/aws-sdk-s3/customizations/object.rb +200 -62
  27. data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
  28. data/lib/aws-sdk-s3/customizations/types/list_object_versions_output.rb +2 -0
  29. data/lib/aws-sdk-s3/customizations.rb +4 -1
  30. data/lib/aws-sdk-s3/encryption/client.rb +23 -6
  31. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +71 -29
  32. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +43 -5
  33. data/lib/aws-sdk-s3/encryption/default_key_provider.rb +2 -0
  34. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +13 -2
  35. data/lib/aws-sdk-s3/encryption/errors.rb +2 -0
  36. data/lib/aws-sdk-s3/encryption/io_auth_decrypter.rb +2 -0
  37. data/lib/aws-sdk-s3/encryption/io_decrypter.rb +11 -3
  38. data/lib/aws-sdk-s3/encryption/io_encrypter.rb +2 -0
  39. data/lib/aws-sdk-s3/encryption/key_provider.rb +2 -0
  40. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +34 -3
  41. data/lib/aws-sdk-s3/encryption/materials.rb +8 -6
  42. data/lib/aws-sdk-s3/encryption/utils.rb +25 -0
  43. data/lib/aws-sdk-s3/encryption.rb +4 -0
  44. data/lib/aws-sdk-s3/encryptionV2/client.rb +566 -0
  45. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +222 -0
  46. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +170 -0
  47. data/lib/aws-sdk-s3/encryptionV2/default_key_provider.rb +40 -0
  48. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +65 -0
  49. data/lib/aws-sdk-s3/encryptionV2/errors.rb +37 -0
  50. data/lib/aws-sdk-s3/encryptionV2/io_auth_decrypter.rb +58 -0
  51. data/lib/aws-sdk-s3/encryptionV2/io_decrypter.rb +37 -0
  52. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +73 -0
  53. data/lib/aws-sdk-s3/encryptionV2/key_provider.rb +31 -0
  54. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +169 -0
  55. data/lib/aws-sdk-s3/encryptionV2/materials.rb +60 -0
  56. data/lib/aws-sdk-s3/encryptionV2/utils.rb +103 -0
  57. data/lib/aws-sdk-s3/encryption_v2.rb +23 -0
  58. data/lib/aws-sdk-s3/errors.rb +123 -1
  59. data/lib/aws-sdk-s3/event_streams.rb +20 -7
  60. data/lib/aws-sdk-s3/file_downloader.rb +17 -10
  61. data/lib/aws-sdk-s3/file_part.rb +11 -6
  62. data/lib/aws-sdk-s3/file_uploader.rb +33 -14
  63. data/lib/aws-sdk-s3/legacy_signer.rb +17 -25
  64. data/lib/aws-sdk-s3/multipart_file_uploader.rb +78 -19
  65. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +20 -7
  66. data/lib/aws-sdk-s3/multipart_upload.rb +178 -28
  67. data/lib/aws-sdk-s3/multipart_upload_error.rb +2 -0
  68. data/lib/aws-sdk-s3/multipart_upload_part.rb +236 -43
  69. data/lib/aws-sdk-s3/object.rb +848 -162
  70. data/lib/aws-sdk-s3/object_acl.rb +81 -20
  71. data/lib/aws-sdk-s3/object_copier.rb +2 -0
  72. data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -0
  73. data/lib/aws-sdk-s3/object_summary.rb +615 -144
  74. data/lib/aws-sdk-s3/object_version.rb +161 -68
  75. data/lib/aws-sdk-s3/plugins/accelerate.rb +38 -38
  76. data/lib/aws-sdk-s3/plugins/arn.rb +254 -0
  77. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +8 -8
  78. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +25 -3
  79. data/lib/aws-sdk-s3/plugins/dualstack.rb +38 -33
  80. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +4 -4
  81. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +3 -1
  82. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +11 -3
  83. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +73 -0
  84. data/lib/aws-sdk-s3/plugins/location_constraint.rb +2 -0
  85. data/lib/aws-sdk-s3/plugins/md5s.rb +34 -30
  86. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +25 -0
  87. data/lib/aws-sdk-s3/plugins/redirects.rb +2 -0
  88. data/lib/aws-sdk-s3/plugins/s3_host_id.rb +2 -0
  89. data/lib/aws-sdk-s3/plugins/s3_signer.rb +95 -36
  90. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  91. data/lib/aws-sdk-s3/plugins/sse_cpk.rb +3 -1
  92. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +139 -0
  93. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -0
  94. data/lib/aws-sdk-s3/presigned_post.rb +110 -51
  95. data/lib/aws-sdk-s3/presigner.rb +168 -66
  96. data/lib/aws-sdk-s3/resource.rb +41 -5
  97. data/lib/aws-sdk-s3/types.rb +8652 -1146
  98. data/lib/aws-sdk-s3/waiters.rb +67 -1
  99. data/lib/aws-sdk-s3.rb +12 -6
  100. metadata +38 -13
@@ -1,11 +1,14 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
4
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
7
  #
6
8
  # WARNING ABOUT GENERATED CODE
7
9
 
8
10
  module Aws::S3
11
+
9
12
  class MultipartUploadPart
10
13
 
11
14
  extend Aws::Deprecations
@@ -30,6 +33,7 @@ module Aws::S3
30
33
  @part_number = extract_part_number(args, options)
31
34
  @data = options.delete(:data)
32
35
  @client = options.delete(:client) || Client.new(options)
36
+ @waiter_block_warned = false
33
37
  end
34
38
 
35
39
  # @!group Read-Only Attributes
@@ -72,6 +76,62 @@ module Aws::S3
72
76
  data[:size]
73
77
  end
74
78
 
79
+ # This header can be used as a data integrity check to verify that the
80
+ # data received is the same data that was originally sent. This header
81
+ # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
82
+ # more information, see [Checking object integrity][1] in the *Amazon S3
83
+ # User Guide*.
84
+ #
85
+ #
86
+ #
87
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
88
+ # @return [String]
89
+ def checksum_crc32
90
+ data[:checksum_crc32]
91
+ end
92
+
93
+ # The base64-encoded, 32-bit CRC32C checksum of the object. This will
94
+ # only be present if it was uploaded with the object. With multipart
95
+ # uploads, this may not be a checksum value of the object. For more
96
+ # information about how checksums are calculated with multipart uploads,
97
+ # see [ Checking object integrity][1] in the *Amazon S3 User Guide*.
98
+ #
99
+ #
100
+ #
101
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
102
+ # @return [String]
103
+ def checksum_crc32c
104
+ data[:checksum_crc32c]
105
+ end
106
+
107
+ # The base64-encoded, 160-bit SHA-1 digest of the object. This will only
108
+ # be present if it was uploaded with the object. With multipart uploads,
109
+ # this may not be a checksum value of the object. For more information
110
+ # about how checksums are calculated with multipart uploads, see [
111
+ # Checking object integrity][1] in the *Amazon S3 User Guide*.
112
+ #
113
+ #
114
+ #
115
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
116
+ # @return [String]
117
+ def checksum_sha1
118
+ data[:checksum_sha1]
119
+ end
120
+
121
+ # This header can be used as a data integrity check to verify that the
122
+ # data received is the same data that was originally sent. This header
123
+ # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
124
+ # For more information, see [Checking object integrity][1] in the
125
+ # *Amazon S3 User Guide*.
126
+ #
127
+ #
128
+ #
129
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
130
+ # @return [String]
131
+ def checksum_sha256
132
+ data[:checksum_sha256]
133
+ end
134
+
75
135
  # @!endgroup
76
136
 
77
137
  # @return [Client]
@@ -107,7 +167,8 @@ module Aws::S3
107
167
  # Waiter polls an API operation until a resource enters a desired
108
168
  # state.
109
169
  #
110
- # @note The waiting operation is performed on a copy. The original resource remains unchanged
170
+ # @note The waiting operation is performed on a copy. The original resource
171
+ # remains unchanged.
111
172
  #
112
173
  # ## Basic Usage
113
174
  #
@@ -120,13 +181,15 @@ module Aws::S3
120
181
  #
121
182
  # ## Example
122
183
  #
123
- # instance.wait_until(max_attempts:10, delay:5) {|instance| instance.state.name == 'running' }
184
+ # instance.wait_until(max_attempts:10, delay:5) do |instance|
185
+ # instance.state.name == 'running'
186
+ # end
124
187
  #
125
188
  # ## Configuration
126
189
  #
127
190
  # You can configure the maximum number of polling attempts, and the
128
- # delay (in seconds) between each polling attempt. The waiting condition is set
129
- # by passing a block to {#wait_until}:
191
+ # delay (in seconds) between each polling attempt. The waiting condition is
192
+ # set by passing a block to {#wait_until}:
130
193
  #
131
194
  # # poll for ~25 seconds
132
195
  # resource.wait_until(max_attempts:5,delay:5) {|resource|...}
@@ -157,17 +220,16 @@ module Aws::S3
157
220
  # # resource did not enter the desired state in time
158
221
  # end
159
222
  #
223
+ # @yieldparam [Resource] resource to be used in the waiting condition.
160
224
  #
161
- # @yield param [Resource] resource to be used in the waiting condition
162
- #
163
- # @raise [Aws::Waiters::Errors::FailureStateError] Raised when the waiter terminates
164
- # because the waiter has entered a state that it will not transition
165
- # out of, preventing success.
225
+ # @raise [Aws::Waiters::Errors::FailureStateError] Raised when the waiter
226
+ # terminates because the waiter has entered a state that it will not
227
+ # transition out of, preventing success.
166
228
  #
167
229
  # yet successful.
168
230
  #
169
- # @raise [Aws::Waiters::Errors::UnexpectedError] Raised when an error is encountered
170
- # while polling for a resource that is not expected.
231
+ # @raise [Aws::Waiters::Errors::UnexpectedError] Raised when an error is
232
+ # encountered while polling for a resource that is not expected.
171
233
  #
172
234
  # @raise [NotImplementedError] Raised when the resource does not
173
235
  #
@@ -215,11 +277,56 @@ module Aws::S3
215
277
  # copy_source_sse_customer_key: "CopySourceSSECustomerKey",
216
278
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
217
279
  # request_payer: "requester", # accepts requester
280
+ # expected_bucket_owner: "AccountId",
281
+ # expected_source_bucket_owner: "AccountId",
218
282
  # })
219
283
  # @param [Hash] options ({})
220
284
  # @option options [required, String] :copy_source
221
- # The name of the source bucket and key name of the source object,
222
- # separated by a slash (/). Must be URL-encoded.
285
+ # Specifies the source object for the copy operation. You specify the
286
+ # value in one of two formats, depending on whether you want to access
287
+ # the source object through an [access point][1]\:
288
+ #
289
+ # * For objects not accessed through an access point, specify the name
290
+ # of the source bucket and key of the source object, separated by a
291
+ # slash (/). For example, to copy the object `reports/january.pdf`
292
+ # from the bucket `awsexamplebucket`, use
293
+ # `awsexamplebucket/reports/january.pdf`. The value must be
294
+ # URL-encoded.
295
+ #
296
+ # * For objects accessed through access points, specify the Amazon
297
+ # Resource Name (ARN) of the object as accessed through the access
298
+ # point, in the format
299
+ # `arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>`.
300
+ # For example, to copy the object `reports/january.pdf` through access
301
+ # point `my-access-point` owned by account `123456789012` in Region
302
+ # `us-west-2`, use the URL encoding of
303
+ # `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
304
+ # The value must be URL encoded.
305
+ #
306
+ # <note markdown="1"> Amazon S3 supports copy operations using access points only when the
307
+ # source and destination buckets are in the same Amazon Web Services
308
+ # Region.
309
+ #
310
+ # </note>
311
+ #
312
+ # Alternatively, for objects accessed through Amazon S3 on Outposts,
313
+ # specify the ARN of the object as accessed in the format
314
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key>`.
315
+ # For example, to copy the object `reports/january.pdf` through
316
+ # outpost `my-outpost` owned by account `123456789012` in Region
317
+ # `us-west-2`, use the URL encoding of
318
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
319
+ # The value must be URL-encoded.
320
+ #
321
+ # To copy a specific version of an object, append
322
+ # `?versionId=<version-id>` to the value (for example,
323
+ # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
324
+ # If you don't specify a version ID, Amazon S3 copies the latest
325
+ # version of the source object.
326
+ #
327
+ #
328
+ #
329
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
223
330
  # @option options [String] :copy_source_if_match
224
331
  # Copies the object if its entity tag (ETag) matches the specified tag.
225
332
  # @option options [Time,DateTime,Date,Integer,String] :copy_source_if_modified_since
@@ -234,26 +341,26 @@ module Aws::S3
234
341
  # The range of bytes to copy from the source object. The range value
235
342
  # must use the form bytes=first-last, where the first and last are the
236
343
  # zero-based byte offsets to copy. For example, bytes=0-9 indicates that
237
- # you want to copy the first ten bytes of the source. You can copy a
238
- # range only if the source object is greater than 5 GB.
344
+ # you want to copy the first 10 bytes of the source. You can copy a
345
+ # range only if the source object is greater than 5 MB.
239
346
  # @option options [String] :sse_customer_algorithm
240
- # Specifies the algorithm to use to when encrypting the object (e.g.,
241
- # AES256).
347
+ # Specifies the algorithm to use to when encrypting the object (for
348
+ # example, AES256).
242
349
  # @option options [String] :sse_customer_key
243
350
  # Specifies the customer-provided encryption key for Amazon S3 to use in
244
351
  # 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 be
246
- # appropriate for use with the algorithm specified in the
247
- # x-amz-server-side​-encryption​-customer-algorithm header. This must be
352
+ # discarded; Amazon S3 does not store the encryption key. The key must
353
+ # be appropriate for use with the algorithm specified in the
354
+ # `x-amz-server-side-encryption-customer-algorithm` header. This must be
248
355
  # the same encryption key specified in the initiate multipart upload
249
356
  # request.
250
357
  # @option options [String] :sse_customer_key_md5
251
358
  # Specifies the 128-bit MD5 digest of the encryption key according to
252
359
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
253
- # ensure the encryption key was transmitted without error.
360
+ # ensure that the encryption key was transmitted without error.
254
361
  # @option options [String] :copy_source_sse_customer_algorithm
255
- # Specifies the algorithm to use when decrypting the source object
256
- # (e.g., AES256).
362
+ # Specifies the algorithm to use when decrypting the source object (for
363
+ # example, AES256).
257
364
  # @option options [String] :copy_source_sse_customer_key
258
365
  # Specifies the customer-provided encryption key for Amazon S3 to use to
259
366
  # decrypt the source object. The encryption key provided in this header
@@ -261,13 +368,25 @@ module Aws::S3
261
368
  # @option options [String] :copy_source_sse_customer_key_md5
262
369
  # Specifies the 128-bit MD5 digest of the encryption key according to
263
370
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
264
- # ensure the encryption key was transmitted without error.
371
+ # ensure that the encryption key was transmitted without error.
265
372
  # @option options [String] :request_payer
266
- # Confirms that the requester knows that she or he will be charged for
267
- # the request. Bucket owners need not specify this parameter in their
268
- # requests. Documentation on downloading objects from requester pays
269
- # buckets can be found at
270
- # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
373
+ # Confirms that the requester knows that they will be charged for the
374
+ # request. Bucket owners need not specify this parameter in their
375
+ # requests. For information about downloading objects from Requester
376
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
377
+ # in the *Amazon S3 User Guide*.
378
+ #
379
+ #
380
+ #
381
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
382
+ # @option options [String] :expected_bucket_owner
383
+ # The account ID of the expected destination bucket owner. If the
384
+ # destination bucket is owned by a different account, the request fails
385
+ # with the HTTP status code `403 Forbidden` (access denied).
386
+ # @option options [String] :expected_source_bucket_owner
387
+ # The account ID of the expected source bucket owner. If the source
388
+ # bucket is owned by a different account, the request fails with the
389
+ # HTTP status code `403 Forbidden` (access denied).
271
390
  # @return [Types::UploadPartCopyOutput]
272
391
  def copy_from(options = {})
273
392
  options = options.merge(
@@ -286,40 +405,114 @@ module Aws::S3
286
405
  # body: source_file,
287
406
  # content_length: 1,
288
407
  # content_md5: "ContentMD5",
408
+ # checksum_algorithm: "CRC32", # accepts CRC32, CRC32C, SHA1, SHA256
409
+ # checksum_crc32: "ChecksumCRC32",
410
+ # checksum_crc32c: "ChecksumCRC32C",
411
+ # checksum_sha1: "ChecksumSHA1",
412
+ # checksum_sha256: "ChecksumSHA256",
289
413
  # sse_customer_algorithm: "SSECustomerAlgorithm",
290
414
  # sse_customer_key: "SSECustomerKey",
291
415
  # sse_customer_key_md5: "SSECustomerKeyMD5",
292
416
  # request_payer: "requester", # accepts requester
417
+ # expected_bucket_owner: "AccountId",
293
418
  # })
294
419
  # @param [Hash] options ({})
295
- # @option options [String, IO] :body
420
+ # @option options [String, StringIO, File] :body
296
421
  # Object data.
297
422
  # @option options [Integer] :content_length
298
423
  # Size of the body in bytes. This parameter is useful when the size of
299
424
  # the body cannot be determined automatically.
300
425
  # @option options [String] :content_md5
301
- # The base64-encoded 128-bit MD5 digest of the part data.
426
+ # The base64-encoded 128-bit MD5 digest of the part data. This parameter
427
+ # is auto-populated when using the command from the CLI. This parameter
428
+ # is required if object lock parameters are specified.
429
+ # @option options [String] :checksum_algorithm
430
+ # Indicates the algorithm used to create the checksum for the object
431
+ # when using the SDK. This header will not provide any additional
432
+ # functionality if not using the SDK. When sending this header, there
433
+ # must be a corresponding `x-amz-checksum` or `x-amz-trailer` header
434
+ # sent. Otherwise, Amazon S3 fails the request with the HTTP status code
435
+ # `400 Bad Request`. For more information, see [Checking object
436
+ # integrity][1] in the *Amazon S3 User Guide*.
437
+ #
438
+ # If you provide an individual checksum, Amazon S3 ignores any provided
439
+ # `ChecksumAlgorithm` parameter.
440
+ #
441
+ # This checksum algorithm must be the same for all parts and it match
442
+ # the checksum value supplied in the `CreateMultipartUpload` request.
443
+ #
444
+ #
445
+ #
446
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
447
+ # @option options [String] :checksum_crc32
448
+ # This header can be used as a data integrity check to verify that the
449
+ # data received is the same data that was originally sent. This header
450
+ # specifies the base64-encoded, 32-bit CRC32 checksum of the object. For
451
+ # more information, see [Checking object integrity][1] in the *Amazon S3
452
+ # User Guide*.
453
+ #
454
+ #
455
+ #
456
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
457
+ # @option options [String] :checksum_crc32c
458
+ # This header can be used as a data integrity check to verify that the
459
+ # data received is the same data that was originally sent. This header
460
+ # specifies the base64-encoded, 32-bit CRC32C checksum of the object.
461
+ # For more information, see [Checking object integrity][1] in the
462
+ # *Amazon S3 User Guide*.
463
+ #
464
+ #
465
+ #
466
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
467
+ # @option options [String] :checksum_sha1
468
+ # This header can be used as a data integrity check to verify that the
469
+ # data received is the same data that was originally sent. This header
470
+ # specifies the base64-encoded, 160-bit SHA-1 digest of the object. For
471
+ # more information, see [Checking object integrity][1] in the *Amazon S3
472
+ # User Guide*.
473
+ #
474
+ #
475
+ #
476
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
477
+ # @option options [String] :checksum_sha256
478
+ # This header can be used as a data integrity check to verify that the
479
+ # data received is the same data that was originally sent. This header
480
+ # specifies the base64-encoded, 256-bit SHA-256 digest of the object.
481
+ # For more information, see [Checking object integrity][1] in the
482
+ # *Amazon S3 User Guide*.
483
+ #
484
+ #
485
+ #
486
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
302
487
  # @option options [String] :sse_customer_algorithm
303
- # Specifies the algorithm to use to when encrypting the object (e.g.,
304
- # AES256).
488
+ # Specifies the algorithm to use to when encrypting the object (for
489
+ # example, AES256).
305
490
  # @option options [String] :sse_customer_key
306
491
  # Specifies the customer-provided encryption key for Amazon S3 to use in
307
492
  # encrypting data. This value is used to store the object and then it is
308
- # discarded; Amazon does not store the encryption key. The key must be
309
- # appropriate for use with the algorithm specified in the
310
- # x-amz-server-side​-encryption​-customer-algorithm header. This must be
493
+ # discarded; Amazon S3 does not store the encryption key. The key must
494
+ # be appropriate for use with the algorithm specified in the
495
+ # `x-amz-server-side-encryption-customer-algorithm header`. This must be
311
496
  # the same encryption key specified in the initiate multipart upload
312
497
  # request.
313
498
  # @option options [String] :sse_customer_key_md5
314
499
  # Specifies the 128-bit MD5 digest of the encryption key according to
315
500
  # RFC 1321. Amazon S3 uses this header for a message integrity check to
316
- # ensure the encryption key was transmitted without error.
501
+ # ensure that the encryption key was transmitted without error.
317
502
  # @option options [String] :request_payer
318
- # Confirms that the requester knows that she or he will be charged for
319
- # the request. Bucket owners need not specify this parameter in their
320
- # requests. Documentation on downloading objects from requester pays
321
- # buckets can be found at
322
- # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
503
+ # Confirms that the requester knows that they will be charged for the
504
+ # request. Bucket owners need not specify this parameter in their
505
+ # requests. For information about downloading objects from Requester
506
+ # Pays buckets, see [Downloading Objects in Requester Pays Buckets][1]
507
+ # in the *Amazon S3 User Guide*.
508
+ #
509
+ #
510
+ #
511
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
512
+ # @option options [String] :expected_bucket_owner
513
+ # The account ID of the expected bucket owner. If the bucket is owned by
514
+ # a different account, the request fails with the HTTP status code `403
515
+ # Forbidden` (access denied).
323
516
  # @return [Types::UploadPartOutput]
324
517
  def upload(options = {})
325
518
  options = options.merge(