aws-sdk-s3 1.103.0 → 1.202.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +664 -0
  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 +858 -116
  7. data/lib/aws-sdk-s3/bucket_acl.rb +32 -9
  8. data/lib/aws-sdk-s3/bucket_cors.rb +38 -13
  9. data/lib/aws-sdk-s3/bucket_lifecycle.rb +43 -12
  10. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +100 -13
  11. data/lib/aws-sdk-s3/bucket_logging.rb +35 -6
  12. data/lib/aws-sdk-s3/bucket_notification.rb +27 -9
  13. data/lib/aws-sdk-s3/bucket_policy.rb +79 -10
  14. data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
  15. data/lib/aws-sdk-s3/bucket_request_payment.rb +29 -7
  16. data/lib/aws-sdk-s3/bucket_tagging.rb +35 -11
  17. data/lib/aws-sdk-s3/bucket_versioning.rb +108 -17
  18. data/lib/aws-sdk-s3/bucket_website.rb +35 -11
  19. data/lib/aws-sdk-s3/client.rb +11799 -3636
  20. data/lib/aws-sdk-s3/client_api.rb +1201 -276
  21. data/lib/aws-sdk-s3/customizations/bucket.rb +23 -47
  22. data/lib/aws-sdk-s3/customizations/errors.rb +40 -0
  23. data/lib/aws-sdk-s3/customizations/object.rb +216 -70
  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/types/permanent_redirect.rb +26 -0
  27. data/lib/aws-sdk-s3/customizations.rb +27 -29
  28. data/lib/aws-sdk-s3/default_executor.rb +103 -0
  29. data/lib/aws-sdk-s3/encryption/client.rb +6 -2
  30. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  31. data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
  32. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -0
  33. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  34. data/lib/aws-sdk-s3/endpoint_parameters.rb +181 -0
  35. data/lib/aws-sdk-s3/endpoint_provider.rb +716 -0
  36. data/lib/aws-sdk-s3/endpoints.rb +1518 -0
  37. data/lib/aws-sdk-s3/errors.rb +58 -0
  38. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  39. data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
  40. data/lib/aws-sdk-s3/file_downloader.rb +241 -87
  41. data/lib/aws-sdk-s3/file_uploader.rb +16 -13
  42. data/lib/aws-sdk-s3/legacy_signer.rb +2 -1
  43. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  44. data/lib/aws-sdk-s3/multipart_file_uploader.rb +108 -86
  45. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +110 -92
  46. data/lib/aws-sdk-s3/multipart_upload.rb +294 -19
  47. data/lib/aws-sdk-s3/multipart_upload_error.rb +3 -4
  48. data/lib/aws-sdk-s3/multipart_upload_part.rb +297 -31
  49. data/lib/aws-sdk-s3/object.rb +2224 -269
  50. data/lib/aws-sdk-s3/object_acl.rb +59 -17
  51. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  52. data/lib/aws-sdk-s3/object_multipart_copier.rb +48 -23
  53. data/lib/aws-sdk-s3/object_summary.rb +1915 -220
  54. data/lib/aws-sdk-s3/object_version.rb +450 -58
  55. data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -44
  56. data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
  57. data/lib/aws-sdk-s3/plugins/arn.rb +0 -197
  58. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  59. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  60. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  61. data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -55
  62. data/lib/aws-sdk-s3/plugins/endpoints.rb +86 -0
  63. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
  64. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +88 -0
  65. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +55 -18
  66. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -29
  67. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  68. data/lib/aws-sdk-s3/plugins/md5s.rb +10 -68
  69. data/lib/aws-sdk-s3/plugins/s3_signer.rb +42 -111
  70. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +28 -9
  71. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -1
  72. data/lib/aws-sdk-s3/presigned_post.rb +99 -78
  73. data/lib/aws-sdk-s3/presigner.rb +32 -41
  74. data/lib/aws-sdk-s3/resource.rb +139 -12
  75. data/lib/aws-sdk-s3/transfer_manager.rb +304 -0
  76. data/lib/aws-sdk-s3/types.rb +10204 -5378
  77. data/lib/aws-sdk-s3.rb +35 -27
  78. data/sig/bucket.rbs +231 -0
  79. data/sig/bucket_acl.rbs +78 -0
  80. data/sig/bucket_cors.rbs +69 -0
  81. data/sig/bucket_lifecycle.rbs +88 -0
  82. data/sig/bucket_lifecycle_configuration.rbs +115 -0
  83. data/sig/bucket_logging.rbs +76 -0
  84. data/sig/bucket_notification.rbs +114 -0
  85. data/sig/bucket_policy.rbs +59 -0
  86. data/sig/bucket_request_payment.rbs +54 -0
  87. data/sig/bucket_tagging.rbs +65 -0
  88. data/sig/bucket_versioning.rbs +77 -0
  89. data/sig/bucket_website.rbs +93 -0
  90. data/sig/client.rbs +2586 -0
  91. data/sig/customizations/bucket.rbs +19 -0
  92. data/sig/customizations/object.rbs +38 -0
  93. data/sig/customizations/object_summary.rbs +35 -0
  94. data/sig/errors.rbs +44 -0
  95. data/sig/multipart_upload.rbs +120 -0
  96. data/sig/multipart_upload_part.rbs +109 -0
  97. data/sig/object.rbs +464 -0
  98. data/sig/object_acl.rbs +86 -0
  99. data/sig/object_summary.rbs +347 -0
  100. data/sig/object_version.rbs +143 -0
  101. data/sig/resource.rbs +141 -0
  102. data/sig/types.rbs +2868 -0
  103. data/sig/waiters.rbs +95 -0
  104. metadata +51 -16
  105. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
  106. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +0 -69
  107. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
  108. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -73
  109. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +0 -25
@@ -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')
@@ -64,6 +71,17 @@ module Aws::S3
64
71
  CSVInput = Shapes::StructureShape.new(name: 'CSVInput')
65
72
  CSVOutput = Shapes::StructureShape.new(name: 'CSVOutput')
66
73
  CacheControl = Shapes::StringShape.new(name: 'CacheControl')
74
+ Checksum = Shapes::StructureShape.new(name: 'Checksum')
75
+ ChecksumAlgorithm = Shapes::StringShape.new(name: 'ChecksumAlgorithm')
76
+ ChecksumAlgorithmList = Shapes::ListShape.new(name: 'ChecksumAlgorithmList', flattened: true)
77
+ ChecksumCRC32 = Shapes::StringShape.new(name: 'ChecksumCRC32')
78
+ ChecksumCRC32C = Shapes::StringShape.new(name: 'ChecksumCRC32C')
79
+ ChecksumCRC64NVME = Shapes::StringShape.new(name: 'ChecksumCRC64NVME')
80
+ ChecksumMode = Shapes::StringShape.new(name: 'ChecksumMode')
81
+ ChecksumSHA1 = Shapes::StringShape.new(name: 'ChecksumSHA1')
82
+ ChecksumSHA256 = Shapes::StringShape.new(name: 'ChecksumSHA256')
83
+ ChecksumType = Shapes::StringShape.new(name: 'ChecksumType')
84
+ ClientToken = Shapes::StringShape.new(name: 'ClientToken')
67
85
  CloudFunction = Shapes::StringShape.new(name: 'CloudFunction')
68
86
  CloudFunctionConfiguration = Shapes::StructureShape.new(name: 'CloudFunctionConfiguration')
69
87
  CloudFunctionInvocationRole = Shapes::StringShape.new(name: 'CloudFunctionInvocationRole')
@@ -102,11 +120,16 @@ module Aws::S3
102
120
  CopySourceSSECustomerKeyMD5 = Shapes::StringShape.new(name: 'CopySourceSSECustomerKeyMD5')
103
121
  CopySourceVersionId = Shapes::StringShape.new(name: 'CopySourceVersionId')
104
122
  CreateBucketConfiguration = Shapes::StructureShape.new(name: 'CreateBucketConfiguration')
123
+ CreateBucketMetadataConfigurationRequest = Shapes::StructureShape.new(name: 'CreateBucketMetadataConfigurationRequest')
124
+ CreateBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'CreateBucketMetadataTableConfigurationRequest')
105
125
  CreateBucketOutput = Shapes::StructureShape.new(name: 'CreateBucketOutput')
106
126
  CreateBucketRequest = Shapes::StructureShape.new(name: 'CreateBucketRequest')
107
127
  CreateMultipartUploadOutput = Shapes::StructureShape.new(name: 'CreateMultipartUploadOutput')
108
128
  CreateMultipartUploadRequest = Shapes::StructureShape.new(name: 'CreateMultipartUploadRequest')
129
+ CreateSessionOutput = Shapes::StructureShape.new(name: 'CreateSessionOutput')
130
+ CreateSessionRequest = Shapes::StructureShape.new(name: 'CreateSessionRequest')
109
131
  CreationDate = Shapes::TimestampShape.new(name: 'CreationDate')
132
+ DataRedundancy = Shapes::StringShape.new(name: 'DataRedundancy')
110
133
  Date = Shapes::TimestampShape.new(name: 'Date', timestampFormat: "iso8601")
111
134
  Days = Shapes::IntegerShape.new(name: 'Days')
112
135
  DaysAfterInitiation = Shapes::IntegerShape.new(name: 'DaysAfterInitiation')
@@ -118,6 +141,8 @@ module Aws::S3
118
141
  DeleteBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketIntelligentTieringConfigurationRequest')
119
142
  DeleteBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketInventoryConfigurationRequest')
120
143
  DeleteBucketLifecycleRequest = Shapes::StructureShape.new(name: 'DeleteBucketLifecycleRequest')
144
+ DeleteBucketMetadataConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetadataConfigurationRequest')
145
+ DeleteBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetadataTableConfigurationRequest')
121
146
  DeleteBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetricsConfigurationRequest')
122
147
  DeleteBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'DeleteBucketOwnershipControlsRequest')
123
148
  DeleteBucketPolicyRequest = Shapes::StructureShape.new(name: 'DeleteBucketPolicyRequest')
@@ -143,6 +168,8 @@ module Aws::S3
143
168
  Delimiter = Shapes::StringShape.new(name: 'Delimiter')
144
169
  Description = Shapes::StringShape.new(name: 'Description')
145
170
  Destination = Shapes::StructureShape.new(name: 'Destination')
171
+ DestinationResult = Shapes::StructureShape.new(name: 'DestinationResult')
172
+ DirectoryBucketToken = Shapes::StringShape.new(name: 'DirectoryBucketToken')
146
173
  DisplayName = Shapes::StringShape.new(name: 'DisplayName')
147
174
  ETag = Shapes::StringShape.new(name: 'ETag')
148
175
  EmailAddress = Shapes::StringShape.new(name: 'EmailAddress')
@@ -150,18 +177,22 @@ module Aws::S3
150
177
  EncodingType = Shapes::StringShape.new(name: 'EncodingType')
151
178
  Encryption = Shapes::StructureShape.new(name: 'Encryption')
152
179
  EncryptionConfiguration = Shapes::StructureShape.new(name: 'EncryptionConfiguration')
180
+ EncryptionTypeMismatch = Shapes::StructureShape.new(name: 'EncryptionTypeMismatch')
153
181
  End = Shapes::IntegerShape.new(name: 'End')
154
182
  EndEvent = Shapes::StructureShape.new(name: 'EndEvent')
155
183
  Error = Shapes::StructureShape.new(name: 'Error')
156
184
  ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
185
+ ErrorDetails = Shapes::StructureShape.new(name: 'ErrorDetails')
157
186
  ErrorDocument = Shapes::StructureShape.new(name: 'ErrorDocument')
158
187
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
159
188
  Errors = Shapes::ListShape.new(name: 'Errors', flattened: true)
160
189
  Event = Shapes::StringShape.new(name: 'Event')
190
+ EventBridgeConfiguration = Shapes::StructureShape.new(name: 'EventBridgeConfiguration')
161
191
  EventList = Shapes::ListShape.new(name: 'EventList', flattened: true)
162
192
  ExistingObjectReplication = Shapes::StructureShape.new(name: 'ExistingObjectReplication')
163
193
  ExistingObjectReplicationStatus = Shapes::StringShape.new(name: 'ExistingObjectReplicationStatus')
164
194
  Expiration = Shapes::StringShape.new(name: 'Expiration')
195
+ ExpirationState = Shapes::StringShape.new(name: 'ExpirationState')
165
196
  ExpirationStatus = Shapes::StringShape.new(name: 'ExpirationStatus')
166
197
  ExpiredObjectDeleteMarker = Shapes::BooleanShape.new(name: 'ExpiredObjectDeleteMarker')
167
198
  Expires = Shapes::TimestampShape.new(name: 'Expires')
@@ -199,6 +230,12 @@ module Aws::S3
199
230
  GetBucketLocationRequest = Shapes::StructureShape.new(name: 'GetBucketLocationRequest')
200
231
  GetBucketLoggingOutput = Shapes::StructureShape.new(name: 'GetBucketLoggingOutput')
201
232
  GetBucketLoggingRequest = Shapes::StructureShape.new(name: 'GetBucketLoggingRequest')
233
+ GetBucketMetadataConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketMetadataConfigurationOutput')
234
+ GetBucketMetadataConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketMetadataConfigurationRequest')
235
+ GetBucketMetadataConfigurationResult = Shapes::StructureShape.new(name: 'GetBucketMetadataConfigurationResult')
236
+ GetBucketMetadataTableConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketMetadataTableConfigurationOutput')
237
+ GetBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketMetadataTableConfigurationRequest')
238
+ GetBucketMetadataTableConfigurationResult = Shapes::StructureShape.new(name: 'GetBucketMetadataTableConfigurationResult')
202
239
  GetBucketMetricsConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationOutput')
203
240
  GetBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationRequest')
204
241
  GetBucketNotificationConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketNotificationConfigurationRequest')
@@ -220,6 +257,9 @@ module Aws::S3
220
257
  GetBucketWebsiteRequest = Shapes::StructureShape.new(name: 'GetBucketWebsiteRequest')
221
258
  GetObjectAclOutput = Shapes::StructureShape.new(name: 'GetObjectAclOutput')
222
259
  GetObjectAclRequest = Shapes::StructureShape.new(name: 'GetObjectAclRequest')
260
+ GetObjectAttributesOutput = Shapes::StructureShape.new(name: 'GetObjectAttributesOutput')
261
+ GetObjectAttributesParts = Shapes::StructureShape.new(name: 'GetObjectAttributesParts')
262
+ GetObjectAttributesRequest = Shapes::StructureShape.new(name: 'GetObjectAttributesRequest')
223
263
  GetObjectLegalHoldOutput = Shapes::StructureShape.new(name: 'GetObjectLegalHoldOutput')
224
264
  GetObjectLegalHoldRequest = Shapes::StructureShape.new(name: 'GetObjectLegalHoldRequest')
225
265
  GetObjectLockConfigurationOutput = Shapes::StructureShape.new(name: 'GetObjectLockConfigurationOutput')
@@ -242,8 +282,9 @@ module Aws::S3
242
282
  GrantReadACP = Shapes::StringShape.new(name: 'GrantReadACP')
243
283
  GrantWrite = Shapes::StringShape.new(name: 'GrantWrite')
244
284
  GrantWriteACP = Shapes::StringShape.new(name: 'GrantWriteACP')
245
- Grantee = Shapes::StructureShape.new(name: 'Grantee', xmlNamespace: {"prefix"=>"xsi", "uri"=>"http://www.w3.org/2001/XMLSchema-instance"})
285
+ Grantee = Shapes::StructureShape.new(name: 'Grantee', xmlNamespace: {"prefix" => "xsi", "uri" => "http://www.w3.org/2001/XMLSchema-instance"})
246
286
  Grants = Shapes::ListShape.new(name: 'Grants')
287
+ HeadBucketOutput = Shapes::StructureShape.new(name: 'HeadBucketOutput')
247
288
  HeadBucketRequest = Shapes::StructureShape.new(name: 'HeadBucketRequest')
248
289
  HeadObjectOutput = Shapes::StructureShape.new(name: 'HeadObjectOutput')
249
290
  HeadObjectRequest = Shapes::StructureShape.new(name: 'HeadObjectRequest')
@@ -251,7 +292,11 @@ module Aws::S3
251
292
  HttpErrorCodeReturnedEquals = Shapes::StringShape.new(name: 'HttpErrorCodeReturnedEquals')
252
293
  HttpRedirectCode = Shapes::StringShape.new(name: 'HttpRedirectCode')
253
294
  ID = Shapes::StringShape.new(name: 'ID')
295
+ IdempotencyParameterMismatch = Shapes::StructureShape.new(name: 'IdempotencyParameterMismatch')
254
296
  IfMatch = Shapes::StringShape.new(name: 'IfMatch')
297
+ IfMatchInitiatedTime = Shapes::TimestampShape.new(name: 'IfMatchInitiatedTime', timestampFormat: "rfc822")
298
+ IfMatchLastModifiedTime = Shapes::TimestampShape.new(name: 'IfMatchLastModifiedTime', timestampFormat: "rfc822")
299
+ IfMatchSize = Shapes::IntegerShape.new(name: 'IfMatchSize')
255
300
  IfModifiedSince = Shapes::TimestampShape.new(name: 'IfModifiedSince')
256
301
  IfNoneMatch = Shapes::StringShape.new(name: 'IfNoneMatch')
257
302
  IfUnmodifiedSince = Shapes::TimestampShape.new(name: 'IfUnmodifiedSince')
@@ -268,8 +313,11 @@ module Aws::S3
268
313
  IntelligentTieringId = Shapes::StringShape.new(name: 'IntelligentTieringId')
269
314
  IntelligentTieringStatus = Shapes::StringShape.new(name: 'IntelligentTieringStatus')
270
315
  InvalidObjectState = Shapes::StructureShape.new(name: 'InvalidObjectState')
316
+ InvalidRequest = Shapes::StructureShape.new(name: 'InvalidRequest')
317
+ InvalidWriteOffset = Shapes::StructureShape.new(name: 'InvalidWriteOffset')
271
318
  InventoryConfiguration = Shapes::StructureShape.new(name: 'InventoryConfiguration')
272
319
  InventoryConfigurationList = Shapes::ListShape.new(name: 'InventoryConfigurationList', flattened: true)
320
+ InventoryConfigurationState = Shapes::StringShape.new(name: 'InventoryConfigurationState')
273
321
  InventoryDestination = Shapes::StructureShape.new(name: 'InventoryDestination')
274
322
  InventoryEncryption = Shapes::StructureShape.new(name: 'InventoryEncryption')
275
323
  InventoryFilter = Shapes::StructureShape.new(name: 'InventoryFilter')
@@ -281,21 +329,30 @@ module Aws::S3
281
329
  InventoryOptionalFields = Shapes::ListShape.new(name: 'InventoryOptionalFields')
282
330
  InventoryS3BucketDestination = Shapes::StructureShape.new(name: 'InventoryS3BucketDestination')
283
331
  InventorySchedule = Shapes::StructureShape.new(name: 'InventorySchedule')
332
+ InventoryTableConfiguration = Shapes::StructureShape.new(name: 'InventoryTableConfiguration')
333
+ InventoryTableConfigurationResult = Shapes::StructureShape.new(name: 'InventoryTableConfigurationResult')
334
+ InventoryTableConfigurationUpdates = Shapes::StructureShape.new(name: 'InventoryTableConfigurationUpdates')
284
335
  IsEnabled = Shapes::BooleanShape.new(name: 'IsEnabled')
285
336
  IsLatest = Shapes::BooleanShape.new(name: 'IsLatest')
286
337
  IsPublic = Shapes::BooleanShape.new(name: 'IsPublic')
338
+ IsRestoreInProgress = Shapes::BooleanShape.new(name: 'IsRestoreInProgress')
287
339
  IsTruncated = Shapes::BooleanShape.new(name: 'IsTruncated')
288
340
  JSONInput = Shapes::StructureShape.new(name: 'JSONInput')
289
341
  JSONOutput = Shapes::StructureShape.new(name: 'JSONOutput')
290
342
  JSONType = Shapes::StringShape.new(name: 'JSONType')
343
+ JournalTableConfiguration = Shapes::StructureShape.new(name: 'JournalTableConfiguration')
344
+ JournalTableConfigurationResult = Shapes::StructureShape.new(name: 'JournalTableConfigurationResult')
345
+ JournalTableConfigurationUpdates = Shapes::StructureShape.new(name: 'JournalTableConfigurationUpdates')
291
346
  KMSContext = Shapes::StringShape.new(name: 'KMSContext')
292
347
  KeyCount = Shapes::IntegerShape.new(name: 'KeyCount')
293
348
  KeyMarker = Shapes::StringShape.new(name: 'KeyMarker')
294
349
  KeyPrefixEquals = Shapes::StringShape.new(name: 'KeyPrefixEquals')
350
+ KmsKeyArn = Shapes::StringShape.new(name: 'KmsKeyArn')
295
351
  LambdaFunctionArn = Shapes::StringShape.new(name: 'LambdaFunctionArn')
296
352
  LambdaFunctionConfiguration = Shapes::StructureShape.new(name: 'LambdaFunctionConfiguration')
297
353
  LambdaFunctionConfigurationList = Shapes::ListShape.new(name: 'LambdaFunctionConfigurationList', flattened: true)
298
354
  LastModified = Shapes::TimestampShape.new(name: 'LastModified')
355
+ LastModifiedTime = Shapes::TimestampShape.new(name: 'LastModifiedTime', timestampFormat: "rfc822")
299
356
  LifecycleConfiguration = Shapes::StructureShape.new(name: 'LifecycleConfiguration')
300
357
  LifecycleExpiration = Shapes::StructureShape.new(name: 'LifecycleExpiration')
301
358
  LifecycleRule = Shapes::StructureShape.new(name: 'LifecycleRule')
@@ -311,6 +368,9 @@ module Aws::S3
311
368
  ListBucketMetricsConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsOutput')
312
369
  ListBucketMetricsConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsRequest')
313
370
  ListBucketsOutput = Shapes::StructureShape.new(name: 'ListBucketsOutput')
371
+ ListBucketsRequest = Shapes::StructureShape.new(name: 'ListBucketsRequest')
372
+ ListDirectoryBucketsOutput = Shapes::StructureShape.new(name: 'ListDirectoryBucketsOutput')
373
+ ListDirectoryBucketsRequest = Shapes::StructureShape.new(name: 'ListDirectoryBucketsRequest')
314
374
  ListMultipartUploadsOutput = Shapes::StructureShape.new(name: 'ListMultipartUploadsOutput')
315
375
  ListMultipartUploadsRequest = Shapes::StructureShape.new(name: 'ListMultipartUploadsRequest')
316
376
  ListObjectVersionsOutput = Shapes::StructureShape.new(name: 'ListObjectVersionsOutput')
@@ -322,21 +382,32 @@ module Aws::S3
322
382
  ListPartsOutput = Shapes::StructureShape.new(name: 'ListPartsOutput')
323
383
  ListPartsRequest = Shapes::StructureShape.new(name: 'ListPartsRequest')
324
384
  Location = Shapes::StringShape.new(name: 'Location')
385
+ LocationInfo = Shapes::StructureShape.new(name: 'LocationInfo')
386
+ LocationNameAsString = Shapes::StringShape.new(name: 'LocationNameAsString')
325
387
  LocationPrefix = Shapes::StringShape.new(name: 'LocationPrefix')
388
+ LocationType = Shapes::StringShape.new(name: 'LocationType')
326
389
  LoggingEnabled = Shapes::StructureShape.new(name: 'LoggingEnabled')
327
390
  MFA = Shapes::StringShape.new(name: 'MFA')
328
391
  MFADelete = Shapes::StringShape.new(name: 'MFADelete')
329
392
  MFADeleteStatus = Shapes::StringShape.new(name: 'MFADeleteStatus')
330
393
  Marker = Shapes::StringShape.new(name: 'Marker')
331
394
  MaxAgeSeconds = Shapes::IntegerShape.new(name: 'MaxAgeSeconds')
395
+ MaxBuckets = Shapes::IntegerShape.new(name: 'MaxBuckets')
396
+ MaxDirectoryBuckets = Shapes::IntegerShape.new(name: 'MaxDirectoryBuckets')
332
397
  MaxKeys = Shapes::IntegerShape.new(name: 'MaxKeys')
333
398
  MaxParts = Shapes::IntegerShape.new(name: 'MaxParts')
334
399
  MaxUploads = Shapes::IntegerShape.new(name: 'MaxUploads')
335
400
  Message = Shapes::StringShape.new(name: 'Message')
336
401
  Metadata = Shapes::MapShape.new(name: 'Metadata')
402
+ MetadataConfiguration = Shapes::StructureShape.new(name: 'MetadataConfiguration')
403
+ MetadataConfigurationResult = Shapes::StructureShape.new(name: 'MetadataConfigurationResult')
337
404
  MetadataDirective = Shapes::StringShape.new(name: 'MetadataDirective')
338
405
  MetadataEntry = Shapes::StructureShape.new(name: 'MetadataEntry')
339
406
  MetadataKey = Shapes::StringShape.new(name: 'MetadataKey')
407
+ MetadataTableConfiguration = Shapes::StructureShape.new(name: 'MetadataTableConfiguration')
408
+ MetadataTableConfigurationResult = Shapes::StructureShape.new(name: 'MetadataTableConfigurationResult')
409
+ MetadataTableEncryptionConfiguration = Shapes::StructureShape.new(name: 'MetadataTableEncryptionConfiguration')
410
+ MetadataTableStatus = Shapes::StringShape.new(name: 'MetadataTableStatus')
340
411
  MetadataValue = Shapes::StringShape.new(name: 'MetadataValue')
341
412
  Metrics = Shapes::StructureShape.new(name: 'Metrics')
342
413
  MetricsAndOperator = Shapes::StructureShape.new(name: 'MetricsAndOperator')
@@ -347,6 +418,7 @@ module Aws::S3
347
418
  MetricsStatus = Shapes::StringShape.new(name: 'MetricsStatus')
348
419
  Minutes = Shapes::IntegerShape.new(name: 'Minutes')
349
420
  MissingMeta = Shapes::IntegerShape.new(name: 'MissingMeta')
421
+ MpuObjectSize = Shapes::IntegerShape.new(name: 'MpuObjectSize')
350
422
  MultipartUpload = Shapes::StructureShape.new(name: 'MultipartUpload')
351
423
  MultipartUploadId = Shapes::StringShape.new(name: 'MultipartUploadId')
352
424
  MultipartUploadList = Shapes::ListShape.new(name: 'MultipartUploadList', flattened: true)
@@ -368,6 +440,8 @@ module Aws::S3
368
440
  NotificationId = Shapes::StringShape.new(name: 'NotificationId')
369
441
  Object = Shapes::StructureShape.new(name: 'Object')
370
442
  ObjectAlreadyInActiveTierError = Shapes::StructureShape.new(name: 'ObjectAlreadyInActiveTierError')
443
+ ObjectAttributes = Shapes::StringShape.new(name: 'ObjectAttributes')
444
+ ObjectAttributesList = Shapes::ListShape.new(name: 'ObjectAttributesList')
371
445
  ObjectCannedACL = Shapes::StringShape.new(name: 'ObjectCannedACL')
372
446
  ObjectIdentifier = Shapes::StructureShape.new(name: 'ObjectIdentifier')
373
447
  ObjectIdentifierList = Shapes::ListShape.new(name: 'ObjectIdentifierList', flattened: true)
@@ -386,11 +460,17 @@ module Aws::S3
386
460
  ObjectLockToken = Shapes::StringShape.new(name: 'ObjectLockToken')
387
461
  ObjectNotInActiveTierError = Shapes::StructureShape.new(name: 'ObjectNotInActiveTierError')
388
462
  ObjectOwnership = Shapes::StringShape.new(name: 'ObjectOwnership')
463
+ ObjectPart = Shapes::StructureShape.new(name: 'ObjectPart')
464
+ ObjectSize = Shapes::IntegerShape.new(name: 'ObjectSize')
465
+ ObjectSizeGreaterThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeGreaterThanBytes')
466
+ ObjectSizeLessThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeLessThanBytes')
389
467
  ObjectStorageClass = Shapes::StringShape.new(name: 'ObjectStorageClass')
390
468
  ObjectVersion = Shapes::StructureShape.new(name: 'ObjectVersion')
391
469
  ObjectVersionId = Shapes::StringShape.new(name: 'ObjectVersionId')
392
470
  ObjectVersionList = Shapes::ListShape.new(name: 'ObjectVersionList', flattened: true)
393
471
  ObjectVersionStorageClass = Shapes::StringShape.new(name: 'ObjectVersionStorageClass')
472
+ OptionalObjectAttributes = Shapes::StringShape.new(name: 'OptionalObjectAttributes')
473
+ OptionalObjectAttributesList = Shapes::ListShape.new(name: 'OptionalObjectAttributesList')
394
474
  OutputLocation = Shapes::StructureShape.new(name: 'OutputLocation')
395
475
  OutputSerialization = Shapes::StructureShape.new(name: 'OutputSerialization')
396
476
  Owner = Shapes::StructureShape.new(name: 'Owner')
@@ -402,8 +482,11 @@ module Aws::S3
402
482
  Part = Shapes::StructureShape.new(name: 'Part')
403
483
  PartNumber = Shapes::IntegerShape.new(name: 'PartNumber')
404
484
  PartNumberMarker = Shapes::IntegerShape.new(name: 'PartNumberMarker')
485
+ PartitionDateSource = Shapes::StringShape.new(name: 'PartitionDateSource')
486
+ PartitionedPrefix = Shapes::StructureShape.new(name: 'PartitionedPrefix', locationName: "PartitionedPrefix")
405
487
  Parts = Shapes::ListShape.new(name: 'Parts', flattened: true)
406
488
  PartsCount = Shapes::IntegerShape.new(name: 'PartsCount')
489
+ PartsList = Shapes::ListShape.new(name: 'PartsList', flattened: true)
407
490
  Payer = Shapes::StringShape.new(name: 'Payer')
408
491
  Permission = Shapes::StringShape.new(name: 'Permission')
409
492
  Policy = Shapes::StringShape.new(name: 'Policy')
@@ -421,6 +504,7 @@ module Aws::S3
421
504
  PutBucketEncryptionRequest = Shapes::StructureShape.new(name: 'PutBucketEncryptionRequest')
422
505
  PutBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketIntelligentTieringConfigurationRequest')
423
506
  PutBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketInventoryConfigurationRequest')
507
+ PutBucketLifecycleConfigurationOutput = Shapes::StructureShape.new(name: 'PutBucketLifecycleConfigurationOutput')
424
508
  PutBucketLifecycleConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleConfigurationRequest')
425
509
  PutBucketLifecycleRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleRequest')
426
510
  PutBucketLoggingRequest = Shapes::StructureShape.new(name: 'PutBucketLoggingRequest')
