aws-sdk-s3 1.9.0 → 1.40.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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aws-sdk-s3/bucket.rb +22 -3
  3. data/lib/aws-sdk-s3/bucket_acl.rb +1 -0
  4. data/lib/aws-sdk-s3/bucket_cors.rb +1 -0
  5. data/lib/aws-sdk-s3/bucket_lifecycle.rb +3 -2
  6. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +3 -2
  7. data/lib/aws-sdk-s3/bucket_notification.rb +9 -5
  8. data/lib/aws-sdk-s3/bucket_tagging.rb +1 -0
  9. data/lib/aws-sdk-s3/bucket_website.rb +4 -0
  10. data/lib/aws-sdk-s3/client.rb +1303 -351
  11. data/lib/aws-sdk-s3/client_api.rb +352 -2
  12. data/lib/aws-sdk-s3/customizations/bucket.rb +2 -2
  13. data/lib/aws-sdk-s3/customizations/object.rb +60 -0
  14. data/lib/aws-sdk-s3/customizations/object_summary.rb +7 -0
  15. data/lib/aws-sdk-s3/customizations.rb +1 -0
  16. data/lib/aws-sdk-s3/encryption/client.rb +1 -1
  17. data/lib/aws-sdk-s3/encryption/io_auth_decrypter.rb +9 -3
  18. data/lib/aws-sdk-s3/event_streams.rb +62 -0
  19. data/lib/aws-sdk-s3/file_downloader.rb +10 -9
  20. data/lib/aws-sdk-s3/file_part.rb +5 -7
  21. data/lib/aws-sdk-s3/file_uploader.rb +1 -3
  22. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +162 -0
  23. data/lib/aws-sdk-s3/multipart_upload.rb +1 -0
  24. data/lib/aws-sdk-s3/multipart_upload_part.rb +2 -2
  25. data/lib/aws-sdk-s3/object.rb +71 -7
  26. data/lib/aws-sdk-s3/object_acl.rb +1 -0
  27. data/lib/aws-sdk-s3/object_summary.rb +54 -7
  28. data/lib/aws-sdk-s3/object_version.rb +11 -0
  29. data/lib/aws-sdk-s3/plugins/accelerate.rb +4 -0
  30. data/lib/aws-sdk-s3/plugins/md5s.rb +4 -1
  31. data/lib/aws-sdk-s3/plugins/redirects.rb +3 -1
  32. data/lib/aws-sdk-s3/plugins/s3_signer.rb +6 -1
  33. data/lib/aws-sdk-s3/presigner.rb +4 -0
  34. data/lib/aws-sdk-s3/resource.rb +4 -0
  35. data/lib/aws-sdk-s3/types.rb +1539 -227
  36. data/lib/aws-sdk-s3.rb +2 -1
  37. metadata +12 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 45344b7320e4213f2e5333ec0b60959fe838e83a
4
- data.tar.gz: 1f4217707ec55a169d92e9fa08708b55f4b8bcda
3
+ metadata.gz: ada09a2dbe02a1e505c2a24abd4032e6b30a4759
4
+ data.tar.gz: 840725a1d9340513b8b827d079caf4483a66d815
5
5
  SHA512:
6
- metadata.gz: 00ceffb9ab0ad1b39df77ca876d0b01cb9cb198513d1950b749e6190817ca562859e35592536ba461d90d3bb6a6aeb028fa984b3c1d83757115c774b1ebeec60
7
- data.tar.gz: 4ba88cfc73b97b0d772423dc273b564938a7e9f8b4faa0133474d9666220e3ae562fde76c51be3daef65319097e9e840d34ab20af06fe2ef0fccf10424463da0
6
+ metadata.gz: a05c4ac4506454ef26fc51ea99e1cdf83424fb2cc73ac0a4c0379d6bbf8ded54616881077a6ff3eb734e97231b9401b5ae5f9e66fc4ed15291cf4bd15b7067ee
7
+ data.tar.gz: 7792d9f9dff6eb0a59d556a77207addf50827c1aefb774582a7d4a01d36ab5d6da9aad2bd43c6d7eed1938b7ee3ff0c86ea40f9bb9c4921c0e04851b3958b843
@@ -223,6 +223,7 @@ module Aws::S3
223
223
  # grant_read_acp: "GrantReadACP",
224
224
  # grant_write: "GrantWrite",
225
225
  # grant_write_acp: "GrantWriteACP",
226
+ # object_lock_enabled_for_bucket: false,
226
227
  # })
227
228
  # @param [Hash] options ({})
228
229
  # @option options [String] :acl
