aws-sdk-s3 1.9.0 → 1.40.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aws-sdk-s3/bucket.rb +22 -3
  3. data/lib/aws-sdk-s3/bucket_acl.rb +1 -0
  4. data/lib/aws-sdk-s3/bucket_cors.rb +1 -0
  5. data/lib/aws-sdk-s3/bucket_lifecycle.rb +3 -2
  6. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +3 -2
  7. data/lib/aws-sdk-s3/bucket_notification.rb +9 -5
  8. data/lib/aws-sdk-s3/bucket_tagging.rb +1 -0
  9. data/lib/aws-sdk-s3/bucket_website.rb +4 -0
  10. data/lib/aws-sdk-s3/client.rb +1303 -351
  11. data/lib/aws-sdk-s3/client_api.rb +352 -2
  12. data/lib/aws-sdk-s3/customizations/bucket.rb +2 -2
  13. data/lib/aws-sdk-s3/customizations/object.rb +60 -0
  14. data/lib/aws-sdk-s3/customizations/object_summary.rb +7 -0
  15. data/lib/aws-sdk-s3/customizations.rb +1 -0
  16. data/lib/aws-sdk-s3/encryption/client.rb +1 -1
  17. data/lib/aws-sdk-s3/encryption/io_auth_decrypter.rb +9 -3
  18. data/lib/aws-sdk-s3/event_streams.rb +62 -0
  19. data/lib/aws-sdk-s3/file_downloader.rb +10 -9
  20. data/lib/aws-sdk-s3/file_part.rb +5 -7
  21. data/lib/aws-sdk-s3/file_uploader.rb +1 -3
  22. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +162 -0
  23. data/lib/aws-sdk-s3/multipart_upload.rb +1 -0
  24. data/lib/aws-sdk-s3/multipart_upload_part.rb +2 -2
  25. data/lib/aws-sdk-s3/object.rb +71 -7
  26. data/lib/aws-sdk-s3/object_acl.rb +1 -0
  27. data/lib/aws-sdk-s3/object_summary.rb +54 -7
  28. data/lib/aws-sdk-s3/object_version.rb +11 -0
  29. data/lib/aws-sdk-s3/plugins/accelerate.rb +4 -0
  30. data/lib/aws-sdk-s3/plugins/md5s.rb +4 -1
  31. data/lib/aws-sdk-s3/plugins/redirects.rb +3 -1
  32. data/lib/aws-sdk-s3/plugins/s3_signer.rb +6 -1
  33. data/lib/aws-sdk-s3/presigner.rb +4 -0
  34. data/lib/aws-sdk-s3/resource.rb +4 -0
  35. data/lib/aws-sdk-s3/types.rb +1539 -227
  36. data/lib/aws-sdk-s3.rb +2 -1
  37. metadata +12 -4
@@ -21,6 +21,7 @@ module Aws::S3
21
21
  AccessControlPolicy = Shapes::StructureShape.new(name: 'AccessControlPolicy')
22
22
  AccessControlTranslation = Shapes::StructureShape.new(name: 'AccessControlTranslation')
23
23
  AccountId = Shapes::StringShape.new(name: 'AccountId')
24
+ AllowQuotedRecordDelimiter = Shapes::BooleanShape.new(name: 'AllowQuotedRecordDelimiter')
24
25
  AllowedHeader = Shapes::StringShape.new(name: 'AllowedHeader')
25
26
  AllowedHeaders = Shapes::ListShape.new(name: 'AllowedHeaders', flattened: true)
26
27
  AllowedMethod = Shapes::StringShape.new(name: 'AllowedMethod')
@@ -48,7 +49,9 @@ module Aws::S3
48
49
  BucketName = Shapes::StringShape.new(name: 'BucketName')
49
50
  BucketVersioningStatus = Shapes::StringShape.new(name: 'BucketVersioningStatus')
50
51
  Buckets = Shapes::ListShape.new(name: 'Buckets')
52
+ BypassGovernanceRetention = Shapes::BooleanShape.new(name: 'BypassGovernanceRetention')
51
53
  BytesProcessed = Shapes::IntegerShape.new(name: 'BytesProcessed')
54
+ BytesReturned = Shapes::IntegerShape.new(name: 'BytesReturned')
52
55
  BytesScanned = Shapes::IntegerShape.new(name: 'BytesScanned')
53
56
  CORSConfiguration = Shapes::StructureShape.new(name: 'CORSConfiguration')
54
57
  CORSRule = Shapes::StructureShape.new(name: 'CORSRule')
@@ -78,6 +81,7 @@ module Aws::S3
78
81
  ContentMD5 = Shapes::StringShape.new(name: 'ContentMD5')
79
82
  ContentRange = Shapes::StringShape.new(name: 'ContentRange')
80
83
  ContentType = Shapes::StringShape.new(name: 'ContentType')
84
+ ContinuationEvent = Shapes::StructureShape.new(name: 'ContinuationEvent')
81
85
  CopyObjectOutput = Shapes::StructureShape.new(name: 'CopyObjectOutput')
82
86
  CopyObjectRequest = Shapes::StructureShape.new(name: 'CopyObjectRequest')
83
87
  CopyObjectResult = Shapes::StructureShape.new(name: 'CopyObjectResult')
@@ -101,6 +105,7 @@ module Aws::S3
101
105
  Date = Shapes::TimestampShape.new(name: 'Date', timestampFormat: "iso8601")
102
106
  Days = Shapes::IntegerShape.new(name: 'Days')
103
107
  DaysAfterInitiation = Shapes::IntegerShape.new(name: 'DaysAfterInitiation')
108
+ DefaultRetention = Shapes::StructureShape.new(name: 'DefaultRetention')
104
109
  Delete = Shapes::StructureShape.new(name: 'Delete')
105
110
  DeleteBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketAnalyticsConfigurationRequest')
106
111
  DeleteBucketCorsRequest = Shapes::StructureShape.new(name: 'DeleteBucketCorsRequest')
@@ -115,6 +120,8 @@ module Aws::S3
115
120
  DeleteBucketWebsiteRequest = Shapes::StructureShape.new(name: 'DeleteBucketWebsiteRequest')
116
121
  DeleteMarker = Shapes::BooleanShape.new(name: 'DeleteMarker')
117
122
  DeleteMarkerEntry = Shapes::StructureShape.new(name: 'DeleteMarkerEntry')
123
+ DeleteMarkerReplication = Shapes::StructureShape.new(name: 'DeleteMarkerReplication')
124
+ DeleteMarkerReplicationStatus = Shapes::StringShape.new(name: 'DeleteMarkerReplicationStatus')
118
125
  DeleteMarkerVersionId = Shapes::StringShape.new(name: 'DeleteMarkerVersionId')
119
126
  DeleteMarkers = Shapes::ListShape.new(name: 'DeleteMarkers', flattened: true)