@@ -457,9 +541,19 @@ module Aws::S3
457
541
  QuoteFields = Shapes::StringShape.new(name: 'QuoteFields')
458
542
  Range = Shapes::StringShape.new(name: 'Range')
459
543
  RecordDelimiter = Shapes::StringShape.new(name: 'RecordDelimiter')
544
+ RecordExpiration = Shapes::StructureShape.new(name: 'RecordExpiration')
545
+ RecordExpirationDays = Shapes::IntegerShape.new(name: 'RecordExpirationDays')
460
546
  RecordsEvent = Shapes::StructureShape.new(name: 'RecordsEvent')
461
547
  Redirect = Shapes::StructureShape.new(name: 'Redirect')
462
548
  RedirectAllRequestsTo = Shapes::StructureShape.new(name: 'RedirectAllRequestsTo')
549
+ Region = Shapes::StringShape.new(name: 'Region')
550
+ RenameObjectOutput = Shapes::StructureShape.new(name: 'RenameObjectOutput')
551
+ RenameObjectRequest = Shapes::StructureShape.new(name: 'RenameObjectRequest')
552
+ RenameSource = Shapes::StringShape.new(name: 'RenameSource')
553
+ RenameSourceIfMatch = Shapes::StringShape.new(name: 'RenameSourceIfMatch')
554
+ RenameSourceIfModifiedSince = Shapes::TimestampShape.new(name: 'RenameSourceIfModifiedSince', timestampFormat: "rfc822")
555
+ RenameSourceIfNoneMatch = Shapes::StringShape.new(name: 'RenameSourceIfNoneMatch')
556
+ RenameSourceIfUnmodifiedSince = Shapes::TimestampShape.new(name: 'RenameSourceIfUnmodifiedSince', timestampFormat: "rfc822")
463
557
  ReplaceKeyPrefixWith = Shapes::StringShape.new(name: 'ReplaceKeyPrefixWith')
464
558
  ReplaceKeyWith = Shapes::StringShape.new(name: 'ReplaceKeyWith')
465
559
  ReplicaKmsKeyID = Shapes::StringShape.new(name: 'ReplicaKmsKeyID')
@@ -488,11 +582,13 @@ module Aws::S3
488
582
  ResponseContentType = Shapes::StringShape.new(name: 'ResponseContentType')
489
583
  ResponseExpires = Shapes::TimestampShape.new(name: 'ResponseExpires', timestampFormat: "rfc822")
490
584
  Restore = Shapes::StringShape.new(name: 'Restore')
585
+ RestoreExpiryDate = Shapes::TimestampShape.new(name: 'RestoreExpiryDate')
491
586
  RestoreObjectOutput = Shapes::StructureShape.new(name: 'RestoreObjectOutput')
492
587
  RestoreObjectRequest = Shapes::StructureShape.new(name: 'RestoreObjectRequest')
493
588
  RestoreOutputPath = Shapes::StringShape.new(name: 'RestoreOutputPath')
494
589
  RestoreRequest = Shapes::StructureShape.new(name: 'RestoreRequest')
495
590
  RestoreRequestType = Shapes::StringShape.new(name: 'RestoreRequestType')
591
+ RestoreStatus = Shapes::StructureShape.new(name: 'RestoreStatus')
496
592
  Role = Shapes::StringShape.new(name: 'Role')
497
593
  RoutingRule = Shapes::StructureShape.new(name: 'RoutingRule')
498
594
  RoutingRules = Shapes::ListShape.new(name: 'RoutingRules')
@@ -500,13 +596,21 @@ module Aws::S3
500
596
  Rules = Shapes::ListShape.new(name: 'Rules', flattened: true)
501
597
  S3KeyFilter = Shapes::StructureShape.new(name: 'S3KeyFilter')
502
598
  S3Location = Shapes::StructureShape.new(name: 'S3Location')
599
+ S3RegionalOrS3ExpressBucketArnString = Shapes::StringShape.new(name: 'S3RegionalOrS3ExpressBucketArnString')
600
+ S3TablesArn = Shapes::StringShape.new(name: 'S3TablesArn')
601
+ S3TablesBucketArn = Shapes::StringShape.new(name: 'S3TablesBucketArn')
602
+ S3TablesBucketType = Shapes::StringShape.new(name: 'S3TablesBucketType')
603
+ S3TablesDestination = Shapes::StructureShape.new(name: 'S3TablesDestination')
604
+ S3TablesDestinationResult = Shapes::StructureShape.new(name: 'S3TablesDestinationResult')
605
+ S3TablesName = Shapes::StringShape.new(name: 'S3TablesName')
606
+ S3TablesNamespace = Shapes::StringShape.new(name: 'S3TablesNamespace')
503
607
  SSECustomerAlgorithm = Shapes::StringShape.new(name: 'SSECustomerAlgorithm')
504
608
  SSECustomerKey = Shapes::StringShape.new(name: 'SSECustomerKey')
505
609
  SSECustomerKeyMD5 = Shapes::StringShape.new(name: 'SSECustomerKeyMD5')
506
- SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS')
610
+ SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS', locationName: "SSE-KMS")
507
611
  SSEKMSEncryptionContext = Shapes::StringShape.new(name: 'SSEKMSEncryptionContext')
508
612
  SSEKMSKeyId = Shapes::StringShape.new(name: 'SSEKMSKeyId')
509
- SSES3 = Shapes::StructureShape.new(name: 'SSES3')
613
+ SSES3 = Shapes::StructureShape.new(name: 'SSES3', locationName: "SSE-S3")
510
614
  ScanRange = Shapes::StructureShape.new(name: 'ScanRange')
511
615
  SelectObjectContentEventStream = Shapes::StructureShape.new(name: 'SelectObjectContentEventStream')
512
616
  SelectObjectContentOutput = Shapes::StructureShape.new(name: 'SelectObjectContentOutput')
@@ -517,8 +621,14 @@ module Aws::S3
517
621
  ServerSideEncryptionConfiguration = Shapes::StructureShape.new(name: 'ServerSideEncryptionConfiguration')
518
622
  ServerSideEncryptionRule = Shapes::StructureShape.new(name: 'ServerSideEncryptionRule')
519
623
  ServerSideEncryptionRules = Shapes::ListShape.new(name: 'ServerSideEncryptionRules', flattened: true)
624
+ SessionCredentialValue = Shapes::StringShape.new(name: 'SessionCredentialValue')
625
+ SessionCredentials = Shapes::StructureShape.new(name: 'SessionCredentials')
626
+ SessionExpiration = Shapes::TimestampShape.new(name: 'SessionExpiration')
627
+ SessionMode = Shapes::StringShape.new(name: 'SessionMode')
520
628
  Setting = Shapes::BooleanShape.new(name: 'Setting')
629
+ SimplePrefix = Shapes::StructureShape.new(name: 'SimplePrefix', locationName: "SimplePrefix")
521
630
  Size = Shapes::IntegerShape.new(name: 'Size')
631
+ SkipValidation = Shapes::BooleanShape.new(name: 'SkipValidation')
522
632
  SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
523
633
  SseKmsEncryptedObjects = Shapes::StructureShape.new(name: 'SseKmsEncryptedObjects')
524
634
  SseKmsEncryptedObjectsStatus = Shapes::StringShape.new(name: 'SseKmsEncryptedObjectsStatus')
@@ -531,6 +641,7 @@ module Aws::S3
531
641
  StorageClassAnalysisDataExport = Shapes::StructureShape.new(name: 'StorageClassAnalysisDataExport')
532
642
  StorageClassAnalysisSchemaVersion = Shapes::StringShape.new(name: 'StorageClassAnalysisSchemaVersion')
533
643
  Suffix = Shapes::StringShape.new(name: 'Suffix')
644
+ TableSseAlgorithm = Shapes::StringShape.new(name: 'TableSseAlgorithm')
534
645
  Tag = Shapes::StructureShape.new(name: 'Tag')
535
646
  TagCount = Shapes::IntegerShape.new(name: 'TagCount')
536
647
  TagSet = Shapes::ListShape.new(name: 'TagSet')
@@ -540,20 +651,25 @@ module Aws::S3
540
651
  TargetBucket = Shapes::StringShape.new(name: 'TargetBucket')
541
652
  TargetGrant = Shapes::StructureShape.new(name: 'TargetGrant')
542
653
  TargetGrants = Shapes::ListShape.new(name: 'TargetGrants')
654
+ TargetObjectKeyFormat = Shapes::StructureShape.new(name: 'TargetObjectKeyFormat')
543
655
  TargetPrefix = Shapes::StringShape.new(name: 'TargetPrefix')
544
656
  Tier = Shapes::StringShape.new(name: 'Tier')
545
657
  Tiering = Shapes::StructureShape.new(name: 'Tiering')
546
658
  TieringList = Shapes::ListShape.new(name: 'TieringList', flattened: true)
547
659
  Token = Shapes::StringShape.new(name: 'Token')
660
+ TooManyParts = Shapes::StructureShape.new(name: 'TooManyParts')
548
661
  TopicArn = Shapes::StringShape.new(name: 'TopicArn')
549
662
  TopicConfiguration = Shapes::StructureShape.new(name: 'TopicConfiguration')
550
663
  TopicConfigurationDeprecated = Shapes::StructureShape.new(name: 'TopicConfigurationDeprecated')
551
664
  TopicConfigurationList = Shapes::ListShape.new(name: 'TopicConfigurationList', flattened: true)
552
665
  Transition = Shapes::StructureShape.new(name: 'Transition')
666
+ TransitionDefaultMinimumObjectSize = Shapes::StringShape.new(name: 'TransitionDefaultMinimumObjectSize')
553
667
  TransitionList = Shapes::ListShape.new(name: 'TransitionList', flattened: true)
554
668
  TransitionStorageClass = Shapes::StringShape.new(name: 'TransitionStorageClass')
555
669
  Type = Shapes::StringShape.new(name: 'Type')
556
670
  URI = Shapes::StringShape.new(name: 'URI')
671
+ UpdateBucketMetadataInventoryTableConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateBucketMetadataInventoryTableConfigurationRequest')
672
+ UpdateBucketMetadataJournalTableConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateBucketMetadataJournalTableConfigurationRequest')
557
673
  UploadIdMarker = Shapes::StringShape.new(name: 'UploadIdMarker')
558
674
  UploadPartCopyOutput = Shapes::StructureShape.new(name: 'UploadPartCopyOutput')
559
675
  UploadPartCopyRequest = Shapes::StructureShape.new(name: 'UploadPartCopyRequest')
@@ -561,11 +677,13 @@ module Aws::S3
561
677
  UploadPartRequest = Shapes::StructureShape.new(name: 'UploadPartRequest')
562
678
  UserMetadata = Shapes::ListShape.new(name: 'UserMetadata')
563
679
  Value = Shapes::StringShape.new(name: 'Value')
680
+ VersionCount = Shapes::IntegerShape.new(name: 'VersionCount')
564
681
  VersionIdMarker = Shapes::StringShape.new(name: 'VersionIdMarker')
565
682
  VersioningConfiguration = Shapes::StructureShape.new(name: 'VersioningConfiguration')
566
683
  WebsiteConfiguration = Shapes::StructureShape.new(name: 'WebsiteConfiguration')
567
684
  WebsiteRedirectLocation = Shapes::StringShape.new(name: 'WebsiteRedirectLocation')
568
685
  WriteGetObjectResponseRequest = Shapes::StructureShape.new(name: 'WriteGetObjectResponseRequest')
686
+ WriteOffsetBytes = Shapes::IntegerShape.new(name: 'WriteOffsetBytes')
569
687
  Years = Shapes::IntegerShape.new(name: 'Years')
570
688
 
571
689
  AbortIncompleteMultipartUpload.add_member(:days_after_initiation, Shapes::ShapeRef.new(shape: DaysAfterInitiation, location_name: "DaysAfterInitiation"))
@@ -574,11 +692,12 @@ module Aws::S3
574
692
  AbortMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
575
693
  AbortMultipartUploadOutput.struct_class = Types::AbortMultipartUploadOutput
576
694
 
577
- AbortMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
578
- AbortMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
695
+ AbortMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
696
+ AbortMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
579
697
  AbortMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
580
698
  AbortMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
581
699
  AbortMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
700
+ AbortMultipartUploadRequest.add_member(:if_match_initiated_time, Shapes::ShapeRef.new(shape: IfMatchInitiatedTime, location: "header", location_name: "x-amz-if-match-initiated-time"))
582
701
  AbortMultipartUploadRequest.struct_class = Types::AbortMultipartUploadRequest
583
702
 
584
703
  AccelerateConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: BucketAccelerateStatus, location_name: "Status"))
@@ -598,7 +717,7 @@ module Aws::S3
598
717
  AllowedOrigins.member = Shapes::ShapeRef.new(shape: AllowedOrigin)
599
718
 
600
719
  AnalyticsAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
601
- AnalyticsAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
720
+ AnalyticsAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened" => true}))
602
721
  AnalyticsAndOperator.struct_class = Types::AnalyticsAndOperator
603
722
 
604
723
  AnalyticsConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location_name: "Id"))
@@ -624,12 +743,18 @@ module Aws::S3
624
743
 
625
744
  Bucket.add_member(:name, Shapes::ShapeRef.new(shape: BucketName, location_name: "Name"))
626
745
  Bucket.add_member(:creation_date, Shapes::ShapeRef.new(shape: CreationDate, location_name: "CreationDate"))
746
+ Bucket.add_member(:bucket_region, Shapes::ShapeRef.new(shape: BucketRegion, location_name: "BucketRegion"))
747
+ Bucket.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: S3RegionalOrS3ExpressBucketArnString, location_name: "BucketArn"))
627
748
  Bucket.struct_class = Types::Bucket
628
749
 
629
750
  BucketAlreadyExists.struct_class = Types::BucketAlreadyExists
630
751
 
631
752
  BucketAlreadyOwnedByYou.struct_class = Types::BucketAlreadyOwnedByYou
632
753
 
754
+ BucketInfo.add_member(:data_redundancy, Shapes::ShapeRef.new(shape: DataRedundancy, location_name: "DataRedundancy"))
755
+ BucketInfo.add_member(:type, Shapes::ShapeRef.new(shape: BucketType, location_name: "Type"))
756
+ BucketInfo.struct_class = Types::BucketInfo
757
+
633
758
  BucketLifecycleConfiguration.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, required: true, location_name: "Rule"))
634
759
  BucketLifecycleConfiguration.struct_class = Types::BucketLifecycleConfiguration
635
760
 
@@ -667,6 +792,16 @@ module Aws::S3
667
792
  CSVOutput.add_member(:quote_character, Shapes::ShapeRef.new(shape: QuoteCharacter, location_name: "QuoteCharacter"))
668
793
  CSVOutput.struct_class = Types::CSVOutput
669
794
 
795
+ Checksum.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
796
+ Checksum.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
797
+ Checksum.add_member(:checksum_crc64nvme, Shapes::ShapeRef.new(shape: ChecksumCRC64NVME, location_name: "ChecksumCRC64NVME"))
798
+ Checksum.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
799
+ Checksum.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
800
+ Checksum.add_member(:checksum_type, Shapes::ShapeRef.new(shape: ChecksumType, location_name: "ChecksumType"))
801
+ Checksum.struct_class = Types::Checksum
802
+
803
+ ChecksumAlgorithmList.member = Shapes::ShapeRef.new(shape: ChecksumAlgorithm)
804
+
670
805
  CloudFunctionConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
671
806
  CloudFunctionConfiguration.add_member(:event, Shapes::ShapeRef.new(shape: Event, deprecated: true, location_name: "Event"))
672
807
  CloudFunctionConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, location_name: "Event"))
@@ -684,6 +819,12 @@ module Aws::S3
684
819
  CompleteMultipartUploadOutput.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
685
820
  CompleteMultipartUploadOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
686
821
  CompleteMultipartUploadOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
822
+ CompleteMultipartUploadOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
823
+ CompleteMultipartUploadOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
824
+ CompleteMultipartUploadOutput.add_member(:checksum_crc64nvme, Shapes::ShapeRef.new(shape: ChecksumCRC64NVME, location_name: "ChecksumCRC64NVME"))
825
+ CompleteMultipartUploadOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
826
+ CompleteMultipartUploadOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
827
+ CompleteMultipartUploadOutput.add_member(:checksum_type, Shapes::ShapeRef.new(shape: ChecksumType, location_name: "ChecksumType"))
687
828
  CompleteMultipartUploadOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
688
829
  CompleteMultipartUploadOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
689
830
  CompleteMultipartUploadOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
@@ -691,12 +832,24 @@ module Aws::S3
691
832
  CompleteMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
692
833
  CompleteMultipartUploadOutput.struct_class = Types::CompleteMultipartUploadOutput
693
834
 
694
- CompleteMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
695
- CompleteMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
696
- CompleteMultipartUploadRequest.add_member(:multipart_upload, Shapes::ShapeRef.new(shape: CompletedMultipartUpload, location_name: "CompleteMultipartUpload", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
835
+ CompleteMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
836
+ CompleteMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
837
+ CompleteMultipartUploadRequest.add_member(:multipart_upload, Shapes::ShapeRef.new(shape: CompletedMultipartUpload, location_name: "CompleteMultipartUpload", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
697
838
  CompleteMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
839
+ CompleteMultipartUploadRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
840
+ CompleteMultipartUploadRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
841
+ CompleteMultipartUploadRequest.add_member(:checksum_crc64nvme, Shapes::ShapeRef.new(shape: ChecksumCRC64NVME, location: "header", location_name: "x-amz-checksum-crc64nvme"))
842
+ CompleteMultipartUploadRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
843
+ CompleteMultipartUploadRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
844
+ CompleteMultipartUploadRequest.add_member(:checksum_type, Shapes::ShapeRef.new(shape: ChecksumType, location: "header", location_name: "x-amz-checksum-type"))
845
+ CompleteMultipartUploadRequest.add_member(:mpu_object_size, Shapes::ShapeRef.new(shape: MpuObjectSize, location: "header", location_name: "x-amz-mp-object-size"))
698
846
  CompleteMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
699
847
  CompleteMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
848
+ CompleteMultipartUploadRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
849
+ CompleteMultipartUploadRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
850
+ CompleteMultipartUploadRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
851
+ CompleteMultipartUploadRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
852
+ CompleteMultipartUploadRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
700
853
  CompleteMultipartUploadRequest.struct_class = Types::CompleteMultipartUploadRequest
701
854
  CompleteMultipartUploadRequest[:payload] = :multipart_upload
702
855
  CompleteMultipartUploadRequest[:payload_member] = CompleteMultipartUploadRequest.member(:multipart_upload)
@@ -705,6 +858,11 @@ module Aws::S3
705
858
  CompletedMultipartUpload.struct_class = Types::CompletedMultipartUpload
706
859
 
707
860
  CompletedPart.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
861
+ CompletedPart.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
862
+ CompletedPart.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
863
+ CompletedPart.add_member(:checksum_crc64nvme, Shapes::ShapeRef.new(shape: ChecksumCRC64NVME, location_name: "ChecksumCRC64NVME"))
864
+ CompletedPart.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
865
+ CompletedPart.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
708
866
  CompletedPart.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
709
867
  CompletedPart.struct_class = Types::CompletedPart
710
868
 
@@ -732,13 +890,14 @@ module Aws::S3
732
890
  CopyObjectOutput[:payload_member] = CopyObjectOutput.member(:copy_object_result)
733
891
 
734
892
  CopyObjectRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
735
- CopyObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
893
+ CopyObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
736
894
  CopyObjectRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
895
+ CopyObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
737
896
  CopyObjectRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
738
897
  CopyObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
739
898
  CopyObjectRequest.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "Content-Language"))
740
899
  CopyObjectRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
741
- CopyObjectRequest.add_member(:copy_source, Shapes::ShapeRef.new(shape: CopySource, required: true, location: "header", location_name: "x-amz-copy-source"))
900
+ CopyObjectRequest.add_member(:copy_source, Shapes::ShapeRef.new(shape: CopySource, required: true, location: "header", location_name: "x-amz-copy-source", metadata: {"contextParam" => {"name" => "CopySource"}}))
742
901
  CopyObjectRequest.add_member(:copy_source_if_match, Shapes::ShapeRef.new(shape: CopySourceIfMatch, location: "header", location_name: "x-amz-copy-source-if-match"))
743
902
  CopyObjectRequest.add_member(:copy_source_if_modified_since, Shapes::ShapeRef.new(shape: CopySourceIfModifiedSince, location: "header", location_name: "x-amz-copy-source-if-modified-since"))
744
903
  CopyObjectRequest.add_member(:copy_source_if_none_match, Shapes::ShapeRef.new(shape: CopySourceIfNoneMatch, location: "header", location_name: "x-amz-copy-source-if-none-match"))
@@ -748,7 +907,9 @@ module Aws::S3
748
907
  CopyObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
749
908
  CopyObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
750
909
  CopyObjectRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
751
- CopyObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
910
+ CopyObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
911
+ CopyObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
912
+ CopyObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
752
913
  CopyObjectRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
753
914
  CopyObjectRequest.add_member(:metadata_directive, Shapes::ShapeRef.new(shape: MetadataDirective, location: "header", location_name: "x-amz-metadata-directive"))
754
915
  CopyObjectRequest.add_member(:tagging_directive, Shapes::ShapeRef.new(shape: TaggingDirective, location: "header", location_name: "x-amz-tagging-directive"))
@@ -775,27 +936,61 @@ module Aws::S3
775
936
 
776
937
  CopyObjectResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
777
938
  CopyObjectResult.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
939
+ CopyObjectResult.add_member(:checksum_type, Shapes::ShapeRef.new(shape: ChecksumType, location_name: "ChecksumType"))
940
+ CopyObjectResult.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
941
+ CopyObjectResult.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
942
+ CopyObjectResult.add_member(:checksum_crc64nvme, Shapes::ShapeRef.new(shape: ChecksumCRC64NVME, location_name: "ChecksumCRC64NVME"))
943
+ CopyObjectResult.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
944
+ CopyObjectResult.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
778
945
  CopyObjectResult.struct_class = Types::CopyObjectResult
779
946
 
780
947
  CopyPartResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
781
948
  CopyPartResult.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
949
+ CopyPartResult.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
950
+ CopyPartResult.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
951
+ CopyPartResult.add_member(:checksum_crc64nvme, Shapes::ShapeRef.new(shape: ChecksumCRC64NVME, location_name: "ChecksumCRC64NVME"))
952
+ CopyPartResult.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
953
+ CopyPartResult.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
782
954
  CopyPartResult.struct_class = Types::CopyPartResult
783
955
 
784
956
  CreateBucketConfiguration.add_member(:location_constraint, Shapes::ShapeRef.new(shape: BucketLocationConstraint, location_name: "LocationConstraint"))
957
+ CreateBucketConfiguration.add_member(:location, Shapes::ShapeRef.new(shape: LocationInfo, location_name: "Location"))
958
+ CreateBucketConfiguration.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketInfo, location_name: "Bucket"))
959
+ CreateBucketConfiguration.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tags"))
785
960
  CreateBucketConfiguration.struct_class = Types::CreateBucketConfiguration
786
961
 
962
+ CreateBucketMetadataConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
963
+ CreateBucketMetadataConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
964
+ CreateBucketMetadataConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
965
+ CreateBucketMetadataConfigurationRequest.add_member(:metadata_configuration, Shapes::ShapeRef.new(shape: MetadataConfiguration, required: true, location_name: "MetadataConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
966
+ CreateBucketMetadataConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
967
+ CreateBucketMetadataConfigurationRequest.struct_class = Types::CreateBucketMetadataConfigurationRequest
968
+ CreateBucketMetadataConfigurationRequest[:payload] = :metadata_configuration
969
+ CreateBucketMetadataConfigurationRequest[:payload_member] = CreateBucketMetadataConfigurationRequest.member(:metadata_configuration)
970
+
971
+ CreateBucketMetadataTableConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
972
+ CreateBucketMetadataTableConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
973
+ CreateBucketMetadataTableConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
974
+ 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/"}}))
975
+ CreateBucketMetadataTableConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
976
+ CreateBucketMetadataTableConfigurationRequest.struct_class = Types::CreateBucketMetadataTableConfigurationRequest
977
+ CreateBucketMetadataTableConfigurationRequest[:payload] = :metadata_table_configuration
978
+ CreateBucketMetadataTableConfigurationRequest[:payload_member] = CreateBucketMetadataTableConfigurationRequest.member(:metadata_table_configuration)
979
+
787
980
  CreateBucketOutput.add_member(:location, Shapes::ShapeRef.new(shape: Location, location: "header", location_name: "Location"))
981
+ CreateBucketOutput.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: S3RegionalOrS3ExpressBucketArnString, location: "header", location_name: "x-amz-bucket-arn"))
788
982
  CreateBucketOutput.struct_class = Types::CreateBucketOutput
789
983
 
790
984
  CreateBucketRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
791
- CreateBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
792
- CreateBucketRequest.add_member(:create_bucket_configuration, Shapes::ShapeRef.new(shape: CreateBucketConfiguration, location_name: "CreateBucketConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
985
+ CreateBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
986
+ CreateBucketRequest.add_member(:create_bucket_configuration, Shapes::ShapeRef.new(shape: CreateBucketConfiguration, location_name: "CreateBucketConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
793
987
  CreateBucketRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
794
988
  CreateBucketRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
795
989
  CreateBucketRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
796
990
  CreateBucketRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
797
991
  CreateBucketRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
798
992
  CreateBucketRequest.add_member(:object_lock_enabled_for_bucket, Shapes::ShapeRef.new(shape: ObjectLockEnabledForBucket, location: "header", location_name: "x-amz-bucket-object-lock-enabled"))
993
+ CreateBucketRequest.add_member(:object_ownership, Shapes::ShapeRef.new(shape: ObjectOwnership, location: "header", location_name: "x-amz-object-ownership"))
799
994
  CreateBucketRequest.struct_class = Types::CreateBucketRequest
800
995
  CreateBucketRequest[:payload] = :create_bucket_configuration
801
996
  CreateBucketRequest[:payload_member] = CreateBucketRequest.member(:create_bucket_configuration)
@@ -812,10 +1007,12 @@ module Aws::S3
812
1007
  CreateMultipartUploadOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
813
1008
  CreateMultipartUploadOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
814
1009
  CreateMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1010
+ CreateMultipartUploadOutput.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
1011
+ CreateMultipartUploadOutput.add_member(:checksum_type, Shapes::ShapeRef.new(shape: ChecksumType, location: "header", location_name: "x-amz-checksum-type"))
815
1012
  CreateMultipartUploadOutput.struct_class = Types::CreateMultipartUploadOutput
816
1013
 
817
1014
  CreateMultipartUploadRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
818
- CreateMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1015
+ CreateMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
819
1016
  CreateMultipartUploadRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
820
1017
  CreateMultipartUploadRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
821
1018
  CreateMultipartUploadRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
@@ -826,7 +1023,7 @@ module Aws::S3
826
1023
  CreateMultipartUploadRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
827
1024
  CreateMultipartUploadRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
828
1025
  CreateMultipartUploadRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
829
- CreateMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1026
+ CreateMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
830
1027
  CreateMultipartUploadRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
831
1028
  CreateMultipartUploadRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
832
1029
  CreateMultipartUploadRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
@@ -843,8 +1040,25 @@ module Aws::S3
843
1040
  CreateMultipartUploadRequest.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
844
1041
  CreateMultipartUploadRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
845
1042
  CreateMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1043
+ CreateMultipartUploadRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
1044
+ CreateMultipartUploadRequest.add_member(:checksum_type, Shapes::ShapeRef.new(shape: ChecksumType, location: "header", location_name: "x-amz-checksum-type"))
846
1045
  CreateMultipartUploadRequest.struct_class = Types::CreateMultipartUploadRequest
847
1046
 
1047
+ CreateSessionOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
1048
+ CreateSessionOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
1049
+ CreateSessionOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
1050
+ CreateSessionOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
1051
+ CreateSessionOutput.add_member(:credentials, Shapes::ShapeRef.new(shape: SessionCredentials, required: true, location_name: "Credentials"))
1052
+ CreateSessionOutput.struct_class = Types::CreateSessionOutput
1053
+
1054
+ CreateSessionRequest.add_member(:session_mode, Shapes::ShapeRef.new(shape: SessionMode, location: "header", location_name: "x-amz-create-session-mode"))
1055
+ CreateSessionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1056
+ CreateSessionRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
1057
+ CreateSessionRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
1058
+ CreateSessionRequest.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
1059
+ CreateSessionRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
1060
+ CreateSessionRequest.struct_class = Types::CreateSessionRequest
1061
+
848
1062
  DefaultRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
849
1063
  DefaultRetention.add_member(:days, Shapes::ShapeRef.new(shape: Days, location_name: "Days"))
850
1064
  DefaultRetention.add_member(:years, Shapes::ShapeRef.new(shape: Years, location_name: "Years"))
@@ -854,58 +1068,67 @@ module Aws::S3
854
1068
  Delete.add_member(:quiet, Shapes::ShapeRef.new(shape: Quiet, location_name: "Quiet"))
855
1069
  Delete.struct_class = Types::Delete
856
1070
 
857
- DeleteBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1071
+ DeleteBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
858
1072
  DeleteBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
859
1073
  DeleteBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
860
1074
  DeleteBucketAnalyticsConfigurationRequest.struct_class = Types::DeleteBucketAnalyticsConfigurationRequest
861
1075
 
862
- DeleteBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1076
+ DeleteBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
863
1077
  DeleteBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
864
1078
  DeleteBucketCorsRequest.struct_class = Types::DeleteBucketCorsRequest
865
1079
 
866
- DeleteBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1080
+ DeleteBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
867
1081
  DeleteBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
868
1082
  DeleteBucketEncryptionRequest.struct_class = Types::DeleteBucketEncryptionRequest
869
1083
 
870
- DeleteBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1084
+ DeleteBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
871
1085
  DeleteBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1086
+ DeleteBucketIntelligentTieringConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
872
1087
  DeleteBucketIntelligentTieringConfigurationRequest.struct_class = Types::DeleteBucketIntelligentTieringConfigurationRequest
873
1088
 
874
- DeleteBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1089
+ DeleteBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
875
1090
  DeleteBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
876
1091
  DeleteBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
877
1092
  DeleteBucketInventoryConfigurationRequest.struct_class = Types::DeleteBucketInventoryConfigurationRequest
878
1093
 
879
- DeleteBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1094
+ DeleteBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
880
1095
  DeleteBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
881
1096
  DeleteBucketLifecycleRequest.struct_class = Types::DeleteBucketLifecycleRequest
882
1097
 
883
- DeleteBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1098
+ DeleteBucketMetadataConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1099
+ DeleteBucketMetadataConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1100
+ DeleteBucketMetadataConfigurationRequest.struct_class = Types::DeleteBucketMetadataConfigurationRequest
1101
+
1102
+ DeleteBucketMetadataTableConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1103
+ DeleteBucketMetadataTableConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1104
+ DeleteBucketMetadataTableConfigurationRequest.struct_class = Types::DeleteBucketMetadataTableConfigurationRequest
1105
+
1106
+ DeleteBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
884
1107
  DeleteBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
885
1108
  DeleteBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
886
1109
  DeleteBucketMetricsConfigurationRequest.struct_class = Types::DeleteBucketMetricsConfigurationRequest
887
1110
 
888
- DeleteBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1111
+ DeleteBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
889
1112
  DeleteBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
890
1113
  DeleteBucketOwnershipControlsRequest.struct_class = Types::DeleteBucketOwnershipControlsRequest
891
1114
 
892
- DeleteBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1115
+ DeleteBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
893
1116
  DeleteBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
894
1117
  DeleteBucketPolicyRequest.struct_class = Types::DeleteBucketPolicyRequest
895
1118
 
896
- DeleteBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1119
+ DeleteBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
897
1120
  DeleteBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
898
1121
  DeleteBucketReplicationRequest.struct_class = Types::DeleteBucketReplicationRequest
899
1122
 
900
- DeleteBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1123
+ DeleteBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
901
1124
  DeleteBucketRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
902
1125
  DeleteBucketRequest.struct_class = Types::DeleteBucketRequest
903
1126
 
904
- DeleteBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1127
+ DeleteBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
905
1128
  DeleteBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
906
1129
  DeleteBucketTaggingRequest.struct_class = Types::DeleteBucketTaggingRequest
907
1130
 
908
- DeleteBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1131
+ DeleteBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
909
1132
  DeleteBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
910
1133
  DeleteBucketWebsiteRequest.struct_class = Types::DeleteBucketWebsiteRequest
911
1134
 
@@ -926,19 +1149,22 @@ module Aws::S3
926
1149
  DeleteObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
927
1150
  DeleteObjectOutput.struct_class = Types::DeleteObjectOutput
928
1151
 
929
- DeleteObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
930
- DeleteObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1152
+ DeleteObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1153
+ DeleteObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
931
1154
  DeleteObjectRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
932
1155
  DeleteObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
933
1156
  DeleteObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
934
1157
  DeleteObjectRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
935
1158
  DeleteObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1159
+ DeleteObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1160
+ DeleteObjectRequest.add_member(:if_match_last_modified_time, Shapes::ShapeRef.new(shape: IfMatchLastModifiedTime, location: "header", location_name: "x-amz-if-match-last-modified-time"))
1161
+ DeleteObjectRequest.add_member(:if_match_size, Shapes::ShapeRef.new(shape: IfMatchSize, location: "header", location_name: "x-amz-if-match-size"))
936
1162
  DeleteObjectRequest.struct_class = Types::DeleteObjectRequest
937
1163
 
938
1164
  DeleteObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
939
1165
  DeleteObjectTaggingOutput.struct_class = Types::DeleteObjectTaggingOutput
940
1166
 
941
- DeleteObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1167
+ DeleteObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
942
1168
  DeleteObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
943
1169
  DeleteObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
944
1170
  DeleteObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -949,17 +1175,18 @@ module Aws::S3
949
1175
  DeleteObjectsOutput.add_member(:errors, Shapes::ShapeRef.new(shape: Errors, location_name: "Error"))
950
1176
  DeleteObjectsOutput.struct_class = Types::DeleteObjectsOutput
951
1177
 
952
- DeleteObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
953
- 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/"}}))
1178
+ DeleteObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1179
+ 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/"}}))
954
1180
  DeleteObjectsRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
955
1181
  DeleteObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
956
1182
  DeleteObjectsRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
957
1183
  DeleteObjectsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1184
+ DeleteObjectsRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
958
1185
  DeleteObjectsRequest.struct_class = Types::DeleteObjectsRequest
959
1186
  DeleteObjectsRequest[:payload] = :delete
960
1187
  DeleteObjectsRequest[:payload_member] = DeleteObjectsRequest.member(:delete)
961
1188
 
962
- DeletePublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1189
+ DeletePublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
963
1190
  DeletePublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
964
1191
  DeletePublicAccessBlockRequest.struct_class = Types::DeletePublicAccessBlockRequest
965
1192
 
@@ -980,6 +1207,11 @@ module Aws::S3
980
1207
  Destination.add_member(:metrics, Shapes::ShapeRef.new(shape: Metrics, location_name: "Metrics"))
981
1208
  Destination.struct_class = Types::Destination
982
1209
 
1210
+ DestinationResult.add_member(:table_bucket_type, Shapes::ShapeRef.new(shape: S3TablesBucketType, location_name: "TableBucketType"))
1211
+ DestinationResult.add_member(:table_bucket_arn, Shapes::ShapeRef.new(shape: S3TablesBucketArn, location_name: "TableBucketArn"))
1212
+ DestinationResult.add_member(:table_namespace, Shapes::ShapeRef.new(shape: S3TablesNamespace, location_name: "TableNamespace"))
1213
+ DestinationResult.struct_class = Types::DestinationResult
1214
+
983
1215
  Encryption.add_member(:encryption_type, Shapes::ShapeRef.new(shape: ServerSideEncryption, required: true, location_name: "EncryptionType"))
984
1216
  Encryption.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location_name: "KMSKeyId"))
985
1217
  Encryption.add_member(:kms_context, Shapes::ShapeRef.new(shape: KMSContext, location_name: "KMSContext"))
@@ -988,6 +1220,8 @@ module Aws::S3
988
1220
  EncryptionConfiguration.add_member(:replica_kms_key_id, Shapes::ShapeRef.new(shape: ReplicaKmsKeyID, location_name: "ReplicaKmsKeyID"))
989
1221
  EncryptionConfiguration.struct_class = Types::EncryptionConfiguration
990
1222
 
1223
+ EncryptionTypeMismatch.struct_class = Types::EncryptionTypeMismatch
1224
+
991
1225
  EndEvent.struct_class = Types::EndEvent
992
1226
 
993
1227
  Error.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
@@ -996,11 +1230,17 @@ module Aws::S3
996
1230
  Error.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "Message"))
