aws-sdk-s3 1.136.0 → 1.176.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +250 -1
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
  5. data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +250 -0
  6. data/lib/aws-sdk-s3/bucket.rb +671 -139
  7. data/lib/aws-sdk-s3/bucket_acl.rb +12 -12
  8. data/lib/aws-sdk-s3/bucket_cors.rb +16 -16
  9. data/lib/aws-sdk-s3/bucket_lifecycle.rb +21 -16
  10. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +74 -17
  11. data/lib/aws-sdk-s3/bucket_logging.rb +19 -12
  12. data/lib/aws-sdk-s3/bucket_notification.rb +6 -6
  13. data/lib/aws-sdk-s3/bucket_policy.rb +62 -18
  14. data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
  15. data/lib/aws-sdk-s3/bucket_request_payment.rb +12 -12
  16. data/lib/aws-sdk-s3/bucket_tagging.rb +16 -16
  17. data/lib/aws-sdk-s3/bucket_versioning.rb +32 -32
  18. data/lib/aws-sdk-s3/bucket_website.rb +16 -16
  19. data/lib/aws-sdk-s3/client.rb +7597 -2823
  20. data/lib/aws-sdk-s3/client_api.rb +288 -22
  21. data/lib/aws-sdk-s3/customizations/bucket.rb +1 -1
  22. data/lib/aws-sdk-s3/customizations/errors.rb +15 -2
  23. data/lib/aws-sdk-s3/customizations/object.rb +11 -5
  24. data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
  25. data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
  26. data/lib/aws-sdk-s3/customizations.rb +25 -31
  27. data/lib/aws-sdk-s3/encryption/client.rb +2 -2
  28. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -2
  29. data/lib/aws-sdk-s3/encryptionV2/client.rb +2 -2
  30. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +2 -2
  31. data/lib/aws-sdk-s3/endpoint_parameters.rb +53 -18
  32. data/lib/aws-sdk-s3/endpoint_provider.rb +125 -6
  33. data/lib/aws-sdk-s3/endpoints.rb +545 -1261
  34. data/lib/aws-sdk-s3/errors.rb +47 -0
  35. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  36. data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
  37. data/lib/aws-sdk-s3/file_downloader.rb +1 -2
  38. data/lib/aws-sdk-s3/file_uploader.rb +1 -1
  39. data/lib/aws-sdk-s3/multipart_file_uploader.rb +4 -4
  40. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +6 -5
  41. data/lib/aws-sdk-s3/multipart_upload.rb +139 -36
  42. data/lib/aws-sdk-s3/multipart_upload_part.rb +175 -54
  43. data/lib/aws-sdk-s3/object.rb +1923 -313
  44. data/lib/aws-sdk-s3/object_acl.rb +34 -22
  45. data/lib/aws-sdk-s3/object_copier.rb +1 -1
  46. data/lib/aws-sdk-s3/object_multipart_copier.rb +10 -8
  47. data/lib/aws-sdk-s3/object_summary.rb +1690 -250
  48. data/lib/aws-sdk-s3/object_version.rb +397 -67
  49. data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
  50. data/lib/aws-sdk-s3/plugins/endpoints.rb +32 -208
  51. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +97 -0
  52. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +55 -18
  53. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  54. data/lib/aws-sdk-s3/plugins/md5s.rb +2 -1
  55. data/lib/aws-sdk-s3/plugins/s3_signer.rb +7 -2
  56. data/lib/aws-sdk-s3/presigner.rb +5 -2
  57. data/lib/aws-sdk-s3/resource.rb +121 -22
  58. data/lib/aws-sdk-s3/types.rb +5960 -1526
  59. data/lib/aws-sdk-s3.rb +35 -31
  60. data/sig/bucket.rbs +221 -0
  61. data/sig/bucket_acl.rbs +78 -0
  62. data/sig/bucket_cors.rbs +69 -0
  63. data/sig/bucket_lifecycle.rbs +88 -0
  64. data/sig/bucket_lifecycle_configuration.rbs +115 -0
  65. data/sig/bucket_logging.rbs +76 -0
  66. data/sig/bucket_notification.rbs +114 -0
  67. data/sig/bucket_policy.rbs +59 -0
  68. data/sig/bucket_request_payment.rbs +54 -0
  69. data/sig/bucket_tagging.rbs +65 -0
  70. data/sig/bucket_versioning.rbs +77 -0
  71. data/sig/bucket_website.rbs +93 -0
  72. data/sig/client.rbs +2450 -0
  73. data/sig/customizations/bucket.rbs +19 -0
  74. data/sig/customizations/object.rbs +38 -0
  75. data/sig/customizations/object_summary.rbs +35 -0
  76. data/sig/errors.rbs +42 -0
  77. data/sig/multipart_upload.rbs +113 -0
  78. data/sig/multipart_upload_part.rbs +105 -0
  79. data/sig/object.rbs +448 -0
  80. data/sig/object_acl.rbs +86 -0
  81. data/sig/object_summary.rbs +340 -0
  82. data/sig/object_version.rbs +140 -0
  83. data/sig/resource.rbs +132 -0
  84. data/sig/types.rbs +2682 -0
  85. data/sig/waiters.rbs +95 -0
  86. metadata +44 -11
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  module Aws::S3
11
12
  # @api private
12
13
  module ClientApi
@@ -22,6 +23,8 @@ module Aws::S3
22
23
  AcceptRanges = Shapes::StringShape.new(name: 'AcceptRanges')
23
24
  AccessControlPolicy = Shapes::StructureShape.new(name: 'AccessControlPolicy')
24
25
  AccessControlTranslation = Shapes::StructureShape.new(name: 'AccessControlTranslation')
26
+ AccessKeyIdValue = Shapes::StringShape.new(name: 'AccessKeyIdValue')
27
+ AccessPointAlias = Shapes::BooleanShape.new(name: 'AccessPointAlias')
25
28
  AccessPointArn = Shapes::StringShape.new(name: 'AccessPointArn')
26
29
  AccountId = Shapes::StringShape.new(name: 'AccountId')
27
30
  AllowQuotedRecordDelimiter = Shapes::BooleanShape.new(name: 'AllowQuotedRecordDelimiter')
@@ -46,12 +49,16 @@ module Aws::S3
46
49
  BucketAlreadyExists = Shapes::StructureShape.new(name: 'BucketAlreadyExists')
47
50
  BucketAlreadyOwnedByYou = Shapes::StructureShape.new(name: 'BucketAlreadyOwnedByYou')
48
51
  BucketCannedACL = Shapes::StringShape.new(name: 'BucketCannedACL')
52
+ BucketInfo = Shapes::StructureShape.new(name: 'BucketInfo')
49
53
  BucketKeyEnabled = Shapes::BooleanShape.new(name: 'BucketKeyEnabled')
50
54
  BucketLifecycleConfiguration = Shapes::StructureShape.new(name: 'BucketLifecycleConfiguration')
51
55
  BucketLocationConstraint = Shapes::StringShape.new(name: 'BucketLocationConstraint')
56
+ BucketLocationName = Shapes::StringShape.new(name: 'BucketLocationName')
52
57
  BucketLoggingStatus = Shapes::StructureShape.new(name: 'BucketLoggingStatus')
53
58
  BucketLogsPermission = Shapes::StringShape.new(name: 'BucketLogsPermission')
54
59
  BucketName = Shapes::StringShape.new(name: 'BucketName')
60
+ BucketRegion = Shapes::StringShape.new(name: 'BucketRegion')
61
+ BucketType = Shapes::StringShape.new(name: 'BucketType')
55
62
  BucketVersioningStatus = Shapes::StringShape.new(name: 'BucketVersioningStatus')
56
63
  Buckets = Shapes::ListShape.new(name: 'Buckets')
57
64
  BypassGovernanceRetention = Shapes::BooleanShape.new(name: 'BypassGovernanceRetention')
@@ -110,11 +117,15 @@ module Aws::S3
110
117
  CopySourceSSECustomerKeyMD5 = Shapes::StringShape.new(name: 'CopySourceSSECustomerKeyMD5')
111
118
  CopySourceVersionId = Shapes::StringShape.new(name: 'CopySourceVersionId')
112
119
  CreateBucketConfiguration = Shapes::StructureShape.new(name: 'CreateBucketConfiguration')
120
+ CreateBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'CreateBucketMetadataTableConfigurationRequest')
113
121
  CreateBucketOutput = Shapes::StructureShape.new(name: 'CreateBucketOutput')
114
122
  CreateBucketRequest = Shapes::StructureShape.new(name: 'CreateBucketRequest')
115
123
  CreateMultipartUploadOutput = Shapes::StructureShape.new(name: 'CreateMultipartUploadOutput')
116
124
  CreateMultipartUploadRequest = Shapes::StructureShape.new(name: 'CreateMultipartUploadRequest')
125
+ CreateSessionOutput = Shapes::StructureShape.new(name: 'CreateSessionOutput')
126
+ CreateSessionRequest = Shapes::StructureShape.new(name: 'CreateSessionRequest')
117
127
  CreationDate = Shapes::TimestampShape.new(name: 'CreationDate')