120
127
  DeleteObjectOutput = Shapes::StructureShape.new(name: 'DeleteObjectOutput')
@@ -123,6 +130,7 @@ module Aws::S3
123
130
  DeleteObjectTaggingRequest = Shapes::StructureShape.new(name: 'DeleteObjectTaggingRequest')
124
131
  DeleteObjectsOutput = Shapes::StructureShape.new(name: 'DeleteObjectsOutput')
125
132
  DeleteObjectsRequest = Shapes::StructureShape.new(name: 'DeleteObjectsRequest')
133
+ DeletePublicAccessBlockRequest = Shapes::StructureShape.new(name: 'DeletePublicAccessBlockRequest')
126
134
  DeletedObject = Shapes::StructureShape.new(name: 'DeletedObject')
127
135
  DeletedObjects = Shapes::ListShape.new(name: 'DeletedObjects', flattened: true)
128
136
  Delimiter = Shapes::StringShape.new(name: 'Delimiter')
@@ -135,6 +143,7 @@ module Aws::S3
135
143
  EncodingType = Shapes::StringShape.new(name: 'EncodingType')
136
144
  Encryption = Shapes::StructureShape.new(name: 'Encryption')
137
145
  EncryptionConfiguration = Shapes::StructureShape.new(name: 'EncryptionConfiguration')
146
+ EndEvent = Shapes::StructureShape.new(name: 'EndEvent')
138
147
  Error = Shapes::StructureShape.new(name: 'Error')
139
148
  ErrorDocument = Shapes::StructureShape.new(name: 'ErrorDocument')
140
149
  Errors = Shapes::ListShape.new(name: 'Errors', flattened: true)
@@ -181,6 +190,8 @@ module Aws::S3
181
190
  GetBucketNotificationConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketNotificationConfigurationRequest')
182
191
  GetBucketPolicyOutput = Shapes::StructureShape.new(name: 'GetBucketPolicyOutput')
183
192
  GetBucketPolicyRequest = Shapes::StructureShape.new(name: 'GetBucketPolicyRequest')
193
+ GetBucketPolicyStatusOutput = Shapes::StructureShape.new(name: 'GetBucketPolicyStatusOutput')
194
+ GetBucketPolicyStatusRequest = Shapes::StructureShape.new(name: 'GetBucketPolicyStatusRequest')
184
195
  GetBucketReplicationOutput = Shapes::StructureShape.new(name: 'GetBucketReplicationOutput')
185
196
  GetBucketReplicationRequest = Shapes::StructureShape.new(name: 'GetBucketReplicationRequest')
186
197
  GetBucketRequestPaymentOutput = Shapes::StructureShape.new(name: 'GetBucketRequestPaymentOutput')
@@ -193,12 +204,20 @@ module Aws::S3
193
204
  GetBucketWebsiteRequest = Shapes::StructureShape.new(name: 'GetBucketWebsiteRequest')
194
205
  GetObjectAclOutput = Shapes::StructureShape.new(name: 'GetObjectAclOutput')
195
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')
196
211
  GetObjectOutput = Shapes::StructureShape.new(name: 'GetObjectOutput')
197
212
  GetObjectRequest = Shapes::StructureShape.new(name: 'GetObjectRequest')
213
+ GetObjectRetentionOutput = Shapes::StructureShape.new(name: 'GetObjectRetentionOutput')
214
+ GetObjectRetentionRequest = Shapes::StructureShape.new(name: 'GetObjectRetentionRequest')
198
215
  GetObjectTaggingOutput = Shapes::StructureShape.new(name: 'GetObjectTaggingOutput')
199
216
  GetObjectTaggingRequest = Shapes::StructureShape.new(name: 'GetObjectTaggingRequest')
200
217
  GetObjectTorrentOutput = Shapes::StructureShape.new(name: 'GetObjectTorrentOutput')
201
218
  GetObjectTorrentRequest = Shapes::StructureShape.new(name: 'GetObjectTorrentRequest')
219
+ GetPublicAccessBlockOutput = Shapes::StructureShape.new(name: 'GetPublicAccessBlockOutput')
220
+ GetPublicAccessBlockRequest = Shapes::StructureShape.new(name: 'GetPublicAccessBlockRequest')
202
221
  GlacierJobParameters = Shapes::StructureShape.new(name: 'GlacierJobParameters')
203
222
  Grant = Shapes::StructureShape.new(name: 'Grant')
204
223
  GrantFullControl = Shapes::StringShape.new(name: 'GrantFullControl')
@@ -238,6 +257,7 @@ module Aws::S3
238
257
  InventorySchedule = Shapes::StructureShape.new(name: 'InventorySchedule')
239
258
  IsEnabled = Shapes::BooleanShape.new(name: 'IsEnabled')
240
259
  IsLatest = Shapes::BooleanShape.new(name: 'IsLatest')
260
+ IsPublic = Shapes::BooleanShape.new(name: 'IsPublic')
241
261
  IsTruncated = Shapes::BooleanShape.new(name: 'IsTruncated')
242
262
  JSONInput = Shapes::StructureShape.new(name: 'JSONInput')
243
263
  JSONOutput = Shapes::StructureShape.new(name: 'JSONOutput')
@@ -322,6 +342,17 @@ module Aws::S3
322
342
  ObjectIdentifierList = Shapes::ListShape.new(name: 'ObjectIdentifierList', flattened: true)
323
343
  ObjectKey = Shapes::StringShape.new(name: 'ObjectKey')
324
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')
325
356
  ObjectNotInActiveTierError = Shapes::StructureShape.new(name: 'ObjectNotInActiveTierError')
326
357
  ObjectStorageClass = Shapes::StringShape.new(name: 'ObjectStorageClass')
327
358
  ObjectVersion = Shapes::StructureShape.new(name: 'ObjectVersion')
@@ -332,6 +363,7 @@ module Aws::S3
332
363
  OutputSerialization = Shapes::StructureShape.new(name: 'OutputSerialization')
333
364
  Owner = Shapes::StructureShape.new(name: 'Owner')
334
365
  OwnerOverride = Shapes::StringShape.new(name: 'OwnerOverride')
366
+ ParquetInput = Shapes::StructureShape.new(name: 'ParquetInput')
335
367
  Part = Shapes::StructureShape.new(name: 'Part')
336
368
  PartNumber = Shapes::IntegerShape.new(name: 'PartNumber')
337
369
  PartNumberMarker = Shapes::IntegerShape.new(name: 'PartNumberMarker')
@@ -340,9 +372,13 @@ module Aws::S3
340
372
  Payer = Shapes::StringShape.new(name: 'Payer')
341
373
  Permission = Shapes::StringShape.new(name: 'Permission')
342
374
  Policy = Shapes::StringShape.new(name: 'Policy')
375
+ PolicyStatus = Shapes::StructureShape.new(name: 'PolicyStatus')
343
376
  Prefix = Shapes::StringShape.new(name: 'Prefix')