997
1231
  Error.struct_class = Types::Error
998
1232
 
1233
+ ErrorDetails.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "ErrorCode"))
1234
+ ErrorDetails.add_member(:error_message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "ErrorMessage"))
1235
+ ErrorDetails.struct_class = Types::ErrorDetails
1236
+
999
1237
  ErrorDocument.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
1000
1238
  ErrorDocument.struct_class = Types::ErrorDocument
1001
1239
 
1002
1240
  Errors.member = Shapes::ShapeRef.new(shape: Error)
1003
1241
 
1242
+ EventBridgeConfiguration.struct_class = Types::EventBridgeConfiguration
1243
+
1004
1244
  EventList.member = Shapes::ShapeRef.new(shape: Event)
1005
1245
 
1006
1246
  ExistingObjectReplication.add_member(:status, Shapes::ShapeRef.new(shape: ExistingObjectReplicationStatus, required: true, location_name: "Status"))
@@ -1015,17 +1255,19 @@ module Aws::S3
1015
1255
  FilterRuleList.member = Shapes::ShapeRef.new(shape: FilterRule)
1016
1256
 
1017
1257
  GetBucketAccelerateConfigurationOutput.add_member(:status, Shapes::ShapeRef.new(shape: BucketAccelerateStatus, location_name: "Status"))
1258
+ GetBucketAccelerateConfigurationOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1018
1259
  GetBucketAccelerateConfigurationOutput.struct_class = Types::GetBucketAccelerateConfigurationOutput
1019
1260
 
1020
- GetBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1261
+ GetBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1021
1262
  GetBucketAccelerateConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1263
+ GetBucketAccelerateConfigurationRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1022
1264
  GetBucketAccelerateConfigurationRequest.struct_class = Types::GetBucketAccelerateConfigurationRequest
1023
1265
 
1024
1266
  GetBucketAclOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1025
1267
  GetBucketAclOutput.add_member(:grants, Shapes::ShapeRef.new(shape: Grants, location_name: "AccessControlList"))
1026
1268
  GetBucketAclOutput.struct_class = Types::GetBucketAclOutput
1027
1269
 
1028
- GetBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1270
+ GetBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1029
1271
  GetBucketAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1030
1272
  GetBucketAclRequest.struct_class = Types::GetBucketAclRequest
1031
1273
 
@@ -1034,7 +1276,7 @@ module Aws::S3
1034
1276
  GetBucketAnalyticsConfigurationOutput[:payload] = :analytics_configuration
1035
1277
  GetBucketAnalyticsConfigurationOutput[:payload_member] = GetBucketAnalyticsConfigurationOutput.member(:analytics_configuration)
1036
1278
 
1037
- GetBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1279
+ GetBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1038
1280
  GetBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
1039
1281
  GetBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1040
1282
  GetBucketAnalyticsConfigurationRequest.struct_class = Types::GetBucketAnalyticsConfigurationRequest
@@ -1042,7 +1284,7 @@ module Aws::S3
1042
1284
  GetBucketCorsOutput.add_member(:cors_rules, Shapes::ShapeRef.new(shape: CORSRules, location_name: "CORSRule"))
1043
1285
  GetBucketCorsOutput.struct_class = Types::GetBucketCorsOutput
1044
1286
 
1045
- GetBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1287
+ GetBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1046
1288
  GetBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1047
1289
  GetBucketCorsRequest.struct_class = Types::GetBucketCorsRequest
1048
1290
 
@@ -1051,7 +1293,7 @@ module Aws::S3
1051
1293
  GetBucketEncryptionOutput[:payload] = :server_side_encryption_configuration
1052
1294
  GetBucketEncryptionOutput[:payload_member] = GetBucketEncryptionOutput.member(:server_side_encryption_configuration)
1053
1295
 
1054
- GetBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1296
+ GetBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1055
1297
  GetBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1056
1298
  GetBucketEncryptionRequest.struct_class = Types::GetBucketEncryptionRequest
1057
1299
 
@@ -1060,8 +1302,9 @@ module Aws::S3
1060
1302
  GetBucketIntelligentTieringConfigurationOutput[:payload] = :intelligent_tiering_configuration
1061
1303
  GetBucketIntelligentTieringConfigurationOutput[:payload_member] = GetBucketIntelligentTieringConfigurationOutput.member(:intelligent_tiering_configuration)
1062
1304
 
1063
- GetBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1305
+ GetBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1064
1306
  GetBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1307
+ GetBucketIntelligentTieringConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1065
1308
  GetBucketIntelligentTieringConfigurationRequest.struct_class = Types::GetBucketIntelligentTieringConfigurationRequest
1066
1309
 
1067
1310
  GetBucketInventoryConfigurationOutput.add_member(:inventory_configuration, Shapes::ShapeRef.new(shape: InventoryConfiguration, location_name: "InventoryConfiguration"))
@@ -1069,50 +1312,77 @@ module Aws::S3
1069
1312
  GetBucketInventoryConfigurationOutput[:payload] = :inventory_configuration
1070
1313
  GetBucketInventoryConfigurationOutput[:payload_member] = GetBucketInventoryConfigurationOutput.member(:inventory_configuration)
1071
1314
 
1072
- GetBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1315
+ GetBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1073
1316
  GetBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
1074
1317
  GetBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1075
1318
  GetBucketInventoryConfigurationRequest.struct_class = Types::GetBucketInventoryConfigurationRequest
1076
1319
 
1077
1320
  GetBucketLifecycleConfigurationOutput.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, location_name: "Rule"))
1321
+ GetBucketLifecycleConfigurationOutput.add_member(:transition_default_minimum_object_size, Shapes::ShapeRef.new(shape: TransitionDefaultMinimumObjectSize, location: "header", location_name: "x-amz-transition-default-minimum-object-size"))
1078
1322
  GetBucketLifecycleConfigurationOutput.struct_class = Types::GetBucketLifecycleConfigurationOutput
1079
1323
 
1080
- GetBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1324
+ GetBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1081
1325
  GetBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1082
1326
  GetBucketLifecycleConfigurationRequest.struct_class = Types::GetBucketLifecycleConfigurationRequest
1083
1327
 
1084
1328
  GetBucketLifecycleOutput.add_member(:rules, Shapes::ShapeRef.new(shape: Rules, location_name: "Rule"))
1085
1329
  GetBucketLifecycleOutput.struct_class = Types::GetBucketLifecycleOutput
1086
1330
 
1087
- GetBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1331
+ GetBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1088
1332
  GetBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1089
1333
  GetBucketLifecycleRequest.struct_class = Types::GetBucketLifecycleRequest
1090
1334
 
1091
1335
  GetBucketLocationOutput.add_member(:location_constraint, Shapes::ShapeRef.new(shape: BucketLocationConstraint, location_name: "LocationConstraint"))
1092
1336
  GetBucketLocationOutput.struct_class = Types::GetBucketLocationOutput
1093
1337
 
1094
- GetBucketLocationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1338
+ GetBucketLocationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1095
1339
  GetBucketLocationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1096
1340
  GetBucketLocationRequest.struct_class = Types::GetBucketLocationRequest
1097
1341
 
1098
1342
  GetBucketLoggingOutput.add_member(:logging_enabled, Shapes::ShapeRef.new(shape: LoggingEnabled, location_name: "LoggingEnabled"))
1099
1343
  GetBucketLoggingOutput.struct_class = Types::GetBucketLoggingOutput
1100
1344
 
1101
- GetBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1345
+ GetBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1102
1346
  GetBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1103
1347
  GetBucketLoggingRequest.struct_class = Types::GetBucketLoggingRequest
1104
1348
 
1349
+ GetBucketMetadataConfigurationOutput.add_member(:get_bucket_metadata_configuration_result, Shapes::ShapeRef.new(shape: GetBucketMetadataConfigurationResult, location_name: "GetBucketMetadataConfigurationResult"))
1350
+ GetBucketMetadataConfigurationOutput.struct_class = Types::GetBucketMetadataConfigurationOutput
1351
+ GetBucketMetadataConfigurationOutput[:payload] = :get_bucket_metadata_configuration_result
1352
+ GetBucketMetadataConfigurationOutput[:payload_member] = GetBucketMetadataConfigurationOutput.member(:get_bucket_metadata_configuration_result)
1353
+
1354
+ GetBucketMetadataConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1355
+ GetBucketMetadataConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1356
+ GetBucketMetadataConfigurationRequest.struct_class = Types::GetBucketMetadataConfigurationRequest
1357
+
1358
+ GetBucketMetadataConfigurationResult.add_member(:metadata_configuration_result, Shapes::ShapeRef.new(shape: MetadataConfigurationResult, required: true, location_name: "MetadataConfigurationResult"))
1359
+ GetBucketMetadataConfigurationResult.struct_class = Types::GetBucketMetadataConfigurationResult
1360
+
1361
+ GetBucketMetadataTableConfigurationOutput.add_member(:get_bucket_metadata_table_configuration_result, Shapes::ShapeRef.new(shape: GetBucketMetadataTableConfigurationResult, location_name: "GetBucketMetadataTableConfigurationResult"))
1362
+ GetBucketMetadataTableConfigurationOutput.struct_class = Types::GetBucketMetadataTableConfigurationOutput
1363
+ GetBucketMetadataTableConfigurationOutput[:payload] = :get_bucket_metadata_table_configuration_result
1364
+ GetBucketMetadataTableConfigurationOutput[:payload_member] = GetBucketMetadataTableConfigurationOutput.member(:get_bucket_metadata_table_configuration_result)
1365
+
1366
+ GetBucketMetadataTableConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1367
+ GetBucketMetadataTableConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1368
+ GetBucketMetadataTableConfigurationRequest.struct_class = Types::GetBucketMetadataTableConfigurationRequest
1369
+
1370
+ GetBucketMetadataTableConfigurationResult.add_member(:metadata_table_configuration_result, Shapes::ShapeRef.new(shape: MetadataTableConfigurationResult, required: true, location_name: "MetadataTableConfigurationResult"))
1371
+ GetBucketMetadataTableConfigurationResult.add_member(:status, Shapes::ShapeRef.new(shape: MetadataTableStatus, required: true, location_name: "Status"))
1372
+ GetBucketMetadataTableConfigurationResult.add_member(:error, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "Error"))
1373
+ GetBucketMetadataTableConfigurationResult.struct_class = Types::GetBucketMetadataTableConfigurationResult
1374
+
1105
1375
  GetBucketMetricsConfigurationOutput.add_member(:metrics_configuration, Shapes::ShapeRef.new(shape: MetricsConfiguration, location_name: "MetricsConfiguration"))
1106
1376
  GetBucketMetricsConfigurationOutput.struct_class = Types::GetBucketMetricsConfigurationOutput
1107
1377
  GetBucketMetricsConfigurationOutput[:payload] = :metrics_configuration
1108
1378
  GetBucketMetricsConfigurationOutput[:payload_member] = GetBucketMetricsConfigurationOutput.member(:metrics_configuration)
1109
1379
 
1110
- GetBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1380
+ GetBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1111
1381
  GetBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
1112
1382
  GetBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1113
1383
  GetBucketMetricsConfigurationRequest.struct_class = Types::GetBucketMetricsConfigurationRequest
1114
1384
 
1115
- GetBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1385
+ GetBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1116
1386
  GetBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1117
1387
  GetBucketNotificationConfigurationRequest.struct_class = Types::GetBucketNotificationConfigurationRequest
1118
1388
 
@@ -1121,7 +1391,7 @@ module Aws::S3
1121
1391
  GetBucketOwnershipControlsOutput[:payload] = :ownership_controls
1122
1392
  GetBucketOwnershipControlsOutput[:payload_member] = GetBucketOwnershipControlsOutput.member(:ownership_controls)
1123
1393
 
1124
- GetBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1394
+ GetBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1125
1395
  GetBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1126
1396
  GetBucketOwnershipControlsRequest.struct_class = Types::GetBucketOwnershipControlsRequest
1127
1397
 
@@ -1130,7 +1400,7 @@ module Aws::S3
1130
1400
  GetBucketPolicyOutput[:payload] = :policy
1131
1401
  GetBucketPolicyOutput[:payload_member] = GetBucketPolicyOutput.member(:policy)
1132
1402
 
1133
- GetBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1403
+ GetBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1134
1404
  GetBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1135
1405
  GetBucketPolicyRequest.struct_class = Types::GetBucketPolicyRequest
1136
1406
 
@@ -1139,7 +1409,7 @@ module Aws::S3
1139
1409
  GetBucketPolicyStatusOutput[:payload] = :policy_status
1140
1410
  GetBucketPolicyStatusOutput[:payload_member] = GetBucketPolicyStatusOutput.member(:policy_status)
1141
1411
 
1142
- GetBucketPolicyStatusRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1412
+ GetBucketPolicyStatusRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1143
1413
  GetBucketPolicyStatusRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1144
1414
  GetBucketPolicyStatusRequest.struct_class = Types::GetBucketPolicyStatusRequest
1145
1415
 
@@ -1148,21 +1418,21 @@ module Aws::S3
1148
1418
  GetBucketReplicationOutput[:payload] = :replication_configuration
1149
1419
  GetBucketReplicationOutput[:payload_member] = GetBucketReplicationOutput.member(:replication_configuration)
1150
1420
 
1151
- GetBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1421
+ GetBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1152
1422
  GetBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1153
1423
  GetBucketReplicationRequest.struct_class = Types::GetBucketReplicationRequest
1154
1424
 
1155
1425
  GetBucketRequestPaymentOutput.add_member(:payer, Shapes::ShapeRef.new(shape: Payer, location_name: "Payer"))
1156
1426
  GetBucketRequestPaymentOutput.struct_class = Types::GetBucketRequestPaymentOutput
1157
1427
 
1158
- GetBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1428
+ GetBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1159
1429
  GetBucketRequestPaymentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1160
1430
  GetBucketRequestPaymentRequest.struct_class = Types::GetBucketRequestPaymentRequest
1161
1431
 
1162
1432
  GetBucketTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
1163
1433
  GetBucketTaggingOutput.struct_class = Types::GetBucketTaggingOutput
1164
1434
 
1165
- GetBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1435
+ GetBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1166
1436
  GetBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1167
1437
  GetBucketTaggingRequest.struct_class = Types::GetBucketTaggingRequest
1168
1438
 
@@ -1170,7 +1440,7 @@ module Aws::S3
1170
1440
  GetBucketVersioningOutput.add_member(:mfa_delete, Shapes::ShapeRef.new(shape: MFADeleteStatus, location_name: "MfaDelete"))
1171
1441
  GetBucketVersioningOutput.struct_class = Types::GetBucketVersioningOutput
1172
1442
 
1173
- GetBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1443
+ GetBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1174
1444
  GetBucketVersioningRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1175
1445
  GetBucketVersioningRequest.struct_class = Types::GetBucketVersioningRequest
1176
1446
 
@@ -1180,7 +1450,7 @@ module Aws::S3
1180
1450
  GetBucketWebsiteOutput.add_member(:routing_rules, Shapes::ShapeRef.new(shape: RoutingRules, location_name: "RoutingRules"))
1181
1451
  GetBucketWebsiteOutput.struct_class = Types::GetBucketWebsiteOutput
1182
1452
 
1183
- GetBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1453
+ GetBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1184
1454
  GetBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1185
1455
  GetBucketWebsiteRequest.struct_class = Types::GetBucketWebsiteRequest
1186
1456
 
@@ -1189,19 +1459,51 @@ module Aws::S3
1189
1459
  GetObjectAclOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1190
1460
  GetObjectAclOutput.struct_class = Types::GetObjectAclOutput
1191
1461
 
1192
- GetObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1193
- GetObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1462
+ GetObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1463
+ GetObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
1194
1464
  GetObjectAclRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1195
1465
  GetObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1196
1466
  GetObjectAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1197
1467
  GetObjectAclRequest.struct_class = Types::GetObjectAclRequest
1198
1468
 
1469
+ GetObjectAttributesOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
1470
+ GetObjectAttributesOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1471
+ GetObjectAttributesOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1472
+ GetObjectAttributesOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1473
+ GetObjectAttributesOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1474
+ GetObjectAttributesOutput.add_member(:checksum, Shapes::ShapeRef.new(shape: Checksum, location_name: "Checksum"))
1475
+ GetObjectAttributesOutput.add_member(:object_parts, Shapes::ShapeRef.new(shape: GetObjectAttributesParts, location_name: "ObjectParts"))
1476
+ GetObjectAttributesOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1477
+ GetObjectAttributesOutput.add_member(:object_size, Shapes::ShapeRef.new(shape: ObjectSize, location_name: "ObjectSize"))
1478
+ GetObjectAttributesOutput.struct_class = Types::GetObjectAttributesOutput
1479
+
1480
+ GetObjectAttributesParts.add_member(:total_parts_count, Shapes::ShapeRef.new(shape: PartsCount, location_name: "PartsCount"))
1481
+ GetObjectAttributesParts.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location_name: "PartNumberMarker"))
1482
+ GetObjectAttributesParts.add_member(:next_part_number_marker, Shapes::ShapeRef.new(shape: NextPartNumberMarker, location_name: "NextPartNumberMarker"))
1483
+ GetObjectAttributesParts.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location_name: "MaxParts"))
1484
+ GetObjectAttributesParts.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
1485
+ GetObjectAttributesParts.add_member(:parts, Shapes::ShapeRef.new(shape: PartsList, location_name: "Part"))
1486
+ GetObjectAttributesParts.struct_class = Types::GetObjectAttributesParts
1487
+
1488
+ GetObjectAttributesRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1489
+ GetObjectAttributesRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1490
+ GetObjectAttributesRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1491
+ GetObjectAttributesRequest.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location: "header", location_name: "x-amz-max-parts"))
1492
+ GetObjectAttributesRequest.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location: "header", location_name: "x-amz-part-number-marker"))
1493
+ GetObjectAttributesRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1494
+ GetObjectAttributesRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1495
+ GetObjectAttributesRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1496
+ GetObjectAttributesRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1497
+ GetObjectAttributesRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1498
+ GetObjectAttributesRequest.add_member(:object_attributes, Shapes::ShapeRef.new(shape: ObjectAttributesList, required: true, location: "header", location_name: "x-amz-object-attributes"))
1499
+ GetObjectAttributesRequest.struct_class = Types::GetObjectAttributesRequest
1500
+
1199
1501
  GetObjectLegalHoldOutput.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold"))
1200
1502
  GetObjectLegalHoldOutput.struct_class = Types::GetObjectLegalHoldOutput
1201
1503
  GetObjectLegalHoldOutput[:payload] = :legal_hold
1202
1504
  GetObjectLegalHoldOutput[:payload_member] = GetObjectLegalHoldOutput.member(:legal_hold)
1203
1505
 
1204
- GetObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1506
+ GetObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1205
1507
  GetObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1206
1508
  GetObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1207
1509
  GetObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -1213,11 +1515,11 @@ module Aws::S3
1213
1515
  GetObjectLockConfigurationOutput[:payload] = :object_lock_configuration
1214
1516
  GetObjectLockConfigurationOutput[:payload_member] = GetObjectLockConfigurationOutput.member(:object_lock_configuration)
1215
1517
 
1216
- GetObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1518
+ GetObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1217
1519
  GetObjectLockConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1218
1520
  GetObjectLockConfigurationRequest.struct_class = Types::GetObjectLockConfigurationRequest
1219
1521
 
1220
- GetObjectOutput.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
1522
+ GetObjectOutput.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming" => true}))
1221
1523
  GetObjectOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
1222
1524
  GetObjectOutput.add_member(:accept_ranges, Shapes::ShapeRef.new(shape: AcceptRanges, location: "header", location_name: "accept-ranges"))
1223
1525
  GetObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
@@ -1225,6 +1527,12 @@ module Aws::S3
1225
1527
  GetObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1226
1528
  GetObjectOutput.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1227
1529
  GetObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1530
+ GetObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
1531
+ GetObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
1532
+ GetObjectOutput.add_member(:checksum_crc64nvme, Shapes::ShapeRef.new(shape: ChecksumCRC64NVME, location: "header", location_name: "x-amz-checksum-crc64nvme"))
1533
+ GetObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
1534
+ GetObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1535
+ GetObjectOutput.add_member(:checksum_type, Shapes::ShapeRef.new(shape: ChecksumType, location: "header", location_name: "x-amz-checksum-type"))
1228
1536
  GetObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
1229
1537
  GetObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1230
1538
  GetObjectOutput.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
@@ -1254,12 +1562,12 @@ module Aws::S3
1254
1562
  GetObjectOutput[:payload] = :body
1255
1563
  GetObjectOutput[:payload_member] = GetObjectOutput.member(:body)
1256
1564
 
1257
- GetObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1565
+ GetObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1258
1566
  GetObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1259
1567
  GetObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1260
1568
  GetObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
1261
1569
  GetObjectRequest.add_member(:if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
1262
- GetObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1570
+ GetObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
1263
1571
  GetObjectRequest.add_member(:range, Shapes::ShapeRef.new(shape: Range, location: "header", location_name: "Range"))
1264
1572
  GetObjectRequest.add_member(:response_cache_control, Shapes::ShapeRef.new(shape: ResponseCacheControl, location: "querystring", location_name: "response-cache-control"))
1265
1573
  GetObjectRequest.add_member(:response_content_disposition, Shapes::ShapeRef.new(shape: ResponseContentDisposition, location: "querystring", location_name: "response-content-disposition"))
@@ -1274,6 +1582,7 @@ module Aws::S3
1274
1582
  GetObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1275
1583
  GetObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1276
1584
  GetObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1585
+ GetObjectRequest.add_member(:checksum_mode, Shapes::ShapeRef.new(shape: ChecksumMode, location: "header", location_name: "x-amz-checksum-mode"))
1277
1586
  GetObjectRequest.struct_class = Types::GetObjectRequest
1278
1587
 
1279
1588
  GetObjectRetentionOutput.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention"))
@@ -1281,7 +1590,7 @@ module Aws::S3
1281
1590
  GetObjectRetentionOutput[:payload] = :retention
1282
1591
  GetObjectRetentionOutput[:payload_member] = GetObjectRetentionOutput.member(:retention)
1283
1592
 
1284
- GetObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1593
+ GetObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1285
1594
  GetObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1286
1595
  GetObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1287
1596
  GetObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -1292,20 +1601,20 @@ module Aws::S3
1292
1601
  GetObjectTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
1293
1602
  GetObjectTaggingOutput.struct_class = Types::GetObjectTaggingOutput
1294
1603
 
1295
- GetObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1604
+ GetObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1296
1605
  GetObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1297
1606
  GetObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1298
1607
  GetObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1299
1608
  GetObjectTaggingRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1300
1609
  GetObjectTaggingRequest.struct_class = Types::GetObjectTaggingRequest
1301
1610
 
1302
- GetObjectTorrentOutput.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
1611
+ GetObjectTorrentOutput.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming" => true}))
1303
1612
  GetObjectTorrentOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1304
1613
  GetObjectTorrentOutput.struct_class = Types::GetObjectTorrentOutput
1305
1614
  GetObjectTorrentOutput[:payload] = :body
1306
1615
  GetObjectTorrentOutput[:payload_member] = GetObjectTorrentOutput.member(:body)
1307
1616
 
1308
- GetObjectTorrentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1617
+ GetObjectTorrentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1309
1618
  GetObjectTorrentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1310
1619
  GetObjectTorrentRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1311
1620
  GetObjectTorrentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1316,7 +1625,7 @@ module Aws::S3
1316
1625
  GetPublicAccessBlockOutput[:payload] = :public_access_block_configuration
1317
1626
  GetPublicAccessBlockOutput[:payload_member] = GetPublicAccessBlockOutput.member(:public_access_block_configuration)
1318
1627
 
1319
- GetPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1628
+ GetPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1320
1629
  GetPublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1321
1630
  GetPublicAccessBlockRequest.struct_class = Types::GetPublicAccessBlockRequest
1322
1631
 
@@ -1330,13 +1639,20 @@ module Aws::S3
1330
1639
  Grantee.add_member(:display_name, Shapes::ShapeRef.new(shape: DisplayName, location_name: "DisplayName"))
1331
1640
  Grantee.add_member(:email_address, Shapes::ShapeRef.new(shape: EmailAddress, location_name: "EmailAddress"))
1332
1641
  Grantee.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
1333
- Grantee.add_member(:type, Shapes::ShapeRef.new(shape: Type, required: true, location_name: "xsi:type", metadata: {"xmlAttribute"=>true}))
1642
+ Grantee.add_member(:type, Shapes::ShapeRef.new(shape: Type, required: true, location_name: "xsi:type", metadata: {"xmlAttribute" => true}))
1334
1643
  Grantee.add_member(:uri, Shapes::ShapeRef.new(shape: URI, location_name: "URI"))
1335
1644
  Grantee.struct_class = Types::Grantee
1336
1645
 
1337
1646
  Grants.member = Shapes::ShapeRef.new(shape: Grant, location_name: "Grant")
1338
1647
 
1339
- HeadBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1648
+ HeadBucketOutput.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: S3RegionalOrS3ExpressBucketArnString, location: "header", location_name: "x-amz-bucket-arn"))
1649
+ HeadBucketOutput.add_member(:bucket_location_type, Shapes::ShapeRef.new(shape: LocationType, location: "header", location_name: "x-amz-bucket-location-type"))
1650
+ HeadBucketOutput.add_member(:bucket_location_name, Shapes::ShapeRef.new(shape: BucketLocationName, location: "header", location_name: "x-amz-bucket-location-name"))
1651
+ HeadBucketOutput.add_member(:bucket_region, Shapes::ShapeRef.new(shape: Region, location: "header", location_name: "x-amz-bucket-region"))
1652
+ HeadBucketOutput.add_member(:access_point_alias, Shapes::ShapeRef.new(shape: AccessPointAlias, location: "header", location_name: "x-amz-access-point-alias"))
1653
+ HeadBucketOutput.struct_class = Types::HeadBucketOutput
1654
+
1655
+ HeadBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1340
1656
  HeadBucketRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1341
