aws-sdk-s3 1.24.1 → 1.36.1

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.
@@ -49,6 +49,7 @@ module Aws::S3
49
49
  BucketName = Shapes::StringShape.new(name: 'BucketName')
50
50
  BucketVersioningStatus = Shapes::StringShape.new(name: 'BucketVersioningStatus')
51
51
  Buckets = Shapes::ListShape.new(name: 'Buckets')
52
+ BypassGovernanceRetention = Shapes::BooleanShape.new(name: 'BypassGovernanceRetention')
52
53
  BytesProcessed = Shapes::IntegerShape.new(name: 'BytesProcessed')
53
54
  BytesReturned = Shapes::IntegerShape.new(name: 'BytesReturned')
54
55
  BytesScanned = Shapes::IntegerShape.new(name: 'BytesScanned')
@@ -104,6 +105,7 @@ module Aws::S3
104
105
  Date = Shapes::TimestampShape.new(name: 'Date', timestampFormat: "iso8601")
105
106
  Days = Shapes::IntegerShape.new(name: 'Days')
106
107
  DaysAfterInitiation = Shapes::IntegerShape.new(name: 'DaysAfterInitiation')
108
+ DefaultRetention = Shapes::StructureShape.new(name: 'DefaultRetention')
107
109
  Delete = Shapes::StructureShape.new(name: 'Delete')
108
110
  DeleteBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketAnalyticsConfigurationRequest')
109
111
  DeleteBucketCorsRequest = Shapes::StructureShape.new(name: 'DeleteBucketCorsRequest')
@@ -202,8 +204,14 @@ module Aws::S3
202
204
  GetBucketWebsiteRequest = Shapes::StructureShape.new(name: 'GetBucketWebsiteRequest')
203
205
  GetObjectAclOutput = Shapes::StructureShape.new(name: 'GetObjectAclOutput')
204
206
  GetObjectAclRequest = Shapes::StructureShape.new(name: 'GetObjectAclRequest')
207
+ GetObjectLegalHoldOutput = Shapes::StructureShape.new(name: 'GetObjectLegalHoldOutput')
208
+ GetObjectLegalHoldRequest = Shapes::StructureShape.new(name: 'GetObjectLegalHoldRequest')
209
+ GetObjectLockConfigurationOutput = Shapes::StructureShape.new(name: 'GetObjectLockConfigurationOutput')
210
+ GetObjectLockConfigurationRequest = Shapes::StructureShape.new(name: 'GetObjectLockConfigurationRequest')
205
211
  GetObjectOutput = Shapes::StructureShape.new(name: 'GetObjectOutput')
206
212
  GetObjectRequest = Shapes::StructureShape.new(name: 'GetObjectRequest')
213
+ GetObjectRetentionOutput = Shapes::StructureShape.new(name: 'GetObjectRetentionOutput')
214
+ GetObjectRetentionRequest = Shapes::StructureShape.new(name: 'GetObjectRetentionRequest')
207
215
  GetObjectTaggingOutput = Shapes::StructureShape.new(name: 'GetObjectTaggingOutput')
208
216
  GetObjectTaggingRequest = Shapes::StructureShape.new(name: 'GetObjectTaggingRequest')
209
217
  GetObjectTorrentOutput = Shapes::StructureShape.new(name: 'GetObjectTorrentOutput')
@@ -334,6 +342,17 @@ module Aws::S3
334
342
  ObjectIdentifierList = Shapes::ListShape.new(name: 'ObjectIdentifierList', flattened: true)
335
343
  ObjectKey = Shapes::StringShape.new(name: 'ObjectKey')
336
344
  ObjectList = Shapes::ListShape.new(name: 'ObjectList', flattened: true)