377
+ Priority = Shapes::IntegerShape.new(name: 'Priority')
344
378
  Progress = Shapes::StructureShape.new(name: 'Progress')
379
+ ProgressEvent = Shapes::StructureShape.new(name: 'ProgressEvent')
345
380
  Protocol = Shapes::StringShape.new(name: 'Protocol')
381
+ PublicAccessBlockConfiguration = Shapes::StructureShape.new(name: 'PublicAccessBlockConfiguration')
346
382
  PutBucketAccelerateConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAccelerateConfigurationRequest')
347
383
  PutBucketAclRequest = Shapes::StructureShape.new(name: 'PutBucketAclRequest')
348
384
  PutBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAnalyticsConfigurationRequest')
@@ -363,10 +399,17 @@ module Aws::S3
363
399
  PutBucketWebsiteRequest = Shapes::StructureShape.new(name: 'PutBucketWebsiteRequest')
364
400
  PutObjectAclOutput = Shapes::StructureShape.new(name: 'PutObjectAclOutput')
365
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')
366
406
  PutObjectOutput = Shapes::StructureShape.new(name: 'PutObjectOutput')
367
407
  PutObjectRequest = Shapes::StructureShape.new(name: 'PutObjectRequest')
408
+ PutObjectRetentionOutput = Shapes::StructureShape.new(name: 'PutObjectRetentionOutput')
409
+ PutObjectRetentionRequest = Shapes::StructureShape.new(name: 'PutObjectRetentionRequest')
368
410
  PutObjectTaggingOutput = Shapes::StructureShape.new(name: 'PutObjectTaggingOutput')
369
411
  PutObjectTaggingRequest = Shapes::StructureShape.new(name: 'PutObjectTaggingRequest')
412
+ PutPublicAccessBlockRequest = Shapes::StructureShape.new(name: 'PutPublicAccessBlockRequest')
370
413
  QueueArn = Shapes::StringShape.new(name: 'QueueArn')
371
414
  QueueConfiguration = Shapes::StructureShape.new(name: 'QueueConfiguration')
372
415
  QueueConfigurationDeprecated = Shapes::StructureShape.new(name: 'QueueConfigurationDeprecated')
@@ -377,6 +420,7 @@ module Aws::S3
377
420
  QuoteFields = Shapes::StringShape.new(name: 'QuoteFields')
378
421
  Range = Shapes::StringShape.new(name: 'Range')
379
422
  RecordDelimiter = Shapes::StringShape.new(name: 'RecordDelimiter')
423
+ RecordsEvent = Shapes::StructureShape.new(name: 'RecordsEvent')
380
424
  Redirect = Shapes::StructureShape.new(name: 'Redirect')
381
425
  RedirectAllRequestsTo = Shapes::StructureShape.new(name: 'RedirectAllRequestsTo')
382
426
  ReplaceKeyPrefixWith = Shapes::StringShape.new(name: 'ReplaceKeyPrefixWith')
@@ -384,6 +428,8 @@ module Aws::S3
384
428
  ReplicaKmsKeyID = Shapes::StringShape.new(name: 'ReplicaKmsKeyID')
385
429
  ReplicationConfiguration = Shapes::StructureShape.new(name: 'ReplicationConfiguration')
386
430
  ReplicationRule = Shapes::StructureShape.new(name: 'ReplicationRule')
431
+ ReplicationRuleAndOperator = Shapes::StructureShape.new(name: 'ReplicationRuleAndOperator')
432
+ ReplicationRuleFilter = Shapes::StructureShape.new(name: 'ReplicationRuleFilter')
387
433
  ReplicationRuleStatus = Shapes::StringShape.new(name: 'ReplicationRuleStatus')
388
434
  ReplicationRules = Shapes::ListShape.new(name: 'ReplicationRules', flattened: true)
389
435
  ReplicationStatus = Shapes::StringShape.new(name: 'ReplicationStatus')
@@ -416,18 +462,23 @@ module Aws::S3
416
462
  SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS')
417
463
  SSEKMSKeyId = Shapes::StringShape.new(name: 'SSEKMSKeyId')
418
464
  SSES3 = Shapes::StructureShape.new(name: 'SSES3')
465
+ SelectObjectContentEventStream = Shapes::StructureShape.new(name: 'SelectObjectContentEventStream')
466
+ SelectObjectContentOutput = Shapes::StructureShape.new(name: 'SelectObjectContentOutput')
467
+ SelectObjectContentRequest = Shapes::StructureShape.new(name: 'SelectObjectContentRequest')
419
468
  SelectParameters = Shapes::StructureShape.new(name: 'SelectParameters')
420
469
  ServerSideEncryption = Shapes::StringShape.new(name: 'ServerSideEncryption')
421
470
  ServerSideEncryptionByDefault = Shapes::StructureShape.new(name: 'ServerSideEncryptionByDefault')
422
471
  ServerSideEncryptionConfiguration = Shapes::StructureShape.new(name: 'ServerSideEncryptionConfiguration')
423
472
  ServerSideEncryptionRule = Shapes::StructureShape.new(name: 'ServerSideEncryptionRule')
424
473
  ServerSideEncryptionRules = Shapes::ListShape.new(name: 'ServerSideEncryptionRules', flattened: true)
474
+ Setting = Shapes::BooleanShape.new(name: 'Setting')
425
475
  Size = Shapes::IntegerShape.new(name: 'Size')
426
476
  SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
427
477
  SseKmsEncryptedObjects = Shapes::StructureShape.new(name: 'SseKmsEncryptedObjects')
428
478
  SseKmsEncryptedObjectsStatus = Shapes::StringShape.new(name: 'SseKmsEncryptedObjectsStatus')
429
479
  StartAfter = Shapes::StringShape.new(name: 'StartAfter')
430
480
  Stats = Shapes::StructureShape.new(name: 'Stats')
481
+ StatsEvent = Shapes::StructureShape.new(name: 'StatsEvent')
431
482
  StorageClass = Shapes::StringShape.new(name: 'StorageClass')
432
483
  StorageClassAnalysis = Shapes::StructureShape.new(name: 'StorageClassAnalysis')
433
484
  StorageClassAnalysisDataExport = Shapes::StructureShape.new(name: 'StorageClassAnalysisDataExport')
@@ -465,6 +516,7 @@ module Aws::S3
465
516
  VersioningConfiguration = Shapes::StructureShape.new(name: 'VersioningConfiguration')
466
517
  WebsiteConfiguration = Shapes::StructureShape.new(name: 'WebsiteConfiguration')
467
518
  WebsiteRedirectLocation = Shapes::StringShape.new(name: 'WebsiteRedirectLocation')
519
+ Years = Shapes::IntegerShape.new(name: 'Years')
468
520
 
469
521
  AbortIncompleteMultipartUpload.add_member(:days_after_initiation, Shapes::ShapeRef.new(shape: DaysAfterInitiation, location_name: "DaysAfterInitiation"))
