aws-sdk-s3 1.26.0 → 1.27.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bfefc605c38869ca73d95bf340ec72152f38fb32
4
- data.tar.gz: 17d72b618c0f0a4e41b0437b22a7222abb630347
3
+ metadata.gz: 811350d803009da0123b7b5a578e652a7909fd29
4
+ data.tar.gz: c24aeeef3d1eda5470c42dba4bf5cd1b170abbd7
5
5
  SHA512:
6
- metadata.gz: 5c98283fbf9d22c83cd858625fb97e29a9e7ccbd7685d78396e0002d54bc1a89e35e5973665d7fc40d03c468dc62206c2d83183713c5ad2042edd105faed76ae
7
- data.tar.gz: f618c7cecd838cce63980ee14c4d9d06801ea55d139454dda44568ada9f2827db343821eb1798e3bc29d804c62c267876557c0ff7876ea6fd71c73b56121705e
6
+ metadata.gz: da6a1fd09f2f111f02339891424ff1c80652e4388108627a3225f5dac0574cb25dd35c0f9f61d3c0265c4e76bc6f72b0ee2d77506f597df57d581fdaca216751
7
+ data.tar.gz: 6867a563b6e04993197fc317df6ebd322902bb16e6582e6d52ac177e031de021e738ce220245608e23657d636afc3cc4cad67e82a0e9c635459e22d03a47a73b
@@ -63,6 +63,6 @@ require_relative 'aws-sdk-s3/event_streams'
63
63
  # @service
64
64
  module Aws::S3
65
65
 
66
- GEM_VERSION = '1.26.0'
66
+ GEM_VERSION = '1.27.0'
67
67
 
68
68
  end
@@ -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, INTELLIGENT_TIERING
325
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER
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
@@ -396,6 +408,12 @@ module Aws::S3
396
408
  # @option options [String] :tagging
397
409
  # The tag-set for the object. The tag-set must be encoded as URL Query
398
410
  # parameters. (For example, "Key1=Value1")
411
+ # @option options [String] :object_lock_mode
412
+ # The Object Lock mode that you want to apply to this object.
413
+ # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
414
+ # The date and time when you want this object's Object Lock to expire.
415
+ # @option options [String] :object_lock_legal_hold_status
416
+ # The Legal Hold status that you want to apply to the specified object.
399
417
  # @return [Object]
400
418
  def put_object(options = {})
401
419
  options = options.merge(bucket: @name)
@@ -185,7 +185,7 @@ module Aws::S3
185
185
  # {
186
186
  # id: "NotificationId",
187
187
  # 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
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, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
189
189
  # filter: {
190
190
  # key: {
191
191
  # filter_rules: [
@@ -202,7 +202,7 @@ module Aws::S3
202
202
  # {
203
203
  # id: "NotificationId",
204
204
  # 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
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, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
206
206
  # filter: {
207
207
  # key: {
208
208
  # filter_rules: [
@@ -219,7 +219,7 @@ module Aws::S3
219
219
  # {
220
220
  # id: "NotificationId",
221
221
  # 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
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, s3:ObjectRestore:Post, s3:ObjectRestore:Completed
223
223
  # filter: {
224
224
  # key: {
225
225
  # filter_rules: [
@@ -554,6 +554,16 @@ module Aws::S3
554
554
  # in conjunction with the TaggingDirective. The tag-set must be encoded
555
555
  # as URL Query parameters
556
556
  #
557
+ # @option params [String] :object_lock_mode
558
+ # The Object Lock mode that you want to apply to the copied object.
559
+ #
560
+ # @option params [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
561
+ # The date and time when you want the copied object's Object Lock to
562
+ # expire.
563
+ #
564
+ # @option params [String] :object_lock_legal_hold_status
565
+ # Specifies whether you want to apply a Legal Hold to the copied object.
566
+ #
557
567
  # @return [Types::CopyObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
558
568
  #
559
569
  # * {Types::CopyObjectOutput#copy_object_result #copy_object_result} => Types::CopyObjectResult
@@ -612,7 +622,7 @@ module Aws::S3
612
622
  # metadata_directive: "COPY", # accepts COPY, REPLACE
613
623
  # tagging_directive: "COPY", # accepts COPY, REPLACE
614
624
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
615
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING
625
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER
616
626
  # website_redirect_location: "WebsiteRedirectLocation",
617
627
  # sse_customer_algorithm: "SSECustomerAlgorithm",
618
628
  # sse_customer_key: "SSECustomerKey",
@@ -623,6 +633,9 @@ module Aws::S3
623
633
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
624
634
  # request_payer: "requester", # accepts requester
625
635
  # tagging: "TaggingHeader",
636
+ # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
637
+ # object_lock_retain_until_date: Time.now,
638
+ # object_lock_legal_hold_status: "ON", # accepts ON, OFF
626
639
  # })
627
640
  #
628
641
  # @example Response structure
@@ -673,6 +686,10 @@ module Aws::S3
673
686
  # @option params [String] :grant_write_acp
