aws-sdk-s3 1.26.0 → 1.27.0

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