470
522
  AbortIncompleteMultipartUpload.struct_class = Types::AbortIncompleteMultipartUpload
@@ -549,6 +601,7 @@ module Aws::S3
549
601
  CSVInput.add_member(:record_delimiter, Shapes::ShapeRef.new(shape: RecordDelimiter, location_name: "RecordDelimiter"))
550
602
  CSVInput.add_member(:field_delimiter, Shapes::ShapeRef.new(shape: FieldDelimiter, location_name: "FieldDelimiter"))
551
603
  CSVInput.add_member(:quote_character, Shapes::ShapeRef.new(shape: QuoteCharacter, location_name: "QuoteCharacter"))
604
+ CSVInput.add_member(:allow_quoted_record_delimiter, Shapes::ShapeRef.new(shape: AllowQuotedRecordDelimiter, location_name: "AllowQuotedRecordDelimiter"))
552
605
  CSVInput.struct_class = Types::CSVInput
553
606
 
554
607
  CSVOutput.add_member(:quote_fields, Shapes::ShapeRef.new(shape: QuoteFields, location_name: "QuoteFields"))
@@ -603,6 +656,8 @@ module Aws::S3
603
656
  Condition.add_member(:key_prefix_equals, Shapes::ShapeRef.new(shape: KeyPrefixEquals, location_name: "KeyPrefixEquals"))
604
657
  Condition.struct_class = Types::Condition
605
658
 
659
+ ContinuationEvent.struct_class = Types::ContinuationEvent
660
+
606
661
  CopyObjectOutput.add_member(:copy_object_result, Shapes::ShapeRef.new(shape: CopyObjectResult, location_name: "CopyObjectResult"))
607
662
  CopyObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
608
663
  CopyObjectOutput.add_member(:copy_source_version_id, Shapes::ShapeRef.new(shape: CopySourceVersionId, location: "header", location_name: "x-amz-copy-source-version-id"))
@@ -649,6 +704,9 @@ module Aws::S3
649
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"))
650
705
  CopyObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
651
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"))
652
710
  CopyObjectRequest.struct_class = Types::CopyObjectRequest
653
711
 
654
712
  CopyObjectResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
@@ -673,6 +731,7 @@ module Aws::S3
673
731
  CreateBucketRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
674
732
  CreateBucketRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
675
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"))
676
735
  CreateBucketRequest.struct_class = Types::CreateBucketRequest
677
736
  CreateBucketRequest[:payload] = :create_bucket_configuration
678
737
  CreateBucketRequest[:payload_member] = CreateBucketRequest.member(:create_bucket_configuration)
@@ -712,8 +771,16 @@ module Aws::S3
712
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"))
713
772
  CreateMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
714
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"))
715
777
  CreateMultipartUploadRequest.struct_class = Types::CreateMultipartUploadRequest
716
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
+
717
784
  Delete.add_member(:objects, Shapes::ShapeRef.new(shape: ObjectIdentifierList, required: true, location_name: "Object"))
718
785
  Delete.add_member(:quiet, Shapes::ShapeRef.new(shape: Quiet, location_name: "Quiet"))
719
786
  Delete.struct_class = Types::Delete
@@ -761,6 +828,9 @@ module Aws::S3
761
828
  DeleteMarkerEntry.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
762
829
  DeleteMarkerEntry.struct_class = Types::DeleteMarkerEntry
763
830
 
831
+ DeleteMarkerReplication.add_member(:status, Shapes::ShapeRef.new(shape: DeleteMarkerReplicationStatus, location_name: "Status"))
832
+ DeleteMarkerReplication.struct_class = Types::DeleteMarkerReplication
833
+
764
834
  DeleteMarkers.member = Shapes::ShapeRef.new(shape: DeleteMarkerEntry)
765
835
 
766
836
  DeleteObjectOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
@@ -773,6 +843,7 @@ module Aws::S3
773
843
  DeleteObjectRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
774
844
  DeleteObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
775
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"))
776
847
  DeleteObjectRequest.struct_class = Types::DeleteObjectRequest
777
848
 
778
849
  DeleteObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
@@ -792,10 +863,14 @@ module Aws::S3
792
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/"}}))
793
864
  DeleteObjectsRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
794
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"))
795
867
  DeleteObjectsRequest.struct_class = Types::DeleteObjectsRequest
796
868
  DeleteObjectsRequest[:payload] = :delete
797
869
  DeleteObjectsRequest[:payload_member] = DeleteObjectsRequest.member(:delete)
798
870
 
871
+ DeletePublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
872
+ DeletePublicAccessBlockRequest.struct_class = Types::DeletePublicAccessBlockRequest
873
+
799
874
  DeletedObject.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
800
875
  DeletedObject.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
801
876
  DeletedObject.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location_name: "DeleteMarker"))
@@ -819,6 +894,8 @@ module Aws::S3
819
894
  EncryptionConfiguration.add_member(:replica_kms_key_id, Shapes::ShapeRef.new(shape: ReplicaKmsKeyID, location_name: "ReplicaKmsKeyID"))
820
895
  EncryptionConfiguration.struct_class = Types::EncryptionConfiguration
821
896
 
897
+ EndEvent.struct_class = Types::EndEvent
898
+
822
899
  Error.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
823
900
  Error.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
824
901
  Error.add_member(:code, Shapes::ShapeRef.new(shape: Code, location_name: "Code"))
@@ -929,6 +1006,14 @@ module Aws::S3
929
1006
  GetBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
930
1007
  GetBucketPolicyRequest.struct_class = Types::GetBucketPolicyRequest
931
1008
 
1009
+ GetBucketPolicyStatusOutput.add_member(:policy_status, Shapes::ShapeRef.new(shape: PolicyStatus, location_name: "PolicyStatus"))
1010
+ GetBucketPolicyStatusOutput.struct_class = Types::GetBucketPolicyStatusOutput
1011
+ GetBucketPolicyStatusOutput[:payload] = :policy_status
1012
+ GetBucketPolicyStatusOutput[:payload_member] = GetBucketPolicyStatusOutput.member(:policy_status)
1013
+
1014
+ GetBucketPolicyStatusRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1015
+ GetBucketPolicyStatusRequest.struct_class = Types::GetBucketPolicyStatusRequest
1016
+
932
1017
  GetBucketReplicationOutput.add_member(:replication_configuration, Shapes::ShapeRef.new(shape: ReplicationConfiguration, location_name: "ReplicationConfiguration"))
933
1018
  GetBucketReplicationOutput.struct_class = Types::GetBucketReplicationOutput
934
1019
  GetBucketReplicationOutput[:payload] = :replication_configuration
@@ -976,6 +1061,25 @@ module Aws::S3
976
1061
  GetObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
977
1062
  GetObjectAclRequest.struct_class = Types::GetObjectAclRequest
978
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
+
979
1083
  GetObjectOutput.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