674
687
  # Allows grantee to write the ACL for the applicable bucket.
675
688
  #
689
+ # @option params [Boolean] :object_lock_enabled_for_bucket
690
+ # Specifies whether you want S3 Object Lock to be enabled for the new
691
+ # bucket.
692
+ #
676
693
  # @return [Types::CreateBucketOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
677
694
  #
678
695
  # * {Types::CreateBucketOutput#location #location} => String
@@ -720,6 +737,7 @@ module Aws::S3
720
737
  # grant_read_acp: "GrantReadACP",
721
738
  # grant_write: "GrantWrite",
722
739
  # grant_write_acp: "GrantWriteACP",
740
+ # object_lock_enabled_for_bucket: false,
723
741
  # })
724
742
  #
725
743
  # @example Response structure
@@ -832,6 +850,17 @@ module Aws::S3
832
850
  # The tag-set for the object. The tag-set must be encoded as URL Query
833
851
  # parameters
834
852
  #
853
+ # @option params [String] :object_lock_mode
854
+ # Specifies the Object Lock mode that you want to apply to the uploaded
855
+ # object.
856
+ #
857
+ # @option params [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
858
+ # Specifies the date and time when you want the Object Lock to expire.
859
+ #
860
+ # @option params [String] :object_lock_legal_hold_status
861
+ # Specifies whether you want to apply a Legal Hold to the uploaded
862
+ # object.
863
+ #
835
864
  # @return [Types::CreateMultipartUploadOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
836
865
  #
837
866
  # * {Types::CreateMultipartUploadOutput#abort_date #abort_date} => Time
@@ -882,7 +911,7 @@ module Aws::S3
882
911
  # "MetadataKey" => "MetadataValue",
883
912
  # },
884
913
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
885
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING
914
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER
886
915
  # website_redirect_location: "WebsiteRedirectLocation",
887
916
  # sse_customer_algorithm: "SSECustomerAlgorithm",
888
917
  # sse_customer_key: "SSECustomerKey",
@@ -890,6 +919,9 @@ module Aws::S3
890
919
  # ssekms_key_id: "SSEKMSKeyId",
891
920
  # request_payer: "requester", # accepts requester
892
921
  # tagging: "TaggingHeader",
922
+ # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
923
+ # object_lock_retain_until_date: Time.now,
924
+ # object_lock_legal_hold_status: "ON", # accepts ON, OFF
893
925
  # })
894
926
  #
895
927
  # @example Response structure
@@ -1263,6 +1295,8 @@ module Aws::S3
1263
1295
  # buckets can be found at
1264
1296
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1265
1297
  #
1298
+ # @option params [Boolean] :bypass_governance_retention
1299
+ #
1266
1300
  # @return [Types::DeleteObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1267
1301
  #
1268
1302
  # * {Types::DeleteObjectOutput#delete_marker #delete_marker} => Boolean
@@ -1300,6 +1334,7 @@ module Aws::S3
1300
1334
  # mfa: "MFA",
1301
1335
  # version_id: "ObjectVersionId",
1302
1336
  # request_payer: "requester", # accepts requester
1337
+ # bypass_governance_retention: false,
1303
1338
  # })
1304
1339
  #
1305
1340
  # @example Response structure
@@ -1401,6 +1436,11 @@ module Aws::S3
1401
1436
  # buckets can be found at
1402
1437
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1403
1438
  #
1439
+ # @option params [Boolean] :bypass_governance_retention
1440
+ # Specifies whether you want to delete this object even if it has a
1441
+ # Governance-type Object Lock in place. You must have sufficient
1442
+ # permissions to perform this operation.
1443
+ #
1404
1444
  # @return [Types::DeleteObjectsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1405
1445
  #
1406
1446
  # * {Types::DeleteObjectsOutput#deleted #deleted} => Array<Types::DeletedObject>
@@ -1495,6 +1535,7 @@ module Aws::S3
1495
1535
  # },
1496
1536
  # mfa: "MFA",
1497
1537
  # request_payer: "requester", # accepts requester
1538
+ # bypass_governance_retention: false,
1498
1539
  # })
1499
1540
  #
1500
1541
  # @example Response structure
@@ -1782,7 +1823,7 @@ module Aws::S3
1782
1823
  # resp.inventory_configuration.id #=> String
1783
1824
  # resp.inventory_configuration.included_object_versions #=> String, one of "All", "Current"
1784
1825
  # resp.inventory_configuration.optional_fields #=> Array
1785
- # resp.inventory_configuration.optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus"
1826
+ # resp.inventory_configuration.optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus"
1786
1827
  # resp.inventory_configuration.schedule.frequency #=> String, one of "Daily", "Weekly"
1787
1828
  #
1788
1829
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketInventoryConfiguration AWS API Documentation
@@ -2129,18 +2170,18 @@ module Aws::S3
2129
2170
  #
2130
2171
  # resp.topic_configuration.id #=> String
2131
2172
  # resp.topic_configuration.events #=> Array