345
+ ObjectLockConfiguration = Shapes::StructureShape.new(name: 'ObjectLockConfiguration')
346
+ ObjectLockEnabled = Shapes::StringShape.new(name: 'ObjectLockEnabled')
347
+ ObjectLockEnabledForBucket = Shapes::BooleanShape.new(name: 'ObjectLockEnabledForBucket')
348
+ ObjectLockLegalHold = Shapes::StructureShape.new(name: 'ObjectLockLegalHold')
349
+ ObjectLockLegalHoldStatus = Shapes::StringShape.new(name: 'ObjectLockLegalHoldStatus')
350
+ ObjectLockMode = Shapes::StringShape.new(name: 'ObjectLockMode')
351
+ ObjectLockRetainUntilDate = Shapes::TimestampShape.new(name: 'ObjectLockRetainUntilDate', timestampFormat: "iso8601")
352
+ ObjectLockRetention = Shapes::StructureShape.new(name: 'ObjectLockRetention')
353
+ ObjectLockRetentionMode = Shapes::StringShape.new(name: 'ObjectLockRetentionMode')
354
+ ObjectLockRule = Shapes::StructureShape.new(name: 'ObjectLockRule')
355
+ ObjectLockToken = Shapes::StringShape.new(name: 'ObjectLockToken')
337
356
  ObjectNotInActiveTierError = Shapes::StructureShape.new(name: 'ObjectNotInActiveTierError')
338
357
  ObjectStorageClass = Shapes::StringShape.new(name: 'ObjectStorageClass')
339
358
  ObjectVersion = Shapes::StructureShape.new(name: 'ObjectVersion')
@@ -380,8 +399,14 @@ module Aws::S3
380
399
  PutBucketWebsiteRequest = Shapes::StructureShape.new(name: 'PutBucketWebsiteRequest')
381
400
  PutObjectAclOutput = Shapes::StructureShape.new(name: 'PutObjectAclOutput')
382
401
  PutObjectAclRequest = Shapes::StructureShape.new(name: 'PutObjectAclRequest')
402
+ PutObjectLegalHoldOutput = Shapes::StructureShape.new(name: 'PutObjectLegalHoldOutput')
403
+ PutObjectLegalHoldRequest = Shapes::StructureShape.new(name: 'PutObjectLegalHoldRequest')
404
+ PutObjectLockConfigurationOutput = Shapes::StructureShape.new(name: 'PutObjectLockConfigurationOutput')
405
+ PutObjectLockConfigurationRequest = Shapes::StructureShape.new(name: 'PutObjectLockConfigurationRequest')
383
406
  PutObjectOutput = Shapes::StructureShape.new(name: 'PutObjectOutput')
384
407
  PutObjectRequest = Shapes::StructureShape.new(name: 'PutObjectRequest')
408
+ PutObjectRetentionOutput = Shapes::StructureShape.new(name: 'PutObjectRetentionOutput')
409
+ PutObjectRetentionRequest = Shapes::StructureShape.new(name: 'PutObjectRetentionRequest')
385
410
  PutObjectTaggingOutput = Shapes::StructureShape.new(name: 'PutObjectTaggingOutput')
386
411
  PutObjectTaggingRequest = Shapes::StructureShape.new(name: 'PutObjectTaggingRequest')
387
412
  PutPublicAccessBlockRequest = Shapes::StructureShape.new(name: 'PutPublicAccessBlockRequest')
@@ -491,6 +516,7 @@ module Aws::S3
491
516
  VersioningConfiguration = Shapes::StructureShape.new(name: 'VersioningConfiguration')
492
517
  WebsiteConfiguration = Shapes::StructureShape.new(name: 'WebsiteConfiguration')
493
518
  WebsiteRedirectLocation = Shapes::StringShape.new(name: 'WebsiteRedirectLocation')
519
+ Years = Shapes::IntegerShape.new(name: 'Years')
494
520
 
495
521
  AbortIncompleteMultipartUpload.add_member(:days_after_initiation, Shapes::ShapeRef.new(shape: DaysAfterInitiation, location_name: "DaysAfterInitiation"))
496
522
  AbortIncompleteMultipartUpload.struct_class = Types::AbortIncompleteMultipartUpload
@@ -678,6 +704,9 @@ module Aws::S3
678
704
  CopyObjectRequest.add_member(:copy_source_sse_customer_key_md5, Shapes::ShapeRef.new(shape: CopySourceSSECustomerKeyMD5, location: "header", location_name: "x-amz-copy-source-server-side-encryption-customer-key-MD5"))
679
705
  CopyObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
680
706
  CopyObjectRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: TaggingHeader, location: "header", location_name: "x-amz-tagging"))
707
+ CopyObjectRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
708
+ CopyObjectRequest.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
709
+ CopyObjectRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
681
710
  CopyObjectRequest.struct_class = Types::CopyObjectRequest
682
711
 
683
712
  CopyObjectResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
@@ -702,6 +731,7 @@ module Aws::S3
702
731
  CreateBucketRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
703
732
  CreateBucketRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