980
1084
  GetObjectOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
981
1085
  GetObjectOutput.add_member(:accept_ranges, Shapes::ShapeRef.new(shape: AcceptRanges, location: "header", location_name: "accept-ranges"))
@@ -1005,6 +1109,9 @@ module Aws::S3
1005
1109
  GetObjectOutput.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-replication-status"))
1006
1110
  GetObjectOutput.add_member(:parts_count, Shapes::ShapeRef.new(shape: PartsCount, location: "header", location_name: "x-amz-mp-parts-count"))
1007
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"))
1008
1115
  GetObjectOutput.struct_class = Types::GetObjectOutput
1009
1116
  GetObjectOutput[:payload] = :body
1010
1117
  GetObjectOutput[:payload_member] = GetObjectOutput.member(:body)
@@ -1030,6 +1137,17 @@ module Aws::S3
1030
1137
  GetObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1031
1138
  GetObjectRequest.struct_class = Types::GetObjectRequest
1032
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
+
1033
1151
  GetObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1034
1152
  GetObjectTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
1035
1153
  GetObjectTaggingOutput.struct_class = Types::GetObjectTaggingOutput
@@ -1050,6 +1168,14 @@ module Aws::S3
1050
1168
  GetObjectTorrentRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1051
1169
  GetObjectTorrentRequest.struct_class = Types::GetObjectTorrentRequest
1052
1170
 
1171
+ GetPublicAccessBlockOutput.add_member(:public_access_block_configuration, Shapes::ShapeRef.new(shape: PublicAccessBlockConfiguration, location_name: "PublicAccessBlockConfiguration"))
1172
+ GetPublicAccessBlockOutput.struct_class = Types::GetPublicAccessBlockOutput
1173
+ GetPublicAccessBlockOutput[:payload] = :public_access_block_configuration
1174
+ GetPublicAccessBlockOutput[:payload_member] = GetPublicAccessBlockOutput.member(:public_access_block_configuration)
1175
+
1176
+ GetPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1177
+ GetPublicAccessBlockRequest.struct_class = Types::GetPublicAccessBlockRequest
1178
+
1053
1179
  GlacierJobParameters.add_member(:tier, Shapes::ShapeRef.new(shape: Tier, required: true, location_name: "Tier"))
1054
1180
  GlacierJobParameters.struct_class = Types::GlacierJobParameters
1055
1181
 
@@ -1095,6 +1221,9 @@ module Aws::S3
1095
1221
  HeadObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1096
1222
  HeadObjectOutput.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-replication-status"))
1097
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"))
1098
1227
  HeadObjectOutput.struct_class = Types::HeadObjectOutput
1099
1228
 
1100
1229
  HeadObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
@@ -1122,6 +1251,7 @@ module Aws::S3
1122
1251
  InputSerialization.add_member(:csv, Shapes::ShapeRef.new(shape: CSVInput, location_name: "CSV"))
1123
1252
  InputSerialization.add_member(:compression_type, Shapes::ShapeRef.new(shape: CompressionType, location_name: "CompressionType"))
1124
1253
  InputSerialization.add_member(:json, Shapes::ShapeRef.new(shape: JSONInput, location_name: "JSON"))
1254
+ InputSerialization.add_member(:parquet, Shapes::ShapeRef.new(shape: ParquetInput, location_name: "Parquet"))
1125
1255
  InputSerialization.struct_class = Types::InputSerialization
1126
1256
 
1127
1257
  InventoryConfiguration.add_member(:destination, Shapes::ShapeRef.new(shape: InventoryDestination, required: true, location_name: "Destination"))
@@ -1427,6 +1557,20 @@ module Aws::S3
1427
1557
 
1428
1558
  ObjectList.member = Shapes::ShapeRef.new(shape: Object)
1429
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
+
1430
1574
  ObjectVersion.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1431
1575
  ObjectVersion.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1432
1576
  ObjectVersion.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectVersionStorageClass, location_name: "StorageClass"))
@@ -1450,6 +1594,8 @@ module Aws::S3
1450
1594
  Owner.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
1451
1595
  Owner.struct_class = Types::Owner
1452
1596
 
1597
+ ParquetInput.struct_class = Types::ParquetInput
1598
+
1453
1599
  Part.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
1454
1600
  Part.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1455
1601
  Part.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
@@ -1458,10 +1604,23 @@ module Aws::S3
1458
1604
 
1459
1605
  Parts.member = Shapes::ShapeRef.new(shape: Part)
1460
1606
 
1607
+ PolicyStatus.add_member(:is_public, Shapes::ShapeRef.new(shape: IsPublic, location_name: "IsPublic"))
1608
+ PolicyStatus.struct_class = Types::PolicyStatus
1609
+
1461
1610
  Progress.add_member(:bytes_scanned, Shapes::ShapeRef.new(shape: BytesScanned, location_name: "BytesScanned"))
1462
1611
  Progress.add_member(:bytes_processed, Shapes::ShapeRef.new(shape: BytesProcessed, location_name: "BytesProcessed"))
1612
+ Progress.add_member(:bytes_returned, Shapes::ShapeRef.new(shape: BytesReturned, location_name: "BytesReturned"))
1463
1613
  Progress.struct_class = Types::Progress
1464
1614
 
1615
+ ProgressEvent.add_member(:details, Shapes::ShapeRef.new(shape: Progress, eventpayload: true, eventpayload_type: 'structure', location_name: "Details", metadata: {"eventpayload"=>true}))
1616
+ ProgressEvent.struct_class = Types::ProgressEvent
1617
+
1618
+ PublicAccessBlockConfiguration.add_member(:block_public_acls, Shapes::ShapeRef.new(shape: Setting, location_name: "BlockPublicAcls"))
1619
+ PublicAccessBlockConfiguration.add_member(:ignore_public_acls, Shapes::ShapeRef.new(shape: Setting, location_name: "IgnorePublicAcls"))
1620
+ PublicAccessBlockConfiguration.add_member(:block_public_policy, Shapes::ShapeRef.new(shape: Setting, location_name: "BlockPublicPolicy"))
1621
+ PublicAccessBlockConfiguration.add_member(:restrict_public_buckets, Shapes::ShapeRef.new(shape: Setting, location_name: "RestrictPublicBuckets"))
1622
+ PublicAccessBlockConfiguration.struct_class = Types::PublicAccessBlockConfiguration
1623
+
1465
1624
  PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1466