128
+ DataRedundancy = Shapes::StringShape.new(name: 'DataRedundancy')
118
129
  Date = Shapes::TimestampShape.new(name: 'Date', timestampFormat: "iso8601")
119
130
  Days = Shapes::IntegerShape.new(name: 'Days')
120
131
  DaysAfterInitiation = Shapes::IntegerShape.new(name: 'DaysAfterInitiation')
@@ -126,6 +137,7 @@ module Aws::S3
126
137
  DeleteBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketIntelligentTieringConfigurationRequest')
127
138
  DeleteBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketInventoryConfigurationRequest')
128
139
  DeleteBucketLifecycleRequest = Shapes::StructureShape.new(name: 'DeleteBucketLifecycleRequest')
140
+ DeleteBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetadataTableConfigurationRequest')
129
141
  DeleteBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetricsConfigurationRequest')
130
142
  DeleteBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'DeleteBucketOwnershipControlsRequest')
131
143
  DeleteBucketPolicyRequest = Shapes::StructureShape.new(name: 'DeleteBucketPolicyRequest')
@@ -151,6 +163,7 @@ module Aws::S3
151
163
  Delimiter = Shapes::StringShape.new(name: 'Delimiter')
152
164
  Description = Shapes::StringShape.new(name: 'Description')
153
165
  Destination = Shapes::StructureShape.new(name: 'Destination')
166
+ DirectoryBucketToken = Shapes::StringShape.new(name: 'DirectoryBucketToken')
154
167
  DisplayName = Shapes::StringShape.new(name: 'DisplayName')
155
168
  ETag = Shapes::StringShape.new(name: 'ETag')
156
169
  EmailAddress = Shapes::StringShape.new(name: 'EmailAddress')
@@ -158,10 +171,12 @@ module Aws::S3
158
171
  EncodingType = Shapes::StringShape.new(name: 'EncodingType')
159
172
  Encryption = Shapes::StructureShape.new(name: 'Encryption')
160
173
  EncryptionConfiguration = Shapes::StructureShape.new(name: 'EncryptionConfiguration')
174
+ EncryptionTypeMismatch = Shapes::StructureShape.new(name: 'EncryptionTypeMismatch')
161
175
  End = Shapes::IntegerShape.new(name: 'End')
162
176
  EndEvent = Shapes::StructureShape.new(name: 'EndEvent')
163
177
  Error = Shapes::StructureShape.new(name: 'Error')
164
178
  ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
179
+ ErrorDetails = Shapes::StructureShape.new(name: 'ErrorDetails')
165
180
  ErrorDocument = Shapes::StructureShape.new(name: 'ErrorDocument')
166
181
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
167
182
  Errors = Shapes::ListShape.new(name: 'Errors', flattened: true)
@@ -208,6 +223,9 @@ module Aws::S3
208
223
  GetBucketLocationRequest = Shapes::StructureShape.new(name: 'GetBucketLocationRequest')
209
224
  GetBucketLoggingOutput = Shapes::StructureShape.new(name: 'GetBucketLoggingOutput')
210
225
  GetBucketLoggingRequest = Shapes::StructureShape.new(name: 'GetBucketLoggingRequest')
226
+ GetBucketMetadataTableConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketMetadataTableConfigurationOutput')
227
+ GetBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketMetadataTableConfigurationRequest')
228
+ GetBucketMetadataTableConfigurationResult = Shapes::StructureShape.new(name: 'GetBucketMetadataTableConfigurationResult')
211
229
  GetBucketMetricsConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationOutput')
212
230
  GetBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationRequest')
213
231
  GetBucketNotificationConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketNotificationConfigurationRequest')
@@ -256,6 +274,7 @@ module Aws::S3
256
274
  GrantWriteACP = Shapes::StringShape.new(name: 'GrantWriteACP')
257
275
  Grantee = Shapes::StructureShape.new(name: 'Grantee', xmlNamespace: {"prefix"=>"xsi", "uri"=>"http://www.w3.org/2001/XMLSchema-instance"})
258
276
  Grants = Shapes::ListShape.new(name: 'Grants')
277
+ HeadBucketOutput = Shapes::StructureShape.new(name: 'HeadBucketOutput')
259
278
  HeadBucketRequest = Shapes::StructureShape.new(name: 'HeadBucketRequest')
260
279
  HeadObjectOutput = Shapes::StructureShape.new(name: 'HeadObjectOutput')
261
280
  HeadObjectRequest = Shapes::StructureShape.new(name: 'HeadObjectRequest')
@@ -264,6 +283,9 @@ module Aws::S3
264
283
  HttpRedirectCode = Shapes::StringShape.new(name: 'HttpRedirectCode')
265
284
  ID = Shapes::StringShape.new(name: 'ID')
266
285
  IfMatch = Shapes::StringShape.new(name: 'IfMatch')
286
+ IfMatchInitiatedTime = Shapes::TimestampShape.new(name: 'IfMatchInitiatedTime', timestampFormat: "rfc822")
287
+ IfMatchLastModifiedTime = Shapes::TimestampShape.new(name: 'IfMatchLastModifiedTime', timestampFormat: "rfc822")
288
+ IfMatchSize = Shapes::IntegerShape.new(name: 'IfMatchSize')
267
289
  IfModifiedSince = Shapes::TimestampShape.new(name: 'IfModifiedSince')
268
290
  IfNoneMatch = Shapes::StringShape.new(name: 'IfNoneMatch')
269
291
  IfUnmodifiedSince = Shapes::TimestampShape.new(name: 'IfUnmodifiedSince')
@@ -280,6 +302,8 @@ module Aws::S3
280
302
  IntelligentTieringId = Shapes::StringShape.new(name: 'IntelligentTieringId')
281
303
  IntelligentTieringStatus = Shapes::StringShape.new(name: 'IntelligentTieringStatus')
282
304
  InvalidObjectState = Shapes::StructureShape.new(name: 'InvalidObjectState')
305
+ InvalidRequest = Shapes::StructureShape.new(name: 'InvalidRequest')
306
+ InvalidWriteOffset = Shapes::StructureShape.new(name: 'InvalidWriteOffset')
283
307
  InventoryConfiguration = Shapes::StructureShape.new(name: 'InventoryConfiguration')
284
308
  InventoryConfigurationList = Shapes::ListShape.new(name: 'InventoryConfigurationList', flattened: true)
285
309
  InventoryDestination = Shapes::StructureShape.new(name: 'InventoryDestination')
@@ -309,6 +333,7 @@ module Aws::S3
309
333
  LambdaFunctionConfiguration = Shapes::StructureShape.new(name: 'LambdaFunctionConfiguration')
310
334
  LambdaFunctionConfigurationList = Shapes::ListShape.new(name: 'LambdaFunctionConfigurationList', flattened: true)
311
335
  LastModified = Shapes::TimestampShape.new(name: 'LastModified')
336
+ LastModifiedTime = Shapes::TimestampShape.new(name: 'LastModifiedTime', timestampFormat: "rfc822")
312
337
  LifecycleConfiguration = Shapes::StructureShape.new(name: 'LifecycleConfiguration')
313
338
  LifecycleExpiration = Shapes::StructureShape.new(name: 'LifecycleExpiration')
314
339
  LifecycleRule = Shapes::StructureShape.new(name: 'LifecycleRule')
@@ -324,6 +349,9 @@ module Aws::S3
324
349
  ListBucketMetricsConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsOutput')
325
350
  ListBucketMetricsConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsRequest')
326
351
  ListBucketsOutput = Shapes::StructureShape.new(name: 'ListBucketsOutput')
352
+ ListBucketsRequest = Shapes::StructureShape.new(name: 'ListBucketsRequest')
353
+ ListDirectoryBucketsOutput = Shapes::StructureShape.new(name: 'ListDirectoryBucketsOutput')
354
+ ListDirectoryBucketsRequest = Shapes::StructureShape.new(name: 'ListDirectoryBucketsRequest')
327
355
  ListMultipartUploadsOutput = Shapes::StructureShape.new(name: 'ListMultipartUploadsOutput')
328
356
  ListMultipartUploadsRequest = Shapes::StructureShape.new(name: 'ListMultipartUploadsRequest')
329
357
  ListObjectVersionsOutput = Shapes::StructureShape.new(name: 'ListObjectVersionsOutput')
@@ -335,13 +363,18 @@ module Aws::S3
335
363
  ListPartsOutput = Shapes::StructureShape.new(name: 'ListPartsOutput')
336
364
  ListPartsRequest = Shapes::StructureShape.new(name: 'ListPartsRequest')
337
365
  Location = Shapes::StringShape.new(name: 'Location')
366
+ LocationInfo = Shapes::StructureShape.new(name: 'LocationInfo')
367
+ LocationNameAsString = Shapes::StringShape.new(name: 'LocationNameAsString')
338
368
  LocationPrefix = Shapes::StringShape.new(name: 'LocationPrefix')
369
+ LocationType = Shapes::StringShape.new(name: 'LocationType')
339
370
  LoggingEnabled = Shapes::StructureShape.new(name: 'LoggingEnabled')