2132
- # resp.topic_configuration.events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated"
2133
- # resp.topic_configuration.event #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated"
2173
+ # resp.topic_configuration.events[0] #=> String, one of "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"
2174
+ # resp.topic_configuration.event #=> String, one of "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"
2134
2175
  # resp.topic_configuration.topic #=> String
2135
2176
  # resp.queue_configuration.id #=> String
2136
- # resp.queue_configuration.event #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated"
2177
+ # resp.queue_configuration.event #=> String, one of "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"
2137
2178
  # resp.queue_configuration.events #=> Array
2138
- # resp.queue_configuration.events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated"
2179
+ # resp.queue_configuration.events[0] #=> String, one of "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"
2139
2180
  # resp.queue_configuration.queue #=> String
2140
2181
  # resp.cloud_function_configuration.id #=> String
2141
- # resp.cloud_function_configuration.event #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated"
2182
+ # resp.cloud_function_configuration.event #=> String, one of "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"
2142
2183
  # resp.cloud_function_configuration.events #=> Array
2143
- # resp.cloud_function_configuration.events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated"
2184
+ # resp.cloud_function_configuration.events[0] #=> String, one of "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"
2144
2185
  # resp.cloud_function_configuration.cloud_function #=> String
2145
2186
  # resp.cloud_function_configuration.invocation_role #=> String
2146
2187
  #
@@ -2176,7 +2217,7 @@ module Aws::S3
2176
2217
  # resp.topic_configurations[0].id #=> String
2177
2218
  # resp.topic_configurations[0].topic_arn #=> String
2178
2219
  # resp.topic_configurations[0].events #=> Array
2179
- # resp.topic_configurations[0].events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated"
2220
+ # resp.topic_configurations[0].events[0] #=> String, one of "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"
2180
2221
  # resp.topic_configurations[0].filter.key.filter_rules #=> Array
2181
2222
  # resp.topic_configurations[0].filter.key.filter_rules[0].name #=> String, one of "prefix", "suffix"
2182
2223
  # resp.topic_configurations[0].filter.key.filter_rules[0].value #=> String
@@ -2184,7 +2225,7 @@ module Aws::S3
2184
2225
  # resp.queue_configurations[0].id #=> String
2185
2226
  # resp.queue_configurations[0].queue_arn #=> String
2186
2227
  # resp.queue_configurations[0].events #=> Array
2187
- # resp.queue_configurations[0].events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated"
2228
+ # resp.queue_configurations[0].events[0] #=> String, one of "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"
2188
2229
  # resp.queue_configurations[0].filter.key.filter_rules #=> Array
2189
2230
  # resp.queue_configurations[0].filter.key.filter_rules[0].name #=> String, one of "prefix", "suffix"
2190
2231
  # resp.queue_configurations[0].filter.key.filter_rules[0].value #=> String
@@ -2192,7 +2233,7 @@ module Aws::S3
2192
2233
  # resp.lambda_function_configurations[0].id #=> String
2193
2234
  # resp.lambda_function_configurations[0].lambda_function_arn #=> String
2194
2235
  # resp.lambda_function_configurations[0].events #=> Array
2195
- # resp.lambda_function_configurations[0].events[0] #=> String, one of "s3:ReducedRedundancyLostObject", "s3:ObjectCreated:*", "s3:ObjectCreated:Put", "s3:ObjectCreated:Post", "s3:ObjectCreated:Copy", "s3:ObjectCreated:CompleteMultipartUpload", "s3:ObjectRemoved:*", "s3:ObjectRemoved:Delete", "s3:ObjectRemoved:DeleteMarkerCreated"
2236
+ # resp.lambda_function_configurations[0].events[0] #=> String, one of "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"
2196
2237
  # resp.lambda_function_configurations[0].filter.key.filter_rules #=> Array
2197
2238
  # resp.lambda_function_configurations[0].filter.key.filter_rules[0].name #=> String, one of "prefix", "suffix"
2198
2239
  # resp.lambda_function_configurations[0].filter.key.filter_rules[0].value #=> String
@@ -2341,7 +2382,7 @@ module Aws::S3
2341
2382
  # resp.replication_configuration.rules[0].source_selection_criteria.sse_kms_encrypted_objects.status #=> String, one of "Enabled", "Disabled"
2342
2383
  # resp.replication_configuration.rules[0].destination.bucket #=> String
2343
2384
  # resp.replication_configuration.rules[0].destination.account #=> String
2344
- # resp.replication_configuration.rules[0].destination.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING"
2385
+ # resp.replication_configuration.rules[0].destination.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER"
2345
2386
  # resp.replication_configuration.rules[0].destination.access_control_translation.owner #=> String, one of "Destination"
2346
2387
  # resp.replication_configuration.rules[0].destination.encryption_configuration.replica_kms_key_id #=> String
2347
2388
  # resp.replication_configuration.rules[0].delete_marker_replication.status #=> String, one of "Enabled", "Disabled"
@@ -2663,6 +2704,9 @@ module Aws::S3
2663
2704
  # * {Types::GetObjectOutput#replication_status #replication_status} => String