1625
  PutBucketAccelerateConfigurationRequest.add_member(:accelerate_configuration, Shapes::ShapeRef.new(shape: AccelerateConfiguration, required: true, location_name: "AccelerateConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1467
1626
  PutBucketAccelerateConfigurationRequest.struct_class = Types::PutBucketAccelerateConfigurationRequest
@@ -1560,6 +1719,7 @@ module Aws::S3
1560
1719
  PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1561
1720
  PutBucketReplicationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1562
1721
  PutBucketReplicationRequest.add_member(:replication_configuration, Shapes::ShapeRef.new(shape: ReplicationConfiguration, required: true, location_name: "ReplicationConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1722
+ PutBucketReplicationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
1563
1723
  PutBucketReplicationRequest.struct_class = Types::PutBucketReplicationRequest
1564
1724
  PutBucketReplicationRequest[:payload] = :replication_configuration
1565
1725
  PutBucketReplicationRequest[:payload_member] = PutBucketReplicationRequest.member(:replication_configuration)
@@ -1612,6 +1772,31 @@ module Aws::S3
1612
1772
  PutObjectAclRequest[:payload] = :access_control_policy
1613
1773
  PutObjectAclRequest[:payload_member] = PutObjectAclRequest.member(:access_control_policy)
1614
1774
 
1775
+ PutObjectLegalHoldOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1776
+ PutObjectLegalHoldOutput.struct_class = Types::PutObjectLegalHoldOutput
1777
+
1778
+ PutObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1779
+ PutObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1780
+ PutObjectLegalHoldRequest.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1781
+ PutObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1782
+ PutObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1783
+ PutObjectLegalHoldRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1784
+ PutObjectLegalHoldRequest.struct_class = Types::PutObjectLegalHoldRequest
1785
+ PutObjectLegalHoldRequest[:payload] = :legal_hold
1786
+ PutObjectLegalHoldRequest[:payload_member] = PutObjectLegalHoldRequest.member(:legal_hold)
1787
+
1788
+ PutObjectLockConfigurationOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1789
+ PutObjectLockConfigurationOutput.struct_class = Types::PutObjectLockConfigurationOutput
1790
+
1791
+ PutObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1792
+ 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/"}}))
1793
+ PutObjectLockConfigurationRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1794
+ PutObjectLockConfigurationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
1795
+ PutObjectLockConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1796
+ PutObjectLockConfigurationRequest.struct_class = Types::PutObjectLockConfigurationRequest
1797
+ PutObjectLockConfigurationRequest[:payload] = :object_lock_configuration
1798
+ PutObjectLockConfigurationRequest[:payload_member] = PutObjectLockConfigurationRequest.member(:object_lock_configuration)
1799
+
1615
1800
  PutObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
1616
1801
  PutObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1617
1802
  PutObjectOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
@@ -1648,10 +1833,27 @@ module Aws::S3
1648
1833
  PutObjectRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
1649
1834
  PutObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1650
1835
  PutObjectRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: TaggingHeader, location: "header", location_name: "x-amz-tagging"))
1836
+ PutObjectRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
1837
+ PutObjectRequest.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
1838
+ PutObjectRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
1651
1839
  PutObjectRequest.struct_class = Types::PutObjectRequest
1652
1840
  PutObjectRequest[:payload] = :body
1653
1841
  PutObjectRequest[:payload_member] = PutObjectRequest.member(:body)
1654
1842
 
1843
+ PutObjectRetentionOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1844
+ PutObjectRetentionOutput.struct_class = Types::PutObjectRetentionOutput
1845
+
1846
+ PutObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1847
+ PutObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1848
+ PutObjectRetentionRequest.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1849
+ PutObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1850
+ PutObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1851
+ PutObjectRetentionRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
1852
+ PutObjectRetentionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1853
+ PutObjectRetentionRequest.struct_class = Types::PutObjectRetentionRequest
1854
+ PutObjectRetentionRequest[:payload] = :retention
1855
+ PutObjectRetentionRequest[:payload_member] = PutObjectRetentionRequest.member(:retention)
1856
+
1655
1857
  PutObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1656
1858
  PutObjectTaggingOutput.struct_class = Types::PutObjectTaggingOutput
1657
1859
 
@@ -1664,6 +1866,13 @@ module Aws::S3
1664
1866
  PutObjectTaggingRequest[:payload] = :tagging
1665
1867
  PutObjectTaggingRequest[:payload_member] = PutObjectTaggingRequest.member(:tagging)
1666
1868
 
1869
+ PutPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1870
+ PutPublicAccessBlockRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1871
+ PutPublicAccessBlockRequest.add_member(:public_access_block_configuration, Shapes::ShapeRef.new(shape: PublicAccessBlockConfiguration, required: true, location_name: "PublicAccessBlockConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1872
+ PutPublicAccessBlockRequest.struct_class = Types::PutPublicAccessBlockRequest
1873
+ PutPublicAccessBlockRequest[:payload] = :public_access_block_configuration
1874
+ PutPublicAccessBlockRequest[:payload_member] = PutPublicAccessBlockRequest.member(:public_access_block_configuration)
1875
+
1667
1876
  QueueConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
1668
1877
  QueueConfiguration.add_member(:queue_arn, Shapes::ShapeRef.new(shape: QueueArn, required: true, location_name: "Queue"))
1669
1878
  QueueConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, required: true, location_name: "Event"))
@@ -1678,6 +1887,9 @@ module Aws::S3
1678
1887
 
1679
1888
  QueueConfigurationList.member = Shapes::ShapeRef.new(shape: QueueConfiguration)
1680
1889
 
1890
+ RecordsEvent.add_member(:payload, Shapes::ShapeRef.new(shape: Body, eventpayload: true, eventpayload_type: 'blob', location_name: "Payload", metadata: {"eventpayload"=>true}))
1891
+ RecordsEvent.struct_class = Types::RecordsEvent
1892
+
1681
1893
  Redirect.add_member(:host_name, Shapes::ShapeRef.new(shape: HostName, location_name: "HostName"))
1682
1894
  Redirect.add_member(:http_redirect_code, Shapes::ShapeRef.new(shape: HttpRedirectCode, location_name: "HttpRedirectCode"))
1683
1895
  Redirect.add_member(:protocol, Shapes::ShapeRef.new(shape: Protocol, location_name: "Protocol"))
@@ -1694,12 +1906,24 @@ module Aws::S3
1694
1906
  ReplicationConfiguration.struct_class = Types::ReplicationConfiguration
1695
1907
 
1696
1908
  ReplicationRule.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
1697
- ReplicationRule.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, required: true, location_name: "Prefix"))
1909
+ ReplicationRule.add_member(:priority, Shapes::ShapeRef.new(shape: Priority, location_name: "Priority"))
1910
+ ReplicationRule.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, deprecated: true, location_name: "Prefix"))
1911
+ ReplicationRule.add_member(:filter, Shapes::ShapeRef.new(shape: ReplicationRuleFilter, location_name: "Filter"))
1698
1912
  ReplicationRule.add_member(:status, Shapes::ShapeRef.new(shape: ReplicationRuleStatus, required: true, location_name: "Status"))
1699
1913
  ReplicationRule.add_member(:source_selection_criteria, Shapes::ShapeRef.new(shape: SourceSelectionCriteria, location_name: "SourceSelectionCriteria"))