340
371
  MFA = Shapes::StringShape.new(name: 'MFA')
341
372
  MFADelete = Shapes::StringShape.new(name: 'MFADelete')
342
373
  MFADeleteStatus = Shapes::StringShape.new(name: 'MFADeleteStatus')
343
374
  Marker = Shapes::StringShape.new(name: 'Marker')
344
375
  MaxAgeSeconds = Shapes::IntegerShape.new(name: 'MaxAgeSeconds')
376
+ MaxBuckets = Shapes::IntegerShape.new(name: 'MaxBuckets')
377
+ MaxDirectoryBuckets = Shapes::IntegerShape.new(name: 'MaxDirectoryBuckets')
345
378
  MaxKeys = Shapes::IntegerShape.new(name: 'MaxKeys')
346
379
  MaxParts = Shapes::IntegerShape.new(name: 'MaxParts')
347
380
  MaxUploads = Shapes::IntegerShape.new(name: 'MaxUploads')
@@ -350,6 +383,9 @@ module Aws::S3
350
383
  MetadataDirective = Shapes::StringShape.new(name: 'MetadataDirective')
351
384
  MetadataEntry = Shapes::StructureShape.new(name: 'MetadataEntry')
352
385
  MetadataKey = Shapes::StringShape.new(name: 'MetadataKey')
386
+ MetadataTableConfiguration = Shapes::StructureShape.new(name: 'MetadataTableConfiguration')
387
+ MetadataTableConfigurationResult = Shapes::StructureShape.new(name: 'MetadataTableConfigurationResult')
388
+ MetadataTableStatus = Shapes::StringShape.new(name: 'MetadataTableStatus')
353
389
  MetadataValue = Shapes::StringShape.new(name: 'MetadataValue')
354
390
  Metrics = Shapes::StructureShape.new(name: 'Metrics')
355
391
  MetricsAndOperator = Shapes::StructureShape.new(name: 'MetricsAndOperator')
@@ -423,6 +459,8 @@ module Aws::S3
423
459
  Part = Shapes::StructureShape.new(name: 'Part')
424
460
  PartNumber = Shapes::IntegerShape.new(name: 'PartNumber')
425
461
  PartNumberMarker = Shapes::IntegerShape.new(name: 'PartNumberMarker')
462
+ PartitionDateSource = Shapes::StringShape.new(name: 'PartitionDateSource')
463
+ PartitionedPrefix = Shapes::StructureShape.new(name: 'PartitionedPrefix', locationName: "PartitionedPrefix")
426
464
  Parts = Shapes::ListShape.new(name: 'Parts', flattened: true)
427
465
  PartsCount = Shapes::IntegerShape.new(name: 'PartsCount')
428
466
  PartsList = Shapes::ListShape.new(name: 'PartsList', flattened: true)
@@ -443,6 +481,7 @@ module Aws::S3
443
481
  PutBucketEncryptionRequest = Shapes::StructureShape.new(name: 'PutBucketEncryptionRequest')
444
482
  PutBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketIntelligentTieringConfigurationRequest')
445
483
  PutBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketInventoryConfigurationRequest')
484
+ PutBucketLifecycleConfigurationOutput = Shapes::StructureShape.new(name: 'PutBucketLifecycleConfigurationOutput')
446
485
  PutBucketLifecycleConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleConfigurationRequest')
447
486
  PutBucketLifecycleRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleRequest')
448
487
  PutBucketLoggingRequest = Shapes::StructureShape.new(name: 'PutBucketLoggingRequest')
@@ -482,6 +521,7 @@ module Aws::S3
482
521
  RecordsEvent = Shapes::StructureShape.new(name: 'RecordsEvent')
483
522
  Redirect = Shapes::StructureShape.new(name: 'Redirect')
484
523
  RedirectAllRequestsTo = Shapes::StructureShape.new(name: 'RedirectAllRequestsTo')
524
+ Region = Shapes::StringShape.new(name: 'Region')
485
525
  ReplaceKeyPrefixWith = Shapes::StringShape.new(name: 'ReplaceKeyPrefixWith')
486
526
  ReplaceKeyWith = Shapes::StringShape.new(name: 'ReplaceKeyWith')
487
527
  ReplicaKmsKeyID = Shapes::StringShape.new(name: 'ReplicaKmsKeyID')
@@ -524,13 +564,19 @@ module Aws::S3
524
564
  Rules = Shapes::ListShape.new(name: 'Rules', flattened: true)
525
565
  S3KeyFilter = Shapes::StructureShape.new(name: 'S3KeyFilter')
526
566
  S3Location = Shapes::StructureShape.new(name: 'S3Location')
567
+ S3TablesArn = Shapes::StringShape.new(name: 'S3TablesArn')
568
+ S3TablesBucketArn = Shapes::StringShape.new(name: 'S3TablesBucketArn')
569
+ S3TablesDestination = Shapes::StructureShape.new(name: 'S3TablesDestination')
570
+ S3TablesDestinationResult = Shapes::StructureShape.new(name: 'S3TablesDestinationResult')
571
+ S3TablesName = Shapes::StringShape.new(name: 'S3TablesName')
572
+ S3TablesNamespace = Shapes::StringShape.new(name: 'S3TablesNamespace')
527
573
  SSECustomerAlgorithm = Shapes::StringShape.new(name: 'SSECustomerAlgorithm')
528
574
  SSECustomerKey = Shapes::StringShape.new(name: 'SSECustomerKey')
529
575
  SSECustomerKeyMD5 = Shapes::StringShape.new(name: 'SSECustomerKeyMD5')
530
- SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS')
576
+ SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS', locationName: "SSE-KMS")
531
577
  SSEKMSEncryptionContext = Shapes::StringShape.new(name: 'SSEKMSEncryptionContext')
532
578
  SSEKMSKeyId = Shapes::StringShape.new(name: 'SSEKMSKeyId')
533
- SSES3 = Shapes::StructureShape.new(name: 'SSES3')
579
+ SSES3 = Shapes::StructureShape.new(name: 'SSES3', locationName: "SSE-S3")
534
580
  ScanRange = Shapes::StructureShape.new(name: 'ScanRange')
535
581
  SelectObjectContentEventStream = Shapes::StructureShape.new(name: 'SelectObjectContentEventStream')
536
582
  SelectObjectContentOutput = Shapes::StructureShape.new(name: 'SelectObjectContentOutput')
@@ -541,7 +587,12 @@ module Aws::S3
541
587
  ServerSideEncryptionConfiguration = Shapes::StructureShape.new(name: 'ServerSideEncryptionConfiguration')
542
588
  ServerSideEncryptionRule = Shapes::StructureShape.new(name: 'ServerSideEncryptionRule')
543
589
  ServerSideEncryptionRules = Shapes::ListShape.new(name: 'ServerSideEncryptionRules', flattened: true)
590
+ SessionCredentialValue = Shapes::StringShape.new(name: 'SessionCredentialValue')
591
+ SessionCredentials = Shapes::StructureShape.new(name: 'SessionCredentials')
592
+ SessionExpiration = Shapes::TimestampShape.new(name: 'SessionExpiration')
593
+ SessionMode = Shapes::StringShape.new(name: 'SessionMode')
544
594
  Setting = Shapes::BooleanShape.new(name: 'Setting')
595
+ SimplePrefix = Shapes::StructureShape.new(name: 'SimplePrefix', locationName: "SimplePrefix")
545
596
  Size = Shapes::IntegerShape.new(name: 'Size')
546
597
  SkipValidation = Shapes::BooleanShape.new(name: 'SkipValidation')
547
598
  SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
@@ -565,16 +616,19 @@ module Aws::S3
565
616
  TargetBucket = Shapes::StringShape.new(name: 'TargetBucket')
566
617
  TargetGrant = Shapes::StructureShape.new(name: 'TargetGrant')
567
618
  TargetGrants = Shapes::ListShape.new(name: 'TargetGrants')
619
+ TargetObjectKeyFormat = Shapes::StructureShape.new(name: 'TargetObjectKeyFormat')
568
620
  TargetPrefix = Shapes::StringShape.new(name: 'TargetPrefix')
569
621
  Tier = Shapes::StringShape.new(name: 'Tier')
570
622
  Tiering = Shapes::StructureShape.new(name: 'Tiering')
571
623
  TieringList = Shapes::ListShape.new(name: 'TieringList', flattened: true)
572
624
  Token = Shapes::StringShape.new(name: 'Token')
625
+ TooManyParts = Shapes::StructureShape.new(name: 'TooManyParts')
573
626
  TopicArn = Shapes::StringShape.new(name: 'TopicArn')
574
627
  TopicConfiguration = Shapes::StructureShape.new(name: 'TopicConfiguration')
575
628
  TopicConfigurationDeprecated = Shapes::StructureShape.new(name: 'TopicConfigurationDeprecated')
576
629
  TopicConfigurationList = Shapes::ListShape.new(name: 'TopicConfigurationList', flattened: true)
577
630
  Transition = Shapes::StructureShape.new(name: 'Transition')