2664
2705
  # * {Types::GetObjectOutput#parts_count #parts_count} => Integer
2665
2706
  # * {Types::GetObjectOutput#tag_count #tag_count} => Integer
2707
+ # * {Types::GetObjectOutput#object_lock_mode #object_lock_mode} => String
2708
+ # * {Types::GetObjectOutput#object_lock_retain_until_date #object_lock_retain_until_date} => Time
2709
+ # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
2666
2710
  #
2667
2711
  #
2668
2712
  # @example Example: To retrieve an object
@@ -2789,11 +2833,14 @@ module Aws::S3
2789
2833
  # resp.sse_customer_algorithm #=> String
2790
2834
  # resp.sse_customer_key_md5 #=> String
2791
2835
  # resp.ssekms_key_id #=> String
2792
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING"
2836
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER"
2793
2837
  # resp.request_charged #=> String, one of "requester"
2794
2838
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA"
2795
2839
  # resp.parts_count #=> Integer
2796
2840
  # resp.tag_count #=> Integer
2841
+ # resp.object_lock_mode #=> String, one of "GOVERNANCE", "COMPLIANCE"
2842
+ # resp.object_lock_retain_until_date #=> Time
2843
+ # resp.object_lock_legal_hold_status #=> String, one of "ON", "OFF"
2797
2844
  #
2798
2845
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObject AWS API Documentation
2799
2846
  #
@@ -2909,6 +2956,134 @@ module Aws::S3
2909
2956
  req.send_request(options)
2910
2957
  end
2911
2958
 
2959
+ # Gets an object's current Legal Hold status.
2960
+ #
2961
+ # @option params [required, String] :bucket
2962
+ # The bucket containing the object whose Legal Hold status you want to
2963
+ # retrieve.
2964
+ #
2965
+ # @option params [required, String] :key
2966
+ # The key name for the object whose Legal Hold status you want to
2967
+ # retrieve.
2968
+ #
2969
+ # @option params [String] :version_id
2970
+ # The version ID of the object whose Legal Hold status you want to
2971
+ # retrieve.
2972
+ #
2973
+ # @option params [String] :request_payer
2974
+ # Confirms that the requester knows that she or he will be charged for
2975
+ # the request. Bucket owners need not specify this parameter in their
2976
+ # requests. Documentation on downloading objects from requester pays
2977
+ # buckets can be found at
2978
+ # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
2979
+ #
2980
+ # @return [Types::GetObjectLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2981
+ #
2982
+ # * {Types::GetObjectLegalHoldOutput#legal_hold #legal_hold} => Types::ObjectLockLegalHold
2983
+ #
2984
+ # @example Request syntax with placeholder values
2985
+ #
2986
+ # resp = client.get_object_legal_hold({
2987
+ # bucket: "BucketName", # required
2988
+ # key: "ObjectKey", # required
2989
+ # version_id: "ObjectVersionId",
2990
+ # request_payer: "requester", # accepts requester
2991
+ # })
2992
+ #
2993
+ # @example Response structure
2994
+ #
2995
+ # resp.legal_hold.status #=> String, one of "ON", "OFF"
2996
+ #
2997
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLegalHold AWS API Documentation
2998
+ #
2999
+ # @overload get_object_legal_hold(params = {})
3000
+ # @param [Hash] params ({})
3001
+ def get_object_legal_hold(params = {}, options = {})
3002
+ req = build_request(:get_object_legal_hold, params)
3003
+ req.send_request(options)
3004
+ end
3005
+
3006
+ # Gets the Object Lock configuration for a bucket. The rule specified in
3007
+ # the Object Lock configuration will be applied by default to every new
3008
+ # object placed in the specified bucket.
3009
+ #
3010
+ # @option params [required, String] :bucket
3011
+ # The bucket whose Object Lock configuration you want to retrieve.
3012
+ #
3013
+ # @return [Types::GetObjectLockConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3014
+ #
3015
+ # * {Types::GetObjectLockConfigurationOutput#object_lock_configuration #object_lock_configuration} => Types::ObjectLockConfiguration
3016
+ #
3017
+ # @example Request syntax with placeholder values
3018
+ #
3019
+ # resp = client.get_object_lock_configuration({
3020
+ # bucket: "BucketName", # required
3021
+ # })
3022
+ #
3023
+ # @example Response structure
3024
+ #
3025
+ # resp.object_lock_configuration.object_lock_enabled #=> String, one of "Enabled"
3026
+ # resp.object_lock_configuration.rule.default_retention.mode #=> String, one of "GOVERNANCE", "COMPLIANCE"
3027
+ # resp.object_lock_configuration.rule.default_retention.days #=> Integer
3028
+ # resp.object_lock_configuration.rule.default_retention.years #=> Integer
3029
+ #
3030
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectLockConfiguration AWS API Documentation
3031
+ #
3032
+ # @overload get_object_lock_configuration(params = {})
3033
+ # @param [Hash] params ({})
3034
+ def get_object_lock_configuration(params = {}, options = {})
3035
+ req = build_request(:get_object_lock_configuration, params)
3036
+ req.send_request(options)
3037
+ end
3038
+
3039
+ # Retrieves an object's retention settings.
3040
+ #
3041
+ # @option params [required, String] :bucket
3042
+ # The bucket containing the object whose retention settings you want to
3043
+ # retrieve.
3044
+ #
3045
+ # @option params [required, String] :key
3046
+ # The key name for the object whose retention settings you want to
3047
+ # retrieve.
3048
+ #
3049
+ # @option params [String] :version_id
3050
+ # The version ID for the object whose retention settings you want to
3051
+ # retrieve.
3052
+ #
3053
+ # @option params [String] :request_payer
3054
+ # Confirms that the requester knows that she or he will be charged for
3055
+ # the request. Bucket owners need not specify this parameter in their
3056
+ # requests. Documentation on downloading objects from requester pays
3057
+ # buckets can be found at
3058
+ # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
3059
+ #
3060
+ # @return [Types::GetObjectRetentionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3061
+ #
3062
+ # * {Types::GetObjectRetentionOutput#retention #retention} => Types::ObjectLockRetention
3063
+ #
3064
+ # @example Request syntax with placeholder values
3065
+ #
3066
+ # resp = client.get_object_retention({
3067
+ # bucket: "BucketName", # required
3068
+ # key: "ObjectKey", # required
3069
+ # version_id: "ObjectVersionId",
3070
+ # request_payer: "requester", # accepts requester
3071
+ # })
3072
+ #
3073
+ # @example Response structure
3074
+ #
3075
+ # resp.retention.mode #=> String, one of "GOVERNANCE", "COMPLIANCE"
3076
+ # resp.retention.retain_until_date #=> Time
3077
+ #
3078
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectRetention AWS API Documentation
3079
+ #
3080
+ # @overload get_object_retention(params = {})
3081
+ # @param [Hash] params ({})
3082
+ def get_object_retention(params = {}, options = {})
3083
+ req = build_request(:get_object_retention, params)
3084
+ req.send_request(options)
3085
+ end
3086
+
2912
3087
  # Returns the tag-set of an object.