@@ -240,6 +241,9 @@ module Aws::S3
240
241
  # bucket.
241
242
  # @option options [String] :grant_write_acp
242
243
  # Allows grantee to write the ACL for the applicable bucket.
244
+ # @option options [Boolean] :object_lock_enabled_for_bucket
245
+ # Specifies whether you want S3 Object Lock to be enabled for the new
246
+ # bucket.
243
247
  # @return [Types::CreateBucketOutput]
244
248
  def create(options = {})
245
249
  options = options.merge(bucket: @name)
@@ -272,6 +276,7 @@ module Aws::S3
272
276
  # },
273
277
  # mfa: "MFA",
274
278
  # request_payer: "requester", # accepts requester
279
+ # bypass_governance_retention: false,
275
280
  # })
276
281
  # @param [Hash] options ({})
277
282
  # @option options [required, Types::Delete] :delete
@@ -284,6 +289,10 @@ module Aws::S3
284
289
  # requests. Documentation on downloading objects from requester pays
285
290
  # buckets can be found at
286
291
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
292
+ # @option options [Boolean] :bypass_governance_retention
293
+ # Specifies whether you want to delete this object even if it has a
294
+ # Governance-type Object Lock in place. You must have sufficient
295
+ # permissions to perform this operation.
287
296
  # @return [Types::DeleteObjectsOutput]
288
297
  def delete_objects(options = {})
289
298
  options = options.merge(bucket: @name)
@@ -313,7 +322,7 @@ module Aws::S3
313
322
  # "MetadataKey" => "MetadataValue",
314
323
  # },
315
324
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
316
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
325
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
317
326
  # website_redirect_location: "WebsiteRedirectLocation",
318
327
  # sse_customer_algorithm: "SSECustomerAlgorithm",
319
328
  # sse_customer_key: "SSECustomerKey",
@@ -321,6 +330,9 @@ module Aws::S3
321
330
  # ssekms_key_id: "SSEKMSKeyId",
322
331
  # request_payer: "requester", # accepts requester
323
332
  # tagging: "TaggingHeader",
333
+ # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
334
+ # object_lock_retain_until_date: Time.now,
335
+ # object_lock_legal_hold_status: "ON", # accepts ON, OFF
324
336
  # })
325
337
  # @param [Hash] options ({})
326
338
  # @option options [String] :acl
@@ -341,7 +353,8 @@ module Aws::S3
341
353
  # Size of the body in bytes. This parameter is useful when the size of
342
354
  # the body cannot be determined automatically.
343
355
  # @option options [String] :content_md5
344
- # The base64-encoded 128-bit MD5 digest of the part data.
356
+ # The base64-encoded 128-bit MD5 digest of the part data. This parameter
357
+ # is auto-populated when using the command from the CLI
345
358
  # @option options [String] :content_type
346
359
  # A standard MIME type describing the format of the object data.
347
360
  # @option options [Time,DateTime,Date,Integer,String] :expires
@@ -395,7 +408,13 @@ module Aws::S3
395
408
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
396
409
  # @option options [String] :tagging
397
410
  # The tag-set for the object. The tag-set must be encoded as URL Query
398
- # parameters
411
+ # parameters. (For example, "Key1=Value1")
412
+ # @option options [String] :object_lock_mode
413
+ # The Object Lock mode that you want to apply to this object.
414
+ # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
415
+ # The date and time when you want this object's Object Lock to expire.
416
+ # @option options [String] :object_lock_legal_hold_status
417
+ # The Legal Hold status that you want to apply to the specified object.
399
418
  # @return [Object]
400
419
  def put_object(options = {})
401
420
  options = options.merge(bucket: @name)
@@ -30,6 +30,7 @@ module Aws::S3
30
30
  @bucket_name
31
31
  end
32
32
 
33
+
33
34
  # @return [Types::Owner]
34
35
  def owner
35
36
  data[:owner]
@@ -30,6 +30,7 @@ module Aws::S3
30
30
  @bucket_name
31
31
  end
32
32
 
33
+
33
34
  # @return [Array<Types::CORSRule>]
34
35
  def cors_rules
35
36
  data[:cors_rules]
@@ -30,6 +30,7 @@ module Aws::S3
30
30
  @bucket_name
31
31
  end
32
32
 
33
+
33
34
  # @return [Array<Types::Rule>]
34
35
  def rules
35
36
  data[:rules]
@@ -196,11 +197,11 @@ module Aws::S3
196
197
  # transition: {
197
198
  # date: Time.now,
198
199
  # days: 1,
199
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
200
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
200
201
  # },
201
202
  # noncurrent_version_transition: {