631
+ TransitionDefaultMinimumObjectSize = Shapes::StringShape.new(name: 'TransitionDefaultMinimumObjectSize')
578
632
  TransitionList = Shapes::ListShape.new(name: 'TransitionList', flattened: true)
579
633
  TransitionStorageClass = Shapes::StringShape.new(name: 'TransitionStorageClass')
580
634
  Type = Shapes::StringShape.new(name: 'Type')
@@ -592,6 +646,7 @@ module Aws::S3
592
646
  WebsiteConfiguration = Shapes::StructureShape.new(name: 'WebsiteConfiguration')
593
647
  WebsiteRedirectLocation = Shapes::StringShape.new(name: 'WebsiteRedirectLocation')
594
648
  WriteGetObjectResponseRequest = Shapes::StructureShape.new(name: 'WriteGetObjectResponseRequest')
649
+ WriteOffsetBytes = Shapes::IntegerShape.new(name: 'WriteOffsetBytes')
595
650
  Years = Shapes::IntegerShape.new(name: 'Years')
596
651
 
597
652
  AbortIncompleteMultipartUpload.add_member(:days_after_initiation, Shapes::ShapeRef.new(shape: DaysAfterInitiation, location_name: "DaysAfterInitiation"))
@@ -601,10 +656,11 @@ module Aws::S3
601
656
  AbortMultipartUploadOutput.struct_class = Types::AbortMultipartUploadOutput
602
657
 
603
658
  AbortMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
604
- AbortMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
659
+ AbortMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
605
660
  AbortMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
606
661
  AbortMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
607
662
  AbortMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
663
+ AbortMultipartUploadRequest.add_member(:if_match_initiated_time, Shapes::ShapeRef.new(shape: IfMatchInitiatedTime, location: "header", location_name: "x-amz-if-match-initiated-time"))
608
664
  AbortMultipartUploadRequest.struct_class = Types::AbortMultipartUploadRequest
609
665
 
610
666
  AccelerateConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: BucketAccelerateStatus, location_name: "Status"))
@@ -650,12 +706,17 @@ module Aws::S3
650
706
 
651
707
  Bucket.add_member(:name, Shapes::ShapeRef.new(shape: BucketName, location_name: "Name"))
652
708
  Bucket.add_member(:creation_date, Shapes::ShapeRef.new(shape: CreationDate, location_name: "CreationDate"))
709
+ Bucket.add_member(:bucket_region, Shapes::ShapeRef.new(shape: BucketRegion, location_name: "BucketRegion"))
653
710
  Bucket.struct_class = Types::Bucket
654
711
 
655
712
  BucketAlreadyExists.struct_class = Types::BucketAlreadyExists
656
713
 
657
714
  BucketAlreadyOwnedByYou.struct_class = Types::BucketAlreadyOwnedByYou
658
715
 
716
+ BucketInfo.add_member(:data_redundancy, Shapes::ShapeRef.new(shape: DataRedundancy, location_name: "DataRedundancy"))
717
+ BucketInfo.add_member(:type, Shapes::ShapeRef.new(shape: BucketType, location_name: "Type"))
718
+ BucketInfo.struct_class = Types::BucketInfo
719
+
659
720
  BucketLifecycleConfiguration.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, required: true, location_name: "Rule"))
660
721
  BucketLifecycleConfiguration.struct_class = Types::BucketLifecycleConfiguration
661
722
 
@@ -730,7 +791,7 @@ module Aws::S3
730
791
  CompleteMultipartUploadOutput.struct_class = Types::CompleteMultipartUploadOutput
731
792
 
732
793
  CompleteMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
733
- CompleteMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
794
+ CompleteMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
734
795
  CompleteMultipartUploadRequest.add_member(:multipart_upload, Shapes::ShapeRef.new(shape: CompletedMultipartUpload, location_name: "CompleteMultipartUpload", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
735
796
  CompleteMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
736
797
  CompleteMultipartUploadRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
@@ -739,6 +800,8 @@ module Aws::S3
739
800
  CompleteMultipartUploadRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
740
801
  CompleteMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
741
802
  CompleteMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
803
+ CompleteMultipartUploadRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
804
+ CompleteMultipartUploadRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
742
805
  CompleteMultipartUploadRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
743
806
  CompleteMultipartUploadRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
744
807
  CompleteMultipartUploadRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
@@ -788,7 +851,7 @@ module Aws::S3
788
851
  CopyObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
789
852
  CopyObjectRequest.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "Content-Language"))
790
853
  CopyObjectRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
791
- CopyObjectRequest.add_member(:copy_source, Shapes::ShapeRef.new(shape: CopySource, required: true, location: "header", location_name: "x-amz-copy-source"))
854
+ CopyObjectRequest.add_member(:copy_source, Shapes::ShapeRef.new(shape: CopySource, required: true, location: "header", location_name: "x-amz-copy-source", metadata: {"contextParam"=>{"name"=>"CopySource"}}))
792
855
  CopyObjectRequest.add_member(:copy_source_if_match, Shapes::ShapeRef.new(shape: CopySourceIfMatch, location: "header", location_name: "x-amz-copy-source-if-match"))
793
856
  CopyObjectRequest.add_member(:copy_source_if_modified_since, Shapes::ShapeRef.new(shape: CopySourceIfModifiedSince, location: "header", location_name: "x-amz-copy-source-if-modified-since"))
794
857
  CopyObjectRequest.add_member(:copy_source_if_none_match, Shapes::ShapeRef.new(shape: CopySourceIfNoneMatch, location: "header", location_name: "x-amz-copy-source-if-none-match"))
@@ -798,7 +861,7 @@ module Aws::S3
798
861
  CopyObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
799
862
  CopyObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
800
863
  CopyObjectRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
801
- CopyObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
864
+ CopyObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
802
865
  CopyObjectRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
803
866
  CopyObjectRequest.add_member(:metadata_directive, Shapes::ShapeRef.new(shape: MetadataDirective, location: "header", location_name: "x-amz-metadata-directive"))
804
867
  CopyObjectRequest.add_member(:tagging_directive, Shapes::ShapeRef.new(shape: TaggingDirective, location: "header", location_name: "x-amz-tagging-directive"))
@@ -840,8 +903,19 @@ module Aws::S3
840
903
  CopyPartResult.struct_class = Types::CopyPartResult
841
904
 
842
905
  CreateBucketConfiguration.add_member(:location_constraint, Shapes::ShapeRef.new(shape: BucketLocationConstraint, location_name: "LocationConstraint"))
906
+ CreateBucketConfiguration.add_member(:location, Shapes::ShapeRef.new(shape: LocationInfo, location_name: "Location"))
907
+ CreateBucketConfiguration.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketInfo, location_name: "Bucket"))
843
908
  CreateBucketConfiguration.struct_class = Types::CreateBucketConfiguration
844
909
 