2913
3088
  #
2914
3089
  # @option params [required, String] :bucket
@@ -3203,6 +3378,9 @@ module Aws::S3
3203
3378
  # * {Types::HeadObjectOutput#request_charged #request_charged} => String
3204
3379
  # * {Types::HeadObjectOutput#replication_status #replication_status} => String
3205
3380
  # * {Types::HeadObjectOutput#parts_count #parts_count} => Integer
3381
+ # * {Types::HeadObjectOutput#object_lock_mode #object_lock_mode} => String
3382
+ # * {Types::HeadObjectOutput#object_lock_retain_until_date #object_lock_retain_until_date} => Time
3383
+ # * {Types::HeadObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
3206
3384
  #
3207
3385
  #
3208
3386
  # @example Example: To retrieve metadata of an object without returning the object itself
@@ -3269,10 +3447,13 @@ module Aws::S3
3269
3447
  # resp.sse_customer_algorithm #=> String
3270
3448
  # resp.sse_customer_key_md5 #=> String
3271
3449
  # resp.ssekms_key_id #=> String
3272
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING"
3450
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER"
3273
3451
  # resp.request_charged #=> String, one of "requester"
3274
3452
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA"
3275
3453
  # resp.parts_count #=> Integer
3454
+ # resp.object_lock_mode #=> String, one of "GOVERNANCE", "COMPLIANCE"
3455
+ # resp.object_lock_retain_until_date #=> Time
3456
+ # resp.object_lock_legal_hold_status #=> String, one of "ON", "OFF"
3276
3457
  #
3277
3458
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/HeadObject AWS API Documentation
3278
3459
  #
@@ -3376,7 +3557,7 @@ module Aws::S3
3376
3557
  # resp.inventory_configuration_list[0].id #=> String
3377
3558
  # resp.inventory_configuration_list[0].included_object_versions #=> String, one of "All", "Current"
3378
3559
  # resp.inventory_configuration_list[0].optional_fields #=> Array
3379
- # resp.inventory_configuration_list[0].optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus"
3560
+ # resp.inventory_configuration_list[0].optional_fields[0] #=> String, one of "Size", "LastModifiedDate", "StorageClass", "ETag", "IsMultipartUploaded", "ReplicationStatus", "EncryptionStatus", "ObjectLockRetainUntilDate", "ObjectLockMode", "ObjectLockLegalHoldStatus"
3380
3561
  # resp.inventory_configuration_list[0].schedule.frequency #=> String, one of "Daily", "Weekly"
3381
3562
  # resp.is_truncated #=> Boolean
3382
3563
  # resp.next_continuation_token #=> String
@@ -3668,7 +3849,7 @@ module Aws::S3
3668
3849
  # resp.uploads[0].upload_id #=> String
3669
3850
  # resp.uploads[0].key #=> String