1657
  HeadBucketRequest.struct_class = Types::HeadBucketRequest
1342
1658
 
@@ -1347,6 +1663,12 @@ module Aws::S3
1347
1663
  HeadObjectOutput.add_member(:archive_status, Shapes::ShapeRef.new(shape: ArchiveStatus, location: "header", location_name: "x-amz-archive-status"))
1348
1664
  HeadObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1349
1665
  HeadObjectOutput.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1666
+ HeadObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
1667
+ HeadObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
1668
+ HeadObjectOutput.add_member(:checksum_crc64nvme, Shapes::ShapeRef.new(shape: ChecksumCRC64NVME, location: "header", location_name: "x-amz-checksum-crc64nvme"))
1669
+ HeadObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
1670
+ HeadObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1671
+ HeadObjectOutput.add_member(:checksum_type, Shapes::ShapeRef.new(shape: ChecksumType, location: "header", location_name: "x-amz-checksum-type"))
1350
1672
  HeadObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1351
1673
  HeadObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
1352
1674
  HeadObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
@@ -1355,6 +1677,7 @@ module Aws::S3
1355
1677
  HeadObjectOutput.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
1356
1678
  HeadObjectOutput.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "Content-Language"))
1357
1679
  HeadObjectOutput.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
1680
+ HeadObjectOutput.add_member(:content_range, Shapes::ShapeRef.new(shape: ContentRange, location: "header", location_name: "Content-Range"))
1358
1681
  HeadObjectOutput.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "Expires"))
1359
1682
  HeadObjectOutput.add_member(:expires_string, Shapes::ShapeRef.new(shape: ExpiresString, location: "header", location_name: "Expires"))
1360
1683
  HeadObjectOutput.add_member(:website_redirect_location, Shapes::ShapeRef.new(shape: WebsiteRedirectLocation, location: "header", location_name: "x-amz-website-redirect-location"))
@@ -1368,18 +1691,25 @@ module Aws::S3
1368
1691
  HeadObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1369
1692
  HeadObjectOutput.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-replication-status"))
1370
1693
  HeadObjectOutput.add_member(:parts_count, Shapes::ShapeRef.new(shape: PartsCount, location: "header", location_name: "x-amz-mp-parts-count"))
1694
+ HeadObjectOutput.add_member(:tag_count, Shapes::ShapeRef.new(shape: TagCount, location: "header", location_name: "x-amz-tagging-count"))
1371
1695
  HeadObjectOutput.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
1372
1696
  HeadObjectOutput.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
1373
1697
  HeadObjectOutput.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
1374
1698
  HeadObjectOutput.struct_class = Types::HeadObjectOutput
1375
1699
 
1376
- HeadObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1700
+ HeadObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1377
1701
  HeadObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1378
1702
  HeadObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1379
1703
  HeadObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
1380
1704
  HeadObjectRequest.add_member(:if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
1381
- HeadObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1705
+ HeadObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
1382
1706
  HeadObjectRequest.add_member(:range, Shapes::ShapeRef.new(shape: Range, location: "header", location_name: "Range"))
1707
+ HeadObjectRequest.add_member(:response_cache_control, Shapes::ShapeRef.new(shape: ResponseCacheControl, location: "querystring", location_name: "response-cache-control"))
1708
+ HeadObjectRequest.add_member(:response_content_disposition, Shapes::ShapeRef.new(shape: ResponseContentDisposition, location: "querystring", location_name: "response-content-disposition"))
1709
+ HeadObjectRequest.add_member(:response_content_encoding, Shapes::ShapeRef.new(shape: ResponseContentEncoding, location: "querystring", location_name: "response-content-encoding"))
1710
+ HeadObjectRequest.add_member(:response_content_language, Shapes::ShapeRef.new(shape: ResponseContentLanguage, location: "querystring", location_name: "response-content-language"))
1711
+ HeadObjectRequest.add_member(:response_content_type, Shapes::ShapeRef.new(shape: ResponseContentType, location: "querystring", location_name: "response-content-type"))
1712
+ HeadObjectRequest.add_member(:response_expires, Shapes::ShapeRef.new(shape: ResponseExpires, location: "querystring", location_name: "response-expires"))
1383
1713
  HeadObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1384
1714
  HeadObjectRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1385
1715
  HeadObjectRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
@@ -1387,8 +1717,11 @@ module Aws::S3
1387
1717
  HeadObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1388
1718
  HeadObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1389
1719
  HeadObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1720
+ HeadObjectRequest.add_member(:checksum_mode, Shapes::ShapeRef.new(shape: ChecksumMode, location: "header", location_name: "x-amz-checksum-mode"))
1390
1721
  HeadObjectRequest.struct_class = Types::HeadObjectRequest
1391
1722
 
1723
+ IdempotencyParameterMismatch.struct_class = Types::IdempotencyParameterMismatch
1724
+
1392
1725
  IndexDocument.add_member(:suffix, Shapes::ShapeRef.new(shape: Suffix, required: true, location_name: "Suffix"))
1393
1726
  IndexDocument.struct_class = Types::IndexDocument
1394
1727
 
@@ -1403,7 +1736,7 @@ module Aws::S3
1403
1736
  InputSerialization.struct_class = Types::InputSerialization
1404
1737
 
1405
1738
  IntelligentTieringAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1406
- IntelligentTieringAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
1739
+ IntelligentTieringAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened" => true}))
1407
1740
  IntelligentTieringAndOperator.struct_class = Types::IntelligentTieringAndOperator
1408
1741
 
1409
1742
  IntelligentTieringConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location_name: "Id"))
@@ -1423,6 +1756,10 @@ module Aws::S3
1423
1756
  InvalidObjectState.add_member(:access_tier, Shapes::ShapeRef.new(shape: IntelligentTieringAccessTier, location_name: "AccessTier"))
1424
1757
  InvalidObjectState.struct_class = Types::InvalidObjectState
1425
1758
 
1759
+ InvalidRequest.struct_class = Types::InvalidRequest
1760
+
1761
+ InvalidWriteOffset.struct_class = Types::InvalidWriteOffset
1762
+
1426
1763
  InventoryConfiguration.add_member(:destination, Shapes::ShapeRef.new(shape: InventoryDestination, required: true, location_name: "Destination"))
1427
1764
  InventoryConfiguration.add_member(:is_enabled, Shapes::ShapeRef.new(shape: IsEnabled, required: true, location_name: "IsEnabled"))
1428
1765
  InventoryConfiguration.add_member(:filter, Shapes::ShapeRef.new(shape: InventoryFilter, location_name: "Filter"))
@@ -1456,12 +1793,41 @@ module Aws::S3
1456
1793
  InventorySchedule.add_member(:frequency, Shapes::ShapeRef.new(shape: InventoryFrequency, required: true, location_name: "Frequency"))
1457
1794
  InventorySchedule.struct_class = Types::InventorySchedule
1458
1795
 
1796
+ InventoryTableConfiguration.add_member(:configuration_state, Shapes::ShapeRef.new(shape: InventoryConfigurationState, required: true, location_name: "ConfigurationState"))
1797
+ InventoryTableConfiguration.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: MetadataTableEncryptionConfiguration, location_name: "EncryptionConfiguration"))
1798
+ InventoryTableConfiguration.struct_class = Types::InventoryTableConfiguration
1799
+
1800
+ InventoryTableConfigurationResult.add_member(:configuration_state, Shapes::ShapeRef.new(shape: InventoryConfigurationState, required: true, location_name: "ConfigurationState"))
1801
+ InventoryTableConfigurationResult.add_member(:table_status, Shapes::ShapeRef.new(shape: MetadataTableStatus, location_name: "TableStatus"))
1802
+ InventoryTableConfigurationResult.add_member(:error, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "Error"))
1803
+ InventoryTableConfigurationResult.add_member(:table_name, Shapes::ShapeRef.new(shape: S3TablesName, location_name: "TableName"))
1804
+ InventoryTableConfigurationResult.add_member(:table_arn, Shapes::ShapeRef.new(shape: S3TablesArn, location_name: "TableArn"))
1805
+ InventoryTableConfigurationResult.struct_class = Types::InventoryTableConfigurationResult
1806
+
1807
+ InventoryTableConfigurationUpdates.add_member(:configuration_state, Shapes::ShapeRef.new(shape: InventoryConfigurationState, required: true, location_name: "ConfigurationState"))
1808
+ InventoryTableConfigurationUpdates.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: MetadataTableEncryptionConfiguration, location_name: "EncryptionConfiguration"))
1809
+ InventoryTableConfigurationUpdates.struct_class = Types::InventoryTableConfigurationUpdates
1810
+
1459
1811
  JSONInput.add_member(:type, Shapes::ShapeRef.new(shape: JSONType, location_name: "Type"))
1460
1812
  JSONInput.struct_class = Types::JSONInput
1461
1813
 
1462
1814
  JSONOutput.add_member(:record_delimiter, Shapes::ShapeRef.new(shape: RecordDelimiter, location_name: "RecordDelimiter"))
1463
1815
  JSONOutput.struct_class = Types::JSONOutput
1464
1816
 
1817
+ JournalTableConfiguration.add_member(:record_expiration, Shapes::ShapeRef.new(shape: RecordExpiration, required: true, location_name: "RecordExpiration"))
1818
+ JournalTableConfiguration.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: MetadataTableEncryptionConfiguration, location_name: "EncryptionConfiguration"))
1819
+ JournalTableConfiguration.struct_class = Types::JournalTableConfiguration
1820
+
1821
+ JournalTableConfigurationResult.add_member(:table_status, Shapes::ShapeRef.new(shape: MetadataTableStatus, required: true, location_name: "TableStatus"))
1822
+ JournalTableConfigurationResult.add_member(:error, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "Error"))
1823
+ JournalTableConfigurationResult.add_member(:table_name, Shapes::ShapeRef.new(shape: S3TablesName, required: true, location_name: "TableName"))
1824
+ JournalTableConfigurationResult.add_member(:table_arn, Shapes::ShapeRef.new(shape: S3TablesArn, location_name: "TableArn"))
1825
+ JournalTableConfigurationResult.add_member(:record_expiration, Shapes::ShapeRef.new(shape: RecordExpiration, required: true, location_name: "RecordExpiration"))
1826
+ JournalTableConfigurationResult.struct_class = Types::JournalTableConfigurationResult
1827
+
1828
+ JournalTableConfigurationUpdates.add_member(:record_expiration, Shapes::ShapeRef.new(shape: RecordExpiration, required: true, location_name: "RecordExpiration"))
1829
+ JournalTableConfigurationUpdates.struct_class = Types::JournalTableConfigurationUpdates
1830
+
1465
1831
  LambdaFunctionConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
1466
1832
  LambdaFunctionConfiguration.add_member(:lambda_function_arn, Shapes::ShapeRef.new(shape: LambdaFunctionArn, required: true, location_name: "CloudFunction"))
1467
1833
  LambdaFunctionConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, required: true, location_name: "Event"))
@@ -1490,11 +1856,15 @@ module Aws::S3
1490
1856
  LifecycleRule.struct_class = Types::LifecycleRule
1491
1857
 
1492
1858
  LifecycleRuleAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1493
- LifecycleRuleAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
1859
+ LifecycleRuleAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened" => true}))
1860
+ LifecycleRuleAndOperator.add_member(:object_size_greater_than, Shapes::ShapeRef.new(shape: ObjectSizeGreaterThanBytes, location_name: "ObjectSizeGreaterThan"))
1861
+ LifecycleRuleAndOperator.add_member(:object_size_less_than, Shapes::ShapeRef.new(shape: ObjectSizeLessThanBytes, location_name: "ObjectSizeLessThan"))
1494
1862
  LifecycleRuleAndOperator.struct_class = Types::LifecycleRuleAndOperator
1495
1863
 
1496
1864
  LifecycleRuleFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1497
1865
  LifecycleRuleFilter.add_member(:tag, Shapes::ShapeRef.new(shape: Tag, location_name: "Tag"))
1866
+ LifecycleRuleFilter.add_member(:object_size_greater_than, Shapes::ShapeRef.new(shape: ObjectSizeGreaterThanBytes, location_name: "ObjectSizeGreaterThan"))
1867
+ LifecycleRuleFilter.add_member(:object_size_less_than, Shapes::ShapeRef.new(shape: ObjectSizeLessThanBytes, location_name: "ObjectSizeLessThan"))
1498
1868
  LifecycleRuleFilter.add_member(:and, Shapes::ShapeRef.new(shape: LifecycleRuleAndOperator, location_name: "And"))
1499
1869
  LifecycleRuleFilter.struct_class = Types::LifecycleRuleFilter
1500
1870
 
@@ -1506,7 +1876,7 @@ module Aws::S3
1506
1876
  ListBucketAnalyticsConfigurationsOutput.add_member(:analytics_configuration_list, Shapes::ShapeRef.new(shape: AnalyticsConfigurationList, location_name: "AnalyticsConfiguration"))
1507
1877
  ListBucketAnalyticsConfigurationsOutput.struct_class = Types::ListBucketAnalyticsConfigurationsOutput
1508
1878
 
1509
- ListBucketAnalyticsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1879
+ ListBucketAnalyticsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1510
1880
  ListBucketAnalyticsConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1511
1881
  ListBucketAnalyticsConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1512
1882
  ListBucketAnalyticsConfigurationsRequest.struct_class = Types::ListBucketAnalyticsConfigurationsRequest
@@ -1517,8 +1887,9 @@ module Aws::S3
1517
1887
  ListBucketIntelligentTieringConfigurationsOutput.add_member(:intelligent_tiering_configuration_list, Shapes::ShapeRef.new(shape: IntelligentTieringConfigurationList, location_name: "IntelligentTieringConfiguration"))
1518
1888
  ListBucketIntelligentTieringConfigurationsOutput.struct_class = Types::ListBucketIntelligentTieringConfigurationsOutput
1519
1889
 
1520
- ListBucketIntelligentTieringConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1890
+ ListBucketIntelligentTieringConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1521
1891
  ListBucketIntelligentTieringConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1892
+ ListBucketIntelligentTieringConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1522
1893
  ListBucketIntelligentTieringConfigurationsRequest.struct_class = Types::ListBucketIntelligentTieringConfigurationsRequest
1523
1894
 
1524
1895
  ListBucketInventoryConfigurationsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location_name: "ContinuationToken"))
@@ -1527,7 +1898,7 @@ module Aws::S3
1527
1898
  ListBucketInventoryConfigurationsOutput.add_member(:next_continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextContinuationToken"))
1528
1899
  ListBucketInventoryConfigurationsOutput.struct_class = Types::ListBucketInventoryConfigurationsOutput
1529
1900
 
1530
- ListBucketInventoryConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1901
+ ListBucketInventoryConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1531
1902
  ListBucketInventoryConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1532
1903
  ListBucketInventoryConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1533
1904
  ListBucketInventoryConfigurationsRequest.struct_class = Types::ListBucketInventoryConfigurationsRequest
@@ -1538,15 +1909,31 @@ module Aws::S3
1538
1909
  ListBucketMetricsConfigurationsOutput.add_member(:metrics_configuration_list, Shapes::ShapeRef.new(shape: MetricsConfigurationList, location_name: "MetricsConfiguration"))
1539
1910
  ListBucketMetricsConfigurationsOutput.struct_class = Types::ListBucketMetricsConfigurationsOutput
1540
1911
 
1541
- ListBucketMetricsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1912
+ ListBucketMetricsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1542
1913
  ListBucketMetricsConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1543
1914
  ListBucketMetricsConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1544
1915
  ListBucketMetricsConfigurationsRequest.struct_class = Types::ListBucketMetricsConfigurationsRequest
1545
1916
 
1546
1917
  ListBucketsOutput.add_member(:buckets, Shapes::ShapeRef.new(shape: Buckets, location_name: "Buckets"))
1547
1918
  ListBucketsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1919
+ ListBucketsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "ContinuationToken"))
1920
+ ListBucketsOutput.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1548
1921
  ListBucketsOutput.struct_class = Types::ListBucketsOutput
1549
1922
 
1923
+ ListBucketsRequest.add_member(:max_buckets, Shapes::ShapeRef.new(shape: MaxBuckets, location: "querystring", location_name: "max-buckets"))
1924
+ ListBucketsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1925
+ ListBucketsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1926
+ ListBucketsRequest.add_member(:bucket_region, Shapes::ShapeRef.new(shape: BucketRegion, location: "querystring", location_name: "bucket-region"))
1927
+ ListBucketsRequest.struct_class = Types::ListBucketsRequest
1928
+
1929
+ ListDirectoryBucketsOutput.add_member(:buckets, Shapes::ShapeRef.new(shape: Buckets, location_name: "Buckets"))
1930
+ ListDirectoryBucketsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: DirectoryBucketToken, location_name: "ContinuationToken"))
1931
+ ListDirectoryBucketsOutput.struct_class = Types::ListDirectoryBucketsOutput
1932
+
1933
+ ListDirectoryBucketsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: DirectoryBucketToken, location: "querystring", location_name: "continuation-token"))
1934
+ ListDirectoryBucketsRequest.add_member(:max_directory_buckets, Shapes::ShapeRef.new(shape: MaxDirectoryBuckets, location: "querystring", location_name: "max-directory-buckets"))
1935
+ ListDirectoryBucketsRequest.struct_class = Types::ListDirectoryBucketsRequest
1936
+
1550
1937
  ListMultipartUploadsOutput.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, location_name: "Bucket"))
1551
1938
  ListMultipartUploadsOutput.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location_name: "KeyMarker"))
1552
1939
  ListMultipartUploadsOutput.add_member(:upload_id_marker, Shapes::ShapeRef.new(shape: UploadIdMarker, location_name: "UploadIdMarker"))
@@ -1559,16 +1946,18 @@ module Aws::S3
1559
1946
  ListMultipartUploadsOutput.add_member(:uploads, Shapes::ShapeRef.new(shape: MultipartUploadList, location_name: "Upload"))
1560
1947
  ListMultipartUploadsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1561
1948
  ListMultipartUploadsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1949
+ ListMultipartUploadsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1562
1950
  ListMultipartUploadsOutput.struct_class = Types::ListMultipartUploadsOutput
1563
1951
 
1564
- ListMultipartUploadsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1952
+ ListMultipartUploadsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1565
1953
  ListMultipartUploadsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1566
1954
  ListMultipartUploadsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1567
1955
  ListMultipartUploadsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
1568
1956
  ListMultipartUploadsRequest.add_member(:max_uploads, Shapes::ShapeRef.new(shape: MaxUploads, location: "querystring", location_name: "max-uploads"))
1569
- ListMultipartUploadsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1957
+ ListMultipartUploadsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam" => {"name" => "Prefix"}}))
1570
1958
  ListMultipartUploadsRequest.add_member(:upload_id_marker, Shapes::ShapeRef.new(shape: UploadIdMarker, location: "querystring", location_name: "upload-id-marker"))
1571
1959
  ListMultipartUploadsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1960
+ ListMultipartUploadsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1572
1961
  ListMultipartUploadsRequest.struct_class = Types::ListMultipartUploadsRequest
1573
1962
 
1574
1963
  ListObjectVersionsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1584,16 +1973,19 @@ module Aws::S3
1584
1973
  ListObjectVersionsOutput.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location_name: "MaxKeys"))
1585
1974
  ListObjectVersionsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1586
1975
  ListObjectVersionsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1976
+ ListObjectVersionsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1587
1977
  ListObjectVersionsOutput.struct_class = Types::ListObjectVersionsOutput
1588
1978
 
1589
- ListObjectVersionsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1979
+ ListObjectVersionsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1590
1980
  ListObjectVersionsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1591
1981
  ListObjectVersionsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1592
1982
  ListObjectVersionsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
1593
1983
  ListObjectVersionsRequest.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1594
- ListObjectVersionsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1984
+ ListObjectVersionsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam" => {"name" => "Prefix"}}))
1595
1985
  ListObjectVersionsRequest.add_member(:version_id_marker, Shapes::ShapeRef.new(shape: VersionIdMarker, location: "querystring", location_name: "version-id-marker"))
1596
1986
  ListObjectVersionsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1987
+ ListObjectVersionsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1988
+ ListObjectVersionsRequest.add_member(:optional_object_attributes, Shapes::ShapeRef.new(shape: OptionalObjectAttributesList, location: "header", location_name: "x-amz-optional-object-attributes"))
1597
1989
  ListObjectVersionsRequest.struct_class = Types::ListObjectVersionsRequest
1598
1990
 
1599
1991
  ListObjectsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1606,16 +1998,18 @@ module Aws::S3
1606
1998
  ListObjectsOutput.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location_name: "MaxKeys"))
1607
1999
  ListObjectsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1608
2000
  ListObjectsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
2001
+ ListObjectsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1609
2002
  ListObjectsOutput.struct_class = Types::ListObjectsOutput
1610
2003
 
1611
- ListObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2004
+ ListObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1612
2005
  ListObjectsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1613
2006
  ListObjectsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1614
2007
  ListObjectsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "marker"))
1615
2008
  ListObjectsRequest.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1616
- ListObjectsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
2009
+ ListObjectsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam" => {"name" => "Prefix"}}))
1617
2010
  ListObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1618
2011
  ListObjectsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2012
+ ListObjectsRequest.add_member(:optional_object_attributes, Shapes::ShapeRef.new(shape: OptionalObjectAttributesList, location: "header", location_name: "x-amz-optional-object-attributes"))
1619
2013
  ListObjectsRequest.struct_class = Types::ListObjectsRequest
1620
2014
 
1621
2015
  ListObjectsV2Output.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1630,18 +2024,20 @@ module Aws::S3
1630
2024
  ListObjectsV2Output.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location_name: "ContinuationToken"))
1631
2025
  ListObjectsV2Output.add_member(:next_continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextContinuationToken"))
1632
2026
  ListObjectsV2Output.add_member(:start_after, Shapes::ShapeRef.new(shape: StartAfter, location_name: "StartAfter"))
2027
+ ListObjectsV2Output.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1633
2028
  ListObjectsV2Output.struct_class = Types::ListObjectsV2Output
1634
2029
 
1635
- ListObjectsV2Request.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2030
+ ListObjectsV2Request.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1636
2031
  ListObjectsV2Request.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1637
2032
  ListObjectsV2Request.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1638
2033
  ListObjectsV2Request.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1639
- ListObjectsV2Request.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
2034
+ ListObjectsV2Request.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam" => {"name" => "Prefix"}}))
1640
2035
  ListObjectsV2Request.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1641
2036
  ListObjectsV2Request.add_member(:fetch_owner, Shapes::ShapeRef.new(shape: FetchOwner, location: "querystring", location_name: "fetch-owner"))
1642
2037
  ListObjectsV2Request.add_member(:start_after, Shapes::ShapeRef.new(shape: StartAfter, location: "querystring", location_name: "start-after"))
1643
2038
  ListObjectsV2Request.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1644
2039
  ListObjectsV2Request.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2040
+ ListObjectsV2Request.add_member(:optional_object_attributes, Shapes::ShapeRef.new(shape: OptionalObjectAttributesList, location: "header", location_name: "x-amz-optional-object-attributes"))
1645
2041
  ListObjectsV2Request.struct_class = Types::ListObjectsV2Request
1646
2042
 
1647
2043
  ListPartsOutput.add_member(:abort_date, Shapes::ShapeRef.new(shape: AbortDate, location: "header", location_name: "x-amz-abort-date"))
@@ -1658,35 +2054,64 @@ module Aws::S3
1658
2054
  ListPartsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1659
2055
  ListPartsOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1660
2056
  ListPartsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2057
+ ListPartsOutput.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location_name: "ChecksumAlgorithm"))
2058
+ ListPartsOutput.add_member(:checksum_type, Shapes::ShapeRef.new(shape: ChecksumType, location_name: "ChecksumType"))
1661
2059
  ListPartsOutput.struct_class = Types::ListPartsOutput
1662
2060
 
1663
- ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1664
- ListPartsRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2061
+ ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2062
+ ListPartsRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
1665
2063
  ListPartsRequest.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location: "querystring", location_name: "max-parts"))
1666
2064
  ListPartsRequest.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location: "querystring", location_name: "part-number-marker"))
1667
2065
  ListPartsRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
1668
2066
  ListPartsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1669
2067
  ListPartsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2068
+ ListPartsRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2069
+ ListPartsRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
2070
+ ListPartsRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1670
2071
  ListPartsRequest.struct_class = Types::ListPartsRequest
1671
2072
 
2073
+ LocationInfo.add_member(:type, Shapes::ShapeRef.new(shape: LocationType, location_name: "Type"))
2074
+ LocationInfo.add_member(:name, Shapes::ShapeRef.new(shape: LocationNameAsString, location_name: "Name"))
2075
+ LocationInfo.struct_class = Types::LocationInfo
2076
+
1672
2077
  LoggingEnabled.add_member(:target_bucket, Shapes::ShapeRef.new(shape: TargetBucket, required: true, location_name: "TargetBucket"))
1673
2078
  LoggingEnabled.add_member(:target_grants, Shapes::ShapeRef.new(shape: TargetGrants, location_name: "TargetGrants"))
1674
2079
  LoggingEnabled.add_member(:target_prefix, Shapes::ShapeRef.new(shape: TargetPrefix, required: true, location_name: "TargetPrefix"))
2080
+ LoggingEnabled.add_member(:target_object_key_format, Shapes::ShapeRef.new(shape: TargetObjectKeyFormat, location_name: "TargetObjectKeyFormat"))
1675
2081
  LoggingEnabled.struct_class = Types::LoggingEnabled
1676
2082
 
1677
2083
  Metadata.key = Shapes::ShapeRef.new(shape: MetadataKey)
1678
2084
  Metadata.value = Shapes::ShapeRef.new(shape: MetadataValue)
1679
2085
 
2086
+ MetadataConfiguration.add_member(:journal_table_configuration, Shapes::ShapeRef.new(shape: JournalTableConfiguration, required: true, location_name: "JournalTableConfiguration"))
2087
+ MetadataConfiguration.add_member(:inventory_table_configuration, Shapes::ShapeRef.new(shape: InventoryTableConfiguration, location_name: "InventoryTableConfiguration"))
2088
+ MetadataConfiguration.struct_class = Types::MetadataConfiguration
2089
+
2090
+ MetadataConfigurationResult.add_member(:destination_result, Shapes::ShapeRef.new(shape: DestinationResult, required: true, location_name: "DestinationResult"))
2091
+ MetadataConfigurationResult.add_member(:journal_table_configuration_result, Shapes::ShapeRef.new(shape: JournalTableConfigurationResult, location_name: "JournalTableConfigurationResult"))
2092
+ MetadataConfigurationResult.add_member(:inventory_table_configuration_result, Shapes::ShapeRef.new(shape: InventoryTableConfigurationResult, location_name: "InventoryTableConfigurationResult"))
2093
+ MetadataConfigurationResult.struct_class = Types::MetadataConfigurationResult
2094
+
1680
2095
  MetadataEntry.add_member(:name, Shapes::ShapeRef.new(shape: MetadataKey, location_name: "Name"))
1681
2096
  MetadataEntry.add_member(:value, Shapes::ShapeRef.new(shape: MetadataValue, location_name: "Value"))
1682
2097
  MetadataEntry.struct_class = Types::MetadataEntry
1683
2098
 
2099
+ MetadataTableConfiguration.add_member(:s3_tables_destination, Shapes::ShapeRef.new(shape: S3TablesDestination, required: true, location_name: "S3TablesDestination"))
2100
+ MetadataTableConfiguration.struct_class = Types::MetadataTableConfiguration
2101
+
2102
+ MetadataTableConfigurationResult.add_member(:s3_tables_destination_result, Shapes::ShapeRef.new(shape: S3TablesDestinationResult, required: true, location_name: "S3TablesDestinationResult"))
2103
+ MetadataTableConfigurationResult.struct_class = Types::MetadataTableConfigurationResult
2104
+
2105
+ MetadataTableEncryptionConfiguration.add_member(:sse_algorithm, Shapes::ShapeRef.new(shape: TableSseAlgorithm, required: true, location_name: "SseAlgorithm"))
2106
+ MetadataTableEncryptionConfiguration.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyArn, location_name: "KmsKeyArn"))
2107
+ MetadataTableEncryptionConfiguration.struct_class = Types::MetadataTableEncryptionConfiguration
2108
+
1684
2109
  Metrics.add_member(:status, Shapes::ShapeRef.new(shape: MetricsStatus, required: true, location_name: "Status"))
1685
2110
  Metrics.add_member(:event_threshold, Shapes::ShapeRef.new(shape: ReplicationTimeValue, location_name: "EventThreshold"))
1686
2111
  Metrics.struct_class = Types::Metrics
1687
2112
 
1688
2113
  MetricsAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1689
- MetricsAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
2114
+ MetricsAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened" => true}))
1690
2115
  MetricsAndOperator.add_member(:access_point_arn, Shapes::ShapeRef.new(shape: AccessPointArn, location_name: "AccessPointArn"))
1691
2116
  MetricsAndOperator.struct_class = Types::MetricsAndOperator
1692
2117
 
@@ -1708,6 +2133,8 @@ module Aws::S3
1708
2133
  MultipartUpload.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1709
2134
  MultipartUpload.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1710
2135
  MultipartUpload.add_member(:initiator, Shapes::ShapeRef.new(shape: Initiator, location_name: "Initiator"))
2136
+ MultipartUpload.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location_name: "ChecksumAlgorithm"))
2137
+ MultipartUpload.add_member(:checksum_type, Shapes::ShapeRef.new(shape: ChecksumType, location_name: "ChecksumType"))
1711
2138
  MultipartUpload.struct_class = Types::MultipartUpload
1712
2139
 