704
733
  CreateBucketRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
734
+ CreateBucketRequest.add_member(:object_lock_enabled_for_bucket, Shapes::ShapeRef.new(shape: ObjectLockEnabledForBucket, location: "header", location_name: "x-amz-bucket-object-lock-enabled"))
705
735
  CreateBucketRequest.struct_class = Types::CreateBucketRequest
706
736
  CreateBucketRequest[:payload] = :create_bucket_configuration
707
737
  CreateBucketRequest[:payload_member] = CreateBucketRequest.member(:create_bucket_configuration)
@@ -741,8 +771,16 @@ module Aws::S3
741
771
  CreateMultipartUploadRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
742
772
  CreateMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
743
773
  CreateMultipartUploadRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: TaggingHeader, location: "header", location_name: "x-amz-tagging"))
774
+ CreateMultipartUploadRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
775
+ CreateMultipartUploadRequest.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
776
+ CreateMultipartUploadRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
744
777
  CreateMultipartUploadRequest.struct_class = Types::CreateMultipartUploadRequest
745
778
 
779
+ DefaultRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
780
+ DefaultRetention.add_member(:days, Shapes::ShapeRef.new(shape: Days, location_name: "Days"))
781
+ DefaultRetention.add_member(:years, Shapes::ShapeRef.new(shape: Years, location_name: "Years"))
782
+ DefaultRetention.struct_class = Types::DefaultRetention
783
+
746
784
  Delete.add_member(:objects, Shapes::ShapeRef.new(shape: ObjectIdentifierList, required: true, location_name: "Object"))
747
785
  Delete.add_member(:quiet, Shapes::ShapeRef.new(shape: Quiet, location_name: "Quiet"))
748
786
  Delete.struct_class = Types::Delete
@@ -805,6 +843,7 @@ module Aws::S3
805
843
  DeleteObjectRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
806
844
  DeleteObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
807
845
  DeleteObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
846
+ DeleteObjectRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
808
847
  DeleteObjectRequest.struct_class = Types::DeleteObjectRequest
809
848
 
810
849
  DeleteObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