3670
3851
  # resp.uploads[0].initiated #=> Time
3671
- # resp.uploads[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING"
3852
+ # resp.uploads[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER"
3672
3853
  # resp.uploads[0].owner.display_name #=> String
3673
3854
  # resp.uploads[0].owner.id #=> String
3674
3855
  # resp.uploads[0].initiator.id #=> String
@@ -4204,7 +4385,7 @@ module Aws::S3
4204
4385
  # resp.initiator.display_name #=> String
4205
4386
  # resp.owner.display_name #=> String
4206
4387
  # resp.owner.id #=> String
4207
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING"
4388
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER"
4208
4389
  # resp.request_charged #=> String, one of "requester"
4209
4390
  #
4210
4391
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts AWS API Documentation
@@ -4555,7 +4736,7 @@ module Aws::S3
4555
4736
  # },
4556
4737
  # id: "InventoryId", # required
4557
4738
  # included_object_versions: "All", # required, accepts All, Current
4558
- # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus
4739
+ # optional_fields: ["Size"], # accepts Size, LastModifiedDate, StorageClass, ETag, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus
4559
4740
  # schedule: { # required
4560
4741
  # frequency: "Daily", # required, accepts Daily, Weekly
4561
4742
  # },
@@ -4866,20 +5047,20 @@ module Aws::S3
4866
5047
  # notification_configuration: { # required
4867
5048
  # topic_configuration: {
4868
5049
  # id: "NotificationId",
4869
- # events: ["s3:ReducedRedundancyLostObject"], # 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
4870
- # event: "s3:ReducedRedundancyLostObject", # 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
5050
+ # events: ["s3:ReducedRedundancyLostObject"], # 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
5051
+ # event: "s3:ReducedRedundancyLostObject", # 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
4871
5052
  # topic: "TopicArn",
4872
5053
  # },
4873
5054
  # queue_configuration: {
4874
5055
  # id: "NotificationId",
4875
- # event: "s3:ReducedRedundancyLostObject", # 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
4876
- # events: ["s3:ReducedRedundancyLostObject"], # 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
5056
+ # event: "s3:ReducedRedundancyLostObject", # 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
5057
+ # events: ["s3:ReducedRedundancyLostObject"], # 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
4877
5058
  # queue: "QueueArn",
4878
5059
  # },
4879
5060
  # cloud_function_configuration: {
4880
5061
  # id: "NotificationId",
4881
- # event: "s3:ReducedRedundancyLostObject", # 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
4882
- # events: ["s3:ReducedRedundancyLostObject"], # 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
5062
+ # event: "s3:ReducedRedundancyLostObject", # 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
5063
+ # events: ["s3:ReducedRedundancyLostObject"], # 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
4883
5064
  # cloud_function: "CloudFunction",
4884
5065
  # invocation_role: "CloudFunctionInvocationRole",
4885
5066
  # },
@@ -4934,7 +5115,7 @@ module Aws::S3
4934
5115
  # {
4935
5116
  # id: "NotificationId",
4936
5117
  # topic_arn: "TopicArn", # required
4937
- # 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
5118
+ # 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
4938
5119
  # filter: {
4939
5120
  # key: {
4940
5121
  # filter_rules: [
@@ -4951,7 +5132,7 @@ module Aws::S3
4951
5132
  # {
4952
5133
  # id: "NotificationId",
4953
5134
  # queue_arn: "QueueArn", # required
4954
- # 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
5135
+ # 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
4955
5136
  # filter: {
4956
5137
  # key: {
4957
5138
  # filter_rules: [
@@ -4968,7 +5149,7 @@ module Aws::S3
4968
5149
  # {
4969
5150
  # id: "NotificationId",
4970
5151
  # lambda_function_arn: "LambdaFunctionArn", # required
4971
- # 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
5152
+ # 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
4972
5153
  # filter: {
4973
5154
  # key: {
4974
5155
  # filter_rules: [
@@ -5111,7 +5292,7 @@ module Aws::S3
5111
5292
  # destination: { # required
5112
5293
  # bucket: "BucketName", # required
5113
5294
  # account: "AccountId",
5114
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING
5295
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER
5115
5296
  # access_control_translation: {
5116
5297
  # owner: "Destination", # required, accepts Destination
5117
5298
  # },
@@ -5460,6 +5641,15 @@ module Aws::S3
5460
5641
  # The tag-set for the object. The tag-set must be encoded as URL Query
5461
5642
  # parameters. (For example, "Key1=Value1")
5462
5643
  #
5644
+ # @option params [String] :object_lock_mode
5645
+ # The Object Lock mode that you want to apply to this object.
5646
+ #
5647
+ # @option params [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
5648
+ # The date and time when you want this object's Object Lock to expire.
5649
+ #
5650
+ # @option params [String] :object_lock_legal_hold_status
5651
+ # The Legal Hold status that you want to apply to the specified object.
5652
+ #
5463
5653
  # @return [Types::PutObjectOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5464
5654
  #
5465
5655
  # * {Types::PutObjectOutput#expiration #expiration} => String