910
+ CreateBucketMetadataTableConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
911
+ CreateBucketMetadataTableConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
912
+ CreateBucketMetadataTableConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
913
+ CreateBucketMetadataTableConfigurationRequest.add_member(:metadata_table_configuration, Shapes::ShapeRef.new(shape: MetadataTableConfiguration, required: true, location_name: "MetadataTableConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
914
+ CreateBucketMetadataTableConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
915
+ CreateBucketMetadataTableConfigurationRequest.struct_class = Types::CreateBucketMetadataTableConfigurationRequest
916
+ CreateBucketMetadataTableConfigurationRequest[:payload] = :metadata_table_configuration
917
+ CreateBucketMetadataTableConfigurationRequest[:payload_member] = CreateBucketMetadataTableConfigurationRequest.member(:metadata_table_configuration)
918
+
845
919
  CreateBucketOutput.add_member(:location, Shapes::ShapeRef.new(shape: Location, location: "header", location_name: "Location"))
846
920
  CreateBucketOutput.struct_class = Types::CreateBucketOutput
847
921
 
@@ -886,7 +960,7 @@ module Aws::S3
886
960
  CreateMultipartUploadRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
887
961
  CreateMultipartUploadRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
888
962
  CreateMultipartUploadRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
889
- CreateMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
963
+ CreateMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
890
964
  CreateMultipartUploadRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
891
965
  CreateMultipartUploadRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
892
966
  CreateMultipartUploadRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
@@ -906,6 +980,21 @@ module Aws::S3
906
980
  CreateMultipartUploadRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
907
981
  CreateMultipartUploadRequest.struct_class = Types::CreateMultipartUploadRequest
908
982
 
983
+ CreateSessionOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
984
+ CreateSessionOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
985
+ CreateSessionOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
986
+ CreateSessionOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
987
+ CreateSessionOutput.add_member(:credentials, Shapes::ShapeRef.new(shape: SessionCredentials, required: true, location_name: "Credentials"))
988
+ CreateSessionOutput.struct_class = Types::CreateSessionOutput
989
+
990
+ CreateSessionRequest.add_member(:session_mode, Shapes::ShapeRef.new(shape: SessionMode, location: "header", location_name: "x-amz-create-session-mode"))
991
+ CreateSessionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
992
+ CreateSessionRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
993
+ CreateSessionRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
994
+ CreateSessionRequest.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
995
+ CreateSessionRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
996
+ CreateSessionRequest.struct_class = Types::CreateSessionRequest
997
+
909
998
  DefaultRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
910
999
  DefaultRetention.add_member(:days, Shapes::ShapeRef.new(shape: Days, location_name: "Days"))
911
1000
  DefaultRetention.add_member(:years, Shapes::ShapeRef.new(shape: Years, location_name: "Years"))
@@ -941,6 +1030,10 @@ module Aws::S3
941
1030
  DeleteBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
942
1031
  DeleteBucketLifecycleRequest.struct_class = Types::DeleteBucketLifecycleRequest
943
1032
 
1033
+ DeleteBucketMetadataTableConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1034
+ DeleteBucketMetadataTableConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1035
+ DeleteBucketMetadataTableConfigurationRequest.struct_class = Types::DeleteBucketMetadataTableConfigurationRequest
1036
+
944
1037
  DeleteBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
945
1038
  DeleteBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
946
1039
  DeleteBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -988,12 +1081,15 @@ module Aws::S3
988
1081
  DeleteObjectOutput.struct_class = Types::DeleteObjectOutput
989
1082
 
990
1083
  DeleteObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
991
- DeleteObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1084
+ DeleteObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
992
1085
  DeleteObjectRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
993
1086
  DeleteObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
994
1087
  DeleteObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
995
1088
  DeleteObjectRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
996
1089
  DeleteObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1090
+ DeleteObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1091
+ DeleteObjectRequest.add_member(:if_match_last_modified_time, Shapes::ShapeRef.new(shape: IfMatchLastModifiedTime, location: "header", location_name: "x-amz-if-match-last-modified-time"))
1092
+ DeleteObjectRequest.add_member(:if_match_size, Shapes::ShapeRef.new(shape: IfMatchSize, location: "header", location_name: "x-amz-if-match-size"))
997
1093
  DeleteObjectRequest.struct_class = Types::DeleteObjectRequest
998
1094
 
999
1095
  DeleteObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
@@ -1050,6 +1146,8 @@ module Aws::S3
1050
1146
  EncryptionConfiguration.add_member(:replica_kms_key_id, Shapes::ShapeRef.new(shape: ReplicaKmsKeyID, location_name: "ReplicaKmsKeyID"))
1051
1147
  EncryptionConfiguration.struct_class = Types::EncryptionConfiguration
1052
1148
 
1149
+ EncryptionTypeMismatch.struct_class = Types::EncryptionTypeMismatch
1150
+
1053
1151
  EndEvent.struct_class = Types::EndEvent
1054
1152
 
1055
1153
  Error.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
@@ -1058,6 +1156,10 @@ module Aws::S3
1058
1156
  Error.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "Message"))
1059
1157
  Error.struct_class = Types::Error
1060
1158
 
1159
+ ErrorDetails.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "ErrorCode"))
1160
+ ErrorDetails.add_member(:error_message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "ErrorMessage"))
1161
+ ErrorDetails.struct_class = Types::ErrorDetails
1162
+
1061
1163
  ErrorDocument.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
1062
1164
  ErrorDocument.struct_class = Types::ErrorDocument
1063
1165
 
@@ -1141,6 +1243,7 @@ module Aws::S3
1141
1243
  GetBucketInventoryConfigurationRequest.struct_class = Types::GetBucketInventoryConfigurationRequest
1142
1244
 
1143
1245
  GetBucketLifecycleConfigurationOutput.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, location_name: "Rule"))
1246
+ GetBucketLifecycleConfigurationOutput.add_member(:transition_default_minimum_object_size, Shapes::ShapeRef.new(shape: TransitionDefaultMinimumObjectSize, location: "header", location_name: "x-amz-transition-default-minimum-object-size"))
1144
1247
  GetBucketLifecycleConfigurationOutput.struct_class = Types::GetBucketLifecycleConfigurationOutput
1145
1248
 
1146
1249
  GetBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
@@ -1168,6 +1271,20 @@ module Aws::S3
1168
1271
  GetBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1169
1272
  GetBucketLoggingRequest.struct_class = Types::GetBucketLoggingRequest
1170
1273
 
1274
+ GetBucketMetadataTableConfigurationOutput.add_member(:get_bucket_metadata_table_configuration_result, Shapes::ShapeRef.new(shape: GetBucketMetadataTableConfigurationResult, location_name: "GetBucketMetadataTableConfigurationResult"))
1275
+ GetBucketMetadataTableConfigurationOutput.struct_class = Types::GetBucketMetadataTableConfigurationOutput
1276
+ GetBucketMetadataTableConfigurationOutput[:payload] = :get_bucket_metadata_table_configuration_result
1277
+ GetBucketMetadataTableConfigurationOutput[:payload_member] = GetBucketMetadataTableConfigurationOutput.member(:get_bucket_metadata_table_configuration_result)
1278
+
1279
+ GetBucketMetadataTableConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1280
+ GetBucketMetadataTableConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1281
+ GetBucketMetadataTableConfigurationRequest.struct_class = Types::GetBucketMetadataTableConfigurationRequest
1282
+
1283
+ GetBucketMetadataTableConfigurationResult.add_member(:metadata_table_configuration_result, Shapes::ShapeRef.new(shape: MetadataTableConfigurationResult, required: true, location_name: "MetadataTableConfigurationResult"))
1284
+ GetBucketMetadataTableConfigurationResult.add_member(:status, Shapes::ShapeRef.new(shape: MetadataTableStatus, required: true, location_name: "Status"))
1285
+ GetBucketMetadataTableConfigurationResult.add_member(:error, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "Error"))
1286
+ GetBucketMetadataTableConfigurationResult.struct_class = Types::GetBucketMetadataTableConfigurationResult
1287
+
1171
1288
  GetBucketMetricsConfigurationOutput.add_member(:metrics_configuration, Shapes::ShapeRef.new(shape: MetricsConfiguration, location_name: "MetricsConfiguration"))
1172
1289
  GetBucketMetricsConfigurationOutput.struct_class = Types::GetBucketMetricsConfigurationOutput
1173
1290
  GetBucketMetricsConfigurationOutput[:payload] = :metrics_configuration
@@ -1256,7 +1373,7 @@ module Aws::S3
1256
1373
  GetObjectAclOutput.struct_class = Types::GetObjectAclOutput
1257
1374
 
1258
1375
  GetObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1259
- GetObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1376
+ GetObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
1260
1377
  GetObjectAclRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1261
1378
  GetObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1262
1379
  GetObjectAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1361,7 +1478,7 @@ module Aws::S3
1361
1478
  GetObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1362
1479
  GetObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
1363
1480
  GetObjectRequest.add_member(:if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
1364
- GetObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1481
+ GetObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
1365
1482
  GetObjectRequest.add_member(:range, Shapes::ShapeRef.new(shape: Range, location: "header", location_name: "Range"))
1366
1483
  GetObjectRequest.add_member(:response_cache_control, Shapes::ShapeRef.new(shape: ResponseCacheControl, location: "querystring", location_name: "response-cache-control"))
1367
1484
  GetObjectRequest.add_member(:response_content_disposition, Shapes::ShapeRef.new(shape: ResponseContentDisposition, location: "querystring", location_name: "response-content-disposition"))
@@ -1439,6 +1556,12 @@ module Aws::S3
1439
1556
 
1440
1557
  Grants.member = Shapes::ShapeRef.new(shape: Grant, location_name: "Grant")
1441
1558
 
1559
+ HeadBucketOutput.add_member(:bucket_location_type, Shapes::ShapeRef.new(shape: LocationType, location: "header", location_name: "x-amz-bucket-location-type"))
1560
+ HeadBucketOutput.add_member(:bucket_location_name, Shapes::ShapeRef.new(shape: BucketLocationName, location: "header", location_name: "x-amz-bucket-location-name"))
1561
+ HeadBucketOutput.add_member(:bucket_region, Shapes::ShapeRef.new(shape: Region, location: "header", location_name: "x-amz-bucket-region"))
1562
+ HeadBucketOutput.add_member(:access_point_alias, Shapes::ShapeRef.new(shape: AccessPointAlias, location: "header", location_name: "x-amz-access-point-alias"))
1563
+ HeadBucketOutput.struct_class = Types::HeadBucketOutput
1564
+
1442
1565
  HeadBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1443
1566
  HeadBucketRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1444
1567
  HeadBucketRequest.struct_class = Types::HeadBucketRequest
@@ -1485,8 +1608,14 @@ module Aws::S3
1485
1608
  HeadObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1486
1609
  HeadObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
1487
1610
  HeadObjectRequest.add_member(:if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
1488
- HeadObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1611
+ HeadObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
1489
1612
  HeadObjectRequest.add_member(:range, Shapes::ShapeRef.new(shape: Range, location: "header", location_name: "Range"))
1613
+ HeadObjectRequest.add_member(:response_cache_control, Shapes::ShapeRef.new(shape: ResponseCacheControl, location: "querystring", location_name: "response-cache-control"))
1614
+ HeadObjectRequest.add_member(:response_content_disposition, Shapes::ShapeRef.new(shape: ResponseContentDisposition, location: "querystring", location_name: "response-content-disposition"))
1615
+ HeadObjectRequest.add_member(:response_content_encoding, Shapes::ShapeRef.new(shape: ResponseContentEncoding, location: "querystring", location_name: "response-content-encoding"))
1616
+ HeadObjectRequest.add_member(:response_content_language, Shapes::ShapeRef.new(shape: ResponseContentLanguage, location: "querystring", location_name: "response-content-language"))
1617
+ HeadObjectRequest.add_member(:response_content_type, Shapes::ShapeRef.new(shape: ResponseContentType, location: "querystring", location_name: "response-content-type"))
1618
+ HeadObjectRequest.add_member(:response_expires, Shapes::ShapeRef.new(shape: ResponseExpires, location: "querystring", location_name: "response-expires"))
1490
1619
  HeadObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1491
1620
  HeadObjectRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1492
1621
  HeadObjectRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
@@ -1531,6 +1660,10 @@ module Aws::S3
1531
1660
  InvalidObjectState.add_member(:access_tier, Shapes::ShapeRef.new(shape: IntelligentTieringAccessTier, location_name: "AccessTier"))
1532
1661
  InvalidObjectState.struct_class = Types::InvalidObjectState
1533
1662
 
1663
+ InvalidRequest.struct_class = Types::InvalidRequest
1664
+
1665
+ InvalidWriteOffset.struct_class = Types::InvalidWriteOffset
1666
+
1534
1667
  InventoryConfiguration.add_member(:destination, Shapes::ShapeRef.new(shape: InventoryDestination, required: true, location_name: "Destination"))
1535
1668
  InventoryConfiguration.add_member(:is_enabled, Shapes::ShapeRef.new(shape: IsEnabled, required: true, location_name: "IsEnabled"))
1536
1669
  InventoryConfiguration.add_member(:filter, Shapes::ShapeRef.new(shape: InventoryFilter, location_name: "Filter"))
@@ -1657,8 +1790,24 @@ module Aws::S3
1657
1790
 
1658
1791
  ListBucketsOutput.add_member(:buckets, Shapes::ShapeRef.new(shape: Buckets, location_name: "Buckets"))
1659
1792
  ListBucketsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1793
+ ListBucketsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "ContinuationToken"))
1794
+ ListBucketsOutput.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1660
1795
  ListBucketsOutput.struct_class = Types::ListBucketsOutput