@@ -824,6 +863,7 @@ module Aws::S3
824
863
  DeleteObjectsRequest.add_member(:delete, Shapes::ShapeRef.new(shape: Delete, required: true, location_name: "Delete", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
825
864
  DeleteObjectsRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
826
865
  DeleteObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
866
+ DeleteObjectsRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
827
867
  DeleteObjectsRequest.struct_class = Types::DeleteObjectsRequest
828
868
  DeleteObjectsRequest[:payload] = :delete
829
869
  DeleteObjectsRequest[:payload_member] = DeleteObjectsRequest.member(:delete)
@@ -1021,6 +1061,25 @@ module Aws::S3
1021
1061
  GetObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1022
1062
  GetObjectAclRequest.struct_class = Types::GetObjectAclRequest
1023
1063
 
1064
+ GetObjectLegalHoldOutput.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold"))
1065
+ GetObjectLegalHoldOutput.struct_class = Types::GetObjectLegalHoldOutput
1066
+ GetObjectLegalHoldOutput[:payload] = :legal_hold
1067
+ GetObjectLegalHoldOutput[:payload_member] = GetObjectLegalHoldOutput.member(:legal_hold)
1068
+
1069
+ GetObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1070
+ GetObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1071
+ GetObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1072
+ GetObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1073
+ GetObjectLegalHoldRequest.struct_class = Types::GetObjectLegalHoldRequest
1074
+
1075
+ GetObjectLockConfigurationOutput.add_member(:object_lock_configuration, Shapes::ShapeRef.new(shape: ObjectLockConfiguration, location_name: "ObjectLockConfiguration"))
1076
+ GetObjectLockConfigurationOutput.struct_class = Types::GetObjectLockConfigurationOutput
1077
+ GetObjectLockConfigurationOutput[:payload] = :object_lock_configuration
1078
+ GetObjectLockConfigurationOutput[:payload_member] = GetObjectLockConfigurationOutput.member(:object_lock_configuration)
1079
+
1080
+ GetObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1081
+ GetObjectLockConfigurationRequest.struct_class = Types::GetObjectLockConfigurationRequest
1082
+
1024
1083
  GetObjectOutput.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
1025
1084
  GetObjectOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
1026
1085
  GetObjectOutput.add_member(:accept_ranges, Shapes::ShapeRef.new(shape: AcceptRanges, location: "header", location_name: "accept-ranges"))
@@ -1050,6 +1109,9 @@ module Aws::S3
1050
1109
  GetObjectOutput.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-replication-status"))
1051
1110
  GetObjectOutput.add_member(:parts_count, Shapes::ShapeRef.new(shape: PartsCount, location: "header", location_name: "x-amz-mp-parts-count"))
1052
1111
  GetObjectOutput.add_member(:tag_count, Shapes::ShapeRef.new(shape: TagCount, location: "header", location_name: "x-amz-tagging-count"))
1112
+ GetObjectOutput.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
1113
+ GetObjectOutput.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
1114
+ GetObjectOutput.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
1053
1115
  GetObjectOutput.struct_class = Types::GetObjectOutput
1054
1116
  GetObjectOutput[:payload] = :body
1055
1117
  GetObjectOutput[:payload_member] = GetObjectOutput.member(:body)
@@ -1075,6 +1137,17 @@ module Aws::S3
1075
1137
  GetObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1076
1138
  GetObjectRequest.struct_class = Types::GetObjectRequest
1077
1139
 
1140
+ GetObjectRetentionOutput.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention"))
1141
+ GetObjectRetentionOutput.struct_class = Types::GetObjectRetentionOutput
1142
+ GetObjectRetentionOutput[:payload] = :retention
1143
+ GetObjectRetentionOutput[:payload_member] = GetObjectRetentionOutput.member(:retention)
1144
+
1145
+ GetObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1146
+ GetObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1147
+ GetObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1148
+ GetObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1149
+ GetObjectRetentionRequest.struct_class = Types::GetObjectRetentionRequest
1150
+
1078
1151
  GetObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1079
1152
  GetObjectTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
1080
1153
  GetObjectTaggingOutput.struct_class = Types::GetObjectTaggingOutput
@@ -1148,6 +1221,9 @@ module Aws::S3
1148
1221
  HeadObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1149
1222
  HeadObjectOutput.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-replication-status"))
1150
1223
  HeadObjectOutput.add_member(:parts_count, Shapes::ShapeRef.new(shape: PartsCount, location: "header", location_name: "x-amz-mp-parts-count"))
1224
+ HeadObjectOutput.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
1225
+ HeadObjectOutput.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
1226
+ HeadObjectOutput.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
1151
1227
  HeadObjectOutput.struct_class = Types::HeadObjectOutput
1152
1228
 
1153
1229
  HeadObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
@@ -1481,6 +1557,20 @@ module Aws::S3
1481
1557
 
1482
1558
  ObjectList.member = Shapes::ShapeRef.new(shape: Object)
1483
1559
 
1560
+ ObjectLockConfiguration.add_member(:object_lock_enabled, Shapes::ShapeRef.new(shape: ObjectLockEnabled, location_name: "ObjectLockEnabled"))
1561
+ ObjectLockConfiguration.add_member(:rule, Shapes::ShapeRef.new(shape: ObjectLockRule, location_name: "Rule"))
1562
+ ObjectLockConfiguration.struct_class = Types::ObjectLockConfiguration
1563
+
1564
+ ObjectLockLegalHold.add_member(:status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location_name: "Status"))
1565
+ ObjectLockLegalHold.struct_class = Types::ObjectLockLegalHold
1566
+
1567
+ ObjectLockRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
1568
+ ObjectLockRetention.add_member(:retain_until_date, Shapes::ShapeRef.new(shape: Date, location_name: "RetainUntilDate"))
1569
+ ObjectLockRetention.struct_class = Types::ObjectLockRetention
1570
+
1571
+ ObjectLockRule.add_member(:default_retention, Shapes::ShapeRef.new(shape: DefaultRetention, location_name: "DefaultRetention"))
1572
+ ObjectLockRule.struct_class = Types::ObjectLockRule
1573
+
1484
1574
  ObjectVersion.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1485
1575
  ObjectVersion.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1486
1576
  ObjectVersion.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectVersionStorageClass, location_name: "StorageClass"))
@@ -1681,6 +1771,31 @@ module Aws::S3
1681
1771
  PutObjectAclRequest[:payload] = :access_control_policy
1682
1772
  PutObjectAclRequest[:payload_member] = PutObjectAclRequest.member(:access_control_policy)
1683
1773
 