@@ -5631,7 +5821,7 @@ module Aws::S3
5631
5821
  # "MetadataKey" => "MetadataValue",
5632
5822
  # },
5633
5823
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
5634
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING
5824
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER
5635
5825
  # website_redirect_location: "WebsiteRedirectLocation",
5636
5826
  # sse_customer_algorithm: "SSECustomerAlgorithm",
5637
5827
  # sse_customer_key: "SSECustomerKey",
@@ -5639,6 +5829,9 @@ module Aws::S3
5639
5829
  # ssekms_key_id: "SSEKMSKeyId",
5640
5830
  # request_payer: "requester", # accepts requester
5641
5831
  # tagging: "TaggingHeader",
5832
+ # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
5833
+ # object_lock_retain_until_date: Time.now,
5834
+ # object_lock_legal_hold_status: "ON", # accepts ON, OFF
5642
5835
  # })
5643
5836
  #
5644
5837
  # @example Response structure
@@ -5772,6 +5965,183 @@ module Aws::S3
5772
5965
  req.send_request(options)
5773
5966
  end
5774
5967
 
5968
+ # Applies a Legal Hold configuration to the specified object.
5969
+ #
5970
+ # @option params [required, String] :bucket
5971
+ # The bucket containing the object that you want to place a Legal Hold
5972
+ # on.
5973
+ #
5974
+ # @option params [required, String] :key
5975
+ # The key name for the object that you want to place a Legal Hold on.
5976
+ #
5977
+ # @option params [Types::ObjectLockLegalHold] :legal_hold
5978
+ # Container element for the Legal Hold configuration you want to apply
5979
+ # to the specified object.
5980
+ #
5981
+ # @option params [String] :request_payer
5982
+ # Confirms that the requester knows that she or he will be charged for
5983
+ # the request. Bucket owners need not specify this parameter in their
5984
+ # requests. Documentation on downloading objects from requester pays
5985
+ # buckets can be found at
5986
+ # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
5987
+ #
5988
+ # @option params [String] :version_id
5989
+ # The version ID of the object that you want to place a Legal Hold on.
5990
+ #
5991
+ # @option params [String] :content_md5
5992
+ # The MD5 signature for the configuration included in your request.
5993
+ #
5994
+ # @return [Types::PutObjectLegalHoldOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5995
+ #
5996
+ # * {Types::PutObjectLegalHoldOutput#request_charged #request_charged} => String
5997
+ #
5998
+ # @example Request syntax with placeholder values
5999
+ #
6000
+ # resp = client.put_object_legal_hold({
6001
+ # bucket: "BucketName", # required
6002
+ # key: "ObjectKey", # required
6003
+ # legal_hold: {
6004
+ # status: "ON", # accepts ON, OFF
6005
+ # },
6006
+ # request_payer: "requester", # accepts requester
6007
+ # version_id: "ObjectVersionId",
6008
+ # content_md5: "ContentMD5",
6009
+ # })
6010
+ #
6011
+ # @example Response structure
6012
+ #
6013
+ # resp.request_charged #=> String, one of "requester"
6014
+ #
6015
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLegalHold AWS API Documentation
6016
+ #
6017
+ # @overload put_object_legal_hold(params = {})
6018
+ # @param [Hash] params ({})
6019
+ def put_object_legal_hold(params = {}, options = {})
6020
+ req = build_request(:put_object_legal_hold, params)
6021
+ req.send_request(options)
6022
+ end
6023
+
6024
+ # Places an Object Lock configuration on the specified bucket. The rule
6025
+ # specified in the Object Lock configuration will be applied by default
6026
+ # to every new object placed in the specified bucket.
6027
+ #
6028
+ # @option params [required, String] :bucket
6029
+ # The bucket whose Object Lock configuration you want to create or
6030
+ # replace.
6031
+ #
6032
+ # @option params [Types::ObjectLockConfiguration] :object_lock_configuration
6033
+ # The Object Lock configuration that you want to apply to the specified
6034
+ # bucket.
6035
+ #
6036
+ # @option params [String] :request_payer
6037
+ # Confirms that the requester knows that she or he will be charged for
6038
+ # the request. Bucket owners need not specify this parameter in their
6039
+ # requests. Documentation on downloading objects from requester pays
6040
+ # buckets can be found at
6041
+ # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
6042
+ #
6043
+ # @option params [String] :token
6044
+ #
6045
+ # @option params [String] :content_md5
6046
+ # The MD5 signature for the configuration included in your request.
6047
+ #
6048
+ # @return [Types::PutObjectLockConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6049
+ #
6050
+ # * {Types::PutObjectLockConfigurationOutput#request_charged #request_charged} => String
6051
+ #
6052
+ # @example Request syntax with placeholder values
6053
+ #
6054
+ # resp = client.put_object_lock_configuration({
6055
+ # bucket: "BucketName", # required
6056
+ # object_lock_configuration: {
6057
+ # object_lock_enabled: "Enabled", # accepts Enabled
6058
+ # rule: {
6059
+ # default_retention: {
6060
+ # mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
6061
+ # days: 1,
6062
+ # years: 1,
6063
+ # },
6064
+ # },
6065
+ # },
6066
+ # request_payer: "requester", # accepts requester
6067
+ # token: "ObjectLockToken",
6068
+ # content_md5: "ContentMD5",
6069
+ # })
6070
+ #
6071
+ # @example Response structure
6072
+ #
6073
+ # resp.request_charged #=> String, one of "requester"
6074
+ #
6075
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectLockConfiguration AWS API Documentation
6076
+ #
6077
+ # @overload put_object_lock_configuration(params = {})
6078
+ # @param [Hash] params ({})
6079
+ def put_object_lock_configuration(params = {}, options = {})
6080
+ req = build_request(:put_object_lock_configuration, params)
6081
+ req.send_request(options)
6082
+ end
6083
+
6084
+ # Places an Object Retention configuration on an object.
6085
+ #
6086
+ # @option params [required, String] :bucket
6087
+ # The bucket that contains the object you want to apply this Object
6088
+ # Retention configuration to.
6089
+ #
6090
+ # @option params [required, String] :key
6091
+ # The key name for the object that you want to apply this Object
6092
+ # Retention configuration to.
6093
+ #
6094
+ # @option params [Types::ObjectLockRetention] :retention
6095
+ # The container element for the Object Retention configuration.
6096
+ #
6097
+ # @option params [String] :request_payer
6098
+ # Confirms that the requester knows that she or he will be charged for
6099
+ # the request. Bucket owners need not specify this parameter in their
6100
+ # requests. Documentation on downloading objects from requester pays
6101
+ # buckets can be found at
6102
+ # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
6103
+ #
6104
+ # @option params [String] :version_id
6105
+ # The version ID for the object that you want to apply this Object
6106
+ # Retention configuration to.
6107
+ #
6108
+ # @option params [Boolean] :bypass_governance_retention
6109
+ #
6110
+ # @option params [String] :content_md5
6111
+ # The MD5 signature for the configuration included in your request.
6112
+ #
6113
+ # @return [Types::PutObjectRetentionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6114
+ #
6115
+ # * {Types::PutObjectRetentionOutput#request_charged #request_charged} => String
6116
+ #
6117
+ # @example Request syntax with placeholder values
6118
+ #
6119
+ # resp = client.put_object_retention({
6120
+ # bucket: "BucketName", # required
6121
+ # key: "ObjectKey", # required
6122
+ # retention: {
6123
+ # mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
6124
+ # retain_until_date: Time.now,
6125
+ # },
6126
+ # request_payer: "requester", # accepts requester
6127
+ # version_id: "ObjectVersionId",
6128
+ # bypass_governance_retention: false,
6129
+ # content_md5: "ContentMD5",
6130
+ # })
6131
+ #
6132
+ # @example Response structure
6133
+ #
6134
+ # resp.request_charged #=> String, one of "requester"
6135
+ #
6136
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRetention AWS API Documentation
6137
+ #
6138
+ # @overload put_object_retention(params = {})
6139
+ # @param [Hash] params ({})
6140
+ def put_object_retention(params = {}, options = {})
6141
+ req = build_request(:put_object_retention, params)
6142
+ req.send_request(options)
6143
+ end
6144
+
5775
6145
  # Sets the supplied tag-set to an object that already exists in a bucket