1661
1796
 
1797
+ ListBucketsRequest.add_member(:max_buckets, Shapes::ShapeRef.new(shape: MaxBuckets, location: "querystring", location_name: "max-buckets"))
1798
+ ListBucketsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1799
+ ListBucketsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1800
+ ListBucketsRequest.add_member(:bucket_region, Shapes::ShapeRef.new(shape: BucketRegion, location: "querystring", location_name: "bucket-region"))
1801
+ ListBucketsRequest.struct_class = Types::ListBucketsRequest
1802
+
1803
+ ListDirectoryBucketsOutput.add_member(:buckets, Shapes::ShapeRef.new(shape: Buckets, location_name: "Buckets"))
1804
+ ListDirectoryBucketsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: DirectoryBucketToken, location_name: "ContinuationToken"))
1805
+ ListDirectoryBucketsOutput.struct_class = Types::ListDirectoryBucketsOutput
1806
+
1807
+ ListDirectoryBucketsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: DirectoryBucketToken, location: "querystring", location_name: "continuation-token"))
1808
+ ListDirectoryBucketsRequest.add_member(:max_directory_buckets, Shapes::ShapeRef.new(shape: MaxDirectoryBuckets, location: "querystring", location_name: "max-directory-buckets"))
1809
+ ListDirectoryBucketsRequest.struct_class = Types::ListDirectoryBucketsRequest
1810
+
1662
1811
  ListMultipartUploadsOutput.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, location_name: "Bucket"))
1663
1812
  ListMultipartUploadsOutput.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location_name: "KeyMarker"))
1664
1813
  ListMultipartUploadsOutput.add_member(:upload_id_marker, Shapes::ShapeRef.new(shape: UploadIdMarker, location_name: "UploadIdMarker"))
@@ -1679,7 +1828,7 @@ module Aws::S3
1679
1828
  ListMultipartUploadsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1680
1829
  ListMultipartUploadsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
1681
1830
  ListMultipartUploadsRequest.add_member(:max_uploads, Shapes::ShapeRef.new(shape: MaxUploads, location: "querystring", location_name: "max-uploads"))
1682
- ListMultipartUploadsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1831
+ ListMultipartUploadsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam"=>{"name"=>"Prefix"}}))
1683
1832
  ListMultipartUploadsRequest.add_member(:upload_id_marker, Shapes::ShapeRef.new(shape: UploadIdMarker, location: "querystring", location_name: "upload-id-marker"))
1684
1833
  ListMultipartUploadsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1685
1834
  ListMultipartUploadsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -1706,7 +1855,7 @@ module Aws::S3
1706
1855
  ListObjectVersionsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1707
1856
  ListObjectVersionsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
1708
1857
  ListObjectVersionsRequest.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1709
- ListObjectVersionsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1858
+ ListObjectVersionsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam"=>{"name"=>"Prefix"}}))
1710
1859
  ListObjectVersionsRequest.add_member(:version_id_marker, Shapes::ShapeRef.new(shape: VersionIdMarker, location: "querystring", location_name: "version-id-marker"))
1711
1860
  ListObjectVersionsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1712
1861
  ListObjectVersionsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -1731,7 +1880,7 @@ module Aws::S3
1731
1880
  ListObjectsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1732
1881
  ListObjectsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "marker"))
1733
1882
  ListObjectsRequest.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1734
- ListObjectsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1883
+ ListObjectsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam"=>{"name"=>"Prefix"}}))
1735
1884
  ListObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1736
1885
  ListObjectsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1737
1886
  ListObjectsRequest.add_member(:optional_object_attributes, Shapes::ShapeRef.new(shape: OptionalObjectAttributesList, location: "header", location_name: "x-amz-optional-object-attributes"))
@@ -1756,7 +1905,7 @@ module Aws::S3
1756
1905
  ListObjectsV2Request.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1757
1906
  ListObjectsV2Request.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1758
1907
  ListObjectsV2Request.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1759
- ListObjectsV2Request.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1908
+ ListObjectsV2Request.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam"=>{"name"=>"Prefix"}}))
1760
1909
  ListObjectsV2Request.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1761
1910
  ListObjectsV2Request.add_member(:fetch_owner, Shapes::ShapeRef.new(shape: FetchOwner, location: "querystring", location_name: "fetch-owner"))
1762
1911
  ListObjectsV2Request.add_member(:start_after, Shapes::ShapeRef.new(shape: StartAfter, location: "querystring", location_name: "start-after"))
@@ -1783,7 +1932,7 @@ module Aws::S3
1783
1932
  ListPartsOutput.struct_class = Types::ListPartsOutput
1784
1933
 
1785
1934
  ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1786
- ListPartsRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1935
+ ListPartsRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
1787
1936
  ListPartsRequest.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location: "querystring", location_name: "max-parts"))
1788
1937
  ListPartsRequest.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location: "querystring", location_name: "part-number-marker"))
1789
1938
  ListPartsRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
@@ -1794,9 +1943,14 @@ module Aws::S3
1794
1943
  ListPartsRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1795
1944
  ListPartsRequest.struct_class = Types::ListPartsRequest
1796
1945
 
1946
+ LocationInfo.add_member(:type, Shapes::ShapeRef.new(shape: LocationType, location_name: "Type"))
1947
+ LocationInfo.add_member(:name, Shapes::ShapeRef.new(shape: LocationNameAsString, location_name: "Name"))
1948
+ LocationInfo.struct_class = Types::LocationInfo
1949
+
1797
1950
  LoggingEnabled.add_member(:target_bucket, Shapes::ShapeRef.new(shape: TargetBucket, required: true, location_name: "TargetBucket"))
1798
1951
  LoggingEnabled.add_member(:target_grants, Shapes::ShapeRef.new(shape: TargetGrants, location_name: "TargetGrants"))
1799
1952
  LoggingEnabled.add_member(:target_prefix, Shapes::ShapeRef.new(shape: TargetPrefix, required: true, location_name: "TargetPrefix"))
1953
+ LoggingEnabled.add_member(:target_object_key_format, Shapes::ShapeRef.new(shape: TargetObjectKeyFormat, location_name: "TargetObjectKeyFormat"))
1800
1954
  LoggingEnabled.struct_class = Types::LoggingEnabled
1801
1955
 
1802
1956
  Metadata.key = Shapes::ShapeRef.new(shape: MetadataKey)
@@ -1806,6 +1960,12 @@ module Aws::S3
1806
1960
  MetadataEntry.add_member(:value, Shapes::ShapeRef.new(shape: MetadataValue, location_name: "Value"))
1807
1961
  MetadataEntry.struct_class = Types::MetadataEntry
1808
1962
 