1700
1914
  ReplicationRule.add_member(:destination, Shapes::ShapeRef.new(shape: Destination, required: true, location_name: "Destination"))
1915
+ ReplicationRule.add_member(:delete_marker_replication, Shapes::ShapeRef.new(shape: DeleteMarkerReplication, location_name: "DeleteMarkerReplication"))
1701
1916
  ReplicationRule.struct_class = Types::ReplicationRule
1702
1917
 
1918
+ ReplicationRuleAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1919
+ ReplicationRuleAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
1920
+ ReplicationRuleAndOperator.struct_class = Types::ReplicationRuleAndOperator
1921
+
1922
+ ReplicationRuleFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1923
+ ReplicationRuleFilter.add_member(:tag, Shapes::ShapeRef.new(shape: Tag, location_name: "Tag"))
1924
+ ReplicationRuleFilter.add_member(:and, Shapes::ShapeRef.new(shape: ReplicationRuleAndOperator, location_name: "And"))
1925
+ ReplicationRuleFilter.struct_class = Types::ReplicationRuleFilter
1926
+
1703
1927
  ReplicationRules.member = Shapes::ShapeRef.new(shape: ReplicationRule)
1704
1928
 
1705
1929
  RequestPaymentConfiguration.add_member(:payer, Shapes::ShapeRef.new(shape: Payer, required: true, location_name: "Payer"))
@@ -1766,6 +1990,30 @@ module Aws::S3
1766
1990
 
1767
1991
  SSES3.struct_class = Types::SSES3
1768
1992
 
1993
+ SelectObjectContentEventStream.add_member(:records, Shapes::ShapeRef.new(shape: RecordsEvent, event: true, location_name: "Records"))
1994
+ SelectObjectContentEventStream.add_member(:stats, Shapes::ShapeRef.new(shape: StatsEvent, event: true, location_name: "Stats"))
1995
+ SelectObjectContentEventStream.add_member(:progress, Shapes::ShapeRef.new(shape: ProgressEvent, event: true, location_name: "Progress"))
1996
+ SelectObjectContentEventStream.add_member(:cont, Shapes::ShapeRef.new(shape: ContinuationEvent, event: true, location_name: "Cont"))
1997
+ SelectObjectContentEventStream.add_member(:end, Shapes::ShapeRef.new(shape: EndEvent, event: true, location_name: "End"))
1998
+ SelectObjectContentEventStream.struct_class = Types::SelectObjectContentEventStream
1999
+
2000
+ SelectObjectContentOutput.add_member(:payload, Shapes::ShapeRef.new(shape: SelectObjectContentEventStream, eventstream: true, location_name: "Payload"))
2001
+ SelectObjectContentOutput.struct_class = Types::SelectObjectContentOutput
2002
+ SelectObjectContentOutput[:payload] = :payload
2003
+ SelectObjectContentOutput[:payload_member] = SelectObjectContentOutput.member(:payload)
2004
+
2005
+ SelectObjectContentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2006
+ SelectObjectContentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2007
+ SelectObjectContentRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2008
+ SelectObjectContentRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
2009
+ SelectObjectContentRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
2010
+ SelectObjectContentRequest.add_member(:expression, Shapes::ShapeRef.new(shape: Expression, required: true, location_name: "Expression"))
2011
+ SelectObjectContentRequest.add_member(:expression_type, Shapes::ShapeRef.new(shape: ExpressionType, required: true, location_name: "ExpressionType"))
2012
+ SelectObjectContentRequest.add_member(:request_progress, Shapes::ShapeRef.new(shape: RequestProgress, location_name: "RequestProgress"))
2013
+ SelectObjectContentRequest.add_member(:input_serialization, Shapes::ShapeRef.new(shape: InputSerialization, required: true, location_name: "InputSerialization"))
2014
+ SelectObjectContentRequest.add_member(:output_serialization, Shapes::ShapeRef.new(shape: OutputSerialization, required: true, location_name: "OutputSerialization"))
2015
+ SelectObjectContentRequest.struct_class = Types::SelectObjectContentRequest
2016
+
1769
2017
  SelectParameters.add_member(:input_serialization, Shapes::ShapeRef.new(shape: InputSerialization, required: true, location_name: "InputSerialization"))
1770
2018
  SelectParameters.add_member(:expression_type, Shapes::ShapeRef.new(shape: ExpressionType, required: true, location_name: "ExpressionType"))
1771
2019
  SelectParameters.add_member(:expression, Shapes::ShapeRef.new(shape: Expression, required: true, location_name: "Expression"))
@@ -1792,8 +2040,12 @@ module Aws::S3
1792
2040
 
1793
2041
  Stats.add_member(:bytes_scanned, Shapes::ShapeRef.new(shape: BytesScanned, location_name: "BytesScanned"))
1794
2042
  Stats.add_member(:bytes_processed, Shapes::ShapeRef.new(shape: BytesProcessed, location_name: "BytesProcessed"))
2043
+ Stats.add_member(:bytes_returned, Shapes::ShapeRef.new(shape: BytesReturned, location_name: "BytesReturned"))
1795
2044
  Stats.struct_class = Types::Stats
1796
2045
 
2046
+ StatsEvent.add_member(:details, Shapes::ShapeRef.new(shape: Stats, eventpayload: true, eventpayload_type: 'structure', location_name: "Details", metadata: {"eventpayload"=>true}))
2047
+ StatsEvent.struct_class = Types::StatsEvent
2048
+
1797
2049
  StorageClassAnalysis.add_member(:data_export, Shapes::ShapeRef.new(shape: StorageClassAnalysisDataExport, location_name: "DataExport"))
1798
2050
  StorageClassAnalysis.struct_class = Types::StorageClassAnalysis
1799
2051
 
@@ -1909,10 +2161,15 @@ module Aws::S3
1909
2161
  api.version = "2006-03-01"
1910
2162
 
1911
2163
  api.metadata = {
2164
+ "apiVersion" => "2006-03-01",
2165
+ "checksumFormat" => "md5",
1912
2166
  "endpointPrefix" => "s3",
2167
+ "globalEndpoint" => "s3.amazonaws.com",
1913
2168
  "protocol" => "rest-xml",
2169
+ "serviceAbbreviation" => "Amazon S3",
1914
2170
  "serviceFullName" => "Amazon Simple Storage Service",
1915
- "timestampFormat" => "rfc822",
2171
+ "serviceId" => "S3",
2172
+ "uid" => "s3-2006-03-01",
1916
2173
  }
1917
2174
 
1918
2175
  api.add_operation(:abort_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
@@ -2071,6 +2328,14 @@ module Aws::S3
2071
2328
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectsOutput)
2072
2329
  end)
2073
2330
 