5776
6146
  #
5777
6147
  # @option params [required, String] :bucket
@@ -5858,10 +6228,9 @@ module Aws::S3
5858
6228
  # @option params [required, Types::PublicAccessBlockConfiguration] :public_access_block_configuration
5859
6229
  # The `PublicAccessBlock` configuration that you want to apply to this
5860
6230
  # Amazon S3 bucket. You can enable the configuration options in any
5861
- # combination. For more information about when &S3; considers a
5862
- # bucket or object public, see For more information about when Amazon S3
5863
- # considers a bucket or object public, see [The Meaning of
5864
- # "Public"][1] in the Amazon Simple Storage Service Developer Guide.
6231
+ # combination. For more information about when Amazon S3 considers a
6232
+ # bucket or object public, see [The Meaning of "Public"][1] in the
6233
+ # *Amazon Simple Storage Service Developer Guide*.
5865
6234
  #
5866
6235
  #
5867
6236
  #
@@ -6017,7 +6386,7 @@ module Aws::S3
6017
6386
  # value: "MetadataValue",
6018
6387
  # },
6019
6388
  # ],
6020
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING
6389
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER
6021
6390
  # },
6022
6391
  # },
6023
6392
  # },
@@ -6617,7 +6986,7 @@ module Aws::S3
6617
6986
  params: params,
6618
6987
  config: config)
6619
6988
  context[:gem_name] = 'aws-sdk-s3'
6620
- context[:gem_version] = '1.26.0'
6989
+ context[:gem_version] = '1.27.0'
6621
6990
  Seahorse::Client::Request.new(handlers, context)
6622
6991
  end
6623
6992