1963
+ MetadataTableConfiguration.add_member(:s3_tables_destination, Shapes::ShapeRef.new(shape: S3TablesDestination, required: true, location_name: "S3TablesDestination"))
1964
+ MetadataTableConfiguration.struct_class = Types::MetadataTableConfiguration
1965
+
1966
+ MetadataTableConfigurationResult.add_member(:s3_tables_destination_result, Shapes::ShapeRef.new(shape: S3TablesDestinationResult, required: true, location_name: "S3TablesDestinationResult"))
1967
+ MetadataTableConfigurationResult.struct_class = Types::MetadataTableConfigurationResult
1968
+
1809
1969
  Metrics.add_member(:status, Shapes::ShapeRef.new(shape: MetricsStatus, required: true, location_name: "Status"))
1810
1970
  Metrics.add_member(:event_threshold, Shapes::ShapeRef.new(shape: ReplicationTimeValue, location_name: "EventThreshold"))
1811
1971
  Metrics.struct_class = Types::Metrics
@@ -1885,6 +2045,9 @@ module Aws::S3
1885
2045
 
1886
2046
  ObjectIdentifier.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
1887
2047
  ObjectIdentifier.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
2048
+ ObjectIdentifier.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
2049
+ ObjectIdentifier.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: LastModifiedTime, location_name: "LastModifiedTime"))
2050
+ ObjectIdentifier.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1888
2051
  ObjectIdentifier.struct_class = Types::ObjectIdentifier
1889
2052
 
1890
2053
  ObjectIdentifierList.member = Shapes::ShapeRef.new(shape: ObjectIdentifier)
@@ -1962,6 +2125,9 @@ module Aws::S3
1962
2125
  Part.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1963
2126
  Part.struct_class = Types::Part
1964
2127
 
2128
+ PartitionedPrefix.add_member(:partition_date_source, Shapes::ShapeRef.new(shape: PartitionDateSource, location_name: "PartitionDateSource"))
2129
+ PartitionedPrefix.struct_class = Types::PartitionedPrefix
2130
+
1965
2131
  Parts.member = Shapes::ShapeRef.new(shape: Part)
1966
2132
 
1967
2133
  PartsList.member = Shapes::ShapeRef.new(shape: ObjectPart)
@@ -2047,10 +2213,14 @@ module Aws::S3
2047
2213
  PutBucketInventoryConfigurationRequest[:payload] = :inventory_configuration
2048
2214
  PutBucketInventoryConfigurationRequest[:payload_member] = PutBucketInventoryConfigurationRequest.member(:inventory_configuration)
2049
2215
 
2216
+ PutBucketLifecycleConfigurationOutput.add_member(:transition_default_minimum_object_size, Shapes::ShapeRef.new(shape: TransitionDefaultMinimumObjectSize, location: "header", location_name: "x-amz-transition-default-minimum-object-size"))
2217
+ PutBucketLifecycleConfigurationOutput.struct_class = Types::PutBucketLifecycleConfigurationOutput
2218
+
2050
2219
  PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2051
2220
  PutBucketLifecycleConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2052
2221
  PutBucketLifecycleConfigurationRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: BucketLifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2053
2222
  PutBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2223
+ PutBucketLifecycleConfigurationRequest.add_member(:transition_default_minimum_object_size, Shapes::ShapeRef.new(shape: TransitionDefaultMinimumObjectSize, location: "header", location_name: "x-amz-transition-default-minimum-object-size"))
2054
2224
  PutBucketLifecycleConfigurationRequest.struct_class = Types::PutBucketLifecycleConfigurationRequest
2055
2225
  PutBucketLifecycleConfigurationRequest[:payload] = :lifecycle_configuration
2056
2226
  PutBucketLifecycleConfigurationRequest[:payload_member] = PutBucketLifecycleConfigurationRequest.member(:lifecycle_configuration)
@@ -2176,7 +2346,7 @@ module Aws::S3
2176
2346
  PutObjectAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
2177
2347
  PutObjectAclRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
2178
2348
  PutObjectAclRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
2179
- PutObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2349
+ PutObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
2180
2350
  PutObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2181
2351
  PutObjectAclRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2182
2352
  PutObjectAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -2226,6 +2396,7 @@ module Aws::S3
2226
2396
  PutObjectOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
2227
2397
  PutObjectOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
2228
2398
  PutObjectOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
2399
+ PutObjectOutput.add_member(:size, Shapes::ShapeRef.new(shape: Size, location: "header", location_name: "x-amz-object-size"))
2229
2400
  PutObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2230
2401
  PutObjectOutput.struct_class = Types::PutObjectOutput
2231
2402
 
@@ -2245,11 +2416,14 @@ module Aws::S3
2245
2416
  PutObjectRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2246
2417
  PutObjectRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2247
2418
  PutObjectRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "Expires"))
2419
+ PutObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
2420
+ PutObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
2248
2421
  PutObjectRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
2249
2422
  PutObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
2250
2423
  PutObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
2251
2424
  PutObjectRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
2252
- PutObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2425
+ PutObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
2426
+ PutObjectRequest.add_member(:write_offset_bytes, Shapes::ShapeRef.new(shape: WriteOffsetBytes, location: "header", location_name: "x-amz-write-offset-bytes"))
2253
2427
  PutObjectRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
2254
2428
  PutObjectRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2255
2429
  PutObjectRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
@@ -2439,6 +2613,16 @@ module Aws::S3
2439
2613
  S3Location.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
2440
2614
  S3Location.struct_class = Types::S3Location
2441
2615
 
2616
+ S3TablesDestination.add_member(:table_bucket_arn, Shapes::ShapeRef.new(shape: S3TablesBucketArn, required: true, location_name: "TableBucketArn"))
2617
+ S3TablesDestination.add_member(:table_name, Shapes::ShapeRef.new(shape: S3TablesName, required: true, location_name: "TableName"))
2618
+ S3TablesDestination.struct_class = Types::S3TablesDestination
2619
+
2620
+ S3TablesDestinationResult.add_member(:table_bucket_arn, Shapes::ShapeRef.new(shape: S3TablesBucketArn, required: true, location_name: "TableBucketArn"))
2621
+ S3TablesDestinationResult.add_member(:table_name, Shapes::ShapeRef.new(shape: S3TablesName, required: true, location_name: "TableName"))
2622
+ S3TablesDestinationResult.add_member(:table_arn, Shapes::ShapeRef.new(shape: S3TablesArn, required: true, location_name: "TableArn"))
2623
+ S3TablesDestinationResult.add_member(:table_namespace, Shapes::ShapeRef.new(shape: S3TablesNamespace, required: true, location_name: "TableNamespace"))
2624
+ S3TablesDestinationResult.struct_class = Types::S3TablesDestinationResult
2625
+
2442
2626
  SSEKMS.add_member(:key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, required: true, location_name: "KeyId"))
2443
2627
  SSEKMS.struct_class = Types::SSEKMS
2444
2628
 
@@ -2493,6 +2677,14 @@ module Aws::S3
2493
2677
 
2494
2678
  ServerSideEncryptionRules.member = Shapes::ShapeRef.new(shape: ServerSideEncryptionRule)
2495
2679
 
2680
+ SessionCredentials.add_member(:access_key_id, Shapes::ShapeRef.new(shape: AccessKeyIdValue, required: true, location_name: "AccessKeyId"))
2681
+ SessionCredentials.add_member(:secret_access_key, Shapes::ShapeRef.new(shape: SessionCredentialValue, required: true, location_name: "SecretAccessKey"))
2682
+ SessionCredentials.add_member(:session_token, Shapes::ShapeRef.new(shape: SessionCredentialValue, required: true, location_name: "SessionToken"))
2683
+ SessionCredentials.add_member(:expiration, Shapes::ShapeRef.new(shape: SessionExpiration, required: true, location_name: "Expiration"))
2684
+ SessionCredentials.struct_class = Types::SessionCredentials
2685
+
2686
+ SimplePrefix.struct_class = Types::SimplePrefix
2687
+
2496
2688
  SourceSelectionCriteria.add_member(:sse_kms_encrypted_objects, Shapes::ShapeRef.new(shape: SseKmsEncryptedObjects, location_name: "SseKmsEncryptedObjects"))
2497
2689
  SourceSelectionCriteria.add_member(:replica_modifications, Shapes::ShapeRef.new(shape: ReplicaModifications, location_name: "ReplicaModifications"))
2498
2690
  SourceSelectionCriteria.struct_class = Types::SourceSelectionCriteria
@@ -2530,12 +2722,18 @@ module Aws::S3
2530
2722
 
2531
2723
  TargetGrants.member = Shapes::ShapeRef.new(shape: TargetGrant, location_name: "Grant")
2532
2724
 
2725
+ TargetObjectKeyFormat.add_member(:simple_prefix, Shapes::ShapeRef.new(shape: SimplePrefix, location_name: "SimplePrefix"))
2726
+ TargetObjectKeyFormat.add_member(:partitioned_prefix, Shapes::ShapeRef.new(shape: PartitionedPrefix, location_name: "PartitionedPrefix"))
2727
+ TargetObjectKeyFormat.struct_class = Types::TargetObjectKeyFormat
2728
+
2533
2729
  Tiering.add_member(:days, Shapes::ShapeRef.new(shape: IntelligentTieringDays, required: true, location_name: "Days"))