1774
+ PutObjectLegalHoldOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1775
+ PutObjectLegalHoldOutput.struct_class = Types::PutObjectLegalHoldOutput
1776
+
1777
+ PutObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1778
+ PutObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1779
+ PutObjectLegalHoldRequest.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1780
+ PutObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1781
+ PutObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1782
+ PutObjectLegalHoldRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1783
+ PutObjectLegalHoldRequest.struct_class = Types::PutObjectLegalHoldRequest
1784
+ PutObjectLegalHoldRequest[:payload] = :legal_hold
1785
+ PutObjectLegalHoldRequest[:payload_member] = PutObjectLegalHoldRequest.member(:legal_hold)
1786
+
1787
+ PutObjectLockConfigurationOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1788
+ PutObjectLockConfigurationOutput.struct_class = Types::PutObjectLockConfigurationOutput
1789
+
1790
+ PutObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1791
+ PutObjectLockConfigurationRequest.add_member(:object_lock_configuration, Shapes::ShapeRef.new(shape: ObjectLockConfiguration, location_name: "ObjectLockConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1792
+ PutObjectLockConfigurationRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1793
+ PutObjectLockConfigurationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
1794
+ PutObjectLockConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1795
+ PutObjectLockConfigurationRequest.struct_class = Types::PutObjectLockConfigurationRequest
1796
+ PutObjectLockConfigurationRequest[:payload] = :object_lock_configuration
1797
+ PutObjectLockConfigurationRequest[:payload_member] = PutObjectLockConfigurationRequest.member(:object_lock_configuration)
1798
+
1684
1799
  PutObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
1685
1800
  PutObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1686
1801
  PutObjectOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
@@ -1717,10 +1832,27 @@ module Aws::S3
1717
1832
  PutObjectRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
1718
1833
  PutObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1719
1834
  PutObjectRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: TaggingHeader, location: "header", location_name: "x-amz-tagging"))
1835
+ PutObjectRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
1836
+ PutObjectRequest.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
1837
+ PutObjectRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
1720
1838
  PutObjectRequest.struct_class = Types::PutObjectRequest
1721
1839
  PutObjectRequest[:payload] = :body
1722
1840
  PutObjectRequest[:payload_member] = PutObjectRequest.member(:body)
1723
1841
 
1842
+ PutObjectRetentionOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1843
+ PutObjectRetentionOutput.struct_class = Types::PutObjectRetentionOutput
1844
+
1845
+ PutObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1846
+ PutObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1847
+ PutObjectRetentionRequest.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1848
+ PutObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1849
+ PutObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1850
+ PutObjectRetentionRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
1851
+ PutObjectRetentionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1852
+ PutObjectRetentionRequest.struct_class = Types::PutObjectRetentionRequest
1853
+ PutObjectRetentionRequest[:payload] = :retention
1854
+ PutObjectRetentionRequest[:payload_member] = PutObjectRetentionRequest.member(:retention)
1855
+
1724
1856
  PutObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1725
1857
  PutObjectTaggingOutput.struct_class = Types::PutObjectTaggingOutput
1726
1858
 
@@ -2383,6 +2515,30 @@ module Aws::S3
2383
2515
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
2384
2516
  end)
2385
2517
 
2518
+ api.add_operation(:get_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
2519
+ o.name = "GetObjectLegalHold"
2520
+ o.http_method = "GET"
2521
+ o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
2522
+ o.input = Shapes::ShapeRef.new(shape: GetObjectLegalHoldRequest)
2523
+ o.output = Shapes::ShapeRef.new(shape: GetObjectLegalHoldOutput)
2524
+ end)
2525
+
2526
+ api.add_operation(:get_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
2527
+ o.name = "GetObjectLockConfiguration"
2528
+ o.http_method = "GET"
2529
+ o.http_request_uri = "/{Bucket}?object-lock"
2530
+ o.input = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationRequest)
2531
+ o.output = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationOutput)
2532
+ end)
2533
+
2534
+ api.add_operation(:get_object_retention, Seahorse::Model::Operation.new.tap do |o|
2535
+ o.name = "GetObjectRetention"
2536
+ o.http_method = "GET"
2537
+ o.http_request_uri = "/{Bucket}/{Key+}?retention"
2538
+ o.input = Shapes::ShapeRef.new(shape: GetObjectRetentionRequest)
2539
+ o.output = Shapes::ShapeRef.new(shape: GetObjectRetentionOutput)
2540
+ end)
2541
+
2386
2542
  api.add_operation(:get_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2387
2543
  o.name = "GetObjectTagging"
2388
2544
  o.http_method = "GET"
@@ -2698,6 +2854,30 @@ module Aws::S3
2698
2854
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
2699
2855
  end)