202
203
  # noncurrent_days: 1,
203
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
204
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
204
205
  # },
205
206
  # noncurrent_version_expiration: {
206
207
  # noncurrent_days: 1,
@@ -30,6 +30,7 @@ module Aws::S3
30
30
  @bucket_name
31
31
  end
32
32
 
33
+
33
34
  # @return [Array<Types::LifecycleRule>]
34
35
  def rules
35
36
  data[:rules]
@@ -212,13 +213,13 @@ module Aws::S3
212
213
  # {
213
214
  # date: Time.now,
214
215
  # days: 1,
215
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
216
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
216
217
  # },
217
218
  # ],
218
219
  # noncurrent_version_transitions: [
219
220
  # {
220
221
  # noncurrent_days: 1,
221
- # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA
222
+ # storage_class: "GLACIER", # accepts GLACIER, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, DEEP_ARCHIVE
222
223
  # },
223
224
  # ],
224
225
  # noncurrent_version_expiration: {
@@ -30,16 +30,19 @@ module Aws::S3
30
30
  @bucket_name
31
31
  end
32
32
 
33
+
33
34
  # @return [Array<Types::TopicConfiguration>]
34
35
  def topic_configurations
35
36
  data[:topic_configurations]
36
37
  end
37
38
 
39
+
38
40
  # @return [Array<Types::QueueConfiguration>]
39
41
  def queue_configurations
40
42
  data[:queue_configurations]
41
43
  end
42
44
 
45
+
43
46
  # @return [Array<Types::LambdaFunctionConfiguration>]
44
47
  def lambda_function_configurations
45
48
  data[:lambda_function_configurations]
@@ -185,7 +188,7 @@ module Aws::S3
185
188
  # {
186
189
  # id: "NotificationId",
187
190
  # topic_arn: "TopicArn", # required
188
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
191
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
189
192
  # filter: {
190
193
  # key: {
191
194
  # filter_rules: [
@@ -202,7 +205,7 @@ module Aws::S3
202
205
  # {
203
206
  # id: "NotificationId",
204
207
  # queue_arn: "QueueArn", # required
205
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
208
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
206
209
  # filter: {
207
210
  # key: {
208
211
  # filter_rules: [
@@ -219,7 +222,7 @@ module Aws::S3
219
222
  # {
220
223
  # id: "NotificationId",
221
224
  # lambda_function_arn: "LambdaFunctionArn", # required
222
- # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated
225
+ # events: ["s3:ReducedRedundancyLostObject"], # required, accepts s3:ReducedRedundancyLostObject, s3:ObjectCreated:*, s3:ObjectCreated:Put, s3:ObjectCreated:Post, s3:ObjectCreated:Copy, s3:ObjectCreated:CompleteMultipartUpload, s3:ObjectRemoved:*, s3:ObjectRemoved:Delete, s3:ObjectRemoved:DeleteMarkerCreated, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
223
226
  # filter: {
224
227
  # key: {
225
228
  # filter_rules: [
@@ -236,8 +239,9 @@ module Aws::S3
236
239
  # })
237
240
  # @param [Hash] options ({})
238
241
  # @option options [required, Types::NotificationConfiguration] :notification_configuration
239
- # Container for specifying the notification configuration of the bucket.
240
- # If this element is empty, notifications are turned off on the bucket.
242
+ # A container for specifying the notification configuration of the
243
+ # bucket. If this element is empty, notifications are turned off for the
244
+ # bucket.
241
245
  # @return [EmptyStructure]
242
246
  def put(options = {})
243
247
  options = options.merge(bucket: @bucket_name)
@@ -30,6 +30,7 @@ module Aws::S3
30
30
  @bucket_name
31
31
  end
32
32
 
33
+
33
34
  # @return [Array<Types::Tag>]
34
35
  def tag_set
35
36
  data[:tag_set]
@@ -30,21 +30,25 @@ module Aws::S3
30
30
  @bucket_name
31
31
  end
32
32
 
33
+
33
34
  # @return [Types::RedirectAllRequestsTo]
34
35
  def redirect_all_requests_to
35
36
  data[:redirect_all_requests_to]
36
37
  end
37
38
 
39
+
38
40
  # @return [Types::IndexDocument]
39
41
  def index_document
40
42
  data[:index_document]
41
43
  end
42
44
 
45
+
43
46
  # @return [Types::ErrorDocument]
44
47
  def error_document
45
48
  data[:error_document]
46
49
  end
47
50
 
51
+
48
52
  # @return [Array<Types::RoutingRule>]
49
53
  def routing_rules
50
54
  data[:routing_rules]