2331
+ api.add_operation(:delete_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2332
+ o.name = "DeletePublicAccessBlock"
2333
+ o.http_method = "DELETE"
2334
+ o.http_request_uri = "/{Bucket}?publicAccessBlock"
2335
+ o.input = Shapes::ShapeRef.new(shape: DeletePublicAccessBlockRequest)
2336
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2337
+ end)
2338
+
2074
2339
  api.add_operation(:get_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
2075
2340
  o.name = "GetBucketAccelerateConfiguration"
2076
2341
  o.http_method = "GET"
@@ -2185,6 +2450,14 @@ module Aws::S3
2185
2450
  o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyOutput)
2186
2451
  end)
2187
2452
 
2453
+ api.add_operation(:get_bucket_policy_status, Seahorse::Model::Operation.new.tap do |o|
2454
+ o.name = "GetBucketPolicyStatus"
2455
+ o.http_method = "GET"
2456
+ o.http_request_uri = "/{Bucket}?policyStatus"
2457
+ o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusRequest)
2458
+ o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusOutput)
2459
+ end)
2460
+
2188
2461
  api.add_operation(:get_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2189
2462
  o.name = "GetBucketReplication"
2190
2463
  o.http_method = "GET"
@@ -2243,6 +2516,30 @@ module Aws::S3
2243
2516
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
2244
2517
  end)
2245
2518
 
2519
+ api.add_operation(:get_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
2520
+ o.name = "GetObjectLegalHold"
2521
+ o.http_method = "GET"
2522
+ o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
2523
+ o.input = Shapes::ShapeRef.new(shape: GetObjectLegalHoldRequest)
2524
+ o.output = Shapes::ShapeRef.new(shape: GetObjectLegalHoldOutput)
2525
+ end)
2526
+
2527
+ api.add_operation(:get_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
2528
+ o.name = "GetObjectLockConfiguration"
2529
+ o.http_method = "GET"
2530
+ o.http_request_uri = "/{Bucket}?object-lock"
2531
+ o.input = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationRequest)
2532
+ o.output = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationOutput)
2533
+ end)
2534
+
2535
+ api.add_operation(:get_object_retention, Seahorse::Model::Operation.new.tap do |o|
2536
+ o.name = "GetObjectRetention"
2537
+ o.http_method = "GET"
2538
+ o.http_request_uri = "/{Bucket}/{Key+}?retention"
2539
+ o.input = Shapes::ShapeRef.new(shape: GetObjectRetentionRequest)
2540
+ o.output = Shapes::ShapeRef.new(shape: GetObjectRetentionOutput)
2541
+ end)
2542
+
2246
2543
  api.add_operation(:get_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2247
2544
  o.name = "GetObjectTagging"
2248
2545
  o.http_method = "GET"
@@ -2259,6 +2556,14 @@ module Aws::S3
2259
2556
  o.output = Shapes::ShapeRef.new(shape: GetObjectTorrentOutput)
2260
2557
  end)
2261
2558
 
2559
+ api.add_operation(:get_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2560
+ o.name = "GetPublicAccessBlock"
2561
+ o.http_method = "GET"
2562
+ o.http_request_uri = "/{Bucket}?publicAccessBlock"
2563
+ o.input = Shapes::ShapeRef.new(shape: GetPublicAccessBlockRequest)
2564
+ o.output = Shapes::ShapeRef.new(shape: GetPublicAccessBlockOutput)
2565
+ end)
2566
+
2262
2567
  api.add_operation(:head_bucket, Seahorse::Model::Operation.new.tap do |o|
2263
2568
  o.name = "HeadBucket"
2264
2569
  o.http_method = "HEAD"
@@ -2550,6 +2855,30 @@ module Aws::S3
2550
2855
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
2551
2856
  end)
2552
2857
 
2858
+ api.add_operation(:put_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
2859
+ o.name = "PutObjectLegalHold"
2860
+ o.http_method = "PUT"
2861
+ o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
2862
+ o.input = Shapes::ShapeRef.new(shape: PutObjectLegalHoldRequest)
2863
+ o.output = Shapes::ShapeRef.new(shape: PutObjectLegalHoldOutput)
2864
+ end)
2865
+
2866
+ api.add_operation(:put_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
2867
+ o.name = "PutObjectLockConfiguration"
2868
+ o.http_method = "PUT"
2869
+ o.http_request_uri = "/{Bucket}?object-lock"
2870
+ o.input = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationRequest)
2871
+ o.output = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationOutput)
2872
+ end)
2873
+
2874
+ api.add_operation(:put_object_retention, Seahorse::Model::Operation.new.tap do |o|
2875
+ o.name = "PutObjectRetention"
2876
+ o.http_method = "PUT"
2877
+ o.http_request_uri = "/{Bucket}/{Key+}?retention"
2878
+ o.input = Shapes::ShapeRef.new(shape: PutObjectRetentionRequest)
2879
+ o.output = Shapes::ShapeRef.new(shape: PutObjectRetentionOutput)
2880
+ end)
2881
+
2553
2882
  api.add_operation(:put_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2554
2883
  o.name = "PutObjectTagging"
2555
2884
  o.http_method = "PUT"
@@ -2558,6 +2887,14 @@ module Aws::S3
2558
2887
  o.output = Shapes::ShapeRef.new(shape: PutObjectTaggingOutput)
2559
2888
  end)
2560
2889
 
2890
+ api.add_operation(:put_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2891
+ o.name = "PutPublicAccessBlock"
2892
+ o.http_method = "PUT"
2893
+ o.http_request_uri = "/{Bucket}?publicAccessBlock"
2894
+ o.input = Shapes::ShapeRef.new(shape: PutPublicAccessBlockRequest)
2895
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2896
+ end)
2897
+
2561
2898
  api.add_operation(:restore_object, Seahorse::Model::Operation.new.tap do |o|
2562
2899
  o.name = "RestoreObject"
2563
2900
  o.http_method = "POST"
@@ -2567,6 +2904,19 @@ module Aws::S3
2567
2904
  o.errors << Shapes::ShapeRef.new(shape: ObjectAlreadyInActiveTierError)
2568
2905
  end)
2569
2906
 
2907
+ api.add_operation(:select_object_content, Seahorse::Model::Operation.new.tap do |o|
2908
+ o.name = "SelectObjectContent"
2909
+ o.http_method = "POST"
2910
+ o.http_request_uri = "/{Bucket}/{Key+}?select&select-type=2"
2911
+ o.input = Shapes::ShapeRef.new(shape: SelectObjectContentRequest,
2912
+ location_name: "SelectObjectContentRequest",
2913
+ metadata: {
2914
+ "xmlNamespace" => {"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}
2915
+ }
2916
+ )
2917
+ o.output = Shapes::ShapeRef.new(shape: SelectObjectContentOutput)
2918
+ end)
2919
+
2570
2920
  api.add_operation(:upload_part, Seahorse::Model::Operation.new.tap do |o|
2571
2921
  o.name = "UploadPart"
2572
2922
  o.http_method = "PUT"