1713
2140
  MultipartUploadList.member = Shapes::ShapeRef.new(shape: MultipartUpload)
@@ -1719,10 +2146,12 @@ module Aws::S3
1719
2146
  NoSuchUpload.struct_class = Types::NoSuchUpload
1720
2147
 
1721
2148
  NoncurrentVersionExpiration.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
2149
+ NoncurrentVersionExpiration.add_member(:newer_noncurrent_versions, Shapes::ShapeRef.new(shape: VersionCount, location_name: "NewerNoncurrentVersions"))
1722
2150
  NoncurrentVersionExpiration.struct_class = Types::NoncurrentVersionExpiration
1723
2151
 
1724
2152
  NoncurrentVersionTransition.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
1725
2153
  NoncurrentVersionTransition.add_member(:storage_class, Shapes::ShapeRef.new(shape: TransitionStorageClass, location_name: "StorageClass"))
2154
+ NoncurrentVersionTransition.add_member(:newer_noncurrent_versions, Shapes::ShapeRef.new(shape: VersionCount, location_name: "NewerNoncurrentVersions"))
1726
2155
  NoncurrentVersionTransition.struct_class = Types::NoncurrentVersionTransition
1727
2156
 
1728
2157
  NoncurrentVersionTransitionList.member = Shapes::ShapeRef.new(shape: NoncurrentVersionTransition)
@@ -1730,6 +2159,7 @@ module Aws::S3
1730
2159
  NotificationConfiguration.add_member(:topic_configurations, Shapes::ShapeRef.new(shape: TopicConfigurationList, location_name: "TopicConfiguration"))
1731
2160
  NotificationConfiguration.add_member(:queue_configurations, Shapes::ShapeRef.new(shape: QueueConfigurationList, location_name: "QueueConfiguration"))
1732
2161
  NotificationConfiguration.add_member(:lambda_function_configurations, Shapes::ShapeRef.new(shape: LambdaFunctionConfigurationList, location_name: "CloudFunctionConfiguration"))
2162
+ NotificationConfiguration.add_member(:event_bridge_configuration, Shapes::ShapeRef.new(shape: EventBridgeConfiguration, location_name: "EventBridgeConfiguration"))
1733
2163
  NotificationConfiguration.struct_class = Types::NotificationConfiguration
1734
2164
 
1735
2165
  NotificationConfigurationDeprecated.add_member(:topic_configuration, Shapes::ShapeRef.new(shape: TopicConfigurationDeprecated, location_name: "TopicConfiguration"))
@@ -1743,15 +2173,23 @@ module Aws::S3
1743
2173
  Object.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
1744
2174
  Object.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1745
2175
  Object.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
2176
+ Object.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithmList, location_name: "ChecksumAlgorithm"))
2177
+ Object.add_member(:checksum_type, Shapes::ShapeRef.new(shape: ChecksumType, location_name: "ChecksumType"))
1746
2178
  Object.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1747
2179
  Object.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectStorageClass, location_name: "StorageClass"))
1748
2180
  Object.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
2181
+ Object.add_member(:restore_status, Shapes::ShapeRef.new(shape: RestoreStatus, location_name: "RestoreStatus"))
1749
2182
  Object.struct_class = Types::Object
1750
2183
 
1751
2184
  ObjectAlreadyInActiveTierError.struct_class = Types::ObjectAlreadyInActiveTierError
1752
2185
 
2186
+ ObjectAttributesList.member = Shapes::ShapeRef.new(shape: ObjectAttributes)
2187
+
1753
2188
  ObjectIdentifier.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
1754
2189
  ObjectIdentifier.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
2190
+ ObjectIdentifier.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
2191
+ ObjectIdentifier.add_member(:last_modified_time, Shapes::ShapeRef.new(shape: LastModifiedTime, location_name: "LastModifiedTime"))
2192
+ ObjectIdentifier.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1755
2193
  ObjectIdentifier.struct_class = Types::ObjectIdentifier
1756
2194
 
1757
2195
  ObjectIdentifierList.member = Shapes::ShapeRef.new(shape: ObjectIdentifier)
@@ -1774,7 +2212,18 @@ module Aws::S3
1774
2212
 
1775
2213
  ObjectNotInActiveTierError.struct_class = Types::ObjectNotInActiveTierError
1776
2214
 
2215
+ ObjectPart.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
2216
+ ObjectPart.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
2217
+ ObjectPart.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
2218
+ ObjectPart.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
2219
+ ObjectPart.add_member(:checksum_crc64nvme, Shapes::ShapeRef.new(shape: ChecksumCRC64NVME, location_name: "ChecksumCRC64NVME"))
2220
+ ObjectPart.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
2221
+ ObjectPart.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
2222
+ ObjectPart.struct_class = Types::ObjectPart
2223
+
1777
2224
  ObjectVersion.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
2225
+ ObjectVersion.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithmList, location_name: "ChecksumAlgorithm"))
2226
+ ObjectVersion.add_member(:checksum_type, Shapes::ShapeRef.new(shape: ChecksumType, location_name: "ChecksumType"))
1778
2227
  ObjectVersion.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1779
2228
  ObjectVersion.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectVersionStorageClass, location_name: "StorageClass"))
1780
2229
  ObjectVersion.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
@@ -1782,10 +2231,13 @@ module Aws::S3
1782
2231
  ObjectVersion.add_member(:is_latest, Shapes::ShapeRef.new(shape: IsLatest, location_name: "IsLatest"))
1783
2232
  ObjectVersion.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1784
2233
  ObjectVersion.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
2234
+ ObjectVersion.add_member(:restore_status, Shapes::ShapeRef.new(shape: RestoreStatus, location_name: "RestoreStatus"))
1785
2235
  ObjectVersion.struct_class = Types::ObjectVersion
1786
2236
 
1787
2237
  ObjectVersionList.member = Shapes::ShapeRef.new(shape: ObjectVersion)
1788
2238
 
2239
+ OptionalObjectAttributesList.member = Shapes::ShapeRef.new(shape: OptionalObjectAttributes)
2240
+
1789
2241
  OutputLocation.add_member(:s3, Shapes::ShapeRef.new(shape: S3Location, location_name: "S3"))
1790
2242
  OutputLocation.struct_class = Types::OutputLocation
1791
2243
 
@@ -1811,10 +2263,20 @@ module Aws::S3
1811
2263
  Part.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1812
2264
  Part.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1813
2265
  Part.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
2266
+ Part.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
2267
+ Part.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
2268
+ Part.add_member(:checksum_crc64nvme, Shapes::ShapeRef.new(shape: ChecksumCRC64NVME, location_name: "ChecksumCRC64NVME"))
2269
+ Part.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
2270
+ Part.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1814
2271
  Part.struct_class = Types::Part
1815
2272
 
2273
+ PartitionedPrefix.add_member(:partition_date_source, Shapes::ShapeRef.new(shape: PartitionDateSource, location_name: "PartitionDateSource"))
2274
+ PartitionedPrefix.struct_class = Types::PartitionedPrefix
2275
+
1816
2276
  Parts.member = Shapes::ShapeRef.new(shape: Part)
1817
2277
 
2278
+ PartsList.member = Shapes::ShapeRef.new(shape: ObjectPart)
2279
+
1818
2280
  PolicyStatus.add_member(:is_public, Shapes::ShapeRef.new(shape: IsPublic, location_name: "IsPublic"))
1819
2281
  PolicyStatus.struct_class = Types::PolicyStatus
1820
2282
 
@@ -1823,7 +2285,7 @@ module Aws::S3
1823
2285
  Progress.add_member(:bytes_returned, Shapes::ShapeRef.new(shape: BytesReturned, location_name: "BytesReturned"))
1824
2286
  Progress.struct_class = Types::Progress
1825
2287
 
1826
- ProgressEvent.add_member(:details, Shapes::ShapeRef.new(shape: Progress, eventpayload: true, eventpayload_type: 'structure', location_name: "Details", metadata: {"eventpayload"=>true}))
2288
+ ProgressEvent.add_member(:details, Shapes::ShapeRef.new(shape: Progress, eventpayload: true, eventpayload_type: 'structure', location_name: "Details", metadata: {"eventpayload" => true}))
1827
2289
  ProgressEvent.struct_class = Types::ProgressEvent
1828
2290
 
1829
2291
  PublicAccessBlockConfiguration.add_member(:block_public_acls, Shapes::ShapeRef.new(shape: Setting, location_name: "BlockPublicAcls"))
@@ -1832,17 +2294,19 @@ module Aws::S3
1832
2294
  PublicAccessBlockConfiguration.add_member(:restrict_public_buckets, Shapes::ShapeRef.new(shape: Setting, location_name: "RestrictPublicBuckets"))
1833
2295
  PublicAccessBlockConfiguration.struct_class = Types::PublicAccessBlockConfiguration
1834
2296
 
1835
- PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1836
- 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/"}}))
2297
+ PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2298
+ 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/"}}))
1837
2299
  PutBucketAccelerateConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2300
+ PutBucketAccelerateConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1838
2301
  PutBucketAccelerateConfigurationRequest.struct_class = Types::PutBucketAccelerateConfigurationRequest
1839
2302
  PutBucketAccelerateConfigurationRequest[:payload] = :accelerate_configuration
1840
2303
  PutBucketAccelerateConfigurationRequest[:payload_member] = PutBucketAccelerateConfigurationRequest.member(:accelerate_configuration)
1841
2304
 
1842
2305
  PutBucketAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