2700
2856
 
2857
+ api.add_operation(:put_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
2858
+ o.name = "PutObjectLegalHold"
2859
+ o.http_method = "PUT"
2860
+ o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
2861
+ o.input = Shapes::ShapeRef.new(shape: PutObjectLegalHoldRequest)
2862
+ o.output = Shapes::ShapeRef.new(shape: PutObjectLegalHoldOutput)
2863
+ end)
2864
+
2865
+ api.add_operation(:put_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
2866
+ o.name = "PutObjectLockConfiguration"
2867
+ o.http_method = "PUT"
2868
+ o.http_request_uri = "/{Bucket}?object-lock"
2869
+ o.input = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationRequest)
2870
+ o.output = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationOutput)
2871
+ end)
2872
+
2873
+ api.add_operation(:put_object_retention, Seahorse::Model::Operation.new.tap do |o|
2874
+ o.name = "PutObjectRetention"
2875
+ o.http_method = "PUT"
2876
+ o.http_request_uri = "/{Bucket}/{Key+}?retention"
2877
+ o.input = Shapes::ShapeRef.new(shape: PutObjectRetentionRequest)
2878
+ o.output = Shapes::ShapeRef.new(shape: PutObjectRetentionOutput)
2879
+ end)
2880
+
2701
2881
  api.add_operation(:put_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2702
2882
  o.name = "PutObjectTagging"
2703
2883
  o.http_method = "PUT"
@@ -179,7 +179,7 @@ module Aws
179
179
 
180
180
  extend Deprecations
181
181
 
182
- # Creates a new encryption client. You must provide on of the following
182
+ # Creates a new encryption client. You must provide one of the following
183
183
  # options:
184
184
  #
185
185
  # * `:encryption_key`
@@ -37,12 +37,18 @@ module Aws::S3
37
37
  @event_emitter.on(:error, Proc.new)
38
38
  end
39
39
 
40
+ def on_initial_response_event(&block)
41
+ @event_emitter.on(:initial_response, Proc.new)
42
+ end
43
+
40
44
  def on_event(&block)
41
45
  on_records_event(&block)
42
46
  on_stats_event(&block)
43
47
  on_progress_event(&block)
44
48
  on_cont_event(&block)
45
49
  on_end_event(&block)
50
+ on_error_event(&block)
51
+ on_initial_response_event(&block)
46
52
  end
47
53
 
48
54
  # @api private
@@ -141,6 +141,8 @@ module Aws
141
141
  if Tempfile === body
142
142
  body.close
143
143
  body.unlink
144
+ elsif StringIO === body
145
+ body.string.clear
144
146
  end
145
147
  end
146
148
  end
@@ -70,6 +70,7 @@ module Aws::S3
70
70
  data[:storage_class]
71
71
  end
72
72
 
73
+
73
74
  # @return [Types::Owner]
74
75
  def owner
75
76
  data[:owner]
@@ -235,7 +235,7 @@ module Aws::S3
235
235
  # must use the form bytes=first-last, where the first and last are the
236
236
  # zero-based byte offsets to copy. For example, bytes=0-9 indicates that
237
237
  # you want to copy the first ten bytes of the source. You can copy a
238
- # range only if the source object is greater than 5 GB.
238
+ # range only if the source object is greater than 5 MB.
239
239
  # @option options [String] :sse_customer_algorithm
240
240
  # Specifies the algorithm to use to when encrypting the object (e.g.,
241
241
  # AES256).
@@ -46,6 +46,7 @@ module Aws::S3
46
46
  data[:delete_marker]
47
47
  end
48
48
 
49
+
49
50
  # @return [String]
50
51
  def accept_ranges
51
52
  data[:accept_ranges]
@@ -190,6 +191,7 @@ module Aws::S3
190
191
  data[:ssekms_key_id]
191
192
  end
192
193
 
194
+
193
195
  # @return [String]
194
196
  def storage_class
195
197
  data[:storage_class]
@@ -202,6 +204,7 @@ module Aws::S3
202
204
  data[:request_charged]
203
205
  end
204
206
 
207
+
205
208
  # @return [String]
206
209
  def replication_status
207
210
  data[:replication_status]
@@ -213,6 +216,24 @@ module Aws::S3
213
216
  data[:parts_count]
214
217
  end
215
218
 
219
+ # The Object Lock mode currently in place for this object.
220
+ # @return [String]
221
+ def object_lock_mode
222
+ data[:object_lock_mode]
223
+ end
224
+
225
+ # The date and time when this object's Object Lock will expire.
226
+ # @return [Time]
227
+ def object_lock_retain_until_date
228
+ data[:object_lock_retain_until_date]
229
+ end
230
+
231
+ # The Legal Hold status for the specified object.
232
+ # @return [String]
233
+ def object_lock_legal_hold_status
234
+ data[:object_lock_legal_hold_status]
235
+ end
236
+
216
237
  # @!endgroup
217
238
 
218
239
  # @return [Client]
@@ -425,7 +446,7 @@ module Aws::S3
425
446
  # metadata_directive: "COPY", # accepts COPY, REPLACE
426
447
  # tagging_directive: "COPY", # accepts COPY, REPLACE
427
448
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
428
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
449
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
429
450
  # website_redirect_location: "WebsiteRedirectLocation",
430
451
  # sse_customer_algorithm: "SSECustomerAlgorithm",
431
452
  # sse_customer_key: "SSECustomerKey",
@@ -436,6 +457,9 @@ module Aws::S3
436
457
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
437
458
  # request_payer: "requester", # accepts requester
438
459
  # tagging: "TaggingHeader",
460
+ # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
461
+ # object_lock_retain_until_date: Time.now,
462
+ # object_lock_legal_hold_status: "ON", # accepts ON, OFF
439
463
  # })
440
464
  # @param [Hash] options ({})
441
465
  # @option options [String] :acl
@@ -533,6 +557,13 @@ module Aws::S3
533
557
  # The tag-set for the object destination object this value must be used
534
558
  # in conjunction with the TaggingDirective. The tag-set must be encoded
535
559
  # as URL Query parameters
560
+ # @option options [String] :object_lock_mode
561
+ # The Object Lock mode that you want to apply to the copied object.
562
+ # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
563
+ # The date and time when you want the copied object's Object Lock to
564
+ # expire.
565
+ # @option options [String] :object_lock_legal_hold_status
566
+ # Specifies whether you want to apply a Legal Hold to the copied object.
536
567
  # @return [Types::CopyObjectOutput]
537
568
  def copy_from(options = {})
538
569
  options = options.merge(
@@ -549,6 +580,7 @@ module Aws::S3
549
580
  # mfa: "MFA",
550
581
  # version_id: "ObjectVersionId",
551
582
  # request_payer: "requester", # accepts requester
583
+ # bypass_governance_retention: false,
552
584
  # })
553
585
  # @param [Hash] options ({})
554
586
  # @option options [String] :mfa
@@ -562,6 +594,9 @@ module Aws::S3
562
594
  # requests. Documentation on downloading objects from requester pays
563
595
  # buckets can be found at
564
596
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
597
+ # @option options [Boolean] :bypass_governance_retention
598
+ # Indicates whether S3 Object Lock should bypass Governance-mode
599
+ # restrictions to process this operation.
565
600
  # @return [Types::DeleteObjectOutput]
566
601
  def delete(options = {})
567
602
  options = options.merge(
@@ -676,7 +711,7 @@ module Aws::S3
676
711
  # "MetadataKey" => "MetadataValue",
677
712
  # },
678
713
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
679
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
714
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
680
715
  # website_redirect_location: "WebsiteRedirectLocation",
681
716
  # sse_customer_algorithm: "SSECustomerAlgorithm",
682
717
  # sse_customer_key: "SSECustomerKey",
@@ -684,6 +719,9 @@ module Aws::S3
684
719
  # ssekms_key_id: "SSEKMSKeyId",
685
720
  # request_payer: "requester", # accepts requester
686
721
  # tagging: "TaggingHeader",
722
+ # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
723
+ # object_lock_retain_until_date: Time.now,
724
+ # object_lock_legal_hold_status: "ON", # accepts ON, OFF
687
725
  # })
688
726
  # @param [Hash] options ({})
689
727
  # @option options [String] :acl
@@ -750,6 +788,14 @@ module Aws::S3
750
788
  # @option options [String] :tagging
751
789
  # The tag-set for the object. The tag-set must be encoded as URL Query
752
790
  # parameters
791
+ # @option options [String] :object_lock_mode
792
+ # Specifies the Object Lock mode that you want to apply to the uploaded
793
+ # object.
794
+ # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
795
+ # Specifies the date and time when you want the Object Lock to expire.
796
+ # @option options [String] :object_lock_legal_hold_status
797
+ # Specifies whether you want to apply a Legal Hold to the uploaded
798
+ # object.
753
799
  # @return [MultipartUpload]
754
800
  def initiate_multipart_upload(options = {})
755
801
  options = options.merge(
@@ -786,7 +832,7 @@ module Aws::S3
786
832
  # "MetadataKey" => "MetadataValue",
787
833
  # },
788
834
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
789
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
835
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
790
836
  # website_redirect_location: "WebsiteRedirectLocation",
791
837
  # sse_customer_algorithm: "SSECustomerAlgorithm",
792
838
  # sse_customer_key: "SSECustomerKey",
@@ -794,6 +840,9 @@ module Aws::S3
794
840
  # ssekms_key_id: "SSEKMSKeyId",
795
841
  # request_payer: "requester", # accepts requester
796
842
  # tagging: "TaggingHeader",
843
+ # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
844
+ # object_lock_retain_until_date: Time.now,
845
+ # object_lock_legal_hold_status: "ON", # accepts ON, OFF
797
846
  # })
798
847
  # @param [Hash] options ({})
799
848
  # @option options [String] :acl
@@ -814,7 +863,8 @@ module Aws::S3
814
863
  # Size of the body in bytes. This parameter is useful when the size of
815
864
  # the body cannot be determined automatically.
816
865
  # @option options [String] :content_md5
817
- # The base64-encoded 128-bit MD5 digest of the part data.
866
+ # The base64-encoded 128-bit MD5 digest of the part data. This parameter
867
+ # is auto-populated when using the command from the CLI
818
868
  # @option options [String] :content_type
819
869
  # A standard MIME type describing the format of the object data.
820
870
  # @option options [Time,DateTime,Date,Integer,String] :expires
@@ -867,6 +917,12 @@ module Aws::S3
867
917
  # @option options [String] :tagging
868
918
  # The tag-set for the object. The tag-set must be encoded as URL Query
869
919
  # parameters. (For example, "Key1=Value1")
920
+ # @option options [String] :object_lock_mode
921
+ # The Object Lock mode that you want to apply to this object.
922
+ # @option options [Time,DateTime,Date,Integer,String] :object_lock_retain_until_date
923
+ # The date and time when you want this object's Object Lock to expire.
924
+ # @option options [String] :object_lock_legal_hold_status
925
+ # The Legal Hold status that you want to apply to the specified object.
870
926
  # @return [Types::PutObjectOutput]
871
927
  def put(options = {})
872
928
  options = options.merge(
@@ -958,7 +1014,7 @@ module Aws::S3
958
1014
  # value: "MetadataValue",
959
1015
  # },
960
1016
  # ],
961
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA
1017
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
962
1018
  # },
963
1019
  # },
964
1020
  # },
@@ -1093,6 +1149,7 @@ module Aws::S3
1093
1149
  # object.batch_delete!({
1094
1150
  # mfa: "MFA",
1095
1151
  # request_payer: "requester", # accepts requester
1152
+ # bypass_governance_retention: false,
1096
1153
  # })
1097
1154
  # @param options ({})
1098
1155
  # @option options [String] :mfa
@@ -1104,6 +1161,10 @@ module Aws::S3
1104
1161
  # requests. Documentation on downloading objects from requester pays
1105
1162
  # buckets can be found at
1106
1163
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
1164
+ # @option options [Boolean] :bypass_governance_retention
1165
+ # Specifies whether you want to delete this object even if it has a
1166
+ # Governance-type Object Lock in place. You must have sufficient
1167
+ # permissions to perform this operation.
1107
1168
  # @return [void]
1108
1169
  def batch_delete!(options = {})
1109
1170
  batch_enum.each do |batch|
@@ -38,6 +38,7 @@ module Aws::S3
38
38
  @object_key
39
39
  end
40
40
 
41
+
41
42
  # @return [Types::Owner]
42
43
  def owner
43
44
  data[:owner]