2534
2730
  Tiering.add_member(:access_tier, Shapes::ShapeRef.new(shape: IntelligentTieringAccessTier, required: true, location_name: "AccessTier"))
2535
2731
  Tiering.struct_class = Types::Tiering
2536
2732
 
2537
2733
  TieringList.member = Shapes::ShapeRef.new(shape: Tiering)
2538
2734
 
2735
+ TooManyParts.struct_class = Types::TooManyParts
2736
+
2539
2737
  TopicConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
2540
2738
  TopicConfiguration.add_member(:topic_arn, Shapes::ShapeRef.new(shape: TopicArn, required: true, location_name: "Topic"))
2541
2739
  TopicConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, required: true, location_name: "Event"))
@@ -2612,7 +2810,7 @@ module Aws::S3
2612
2810
  UploadPartRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2613
2811
  UploadPartRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2614
2812
  UploadPartRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2615
- UploadPartRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2813
+ UploadPartRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
2616
2814
  UploadPartRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, required: true, location: "querystring", location_name: "partNumber"))
2617
2815
  UploadPartRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
2618
2816
  UploadPartRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
@@ -2688,10 +2886,12 @@ module Aws::S3
2688
2886
 
2689
2887
  api.metadata = {
2690
2888
  "apiVersion" => "2006-03-01",
2889
+ "auth" => ["aws.auth#sigv4"],
2691
2890
  "checksumFormat" => "md5",
2692
2891
  "endpointPrefix" => "s3",
2693
2892
  "globalEndpoint" => "s3.amazonaws.com",
2694
2893
  "protocol" => "rest-xml",
2894
+ "protocols" => ["rest-xml"],
2695
2895
  "serviceAbbreviation" => "Amazon S3",
2696
2896
  "serviceFullName" => "Amazon Simple Storage Service",
2697
2897
  "serviceId" => "S3",
@@ -2734,6 +2934,22 @@ module Aws::S3
2734
2934
  o.errors << Shapes::ShapeRef.new(shape: BucketAlreadyOwnedByYou)
2735
2935
  end)
2736
2936
 
2937
+ api.add_operation(:create_bucket_metadata_table_configuration, Seahorse::Model::Operation.new.tap do |o|
2938
+ o.name = "CreateBucketMetadataTableConfiguration"
2939
+ o.http_method = "POST"
2940
+ o.http_request_uri = "/?metadataTable"
2941
+ o.http_checksum = {
2942
+ "requestAlgorithmMember" => "checksum_algorithm",
2943
+ "requestChecksumRequired" => true,
2944
+ }
2945
+ o.http_checksum = {
2946
+ "requestAlgorithmMember" => "checksum_algorithm",
2947
+ "requestChecksumRequired" => true,
2948
+ }
2949
+ o.input = Shapes::ShapeRef.new(shape: CreateBucketMetadataTableConfigurationRequest)
2950
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2951
+ end)
2952
+
2737
2953
  api.add_operation(:create_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2738
2954
  o.name = "CreateMultipartUpload"
2739
2955
  o.http_method = "POST"
@@ -2742,6 +2958,15 @@ module Aws::S3
2742
2958
  o.output = Shapes::ShapeRef.new(shape: CreateMultipartUploadOutput)
2743
2959
  end)
2744
2960
 
2961
+ api.add_operation(:create_session, Seahorse::Model::Operation.new.tap do |o|
2962
+ o.name = "CreateSession"
2963
+ o.http_method = "GET"
2964
+ o.http_request_uri = "/?session"
2965
+ o.input = Shapes::ShapeRef.new(shape: CreateSessionRequest)
2966
+ o.output = Shapes::ShapeRef.new(shape: CreateSessionOutput)
2967
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
2968
+ end)
2969
+
2745
2970
  api.add_operation(:delete_bucket, Seahorse::Model::Operation.new.tap do |o|
2746
2971
  o.name = "DeleteBucket"
2747
2972
  o.http_method = "DELETE"
@@ -2798,6 +3023,14 @@ module Aws::S3
2798
3023
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2799
3024
  end)
2800
3025
 
3026
+ api.add_operation(:delete_bucket_metadata_table_configuration, Seahorse::Model::Operation.new.tap do |o|
3027
+ o.name = "DeleteBucketMetadataTableConfiguration"
3028
+ o.http_method = "DELETE"
3029
+ o.http_request_uri = "/?metadataTable"
3030
+ o.input = Shapes::ShapeRef.new(shape: DeleteBucketMetadataTableConfigurationRequest)
3031
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3032
+ end)
3033
+
2801
3034
  api.add_operation(:delete_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2802
3035
  o.name = "DeleteBucketMetricsConfiguration"
2803
3036
  o.http_method = "DELETE"
@@ -2975,6 +3208,14 @@ module Aws::S3
2975
3208
  o.output = Shapes::ShapeRef.new(shape: GetBucketLoggingOutput)
2976
3209
  end)
2977
3210
 
3211
+ api.add_operation(:get_bucket_metadata_table_configuration, Seahorse::Model::Operation.new.tap do |o|
3212
+ o.name = "GetBucketMetadataTableConfiguration"
3213
+ o.http_method = "GET"
3214
+ o.http_request_uri = "/?metadataTable"
3215
+ o.input = Shapes::ShapeRef.new(shape: GetBucketMetadataTableConfigurationRequest)
3216
+ o.output = Shapes::ShapeRef.new(shape: GetBucketMetadataTableConfigurationOutput)
3217
+ end)
3218
+
2978
3219
  api.add_operation(:get_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2979
3220
  o.name = "GetBucketMetricsConfiguration"
2980
3221
  o.http_method = "GET"
@@ -3153,7 +3394,7 @@ module Aws::S3
3153
3394
  o.http_method = "HEAD"
3154
3395
  o.http_request_uri = "/"
3155
3396
  o.input = Shapes::ShapeRef.new(shape: HeadBucketRequest)
3156
- o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3397
+ o.output = Shapes::ShapeRef.new(shape: HeadBucketOutput)
3157
3398
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
3158
3399
  end)
3159
3400
 
@@ -3202,8 +3443,28 @@ module Aws::S3
3202
3443
  o.name = "ListBuckets"
3203
3444
  o.http_method = "GET"
3204
3445
  o.http_request_uri = "/"
3205
- o.input = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3446
+ o.input = Shapes::ShapeRef.new(shape: ListBucketsRequest)
3206
3447
  o.output = Shapes::ShapeRef.new(shape: ListBucketsOutput)
3448
+ o[:pager] = Aws::Pager.new(
3449
+ limit_key: "max_buckets",
3450
+ tokens: {
3451
+ "continuation_token" => "continuation_token"
3452
+ }
3453
+ )
3454
+ end)
3455
+
3456
+ api.add_operation(:list_directory_buckets, Seahorse::Model::Operation.new.tap do |o|
3457
+ o.name = "ListDirectoryBuckets"
3458
+ o.http_method = "GET"
3459
+ o.http_request_uri = "/"
3460
+ o.input = Shapes::ShapeRef.new(shape: ListDirectoryBucketsRequest)
3461
+ o.output = Shapes::ShapeRef.new(shape: ListDirectoryBucketsOutput)
3462
+ o[:pager] = Aws::Pager.new(
3463
+ limit_key: "max_directory_buckets",
3464
+ tokens: {
3465
+ "continuation_token" => "continuation_token"
3466
+ }
3467
+ )
3207
3468
  end)
3208
3469
 
3209
3470
  api.add_operation(:list_multipart_uploads, Seahorse::Model::Operation.new.tap do |o|
@@ -3402,7 +3663,7 @@ module Aws::S3
3402
3663
  "requestChecksumRequired" => true,
3403
3664
  }
3404
3665
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationRequest)
3405
- o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3666
+ o.output = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationOutput)
3406
3667
  end)
3407
3668
 
3408
3669
  api.add_operation(:put_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
@@ -3575,6 +3836,10 @@ module Aws::S3
3575
3836
  }
3576
3837
  o.input = Shapes::ShapeRef.new(shape: PutObjectRequest)
3577
3838
  o.output = Shapes::ShapeRef.new(shape: PutObjectOutput)
3839
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequest)
3840
+ o.errors << Shapes::ShapeRef.new(shape: InvalidWriteOffset)
3841
+ o.errors << Shapes::ShapeRef.new(shape: TooManyParts)
3842
+ o.errors << Shapes::ShapeRef.new(shape: EncryptionTypeMismatch)
3578
3843
  end)
3579
3844
 
3580
3845
  api.add_operation(:put_object_acl, Seahorse::Model::Operation.new.tap do |o|
@@ -3733,6 +3998,7 @@ module Aws::S3
3733
3998
  o.http_method = "POST"
3734
3999
  o.http_request_uri = "/WriteGetObjectResponse"
3735
4000
  o['authtype'] = "v4-unsigned-body"
4001
+ o['unsignedPayload'] = true
3736
4002
  o.endpoint_pattern = {
3737
4003
  "hostPrefix" => "{RequestRoute}.",
3738
4004
  }