1843
- PutBucketAclRequest.add_member(:access_control_policy, Shapes::ShapeRef.new(shape: AccessControlPolicy, location_name: "AccessControlPolicy", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1844
- PutBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2306
+ PutBucketAclRequest.add_member(:access_control_policy, Shapes::ShapeRef.new(shape: AccessControlPolicy, location_name: "AccessControlPolicy", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2307
+ PutBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1845
2308
  PutBucketAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2309
+ PutBucketAclRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1846
2310
  PutBucketAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
1847
2311
  PutBucketAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
1848
2312
  PutBucketAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
@@ -1853,101 +2317,115 @@ module Aws::S3
1853
2317
  PutBucketAclRequest[:payload] = :access_control_policy
1854
2318
  PutBucketAclRequest[:payload_member] = PutBucketAclRequest.member(:access_control_policy)
1855
2319
 
1856
- PutBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2320
+ PutBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1857
2321
  PutBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
1858
- PutBucketAnalyticsConfigurationRequest.add_member(:analytics_configuration, Shapes::ShapeRef.new(shape: AnalyticsConfiguration, required: true, location_name: "AnalyticsConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2322
+ PutBucketAnalyticsConfigurationRequest.add_member(:analytics_configuration, Shapes::ShapeRef.new(shape: AnalyticsConfiguration, required: true, location_name: "AnalyticsConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
1859
2323
  PutBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1860
2324
  PutBucketAnalyticsConfigurationRequest.struct_class = Types::PutBucketAnalyticsConfigurationRequest
1861
2325
  PutBucketAnalyticsConfigurationRequest[:payload] = :analytics_configuration
1862
2326
  PutBucketAnalyticsConfigurationRequest[:payload_member] = PutBucketAnalyticsConfigurationRequest.member(:analytics_configuration)
1863
2327
 
1864
- PutBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1865
- PutBucketCorsRequest.add_member(:cors_configuration, Shapes::ShapeRef.new(shape: CORSConfiguration, required: true, location_name: "CORSConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2328
+ PutBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2329
+ PutBucketCorsRequest.add_member(:cors_configuration, Shapes::ShapeRef.new(shape: CORSConfiguration, required: true, location_name: "CORSConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
1866
2330
  PutBucketCorsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2331
+ PutBucketCorsRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1867
2332
  PutBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1868
2333
  PutBucketCorsRequest.struct_class = Types::PutBucketCorsRequest
1869
2334
  PutBucketCorsRequest[:payload] = :cors_configuration
1870
2335
  PutBucketCorsRequest[:payload_member] = PutBucketCorsRequest.member(:cors_configuration)
1871
2336
 
1872
- PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2337
+ PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1873
2338
  PutBucketEncryptionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1874
- PutBucketEncryptionRequest.add_member(:server_side_encryption_configuration, Shapes::ShapeRef.new(shape: ServerSideEncryptionConfiguration, required: true, location_name: "ServerSideEncryptionConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2339
+ PutBucketEncryptionRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2340
+ PutBucketEncryptionRequest.add_member(:server_side_encryption_configuration, Shapes::ShapeRef.new(shape: ServerSideEncryptionConfiguration, required: true, location_name: "ServerSideEncryptionConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
1875
2341
  PutBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1876
2342
  PutBucketEncryptionRequest.struct_class = Types::PutBucketEncryptionRequest
1877
2343
  PutBucketEncryptionRequest[:payload] = :server_side_encryption_configuration
1878
2344
  PutBucketEncryptionRequest[:payload_member] = PutBucketEncryptionRequest.member(:server_side_encryption_configuration)
1879
2345
 
1880
- PutBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2346
+ PutBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1881
2347
  PutBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1882
- PutBucketIntelligentTieringConfigurationRequest.add_member(:intelligent_tiering_configuration, Shapes::ShapeRef.new(shape: IntelligentTieringConfiguration, required: true, location_name: "IntelligentTieringConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2348
+ PutBucketIntelligentTieringConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2349
+ PutBucketIntelligentTieringConfigurationRequest.add_member(:intelligent_tiering_configuration, Shapes::ShapeRef.new(shape: IntelligentTieringConfiguration, required: true, location_name: "IntelligentTieringConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
1883
2350
  PutBucketIntelligentTieringConfigurationRequest.struct_class = Types::PutBucketIntelligentTieringConfigurationRequest
1884
2351
  PutBucketIntelligentTieringConfigurationRequest[:payload] = :intelligent_tiering_configuration
1885
2352
  PutBucketIntelligentTieringConfigurationRequest[:payload_member] = PutBucketIntelligentTieringConfigurationRequest.member(:intelligent_tiering_configuration)
1886
2353
 
1887
- PutBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2354
+ PutBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1888
2355
  PutBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
1889
- PutBucketInventoryConfigurationRequest.add_member(:inventory_configuration, Shapes::ShapeRef.new(shape: InventoryConfiguration, required: true, location_name: "InventoryConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2356
+ PutBucketInventoryConfigurationRequest.add_member(:inventory_configuration, Shapes::ShapeRef.new(shape: InventoryConfiguration, required: true, location_name: "InventoryConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
1890
2357
  PutBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1891
2358
  PutBucketInventoryConfigurationRequest.struct_class = Types::PutBucketInventoryConfigurationRequest
1892
2359
  PutBucketInventoryConfigurationRequest[:payload] = :inventory_configuration
1893
2360
  PutBucketInventoryConfigurationRequest[:payload_member] = PutBucketInventoryConfigurationRequest.member(:inventory_configuration)
1894
2361
 
1895
- PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1896
- PutBucketLifecycleConfigurationRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: BucketLifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2362
+ PutBucketLifecycleConfigurationOutput.add_member(:transition_default_minimum_object_size, Shapes::ShapeRef.new(shape: TransitionDefaultMinimumObjectSize, location: "header", location_name: "x-amz-transition-default-minimum-object-size"))
2363
+ PutBucketLifecycleConfigurationOutput.struct_class = Types::PutBucketLifecycleConfigurationOutput
2364
+
2365
+ PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2366
+ PutBucketLifecycleConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2367
+ PutBucketLifecycleConfigurationRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: BucketLifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
1897
2368
  PutBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2369
+ PutBucketLifecycleConfigurationRequest.add_member(:transition_default_minimum_object_size, Shapes::ShapeRef.new(shape: TransitionDefaultMinimumObjectSize, location: "header", location_name: "x-amz-transition-default-minimum-object-size"))
1898
2370
  PutBucketLifecycleConfigurationRequest.struct_class = Types::PutBucketLifecycleConfigurationRequest
1899
2371
  PutBucketLifecycleConfigurationRequest[:payload] = :lifecycle_configuration
1900
2372
  PutBucketLifecycleConfigurationRequest[:payload_member] = PutBucketLifecycleConfigurationRequest.member(:lifecycle_configuration)
1901
2373
 
1902
- PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2374
+ PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1903
2375
  PutBucketLifecycleRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1904
- PutBucketLifecycleRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: LifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2376
+ PutBucketLifecycleRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2377
+ PutBucketLifecycleRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: LifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
1905
2378
  PutBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1906
2379
  PutBucketLifecycleRequest.struct_class = Types::PutBucketLifecycleRequest
1907
2380
  PutBucketLifecycleRequest[:payload] = :lifecycle_configuration
1908
2381
  PutBucketLifecycleRequest[:payload_member] = PutBucketLifecycleRequest.member(:lifecycle_configuration)
1909
2382
 
1910
- PutBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1911
- PutBucketLoggingRequest.add_member(:bucket_logging_status, Shapes::ShapeRef.new(shape: BucketLoggingStatus, required: true, location_name: "BucketLoggingStatus", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2383
+ PutBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2384
+ PutBucketLoggingRequest.add_member(:bucket_logging_status, Shapes::ShapeRef.new(shape: BucketLoggingStatus, required: true, location_name: "BucketLoggingStatus", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
1912
2385
  PutBucketLoggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2386
+ PutBucketLoggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1913
2387
  PutBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1914
2388
  PutBucketLoggingRequest.struct_class = Types::PutBucketLoggingRequest
1915
2389
  PutBucketLoggingRequest[:payload] = :bucket_logging_status
1916
2390
  PutBucketLoggingRequest[:payload_member] = PutBucketLoggingRequest.member(:bucket_logging_status)
1917
2391
 
1918
- PutBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2392
+ PutBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1919
2393
  PutBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
1920
- PutBucketMetricsConfigurationRequest.add_member(:metrics_configuration, Shapes::ShapeRef.new(shape: MetricsConfiguration, required: true, location_name: "MetricsConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2394
+ PutBucketMetricsConfigurationRequest.add_member(:metrics_configuration, Shapes::ShapeRef.new(shape: MetricsConfiguration, required: true, location_name: "MetricsConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
1921
2395
  PutBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1922
2396
  PutBucketMetricsConfigurationRequest.struct_class = Types::PutBucketMetricsConfigurationRequest
1923
2397
  PutBucketMetricsConfigurationRequest[:payload] = :metrics_configuration
1924
2398
  PutBucketMetricsConfigurationRequest[:payload_member] = PutBucketMetricsConfigurationRequest.member(:metrics_configuration)
1925
2399
 
1926
- PutBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1927
- PutBucketNotificationConfigurationRequest.add_member(:notification_configuration, Shapes::ShapeRef.new(shape: NotificationConfiguration, required: true, location_name: "NotificationConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2400
+ PutBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2401
+ PutBucketNotificationConfigurationRequest.add_member(:notification_configuration, Shapes::ShapeRef.new(shape: NotificationConfiguration, required: true, location_name: "NotificationConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
1928
2402
  PutBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2403
+ PutBucketNotificationConfigurationRequest.add_member(:skip_destination_validation, Shapes::ShapeRef.new(shape: SkipValidation, location: "header", location_name: "x-amz-skip-destination-validation"))
1929
2404
  PutBucketNotificationConfigurationRequest.struct_class = Types::PutBucketNotificationConfigurationRequest
1930
2405
  PutBucketNotificationConfigurationRequest[:payload] = :notification_configuration
1931
2406
  PutBucketNotificationConfigurationRequest[:payload_member] = PutBucketNotificationConfigurationRequest.member(:notification_configuration)
1932
2407
 
1933
- PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2408
+ PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1934
2409
  PutBucketNotificationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1935
- PutBucketNotificationRequest.add_member(:notification_configuration, Shapes::ShapeRef.new(shape: NotificationConfigurationDeprecated, required: true, location_name: "NotificationConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2410
+ PutBucketNotificationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2411
+ PutBucketNotificationRequest.add_member(:notification_configuration, Shapes::ShapeRef.new(shape: NotificationConfigurationDeprecated, required: true, location_name: "NotificationConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
1936
2412
  PutBucketNotificationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1937
2413
  PutBucketNotificationRequest.struct_class = Types::PutBucketNotificationRequest
1938
2414
  PutBucketNotificationRequest[:payload] = :notification_configuration
1939
2415
  PutBucketNotificationRequest[:payload_member] = PutBucketNotificationRequest.member(:notification_configuration)
1940
2416
 
1941
- PutBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2417
+ PutBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1942
2418
  PutBucketOwnershipControlsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1943
2419
  PutBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1944
- PutBucketOwnershipControlsRequest.add_member(:ownership_controls, Shapes::ShapeRef.new(shape: OwnershipControls, required: true, location_name: "OwnershipControls", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2420
+ PutBucketOwnershipControlsRequest.add_member(:ownership_controls, Shapes::ShapeRef.new(shape: OwnershipControls, required: true, location_name: "OwnershipControls", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2421
+ PutBucketOwnershipControlsRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1945
2422
  PutBucketOwnershipControlsRequest.struct_class = Types::PutBucketOwnershipControlsRequest
1946
2423
  PutBucketOwnershipControlsRequest[:payload] = :ownership_controls
1947
2424
  PutBucketOwnershipControlsRequest[:payload_member] = PutBucketOwnershipControlsRequest.member(:ownership_controls)
1948
2425
 
1949
- PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2426
+ PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1950
2427
  PutBucketPolicyRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2428
+ PutBucketPolicyRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1951
2429
  PutBucketPolicyRequest.add_member(:confirm_remove_self_bucket_access, Shapes::ShapeRef.new(shape: ConfirmRemoveSelfBucketAccess, location: "header", location_name: "x-amz-confirm-remove-self-bucket-access"))
1952
2430
  PutBucketPolicyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, required: true, location_name: "Policy"))
1953
2431
  PutBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1955,43 +2433,48 @@ module Aws::S3
1955
2433
  PutBucketPolicyRequest[:payload] = :policy
1956
2434
  PutBucketPolicyRequest[:payload_member] = PutBucketPolicyRequest.member(:policy)
1957
2435
 
1958
- PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2436
+ PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1959
2437
  PutBucketReplicationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1960
- 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/"}}))
2438
+ PutBucketReplicationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2439
+ 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/"}}))
1961
2440
  PutBucketReplicationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
1962
2441
  PutBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1963
2442
  PutBucketReplicationRequest.struct_class = Types::PutBucketReplicationRequest
1964
2443
  PutBucketReplicationRequest[:payload] = :replication_configuration
1965
2444
  PutBucketReplicationRequest[:payload_member] = PutBucketReplicationRequest.member(:replication_configuration)
1966
2445
 
1967
- PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2446
+ PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1968
2447
  PutBucketRequestPaymentRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1969
- PutBucketRequestPaymentRequest.add_member(:request_payment_configuration, Shapes::ShapeRef.new(shape: RequestPaymentConfiguration, required: true, location_name: "RequestPaymentConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2448
+ PutBucketRequestPaymentRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2449
+ PutBucketRequestPaymentRequest.add_member(:request_payment_configuration, Shapes::ShapeRef.new(shape: RequestPaymentConfiguration, required: true, location_name: "RequestPaymentConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
1970
2450
  PutBucketRequestPaymentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1971
2451
  PutBucketRequestPaymentRequest.struct_class = Types::PutBucketRequestPaymentRequest
1972
2452
  PutBucketRequestPaymentRequest[:payload] = :request_payment_configuration
1973
2453
  PutBucketRequestPaymentRequest[:payload_member] = PutBucketRequestPaymentRequest.member(:request_payment_configuration)
1974
2454
 
1975
- PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2455
+ PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1976
2456
  PutBucketTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1977
- PutBucketTaggingRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: Tagging, required: true, location_name: "Tagging", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2457
+ PutBucketTaggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2458
+ PutBucketTaggingRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: Tagging, required: true, location_name: "Tagging", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
1978
2459
  PutBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1979
2460
  PutBucketTaggingRequest.struct_class = Types::PutBucketTaggingRequest
1980
2461
  PutBucketTaggingRequest[:payload] = :tagging
1981
2462
  PutBucketTaggingRequest[:payload_member] = PutBucketTaggingRequest.member(:tagging)
1982
2463
 
1983
- PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2464
+ PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1984
2465
  PutBucketVersioningRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2466
+ PutBucketVersioningRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1985
2467
  PutBucketVersioningRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
1986
- PutBucketVersioningRequest.add_member(:versioning_configuration, Shapes::ShapeRef.new(shape: VersioningConfiguration, required: true, location_name: "VersioningConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2468
+ PutBucketVersioningRequest.add_member(:versioning_configuration, Shapes::ShapeRef.new(shape: VersioningConfiguration, required: true, location_name: "VersioningConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
1987
2469
  PutBucketVersioningRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1988
2470
  PutBucketVersioningRequest.struct_class = Types::PutBucketVersioningRequest
1989
2471
  PutBucketVersioningRequest[:payload] = :versioning_configuration
1990
2472
  PutBucketVersioningRequest[:payload_member] = PutBucketVersioningRequest.member(:versioning_configuration)
1991
2473
 
1992
- PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2474
+ PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1993
2475
  PutBucketWebsiteRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1994
- PutBucketWebsiteRequest.add_member(:website_configuration, Shapes::ShapeRef.new(shape: WebsiteConfiguration, required: true, location_name: "WebsiteConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2476
+ PutBucketWebsiteRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2477
+ PutBucketWebsiteRequest.add_member(:website_configuration, Shapes::ShapeRef.new(shape: WebsiteConfiguration, required: true, location_name: "WebsiteConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
1995
2478
  PutBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1996
2479
  PutBucketWebsiteRequest.struct_class = Types::PutBucketWebsiteRequest
1997
2480
  PutBucketWebsiteRequest[:payload] = :website_configuration
@@ -2001,15 +2484,16 @@ module Aws::S3
2001
2484
  PutObjectAclOutput.struct_class = Types::PutObjectAclOutput
2002
2485
 
2003
2486
  PutObjectAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
2004
- PutObjectAclRequest.add_member(:access_control_policy, Shapes::ShapeRef.new(shape: AccessControlPolicy, location_name: "AccessControlPolicy", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2005
- PutObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2487
+ PutObjectAclRequest.add_member(:access_control_policy, Shapes::ShapeRef.new(shape: AccessControlPolicy, location_name: "AccessControlPolicy", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2488
+ PutObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2006
2489
  PutObjectAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2490
+ PutObjectAclRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2007
2491
  PutObjectAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
2008
2492
  PutObjectAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
2009
2493
  PutObjectAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
2010
2494
  PutObjectAclRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
2011
2495
  PutObjectAclRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
2012
- PutObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2496
+ PutObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
2013
2497
  PutObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2014
2498
  PutObjectAclRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2015
2499
  PutObjectAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -2020,12 +2504,13 @@ module Aws::S3
2020
2504
  PutObjectLegalHoldOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2021
2505
  PutObjectLegalHoldOutput.struct_class = Types::PutObjectLegalHoldOutput
2022
2506
 
2023
- PutObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2507
+ PutObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2024
2508
  PutObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2025
- PutObjectLegalHoldRequest.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2509
+ PutObjectLegalHoldRequest.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2026
2510
  PutObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2027
2511
  PutObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2028
2512
  PutObjectLegalHoldRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2513
+ PutObjectLegalHoldRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2029
2514
  PutObjectLegalHoldRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2030
2515
  PutObjectLegalHoldRequest.struct_class = Types::PutObjectLegalHoldRequest
2031
2516
  PutObjectLegalHoldRequest[:payload] = :legal_hold
@@ -2034,11 +2519,12 @@ module Aws::S3
2034
2519
  PutObjectLockConfigurationOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2035
2520
  PutObjectLockConfigurationOutput.struct_class = Types::PutObjectLockConfigurationOutput
2036
2521
 
2037
- PutObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2038
- 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/"}}))
2522
+ PutObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2523
+ 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/"}}))
2039
2524
  PutObjectLockConfigurationRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2040
2525
  PutObjectLockConfigurationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
2041
2526
  PutObjectLockConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2527
+ PutObjectLockConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2042
2528
  PutObjectLockConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2043
2529
  PutObjectLockConfigurationRequest.struct_class = Types::PutObjectLockConfigurationRequest
2044
2530
  PutObjectLockConfigurationRequest[:payload] = :object_lock_configuration
@@ -2046,6 +2532,12 @@ module Aws::S3
2046
2532
 
2047
2533
  PutObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
2048
2534
  PutObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
2535
+ PutObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2536
+ PutObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2537
+ PutObjectOutput.add_member(:checksum_crc64nvme, Shapes::ShapeRef.new(shape: ChecksumCRC64NVME, location: "header", location_name: "x-amz-checksum-crc64nvme"))
2538
+ PutObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2539
+ PutObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2540
+ PutObjectOutput.add_member(:checksum_type, Shapes::ShapeRef.new(shape: ChecksumType, location: "header", location_name: "x-amz-checksum-type"))
2049
2541
  PutObjectOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2050
2542
  PutObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
2051
2543
  PutObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
@@ -2053,12 +2545,13 @@ module Aws::S3
2053
2545
  PutObjectOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
2054
2546
  PutObjectOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
2055
2547
  PutObjectOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
2548
+ PutObjectOutput.add_member(:size, Shapes::ShapeRef.new(shape: Size, location: "header", location_name: "x-amz-object-size"))
2056
2549
  PutObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2057
2550
  PutObjectOutput.struct_class = Types::PutObjectOutput
2058
2551
 
2059
2552
  PutObjectRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
2060
- PutObjectRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
2061
- PutObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2553
+ PutObjectRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming" => true}))
2554
+ PutObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2062
2555
  PutObjectRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
2063
2556
  PutObjectRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
2064
2557
  PutObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
@@ -2066,12 +2559,21 @@ module Aws::S3
2066
2559
  PutObjectRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2067
2560
  PutObjectRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2068
2561
  PutObjectRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
2562
+ PutObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2563
+ PutObjectRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2564
+ PutObjectRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2565
+ PutObjectRequest.add_member(:checksum_crc64nvme, Shapes::ShapeRef.new(shape: ChecksumCRC64NVME, location: "header", location_name: "x-amz-checksum-crc64nvme"))
2566
+ PutObjectRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2567
+ PutObjectRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2069
2568
  PutObjectRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "Expires"))
2569
+ PutObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
2570
+ PutObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
2070
2571
  PutObjectRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
2071
2572
  PutObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
2072
2573
  PutObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
2073
2574
  PutObjectRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
2074
- PutObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2575
+ PutObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
2576
+ PutObjectRequest.add_member(:write_offset_bytes, Shapes::ShapeRef.new(shape: WriteOffsetBytes, location: "header", location_name: "x-amz-write-offset-bytes"))
2075
2577
  PutObjectRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
2076
2578
  PutObjectRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2077
2579
  PutObjectRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
@@ -2095,13 +2597,14 @@ module Aws::S3
2095
2597
  PutObjectRetentionOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2096
2598
  PutObjectRetentionOutput.struct_class = Types::PutObjectRetentionOutput
2097
2599
 
2098
- PutObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2600
+ PutObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2099
2601
  PutObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2100
- PutObjectRetentionRequest.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2602
+ PutObjectRetentionRequest.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2101
2603
  PutObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2102
2604
  PutObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2103
2605
  PutObjectRetentionRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
2104
2606
  PutObjectRetentionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2607
+ PutObjectRetentionRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2105
2608
  PutObjectRetentionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2106
2609
  PutObjectRetentionRequest.struct_class = Types::PutObjectRetentionRequest
2107
2610
  PutObjectRetentionRequest[:payload] = :retention
@@ -2110,20 +2613,22 @@ module Aws::S3
2110
2613
  PutObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
2111
2614
  PutObjectTaggingOutput.struct_class = Types::PutObjectTaggingOutput
2112
2615
 
2113
- PutObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2616
+ PutObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2114
2617
  PutObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2115
2618
  PutObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2116
2619
  PutObjectTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2117
- PutObjectTaggingRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: Tagging, required: true, location_name: "Tagging", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2620
+ PutObjectTaggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2621
+ PutObjectTaggingRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: Tagging, required: true, location_name: "Tagging", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2118
2622
  PutObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2119
2623
  PutObjectTaggingRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2120
2624
  PutObjectTaggingRequest.struct_class = Types::PutObjectTaggingRequest
2121
2625
  PutObjectTaggingRequest[:payload] = :tagging
2122
2626
  PutObjectTaggingRequest[:payload_member] = PutObjectTaggingRequest.member(:tagging)
2123
2627
 
2124
- PutPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2628
+ PutPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2125
2629
  PutPublicAccessBlockRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2126
- 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/"}}))
2630
+ PutPublicAccessBlockRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2631
+ 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/"}}))
2127
2632
  PutPublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2128
2633
  PutPublicAccessBlockRequest.struct_class = Types::PutPublicAccessBlockRequest
2129
2634
  PutPublicAccessBlockRequest[:payload] = :public_access_block_configuration
@@ -2143,7 +2648,11 @@ module Aws::S3
2143
2648
 
2144
2649
  QueueConfigurationList.member = Shapes::ShapeRef.new(shape: QueueConfiguration)
2145
2650
 
2146
- RecordsEvent.add_member(:payload, Shapes::ShapeRef.new(shape: Body, eventpayload: true, eventpayload_type: 'blob', location_name: "Payload", metadata: {"eventpayload"=>true}))
2651
+ RecordExpiration.add_member(:expiration, Shapes::ShapeRef.new(shape: ExpirationState, required: true, location_name: "Expiration"))
2652
+ RecordExpiration.add_member(:days, Shapes::ShapeRef.new(shape: RecordExpirationDays, location_name: "Days", metadata: {"box" => true}))
2653
+ RecordExpiration.struct_class = Types::RecordExpiration
2654
+
2655
+ RecordsEvent.add_member(:payload, Shapes::ShapeRef.new(shape: Body, eventpayload: true, eventpayload_type: 'blob', location_name: "Payload", metadata: {"eventpayload" => true}))
2147
2656
  RecordsEvent.struct_class = Types::RecordsEvent
2148
2657
 
2149
2658
  Redirect.add_member(:host_name, Shapes::ShapeRef.new(shape: HostName, location_name: "HostName"))
@@ -2157,6 +2666,22 @@ module Aws::S3
2157
2666
  RedirectAllRequestsTo.add_member(:protocol, Shapes::ShapeRef.new(shape: Protocol, location_name: "Protocol"))
2158
2667
  RedirectAllRequestsTo.struct_class = Types::RedirectAllRequestsTo
2159
2668
 
2669
+ RenameObjectOutput.struct_class = Types::RenameObjectOutput
2670
+
2671
+ RenameObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2672
+ RenameObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
2673
+ RenameObjectRequest.add_member(:rename_source, Shapes::ShapeRef.new(shape: RenameSource, required: true, location: "header", location_name: "x-amz-rename-source"))
2674
+ RenameObjectRequest.add_member(:destination_if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
2675
+ RenameObjectRequest.add_member(:destination_if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
2676
+ RenameObjectRequest.add_member(:destination_if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
2677
+ RenameObjectRequest.add_member(:destination_if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
2678
+ RenameObjectRequest.add_member(:source_if_match, Shapes::ShapeRef.new(shape: RenameSourceIfMatch, location: "header", location_name: "x-amz-rename-source-if-match"))
2679
+ RenameObjectRequest.add_member(:source_if_none_match, Shapes::ShapeRef.new(shape: RenameSourceIfNoneMatch, location: "header", location_name: "x-amz-rename-source-if-none-match"))
2680
+ RenameObjectRequest.add_member(:source_if_modified_since, Shapes::ShapeRef.new(shape: RenameSourceIfModifiedSince, location: "header", location_name: "x-amz-rename-source-if-modified-since"))
2681
+ RenameObjectRequest.add_member(:source_if_unmodified_since, Shapes::ShapeRef.new(shape: RenameSourceIfUnmodifiedSince, location: "header", location_name: "x-amz-rename-source-if-unmodified-since"))
2682
+ RenameObjectRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location: "header", location_name: "x-amz-client-token", metadata: {"idempotencyToken" => true}))
2683
+ RenameObjectRequest.struct_class = Types::RenameObjectRequest
2684
+
2160
2685
  ReplicaModifications.add_member(:status, Shapes::ShapeRef.new(shape: ReplicaModificationsStatus, required: true, location_name: "Status"))
2161
2686
  ReplicaModifications.struct_class = Types::ReplicaModifications
2162
2687
 
@@ -2176,7 +2701,7 @@ module Aws::S3
2176
2701
  ReplicationRule.struct_class = Types::ReplicationRule
2177
2702
 
2178
2703
  ReplicationRuleAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
2179
- ReplicationRuleAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
2704
+ ReplicationRuleAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened" => true}))
2180
2705
  ReplicationRuleAndOperator.struct_class = Types::ReplicationRuleAndOperator
2181
2706
 
2182
2707
  ReplicationRuleFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
@@ -2203,11 +2728,12 @@ module Aws::S3
2203
2728
  RestoreObjectOutput.add_member(:restore_output_path, Shapes::ShapeRef.new(shape: RestoreOutputPath, location: "header", location_name: "x-amz-restore-output-path"))
2204
2729
  RestoreObjectOutput.struct_class = Types::RestoreObjectOutput
2205
2730
 
2206
- RestoreObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2731
+ RestoreObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2207
2732
  RestoreObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2208
2733
  RestoreObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2209
- RestoreObjectRequest.add_member(:restore_request, Shapes::ShapeRef.new(shape: RestoreRequest, location_name: "RestoreRequest", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2734
+ RestoreObjectRequest.add_member(:restore_request, Shapes::ShapeRef.new(shape: RestoreRequest, location_name: "RestoreRequest", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2210
2735
  RestoreObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2736
+ RestoreObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2211
2737
  RestoreObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2212
2738
  RestoreObjectRequest.struct_class = Types::RestoreObjectRequest
2213
2739
  RestoreObjectRequest[:payload] = :restore_request
@@ -2222,6 +2748,10 @@ module Aws::S3
2222
2748
  RestoreRequest.add_member(:output_location, Shapes::ShapeRef.new(shape: OutputLocation, location_name: "OutputLocation"))
2223
2749
  RestoreRequest.struct_class = Types::RestoreRequest
2224
2750
 
2751
+ RestoreStatus.add_member(:is_restore_in_progress, Shapes::ShapeRef.new(shape: IsRestoreInProgress, location_name: "IsRestoreInProgress"))
2752
+ RestoreStatus.add_member(:restore_expiry_date, Shapes::ShapeRef.new(shape: RestoreExpiryDate, location_name: "RestoreExpiryDate"))
2753
+ RestoreStatus.struct_class = Types::RestoreStatus
2754
+
2225
2755
  RoutingRule.add_member(:condition, Shapes::ShapeRef.new(shape: Condition, location_name: "Condition"))
2226
2756
  RoutingRule.add_member(:redirect, Shapes::ShapeRef.new(shape: Redirect, required: true, location_name: "Redirect"))
2227
2757
  RoutingRule.struct_class = Types::RoutingRule
@@ -2253,6 +2783,16 @@ module Aws::S3
2253
2783
  S3Location.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
2254
2784
  S3Location.struct_class = Types::S3Location
2255
2785
 
2786
+ S3TablesDestination.add_member(:table_bucket_arn, Shapes::ShapeRef.new(shape: S3TablesBucketArn, required: true, location_name: "TableBucketArn"))
2787
+ S3TablesDestination.add_member(:table_name, Shapes::ShapeRef.new(shape: S3TablesName, required: true, location_name: "TableName"))
2788
+ S3TablesDestination.struct_class = Types::S3TablesDestination
2789
+
2790
+ S3TablesDestinationResult.add_member(:table_bucket_arn, Shapes::ShapeRef.new(shape: S3TablesBucketArn, required: true, location_name: "TableBucketArn"))
2791
+ S3TablesDestinationResult.add_member(:table_name, Shapes::ShapeRef.new(shape: S3TablesName, required: true, location_name: "TableName"))
2792
+ S3TablesDestinationResult.add_member(:table_arn, Shapes::ShapeRef.new(shape: S3TablesArn, required: true, location_name: "TableArn"))
2793
+ S3TablesDestinationResult.add_member(:table_namespace, Shapes::ShapeRef.new(shape: S3TablesNamespace, required: true, location_name: "TableNamespace"))
2794
+ S3TablesDestinationResult.struct_class = Types::S3TablesDestinationResult
2795
+
2256
2796
  SSEKMS.add_member(:key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, required: true, location_name: "KeyId"))
2257
2797
  SSEKMS.struct_class = Types::SSEKMS
2258
2798
 
@@ -2274,7 +2814,7 @@ module Aws::S3
2274
2814
  SelectObjectContentOutput[:payload] = :payload
2275
2815
  SelectObjectContentOutput[:payload_member] = SelectObjectContentOutput.member(:payload)
2276
2816
 
2277
- SelectObjectContentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2817
+ SelectObjectContentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2278
2818
  SelectObjectContentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2279
2819
  SelectObjectContentRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2280
2820
  SelectObjectContentRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
@@ -2307,6 +2847,14 @@ module Aws::S3
2307
2847
 
2308
2848
  ServerSideEncryptionRules.member = Shapes::ShapeRef.new(shape: ServerSideEncryptionRule)
2309
2849
 
2850
+ SessionCredentials.add_member(:access_key_id, Shapes::ShapeRef.new(shape: AccessKeyIdValue, required: true, location_name: "AccessKeyId"))
2851
+ SessionCredentials.add_member(:secret_access_key, Shapes::ShapeRef.new(shape: SessionCredentialValue, required: true, location_name: "SecretAccessKey"))
2852
+ SessionCredentials.add_member(:session_token, Shapes::ShapeRef.new(shape: SessionCredentialValue, required: true, location_name: "SessionToken"))
2853
+ SessionCredentials.add_member(:expiration, Shapes::ShapeRef.new(shape: SessionExpiration, required: true, location_name: "Expiration"))
2854
+ SessionCredentials.struct_class = Types::SessionCredentials
2855
+
2856
+ SimplePrefix.struct_class = Types::SimplePrefix
2857
+
2310
2858
  SourceSelectionCriteria.add_member(:sse_kms_encrypted_objects, Shapes::ShapeRef.new(shape: SseKmsEncryptedObjects, location_name: "SseKmsEncryptedObjects"))
2311
2859
  SourceSelectionCriteria.add_member(:replica_modifications, Shapes::ShapeRef.new(shape: ReplicaModifications, location_name: "ReplicaModifications"))
2312
2860
  SourceSelectionCriteria.struct_class = Types::SourceSelectionCriteria
@@ -2319,7 +2867,7 @@ module Aws::S3
2319
2867
  Stats.add_member(:bytes_returned, Shapes::ShapeRef.new(shape: BytesReturned, location_name: "BytesReturned"))
2320
2868
  Stats.struct_class = Types::Stats
2321
2869
 
2322
- StatsEvent.add_member(:details, Shapes::ShapeRef.new(shape: Stats, eventpayload: true, eventpayload_type: 'structure', location_name: "Details", metadata: {"eventpayload"=>true}))
2870
+ StatsEvent.add_member(:details, Shapes::ShapeRef.new(shape: Stats, eventpayload: true, eventpayload_type: 'structure', location_name: "Details", metadata: {"eventpayload" => true}))
2323
2871
  StatsEvent.struct_class = Types::StatsEvent
2324
2872
 
2325
2873
  StorageClassAnalysis.add_member(:data_export, Shapes::ShapeRef.new(shape: StorageClassAnalysisDataExport, location_name: "DataExport"))
@@ -2344,12 +2892,18 @@ module Aws::S3
2344
2892
 
2345
2893
  TargetGrants.member = Shapes::ShapeRef.new(shape: TargetGrant, location_name: "Grant")
2346
2894
 
2895
+ TargetObjectKeyFormat.add_member(:simple_prefix, Shapes::ShapeRef.new(shape: SimplePrefix, location_name: "SimplePrefix"))
2896
+ TargetObjectKeyFormat.add_member(:partitioned_prefix, Shapes::ShapeRef.new(shape: PartitionedPrefix, location_name: "PartitionedPrefix"))
2897
+ TargetObjectKeyFormat.struct_class = Types::TargetObjectKeyFormat
2898
+
2347
2899
  Tiering.add_member(:days, Shapes::ShapeRef.new(shape: IntelligentTieringDays, required: true, location_name: "Days"))
2348
2900
  Tiering.add_member(:access_tier, Shapes::ShapeRef.new(shape: IntelligentTieringAccessTier, required: true, location_name: "AccessTier"))
2349
2901
  Tiering.struct_class = Types::Tiering
2350
2902
 
2351
2903
  TieringList.member = Shapes::ShapeRef.new(shape: Tiering)
2352
2904
 
2905
+ TooManyParts.struct_class = Types::TooManyParts
2906
+
2353
2907
  TopicConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
2354
2908
  TopicConfiguration.add_member(:topic_arn, Shapes::ShapeRef.new(shape: TopicArn, required: true, location_name: "Topic"))
2355
2909
  TopicConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, required: true, location_name: "Event"))
@@ -2371,6 +2925,24 @@ module Aws::S3
2371
2925
 
2372
2926
  TransitionList.member = Shapes::ShapeRef.new(shape: Transition)
2373
2927
 
2928
+ UpdateBucketMetadataInventoryTableConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2929
+ UpdateBucketMetadataInventoryTableConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2930
+ UpdateBucketMetadataInventoryTableConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2931
+ UpdateBucketMetadataInventoryTableConfigurationRequest.add_member(:inventory_table_configuration, Shapes::ShapeRef.new(shape: InventoryTableConfigurationUpdates, required: true, location_name: "InventoryTableConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2932
+ UpdateBucketMetadataInventoryTableConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2933
+ UpdateBucketMetadataInventoryTableConfigurationRequest.struct_class = Types::UpdateBucketMetadataInventoryTableConfigurationRequest
2934
+ UpdateBucketMetadataInventoryTableConfigurationRequest[:payload] = :inventory_table_configuration
2935
+ UpdateBucketMetadataInventoryTableConfigurationRequest[:payload_member] = UpdateBucketMetadataInventoryTableConfigurationRequest.member(:inventory_table_configuration)
2936
+
2937
+ UpdateBucketMetadataJournalTableConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2938
+ UpdateBucketMetadataJournalTableConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2939
+ UpdateBucketMetadataJournalTableConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2940
+ UpdateBucketMetadataJournalTableConfigurationRequest.add_member(:journal_table_configuration, Shapes::ShapeRef.new(shape: JournalTableConfigurationUpdates, required: true, location_name: "JournalTableConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2941
+ UpdateBucketMetadataJournalTableConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2942
+ UpdateBucketMetadataJournalTableConfigurationRequest.struct_class = Types::UpdateBucketMetadataJournalTableConfigurationRequest
2943
+ UpdateBucketMetadataJournalTableConfigurationRequest[:payload] = :journal_table_configuration
2944
+ UpdateBucketMetadataJournalTableConfigurationRequest[:payload_member] = UpdateBucketMetadataJournalTableConfigurationRequest.member(:journal_table_configuration)
2945
+
2374
2946
  UploadPartCopyOutput.add_member(:copy_source_version_id, Shapes::ShapeRef.new(shape: CopySourceVersionId, location: "header", location_name: "x-amz-copy-source-version-id"))
2375
2947
  UploadPartCopyOutput.add_member(:copy_part_result, Shapes::ShapeRef.new(shape: CopyPartResult, location_name: "CopyPartResult"))
2376
2948
  UploadPartCopyOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
@@ -2383,7 +2955,7 @@ module Aws::S3
2383
2955
  UploadPartCopyOutput[:payload] = :copy_part_result
2384
2956
  UploadPartCopyOutput[:payload_member] = UploadPartCopyOutput.member(:copy_part_result)
2385
2957
 
2386
- UploadPartCopyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2958
+ UploadPartCopyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2387
2959
  UploadPartCopyRequest.add_member(:copy_source, Shapes::ShapeRef.new(shape: CopySource, required: true, location: "header", location_name: "x-amz-copy-source"))
2388
2960
  UploadPartCopyRequest.add_member(:copy_source_if_match, Shapes::ShapeRef.new(shape: CopySourceIfMatch, location: "header", location_name: "x-amz-copy-source-if-match"))
2389
2961
  UploadPartCopyRequest.add_member(:copy_source_if_modified_since, Shapes::ShapeRef.new(shape: CopySourceIfModifiedSince, location: "header", location_name: "x-amz-copy-source-if-modified-since"))
@@ -2406,6 +2978,11 @@ module Aws::S3
2406
2978
 
2407
2979
  UploadPartOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2408
2980
  UploadPartOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
2981
+ UploadPartOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2982
+ UploadPartOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2983
+ UploadPartOutput.add_member(:checksum_crc64nvme, Shapes::ShapeRef.new(shape: ChecksumCRC64NVME, location: "header", location_name: "x-amz-checksum-crc64nvme"))
2984
+ UploadPartOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2985
+ UploadPartOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2409
2986
  UploadPartOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2410
2987
  UploadPartOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
2411
2988
  UploadPartOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
@@ -2413,11 +2990,17 @@ module Aws::S3
2413
2990
  UploadPartOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2414
2991
  UploadPartOutput.struct_class = Types::UploadPartOutput
2415
2992
 
2416
- UploadPartRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
2417
- UploadPartRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2993
+ UploadPartRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming" => true}))
2994
+ UploadPartRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2418
2995
  UploadPartRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2419
2996
  UploadPartRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2420
- UploadPartRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2997
+ UploadPartRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2998
+ UploadPartRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2999
+ UploadPartRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
3000
+ UploadPartRequest.add_member(:checksum_crc64nvme, Shapes::ShapeRef.new(shape: ChecksumCRC64NVME, location: "header", location_name: "x-amz-checksum-crc64nvme"))
3001
+ UploadPartRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
3002
+ UploadPartRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
3003
+ UploadPartRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
2421
3004
  UploadPartRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, required: true, location: "querystring", location_name: "partNumber"))
2422
3005
  UploadPartRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
2423
3006
  UploadPartRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
@@ -2441,9 +3024,9 @@ module Aws::S3
2441
3024
  WebsiteConfiguration.add_member(:routing_rules, Shapes::ShapeRef.new(shape: RoutingRules, location_name: "RoutingRules"))
2442
3025
  WebsiteConfiguration.struct_class = Types::WebsiteConfiguration
2443
3026
 
2444
- WriteGetObjectResponseRequest.add_member(:request_route, Shapes::ShapeRef.new(shape: RequestRoute, required: true, location: "header", location_name: "x-amz-request-route", metadata: {"hostLabel"=>true, "hostLabelName"=>"RequestRoute"}))
3027
+ WriteGetObjectResponseRequest.add_member(:request_route, Shapes::ShapeRef.new(shape: RequestRoute, required: true, location: "header", location_name: "x-amz-request-route", metadata: {"hostLabel" => true, "hostLabelName" => "RequestRoute"}))
2445
3028
  WriteGetObjectResponseRequest.add_member(:request_token, Shapes::ShapeRef.new(shape: RequestToken, required: true, location: "header", location_name: "x-amz-request-token"))
2446
- WriteGetObjectResponseRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
3029
+ WriteGetObjectResponseRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming" => true}))
2447
3030
  WriteGetObjectResponseRequest.add_member(:status_code, Shapes::ShapeRef.new(shape: GetObjectResponseStatusCode, location: "header", location_name: "x-amz-fwd-status"))
2448
3031
  WriteGetObjectResponseRequest.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location: "header", location_name: "x-amz-fwd-error-code"))
2449
3032
  WriteGetObjectResponseRequest.add_member(:error_message, Shapes::ShapeRef.new(shape: ErrorMessage, location: "header", location_name: "x-amz-fwd-error-message"))
@@ -2455,6 +3038,11 @@ module Aws::S3
2455
3038
  WriteGetObjectResponseRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2456
3039
  WriteGetObjectResponseRequest.add_member(:content_range, Shapes::ShapeRef.new(shape: ContentRange, location: "header", location_name: "x-amz-fwd-header-Content-Range"))
2457
3040
  WriteGetObjectResponseRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "x-amz-fwd-header-Content-Type"))
3041
+ WriteGetObjectResponseRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-crc32"))
3042
+ WriteGetObjectResponseRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-crc32c"))
3043
+ WriteGetObjectResponseRequest.add_member(:checksum_crc64nvme, Shapes::ShapeRef.new(shape: ChecksumCRC64NVME, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-crc64nvme"))
3044
+ WriteGetObjectResponseRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-sha1"))
3045
+ WriteGetObjectResponseRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-sha256"))
2458
3046
  WriteGetObjectResponseRequest.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-fwd-header-x-amz-delete-marker"))
2459
3047
  WriteGetObjectResponseRequest.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "x-amz-fwd-header-ETag"))
2460
3048
  WriteGetObjectResponseRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "x-amz-fwd-header-Expires"))
@@ -2489,10 +3077,12 @@ module Aws::S3
2489
3077
 
2490
3078
  api.metadata = {
2491
3079
  "apiVersion" => "2006-03-01",
3080
+ "auth" => ["aws.auth#sigv4"],
2492
3081
  "checksumFormat" => "md5",
2493
3082
  "endpointPrefix" => "s3",
2494
3083
  "globalEndpoint" => "s3.amazonaws.com",
2495
3084
  "protocol" => "rest-xml",
3085
+ "protocols" => ["rest-xml"],
2496
3086
  "serviceAbbreviation" => "Amazon S3",
2497
3087
  "serviceFullName" => "Amazon Simple Storage Service",
2498
3088
  "serviceId" => "S3",
@@ -2502,7 +3092,7 @@ module Aws::S3
2502
3092
  api.add_operation(:abort_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2503
3093
  o.name = "AbortMultipartUpload"
2504
3094
  o.http_method = "DELETE"
2505
- o.http_request_uri = "/{Bucket}/{Key+}"
3095
+ o.http_request_uri = "/{Key+}"
2506
3096
  o.input = Shapes::ShapeRef.new(shape: AbortMultipartUploadRequest)
2507
3097
  o.output = Shapes::ShapeRef.new(shape: AbortMultipartUploadOutput)
2508
3098
  o.errors << Shapes::ShapeRef.new(shape: NoSuchUpload)
@@ -2511,7 +3101,7 @@ module Aws::S3
2511
3101
  api.add_operation(:complete_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2512
3102
  o.name = "CompleteMultipartUpload"
2513
3103
  o.http_method = "POST"
2514
- o.http_request_uri = "/{Bucket}/{Key+}"
3104
+ o.http_request_uri = "/{Key+}"
2515
3105
  o.input = Shapes::ShapeRef.new(shape: CompleteMultipartUploadRequest)
2516
3106
  o.output = Shapes::ShapeRef.new(shape: CompleteMultipartUploadOutput)
2517
3107
  end)
@@ -2519,7 +3109,7 @@ module Aws::S3
2519
3109
  api.add_operation(:copy_object, Seahorse::Model::Operation.new.tap do |o|
2520
3110
  o.name = "CopyObject"
2521
3111
  o.http_method = "PUT"
2522
- o.http_request_uri = "/{Bucket}/{Key+}"
3112
+ o.http_request_uri = "/{Key+}"
2523
3113
  o.input = Shapes::ShapeRef.new(shape: CopyObjectRequest)
2524
3114
  o.output = Shapes::ShapeRef.new(shape: CopyObjectOutput)
2525
3115
  o.errors << Shapes::ShapeRef.new(shape: ObjectNotInActiveTierError)
@@ -2528,25 +3118,66 @@ module Aws::S3
2528
3118
  api.add_operation(:create_bucket, Seahorse::Model::Operation.new.tap do |o|
2529
3119
  o.name = "CreateBucket"
2530
3120
  o.http_method = "PUT"
2531
- o.http_request_uri = "/{Bucket}"
3121
+ o.http_request_uri = "/"
2532
3122
  o.input = Shapes::ShapeRef.new(shape: CreateBucketRequest)
2533
3123
  o.output = Shapes::ShapeRef.new(shape: CreateBucketOutput)
2534
3124
  o.errors << Shapes::ShapeRef.new(shape: BucketAlreadyExists)
2535
3125
  o.errors << Shapes::ShapeRef.new(shape: BucketAlreadyOwnedByYou)
2536
3126
  end)
2537
3127
 
3128
+ api.add_operation(:create_bucket_metadata_configuration, Seahorse::Model::Operation.new.tap do |o|
3129
+ o.name = "CreateBucketMetadataConfiguration"
3130
+ o.http_method = "POST"
3131
+ o.http_request_uri = "/?metadataConfiguration"
3132
+ o.http_checksum = {
3133
+ "requestAlgorithmMember" => "checksum_algorithm",
3134
+ "requestChecksumRequired" => true,
3135
+ }
3136
+ o.http_checksum = {
3137
+ "requestAlgorithmMember" => "checksum_algorithm",
3138
+ "requestChecksumRequired" => true,
3139
+ }
3140
+ o.input = Shapes::ShapeRef.new(shape: CreateBucketMetadataConfigurationRequest)
3141
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3142
+ end)
3143
+
3144
+ api.add_operation(:create_bucket_metadata_table_configuration, Seahorse::Model::Operation.new.tap do |o|
3145
+ o.name = "CreateBucketMetadataTableConfiguration"
3146
+ o.http_method = "POST"
3147
+ o.http_request_uri = "/?metadataTable"
3148
+ o.http_checksum = {
3149
+ "requestAlgorithmMember" => "checksum_algorithm",
3150
+ "requestChecksumRequired" => true,
3151
+ }
3152
+ o.http_checksum = {
3153
+ "requestAlgorithmMember" => "checksum_algorithm",
3154
+ "requestChecksumRequired" => true,
3155
+ }
3156
+ o.input = Shapes::ShapeRef.new(shape: CreateBucketMetadataTableConfigurationRequest)
3157
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3158
+ end)
3159
+
2538
3160
  api.add_operation(:create_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2539
3161
  o.name = "CreateMultipartUpload"
2540
3162
  o.http_method = "POST"
2541
- o.http_request_uri = "/{Bucket}/{Key+}?uploads"
3163
+ o.http_request_uri = "/{Key+}?uploads"
2542
3164
  o.input = Shapes::ShapeRef.new(shape: CreateMultipartUploadRequest)
2543
3165
  o.output = Shapes::ShapeRef.new(shape: CreateMultipartUploadOutput)
2544
3166
  end)
2545
3167
 
3168
+ api.add_operation(:create_session, Seahorse::Model::Operation.new.tap do |o|
3169
+ o.name = "CreateSession"
3170
+ o.http_method = "GET"
3171
+ o.http_request_uri = "/?session"
3172
+ o.input = Shapes::ShapeRef.new(shape: CreateSessionRequest)
3173
+ o.output = Shapes::ShapeRef.new(shape: CreateSessionOutput)
3174
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
3175
+ end)
3176
+
2546
3177
  api.add_operation(:delete_bucket, Seahorse::Model::Operation.new.tap do |o|
2547
3178
  o.name = "DeleteBucket"
2548
3179
  o.http_method = "DELETE"
2549
- o.http_request_uri = "/{Bucket}"
3180
+ o.http_request_uri = "/"
2550
3181
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketRequest)
2551
3182
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2552
3183
  end)
@@ -2554,7 +3185,7 @@ module Aws::S3
2554
3185
  api.add_operation(:delete_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
2555
3186
  o.name = "DeleteBucketAnalyticsConfiguration"
2556
3187
  o.http_method = "DELETE"
2557
- o.http_request_uri = "/{Bucket}?analytics"
3188
+ o.http_request_uri = "/?analytics"
2558
3189
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketAnalyticsConfigurationRequest)
2559
3190
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2560
3191
  end)
@@ -2562,7 +3193,7 @@ module Aws::S3
2562
3193
  api.add_operation(:delete_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
2563
3194
  o.name = "DeleteBucketCors"
2564
3195
  o.http_method = "DELETE"
2565
- o.http_request_uri = "/{Bucket}?cors"
3196
+ o.http_request_uri = "/?cors"
2566
3197
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketCorsRequest)
2567
3198
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2568
3199
  end)
@@ -2570,7 +3201,7 @@ module Aws::S3
2570
3201
  api.add_operation(:delete_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2571
3202
  o.name = "DeleteBucketEncryption"
2572
3203
  o.http_method = "DELETE"
2573
- o.http_request_uri = "/{Bucket}?encryption"
3204
+ o.http_request_uri = "/?encryption"
2574
3205
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketEncryptionRequest)
2575
3206
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2576
3207
  end)
@@ -2578,7 +3209,7 @@ module Aws::S3
2578
3209
  api.add_operation(:delete_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
2579
3210
  o.name = "DeleteBucketIntelligentTieringConfiguration"
2580
3211
  o.http_method = "DELETE"
2581
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
3212
+ o.http_request_uri = "/?intelligent-tiering"
2582
3213
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketIntelligentTieringConfigurationRequest)
2583
3214
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2584
3215
  end)
@@ -2586,7 +3217,7 @@ module Aws::S3
2586
3217
  api.add_operation(:delete_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2587
3218
  o.name = "DeleteBucketInventoryConfiguration"
2588
3219
  o.http_method = "DELETE"
2589
- o.http_request_uri = "/{Bucket}?inventory"
3220
+ o.http_request_uri = "/?inventory"
2590
3221
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketInventoryConfigurationRequest)
2591
3222
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2592
3223
  end)
@@ -2594,15 +3225,31 @@ module Aws::S3
2594
3225
  api.add_operation(:delete_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2595
3226
  o.name = "DeleteBucketLifecycle"
2596
3227
  o.http_method = "DELETE"
2597
- o.http_request_uri = "/{Bucket}?lifecycle"
3228
+ o.http_request_uri = "/?lifecycle"
2598
3229
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketLifecycleRequest)
2599
3230
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2600
3231
  end)
2601
3232
 
3233
+ api.add_operation(:delete_bucket_metadata_configuration, Seahorse::Model::Operation.new.tap do |o|
3234
+ o.name = "DeleteBucketMetadataConfiguration"
3235
+ o.http_method = "DELETE"
3236
+ o.http_request_uri = "/?metadataConfiguration"
3237
+ o.input = Shapes::ShapeRef.new(shape: DeleteBucketMetadataConfigurationRequest)
3238
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3239
+ end)
3240
+
3241
+ api.add_operation(:delete_bucket_metadata_table_configuration, Seahorse::Model::Operation.new.tap do |o|
3242
+ o.name = "DeleteBucketMetadataTableConfiguration"
3243
+ o.http_method = "DELETE"
3244
+ o.http_request_uri = "/?metadataTable"
3245
+ o.input = Shapes::ShapeRef.new(shape: DeleteBucketMetadataTableConfigurationRequest)
3246
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3247
+ end)
3248
+
2602
3249
  api.add_operation(:delete_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2603
3250
  o.name = "DeleteBucketMetricsConfiguration"
2604
3251
  o.http_method = "DELETE"
2605
- o.http_request_uri = "/{Bucket}?metrics"
3252
+ o.http_request_uri = "/?metrics"
2606
3253
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketMetricsConfigurationRequest)
2607
3254
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2608
3255
  end)
@@ -2610,7 +3257,7 @@ module Aws::S3
2610
3257
  api.add_operation(:delete_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2611
3258
  o.name = "DeleteBucketOwnershipControls"
2612
3259
  o.http_method = "DELETE"
2613
- o.http_request_uri = "/{Bucket}?ownershipControls"
3260
+ o.http_request_uri = "/?ownershipControls"
2614
3261
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketOwnershipControlsRequest)
2615
3262
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2616
3263
  end)
@@ -2618,7 +3265,7 @@ module Aws::S3
2618
3265
  api.add_operation(:delete_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2619
3266
  o.name = "DeleteBucketPolicy"
2620
3267
  o.http_method = "DELETE"
2621
- o.http_request_uri = "/{Bucket}?policy"
3268
+ o.http_request_uri = "/?policy"
2622
3269
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketPolicyRequest)
2623
3270
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2624
3271
  end)
@@ -2626,7 +3273,7 @@ module Aws::S3
2626
3273
  api.add_operation(:delete_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2627
3274
  o.name = "DeleteBucketReplication"
2628
3275
  o.http_method = "DELETE"
2629
- o.http_request_uri = "/{Bucket}?replication"
3276
+ o.http_request_uri = "/?replication"
2630
3277
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketReplicationRequest)
2631
3278
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2632
3279
  end)
@@ -2634,7 +3281,7 @@ module Aws::S3
2634
3281
  api.add_operation(:delete_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2635
3282
  o.name = "DeleteBucketTagging"
2636
3283
  o.http_method = "DELETE"
2637
- o.http_request_uri = "/{Bucket}?tagging"
3284
+ o.http_request_uri = "/?tagging"
2638
3285
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketTaggingRequest)
2639
3286
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2640
3287
  end)
@@ -2642,7 +3289,7 @@ module Aws::S3
2642
3289
  api.add_operation(:delete_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2643
3290
  o.name = "DeleteBucketWebsite"
2644
3291
  o.http_method = "DELETE"
2645
- o.http_request_uri = "/{Bucket}?website"
3292
+ o.http_request_uri = "/?website"
2646
3293
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketWebsiteRequest)
2647
3294
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2648
3295
  end)
@@ -2650,7 +3297,7 @@ module Aws::S3
2650
3297
  api.add_operation(:delete_object, Seahorse::Model::Operation.new.tap do |o|
2651
3298
  o.name = "DeleteObject"
2652
3299
  o.http_method = "DELETE"
2653
- o.http_request_uri = "/{Bucket}/{Key+}"
3300
+ o.http_request_uri = "/{Key+}"
2654
3301
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectRequest)
2655
3302
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectOutput)
2656
3303
  end)
@@ -2658,7 +3305,7 @@ module Aws::S3
2658
3305
  api.add_operation(:delete_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2659
3306
  o.name = "DeleteObjectTagging"
2660
3307
  o.http_method = "DELETE"
2661
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3308
+ o.http_request_uri = "/{Key+}?tagging"
2662
3309
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectTaggingRequest)
2663
3310
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectTaggingOutput)
2664
3311
  end)
@@ -2666,8 +3313,15 @@ module Aws::S3
2666
3313
  api.add_operation(:delete_objects, Seahorse::Model::Operation.new.tap do |o|
2667
3314
  o.name = "DeleteObjects"
2668
3315
  o.http_method = "POST"
2669
- o.http_request_uri = "/{Bucket}?delete"
2670
- o.http_checksum_required = true
3316
+ o.http_request_uri = "/?delete"
3317
+ o.http_checksum = {
3318
+ "requestAlgorithmMember" => "checksum_algorithm",
3319
+ "requestChecksumRequired" => true,
3320
+ }
3321
+ o.http_checksum = {
3322
+ "requestAlgorithmMember" => "checksum_algorithm",
3323
+ "requestChecksumRequired" => true,
3324
+ }
2671
3325
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectsRequest)
2672
3326
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectsOutput)
2673
3327
  end)
@@ -2675,7 +3329,7 @@ module Aws::S3
2675
3329
  api.add_operation(:delete_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2676
3330
  o.name = "DeletePublicAccessBlock"
2677
3331
  o.http_method = "DELETE"
2678
- o.http_request_uri = "/{Bucket}?publicAccessBlock"
3332
+ o.http_request_uri = "/?publicAccessBlock"
2679
3333
  o.input = Shapes::ShapeRef.new(shape: DeletePublicAccessBlockRequest)
2680
3334
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2681
3335
  end)
@@ -2683,7 +3337,7 @@ module Aws::S3
2683
3337
  api.add_operation(:get_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
2684
3338
  o.name = "GetBucketAccelerateConfiguration"
2685
3339
  o.http_method = "GET"
2686
- o.http_request_uri = "/{Bucket}?accelerate"
3340
+ o.http_request_uri = "/?accelerate"
2687
3341
  o.input = Shapes::ShapeRef.new(shape: GetBucketAccelerateConfigurationRequest)
2688
3342
  o.output = Shapes::ShapeRef.new(shape: GetBucketAccelerateConfigurationOutput)
2689
3343
  end)
@@ -2691,7 +3345,7 @@ module Aws::S3
2691
3345
  api.add_operation(:get_bucket_acl, Seahorse::Model::Operation.new.tap do |o|
2692
3346
  o.name = "GetBucketAcl"
2693
3347
  o.http_method = "GET"
2694
- o.http_request_uri = "/{Bucket}?acl"
3348
+ o.http_request_uri = "/?acl"
2695
3349
  o.input = Shapes::ShapeRef.new(shape: GetBucketAclRequest)
2696
3350
  o.output = Shapes::ShapeRef.new(shape: GetBucketAclOutput)
2697
3351
  end)
@@ -2699,7 +3353,7 @@ module Aws::S3
2699
3353
  api.add_operation(:get_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
2700
3354
  o.name = "GetBucketAnalyticsConfiguration"
2701
3355
  o.http_method = "GET"
2702
- o.http_request_uri = "/{Bucket}?analytics"
3356
+ o.http_request_uri = "/?analytics"
2703
3357
  o.input = Shapes::ShapeRef.new(shape: GetBucketAnalyticsConfigurationRequest)
2704
3358
  o.output = Shapes::ShapeRef.new(shape: GetBucketAnalyticsConfigurationOutput)
2705
3359
  end)
@@ -2707,7 +3361,7 @@ module Aws::S3
2707
3361
  api.add_operation(:get_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
2708
3362
  o.name = "GetBucketCors"
2709
3363
  o.http_method = "GET"
2710
- o.http_request_uri = "/{Bucket}?cors"
3364
+ o.http_request_uri = "/?cors"
2711
3365
  o.input = Shapes::ShapeRef.new(shape: GetBucketCorsRequest)
2712
3366
  o.output = Shapes::ShapeRef.new(shape: GetBucketCorsOutput)
2713
3367
  end)
@@ -2715,7 +3369,7 @@ module Aws::S3
2715
3369
  api.add_operation(:get_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2716
3370
  o.name = "GetBucketEncryption"
2717
3371
  o.http_method = "GET"
2718
- o.http_request_uri = "/{Bucket}?encryption"
3372
+ o.http_request_uri = "/?encryption"
2719
3373
  o.input = Shapes::ShapeRef.new(shape: GetBucketEncryptionRequest)
2720
3374
  o.output = Shapes::ShapeRef.new(shape: GetBucketEncryptionOutput)
2721
3375
  end)
@@ -2723,7 +3377,7 @@ module Aws::S3
2723
3377
  api.add_operation(:get_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
2724
3378
  o.name = "GetBucketIntelligentTieringConfiguration"
2725
3379
  o.http_method = "GET"
2726
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
3380
+ o.http_request_uri = "/?intelligent-tiering"
2727
3381
  o.input = Shapes::ShapeRef.new(shape: GetBucketIntelligentTieringConfigurationRequest)
2728
3382
  o.output = Shapes::ShapeRef.new(shape: GetBucketIntelligentTieringConfigurationOutput)
2729
3383
  end)
@@ -2731,7 +3385,7 @@ module Aws::S3
2731
3385
  api.add_operation(:get_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2732
3386
  o.name = "GetBucketInventoryConfiguration"
2733
3387
  o.http_method = "GET"
2734
- o.http_request_uri = "/{Bucket}?inventory"
3388
+ o.http_request_uri = "/?inventory"
2735
3389
  o.input = Shapes::ShapeRef.new(shape: GetBucketInventoryConfigurationRequest)
2736
3390
  o.output = Shapes::ShapeRef.new(shape: GetBucketInventoryConfigurationOutput)
2737
3391
  end)
@@ -2739,7 +3393,7 @@ module Aws::S3
2739
3393
  api.add_operation(:get_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2740
3394
  o.name = "GetBucketLifecycle"
2741
3395
  o.http_method = "GET"
2742
- o.http_request_uri = "/{Bucket}?lifecycle"
3396
+ o.http_request_uri = "/?lifecycle"
2743
3397
  o.deprecated = true
2744
3398
  o.input = Shapes::ShapeRef.new(shape: GetBucketLifecycleRequest)
2745
3399
  o.output = Shapes::ShapeRef.new(shape: GetBucketLifecycleOutput)
@@ -2748,7 +3402,7 @@ module Aws::S3
2748
3402
  api.add_operation(:get_bucket_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
2749
3403
  o.name = "GetBucketLifecycleConfiguration"
2750
3404
  o.http_method = "GET"
2751
- o.http_request_uri = "/{Bucket}?lifecycle"
3405
+ o.http_request_uri = "/?lifecycle"
2752
3406
  o.input = Shapes::ShapeRef.new(shape: GetBucketLifecycleConfigurationRequest)
2753
3407
  o.output = Shapes::ShapeRef.new(shape: GetBucketLifecycleConfigurationOutput)
2754
3408
  end)
@@ -2756,7 +3410,7 @@ module Aws::S3
2756
3410
  api.add_operation(:get_bucket_location, Seahorse::Model::Operation.new.tap do |o|
2757
3411
  o.name = "GetBucketLocation"
2758
3412
  o.http_method = "GET"
2759
- o.http_request_uri = "/{Bucket}?location"
3413
+ o.http_request_uri = "/?location"
2760
3414
  o.input = Shapes::ShapeRef.new(shape: GetBucketLocationRequest)
2761
3415
  o.output = Shapes::ShapeRef.new(shape: GetBucketLocationOutput)
2762
3416
  end)
@@ -2764,15 +3418,31 @@ module Aws::S3
2764
3418
  api.add_operation(:get_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
2765
3419
  o.name = "GetBucketLogging"
2766
3420
  o.http_method = "GET"
2767
- o.http_request_uri = "/{Bucket}?logging"
3421
+ o.http_request_uri = "/?logging"
2768
3422
  o.input = Shapes::ShapeRef.new(shape: GetBucketLoggingRequest)
2769
3423
  o.output = Shapes::ShapeRef.new(shape: GetBucketLoggingOutput)
2770
3424
  end)
2771
3425
 
3426
+ api.add_operation(:get_bucket_metadata_configuration, Seahorse::Model::Operation.new.tap do |o|
3427
+ o.name = "GetBucketMetadataConfiguration"
3428
+ o.http_method = "GET"
3429
+ o.http_request_uri = "/?metadataConfiguration"
3430
+ o.input = Shapes::ShapeRef.new(shape: GetBucketMetadataConfigurationRequest)
3431
+ o.output = Shapes::ShapeRef.new(shape: GetBucketMetadataConfigurationOutput)
3432
+ end)
3433
+
3434
+ api.add_operation(:get_bucket_metadata_table_configuration, Seahorse::Model::Operation.new.tap do |o|
3435
+ o.name = "GetBucketMetadataTableConfiguration"
3436
+ o.http_method = "GET"
3437
+ o.http_request_uri = "/?metadataTable"
3438
+ o.input = Shapes::ShapeRef.new(shape: GetBucketMetadataTableConfigurationRequest)
3439
+ o.output = Shapes::ShapeRef.new(shape: GetBucketMetadataTableConfigurationOutput)
3440
+ end)
3441
+
2772
3442
  api.add_operation(:get_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2773
3443
  o.name = "GetBucketMetricsConfiguration"
2774
3444
  o.http_method = "GET"
2775
- o.http_request_uri = "/{Bucket}?metrics"
3445
+ o.http_request_uri = "/?metrics"
2776
3446
  o.input = Shapes::ShapeRef.new(shape: GetBucketMetricsConfigurationRequest)
2777
3447
  o.output = Shapes::ShapeRef.new(shape: GetBucketMetricsConfigurationOutput)
2778
3448
  end)
@@ -2780,7 +3450,7 @@ module Aws::S3
2780
3450
  api.add_operation(:get_bucket_notification, Seahorse::Model::Operation.new.tap do |o|
2781
3451
  o.name = "GetBucketNotification"
2782
3452
  o.http_method = "GET"
2783
- o.http_request_uri = "/{Bucket}?notification"
3453
+ o.http_request_uri = "/?notification"
2784
3454
  o.deprecated = true
2785
3455
  o.input = Shapes::ShapeRef.new(shape: GetBucketNotificationConfigurationRequest)
2786
3456
  o.output = Shapes::ShapeRef.new(shape: NotificationConfigurationDeprecated)
@@ -2789,7 +3459,7 @@ module Aws::S3
2789
3459
  api.add_operation(:get_bucket_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
2790
3460
  o.name = "GetBucketNotificationConfiguration"
2791
3461
  o.http_method = "GET"
2792
- o.http_request_uri = "/{Bucket}?notification"
3462
+ o.http_request_uri = "/?notification"
2793
3463
  o.input = Shapes::ShapeRef.new(shape: GetBucketNotificationConfigurationRequest)
2794
3464
  o.output = Shapes::ShapeRef.new(shape: NotificationConfiguration)
2795
3465
  end)
@@ -2797,7 +3467,7 @@ module Aws::S3
2797
3467
  api.add_operation(:get_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2798
3468
  o.name = "GetBucketOwnershipControls"
2799
3469
  o.http_method = "GET"
2800
- o.http_request_uri = "/{Bucket}?ownershipControls"
3470
+ o.http_request_uri = "/?ownershipControls"
2801
3471
  o.input = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsRequest)
2802
3472
  o.output = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsOutput)
2803
3473
  end)
@@ -2805,7 +3475,7 @@ module Aws::S3
2805
3475
  api.add_operation(:get_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2806
3476
  o.name = "GetBucketPolicy"
2807
3477
  o.http_method = "GET"
2808
- o.http_request_uri = "/{Bucket}?policy"
3478
+ o.http_request_uri = "/?policy"
2809
3479
  o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyRequest)
2810
3480
  o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyOutput)
2811
3481
  end)
@@ -2813,7 +3483,7 @@ module Aws::S3
2813
3483
  api.add_operation(:get_bucket_policy_status, Seahorse::Model::Operation.new.tap do |o|
2814
3484
  o.name = "GetBucketPolicyStatus"
2815
3485
  o.http_method = "GET"
2816
- o.http_request_uri = "/{Bucket}?policyStatus"
3486
+ o.http_request_uri = "/?policyStatus"
2817
3487
  o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusRequest)
2818
3488
  o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusOutput)
2819
3489
  end)
@@ -2821,7 +3491,7 @@ module Aws::S3
2821
3491
  api.add_operation(:get_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2822
3492
  o.name = "GetBucketReplication"
2823
3493
  o.http_method = "GET"
2824
- o.http_request_uri = "/{Bucket}?replication"
3494
+ o.http_request_uri = "/?replication"
2825
3495
  o.input = Shapes::ShapeRef.new(shape: GetBucketReplicationRequest)
2826
3496
  o.output = Shapes::ShapeRef.new(shape: GetBucketReplicationOutput)
2827
3497
  end)
@@ -2829,7 +3499,7 @@ module Aws::S3
2829
3499
  api.add_operation(:get_bucket_request_payment, Seahorse::Model::Operation.new.tap do |o|
2830
3500
  o.name = "GetBucketRequestPayment"
2831
3501
  o.http_method = "GET"
2832
- o.http_request_uri = "/{Bucket}?requestPayment"
3502
+ o.http_request_uri = "/?requestPayment"
2833
3503
  o.input = Shapes::ShapeRef.new(shape: GetBucketRequestPaymentRequest)
2834
3504
  o.output = Shapes::ShapeRef.new(shape: GetBucketRequestPaymentOutput)
2835
3505
  end)
@@ -2837,7 +3507,7 @@ module Aws::S3
2837
3507
  api.add_operation(:get_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2838
3508
  o.name = "GetBucketTagging"
2839
3509
  o.http_method = "GET"
2840
- o.http_request_uri = "/{Bucket}?tagging"
3510
+ o.http_request_uri = "/?tagging"
2841
3511
  o.input = Shapes::ShapeRef.new(shape: GetBucketTaggingRequest)
2842
3512
  o.output = Shapes::ShapeRef.new(shape: GetBucketTaggingOutput)
2843
3513
  end)
@@ -2845,7 +3515,7 @@ module Aws::S3
2845
3515
  api.add_operation(:get_bucket_versioning, Seahorse::Model::Operation.new.tap do |o|
2846
3516
  o.name = "GetBucketVersioning"
2847
3517
  o.http_method = "GET"
2848
- o.http_request_uri = "/{Bucket}?versioning"
3518
+ o.http_request_uri = "/?versioning"
2849
3519
  o.input = Shapes::ShapeRef.new(shape: GetBucketVersioningRequest)
2850
3520
  o.output = Shapes::ShapeRef.new(shape: GetBucketVersioningOutput)
2851
3521
  end)
@@ -2853,7 +3523,7 @@ module Aws::S3
2853
3523
  api.add_operation(:get_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2854
3524
  o.name = "GetBucketWebsite"
2855
3525
  o.http_method = "GET"
2856
- o.http_request_uri = "/{Bucket}?website"
3526
+ o.http_request_uri = "/?website"
2857
3527
  o.input = Shapes::ShapeRef.new(shape: GetBucketWebsiteRequest)
2858
3528
  o.output = Shapes::ShapeRef.new(shape: GetBucketWebsiteOutput)
2859
3529
  end)
@@ -2861,7 +3531,15 @@ module Aws::S3
2861
3531
  api.add_operation(:get_object, Seahorse::Model::Operation.new.tap do |o|
2862
3532
  o.name = "GetObject"
2863
3533
  o.http_method = "GET"
2864
- o.http_request_uri = "/{Bucket}/{Key+}"
3534
+ o.http_request_uri = "/{Key+}"
3535
+ o.http_checksum = {
3536
+ "requestValidationModeMember" => "checksum_mode",
3537
+ "responseAlgorithms" => ["CRC64NVME", "CRC32", "CRC32C", "SHA256", "SHA1"],
3538
+ }
3539
+ o.http_checksum = {
3540
+ "requestValidationModeMember" => "checksum_mode",
3541
+ "responseAlgorithms" => ["CRC64NVME", "CRC32", "CRC32C", "SHA256", "SHA1"],
3542
+ }
2865
3543
  o.input = Shapes::ShapeRef.new(shape: GetObjectRequest)
2866
3544
  o.output = Shapes::ShapeRef.new(shape: GetObjectOutput)
2867
3545
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -2871,16 +3549,25 @@ module Aws::S3
2871
3549
  api.add_operation(:get_object_acl, Seahorse::Model::Operation.new.tap do |o|
2872
3550
  o.name = "GetObjectAcl"
2873
3551
  o.http_method = "GET"
2874
- o.http_request_uri = "/{Bucket}/{Key+}?acl"
3552
+ o.http_request_uri = "/{Key+}?acl"
2875
3553
  o.input = Shapes::ShapeRef.new(shape: GetObjectAclRequest)
2876
3554
  o.output = Shapes::ShapeRef.new(shape: GetObjectAclOutput)
2877
3555
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
2878
3556
  end)
2879
3557
 
3558
+ api.add_operation(:get_object_attributes, Seahorse::Model::Operation.new.tap do |o|
3559
+ o.name = "GetObjectAttributes"
3560
+ o.http_method = "GET"
3561
+ o.http_request_uri = "/{Key+}?attributes"
3562
+ o.input = Shapes::ShapeRef.new(shape: GetObjectAttributesRequest)
3563
+ o.output = Shapes::ShapeRef.new(shape: GetObjectAttributesOutput)
3564
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
3565
+ end)
3566
+
2880
3567
  api.add_operation(:get_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
2881
3568
  o.name = "GetObjectLegalHold"
2882
3569
  o.http_method = "GET"
2883
- o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
3570
+ o.http_request_uri = "/{Key+}?legal-hold"
2884
3571
  o.input = Shapes::ShapeRef.new(shape: GetObjectLegalHoldRequest)
2885
3572
  o.output = Shapes::ShapeRef.new(shape: GetObjectLegalHoldOutput)
2886
3573
  end)
@@ -2888,7 +3575,7 @@ module Aws::S3
2888
3575
  api.add_operation(:get_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
2889
3576
  o.name = "GetObjectLockConfiguration"
2890
3577
  o.http_method = "GET"
2891
- o.http_request_uri = "/{Bucket}?object-lock"
3578
+ o.http_request_uri = "/?object-lock"
2892
3579
  o.input = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationRequest)
2893
3580
  o.output = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationOutput)
2894
3581
  end)
@@ -2896,7 +3583,7 @@ module Aws::S3
2896
3583
  api.add_operation(:get_object_retention, Seahorse::Model::Operation.new.tap do |o|
2897
3584
  o.name = "GetObjectRetention"
2898
3585
  o.http_method = "GET"
2899
- o.http_request_uri = "/{Bucket}/{Key+}?retention"
3586
+ o.http_request_uri = "/{Key+}?retention"
2900
3587
  o.input = Shapes::ShapeRef.new(shape: GetObjectRetentionRequest)
2901
3588
  o.output = Shapes::ShapeRef.new(shape: GetObjectRetentionOutput)
2902
3589
  end)
@@ -2904,7 +3591,7 @@ module Aws::S3
2904
3591
  api.add_operation(:get_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2905
3592
  o.name = "GetObjectTagging"
2906
3593
  o.http_method = "GET"
2907
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3594
+ o.http_request_uri = "/{Key+}?tagging"
2908
3595
  o.input = Shapes::ShapeRef.new(shape: GetObjectTaggingRequest)
2909
3596
  o.output = Shapes::ShapeRef.new(shape: GetObjectTaggingOutput)
2910
3597
  end)
@@ -2912,7 +3599,7 @@ module Aws::S3
2912
3599
  api.add_operation(:get_object_torrent, Seahorse::Model::Operation.new.tap do |o|
2913
3600
  o.name = "GetObjectTorrent"
2914
3601
  o.http_method = "GET"
2915
- o.http_request_uri = "/{Bucket}/{Key+}?torrent"
3602
+ o.http_request_uri = "/{Key+}?torrent"
2916
3603
  o.input = Shapes::ShapeRef.new(shape: GetObjectTorrentRequest)
2917
3604
  o.output = Shapes::ShapeRef.new(shape: GetObjectTorrentOutput)
2918
3605
  end)
@@ -2920,7 +3607,7 @@ module Aws::S3
2920
3607
  api.add_operation(:get_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2921
3608
  o.name = "GetPublicAccessBlock"
2922
3609
  o.http_method = "GET"
2923
- o.http_request_uri = "/{Bucket}?publicAccessBlock"
3610
+ o.http_request_uri = "/?publicAccessBlock"
2924
3611
  o.input = Shapes::ShapeRef.new(shape: GetPublicAccessBlockRequest)
2925
3612
  o.output = Shapes::ShapeRef.new(shape: GetPublicAccessBlockOutput)
2926
3613
  end)
@@ -2928,16 +3615,16 @@ module Aws::S3
2928
3615
  api.add_operation(:head_bucket, Seahorse::Model::Operation.new.tap do |o|
2929
3616
  o.name = "HeadBucket"
2930
3617
  o.http_method = "HEAD"
2931
- o.http_request_uri = "/{Bucket}"
3618
+ o.http_request_uri = "/"
2932
3619
  o.input = Shapes::ShapeRef.new(shape: HeadBucketRequest)
2933
- o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3620
+ o.output = Shapes::ShapeRef.new(shape: HeadBucketOutput)
2934
3621
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
2935
3622
  end)
2936
3623
 
2937
3624
  api.add_operation(:head_object, Seahorse::Model::Operation.new.tap do |o|
2938
3625
  o.name = "HeadObject"
2939
3626
  o.http_method = "HEAD"
2940
- o.http_request_uri = "/{Bucket}/{Key+}"
3627
+ o.http_request_uri = "/{Key+}"
2941
3628
  o.input = Shapes::ShapeRef.new(shape: HeadObjectRequest)
2942
3629
  o.output = Shapes::ShapeRef.new(shape: HeadObjectOutput)
2943
3630
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -2946,7 +3633,7 @@ module Aws::S3
2946
3633
  api.add_operation(:list_bucket_analytics_configurations, Seahorse::Model::Operation.new.tap do |o|
2947
3634
  o.name = "ListBucketAnalyticsConfigurations"
2948
3635
  o.http_method = "GET"
2949
- o.http_request_uri = "/{Bucket}?analytics"
3636
+ o.http_request_uri = "/?analytics"
2950
3637
  o.input = Shapes::ShapeRef.new(shape: ListBucketAnalyticsConfigurationsRequest)
2951
3638
  o.output = Shapes::ShapeRef.new(shape: ListBucketAnalyticsConfigurationsOutput)
2952
3639
  end)
@@ -2954,7 +3641,7 @@ module Aws::S3
2954
3641
  api.add_operation(:list_bucket_intelligent_tiering_configurations, Seahorse::Model::Operation.new.tap do |o|
2955
3642
  o.name = "ListBucketIntelligentTieringConfigurations"
2956
3643
  o.http_method = "GET"
2957
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
3644
+ o.http_request_uri = "/?intelligent-tiering"
2958
3645
  o.input = Shapes::ShapeRef.new(shape: ListBucketIntelligentTieringConfigurationsRequest)
2959
3646
  o.output = Shapes::ShapeRef.new(shape: ListBucketIntelligentTieringConfigurationsOutput)
2960
3647
  end)
@@ -2962,7 +3649,7 @@ module Aws::S3
2962
3649
  api.add_operation(:list_bucket_inventory_configurations, Seahorse::Model::Operation.new.tap do |o|
2963
3650
  o.name = "ListBucketInventoryConfigurations"
2964
3651
  o.http_method = "GET"
2965
- o.http_request_uri = "/{Bucket}?inventory"
3652
+ o.http_request_uri = "/?inventory"
2966
3653
  o.input = Shapes::ShapeRef.new(shape: ListBucketInventoryConfigurationsRequest)
2967
3654
  o.output = Shapes::ShapeRef.new(shape: ListBucketInventoryConfigurationsOutput)
2968
3655
  end)
@@ -2970,7 +3657,7 @@ module Aws::S3
2970
3657
  api.add_operation(:list_bucket_metrics_configurations, Seahorse::Model::Operation.new.tap do |o|
2971
3658
  o.name = "ListBucketMetricsConfigurations"
2972
3659
  o.http_method = "GET"
2973
- o.http_request_uri = "/{Bucket}?metrics"
3660
+ o.http_request_uri = "/?metrics"
2974
3661
  o.input = Shapes::ShapeRef.new(shape: ListBucketMetricsConfigurationsRequest)
2975
3662
  o.output = Shapes::ShapeRef.new(shape: ListBucketMetricsConfigurationsOutput)
2976
3663
  end)
@@ -2979,14 +3666,34 @@ module Aws::S3
2979
3666
  o.name = "ListBuckets"
2980
3667
  o.http_method = "GET"
2981
3668
  o.http_request_uri = "/"
2982
- o.input = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3669
+ o.input = Shapes::ShapeRef.new(shape: ListBucketsRequest)
2983
3670
  o.output = Shapes::ShapeRef.new(shape: ListBucketsOutput)
3671
+ o[:pager] = Aws::Pager.new(
3672
+ limit_key: "max_buckets",
3673
+ tokens: {
3674
+ "continuation_token" => "continuation_token"
3675
+ }
3676
+ )
3677
+ end)
3678
+
3679
+ api.add_operation(:list_directory_buckets, Seahorse::Model::Operation.new.tap do |o|
3680
+ o.name = "ListDirectoryBuckets"
3681
+ o.http_method = "GET"
3682
+ o.http_request_uri = "/"
3683
+ o.input = Shapes::ShapeRef.new(shape: ListDirectoryBucketsRequest)
3684
+ o.output = Shapes::ShapeRef.new(shape: ListDirectoryBucketsOutput)
3685
+ o[:pager] = Aws::Pager.new(
3686
+ limit_key: "max_directory_buckets",
3687
+ tokens: {
3688
+ "continuation_token" => "continuation_token"
3689
+ }
3690
+ )
2984
3691
  end)
2985
3692
 
2986
3693
  api.add_operation(:list_multipart_uploads, Seahorse::Model::Operation.new.tap do |o|
2987
3694
  o.name = "ListMultipartUploads"
2988
3695
  o.http_method = "GET"
2989
- o.http_request_uri = "/{Bucket}?uploads"
3696
+ o.http_request_uri = "/?uploads"
2990
3697
  o.input = Shapes::ShapeRef.new(shape: ListMultipartUploadsRequest)
2991
3698
  o.output = Shapes::ShapeRef.new(shape: ListMultipartUploadsOutput)
2992
3699
  o[:pager] = Aws::Pager.new(
@@ -3002,7 +3709,7 @@ module Aws::S3
3002
3709
  api.add_operation(:list_object_versions, Seahorse::Model::Operation.new.tap do |o|
3003
3710
  o.name = "ListObjectVersions"
3004
3711
  o.http_method = "GET"
3005
- o.http_request_uri = "/{Bucket}?versions"
3712
+ o.http_request_uri = "/?versions"
3006
3713
  o.input = Shapes::ShapeRef.new(shape: ListObjectVersionsRequest)
3007
3714
  o.output = Shapes::ShapeRef.new(shape: ListObjectVersionsOutput)
3008
3715
  o[:pager] = Aws::Pager.new(
@@ -3018,7 +3725,7 @@ module Aws::S3
3018
3725
  api.add_operation(:list_objects, Seahorse::Model::Operation.new.tap do |o|
3019
3726
  o.name = "ListObjects"
3020
3727
  o.http_method = "GET"
3021
- o.http_request_uri = "/{Bucket}"
3728
+ o.http_request_uri = "/"
3022
3729
  o.input = Shapes::ShapeRef.new(shape: ListObjectsRequest)
3023
3730
  o.output = Shapes::ShapeRef.new(shape: ListObjectsOutput)
3024
3731
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -3034,7 +3741,7 @@ module Aws::S3
3034
3741
  api.add_operation(:list_objects_v2, Seahorse::Model::Operation.new.tap do |o|
3035
3742
  o.name = "ListObjectsV2"
3036
3743
  o.http_method = "GET"
3037
- o.http_request_uri = "/{Bucket}?list-type=2"
3744
+ o.http_request_uri = "/?list-type=2"
3038
3745
  o.input = Shapes::ShapeRef.new(shape: ListObjectsV2Request)
3039
3746
  o.output = Shapes::ShapeRef.new(shape: ListObjectsV2Output)
3040
3747
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -3049,7 +3756,7 @@ module Aws::S3
3049
3756
  api.add_operation(:list_parts, Seahorse::Model::Operation.new.tap do |o|
3050
3757
  o.name = "ListParts"
3051
3758
  o.http_method = "GET"
3052
- o.http_request_uri = "/{Bucket}/{Key+}"
3759
+ o.http_request_uri = "/{Key+}"
3053
3760
  o.input = Shapes::ShapeRef.new(shape: ListPartsRequest)
3054
3761
  o.output = Shapes::ShapeRef.new(shape: ListPartsOutput)
3055
3762
  o[:pager] = Aws::Pager.new(
@@ -3064,7 +3771,15 @@ module Aws::S3
3064
3771
  api.add_operation(:put_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
3065
3772
  o.name = "PutBucketAccelerateConfiguration"
3066
3773
  o.http_method = "PUT"
3067
- o.http_request_uri = "/{Bucket}?accelerate"
3774
+ o.http_request_uri = "/?accelerate"
3775
+ o.http_checksum = {
3776
+ "requestAlgorithmMember" => "checksum_algorithm",
3777
+ "requestChecksumRequired" => false,
3778
+ }
3779
+ o.http_checksum = {
3780
+ "requestAlgorithmMember" => "checksum_algorithm",
3781
+ "requestChecksumRequired" => false,
3782
+ }
3068
3783
  o.input = Shapes::ShapeRef.new(shape: PutBucketAccelerateConfigurationRequest)
3069
3784
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3070
3785
  end)
@@ -3072,8 +3787,15 @@ module Aws::S3
3072
3787
  api.add_operation(:put_bucket_acl, Seahorse::Model::Operation.new.tap do |o|
3073
3788
  o.name = "PutBucketAcl"
3074
3789
  o.http_method = "PUT"
3075
- o.http_request_uri = "/{Bucket}?acl"
3076
- o.http_checksum_required = true
3790
+ o.http_request_uri = "/?acl"
3791
+ o.http_checksum = {
3792
+ "requestAlgorithmMember" => "checksum_algorithm",
3793
+ "requestChecksumRequired" => true,
3794
+ }
3795
+ o.http_checksum = {
3796
+ "requestAlgorithmMember" => "checksum_algorithm",
3797
+ "requestChecksumRequired" => true,
3798
+ }
3077
3799
  o.input = Shapes::ShapeRef.new(shape: PutBucketAclRequest)
3078
3800
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3079
3801
  end)
@@ -3081,7 +3803,7 @@ module Aws::S3
3081
3803
  api.add_operation(:put_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
3082
3804
  o.name = "PutBucketAnalyticsConfiguration"
3083
3805
  o.http_method = "PUT"
3084
- o.http_request_uri = "/{Bucket}?analytics"
3806
+ o.http_request_uri = "/?analytics"
3085
3807
  o.input = Shapes::ShapeRef.new(shape: PutBucketAnalyticsConfigurationRequest)
3086
3808
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3087
3809
  end)
@@ -3089,8 +3811,15 @@ module Aws::S3
3089
3811
  api.add_operation(:put_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
3090
3812
  o.name = "PutBucketCors"
3091
3813
  o.http_method = "PUT"
3092
- o.http_request_uri = "/{Bucket}?cors"
3093
- o.http_checksum_required = true
3814
+ o.http_request_uri = "/?cors"
3815
+ o.http_checksum = {
3816
+ "requestAlgorithmMember" => "checksum_algorithm",
3817
+ "requestChecksumRequired" => true,
3818
+ }
3819
+ o.http_checksum = {
3820
+ "requestAlgorithmMember" => "checksum_algorithm",
3821
+ "requestChecksumRequired" => true,
3822
+ }
3094
3823
  o.input = Shapes::ShapeRef.new(shape: PutBucketCorsRequest)
3095
3824
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3096
3825
  end)
@@ -3098,8 +3827,15 @@ module Aws::S3
3098
3827
  api.add_operation(:put_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
3099
3828
  o.name = "PutBucketEncryption"
3100
3829
  o.http_method = "PUT"
3101
- o.http_request_uri = "/{Bucket}?encryption"
3102
- o.http_checksum_required = true
3830
+ o.http_request_uri = "/?encryption"
3831
+ o.http_checksum = {
3832
+ "requestAlgorithmMember" => "checksum_algorithm",
3833
+ "requestChecksumRequired" => true,
3834
+ }
3835
+ o.http_checksum = {
3836
+ "requestAlgorithmMember" => "checksum_algorithm",
3837
+ "requestChecksumRequired" => true,
3838
+ }
3103
3839
  o.input = Shapes::ShapeRef.new(shape: PutBucketEncryptionRequest)
3104
3840
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3105
3841
  end)
@@ -3107,7 +3843,7 @@ module Aws::S3
3107
3843
  api.add_operation(:put_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
3108
3844
  o.name = "PutBucketIntelligentTieringConfiguration"
3109
3845
  o.http_method = "PUT"
3110
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
3846
+ o.http_request_uri = "/?intelligent-tiering"
3111
3847
  o.input = Shapes::ShapeRef.new(shape: PutBucketIntelligentTieringConfigurationRequest)
3112
3848
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3113
3849
  end)
@@ -3115,7 +3851,7 @@ module Aws::S3
3115
3851
  api.add_operation(:put_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
3116
3852
  o.name = "PutBucketInventoryConfiguration"
3117
3853
  o.http_method = "PUT"
3118
- o.http_request_uri = "/{Bucket}?inventory"
3854
+ o.http_request_uri = "/?inventory"
3119
3855
  o.input = Shapes::ShapeRef.new(shape: PutBucketInventoryConfigurationRequest)
3120
3856
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3121
3857
  end)
@@ -3123,8 +3859,15 @@ module Aws::S3
3123
3859
  api.add_operation(:put_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
3124
3860
  o.name = "PutBucketLifecycle"
3125
3861
  o.http_method = "PUT"
3126
- o.http_request_uri = "/{Bucket}?lifecycle"
3127
- o.http_checksum_required = true
3862
+ o.http_request_uri = "/?lifecycle"
3863
+ o.http_checksum = {
3864
+ "requestAlgorithmMember" => "checksum_algorithm",
3865
+ "requestChecksumRequired" => true,
3866
+ }
3867
+ o.http_checksum = {
3868
+ "requestAlgorithmMember" => "checksum_algorithm",
3869
+ "requestChecksumRequired" => true,
3870
+ }
3128
3871
  o.deprecated = true
3129
3872
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleRequest)
3130
3873
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -3133,17 +3876,31 @@ module Aws::S3
3133
3876
  api.add_operation(:put_bucket_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
3134
3877
  o.name = "PutBucketLifecycleConfiguration"
3135
3878
  o.http_method = "PUT"
3136
- o.http_request_uri = "/{Bucket}?lifecycle"
3137
- o.http_checksum_required = true
3879
+ o.http_request_uri = "/?lifecycle"
3880
+ o.http_checksum = {
3881
+ "requestAlgorithmMember" => "checksum_algorithm",
3882
+ "requestChecksumRequired" => true,
3883
+ }
3884
+ o.http_checksum = {
3885
+ "requestAlgorithmMember" => "checksum_algorithm",
3886
+ "requestChecksumRequired" => true,
3887
+ }
3138
3888
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationRequest)
3139
- o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3889
+ o.output = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationOutput)
3140
3890
  end)
3141
3891
 
3142
3892
  api.add_operation(:put_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
3143
3893
  o.name = "PutBucketLogging"
3144
3894
  o.http_method = "PUT"
3145
- o.http_request_uri = "/{Bucket}?logging"
3146
- o.http_checksum_required = true
3895
+ o.http_request_uri = "/?logging"
3896
+ o.http_checksum = {
3897
+ "requestAlgorithmMember" => "checksum_algorithm",
3898
+ "requestChecksumRequired" => true,
3899
+ }
3900
+ o.http_checksum = {
3901
+ "requestAlgorithmMember" => "checksum_algorithm",
3902
+ "requestChecksumRequired" => true,
3903
+ }
3147
3904
  o.input = Shapes::ShapeRef.new(shape: PutBucketLoggingRequest)
3148
3905
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3149
3906
  end)
@@ -3151,7 +3908,7 @@ module Aws::S3
3151
3908
  api.add_operation(:put_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
3152
3909
  o.name = "PutBucketMetricsConfiguration"
3153
3910
  o.http_method = "PUT"
3154
- o.http_request_uri = "/{Bucket}?metrics"
3911
+ o.http_request_uri = "/?metrics"
3155
3912
  o.input = Shapes::ShapeRef.new(shape: PutBucketMetricsConfigurationRequest)
3156
3913
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3157
3914
  end)
@@ -3159,8 +3916,15 @@ module Aws::S3
3159
3916
  api.add_operation(:put_bucket_notification, Seahorse::Model::Operation.new.tap do |o|
3160
3917
  o.name = "PutBucketNotification"
3161
3918
  o.http_method = "PUT"
3162
- o.http_request_uri = "/{Bucket}?notification"
3163
- o.http_checksum_required = true
3919
+ o.http_request_uri = "/?notification"
3920
+ o.http_checksum = {
3921
+ "requestAlgorithmMember" => "checksum_algorithm",
3922
+ "requestChecksumRequired" => true,
3923
+ }
3924
+ o.http_checksum = {
3925
+ "requestAlgorithmMember" => "checksum_algorithm",
3926
+ "requestChecksumRequired" => true,
3927
+ }
3164
3928
  o.deprecated = true
3165
3929
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationRequest)
3166
3930
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -3169,7 +3933,7 @@ module Aws::S3
3169
3933
  api.add_operation(:put_bucket_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
3170
3934
  o.name = "PutBucketNotificationConfiguration"
3171
3935
  o.http_method = "PUT"
3172
- o.http_request_uri = "/{Bucket}?notification"
3936
+ o.http_request_uri = "/?notification"
3173
3937
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationConfigurationRequest)
3174
3938
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3175
3939
  end)
@@ -3177,8 +3941,15 @@ module Aws::S3
3177
3941
  api.add_operation(:put_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
3178
3942
  o.name = "PutBucketOwnershipControls"
3179
3943
  o.http_method = "PUT"
3180
- o.http_request_uri = "/{Bucket}?ownershipControls"
3181
- o.http_checksum_required = true
3944
+ o.http_request_uri = "/?ownershipControls"
3945
+ o.http_checksum = {
3946
+ "requestAlgorithmMember" => "checksum_algorithm",
3947
+ "requestChecksumRequired" => true,
3948
+ }
3949
+ o.http_checksum = {
3950
+ "requestAlgorithmMember" => "checksum_algorithm",
3951
+ "requestChecksumRequired" => true,
3952
+ }
3182
3953
  o.input = Shapes::ShapeRef.new(shape: PutBucketOwnershipControlsRequest)
3183
3954
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3184
3955
  end)
@@ -3186,8 +3957,15 @@ module Aws::S3
3186
3957
  api.add_operation(:put_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
3187
3958
  o.name = "PutBucketPolicy"
3188
3959
  o.http_method = "PUT"
3189
- o.http_request_uri = "/{Bucket}?policy"
3190
- o.http_checksum_required = true
3960
+ o.http_request_uri = "/?policy"
3961
+ o.http_checksum = {
3962
+ "requestAlgorithmMember" => "checksum_algorithm",
3963
+ "requestChecksumRequired" => true,
3964
+ }
3965
+ o.http_checksum = {
3966
+ "requestAlgorithmMember" => "checksum_algorithm",
3967
+ "requestChecksumRequired" => true,
3968
+ }
3191
3969
  o.input = Shapes::ShapeRef.new(shape: PutBucketPolicyRequest)
3192
3970
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3193
3971
  end)
@@ -3195,8 +3973,15 @@ module Aws::S3
3195
3973
  api.add_operation(:put_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
3196
3974
  o.name = "PutBucketReplication"
3197
3975
  o.http_method = "PUT"
3198
- o.http_request_uri = "/{Bucket}?replication"
3199
- o.http_checksum_required = true
3976
+ o.http_request_uri = "/?replication"
3977
+ o.http_checksum = {
3978
+ "requestAlgorithmMember" => "checksum_algorithm",
3979
+ "requestChecksumRequired" => true,
3980
+ }
3981
+ o.http_checksum = {
3982
+ "requestAlgorithmMember" => "checksum_algorithm",
3983
+ "requestChecksumRequired" => true,
3984
+ }
3200
3985
  o.input = Shapes::ShapeRef.new(shape: PutBucketReplicationRequest)
3201
3986
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3202
3987
  end)
@@ -3204,8 +3989,15 @@ module Aws::S3
3204
3989
  api.add_operation(:put_bucket_request_payment, Seahorse::Model::Operation.new.tap do |o|
3205
3990
  o.name = "PutBucketRequestPayment"
3206
3991
  o.http_method = "PUT"
3207
- o.http_request_uri = "/{Bucket}?requestPayment"
3208
- o.http_checksum_required = true
3992
+ o.http_request_uri = "/?requestPayment"
3993
+ o.http_checksum = {
3994
+ "requestAlgorithmMember" => "checksum_algorithm",
3995
+ "requestChecksumRequired" => true,
3996
+ }
3997
+ o.http_checksum = {
3998
+ "requestAlgorithmMember" => "checksum_algorithm",
3999
+ "requestChecksumRequired" => true,
4000
+ }
3209
4001
  o.input = Shapes::ShapeRef.new(shape: PutBucketRequestPaymentRequest)
3210
4002
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3211
4003
  end)
@@ -3213,8 +4005,15 @@ module Aws::S3
3213
4005
  api.add_operation(:put_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
3214
4006
  o.name = "PutBucketTagging"
3215
4007
  o.http_method = "PUT"
3216
- o.http_request_uri = "/{Bucket}?tagging"
3217
- o.http_checksum_required = true
4008
+ o.http_request_uri = "/?tagging"
4009
+ o.http_checksum = {
4010
+ "requestAlgorithmMember" => "checksum_algorithm",
4011
+ "requestChecksumRequired" => true,
4012
+ }
4013
+ o.http_checksum = {
4014
+ "requestAlgorithmMember" => "checksum_algorithm",
4015
+ "requestChecksumRequired" => true,
4016
+ }
3218
4017
  o.input = Shapes::ShapeRef.new(shape: PutBucketTaggingRequest)
3219
4018
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3220
4019
  end)
@@ -3222,8 +4021,15 @@ module Aws::S3
3222
4021
  api.add_operation(:put_bucket_versioning, Seahorse::Model::Operation.new.tap do |o|
3223
4022
  o.name = "PutBucketVersioning"
3224
4023
  o.http_method = "PUT"
3225
- o.http_request_uri = "/{Bucket}?versioning"
3226
- o.http_checksum_required = true
4024
+ o.http_request_uri = "/?versioning"
4025
+ o.http_checksum = {
4026
+ "requestAlgorithmMember" => "checksum_algorithm",
4027
+ "requestChecksumRequired" => true,
4028
+ }
4029
+ o.http_checksum = {
4030
+ "requestAlgorithmMember" => "checksum_algorithm",
4031
+ "requestChecksumRequired" => true,
4032
+ }
3227
4033
  o.input = Shapes::ShapeRef.new(shape: PutBucketVersioningRequest)
3228
4034
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3229
4035
  end)
@@ -3231,8 +4037,15 @@ module Aws::S3
3231
4037
  api.add_operation(:put_bucket_website, Seahorse::Model::Operation.new.tap do |o|
3232
4038
  o.name = "PutBucketWebsite"
3233
4039
  o.http_method = "PUT"
3234
- o.http_request_uri = "/{Bucket}?website"
3235
- o.http_checksum_required = true
4040
+ o.http_request_uri = "/?website"
4041
+ o.http_checksum = {
4042
+ "requestAlgorithmMember" => "checksum_algorithm",
4043
+ "requestChecksumRequired" => true,
4044
+ }
4045
+ o.http_checksum = {
4046
+ "requestAlgorithmMember" => "checksum_algorithm",
4047
+ "requestChecksumRequired" => true,
4048
+ }
3236
4049
  o.input = Shapes::ShapeRef.new(shape: PutBucketWebsiteRequest)
3237
4050
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3238
4051
  end)
@@ -3240,16 +4053,35 @@ module Aws::S3
3240
4053
  api.add_operation(:put_object, Seahorse::Model::Operation.new.tap do |o|
3241
4054
  o.name = "PutObject"
3242
4055
  o.http_method = "PUT"
3243
- o.http_request_uri = "/{Bucket}/{Key+}"
4056
+ o.http_request_uri = "/{Key+}"
4057
+ o.http_checksum = {
4058
+ "requestAlgorithmMember" => "checksum_algorithm",
4059
+ "requestChecksumRequired" => false,
4060
+ }
4061
+ o.http_checksum = {
4062
+ "requestAlgorithmMember" => "checksum_algorithm",
4063
+ "requestChecksumRequired" => false,
4064
+ }
3244
4065
  o.input = Shapes::ShapeRef.new(shape: PutObjectRequest)
3245
4066
  o.output = Shapes::ShapeRef.new(shape: PutObjectOutput)
4067
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequest)
4068
+ o.errors << Shapes::ShapeRef.new(shape: InvalidWriteOffset)
4069
+ o.errors << Shapes::ShapeRef.new(shape: TooManyParts)
4070
+ o.errors << Shapes::ShapeRef.new(shape: EncryptionTypeMismatch)
3246
4071
  end)
3247
4072
 
3248
4073
  api.add_operation(:put_object_acl, Seahorse::Model::Operation.new.tap do |o|
3249
4074
  o.name = "PutObjectAcl"
3250
4075
  o.http_method = "PUT"
3251
- o.http_request_uri = "/{Bucket}/{Key+}?acl"
3252
- o.http_checksum_required = true
4076
+ o.http_request_uri = "/{Key+}?acl"
4077
+ o.http_checksum = {
4078
+ "requestAlgorithmMember" => "checksum_algorithm",
4079
+ "requestChecksumRequired" => true,
4080
+ }
4081
+ o.http_checksum = {
4082
+ "requestAlgorithmMember" => "checksum_algorithm",
4083
+ "requestChecksumRequired" => true,
4084
+ }
3253
4085
  o.input = Shapes::ShapeRef.new(shape: PutObjectAclRequest)
3254
4086
  o.output = Shapes::ShapeRef.new(shape: PutObjectAclOutput)
3255
4087
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -3258,8 +4090,15 @@ module Aws::S3
3258
4090
  api.add_operation(:put_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
3259
4091
  o.name = "PutObjectLegalHold"
3260
4092
  o.http_method = "PUT"
3261
- o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
3262
- o.http_checksum_required = true
4093
+ o.http_request_uri = "/{Key+}?legal-hold"
4094
+ o.http_checksum = {
4095
+ "requestAlgorithmMember" => "checksum_algorithm",
4096
+ "requestChecksumRequired" => true,
4097
+ }
4098
+ o.http_checksum = {
4099
+ "requestAlgorithmMember" => "checksum_algorithm",
4100
+ "requestChecksumRequired" => true,
4101
+ }
3263
4102
  o.input = Shapes::ShapeRef.new(shape: PutObjectLegalHoldRequest)
3264
4103
  o.output = Shapes::ShapeRef.new(shape: PutObjectLegalHoldOutput)
3265
4104
  end)
@@ -3267,8 +4106,15 @@ module Aws::S3
3267
4106
  api.add_operation(:put_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
3268
4107
  o.name = "PutObjectLockConfiguration"
3269
4108
  o.http_method = "PUT"
3270
- o.http_request_uri = "/{Bucket}?object-lock"
3271
- o.http_checksum_required = true
4109
+ o.http_request_uri = "/?object-lock"
4110
+ o.http_checksum = {
4111
+ "requestAlgorithmMember" => "checksum_algorithm",
4112
+ "requestChecksumRequired" => true,
4113
+ }
4114
+ o.http_checksum = {
4115
+ "requestAlgorithmMember" => "checksum_algorithm",
4116
+ "requestChecksumRequired" => true,
4117
+ }
3272
4118
  o.input = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationRequest)
3273
4119
  o.output = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationOutput)
3274
4120
  end)
@@ -3276,8 +4122,15 @@ module Aws::S3
3276
4122
  api.add_operation(:put_object_retention, Seahorse::Model::Operation.new.tap do |o|
3277
4123
  o.name = "PutObjectRetention"
3278
4124
  o.http_method = "PUT"
3279
- o.http_request_uri = "/{Bucket}/{Key+}?retention"
3280
- o.http_checksum_required = true
4125
+ o.http_request_uri = "/{Key+}?retention"
4126
+ o.http_checksum = {
4127
+ "requestAlgorithmMember" => "checksum_algorithm",
4128
+ "requestChecksumRequired" => true,
4129
+ }
4130
+ o.http_checksum = {
4131
+ "requestAlgorithmMember" => "checksum_algorithm",
4132
+ "requestChecksumRequired" => true,
4133
+ }
3281
4134
  o.input = Shapes::ShapeRef.new(shape: PutObjectRetentionRequest)
3282
4135
  o.output = Shapes::ShapeRef.new(shape: PutObjectRetentionOutput)
3283
4136
  end)
@@ -3285,8 +4138,15 @@ module Aws::S3
3285
4138
  api.add_operation(:put_object_tagging, Seahorse::Model::Operation.new.tap do |o|
3286
4139
  o.name = "PutObjectTagging"
3287
4140
  o.http_method = "PUT"
3288
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3289
- o.http_checksum_required = true
4141
+ o.http_request_uri = "/{Key+}?tagging"
4142
+ o.http_checksum = {
4143
+ "requestAlgorithmMember" => "checksum_algorithm",
4144
+ "requestChecksumRequired" => true,
4145
+ }
4146
+ o.http_checksum = {
4147
+ "requestAlgorithmMember" => "checksum_algorithm",
4148
+ "requestChecksumRequired" => true,
4149
+ }
3290
4150
  o.input = Shapes::ShapeRef.new(shape: PutObjectTaggingRequest)
3291
4151
  o.output = Shapes::ShapeRef.new(shape: PutObjectTaggingOutput)
3292
4152
  end)
@@ -3294,16 +4154,40 @@ module Aws::S3
3294
4154
  api.add_operation(:put_public_access_block, Seahorse::Model::Operation.new.tap do |o|
3295
4155
  o.name = "PutPublicAccessBlock"
3296
4156
  o.http_method = "PUT"
3297
- o.http_request_uri = "/{Bucket}?publicAccessBlock"
3298
- o.http_checksum_required = true
4157
+ o.http_request_uri = "/?publicAccessBlock"
4158
+ o.http_checksum = {
4159
+ "requestAlgorithmMember" => "checksum_algorithm",
4160
+ "requestChecksumRequired" => true,
4161
+ }
4162
+ o.http_checksum = {
4163
+ "requestAlgorithmMember" => "checksum_algorithm",
4164
+ "requestChecksumRequired" => true,
4165
+ }
3299
4166
  o.input = Shapes::ShapeRef.new(shape: PutPublicAccessBlockRequest)
3300
4167
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3301
4168
  end)
3302
4169
 
4170
+ api.add_operation(:rename_object, Seahorse::Model::Operation.new.tap do |o|
4171
+ o.name = "RenameObject"
4172
+ o.http_method = "PUT"
4173
+ o.http_request_uri = "/{Key+}?renameObject"
4174
+ o.input = Shapes::ShapeRef.new(shape: RenameObjectRequest)
4175
+ o.output = Shapes::ShapeRef.new(shape: RenameObjectOutput)
4176
+ o.errors << Shapes::ShapeRef.new(shape: IdempotencyParameterMismatch)
4177
+ end)
4178
+
3303
4179
  api.add_operation(:restore_object, Seahorse::Model::Operation.new.tap do |o|
3304
4180
  o.name = "RestoreObject"
3305
4181
  o.http_method = "POST"
3306
- o.http_request_uri = "/{Bucket}/{Key+}?restore"
4182
+ o.http_request_uri = "/{Key+}?restore"
4183
+ o.http_checksum = {
4184
+ "requestAlgorithmMember" => "checksum_algorithm",
4185
+ "requestChecksumRequired" => false,
4186
+ }
4187
+ o.http_checksum = {
4188
+ "requestAlgorithmMember" => "checksum_algorithm",
4189
+ "requestChecksumRequired" => false,
4190
+ }
3307
4191
  o.input = Shapes::ShapeRef.new(shape: RestoreObjectRequest)
3308
4192
  o.output = Shapes::ShapeRef.new(shape: RestoreObjectOutput)
3309
4193
  o.errors << Shapes::ShapeRef.new(shape: ObjectAlreadyInActiveTierError)
@@ -3312,20 +4196,60 @@ module Aws::S3
3312
4196
  api.add_operation(:select_object_content, Seahorse::Model::Operation.new.tap do |o|
3313
4197
  o.name = "SelectObjectContent"
3314
4198
  o.http_method = "POST"
3315
- o.http_request_uri = "/{Bucket}/{Key+}?select&select-type=2"
4199
+ o.http_request_uri = "/{Key+}?select&select-type=2"
3316
4200
  o.input = Shapes::ShapeRef.new(shape: SelectObjectContentRequest,
3317
4201
  location_name: "SelectObjectContentRequest",
3318
4202
  metadata: {
3319
- "xmlNamespace" => {"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}
4203
+ "xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}
3320
4204
  }
3321
4205
  )
3322
4206
  o.output = Shapes::ShapeRef.new(shape: SelectObjectContentOutput)
3323
4207
  end)
3324
4208
 
4209
+ api.add_operation(:update_bucket_metadata_inventory_table_configuration, Seahorse::Model::Operation.new.tap do |o|
4210
+ o.name = "UpdateBucketMetadataInventoryTableConfiguration"
4211
+ o.http_method = "PUT"
4212
+ o.http_request_uri = "/?metadataInventoryTable"
4213
+ o.http_checksum = {
4214
+ "requestAlgorithmMember" => "checksum_algorithm",
4215
+ "requestChecksumRequired" => true,
4216
+ }
4217
+ o.http_checksum = {
4218
+ "requestAlgorithmMember" => "checksum_algorithm",
4219
+ "requestChecksumRequired" => true,
4220
+ }
4221
+ o.input = Shapes::ShapeRef.new(shape: UpdateBucketMetadataInventoryTableConfigurationRequest)
4222
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
4223
+ end)
4224
+
4225
+ api.add_operation(:update_bucket_metadata_journal_table_configuration, Seahorse::Model::Operation.new.tap do |o|
4226
+ o.name = "UpdateBucketMetadataJournalTableConfiguration"
4227
+ o.http_method = "PUT"
4228
+ o.http_request_uri = "/?metadataJournalTable"
4229
+ o.http_checksum = {
4230
+ "requestAlgorithmMember" => "checksum_algorithm",
4231
+ "requestChecksumRequired" => true,
4232
+ }
4233
+ o.http_checksum = {
4234
+ "requestAlgorithmMember" => "checksum_algorithm",
4235
+ "requestChecksumRequired" => true,
4236
+ }
4237
+ o.input = Shapes::ShapeRef.new(shape: UpdateBucketMetadataJournalTableConfigurationRequest)
4238
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
4239
+ end)
4240
+
3325
4241
  api.add_operation(:upload_part, Seahorse::Model::Operation.new.tap do |o|
3326
4242
  o.name = "UploadPart"
3327
4243
  o.http_method = "PUT"
3328
- o.http_request_uri = "/{Bucket}/{Key+}"
4244
+ o.http_request_uri = "/{Key+}"
4245
+ o.http_checksum = {
4246
+ "requestAlgorithmMember" => "checksum_algorithm",
4247
+ "requestChecksumRequired" => false,
4248
+ }
4249
+ o.http_checksum = {
4250
+ "requestAlgorithmMember" => "checksum_algorithm",
4251
+ "requestChecksumRequired" => false,
4252
+ }
3329
4253
  o.input = Shapes::ShapeRef.new(shape: UploadPartRequest)
3330
4254
  o.output = Shapes::ShapeRef.new(shape: UploadPartOutput)
3331
4255
  end)
@@ -3333,7 +4257,7 @@ module Aws::S3
3333
4257
  api.add_operation(:upload_part_copy, Seahorse::Model::Operation.new.tap do |o|
3334
4258
  o.name = "UploadPartCopy"
3335
4259
  o.http_method = "PUT"
3336
- o.http_request_uri = "/{Bucket}/{Key+}"
4260
+ o.http_request_uri = "/{Key+}"
3337
4261
  o.input = Shapes::ShapeRef.new(shape: UploadPartCopyRequest)
3338
4262
  o.output = Shapes::ShapeRef.new(shape: UploadPartCopyOutput)
3339
4263
  end)
@@ -3343,6 +4267,7 @@ module Aws::S3
3343
4267
  o.http_method = "POST"
3344
4268
  o.http_request_uri = "/WriteGetObjectResponse"
3345
4269
  o['authtype'] = "v4-unsigned-body"
4270
+ o['unsignedPayload'] = true
3346
4271
  o.endpoint_pattern = {
3347
4272
  "hostPrefix" => "{RequestRoute}.",
3348
4273
  }