aws-sdk-s3 1.21.0 → 1.117.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +930 -0
  3. data/LICENSE.txt +202 -0
  4. data/VERSION +1 -0
  5. data/lib/aws-sdk-s3/bucket.rb +393 -75
  6. data/lib/aws-sdk-s3/bucket_acl.rb +57 -14
  7. data/lib/aws-sdk-s3/bucket_cors.rb +67 -13
  8. data/lib/aws-sdk-s3/bucket_lifecycle.rb +54 -15
  9. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +56 -15
  10. data/lib/aws-sdk-s3/bucket_logging.rb +52 -15
  11. data/lib/aws-sdk-s3/bucket_notification.rb +47 -17
  12. data/lib/aws-sdk-s3/bucket_policy.rb +51 -13
  13. data/lib/aws-sdk-s3/bucket_region_cache.rb +2 -0
  14. data/lib/aws-sdk-s3/bucket_request_payment.rb +51 -12
  15. data/lib/aws-sdk-s3/bucket_tagging.rb +59 -13
  16. data/lib/aws-sdk-s3/bucket_versioning.rb +118 -12
  17. data/lib/aws-sdk-s3/bucket_website.rb +66 -13
  18. data/lib/aws-sdk-s3/client.rb +11422 -2518
  19. data/lib/aws-sdk-s3/client_api.rb +1196 -155
  20. data/lib/aws-sdk-s3/customizations/bucket.rb +53 -36
  21. data/lib/aws-sdk-s3/customizations/multipart_upload.rb +2 -0
  22. data/lib/aws-sdk-s3/customizations/object.rb +200 -62
  23. data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
  24. data/lib/aws-sdk-s3/customizations/types/list_object_versions_output.rb +2 -0
  25. data/lib/aws-sdk-s3/customizations.rb +4 -1
  26. data/lib/aws-sdk-s3/encryption/client.rb +23 -6
  27. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +71 -29
  28. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +43 -5
  29. data/lib/aws-sdk-s3/encryption/default_key_provider.rb +2 -0
  30. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +13 -2
  31. data/lib/aws-sdk-s3/encryption/errors.rb +2 -0
  32. data/lib/aws-sdk-s3/encryption/io_auth_decrypter.rb +11 -3
  33. data/lib/aws-sdk-s3/encryption/io_decrypter.rb +11 -3
  34. data/lib/aws-sdk-s3/encryption/io_encrypter.rb +2 -0
  35. data/lib/aws-sdk-s3/encryption/key_provider.rb +2 -0
  36. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +34 -3
  37. data/lib/aws-sdk-s3/encryption/materials.rb +8 -6
  38. data/lib/aws-sdk-s3/encryption/utils.rb +25 -0
  39. data/lib/aws-sdk-s3/encryption.rb +4 -0
  40. data/lib/aws-sdk-s3/encryptionV2/client.rb +566 -0
  41. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +222 -0
  42. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +170 -0
  43. data/lib/aws-sdk-s3/encryptionV2/default_key_provider.rb +40 -0
  44. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +65 -0
  45. data/lib/aws-sdk-s3/encryptionV2/errors.rb +37 -0
  46. data/lib/aws-sdk-s3/encryptionV2/io_auth_decrypter.rb +58 -0
  47. data/lib/aws-sdk-s3/encryptionV2/io_decrypter.rb +37 -0
  48. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +73 -0
  49. data/lib/aws-sdk-s3/encryptionV2/key_provider.rb +31 -0
  50. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +169 -0
  51. data/lib/aws-sdk-s3/encryptionV2/materials.rb +60 -0
  52. data/lib/aws-sdk-s3/encryptionV2/utils.rb +103 -0
  53. data/lib/aws-sdk-s3/encryption_v2.rb +23 -0
  54. data/lib/aws-sdk-s3/endpoint_parameters.rb +142 -0
  55. data/lib/aws-sdk-s3/endpoint_provider.rb +2020 -0
  56. data/lib/aws-sdk-s3/endpoints.rb +2149 -0
  57. data/lib/aws-sdk-s3/errors.rb +123 -1
  58. data/lib/aws-sdk-s3/event_streams.rb +20 -7
  59. data/lib/aws-sdk-s3/file_downloader.rb +17 -10
  60. data/lib/aws-sdk-s3/file_part.rb +11 -6
  61. data/lib/aws-sdk-s3/file_uploader.rb +33 -14
  62. data/lib/aws-sdk-s3/legacy_signer.rb +17 -25
  63. data/lib/aws-sdk-s3/multipart_file_uploader.rb +78 -19
  64. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +54 -15
  65. data/lib/aws-sdk-s3/multipart_upload.rb +178 -28
  66. data/lib/aws-sdk-s3/multipart_upload_error.rb +2 -0
  67. data/lib/aws-sdk-s3/multipart_upload_part.rb +237 -44
  68. data/lib/aws-sdk-s3/object.rb +897 -154
  69. data/lib/aws-sdk-s3/object_acl.rb +81 -20
  70. data/lib/aws-sdk-s3/object_copier.rb +2 -0
  71. data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -0
  72. data/lib/aws-sdk-s3/object_summary.rb +649 -139
  73. data/lib/aws-sdk-s3/object_version.rb +167 -65
  74. data/lib/aws-sdk-s3/plugins/accelerate.rb +17 -64
  75. data/lib/aws-sdk-s3/plugins/arn.rb +70 -0
  76. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +7 -43
  77. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +20 -3
  78. data/lib/aws-sdk-s3/plugins/dualstack.rb +7 -50
  79. data/lib/aws-sdk-s3/plugins/endpoints.rb +262 -0
  80. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +5 -4
  81. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +3 -1
  82. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +11 -3
  83. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +44 -0
  84. data/lib/aws-sdk-s3/plugins/location_constraint.rb +2 -0
  85. data/lib/aws-sdk-s3/plugins/md5s.rb +34 -27
  86. data/lib/aws-sdk-s3/plugins/redirects.rb +2 -0
  87. data/lib/aws-sdk-s3/plugins/s3_host_id.rb +2 -0
  88. data/lib/aws-sdk-s3/plugins/s3_signer.rb +55 -92
  89. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  90. data/lib/aws-sdk-s3/plugins/sse_cpk.rb +3 -1
  91. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +139 -0
  92. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -0
  93. data/lib/aws-sdk-s3/presigned_post.rb +108 -56
  94. data/lib/aws-sdk-s3/presigner.rb +169 -77
  95. data/lib/aws-sdk-s3/resource.rb +45 -5
  96. data/lib/aws-sdk-s3/types.rb +8564 -3891
  97. data/lib/aws-sdk-s3/waiters.rb +67 -1
  98. data/lib/aws-sdk-s3.rb +16 -6
  99. metadata +37 -13
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
4
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
7
  #
6
8
  # WARNING ABOUT GENERATED CODE
7
9
 
@@ -20,6 +22,7 @@ module Aws::S3
20
22
  AcceptRanges = Shapes::StringShape.new(name: 'AcceptRanges')
21
23
  AccessControlPolicy = Shapes::StructureShape.new(name: 'AccessControlPolicy')
22
24
  AccessControlTranslation = Shapes::StructureShape.new(name: 'AccessControlTranslation')
25
+ AccessPointArn = Shapes::StringShape.new(name: 'AccessPointArn')
23
26
  AccountId = Shapes::StringShape.new(name: 'AccountId')
24
27
  AllowQuotedRecordDelimiter = Shapes::BooleanShape.new(name: 'AllowQuotedRecordDelimiter')
25
28
  AllowedHeader = Shapes::StringShape.new(name: 'AllowedHeader')
@@ -36,12 +39,14 @@ module Aws::S3
36
39
  AnalyticsId = Shapes::StringShape.new(name: 'AnalyticsId')
37
40
  AnalyticsS3BucketDestination = Shapes::StructureShape.new(name: 'AnalyticsS3BucketDestination')
38
41
  AnalyticsS3ExportFileFormat = Shapes::StringShape.new(name: 'AnalyticsS3ExportFileFormat')
42
+ ArchiveStatus = Shapes::StringShape.new(name: 'ArchiveStatus')
39
43
  Body = Shapes::BlobShape.new(name: 'Body')
40
44
  Bucket = Shapes::StructureShape.new(name: 'Bucket')
41
45
  BucketAccelerateStatus = Shapes::StringShape.new(name: 'BucketAccelerateStatus')
42
46
  BucketAlreadyExists = Shapes::StructureShape.new(name: 'BucketAlreadyExists')
43
47
  BucketAlreadyOwnedByYou = Shapes::StructureShape.new(name: 'BucketAlreadyOwnedByYou')
44
48
  BucketCannedACL = Shapes::StringShape.new(name: 'BucketCannedACL')
49
+ BucketKeyEnabled = Shapes::BooleanShape.new(name: 'BucketKeyEnabled')
45
50
  BucketLifecycleConfiguration = Shapes::StructureShape.new(name: 'BucketLifecycleConfiguration')
46
51
  BucketLocationConstraint = Shapes::StringShape.new(name: 'BucketLocationConstraint')
47
52
  BucketLoggingStatus = Shapes::StructureShape.new(name: 'BucketLoggingStatus')
@@ -49,6 +54,7 @@ module Aws::S3
49
54
  BucketName = Shapes::StringShape.new(name: 'BucketName')
50
55
  BucketVersioningStatus = Shapes::StringShape.new(name: 'BucketVersioningStatus')
51
56
  Buckets = Shapes::ListShape.new(name: 'Buckets')
57
+ BypassGovernanceRetention = Shapes::BooleanShape.new(name: 'BypassGovernanceRetention')
52
58
  BytesProcessed = Shapes::IntegerShape.new(name: 'BytesProcessed')
53
59
  BytesReturned = Shapes::IntegerShape.new(name: 'BytesReturned')
54
60
  BytesScanned = Shapes::IntegerShape.new(name: 'BytesScanned')
@@ -58,6 +64,14 @@ module Aws::S3
58
64
  CSVInput = Shapes::StructureShape.new(name: 'CSVInput')
59
65
  CSVOutput = Shapes::StructureShape.new(name: 'CSVOutput')
60
66
  CacheControl = Shapes::StringShape.new(name: 'CacheControl')
67
+ Checksum = Shapes::StructureShape.new(name: 'Checksum')
68
+ ChecksumAlgorithm = Shapes::StringShape.new(name: 'ChecksumAlgorithm')
69
+ ChecksumAlgorithmList = Shapes::ListShape.new(name: 'ChecksumAlgorithmList', flattened: true)
70
+ ChecksumCRC32 = Shapes::StringShape.new(name: 'ChecksumCRC32')
71
+ ChecksumCRC32C = Shapes::StringShape.new(name: 'ChecksumCRC32C')
72
+ ChecksumMode = Shapes::StringShape.new(name: 'ChecksumMode')
73
+ ChecksumSHA1 = Shapes::StringShape.new(name: 'ChecksumSHA1')
74
+ ChecksumSHA256 = Shapes::StringShape.new(name: 'ChecksumSHA256')
61
75
  CloudFunction = Shapes::StringShape.new(name: 'CloudFunction')
62
76
  CloudFunctionConfiguration = Shapes::StructureShape.new(name: 'CloudFunctionConfiguration')
63
77
  CloudFunctionInvocationRole = Shapes::StringShape.new(name: 'CloudFunctionInvocationRole')
@@ -104,13 +118,16 @@ module Aws::S3
104
118
  Date = Shapes::TimestampShape.new(name: 'Date', timestampFormat: "iso8601")
105
119
  Days = Shapes::IntegerShape.new(name: 'Days')
106
120
  DaysAfterInitiation = Shapes::IntegerShape.new(name: 'DaysAfterInitiation')
121
+ DefaultRetention = Shapes::StructureShape.new(name: 'DefaultRetention')
107
122
  Delete = Shapes::StructureShape.new(name: 'Delete')
108
123
  DeleteBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketAnalyticsConfigurationRequest')
109
124
  DeleteBucketCorsRequest = Shapes::StructureShape.new(name: 'DeleteBucketCorsRequest')
110
125
  DeleteBucketEncryptionRequest = Shapes::StructureShape.new(name: 'DeleteBucketEncryptionRequest')
126
+ DeleteBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketIntelligentTieringConfigurationRequest')
111
127
  DeleteBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketInventoryConfigurationRequest')
112
128
  DeleteBucketLifecycleRequest = Shapes::StructureShape.new(name: 'DeleteBucketLifecycleRequest')
113
129
  DeleteBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetricsConfigurationRequest')
130
+ DeleteBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'DeleteBucketOwnershipControlsRequest')
114
131
  DeleteBucketPolicyRequest = Shapes::StructureShape.new(name: 'DeleteBucketPolicyRequest')
115
132
  DeleteBucketReplicationRequest = Shapes::StructureShape.new(name: 'DeleteBucketReplicationRequest')
116
133
  DeleteBucketRequest = Shapes::StructureShape.new(name: 'DeleteBucketRequest')
@@ -128,6 +145,7 @@ module Aws::S3
128
145
  DeleteObjectTaggingRequest = Shapes::StructureShape.new(name: 'DeleteObjectTaggingRequest')
129
146
  DeleteObjectsOutput = Shapes::StructureShape.new(name: 'DeleteObjectsOutput')
130
147
  DeleteObjectsRequest = Shapes::StructureShape.new(name: 'DeleteObjectsRequest')
148
+ DeletePublicAccessBlockRequest = Shapes::StructureShape.new(name: 'DeletePublicAccessBlockRequest')
131
149
  DeletedObject = Shapes::StructureShape.new(name: 'DeletedObject')
132
150
  DeletedObjects = Shapes::ListShape.new(name: 'DeletedObjects', flattened: true)
133
151
  Delimiter = Shapes::StringShape.new(name: 'Delimiter')
@@ -140,12 +158,18 @@ module Aws::S3
140
158
  EncodingType = Shapes::StringShape.new(name: 'EncodingType')
141
159
  Encryption = Shapes::StructureShape.new(name: 'Encryption')
142
160
  EncryptionConfiguration = Shapes::StructureShape.new(name: 'EncryptionConfiguration')
161
+ End = Shapes::IntegerShape.new(name: 'End')
143
162
  EndEvent = Shapes::StructureShape.new(name: 'EndEvent')
144
163
  Error = Shapes::StructureShape.new(name: 'Error')
164
+ ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
145
165
  ErrorDocument = Shapes::StructureShape.new(name: 'ErrorDocument')
166
+ ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
146
167
  Errors = Shapes::ListShape.new(name: 'Errors', flattened: true)
147
168
  Event = Shapes::StringShape.new(name: 'Event')
169
+ EventBridgeConfiguration = Shapes::StructureShape.new(name: 'EventBridgeConfiguration')
148
170
  EventList = Shapes::ListShape.new(name: 'EventList', flattened: true)
171
+ ExistingObjectReplication = Shapes::StructureShape.new(name: 'ExistingObjectReplication')
172
+ ExistingObjectReplicationStatus = Shapes::StringShape.new(name: 'ExistingObjectReplicationStatus')
149
173
  Expiration = Shapes::StringShape.new(name: 'Expiration')
150
174
  ExpirationStatus = Shapes::StringShape.new(name: 'ExpirationStatus')
151
175
  ExpiredObjectDeleteMarker = Shapes::BooleanShape.new(name: 'ExpiredObjectDeleteMarker')
@@ -172,6 +196,8 @@ module Aws::S3
172
196
  GetBucketCorsRequest = Shapes::StructureShape.new(name: 'GetBucketCorsRequest')
173
197
  GetBucketEncryptionOutput = Shapes::StructureShape.new(name: 'GetBucketEncryptionOutput')
174
198
  GetBucketEncryptionRequest = Shapes::StructureShape.new(name: 'GetBucketEncryptionRequest')
199
+ GetBucketIntelligentTieringConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketIntelligentTieringConfigurationOutput')
200
+ GetBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketIntelligentTieringConfigurationRequest')
175
201
  GetBucketInventoryConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketInventoryConfigurationOutput')
176
202
  GetBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketInventoryConfigurationRequest')
177
203
  GetBucketLifecycleConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketLifecycleConfigurationOutput')
@@ -185,8 +211,12 @@ module Aws::S3
185
211
  GetBucketMetricsConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationOutput')
186
212
  GetBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationRequest')
187
213
  GetBucketNotificationConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketNotificationConfigurationRequest')
214
+ GetBucketOwnershipControlsOutput = Shapes::StructureShape.new(name: 'GetBucketOwnershipControlsOutput')
215
+ GetBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'GetBucketOwnershipControlsRequest')
188
216
  GetBucketPolicyOutput = Shapes::StructureShape.new(name: 'GetBucketPolicyOutput')
189
217
  GetBucketPolicyRequest = Shapes::StructureShape.new(name: 'GetBucketPolicyRequest')
218
+ GetBucketPolicyStatusOutput = Shapes::StructureShape.new(name: 'GetBucketPolicyStatusOutput')
219
+ GetBucketPolicyStatusRequest = Shapes::StructureShape.new(name: 'GetBucketPolicyStatusRequest')
190
220
  GetBucketReplicationOutput = Shapes::StructureShape.new(name: 'GetBucketReplicationOutput')
191
221
  GetBucketReplicationRequest = Shapes::StructureShape.new(name: 'GetBucketReplicationRequest')
192
222
  GetBucketRequestPaymentOutput = Shapes::StructureShape.new(name: 'GetBucketRequestPaymentOutput')
@@ -199,12 +229,24 @@ module Aws::S3
199
229
  GetBucketWebsiteRequest = Shapes::StructureShape.new(name: 'GetBucketWebsiteRequest')
200
230
  GetObjectAclOutput = Shapes::StructureShape.new(name: 'GetObjectAclOutput')
201
231
  GetObjectAclRequest = Shapes::StructureShape.new(name: 'GetObjectAclRequest')
232
+ GetObjectAttributesOutput = Shapes::StructureShape.new(name: 'GetObjectAttributesOutput')
233
+ GetObjectAttributesParts = Shapes::StructureShape.new(name: 'GetObjectAttributesParts')
234
+ GetObjectAttributesRequest = Shapes::StructureShape.new(name: 'GetObjectAttributesRequest')
235
+ GetObjectLegalHoldOutput = Shapes::StructureShape.new(name: 'GetObjectLegalHoldOutput')
236
+ GetObjectLegalHoldRequest = Shapes::StructureShape.new(name: 'GetObjectLegalHoldRequest')
237
+ GetObjectLockConfigurationOutput = Shapes::StructureShape.new(name: 'GetObjectLockConfigurationOutput')
238
+ GetObjectLockConfigurationRequest = Shapes::StructureShape.new(name: 'GetObjectLockConfigurationRequest')
202
239
  GetObjectOutput = Shapes::StructureShape.new(name: 'GetObjectOutput')
203
240
  GetObjectRequest = Shapes::StructureShape.new(name: 'GetObjectRequest')
241
+ GetObjectResponseStatusCode = Shapes::IntegerShape.new(name: 'GetObjectResponseStatusCode')
242
+ GetObjectRetentionOutput = Shapes::StructureShape.new(name: 'GetObjectRetentionOutput')
243
+ GetObjectRetentionRequest = Shapes::StructureShape.new(name: 'GetObjectRetentionRequest')
204
244
  GetObjectTaggingOutput = Shapes::StructureShape.new(name: 'GetObjectTaggingOutput')
205
245
  GetObjectTaggingRequest = Shapes::StructureShape.new(name: 'GetObjectTaggingRequest')
206
246
  GetObjectTorrentOutput = Shapes::StructureShape.new(name: 'GetObjectTorrentOutput')
207
247
  GetObjectTorrentRequest = Shapes::StructureShape.new(name: 'GetObjectTorrentRequest')
248
+ GetPublicAccessBlockOutput = Shapes::StructureShape.new(name: 'GetPublicAccessBlockOutput')
249
+ GetPublicAccessBlockRequest = Shapes::StructureShape.new(name: 'GetPublicAccessBlockRequest')
208
250
  GlacierJobParameters = Shapes::StructureShape.new(name: 'GlacierJobParameters')
209
251
  Grant = Shapes::StructureShape.new(name: 'Grant')
210
252
  GrantFullControl = Shapes::StringShape.new(name: 'GrantFullControl')
@@ -229,6 +271,15 @@ module Aws::S3
229
271
  Initiated = Shapes::TimestampShape.new(name: 'Initiated')
230
272
  Initiator = Shapes::StructureShape.new(name: 'Initiator')
231
273
  InputSerialization = Shapes::StructureShape.new(name: 'InputSerialization')
274
+ IntelligentTieringAccessTier = Shapes::StringShape.new(name: 'IntelligentTieringAccessTier')
275
+ IntelligentTieringAndOperator = Shapes::StructureShape.new(name: 'IntelligentTieringAndOperator')
276
+ IntelligentTieringConfiguration = Shapes::StructureShape.new(name: 'IntelligentTieringConfiguration')
277
+ IntelligentTieringConfigurationList = Shapes::ListShape.new(name: 'IntelligentTieringConfigurationList', flattened: true)
278
+ IntelligentTieringDays = Shapes::IntegerShape.new(name: 'IntelligentTieringDays')
279
+ IntelligentTieringFilter = Shapes::StructureShape.new(name: 'IntelligentTieringFilter')
280
+ IntelligentTieringId = Shapes::StringShape.new(name: 'IntelligentTieringId')
281
+ IntelligentTieringStatus = Shapes::StringShape.new(name: 'IntelligentTieringStatus')
282
+ InvalidObjectState = Shapes::StructureShape.new(name: 'InvalidObjectState')
232
283
  InventoryConfiguration = Shapes::StructureShape.new(name: 'InventoryConfiguration')
233
284
  InventoryConfigurationList = Shapes::ListShape.new(name: 'InventoryConfigurationList', flattened: true)
234
285
  InventoryDestination = Shapes::StructureShape.new(name: 'InventoryDestination')
@@ -244,6 +295,7 @@ module Aws::S3
244
295
  InventorySchedule = Shapes::StructureShape.new(name: 'InventorySchedule')
245
296
  IsEnabled = Shapes::BooleanShape.new(name: 'IsEnabled')
246
297
  IsLatest = Shapes::BooleanShape.new(name: 'IsLatest')
298
+ IsPublic = Shapes::BooleanShape.new(name: 'IsPublic')
247
299
  IsTruncated = Shapes::BooleanShape.new(name: 'IsTruncated')
248
300
  JSONInput = Shapes::StructureShape.new(name: 'JSONInput')
249
301
  JSONOutput = Shapes::StructureShape.new(name: 'JSONOutput')
@@ -264,6 +316,8 @@ module Aws::S3
264
316
  LifecycleRules = Shapes::ListShape.new(name: 'LifecycleRules', flattened: true)
265
317
  ListBucketAnalyticsConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketAnalyticsConfigurationsOutput')
266
318
  ListBucketAnalyticsConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketAnalyticsConfigurationsRequest')
319
+ ListBucketIntelligentTieringConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketIntelligentTieringConfigurationsOutput')
320
+ ListBucketIntelligentTieringConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketIntelligentTieringConfigurationsRequest')
267
321
  ListBucketInventoryConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketInventoryConfigurationsOutput')
268
322
  ListBucketInventoryConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketInventoryConfigurationsRequest')
269
323
  ListBucketMetricsConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsOutput')
@@ -296,11 +350,14 @@ module Aws::S3
296
350
  MetadataEntry = Shapes::StructureShape.new(name: 'MetadataEntry')
297
351
  MetadataKey = Shapes::StringShape.new(name: 'MetadataKey')
298
352
  MetadataValue = Shapes::StringShape.new(name: 'MetadataValue')
353
+ Metrics = Shapes::StructureShape.new(name: 'Metrics')
299
354
  MetricsAndOperator = Shapes::StructureShape.new(name: 'MetricsAndOperator')
300
355
  MetricsConfiguration = Shapes::StructureShape.new(name: 'MetricsConfiguration')
301
356
  MetricsConfigurationList = Shapes::ListShape.new(name: 'MetricsConfigurationList', flattened: true)
302
357
  MetricsFilter = Shapes::StructureShape.new(name: 'MetricsFilter')
303
358
  MetricsId = Shapes::StringShape.new(name: 'MetricsId')
359
+ MetricsStatus = Shapes::StringShape.new(name: 'MetricsStatus')
360
+ Minutes = Shapes::IntegerShape.new(name: 'Minutes')
304
361
  MissingMeta = Shapes::IntegerShape.new(name: 'MissingMeta')
305
362
  MultipartUpload = Shapes::StructureShape.new(name: 'MultipartUpload')
306
363
  MultipartUploadId = Shapes::StringShape.new(name: 'MultipartUploadId')
@@ -323,12 +380,30 @@ module Aws::S3
323
380
  NotificationId = Shapes::StringShape.new(name: 'NotificationId')
324
381
  Object = Shapes::StructureShape.new(name: 'Object')
325
382
  ObjectAlreadyInActiveTierError = Shapes::StructureShape.new(name: 'ObjectAlreadyInActiveTierError')
383
+ ObjectAttributes = Shapes::StringShape.new(name: 'ObjectAttributes')
384
+ ObjectAttributesList = Shapes::ListShape.new(name: 'ObjectAttributesList')
326
385
  ObjectCannedACL = Shapes::StringShape.new(name: 'ObjectCannedACL')
327
386
  ObjectIdentifier = Shapes::StructureShape.new(name: 'ObjectIdentifier')
328
387
  ObjectIdentifierList = Shapes::ListShape.new(name: 'ObjectIdentifierList', flattened: true)
329
388
  ObjectKey = Shapes::StringShape.new(name: 'ObjectKey')
330
389
  ObjectList = Shapes::ListShape.new(name: 'ObjectList', flattened: true)
390
+ ObjectLockConfiguration = Shapes::StructureShape.new(name: 'ObjectLockConfiguration')
391
+ ObjectLockEnabled = Shapes::StringShape.new(name: 'ObjectLockEnabled')
392
+ ObjectLockEnabledForBucket = Shapes::BooleanShape.new(name: 'ObjectLockEnabledForBucket')
393
+ ObjectLockLegalHold = Shapes::StructureShape.new(name: 'ObjectLockLegalHold')
394
+ ObjectLockLegalHoldStatus = Shapes::StringShape.new(name: 'ObjectLockLegalHoldStatus')
395
+ ObjectLockMode = Shapes::StringShape.new(name: 'ObjectLockMode')
396
+ ObjectLockRetainUntilDate = Shapes::TimestampShape.new(name: 'ObjectLockRetainUntilDate', timestampFormat: "iso8601")
397
+ ObjectLockRetention = Shapes::StructureShape.new(name: 'ObjectLockRetention')
398
+ ObjectLockRetentionMode = Shapes::StringShape.new(name: 'ObjectLockRetentionMode')
399
+ ObjectLockRule = Shapes::StructureShape.new(name: 'ObjectLockRule')
400
+ ObjectLockToken = Shapes::StringShape.new(name: 'ObjectLockToken')
331
401
  ObjectNotInActiveTierError = Shapes::StructureShape.new(name: 'ObjectNotInActiveTierError')
402
+ ObjectOwnership = Shapes::StringShape.new(name: 'ObjectOwnership')
403
+ ObjectPart = Shapes::StructureShape.new(name: 'ObjectPart')
404
+ ObjectSize = Shapes::IntegerShape.new(name: 'ObjectSize')
405
+ ObjectSizeGreaterThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeGreaterThanBytes')
406
+ ObjectSizeLessThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeLessThanBytes')
332
407
  ObjectStorageClass = Shapes::StringShape.new(name: 'ObjectStorageClass')
333
408
  ObjectVersion = Shapes::StructureShape.new(name: 'ObjectVersion')
334
409
  ObjectVersionId = Shapes::StringShape.new(name: 'ObjectVersionId')
@@ -338,25 +413,32 @@ module Aws::S3
338
413
  OutputSerialization = Shapes::StructureShape.new(name: 'OutputSerialization')
339
414
  Owner = Shapes::StructureShape.new(name: 'Owner')
340
415
  OwnerOverride = Shapes::StringShape.new(name: 'OwnerOverride')
416
+ OwnershipControls = Shapes::StructureShape.new(name: 'OwnershipControls')
417
+ OwnershipControlsRule = Shapes::StructureShape.new(name: 'OwnershipControlsRule')
418
+ OwnershipControlsRules = Shapes::ListShape.new(name: 'OwnershipControlsRules', flattened: true)
341
419
  ParquetInput = Shapes::StructureShape.new(name: 'ParquetInput')
342
420
  Part = Shapes::StructureShape.new(name: 'Part')
343
421
  PartNumber = Shapes::IntegerShape.new(name: 'PartNumber')
344
422
  PartNumberMarker = Shapes::IntegerShape.new(name: 'PartNumberMarker')
345
423
  Parts = Shapes::ListShape.new(name: 'Parts', flattened: true)
346
424
  PartsCount = Shapes::IntegerShape.new(name: 'PartsCount')
425
+ PartsList = Shapes::ListShape.new(name: 'PartsList', flattened: true)
347
426
  Payer = Shapes::StringShape.new(name: 'Payer')
348
427
  Permission = Shapes::StringShape.new(name: 'Permission')
349
428
  Policy = Shapes::StringShape.new(name: 'Policy')
429
+ PolicyStatus = Shapes::StructureShape.new(name: 'PolicyStatus')
350
430
  Prefix = Shapes::StringShape.new(name: 'Prefix')
351
431
  Priority = Shapes::IntegerShape.new(name: 'Priority')
352
432
  Progress = Shapes::StructureShape.new(name: 'Progress')
353
433
  ProgressEvent = Shapes::StructureShape.new(name: 'ProgressEvent')
354
434
  Protocol = Shapes::StringShape.new(name: 'Protocol')
435
+ PublicAccessBlockConfiguration = Shapes::StructureShape.new(name: 'PublicAccessBlockConfiguration')
355
436
  PutBucketAccelerateConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAccelerateConfigurationRequest')
356
437
  PutBucketAclRequest = Shapes::StructureShape.new(name: 'PutBucketAclRequest')
357
438
  PutBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAnalyticsConfigurationRequest')
358
439
  PutBucketCorsRequest = Shapes::StructureShape.new(name: 'PutBucketCorsRequest')
359
440
  PutBucketEncryptionRequest = Shapes::StructureShape.new(name: 'PutBucketEncryptionRequest')
441
+ PutBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketIntelligentTieringConfigurationRequest')
360
442
  PutBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketInventoryConfigurationRequest')
361
443
  PutBucketLifecycleConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleConfigurationRequest')
362
444
  PutBucketLifecycleRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleRequest')
@@ -364,6 +446,7 @@ module Aws::S3
364
446
  PutBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketMetricsConfigurationRequest')
365
447
  PutBucketNotificationConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketNotificationConfigurationRequest')
366
448
  PutBucketNotificationRequest = Shapes::StructureShape.new(name: 'PutBucketNotificationRequest')
449
+ PutBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'PutBucketOwnershipControlsRequest')
367
450
  PutBucketPolicyRequest = Shapes::StructureShape.new(name: 'PutBucketPolicyRequest')
368
451
  PutBucketReplicationRequest = Shapes::StructureShape.new(name: 'PutBucketReplicationRequest')
369
452
  PutBucketRequestPaymentRequest = Shapes::StructureShape.new(name: 'PutBucketRequestPaymentRequest')
@@ -372,10 +455,17 @@ module Aws::S3
372
455
  PutBucketWebsiteRequest = Shapes::StructureShape.new(name: 'PutBucketWebsiteRequest')
373
456
  PutObjectAclOutput = Shapes::StructureShape.new(name: 'PutObjectAclOutput')
374
457
  PutObjectAclRequest = Shapes::StructureShape.new(name: 'PutObjectAclRequest')
458
+ PutObjectLegalHoldOutput = Shapes::StructureShape.new(name: 'PutObjectLegalHoldOutput')
459
+ PutObjectLegalHoldRequest = Shapes::StructureShape.new(name: 'PutObjectLegalHoldRequest')
460
+ PutObjectLockConfigurationOutput = Shapes::StructureShape.new(name: 'PutObjectLockConfigurationOutput')
461
+ PutObjectLockConfigurationRequest = Shapes::StructureShape.new(name: 'PutObjectLockConfigurationRequest')
375
462
  PutObjectOutput = Shapes::StructureShape.new(name: 'PutObjectOutput')
376
463
  PutObjectRequest = Shapes::StructureShape.new(name: 'PutObjectRequest')
464
+ PutObjectRetentionOutput = Shapes::StructureShape.new(name: 'PutObjectRetentionOutput')
465
+ PutObjectRetentionRequest = Shapes::StructureShape.new(name: 'PutObjectRetentionRequest')
377
466
  PutObjectTaggingOutput = Shapes::StructureShape.new(name: 'PutObjectTaggingOutput')
378
467
  PutObjectTaggingRequest = Shapes::StructureShape.new(name: 'PutObjectTaggingRequest')
468
+ PutPublicAccessBlockRequest = Shapes::StructureShape.new(name: 'PutPublicAccessBlockRequest')
379
469
  QueueArn = Shapes::StringShape.new(name: 'QueueArn')
380
470
  QueueConfiguration = Shapes::StructureShape.new(name: 'QueueConfiguration')
381
471
  QueueConfigurationDeprecated = Shapes::StructureShape.new(name: 'QueueConfigurationDeprecated')
@@ -392,6 +482,8 @@ module Aws::S3
392
482
  ReplaceKeyPrefixWith = Shapes::StringShape.new(name: 'ReplaceKeyPrefixWith')
393
483
  ReplaceKeyWith = Shapes::StringShape.new(name: 'ReplaceKeyWith')
394
484
  ReplicaKmsKeyID = Shapes::StringShape.new(name: 'ReplicaKmsKeyID')
485
+ ReplicaModifications = Shapes::StructureShape.new(name: 'ReplicaModifications')
486
+ ReplicaModificationsStatus = Shapes::StringShape.new(name: 'ReplicaModificationsStatus')
395
487
  ReplicationConfiguration = Shapes::StructureShape.new(name: 'ReplicationConfiguration')
396
488
  ReplicationRule = Shapes::StructureShape.new(name: 'ReplicationRule')
397
489
  ReplicationRuleAndOperator = Shapes::StructureShape.new(name: 'ReplicationRuleAndOperator')
@@ -399,16 +491,21 @@ module Aws::S3
399
491
  ReplicationRuleStatus = Shapes::StringShape.new(name: 'ReplicationRuleStatus')
400
492
  ReplicationRules = Shapes::ListShape.new(name: 'ReplicationRules', flattened: true)
401
493
  ReplicationStatus = Shapes::StringShape.new(name: 'ReplicationStatus')
494
+ ReplicationTime = Shapes::StructureShape.new(name: 'ReplicationTime')
495
+ ReplicationTimeStatus = Shapes::StringShape.new(name: 'ReplicationTimeStatus')
496
+ ReplicationTimeValue = Shapes::StructureShape.new(name: 'ReplicationTimeValue')
402
497
  RequestCharged = Shapes::StringShape.new(name: 'RequestCharged')
403
498
  RequestPayer = Shapes::StringShape.new(name: 'RequestPayer')
404
499
  RequestPaymentConfiguration = Shapes::StructureShape.new(name: 'RequestPaymentConfiguration')
405
500
  RequestProgress = Shapes::StructureShape.new(name: 'RequestProgress')
501
+ RequestRoute = Shapes::StringShape.new(name: 'RequestRoute')
502
+ RequestToken = Shapes::StringShape.new(name: 'RequestToken')
406
503
  ResponseCacheControl = Shapes::StringShape.new(name: 'ResponseCacheControl')
407
504
  ResponseContentDisposition = Shapes::StringShape.new(name: 'ResponseContentDisposition')
408
505
  ResponseContentEncoding = Shapes::StringShape.new(name: 'ResponseContentEncoding')
409
506
  ResponseContentLanguage = Shapes::StringShape.new(name: 'ResponseContentLanguage')
410
507
  ResponseContentType = Shapes::StringShape.new(name: 'ResponseContentType')
411
- ResponseExpires = Shapes::TimestampShape.new(name: 'ResponseExpires')
508
+ ResponseExpires = Shapes::TimestampShape.new(name: 'ResponseExpires', timestampFormat: "rfc822")
412
509
  Restore = Shapes::StringShape.new(name: 'Restore')
413
510
  RestoreObjectOutput = Shapes::StructureShape.new(name: 'RestoreObjectOutput')
414
511
  RestoreObjectRequest = Shapes::StructureShape.new(name: 'RestoreObjectRequest')
@@ -426,8 +523,10 @@ module Aws::S3
426
523
  SSECustomerKey = Shapes::StringShape.new(name: 'SSECustomerKey')
427
524
  SSECustomerKeyMD5 = Shapes::StringShape.new(name: 'SSECustomerKeyMD5')
428
525
  SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS')
526
+ SSEKMSEncryptionContext = Shapes::StringShape.new(name: 'SSEKMSEncryptionContext')
429
527
  SSEKMSKeyId = Shapes::StringShape.new(name: 'SSEKMSKeyId')
430
528
  SSES3 = Shapes::StructureShape.new(name: 'SSES3')
529
+ ScanRange = Shapes::StructureShape.new(name: 'ScanRange')
431
530
  SelectObjectContentEventStream = Shapes::StructureShape.new(name: 'SelectObjectContentEventStream')
432
531
  SelectObjectContentOutput = Shapes::StructureShape.new(name: 'SelectObjectContentOutput')
433
532
  SelectObjectContentRequest = Shapes::StructureShape.new(name: 'SelectObjectContentRequest')
@@ -437,10 +536,13 @@ module Aws::S3
437
536
  ServerSideEncryptionConfiguration = Shapes::StructureShape.new(name: 'ServerSideEncryptionConfiguration')
438
537
  ServerSideEncryptionRule = Shapes::StructureShape.new(name: 'ServerSideEncryptionRule')
439
538
  ServerSideEncryptionRules = Shapes::ListShape.new(name: 'ServerSideEncryptionRules', flattened: true)
539
+ Setting = Shapes::BooleanShape.new(name: 'Setting')
440
540
  Size = Shapes::IntegerShape.new(name: 'Size')
541
+ SkipValidation = Shapes::BooleanShape.new(name: 'SkipValidation')
441
542
  SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
442
543
  SseKmsEncryptedObjects = Shapes::StructureShape.new(name: 'SseKmsEncryptedObjects')
443
544
  SseKmsEncryptedObjectsStatus = Shapes::StringShape.new(name: 'SseKmsEncryptedObjectsStatus')
545
+ Start = Shapes::IntegerShape.new(name: 'Start')
444
546
  StartAfter = Shapes::StringShape.new(name: 'StartAfter')
445
547
  Stats = Shapes::StructureShape.new(name: 'Stats')
446
548
  StatsEvent = Shapes::StructureShape.new(name: 'StatsEvent')
@@ -460,6 +562,8 @@ module Aws::S3
460
562
  TargetGrants = Shapes::ListShape.new(name: 'TargetGrants')
461
563
  TargetPrefix = Shapes::StringShape.new(name: 'TargetPrefix')
462
564
  Tier = Shapes::StringShape.new(name: 'Tier')
565
+ Tiering = Shapes::StructureShape.new(name: 'Tiering')
566
+ TieringList = Shapes::ListShape.new(name: 'TieringList', flattened: true)
463
567
  Token = Shapes::StringShape.new(name: 'Token')
464
568
  TopicArn = Shapes::StringShape.new(name: 'TopicArn')
465
569
  TopicConfiguration = Shapes::StructureShape.new(name: 'TopicConfiguration')
@@ -477,10 +581,13 @@ module Aws::S3
477
581
  UploadPartRequest = Shapes::StructureShape.new(name: 'UploadPartRequest')
478
582
  UserMetadata = Shapes::ListShape.new(name: 'UserMetadata')
479
583
  Value = Shapes::StringShape.new(name: 'Value')
584
+ VersionCount = Shapes::IntegerShape.new(name: 'VersionCount')
480
585
  VersionIdMarker = Shapes::StringShape.new(name: 'VersionIdMarker')
481
586
  VersioningConfiguration = Shapes::StructureShape.new(name: 'VersioningConfiguration')
482
587
  WebsiteConfiguration = Shapes::StructureShape.new(name: 'WebsiteConfiguration')
483
588
  WebsiteRedirectLocation = Shapes::StringShape.new(name: 'WebsiteRedirectLocation')
589
+ WriteGetObjectResponseRequest = Shapes::StructureShape.new(name: 'WriteGetObjectResponseRequest')
590
+ Years = Shapes::IntegerShape.new(name: 'Years')
484
591
 
485
592
  AbortIncompleteMultipartUpload.add_member(:days_after_initiation, Shapes::ShapeRef.new(shape: DaysAfterInitiation, location_name: "DaysAfterInitiation"))
486
593
  AbortIncompleteMultipartUpload.struct_class = Types::AbortIncompleteMultipartUpload
@@ -488,10 +595,11 @@ module Aws::S3
488
595
  AbortMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
489
596
  AbortMultipartUploadOutput.struct_class = Types::AbortMultipartUploadOutput
490
597
 
491
- AbortMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
598
+ AbortMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
492
599
  AbortMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
493
600
  AbortMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
494
601
  AbortMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
602
+ AbortMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
495
603
  AbortMultipartUploadRequest.struct_class = Types::AbortMultipartUploadRequest
496
604
 
497
605
  AccelerateConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: BucketAccelerateStatus, location_name: "Status"))
@@ -539,6 +647,10 @@ module Aws::S3
539
647
  Bucket.add_member(:creation_date, Shapes::ShapeRef.new(shape: CreationDate, location_name: "CreationDate"))
540
648
  Bucket.struct_class = Types::Bucket
541
649
 
650
+ BucketAlreadyExists.struct_class = Types::BucketAlreadyExists
651
+
652
+ BucketAlreadyOwnedByYou.struct_class = Types::BucketAlreadyOwnedByYou
653
+
542
654
  BucketLifecycleConfiguration.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, required: true, location_name: "Rule"))
543
655
  BucketLifecycleConfiguration.struct_class = Types::BucketLifecycleConfiguration
544
656
 
@@ -550,6 +662,7 @@ module Aws::S3
550
662
  CORSConfiguration.add_member(:cors_rules, Shapes::ShapeRef.new(shape: CORSRules, required: true, location_name: "CORSRule"))
551
663
  CORSConfiguration.struct_class = Types::CORSConfiguration
552
664
 
665
+ CORSRule.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
553
666
  CORSRule.add_member(:allowed_headers, Shapes::ShapeRef.new(shape: AllowedHeaders, location_name: "AllowedHeader"))
554
667
  CORSRule.add_member(:allowed_methods, Shapes::ShapeRef.new(shape: AllowedMethods, required: true, location_name: "AllowedMethod"))
555
668
  CORSRule.add_member(:allowed_origins, Shapes::ShapeRef.new(shape: AllowedOrigins, required: true, location_name: "AllowedOrigin"))
@@ -575,6 +688,14 @@ module Aws::S3
575
688
  CSVOutput.add_member(:quote_character, Shapes::ShapeRef.new(shape: QuoteCharacter, location_name: "QuoteCharacter"))
576
689
  CSVOutput.struct_class = Types::CSVOutput
577
690
 
691
+ Checksum.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
692
+ Checksum.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
693
+ Checksum.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
694
+ Checksum.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
695
+ Checksum.struct_class = Types::Checksum
696
+
697
+ ChecksumAlgorithmList.member = Shapes::ShapeRef.new(shape: ChecksumAlgorithm)
698
+
578
699
  CloudFunctionConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
579
700
  CloudFunctionConfiguration.add_member(:event, Shapes::ShapeRef.new(shape: Event, deprecated: true, location_name: "Event"))
580
701
  CloudFunctionConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, location_name: "Event"))
@@ -592,17 +713,30 @@ module Aws::S3
592
713
  CompleteMultipartUploadOutput.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
593
714
  CompleteMultipartUploadOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
594
715
  CompleteMultipartUploadOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
716
+ CompleteMultipartUploadOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
717
+ CompleteMultipartUploadOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
718
+ CompleteMultipartUploadOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
719
+ CompleteMultipartUploadOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
595
720
  CompleteMultipartUploadOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
596
721
  CompleteMultipartUploadOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
597
722
  CompleteMultipartUploadOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
723
+ CompleteMultipartUploadOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
598
724
  CompleteMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
599
725
  CompleteMultipartUploadOutput.struct_class = Types::CompleteMultipartUploadOutput
600
726
 
601
- CompleteMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
727
+ CompleteMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
602
728
  CompleteMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
603
729
  CompleteMultipartUploadRequest.add_member(:multipart_upload, Shapes::ShapeRef.new(shape: CompletedMultipartUpload, location_name: "CompleteMultipartUpload", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
604
730
  CompleteMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
731
+ CompleteMultipartUploadRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
732
+ CompleteMultipartUploadRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
733
+ CompleteMultipartUploadRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
734
+ CompleteMultipartUploadRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
605
735
  CompleteMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
736
+ CompleteMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
737
+ CompleteMultipartUploadRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
738
+ CompleteMultipartUploadRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
739
+ CompleteMultipartUploadRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
606
740
  CompleteMultipartUploadRequest.struct_class = Types::CompleteMultipartUploadRequest
607
741
  CompleteMultipartUploadRequest[:payload] = :multipart_upload
608
742
  CompleteMultipartUploadRequest[:payload_member] = CompleteMultipartUploadRequest.member(:multipart_upload)
@@ -611,6 +745,10 @@ module Aws::S3
611
745
  CompletedMultipartUpload.struct_class = Types::CompletedMultipartUpload
612
746
 
613
747
  CompletedPart.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
748
+ CompletedPart.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
749
+ CompletedPart.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
750
+ CompletedPart.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
751
+ CompletedPart.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
614
752
  CompletedPart.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
615
753
  CompletedPart.struct_class = Types::CompletedPart
616
754
 
@@ -630,14 +768,17 @@ module Aws::S3
630
768
  CopyObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
631
769
  CopyObjectOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
632
770
  CopyObjectOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
771
+ CopyObjectOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
772
+ CopyObjectOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
633
773
  CopyObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
634
774
  CopyObjectOutput.struct_class = Types::CopyObjectOutput
635
775
  CopyObjectOutput[:payload] = :copy_object_result
636
776
  CopyObjectOutput[:payload_member] = CopyObjectOutput.member(:copy_object_result)
637
777
 
638
778
  CopyObjectRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
639
- CopyObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
779
+ CopyObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
640
780
  CopyObjectRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
781
+ CopyObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
641
782
  CopyObjectRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
642
783
  CopyObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
643
784
  CopyObjectRequest.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "Content-Language"))
@@ -663,19 +804,34 @@ module Aws::S3
663
804
  CopyObjectRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
664
805
  CopyObjectRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
665
806
  CopyObjectRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
807
+ CopyObjectRequest.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
808
+ CopyObjectRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
666
809
  CopyObjectRequest.add_member(:copy_source_sse_customer_algorithm, Shapes::ShapeRef.new(shape: CopySourceSSECustomerAlgorithm, location: "header", location_name: "x-amz-copy-source-server-side-encryption-customer-algorithm"))
667
810
  CopyObjectRequest.add_member(:copy_source_sse_customer_key, Shapes::ShapeRef.new(shape: CopySourceSSECustomerKey, location: "header", location_name: "x-amz-copy-source-server-side-encryption-customer-key"))
668
811
  CopyObjectRequest.add_member(:copy_source_sse_customer_key_md5, Shapes::ShapeRef.new(shape: CopySourceSSECustomerKeyMD5, location: "header", location_name: "x-amz-copy-source-server-side-encryption-customer-key-MD5"))
669
812
  CopyObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
670
813
  CopyObjectRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: TaggingHeader, location: "header", location_name: "x-amz-tagging"))
814
+ CopyObjectRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
815
+ CopyObjectRequest.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
816
+ CopyObjectRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
817
+ CopyObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
818
+ CopyObjectRequest.add_member(:expected_source_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-source-expected-bucket-owner"))
671
819
  CopyObjectRequest.struct_class = Types::CopyObjectRequest
672
820
 
673
821
  CopyObjectResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
674
822
  CopyObjectResult.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
823
+ CopyObjectResult.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
824
+ CopyObjectResult.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
825
+ CopyObjectResult.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
826
+ CopyObjectResult.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
675
827
  CopyObjectResult.struct_class = Types::CopyObjectResult
676
828
 
677
829
  CopyPartResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
678
830
  CopyPartResult.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
831
+ CopyPartResult.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
832
+ CopyPartResult.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
833
+ CopyPartResult.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
834
+ CopyPartResult.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
679
835
  CopyPartResult.struct_class = Types::CopyPartResult
680
836
 
681
837
  CreateBucketConfiguration.add_member(:location_constraint, Shapes::ShapeRef.new(shape: BucketLocationConstraint, location_name: "LocationConstraint"))
@@ -685,13 +841,15 @@ module Aws::S3
685
841
  CreateBucketOutput.struct_class = Types::CreateBucketOutput
686
842
 
687
843
  CreateBucketRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
688
- CreateBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
844
+ CreateBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
689
845
  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/"}}))
690
846
  CreateBucketRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
691
847
  CreateBucketRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
692
848
  CreateBucketRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
693
849
  CreateBucketRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
694
850
  CreateBucketRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
851
+ CreateBucketRequest.add_member(:object_lock_enabled_for_bucket, Shapes::ShapeRef.new(shape: ObjectLockEnabledForBucket, location: "header", location_name: "x-amz-bucket-object-lock-enabled"))
852
+ CreateBucketRequest.add_member(:object_ownership, Shapes::ShapeRef.new(shape: ObjectOwnership, location: "header", location_name: "x-amz-object-ownership"))
695
853
  CreateBucketRequest.struct_class = Types::CreateBucketRequest
696
854
  CreateBucketRequest[:payload] = :create_bucket_configuration
697
855
  CreateBucketRequest[:payload_member] = CreateBucketRequest.member(:create_bucket_configuration)
@@ -705,11 +863,14 @@ module Aws::S3
705
863
  CreateMultipartUploadOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
706
864
  CreateMultipartUploadOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
707
865
  CreateMultipartUploadOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
866
+ CreateMultipartUploadOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
867
+ CreateMultipartUploadOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
708
868
  CreateMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
869
+ CreateMultipartUploadOutput.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
709
870
  CreateMultipartUploadOutput.struct_class = Types::CreateMultipartUploadOutput
710
871
 
711
872
  CreateMultipartUploadRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
712
- CreateMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
873
+ CreateMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
713
874
  CreateMultipartUploadRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
714
875
  CreateMultipartUploadRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
715
876
  CreateMultipartUploadRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
@@ -729,48 +890,79 @@ module Aws::S3
729
890
  CreateMultipartUploadRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
730
891
  CreateMultipartUploadRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
731
892
  CreateMultipartUploadRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
893
+ CreateMultipartUploadRequest.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
894
+ CreateMultipartUploadRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
732
895
  CreateMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
733
896
  CreateMultipartUploadRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: TaggingHeader, location: "header", location_name: "x-amz-tagging"))
897
+ CreateMultipartUploadRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
898
+ CreateMultipartUploadRequest.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
899
+ CreateMultipartUploadRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
900
+ CreateMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
901
+ CreateMultipartUploadRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
734
902
  CreateMultipartUploadRequest.struct_class = Types::CreateMultipartUploadRequest
735
903
 
904
+ DefaultRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
905
+ DefaultRetention.add_member(:days, Shapes::ShapeRef.new(shape: Days, location_name: "Days"))
906
+ DefaultRetention.add_member(:years, Shapes::ShapeRef.new(shape: Years, location_name: "Years"))
907
+ DefaultRetention.struct_class = Types::DefaultRetention
908
+
736
909
  Delete.add_member(:objects, Shapes::ShapeRef.new(shape: ObjectIdentifierList, required: true, location_name: "Object"))
737
910
  Delete.add_member(:quiet, Shapes::ShapeRef.new(shape: Quiet, location_name: "Quiet"))
738
911
  Delete.struct_class = Types::Delete
739
912
 
740
- DeleteBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
913
+ DeleteBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
741
914
  DeleteBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
915
+ DeleteBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
742
916
  DeleteBucketAnalyticsConfigurationRequest.struct_class = Types::DeleteBucketAnalyticsConfigurationRequest
743
917
 
744
- DeleteBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
918
+ DeleteBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
919
+ DeleteBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
745
920
  DeleteBucketCorsRequest.struct_class = Types::DeleteBucketCorsRequest
746
921
 
747
- DeleteBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
922
+ DeleteBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
923
+ DeleteBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
748
924
  DeleteBucketEncryptionRequest.struct_class = Types::DeleteBucketEncryptionRequest
749
925
 
750
- DeleteBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
926
+ DeleteBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
927
+ DeleteBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
928
+ DeleteBucketIntelligentTieringConfigurationRequest.struct_class = Types::DeleteBucketIntelligentTieringConfigurationRequest
929
+
930
+ DeleteBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
751
931
  DeleteBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
932
+ DeleteBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
752
933
  DeleteBucketInventoryConfigurationRequest.struct_class = Types::DeleteBucketInventoryConfigurationRequest
753
934
 
754
- DeleteBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
935
+ DeleteBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
936
+ DeleteBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
755
937
  DeleteBucketLifecycleRequest.struct_class = Types::DeleteBucketLifecycleRequest
756
938
 
757
- DeleteBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
939
+ DeleteBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
758
940
  DeleteBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
941
+ DeleteBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
759
942
  DeleteBucketMetricsConfigurationRequest.struct_class = Types::DeleteBucketMetricsConfigurationRequest
760
943
 
761
- DeleteBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
944
+ DeleteBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
945
+ DeleteBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
946
+ DeleteBucketOwnershipControlsRequest.struct_class = Types::DeleteBucketOwnershipControlsRequest
947
+
948
+ DeleteBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
949
+ DeleteBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
762
950
  DeleteBucketPolicyRequest.struct_class = Types::DeleteBucketPolicyRequest
763
951
 
764
- DeleteBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
952
+ DeleteBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
953
+ DeleteBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
765
954
  DeleteBucketReplicationRequest.struct_class = Types::DeleteBucketReplicationRequest
766
955
 
767
- DeleteBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
956
+ DeleteBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
957
+ DeleteBucketRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
768
958
  DeleteBucketRequest.struct_class = Types::DeleteBucketRequest
769
959
 
770
- DeleteBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
960
+ DeleteBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
961
+ DeleteBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
771
962
  DeleteBucketTaggingRequest.struct_class = Types::DeleteBucketTaggingRequest
772
963
 
773
- DeleteBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
964
+ DeleteBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
965
+ DeleteBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
774
966
  DeleteBucketWebsiteRequest.struct_class = Types::DeleteBucketWebsiteRequest
775
967
 
776
968
  DeleteMarkerEntry.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
@@ -790,19 +982,22 @@ module Aws::S3
790
982
  DeleteObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
791
983
  DeleteObjectOutput.struct_class = Types::DeleteObjectOutput
792
984
 
793
- DeleteObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
985
+ DeleteObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
794
986
  DeleteObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
795
987
  DeleteObjectRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
796
988
  DeleteObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
797
989
  DeleteObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
990
+ DeleteObjectRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
991
+ DeleteObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
798
992
  DeleteObjectRequest.struct_class = Types::DeleteObjectRequest
799
993
 
800
994
  DeleteObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
801
995
  DeleteObjectTaggingOutput.struct_class = Types::DeleteObjectTaggingOutput
802
996
 
803
- DeleteObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
997
+ DeleteObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
804
998
  DeleteObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
805
999
  DeleteObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1000
+ DeleteObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
806
1001
  DeleteObjectTaggingRequest.struct_class = Types::DeleteObjectTaggingRequest
807
1002
 
808
1003
  DeleteObjectsOutput.add_member(:deleted, Shapes::ShapeRef.new(shape: DeletedObjects, location_name: "Deleted"))
@@ -810,14 +1005,21 @@ module Aws::S3
810
1005
  DeleteObjectsOutput.add_member(:errors, Shapes::ShapeRef.new(shape: Errors, location_name: "Error"))
811
1006
  DeleteObjectsOutput.struct_class = Types::DeleteObjectsOutput
812
1007
 
813
- DeleteObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1008
+ DeleteObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
814
1009
  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/"}}))
815
1010
  DeleteObjectsRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
816
1011
  DeleteObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1012
+ DeleteObjectsRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
1013
+ DeleteObjectsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1014
+ DeleteObjectsRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
817
1015
  DeleteObjectsRequest.struct_class = Types::DeleteObjectsRequest
818
1016
  DeleteObjectsRequest[:payload] = :delete
819
1017
  DeleteObjectsRequest[:payload_member] = DeleteObjectsRequest.member(:delete)
820
1018
 
1019
+ DeletePublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1020
+ DeletePublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1021
+ DeletePublicAccessBlockRequest.struct_class = Types::DeletePublicAccessBlockRequest
1022
+
821
1023
  DeletedObject.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
822
1024
  DeletedObject.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
823
1025
  DeletedObject.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location_name: "DeleteMarker"))
@@ -831,6 +1033,8 @@ module Aws::S3
831
1033
  Destination.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
832
1034
  Destination.add_member(:access_control_translation, Shapes::ShapeRef.new(shape: AccessControlTranslation, location_name: "AccessControlTranslation"))
833
1035
  Destination.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: EncryptionConfiguration, location_name: "EncryptionConfiguration"))
1036
+ Destination.add_member(:replication_time, Shapes::ShapeRef.new(shape: ReplicationTime, location_name: "ReplicationTime"))
1037
+ Destination.add_member(:metrics, Shapes::ShapeRef.new(shape: Metrics, location_name: "Metrics"))
834
1038
  Destination.struct_class = Types::Destination
835
1039
 
836
1040
  Encryption.add_member(:encryption_type, Shapes::ShapeRef.new(shape: ServerSideEncryption, required: true, location_name: "EncryptionType"))
@@ -854,8 +1058,13 @@ module Aws::S3
854
1058
 
855
1059
  Errors.member = Shapes::ShapeRef.new(shape: Error)
856
1060
 
1061
+ EventBridgeConfiguration.struct_class = Types::EventBridgeConfiguration
1062
+
857
1063
  EventList.member = Shapes::ShapeRef.new(shape: Event)
858
1064
 
1065
+ ExistingObjectReplication.add_member(:status, Shapes::ShapeRef.new(shape: ExistingObjectReplicationStatus, required: true, location_name: "Status"))
1066
+ ExistingObjectReplication.struct_class = Types::ExistingObjectReplication
1067
+
859
1068
  ExposeHeaders.member = Shapes::ShapeRef.new(shape: ExposeHeader)
860
1069
 
861
1070
  FilterRule.add_member(:name, Shapes::ShapeRef.new(shape: FilterRuleName, location_name: "Name"))
@@ -867,14 +1076,16 @@ module Aws::S3
867
1076
  GetBucketAccelerateConfigurationOutput.add_member(:status, Shapes::ShapeRef.new(shape: BucketAccelerateStatus, location_name: "Status"))
868
1077
  GetBucketAccelerateConfigurationOutput.struct_class = Types::GetBucketAccelerateConfigurationOutput
869
1078
 
870
- GetBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1079
+ GetBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1080
+ GetBucketAccelerateConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
871
1081
  GetBucketAccelerateConfigurationRequest.struct_class = Types::GetBucketAccelerateConfigurationRequest
872
1082
 
873
1083
  GetBucketAclOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
874
1084
  GetBucketAclOutput.add_member(:grants, Shapes::ShapeRef.new(shape: Grants, location_name: "AccessControlList"))
875
1085
  GetBucketAclOutput.struct_class = Types::GetBucketAclOutput
876
1086
 
877
- GetBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1087
+ GetBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1088
+ GetBucketAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
878
1089
  GetBucketAclRequest.struct_class = Types::GetBucketAclRequest
879
1090
 
880
1091
  GetBucketAnalyticsConfigurationOutput.add_member(:analytics_configuration, Shapes::ShapeRef.new(shape: AnalyticsConfiguration, location_name: "AnalyticsConfiguration"))
@@ -882,14 +1093,16 @@ module Aws::S3
882
1093
  GetBucketAnalyticsConfigurationOutput[:payload] = :analytics_configuration
883
1094
  GetBucketAnalyticsConfigurationOutput[:payload_member] = GetBucketAnalyticsConfigurationOutput.member(:analytics_configuration)
884
1095
 
885
- GetBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1096
+ GetBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
886
1097
  GetBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
1098
+ GetBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
887
1099
  GetBucketAnalyticsConfigurationRequest.struct_class = Types::GetBucketAnalyticsConfigurationRequest
888
1100
 
889
1101
  GetBucketCorsOutput.add_member(:cors_rules, Shapes::ShapeRef.new(shape: CORSRules, location_name: "CORSRule"))
890
1102
  GetBucketCorsOutput.struct_class = Types::GetBucketCorsOutput
891
1103
 
892
- GetBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1104
+ GetBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1105
+ GetBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
893
1106
  GetBucketCorsRequest.struct_class = Types::GetBucketCorsRequest
894
1107
 
895
1108
  GetBucketEncryptionOutput.add_member(:server_side_encryption_configuration, Shapes::ShapeRef.new(shape: ServerSideEncryptionConfiguration, location_name: "ServerSideEncryptionConfiguration"))
@@ -897,40 +1110,55 @@ module Aws::S3
897
1110
  GetBucketEncryptionOutput[:payload] = :server_side_encryption_configuration
898
1111
  GetBucketEncryptionOutput[:payload_member] = GetBucketEncryptionOutput.member(:server_side_encryption_configuration)
899
1112
 
900
- GetBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1113
+ GetBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1114
+ GetBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
901
1115
  GetBucketEncryptionRequest.struct_class = Types::GetBucketEncryptionRequest
902
1116
 
1117
+ GetBucketIntelligentTieringConfigurationOutput.add_member(:intelligent_tiering_configuration, Shapes::ShapeRef.new(shape: IntelligentTieringConfiguration, location_name: "IntelligentTieringConfiguration"))
1118
+ GetBucketIntelligentTieringConfigurationOutput.struct_class = Types::GetBucketIntelligentTieringConfigurationOutput
1119
+ GetBucketIntelligentTieringConfigurationOutput[:payload] = :intelligent_tiering_configuration
1120
+ GetBucketIntelligentTieringConfigurationOutput[:payload_member] = GetBucketIntelligentTieringConfigurationOutput.member(:intelligent_tiering_configuration)
1121
+
1122
+ GetBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1123
+ GetBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1124
+ GetBucketIntelligentTieringConfigurationRequest.struct_class = Types::GetBucketIntelligentTieringConfigurationRequest
1125
+
903
1126
  GetBucketInventoryConfigurationOutput.add_member(:inventory_configuration, Shapes::ShapeRef.new(shape: InventoryConfiguration, location_name: "InventoryConfiguration"))
904
1127
  GetBucketInventoryConfigurationOutput.struct_class = Types::GetBucketInventoryConfigurationOutput
905
1128
  GetBucketInventoryConfigurationOutput[:payload] = :inventory_configuration
906
1129
  GetBucketInventoryConfigurationOutput[:payload_member] = GetBucketInventoryConfigurationOutput.member(:inventory_configuration)
907
1130
 
908
- GetBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1131
+ GetBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
909
1132
  GetBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
1133
+ GetBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
910
1134
  GetBucketInventoryConfigurationRequest.struct_class = Types::GetBucketInventoryConfigurationRequest
911
1135
 
912
1136
  GetBucketLifecycleConfigurationOutput.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, location_name: "Rule"))
913
1137
  GetBucketLifecycleConfigurationOutput.struct_class = Types::GetBucketLifecycleConfigurationOutput
914
1138
 
915
- GetBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1139
+ GetBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1140
+ GetBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
916
1141
  GetBucketLifecycleConfigurationRequest.struct_class = Types::GetBucketLifecycleConfigurationRequest
917
1142
 
918
1143
  GetBucketLifecycleOutput.add_member(:rules, Shapes::ShapeRef.new(shape: Rules, location_name: "Rule"))
919
1144
  GetBucketLifecycleOutput.struct_class = Types::GetBucketLifecycleOutput
920
1145
 
921
- GetBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1146
+ GetBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1147
+ GetBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
922
1148
  GetBucketLifecycleRequest.struct_class = Types::GetBucketLifecycleRequest
923
1149
 
924
1150
  GetBucketLocationOutput.add_member(:location_constraint, Shapes::ShapeRef.new(shape: BucketLocationConstraint, location_name: "LocationConstraint"))
925
1151
  GetBucketLocationOutput.struct_class = Types::GetBucketLocationOutput
926
1152
 
927
- GetBucketLocationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1153
+ GetBucketLocationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1154
+ GetBucketLocationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
928
1155
  GetBucketLocationRequest.struct_class = Types::GetBucketLocationRequest
929
1156
 
930
1157
  GetBucketLoggingOutput.add_member(:logging_enabled, Shapes::ShapeRef.new(shape: LoggingEnabled, location_name: "LoggingEnabled"))
931
1158
  GetBucketLoggingOutput.struct_class = Types::GetBucketLoggingOutput
932
1159
 
933
- GetBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1160
+ GetBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1161
+ GetBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
934
1162
  GetBucketLoggingRequest.struct_class = Types::GetBucketLoggingRequest
935
1163
 
936
1164
  GetBucketMetricsConfigurationOutput.add_member(:metrics_configuration, Shapes::ShapeRef.new(shape: MetricsConfiguration, location_name: "MetricsConfiguration"))
@@ -938,46 +1166,71 @@ module Aws::S3
938
1166
  GetBucketMetricsConfigurationOutput[:payload] = :metrics_configuration
939
1167
  GetBucketMetricsConfigurationOutput[:payload_member] = GetBucketMetricsConfigurationOutput.member(:metrics_configuration)
940
1168
 
941
- GetBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1169
+ GetBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
942
1170
  GetBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
1171
+ GetBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
943
1172
  GetBucketMetricsConfigurationRequest.struct_class = Types::GetBucketMetricsConfigurationRequest
944
1173
 
945
- GetBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1174
+ GetBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1175
+ GetBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
946
1176
  GetBucketNotificationConfigurationRequest.struct_class = Types::GetBucketNotificationConfigurationRequest
947
1177
 
1178
+ GetBucketOwnershipControlsOutput.add_member(:ownership_controls, Shapes::ShapeRef.new(shape: OwnershipControls, location_name: "OwnershipControls"))
1179
+ GetBucketOwnershipControlsOutput.struct_class = Types::GetBucketOwnershipControlsOutput
1180
+ GetBucketOwnershipControlsOutput[:payload] = :ownership_controls
1181
+ GetBucketOwnershipControlsOutput[:payload_member] = GetBucketOwnershipControlsOutput.member(:ownership_controls)
1182
+
1183
+ GetBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1184
+ GetBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1185
+ GetBucketOwnershipControlsRequest.struct_class = Types::GetBucketOwnershipControlsRequest
1186
+
948
1187
  GetBucketPolicyOutput.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "Policy"))
949
1188
  GetBucketPolicyOutput.struct_class = Types::GetBucketPolicyOutput
950
1189
  GetBucketPolicyOutput[:payload] = :policy
951
1190
  GetBucketPolicyOutput[:payload_member] = GetBucketPolicyOutput.member(:policy)
952
1191
 
953
- GetBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1192
+ GetBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1193
+ GetBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
954
1194
  GetBucketPolicyRequest.struct_class = Types::GetBucketPolicyRequest
955
1195
 
1196
+ GetBucketPolicyStatusOutput.add_member(:policy_status, Shapes::ShapeRef.new(shape: PolicyStatus, location_name: "PolicyStatus"))
1197
+ GetBucketPolicyStatusOutput.struct_class = Types::GetBucketPolicyStatusOutput
1198
+ GetBucketPolicyStatusOutput[:payload] = :policy_status
1199
+ GetBucketPolicyStatusOutput[:payload_member] = GetBucketPolicyStatusOutput.member(:policy_status)
1200
+
1201
+ GetBucketPolicyStatusRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1202
+ GetBucketPolicyStatusRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1203
+ GetBucketPolicyStatusRequest.struct_class = Types::GetBucketPolicyStatusRequest
1204
+
956
1205
  GetBucketReplicationOutput.add_member(:replication_configuration, Shapes::ShapeRef.new(shape: ReplicationConfiguration, location_name: "ReplicationConfiguration"))
957
1206
  GetBucketReplicationOutput.struct_class = Types::GetBucketReplicationOutput
958
1207
  GetBucketReplicationOutput[:payload] = :replication_configuration
959
1208
  GetBucketReplicationOutput[:payload_member] = GetBucketReplicationOutput.member(:replication_configuration)
960
1209
 
961
- GetBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1210
+ GetBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1211
+ GetBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
962
1212
  GetBucketReplicationRequest.struct_class = Types::GetBucketReplicationRequest
963
1213
 
964
1214
  GetBucketRequestPaymentOutput.add_member(:payer, Shapes::ShapeRef.new(shape: Payer, location_name: "Payer"))
965
1215
  GetBucketRequestPaymentOutput.struct_class = Types::GetBucketRequestPaymentOutput
966
1216
 
967
- GetBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1217
+ GetBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1218
+ GetBucketRequestPaymentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
968
1219
  GetBucketRequestPaymentRequest.struct_class = Types::GetBucketRequestPaymentRequest
969
1220
 
970
1221
  GetBucketTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
971
1222
  GetBucketTaggingOutput.struct_class = Types::GetBucketTaggingOutput
972
1223
 
973
- GetBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1224
+ GetBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1225
+ GetBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
974
1226
  GetBucketTaggingRequest.struct_class = Types::GetBucketTaggingRequest
975
1227
 
976
1228
  GetBucketVersioningOutput.add_member(:status, Shapes::ShapeRef.new(shape: BucketVersioningStatus, location_name: "Status"))
977
1229
  GetBucketVersioningOutput.add_member(:mfa_delete, Shapes::ShapeRef.new(shape: MFADeleteStatus, location_name: "MfaDelete"))
978
1230
  GetBucketVersioningOutput.struct_class = Types::GetBucketVersioningOutput
979
1231
 
980
- GetBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1232
+ GetBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1233
+ GetBucketVersioningRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
981
1234
  GetBucketVersioningRequest.struct_class = Types::GetBucketVersioningRequest
982
1235
 
983
1236
  GetBucketWebsiteOutput.add_member(:redirect_all_requests_to, Shapes::ShapeRef.new(shape: RedirectAllRequestsTo, location_name: "RedirectAllRequestsTo"))
@@ -986,7 +1239,8 @@ module Aws::S3
986
1239
  GetBucketWebsiteOutput.add_member(:routing_rules, Shapes::ShapeRef.new(shape: RoutingRules, location_name: "RoutingRules"))
987
1240
  GetBucketWebsiteOutput.struct_class = Types::GetBucketWebsiteOutput
988
1241
 
989
- GetBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1242
+ GetBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1243
+ GetBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
990
1244
  GetBucketWebsiteRequest.struct_class = Types::GetBucketWebsiteRequest
991
1245
 
992
1246
  GetObjectAclOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
@@ -994,12 +1248,66 @@ module Aws::S3
994
1248
  GetObjectAclOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
995
1249
  GetObjectAclOutput.struct_class = Types::GetObjectAclOutput
996
1250
 
997
- GetObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1251
+ GetObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
998
1252
  GetObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
999
1253
  GetObjectAclRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1000
1254
  GetObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1255
+ GetObjectAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1001
1256
  GetObjectAclRequest.struct_class = Types::GetObjectAclRequest
1002
1257
 
1258
+ GetObjectAttributesOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
1259
+ GetObjectAttributesOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1260
+ GetObjectAttributesOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1261
+ GetObjectAttributesOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1262
+ GetObjectAttributesOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1263
+ GetObjectAttributesOutput.add_member(:checksum, Shapes::ShapeRef.new(shape: Checksum, location_name: "Checksum"))
1264
+ GetObjectAttributesOutput.add_member(:object_parts, Shapes::ShapeRef.new(shape: GetObjectAttributesParts, location_name: "ObjectParts"))
1265
+ GetObjectAttributesOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1266
+ GetObjectAttributesOutput.add_member(:object_size, Shapes::ShapeRef.new(shape: ObjectSize, location_name: "ObjectSize"))
1267
+ GetObjectAttributesOutput.struct_class = Types::GetObjectAttributesOutput
1268
+
1269
+ GetObjectAttributesParts.add_member(:total_parts_count, Shapes::ShapeRef.new(shape: PartsCount, location_name: "PartsCount"))
1270
+ GetObjectAttributesParts.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location_name: "PartNumberMarker"))
1271
+ GetObjectAttributesParts.add_member(:next_part_number_marker, Shapes::ShapeRef.new(shape: NextPartNumberMarker, location_name: "NextPartNumberMarker"))
1272
+ GetObjectAttributesParts.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location_name: "MaxParts"))
1273
+ GetObjectAttributesParts.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
1274
+ GetObjectAttributesParts.add_member(:parts, Shapes::ShapeRef.new(shape: PartsList, location_name: "Part"))
1275
+ GetObjectAttributesParts.struct_class = Types::GetObjectAttributesParts
1276
+
1277
+ GetObjectAttributesRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1278
+ GetObjectAttributesRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1279
+ GetObjectAttributesRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1280
+ GetObjectAttributesRequest.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location: "header", location_name: "x-amz-max-parts"))
1281
+ GetObjectAttributesRequest.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location: "header", location_name: "x-amz-part-number-marker"))
1282
+ GetObjectAttributesRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1283
+ GetObjectAttributesRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1284
+ GetObjectAttributesRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1285
+ GetObjectAttributesRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1286
+ GetObjectAttributesRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1287
+ GetObjectAttributesRequest.add_member(:object_attributes, Shapes::ShapeRef.new(shape: ObjectAttributesList, required: true, location: "header", location_name: "x-amz-object-attributes"))
1288
+ GetObjectAttributesRequest.struct_class = Types::GetObjectAttributesRequest
1289
+
1290
+ GetObjectLegalHoldOutput.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold"))
1291
+ GetObjectLegalHoldOutput.struct_class = Types::GetObjectLegalHoldOutput
1292
+ GetObjectLegalHoldOutput[:payload] = :legal_hold
1293
+ GetObjectLegalHoldOutput[:payload_member] = GetObjectLegalHoldOutput.member(:legal_hold)
1294
+
1295
+ GetObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1296
+ GetObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1297
+ GetObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1298
+ GetObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1299
+ GetObjectLegalHoldRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1300
+ GetObjectLegalHoldRequest.struct_class = Types::GetObjectLegalHoldRequest
1301
+
1302
+ GetObjectLockConfigurationOutput.add_member(:object_lock_configuration, Shapes::ShapeRef.new(shape: ObjectLockConfiguration, location_name: "ObjectLockConfiguration"))
1303
+ GetObjectLockConfigurationOutput.struct_class = Types::GetObjectLockConfigurationOutput
1304
+ GetObjectLockConfigurationOutput[:payload] = :object_lock_configuration
1305
+ GetObjectLockConfigurationOutput[:payload_member] = GetObjectLockConfigurationOutput.member(:object_lock_configuration)
1306
+
1307
+ GetObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1308
+ GetObjectLockConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1309
+ GetObjectLockConfigurationRequest.struct_class = Types::GetObjectLockConfigurationRequest
1310
+
1003
1311
  GetObjectOutput.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
1004
1312
  GetObjectOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
1005
1313
  GetObjectOutput.add_member(:accept_ranges, Shapes::ShapeRef.new(shape: AcceptRanges, location: "header", location_name: "accept-ranges"))
@@ -1008,6 +1316,10 @@ module Aws::S3
1008
1316
  GetObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1009
1317
  GetObjectOutput.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1010
1318
  GetObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1319
+ GetObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
1320
+ GetObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
1321
+ GetObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
1322
+ GetObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1011
1323
  GetObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
1012
1324
  GetObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1013
1325
  GetObjectOutput.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
@@ -1024,16 +1336,20 @@ module Aws::S3
1024
1336
  GetObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1025
1337
  GetObjectOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1026
1338
  GetObjectOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
1339
+ GetObjectOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
1027
1340
  GetObjectOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
1028
1341
  GetObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1029
1342
  GetObjectOutput.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-replication-status"))
1030
1343
  GetObjectOutput.add_member(:parts_count, Shapes::ShapeRef.new(shape: PartsCount, location: "header", location_name: "x-amz-mp-parts-count"))
1031
1344
  GetObjectOutput.add_member(:tag_count, Shapes::ShapeRef.new(shape: TagCount, location: "header", location_name: "x-amz-tagging-count"))
1345
+ GetObjectOutput.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
1346
+ GetObjectOutput.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
1347
+ GetObjectOutput.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
1032
1348
  GetObjectOutput.struct_class = Types::GetObjectOutput
1033
1349
  GetObjectOutput[:payload] = :body
1034
1350
  GetObjectOutput[:payload_member] = GetObjectOutput.member(:body)
1035
1351
 
1036
- GetObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1352
+ GetObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1037
1353
  GetObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1038
1354
  GetObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1039
1355
  GetObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
@@ -1052,15 +1368,31 @@ module Aws::S3
1052
1368
  GetObjectRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1053
1369
  GetObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1054
1370
  GetObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1371
+ GetObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1372
+ GetObjectRequest.add_member(:checksum_mode, Shapes::ShapeRef.new(shape: ChecksumMode, location: "header", location_name: "x-amz-checksum-mode"))
1055
1373
  GetObjectRequest.struct_class = Types::GetObjectRequest
1056
1374
 
1375
+ GetObjectRetentionOutput.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention"))
1376
+ GetObjectRetentionOutput.struct_class = Types::GetObjectRetentionOutput
1377
+ GetObjectRetentionOutput[:payload] = :retention
1378
+ GetObjectRetentionOutput[:payload_member] = GetObjectRetentionOutput.member(:retention)
1379
+
1380
+ GetObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1381
+ GetObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1382
+ GetObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1383
+ GetObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1384
+ GetObjectRetentionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1385
+ GetObjectRetentionRequest.struct_class = Types::GetObjectRetentionRequest
1386
+
1057
1387
  GetObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1058
1388
  GetObjectTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
1059
1389
  GetObjectTaggingOutput.struct_class = Types::GetObjectTaggingOutput
1060
1390
 
1061
- GetObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1391
+ GetObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1062
1392
  GetObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1063
1393
  GetObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1394
+ GetObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1395
+ GetObjectTaggingRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1064
1396
  GetObjectTaggingRequest.struct_class = Types::GetObjectTaggingRequest
1065
1397
 
1066
1398
  GetObjectTorrentOutput.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
@@ -1069,11 +1401,21 @@ module Aws::S3
1069
1401
  GetObjectTorrentOutput[:payload] = :body
1070
1402
  GetObjectTorrentOutput[:payload_member] = GetObjectTorrentOutput.member(:body)
1071
1403
 
1072
- GetObjectTorrentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1404
+ GetObjectTorrentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1073
1405
  GetObjectTorrentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1074
1406
  GetObjectTorrentRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1407
+ GetObjectTorrentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1075
1408
  GetObjectTorrentRequest.struct_class = Types::GetObjectTorrentRequest
1076
1409
 
1410
+ GetPublicAccessBlockOutput.add_member(:public_access_block_configuration, Shapes::ShapeRef.new(shape: PublicAccessBlockConfiguration, location_name: "PublicAccessBlockConfiguration"))
1411
+ GetPublicAccessBlockOutput.struct_class = Types::GetPublicAccessBlockOutput
1412
+ GetPublicAccessBlockOutput[:payload] = :public_access_block_configuration
1413
+ GetPublicAccessBlockOutput[:payload_member] = GetPublicAccessBlockOutput.member(:public_access_block_configuration)
1414
+
1415
+ GetPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1416
+ GetPublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1417
+ GetPublicAccessBlockRequest.struct_class = Types::GetPublicAccessBlockRequest
1418
+
1077
1419
  GlacierJobParameters.add_member(:tier, Shapes::ShapeRef.new(shape: Tier, required: true, location_name: "Tier"))
1078
1420
  GlacierJobParameters.struct_class = Types::GlacierJobParameters
1079
1421
 
@@ -1090,15 +1432,21 @@ module Aws::S3
1090
1432
 
1091
1433
  Grants.member = Shapes::ShapeRef.new(shape: Grant, location_name: "Grant")
1092
1434
 
1093
- HeadBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1435
+ HeadBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1436
+ HeadBucketRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1094
1437
  HeadBucketRequest.struct_class = Types::HeadBucketRequest
1095
1438
 
1096
1439
  HeadObjectOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
1097
1440
  HeadObjectOutput.add_member(:accept_ranges, Shapes::ShapeRef.new(shape: AcceptRanges, location: "header", location_name: "accept-ranges"))
1098
1441
  HeadObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
1099
1442
  HeadObjectOutput.add_member(:restore, Shapes::ShapeRef.new(shape: Restore, location: "header", location_name: "x-amz-restore"))
1443
+ HeadObjectOutput.add_member(:archive_status, Shapes::ShapeRef.new(shape: ArchiveStatus, location: "header", location_name: "x-amz-archive-status"))
1100
1444
  HeadObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1101
1445
  HeadObjectOutput.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1446
+ HeadObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
1447
+ HeadObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
1448
+ HeadObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
1449
+ HeadObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1102
1450
  HeadObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1103
1451
  HeadObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
1104
1452
  HeadObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
@@ -1115,13 +1463,17 @@ module Aws::S3
1115
1463
  HeadObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1116
1464
  HeadObjectOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1117
1465
  HeadObjectOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
1466
+ HeadObjectOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
1118
1467
  HeadObjectOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
1119
1468
  HeadObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1120
1469
  HeadObjectOutput.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-replication-status"))
1121
1470
  HeadObjectOutput.add_member(:parts_count, Shapes::ShapeRef.new(shape: PartsCount, location: "header", location_name: "x-amz-mp-parts-count"))
1471
+ HeadObjectOutput.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
1472
+ HeadObjectOutput.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
1473
+ HeadObjectOutput.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
1122
1474
  HeadObjectOutput.struct_class = Types::HeadObjectOutput
1123
1475
 
1124
- HeadObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1476
+ HeadObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1125
1477
  HeadObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1126
1478
  HeadObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1127
1479
  HeadObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
@@ -1134,6 +1486,8 @@ module Aws::S3
1134
1486
  HeadObjectRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1135
1487
  HeadObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1136
1488
  HeadObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1489
+ HeadObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1490
+ HeadObjectRequest.add_member(:checksum_mode, Shapes::ShapeRef.new(shape: ChecksumMode, location: "header", location_name: "x-amz-checksum-mode"))
1137
1491
  HeadObjectRequest.struct_class = Types::HeadObjectRequest
1138
1492
 
1139
1493
  IndexDocument.add_member(:suffix, Shapes::ShapeRef.new(shape: Suffix, required: true, location_name: "Suffix"))
@@ -1149,6 +1503,27 @@ module Aws::S3
1149
1503
  InputSerialization.add_member(:parquet, Shapes::ShapeRef.new(shape: ParquetInput, location_name: "Parquet"))
1150
1504
  InputSerialization.struct_class = Types::InputSerialization
1151
1505
 
1506
+ IntelligentTieringAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1507
+ IntelligentTieringAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
1508
+ IntelligentTieringAndOperator.struct_class = Types::IntelligentTieringAndOperator
1509
+
1510
+ IntelligentTieringConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location_name: "Id"))
1511
+ IntelligentTieringConfiguration.add_member(:filter, Shapes::ShapeRef.new(shape: IntelligentTieringFilter, location_name: "Filter"))
1512
+ IntelligentTieringConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: IntelligentTieringStatus, required: true, location_name: "Status"))
1513
+ IntelligentTieringConfiguration.add_member(:tierings, Shapes::ShapeRef.new(shape: TieringList, required: true, location_name: "Tiering"))
1514
+ IntelligentTieringConfiguration.struct_class = Types::IntelligentTieringConfiguration
1515
+
1516
+ IntelligentTieringConfigurationList.member = Shapes::ShapeRef.new(shape: IntelligentTieringConfiguration)
1517
+
1518
+ IntelligentTieringFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1519
+ IntelligentTieringFilter.add_member(:tag, Shapes::ShapeRef.new(shape: Tag, location_name: "Tag"))
1520
+ IntelligentTieringFilter.add_member(:and, Shapes::ShapeRef.new(shape: IntelligentTieringAndOperator, location_name: "And"))
1521
+ IntelligentTieringFilter.struct_class = Types::IntelligentTieringFilter
1522
+
1523
+ InvalidObjectState.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1524
+ InvalidObjectState.add_member(:access_tier, Shapes::ShapeRef.new(shape: IntelligentTieringAccessTier, location_name: "AccessTier"))
1525
+ InvalidObjectState.struct_class = Types::InvalidObjectState
1526
+
1152
1527
  InventoryConfiguration.add_member(:destination, Shapes::ShapeRef.new(shape: InventoryDestination, required: true, location_name: "Destination"))
1153
1528
  InventoryConfiguration.add_member(:is_enabled, Shapes::ShapeRef.new(shape: IsEnabled, required: true, location_name: "IsEnabled"))
1154
1529
  InventoryConfiguration.add_member(:filter, Shapes::ShapeRef.new(shape: InventoryFilter, location_name: "Filter"))
@@ -1217,10 +1592,14 @@ module Aws::S3
1217
1592
 
1218
1593
  LifecycleRuleAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1219
1594
  LifecycleRuleAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
1595
+ LifecycleRuleAndOperator.add_member(:object_size_greater_than, Shapes::ShapeRef.new(shape: ObjectSizeGreaterThanBytes, location_name: "ObjectSizeGreaterThan"))
1596
+ LifecycleRuleAndOperator.add_member(:object_size_less_than, Shapes::ShapeRef.new(shape: ObjectSizeLessThanBytes, location_name: "ObjectSizeLessThan"))
1220
1597
  LifecycleRuleAndOperator.struct_class = Types::LifecycleRuleAndOperator
1221
1598
 
1222
1599
  LifecycleRuleFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1223
1600
  LifecycleRuleFilter.add_member(:tag, Shapes::ShapeRef.new(shape: Tag, location_name: "Tag"))
1601
+ LifecycleRuleFilter.add_member(:object_size_greater_than, Shapes::ShapeRef.new(shape: ObjectSizeGreaterThanBytes, location_name: "ObjectSizeGreaterThan"))
1602
+ LifecycleRuleFilter.add_member(:object_size_less_than, Shapes::ShapeRef.new(shape: ObjectSizeLessThanBytes, location_name: "ObjectSizeLessThan"))
1224
1603
  LifecycleRuleFilter.add_member(:and, Shapes::ShapeRef.new(shape: LifecycleRuleAndOperator, location_name: "And"))
1225
1604
  LifecycleRuleFilter.struct_class = Types::LifecycleRuleFilter
1226
1605
 
@@ -1232,18 +1611,30 @@ module Aws::S3
1232
1611
  ListBucketAnalyticsConfigurationsOutput.add_member(:analytics_configuration_list, Shapes::ShapeRef.new(shape: AnalyticsConfigurationList, location_name: "AnalyticsConfiguration"))
1233
1612
  ListBucketAnalyticsConfigurationsOutput.struct_class = Types::ListBucketAnalyticsConfigurationsOutput
1234
1613
 
1235
- ListBucketAnalyticsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1614
+ ListBucketAnalyticsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1236
1615
  ListBucketAnalyticsConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1616
+ ListBucketAnalyticsConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1237
1617
  ListBucketAnalyticsConfigurationsRequest.struct_class = Types::ListBucketAnalyticsConfigurationsRequest
1238
1618
 
1619
+ ListBucketIntelligentTieringConfigurationsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
1620
+ ListBucketIntelligentTieringConfigurationsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location_name: "ContinuationToken"))
1621
+ ListBucketIntelligentTieringConfigurationsOutput.add_member(:next_continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextContinuationToken"))
1622
+ ListBucketIntelligentTieringConfigurationsOutput.add_member(:intelligent_tiering_configuration_list, Shapes::ShapeRef.new(shape: IntelligentTieringConfigurationList, location_name: "IntelligentTieringConfiguration"))
1623
+ ListBucketIntelligentTieringConfigurationsOutput.struct_class = Types::ListBucketIntelligentTieringConfigurationsOutput
1624
+
1625
+ ListBucketIntelligentTieringConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1626
+ ListBucketIntelligentTieringConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1627
+ ListBucketIntelligentTieringConfigurationsRequest.struct_class = Types::ListBucketIntelligentTieringConfigurationsRequest
1628
+
1239
1629
  ListBucketInventoryConfigurationsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location_name: "ContinuationToken"))
1240
1630
  ListBucketInventoryConfigurationsOutput.add_member(:inventory_configuration_list, Shapes::ShapeRef.new(shape: InventoryConfigurationList, location_name: "InventoryConfiguration"))
1241
1631
  ListBucketInventoryConfigurationsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
1242
1632
  ListBucketInventoryConfigurationsOutput.add_member(:next_continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextContinuationToken"))
1243
1633
  ListBucketInventoryConfigurationsOutput.struct_class = Types::ListBucketInventoryConfigurationsOutput
1244
1634
 
1245
- ListBucketInventoryConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1635
+ ListBucketInventoryConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1246
1636
  ListBucketInventoryConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1637
+ ListBucketInventoryConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1247
1638
  ListBucketInventoryConfigurationsRequest.struct_class = Types::ListBucketInventoryConfigurationsRequest
1248
1639
 
1249
1640
  ListBucketMetricsConfigurationsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1252,8 +1643,9 @@ module Aws::S3
1252
1643
  ListBucketMetricsConfigurationsOutput.add_member(:metrics_configuration_list, Shapes::ShapeRef.new(shape: MetricsConfigurationList, location_name: "MetricsConfiguration"))
1253
1644
  ListBucketMetricsConfigurationsOutput.struct_class = Types::ListBucketMetricsConfigurationsOutput
1254
1645
 
1255
- ListBucketMetricsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1646
+ ListBucketMetricsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1256
1647
  ListBucketMetricsConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1648
+ ListBucketMetricsConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1257
1649
  ListBucketMetricsConfigurationsRequest.struct_class = Types::ListBucketMetricsConfigurationsRequest
1258
1650
 
1259
1651
  ListBucketsOutput.add_member(:buckets, Shapes::ShapeRef.new(shape: Buckets, location_name: "Buckets"))
@@ -1274,13 +1666,14 @@ module Aws::S3
1274
1666
  ListMultipartUploadsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1275
1667
  ListMultipartUploadsOutput.struct_class = Types::ListMultipartUploadsOutput
1276
1668
 
1277
- ListMultipartUploadsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1669
+ ListMultipartUploadsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1278
1670
  ListMultipartUploadsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1279
1671
  ListMultipartUploadsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1280
1672
  ListMultipartUploadsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
1281
1673
  ListMultipartUploadsRequest.add_member(:max_uploads, Shapes::ShapeRef.new(shape: MaxUploads, location: "querystring", location_name: "max-uploads"))
1282
1674
  ListMultipartUploadsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1283
1675
  ListMultipartUploadsRequest.add_member(:upload_id_marker, Shapes::ShapeRef.new(shape: UploadIdMarker, location: "querystring", location_name: "upload-id-marker"))
1676
+ ListMultipartUploadsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1284
1677
  ListMultipartUploadsRequest.struct_class = Types::ListMultipartUploadsRequest
1285
1678
 
1286
1679
  ListObjectVersionsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1298,13 +1691,14 @@ module Aws::S3
1298
1691
  ListObjectVersionsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1299
1692
  ListObjectVersionsOutput.struct_class = Types::ListObjectVersionsOutput
1300
1693
 
1301
- ListObjectVersionsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1694
+ ListObjectVersionsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1302
1695
  ListObjectVersionsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1303
1696
  ListObjectVersionsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1304
1697
  ListObjectVersionsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
1305
1698
  ListObjectVersionsRequest.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1306
1699
  ListObjectVersionsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1307
1700
  ListObjectVersionsRequest.add_member(:version_id_marker, Shapes::ShapeRef.new(shape: VersionIdMarker, location: "querystring", location_name: "version-id-marker"))
1701
+ ListObjectVersionsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1308
1702
  ListObjectVersionsRequest.struct_class = Types::ListObjectVersionsRequest
1309
1703
 
1310
1704
  ListObjectsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1319,13 +1713,14 @@ module Aws::S3
1319
1713
  ListObjectsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1320
1714
  ListObjectsOutput.struct_class = Types::ListObjectsOutput
1321
1715
 
1322
- ListObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1716
+ ListObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1323
1717
  ListObjectsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1324
1718
  ListObjectsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1325
1719
  ListObjectsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "marker"))
1326
1720
  ListObjectsRequest.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1327
1721
  ListObjectsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1328
1722
  ListObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1723
+ ListObjectsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1329
1724
  ListObjectsRequest.struct_class = Types::ListObjectsRequest
1330
1725
 
1331
1726
  ListObjectsV2Output.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1342,7 +1737,7 @@ module Aws::S3
1342
1737
  ListObjectsV2Output.add_member(:start_after, Shapes::ShapeRef.new(shape: StartAfter, location_name: "StartAfter"))
1343
1738
  ListObjectsV2Output.struct_class = Types::ListObjectsV2Output
1344
1739
 
1345
- ListObjectsV2Request.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1740
+ ListObjectsV2Request.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1346
1741
  ListObjectsV2Request.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1347
1742
  ListObjectsV2Request.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1348
1743
  ListObjectsV2Request.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
@@ -1351,6 +1746,7 @@ module Aws::S3
1351
1746
  ListObjectsV2Request.add_member(:fetch_owner, Shapes::ShapeRef.new(shape: FetchOwner, location: "querystring", location_name: "fetch-owner"))
1352
1747
  ListObjectsV2Request.add_member(:start_after, Shapes::ShapeRef.new(shape: StartAfter, location: "querystring", location_name: "start-after"))
1353
1748
  ListObjectsV2Request.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1749
+ ListObjectsV2Request.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1354
1750
  ListObjectsV2Request.struct_class = Types::ListObjectsV2Request
1355
1751
 
1356
1752
  ListPartsOutput.add_member(:abort_date, Shapes::ShapeRef.new(shape: AbortDate, location: "header", location_name: "x-amz-abort-date"))
@@ -1367,14 +1763,19 @@ module Aws::S3
1367
1763
  ListPartsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1368
1764
  ListPartsOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1369
1765
  ListPartsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1766
+ ListPartsOutput.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location_name: "ChecksumAlgorithm"))
1370
1767
  ListPartsOutput.struct_class = Types::ListPartsOutput
1371
1768
 
1372
- ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1769
+ ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1373
1770
  ListPartsRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1374
1771
  ListPartsRequest.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location: "querystring", location_name: "max-parts"))
1375
1772
  ListPartsRequest.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location: "querystring", location_name: "part-number-marker"))
1376
1773
  ListPartsRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
1377
1774
  ListPartsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1775
+ ListPartsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1776
+ ListPartsRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1777
+ ListPartsRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1778
+ ListPartsRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1378
1779
  ListPartsRequest.struct_class = Types::ListPartsRequest
1379
1780
 
1380
1781
  LoggingEnabled.add_member(:target_bucket, Shapes::ShapeRef.new(shape: TargetBucket, required: true, location_name: "TargetBucket"))
@@ -1389,8 +1790,13 @@ module Aws::S3
1389
1790
  MetadataEntry.add_member(:value, Shapes::ShapeRef.new(shape: MetadataValue, location_name: "Value"))
1390
1791
  MetadataEntry.struct_class = Types::MetadataEntry
1391
1792
 
1793
+ Metrics.add_member(:status, Shapes::ShapeRef.new(shape: MetricsStatus, required: true, location_name: "Status"))
1794
+ Metrics.add_member(:event_threshold, Shapes::ShapeRef.new(shape: ReplicationTimeValue, location_name: "EventThreshold"))
1795
+ Metrics.struct_class = Types::Metrics
1796
+
1392
1797
  MetricsAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1393
1798
  MetricsAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
1799
+ MetricsAndOperator.add_member(:access_point_arn, Shapes::ShapeRef.new(shape: AccessPointArn, location_name: "AccessPointArn"))
1394
1800
  MetricsAndOperator.struct_class = Types::MetricsAndOperator
1395
1801
 
1396
1802
  MetricsConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location_name: "Id"))
@@ -1401,6 +1807,7 @@ module Aws::S3
1401
1807
 
1402
1808
  MetricsFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1403
1809
  MetricsFilter.add_member(:tag, Shapes::ShapeRef.new(shape: Tag, location_name: "Tag"))
1810
+ MetricsFilter.add_member(:access_point_arn, Shapes::ShapeRef.new(shape: AccessPointArn, location_name: "AccessPointArn"))
1404
1811
  MetricsFilter.add_member(:and, Shapes::ShapeRef.new(shape: MetricsAndOperator, location_name: "And"))
1405
1812
  MetricsFilter.struct_class = Types::MetricsFilter
1406
1813
 
@@ -1410,15 +1817,24 @@ module Aws::S3
1410
1817
  MultipartUpload.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1411
1818
  MultipartUpload.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1412
1819
  MultipartUpload.add_member(:initiator, Shapes::ShapeRef.new(shape: Initiator, location_name: "Initiator"))
1820
+ MultipartUpload.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location_name: "ChecksumAlgorithm"))
1413
1821
  MultipartUpload.struct_class = Types::MultipartUpload
1414
1822
 
1415
1823
  MultipartUploadList.member = Shapes::ShapeRef.new(shape: MultipartUpload)
1416
1824
 
1825
+ NoSuchBucket.struct_class = Types::NoSuchBucket
1826
+
1827
+ NoSuchKey.struct_class = Types::NoSuchKey
1828
+
1829
+ NoSuchUpload.struct_class = Types::NoSuchUpload
1830
+
1417
1831
  NoncurrentVersionExpiration.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
1832
+ NoncurrentVersionExpiration.add_member(:newer_noncurrent_versions, Shapes::ShapeRef.new(shape: VersionCount, location_name: "NewerNoncurrentVersions"))
1418
1833
  NoncurrentVersionExpiration.struct_class = Types::NoncurrentVersionExpiration
1419
1834
 
1420
1835
  NoncurrentVersionTransition.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
1421
1836
  NoncurrentVersionTransition.add_member(:storage_class, Shapes::ShapeRef.new(shape: TransitionStorageClass, location_name: "StorageClass"))
1837
+ NoncurrentVersionTransition.add_member(:newer_noncurrent_versions, Shapes::ShapeRef.new(shape: VersionCount, location_name: "NewerNoncurrentVersions"))
1422
1838
  NoncurrentVersionTransition.struct_class = Types::NoncurrentVersionTransition
1423
1839
 
1424
1840
  NoncurrentVersionTransitionList.member = Shapes::ShapeRef.new(shape: NoncurrentVersionTransition)
@@ -1426,6 +1842,7 @@ module Aws::S3
1426
1842
  NotificationConfiguration.add_member(:topic_configurations, Shapes::ShapeRef.new(shape: TopicConfigurationList, location_name: "TopicConfiguration"))
1427
1843
  NotificationConfiguration.add_member(:queue_configurations, Shapes::ShapeRef.new(shape: QueueConfigurationList, location_name: "QueueConfiguration"))
1428
1844
  NotificationConfiguration.add_member(:lambda_function_configurations, Shapes::ShapeRef.new(shape: LambdaFunctionConfigurationList, location_name: "CloudFunctionConfiguration"))
1845
+ NotificationConfiguration.add_member(:event_bridge_configuration, Shapes::ShapeRef.new(shape: EventBridgeConfiguration, location_name: "EventBridgeConfiguration"))
1429
1846
  NotificationConfiguration.struct_class = Types::NotificationConfiguration
1430
1847
 
1431
1848
  NotificationConfigurationDeprecated.add_member(:topic_configuration, Shapes::ShapeRef.new(shape: TopicConfigurationDeprecated, location_name: "TopicConfiguration"))
@@ -1439,11 +1856,16 @@ module Aws::S3
1439
1856
  Object.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
1440
1857
  Object.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1441
1858
  Object.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1859
+ Object.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithmList, location_name: "ChecksumAlgorithm"))
1442
1860
  Object.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1443
1861
  Object.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectStorageClass, location_name: "StorageClass"))
1444
1862
  Object.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1445
1863
  Object.struct_class = Types::Object
1446
1864
 
1865
+ ObjectAlreadyInActiveTierError.struct_class = Types::ObjectAlreadyInActiveTierError
1866
+
1867
+ ObjectAttributesList.member = Shapes::ShapeRef.new(shape: ObjectAttributes)
1868
+
1447
1869
  ObjectIdentifier.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
1448
1870
  ObjectIdentifier.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
1449
1871
  ObjectIdentifier.struct_class = Types::ObjectIdentifier
@@ -1452,7 +1874,32 @@ module Aws::S3
1452
1874
 
1453
1875
  ObjectList.member = Shapes::ShapeRef.new(shape: Object)
1454
1876
 
1877
+ ObjectLockConfiguration.add_member(:object_lock_enabled, Shapes::ShapeRef.new(shape: ObjectLockEnabled, location_name: "ObjectLockEnabled"))
1878
+ ObjectLockConfiguration.add_member(:rule, Shapes::ShapeRef.new(shape: ObjectLockRule, location_name: "Rule"))
1879
+ ObjectLockConfiguration.struct_class = Types::ObjectLockConfiguration
1880
+
1881
+ ObjectLockLegalHold.add_member(:status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location_name: "Status"))
1882
+ ObjectLockLegalHold.struct_class = Types::ObjectLockLegalHold
1883
+
1884
+ ObjectLockRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
1885
+ ObjectLockRetention.add_member(:retain_until_date, Shapes::ShapeRef.new(shape: Date, location_name: "RetainUntilDate"))
1886
+ ObjectLockRetention.struct_class = Types::ObjectLockRetention
1887
+
1888
+ ObjectLockRule.add_member(:default_retention, Shapes::ShapeRef.new(shape: DefaultRetention, location_name: "DefaultRetention"))
1889
+ ObjectLockRule.struct_class = Types::ObjectLockRule
1890
+
1891
+ ObjectNotInActiveTierError.struct_class = Types::ObjectNotInActiveTierError
1892
+
1893
+ ObjectPart.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
1894
+ ObjectPart.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1895
+ ObjectPart.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
1896
+ ObjectPart.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
1897
+ ObjectPart.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
1898
+ ObjectPart.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1899
+ ObjectPart.struct_class = Types::ObjectPart
1900
+
1455
1901
  ObjectVersion.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1902
+ ObjectVersion.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithmList, location_name: "ChecksumAlgorithm"))
1456
1903
  ObjectVersion.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1457
1904
  ObjectVersion.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectVersionStorageClass, location_name: "StorageClass"))
1458
1905
  ObjectVersion.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
@@ -1475,16 +1922,33 @@ module Aws::S3
1475
1922
  Owner.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
1476
1923
  Owner.struct_class = Types::Owner
1477
1924
 
1925
+ OwnershipControls.add_member(:rules, Shapes::ShapeRef.new(shape: OwnershipControlsRules, required: true, location_name: "Rule"))
1926
+ OwnershipControls.struct_class = Types::OwnershipControls
1927
+
1928
+ OwnershipControlsRule.add_member(:object_ownership, Shapes::ShapeRef.new(shape: ObjectOwnership, required: true, location_name: "ObjectOwnership"))
1929
+ OwnershipControlsRule.struct_class = Types::OwnershipControlsRule
1930
+
1931
+ OwnershipControlsRules.member = Shapes::ShapeRef.new(shape: OwnershipControlsRule)
1932
+
1478
1933
  ParquetInput.struct_class = Types::ParquetInput
1479
1934
 
1480
1935
  Part.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
1481
1936
  Part.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1482
1937
  Part.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1483
1938
  Part.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1939
+ Part.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
1940
+ Part.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
1941
+ Part.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
1942
+ Part.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1484
1943
  Part.struct_class = Types::Part
1485
1944
 
1486
1945
  Parts.member = Shapes::ShapeRef.new(shape: Part)
1487
1946
 
1947
+ PartsList.member = Shapes::ShapeRef.new(shape: ObjectPart)
1948
+
1949
+ PolicyStatus.add_member(:is_public, Shapes::ShapeRef.new(shape: IsPublic, location_name: "IsPublic"))
1950
+ PolicyStatus.struct_class = Types::PolicyStatus
1951
+
1488
1952
  Progress.add_member(:bytes_scanned, Shapes::ShapeRef.new(shape: BytesScanned, location_name: "BytesScanned"))
1489
1953
  Progress.add_member(:bytes_processed, Shapes::ShapeRef.new(shape: BytesProcessed, location_name: "BytesProcessed"))
1490
1954
  Progress.add_member(:bytes_returned, Shapes::ShapeRef.new(shape: BytesReturned, location_name: "BytesReturned"))
@@ -1493,133 +1957,188 @@ module Aws::S3
1493
1957
  ProgressEvent.add_member(:details, Shapes::ShapeRef.new(shape: Progress, eventpayload: true, eventpayload_type: 'structure', location_name: "Details", metadata: {"eventpayload"=>true}))
1494
1958
  ProgressEvent.struct_class = Types::ProgressEvent
1495
1959
 
1496
- PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1960
+ PublicAccessBlockConfiguration.add_member(:block_public_acls, Shapes::ShapeRef.new(shape: Setting, location_name: "BlockPublicAcls"))
1961
+ PublicAccessBlockConfiguration.add_member(:ignore_public_acls, Shapes::ShapeRef.new(shape: Setting, location_name: "IgnorePublicAcls"))
1962
+ PublicAccessBlockConfiguration.add_member(:block_public_policy, Shapes::ShapeRef.new(shape: Setting, location_name: "BlockPublicPolicy"))
1963
+ PublicAccessBlockConfiguration.add_member(:restrict_public_buckets, Shapes::ShapeRef.new(shape: Setting, location_name: "RestrictPublicBuckets"))
1964
+ PublicAccessBlockConfiguration.struct_class = Types::PublicAccessBlockConfiguration
1965
+
1966
+ PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1497
1967
  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/"}}))
1968
+ PutBucketAccelerateConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1969
+ PutBucketAccelerateConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1498
1970
  PutBucketAccelerateConfigurationRequest.struct_class = Types::PutBucketAccelerateConfigurationRequest
1499
1971
  PutBucketAccelerateConfigurationRequest[:payload] = :accelerate_configuration
1500
1972
  PutBucketAccelerateConfigurationRequest[:payload_member] = PutBucketAccelerateConfigurationRequest.member(:accelerate_configuration)
1501
1973
 
1502
1974
  PutBucketAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
1503
1975
  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/"}}))
1504
- PutBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1976
+ PutBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1505
1977
  PutBucketAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1978
+ PutBucketAclRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1506
1979
  PutBucketAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
1507
1980
  PutBucketAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
1508
1981
  PutBucketAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
1509
1982
  PutBucketAclRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
1510
1983
  PutBucketAclRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
1984
+ PutBucketAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1511
1985
  PutBucketAclRequest.struct_class = Types::PutBucketAclRequest
1512
1986
  PutBucketAclRequest[:payload] = :access_control_policy
1513
1987
  PutBucketAclRequest[:payload_member] = PutBucketAclRequest.member(:access_control_policy)
1514
1988
 
1515
- PutBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1989
+ PutBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1516
1990
  PutBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
1517
1991
  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/"}}))
1992
+ PutBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1518
1993
  PutBucketAnalyticsConfigurationRequest.struct_class = Types::PutBucketAnalyticsConfigurationRequest
1519
1994
  PutBucketAnalyticsConfigurationRequest[:payload] = :analytics_configuration
1520
1995
  PutBucketAnalyticsConfigurationRequest[:payload_member] = PutBucketAnalyticsConfigurationRequest.member(:analytics_configuration)
1521
1996
 
1522
- PutBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1997
+ PutBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1523
1998
  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/"}}))
1524
1999
  PutBucketCorsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2000
+ PutBucketCorsRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2001
+ PutBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1525
2002
  PutBucketCorsRequest.struct_class = Types::PutBucketCorsRequest
1526
2003
  PutBucketCorsRequest[:payload] = :cors_configuration
1527
2004
  PutBucketCorsRequest[:payload_member] = PutBucketCorsRequest.member(:cors_configuration)
1528
2005
 
1529
- PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2006
+ PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1530
2007
  PutBucketEncryptionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2008
+ PutBucketEncryptionRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1531
2009
  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/"}}))
2010
+ PutBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1532
2011
  PutBucketEncryptionRequest.struct_class = Types::PutBucketEncryptionRequest
1533
2012
  PutBucketEncryptionRequest[:payload] = :server_side_encryption_configuration
1534
2013
  PutBucketEncryptionRequest[:payload_member] = PutBucketEncryptionRequest.member(:server_side_encryption_configuration)
1535
2014
 
1536
- PutBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2015
+ PutBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2016
+ PutBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
2017
+ 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/"}}))
2018
+ PutBucketIntelligentTieringConfigurationRequest.struct_class = Types::PutBucketIntelligentTieringConfigurationRequest
2019
+ PutBucketIntelligentTieringConfigurationRequest[:payload] = :intelligent_tiering_configuration
2020
+ PutBucketIntelligentTieringConfigurationRequest[:payload_member] = PutBucketIntelligentTieringConfigurationRequest.member(:intelligent_tiering_configuration)
2021
+
2022
+ PutBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1537
2023
  PutBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
1538
2024
  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/"}}))
2025
+ PutBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1539
2026
  PutBucketInventoryConfigurationRequest.struct_class = Types::PutBucketInventoryConfigurationRequest
1540
2027
  PutBucketInventoryConfigurationRequest[:payload] = :inventory_configuration
1541
2028
  PutBucketInventoryConfigurationRequest[:payload_member] = PutBucketInventoryConfigurationRequest.member(:inventory_configuration)
1542
2029
 
1543
- PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2030
+ PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2031
+ PutBucketLifecycleConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1544
2032
  PutBucketLifecycleConfigurationRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: BucketLifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2033
+ PutBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1545
2034
  PutBucketLifecycleConfigurationRequest.struct_class = Types::PutBucketLifecycleConfigurationRequest
1546
2035
  PutBucketLifecycleConfigurationRequest[:payload] = :lifecycle_configuration
1547
2036
  PutBucketLifecycleConfigurationRequest[:payload_member] = PutBucketLifecycleConfigurationRequest.member(:lifecycle_configuration)
1548
2037
 
1549
- PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2038
+ PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1550
2039
  PutBucketLifecycleRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2040
+ PutBucketLifecycleRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1551
2041
  PutBucketLifecycleRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: LifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2042
+ PutBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1552
2043
  PutBucketLifecycleRequest.struct_class = Types::PutBucketLifecycleRequest
1553
2044
  PutBucketLifecycleRequest[:payload] = :lifecycle_configuration
1554
2045
  PutBucketLifecycleRequest[:payload_member] = PutBucketLifecycleRequest.member(:lifecycle_configuration)
1555
2046
 
1556
- PutBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2047
+ PutBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1557
2048
  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/"}}))
1558
2049
  PutBucketLoggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2050
+ PutBucketLoggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2051
+ PutBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1559
2052
  PutBucketLoggingRequest.struct_class = Types::PutBucketLoggingRequest
1560
2053
  PutBucketLoggingRequest[:payload] = :bucket_logging_status
1561
2054
  PutBucketLoggingRequest[:payload_member] = PutBucketLoggingRequest.member(:bucket_logging_status)
1562
2055
 
1563
- PutBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2056
+ PutBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1564
2057
  PutBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
1565
2058
  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/"}}))
2059
+ PutBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1566
2060
  PutBucketMetricsConfigurationRequest.struct_class = Types::PutBucketMetricsConfigurationRequest
1567
2061
  PutBucketMetricsConfigurationRequest[:payload] = :metrics_configuration
1568
2062
  PutBucketMetricsConfigurationRequest[:payload_member] = PutBucketMetricsConfigurationRequest.member(:metrics_configuration)
1569
2063
 
1570
- PutBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2064
+ PutBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1571
2065
  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/"}}))
2066
+ PutBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2067
+ PutBucketNotificationConfigurationRequest.add_member(:skip_destination_validation, Shapes::ShapeRef.new(shape: SkipValidation, location: "header", location_name: "x-amz-skip-destination-validation"))
1572
2068
  PutBucketNotificationConfigurationRequest.struct_class = Types::PutBucketNotificationConfigurationRequest
1573
2069
  PutBucketNotificationConfigurationRequest[:payload] = :notification_configuration
1574
2070
  PutBucketNotificationConfigurationRequest[:payload_member] = PutBucketNotificationConfigurationRequest.member(:notification_configuration)
1575
2071
 
1576
- PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2072
+ PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1577
2073
  PutBucketNotificationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2074
+ PutBucketNotificationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1578
2075
  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/"}}))
2076
+ PutBucketNotificationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1579
2077
  PutBucketNotificationRequest.struct_class = Types::PutBucketNotificationRequest
1580
2078
  PutBucketNotificationRequest[:payload] = :notification_configuration
1581
2079
  PutBucketNotificationRequest[:payload_member] = PutBucketNotificationRequest.member(:notification_configuration)
1582
2080
 
1583
- PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2081
+ PutBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2082
+ PutBucketOwnershipControlsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2083
+ PutBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2084
+ 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/"}}))
2085
+ PutBucketOwnershipControlsRequest.struct_class = Types::PutBucketOwnershipControlsRequest
2086
+ PutBucketOwnershipControlsRequest[:payload] = :ownership_controls
2087
+ PutBucketOwnershipControlsRequest[:payload_member] = PutBucketOwnershipControlsRequest.member(:ownership_controls)
2088
+
2089
+ PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1584
2090
  PutBucketPolicyRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2091
+ PutBucketPolicyRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1585
2092
  PutBucketPolicyRequest.add_member(:confirm_remove_self_bucket_access, Shapes::ShapeRef.new(shape: ConfirmRemoveSelfBucketAccess, location: "header", location_name: "x-amz-confirm-remove-self-bucket-access"))
1586
2093
  PutBucketPolicyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, required: true, location_name: "Policy"))
2094
+ PutBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1587
2095
  PutBucketPolicyRequest.struct_class = Types::PutBucketPolicyRequest
1588
2096
  PutBucketPolicyRequest[:payload] = :policy
1589
2097
  PutBucketPolicyRequest[:payload_member] = PutBucketPolicyRequest.member(:policy)
1590
2098
 
1591
- PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2099
+ PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1592
2100
  PutBucketReplicationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2101
+ PutBucketReplicationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1593
2102
  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/"}}))
2103
+ PutBucketReplicationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
2104
+ PutBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1594
2105
  PutBucketReplicationRequest.struct_class = Types::PutBucketReplicationRequest
1595
2106
  PutBucketReplicationRequest[:payload] = :replication_configuration
1596
2107
  PutBucketReplicationRequest[:payload_member] = PutBucketReplicationRequest.member(:replication_configuration)
1597
2108
 
1598
- PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2109
+ PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1599
2110
  PutBucketRequestPaymentRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2111
+ PutBucketRequestPaymentRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1600
2112
  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/"}}))
2113
+ PutBucketRequestPaymentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1601
2114
  PutBucketRequestPaymentRequest.struct_class = Types::PutBucketRequestPaymentRequest
1602
2115
  PutBucketRequestPaymentRequest[:payload] = :request_payment_configuration
1603
2116
  PutBucketRequestPaymentRequest[:payload_member] = PutBucketRequestPaymentRequest.member(:request_payment_configuration)
1604
2117
 
1605
- PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2118
+ PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1606
2119
  PutBucketTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2120
+ PutBucketTaggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1607
2121
  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/"}}))
2122
+ PutBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1608
2123
  PutBucketTaggingRequest.struct_class = Types::PutBucketTaggingRequest
1609
2124
  PutBucketTaggingRequest[:payload] = :tagging
1610
2125
  PutBucketTaggingRequest[:payload_member] = PutBucketTaggingRequest.member(:tagging)
1611
2126
 
1612
- PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2127
+ PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1613
2128
  PutBucketVersioningRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2129
+ PutBucketVersioningRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1614
2130
  PutBucketVersioningRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
1615
2131
  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/"}}))
2132
+ PutBucketVersioningRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1616
2133
  PutBucketVersioningRequest.struct_class = Types::PutBucketVersioningRequest
1617
2134
  PutBucketVersioningRequest[:payload] = :versioning_configuration
1618
2135
  PutBucketVersioningRequest[:payload_member] = PutBucketVersioningRequest.member(:versioning_configuration)
1619
2136
 
1620
- PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2137
+ PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1621
2138
  PutBucketWebsiteRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2139
+ PutBucketWebsiteRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1622
2140
  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/"}}))
2141
+ PutBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1623
2142
  PutBucketWebsiteRequest.struct_class = Types::PutBucketWebsiteRequest
1624
2143
  PutBucketWebsiteRequest[:payload] = :website_configuration
1625
2144
  PutBucketWebsiteRequest[:payload_member] = PutBucketWebsiteRequest.member(:website_configuration)
@@ -1629,8 +2148,9 @@ module Aws::S3
1629
2148
 
1630
2149
  PutObjectAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
1631
2150
  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/"}}))
1632
- PutObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2151
+ PutObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1633
2152
  PutObjectAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2153
+ PutObjectAclRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1634
2154
  PutObjectAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
1635
2155
  PutObjectAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
1636
2156
  PutObjectAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
@@ -1639,23 +2159,59 @@ module Aws::S3
1639
2159
  PutObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1640
2160
  PutObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1641
2161
  PutObjectAclRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2162
+ PutObjectAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1642
2163
  PutObjectAclRequest.struct_class = Types::PutObjectAclRequest
1643
2164
  PutObjectAclRequest[:payload] = :access_control_policy
1644
2165
  PutObjectAclRequest[:payload_member] = PutObjectAclRequest.member(:access_control_policy)
1645
2166
 
2167
+ PutObjectLegalHoldOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2168
+ PutObjectLegalHoldOutput.struct_class = Types::PutObjectLegalHoldOutput
2169
+
2170
+ PutObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2171
+ PutObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2172
+ PutObjectLegalHoldRequest.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2173
+ PutObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2174
+ PutObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2175
+ PutObjectLegalHoldRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2176
+ PutObjectLegalHoldRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2177
+ PutObjectLegalHoldRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2178
+ PutObjectLegalHoldRequest.struct_class = Types::PutObjectLegalHoldRequest
2179
+ PutObjectLegalHoldRequest[:payload] = :legal_hold
2180
+ PutObjectLegalHoldRequest[:payload_member] = PutObjectLegalHoldRequest.member(:legal_hold)
2181
+
2182
+ PutObjectLockConfigurationOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2183
+ PutObjectLockConfigurationOutput.struct_class = Types::PutObjectLockConfigurationOutput
2184
+
2185
+ PutObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2186
+ 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/"}}))
2187
+ PutObjectLockConfigurationRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2188
+ PutObjectLockConfigurationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
2189
+ PutObjectLockConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2190
+ PutObjectLockConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2191
+ PutObjectLockConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2192
+ PutObjectLockConfigurationRequest.struct_class = Types::PutObjectLockConfigurationRequest
2193
+ PutObjectLockConfigurationRequest[:payload] = :object_lock_configuration
2194
+ PutObjectLockConfigurationRequest[:payload_member] = PutObjectLockConfigurationRequest.member(:object_lock_configuration)
2195
+
1646
2196
  PutObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
1647
2197
  PutObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
2198
+ PutObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2199
+ PutObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2200
+ PutObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2201
+ PutObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1648
2202
  PutObjectOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
1649
2203
  PutObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1650
2204
  PutObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1651
2205
  PutObjectOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1652
2206
  PutObjectOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
2207
+ PutObjectOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
2208
+ PutObjectOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
1653
2209
  PutObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1654
2210
  PutObjectOutput.struct_class = Types::PutObjectOutput
1655
2211
 
1656
2212
  PutObjectRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
1657
2213
  PutObjectRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
1658
- PutObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2214
+ PutObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1659
2215
  PutObjectRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
1660
2216
  PutObjectRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
1661
2217
  PutObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
@@ -1663,6 +2219,11 @@ module Aws::S3
1663
2219
  PutObjectRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1664
2220
  PutObjectRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1665
2221
  PutObjectRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
2222
+ PutObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2223
+ PutObjectRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2224
+ PutObjectRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2225
+ PutObjectRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2226
+ PutObjectRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1666
2227
  PutObjectRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "Expires"))
1667
2228
  PutObjectRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
1668
2229
  PutObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
@@ -1677,24 +2238,58 @@ module Aws::S3
1677
2238
  PutObjectRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1678
2239
  PutObjectRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1679
2240
  PutObjectRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
2241
+ PutObjectRequest.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
2242
+ PutObjectRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
1680
2243
  PutObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1681
2244
  PutObjectRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: TaggingHeader, location: "header", location_name: "x-amz-tagging"))
2245
+ PutObjectRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
2246
+ PutObjectRequest.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
2247
+ PutObjectRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
2248
+ PutObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1682
2249
  PutObjectRequest.struct_class = Types::PutObjectRequest
1683
2250
  PutObjectRequest[:payload] = :body
1684
2251
  PutObjectRequest[:payload_member] = PutObjectRequest.member(:body)
1685
2252
 
2253
+ PutObjectRetentionOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2254
+ PutObjectRetentionOutput.struct_class = Types::PutObjectRetentionOutput
2255
+
2256
+ PutObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2257
+ PutObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2258
+ PutObjectRetentionRequest.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2259
+ PutObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2260
+ PutObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2261
+ PutObjectRetentionRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
2262
+ PutObjectRetentionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2263
+ PutObjectRetentionRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2264
+ PutObjectRetentionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2265
+ PutObjectRetentionRequest.struct_class = Types::PutObjectRetentionRequest
2266
+ PutObjectRetentionRequest[:payload] = :retention
2267
+ PutObjectRetentionRequest[:payload_member] = PutObjectRetentionRequest.member(:retention)
2268
+
1686
2269
  PutObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1687
2270
  PutObjectTaggingOutput.struct_class = Types::PutObjectTaggingOutput
1688
2271
 
1689
- PutObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2272
+ PutObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1690
2273
  PutObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1691
2274
  PutObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1692
2275
  PutObjectTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2276
+ PutObjectTaggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1693
2277
  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/"}}))
2278
+ PutObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2279
+ PutObjectTaggingRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1694
2280
  PutObjectTaggingRequest.struct_class = Types::PutObjectTaggingRequest
1695
2281
  PutObjectTaggingRequest[:payload] = :tagging
1696
2282
  PutObjectTaggingRequest[:payload_member] = PutObjectTaggingRequest.member(:tagging)
1697
2283
 
2284
+ PutPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2285
+ PutPublicAccessBlockRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2286
+ PutPublicAccessBlockRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2287
+ 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/"}}))
2288
+ PutPublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2289
+ PutPublicAccessBlockRequest.struct_class = Types::PutPublicAccessBlockRequest
2290
+ PutPublicAccessBlockRequest[:payload] = :public_access_block_configuration
2291
+ PutPublicAccessBlockRequest[:payload_member] = PutPublicAccessBlockRequest.member(:public_access_block_configuration)
2292
+
1698
2293
  QueueConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
1699
2294
  QueueConfiguration.add_member(:queue_arn, Shapes::ShapeRef.new(shape: QueueArn, required: true, location_name: "Queue"))
1700
2295
  QueueConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, required: true, location_name: "Event"))
@@ -1723,6 +2318,9 @@ module Aws::S3
1723
2318
  RedirectAllRequestsTo.add_member(:protocol, Shapes::ShapeRef.new(shape: Protocol, location_name: "Protocol"))
1724
2319
  RedirectAllRequestsTo.struct_class = Types::RedirectAllRequestsTo
1725
2320
 
2321
+ ReplicaModifications.add_member(:status, Shapes::ShapeRef.new(shape: ReplicaModificationsStatus, required: true, location_name: "Status"))
2322
+ ReplicaModifications.struct_class = Types::ReplicaModifications
2323
+
1726
2324
  ReplicationConfiguration.add_member(:role, Shapes::ShapeRef.new(shape: Role, required: true, location_name: "Role"))
1727
2325
  ReplicationConfiguration.add_member(:rules, Shapes::ShapeRef.new(shape: ReplicationRules, required: true, location_name: "Rule"))
1728
2326
  ReplicationConfiguration.struct_class = Types::ReplicationConfiguration
@@ -1733,6 +2331,7 @@ module Aws::S3
1733
2331
  ReplicationRule.add_member(:filter, Shapes::ShapeRef.new(shape: ReplicationRuleFilter, location_name: "Filter"))
1734
2332
  ReplicationRule.add_member(:status, Shapes::ShapeRef.new(shape: ReplicationRuleStatus, required: true, location_name: "Status"))
1735
2333
  ReplicationRule.add_member(:source_selection_criteria, Shapes::ShapeRef.new(shape: SourceSelectionCriteria, location_name: "SourceSelectionCriteria"))
2334
+ ReplicationRule.add_member(:existing_object_replication, Shapes::ShapeRef.new(shape: ExistingObjectReplication, location_name: "ExistingObjectReplication"))
1736
2335
  ReplicationRule.add_member(:destination, Shapes::ShapeRef.new(shape: Destination, required: true, location_name: "Destination"))
1737
2336
  ReplicationRule.add_member(:delete_marker_replication, Shapes::ShapeRef.new(shape: DeleteMarkerReplication, location_name: "DeleteMarkerReplication"))
1738
2337
  ReplicationRule.struct_class = Types::ReplicationRule
@@ -1748,6 +2347,13 @@ module Aws::S3
1748
2347
 
1749
2348
  ReplicationRules.member = Shapes::ShapeRef.new(shape: ReplicationRule)
1750
2349
 
2350
+ ReplicationTime.add_member(:status, Shapes::ShapeRef.new(shape: ReplicationTimeStatus, required: true, location_name: "Status"))
2351
+ ReplicationTime.add_member(:time, Shapes::ShapeRef.new(shape: ReplicationTimeValue, required: true, location_name: "Time"))
2352
+ ReplicationTime.struct_class = Types::ReplicationTime
2353
+
2354
+ ReplicationTimeValue.add_member(:minutes, Shapes::ShapeRef.new(shape: Minutes, location_name: "Minutes"))
2355
+ ReplicationTimeValue.struct_class = Types::ReplicationTimeValue
2356
+
1751
2357
  RequestPaymentConfiguration.add_member(:payer, Shapes::ShapeRef.new(shape: Payer, required: true, location_name: "Payer"))
1752
2358
  RequestPaymentConfiguration.struct_class = Types::RequestPaymentConfiguration
1753
2359
 
@@ -1758,11 +2364,13 @@ module Aws::S3
1758
2364
  RestoreObjectOutput.add_member(:restore_output_path, Shapes::ShapeRef.new(shape: RestoreOutputPath, location: "header", location_name: "x-amz-restore-output-path"))
1759
2365
  RestoreObjectOutput.struct_class = Types::RestoreObjectOutput
1760
2366
 
1761
- RestoreObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2367
+ RestoreObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1762
2368
  RestoreObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1763
2369
  RestoreObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1764
2370
  RestoreObjectRequest.add_member(:restore_request, Shapes::ShapeRef.new(shape: RestoreRequest, location_name: "RestoreRequest", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1765
2371
  RestoreObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2372
+ RestoreObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2373
+ RestoreObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1766
2374
  RestoreObjectRequest.struct_class = Types::RestoreObjectRequest
1767
2375
  RestoreObjectRequest[:payload] = :restore_request
1768
2376
  RestoreObjectRequest[:payload_member] = RestoreObjectRequest.member(:restore_request)
@@ -1812,6 +2420,10 @@ module Aws::S3
1812
2420
 
1813
2421
  SSES3.struct_class = Types::SSES3
1814
2422
 
2423
+ ScanRange.add_member(:start, Shapes::ShapeRef.new(shape: Start, location_name: "Start"))
2424
+ ScanRange.add_member(:end, Shapes::ShapeRef.new(shape: End, location_name: "End"))
2425
+ ScanRange.struct_class = Types::ScanRange
2426
+
1815
2427
  SelectObjectContentEventStream.add_member(:records, Shapes::ShapeRef.new(shape: RecordsEvent, event: true, location_name: "Records"))
1816
2428
  SelectObjectContentEventStream.add_member(:stats, Shapes::ShapeRef.new(shape: StatsEvent, event: true, location_name: "Stats"))
1817
2429
  SelectObjectContentEventStream.add_member(:progress, Shapes::ShapeRef.new(shape: ProgressEvent, event: true, location_name: "Progress"))
@@ -1824,7 +2436,7 @@ module Aws::S3
1824
2436
  SelectObjectContentOutput[:payload] = :payload
1825
2437
  SelectObjectContentOutput[:payload_member] = SelectObjectContentOutput.member(:payload)
1826
2438
 
1827
- SelectObjectContentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2439
+ SelectObjectContentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1828
2440
  SelectObjectContentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1829
2441
  SelectObjectContentRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1830
2442
  SelectObjectContentRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
@@ -1834,6 +2446,8 @@ module Aws::S3
1834
2446
  SelectObjectContentRequest.add_member(:request_progress, Shapes::ShapeRef.new(shape: RequestProgress, location_name: "RequestProgress"))
1835
2447
  SelectObjectContentRequest.add_member(:input_serialization, Shapes::ShapeRef.new(shape: InputSerialization, required: true, location_name: "InputSerialization"))
1836
2448
  SelectObjectContentRequest.add_member(:output_serialization, Shapes::ShapeRef.new(shape: OutputSerialization, required: true, location_name: "OutputSerialization"))
2449
+ SelectObjectContentRequest.add_member(:scan_range, Shapes::ShapeRef.new(shape: ScanRange, location_name: "ScanRange"))
2450
+ SelectObjectContentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1837
2451
  SelectObjectContentRequest.struct_class = Types::SelectObjectContentRequest
1838
2452
 
1839
2453
  SelectParameters.add_member(:input_serialization, Shapes::ShapeRef.new(shape: InputSerialization, required: true, location_name: "InputSerialization"))
@@ -1850,11 +2464,13 @@ module Aws::S3
1850
2464
  ServerSideEncryptionConfiguration.struct_class = Types::ServerSideEncryptionConfiguration
1851
2465
 
1852
2466
  ServerSideEncryptionRule.add_member(:apply_server_side_encryption_by_default, Shapes::ShapeRef.new(shape: ServerSideEncryptionByDefault, location_name: "ApplyServerSideEncryptionByDefault"))
2467
+ ServerSideEncryptionRule.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location_name: "BucketKeyEnabled"))
1853
2468
  ServerSideEncryptionRule.struct_class = Types::ServerSideEncryptionRule
1854
2469
 
1855
2470
  ServerSideEncryptionRules.member = Shapes::ShapeRef.new(shape: ServerSideEncryptionRule)
1856
2471
 
1857
2472
  SourceSelectionCriteria.add_member(:sse_kms_encrypted_objects, Shapes::ShapeRef.new(shape: SseKmsEncryptedObjects, location_name: "SseKmsEncryptedObjects"))
2473
+ SourceSelectionCriteria.add_member(:replica_modifications, Shapes::ShapeRef.new(shape: ReplicaModifications, location_name: "ReplicaModifications"))
1858
2474
  SourceSelectionCriteria.struct_class = Types::SourceSelectionCriteria
1859
2475
 
1860
2476
  SseKmsEncryptedObjects.add_member(:status, Shapes::ShapeRef.new(shape: SseKmsEncryptedObjectsStatus, required: true, location_name: "Status"))
@@ -1890,6 +2506,12 @@ module Aws::S3
1890
2506
 
1891
2507
  TargetGrants.member = Shapes::ShapeRef.new(shape: TargetGrant, location_name: "Grant")
1892
2508
 
2509
+ Tiering.add_member(:days, Shapes::ShapeRef.new(shape: IntelligentTieringDays, required: true, location_name: "Days"))
2510
+ Tiering.add_member(:access_tier, Shapes::ShapeRef.new(shape: IntelligentTieringAccessTier, required: true, location_name: "AccessTier"))
2511
+ Tiering.struct_class = Types::Tiering
2512
+
2513
+ TieringList.member = Shapes::ShapeRef.new(shape: Tiering)
2514
+
1893
2515
  TopicConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
1894
2516
  TopicConfiguration.add_member(:topic_arn, Shapes::ShapeRef.new(shape: TopicArn, required: true, location_name: "Topic"))
1895
2517
  TopicConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, required: true, location_name: "Event"))
@@ -1917,12 +2539,13 @@ module Aws::S3
1917
2539
  UploadPartCopyOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1918
2540
  UploadPartCopyOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1919
2541
  UploadPartCopyOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
2542
+ UploadPartCopyOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
1920
2543
  UploadPartCopyOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1921
2544
  UploadPartCopyOutput.struct_class = Types::UploadPartCopyOutput
1922
2545
  UploadPartCopyOutput[:payload] = :copy_part_result
1923
2546
  UploadPartCopyOutput[:payload_member] = UploadPartCopyOutput.member(:copy_part_result)
1924
2547
 
1925
- UploadPartCopyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2548
+ UploadPartCopyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1926
2549
  UploadPartCopyRequest.add_member(:copy_source, Shapes::ShapeRef.new(shape: CopySource, required: true, location: "header", location_name: "x-amz-copy-source"))
1927
2550
  UploadPartCopyRequest.add_member(:copy_source_if_match, Shapes::ShapeRef.new(shape: CopySourceIfMatch, location: "header", location_name: "x-amz-copy-source-if-match"))
1928
2551
  UploadPartCopyRequest.add_member(:copy_source_if_modified_since, Shapes::ShapeRef.new(shape: CopySourceIfModifiedSince, location: "header", location_name: "x-amz-copy-source-if-modified-since"))
@@ -1939,20 +2562,32 @@ module Aws::S3
1939
2562
  UploadPartCopyRequest.add_member(:copy_source_sse_customer_key, Shapes::ShapeRef.new(shape: CopySourceSSECustomerKey, location: "header", location_name: "x-amz-copy-source-server-side-encryption-customer-key"))
1940
2563
  UploadPartCopyRequest.add_member(:copy_source_sse_customer_key_md5, Shapes::ShapeRef.new(shape: CopySourceSSECustomerKeyMD5, location: "header", location_name: "x-amz-copy-source-server-side-encryption-customer-key-MD5"))
1941
2564
  UploadPartCopyRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2565
+ UploadPartCopyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2566
+ UploadPartCopyRequest.add_member(:expected_source_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-source-expected-bucket-owner"))
1942
2567
  UploadPartCopyRequest.struct_class = Types::UploadPartCopyRequest
1943
2568
 
1944
2569
  UploadPartOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
1945
2570
  UploadPartOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
2571
+ UploadPartOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2572
+ UploadPartOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2573
+ UploadPartOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2574
+ UploadPartOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1946
2575
  UploadPartOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1947
2576
  UploadPartOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1948
2577
  UploadPartOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
2578
+ UploadPartOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
1949
2579
  UploadPartOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1950
2580
  UploadPartOutput.struct_class = Types::UploadPartOutput
1951
2581
 
1952
2582
  UploadPartRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
1953
- UploadPartRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2583
+ UploadPartRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1954
2584
  UploadPartRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1955
2585
  UploadPartRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2586
+ UploadPartRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2587
+ UploadPartRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2588
+ UploadPartRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2589
+ UploadPartRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2590
+ UploadPartRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1956
2591
  UploadPartRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1957
2592
  UploadPartRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, required: true, location: "querystring", location_name: "partNumber"))
1958
2593
  UploadPartRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
@@ -1960,6 +2595,7 @@ module Aws::S3
1960
2595
  UploadPartRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1961
2596
  UploadPartRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1962
2597
  UploadPartRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2598
+ UploadPartRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1963
2599
  UploadPartRequest.struct_class = Types::UploadPartRequest
1964
2600
  UploadPartRequest[:payload] = :body
1965
2601
  UploadPartRequest[:payload_member] = UploadPartRequest.member(:body)
@@ -1976,6 +2612,50 @@ module Aws::S3
1976
2612
  WebsiteConfiguration.add_member(:routing_rules, Shapes::ShapeRef.new(shape: RoutingRules, location_name: "RoutingRules"))
1977
2613
  WebsiteConfiguration.struct_class = Types::WebsiteConfiguration
1978
2614
 
2615
+ 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"}))
2616
+ WriteGetObjectResponseRequest.add_member(:request_token, Shapes::ShapeRef.new(shape: RequestToken, required: true, location: "header", location_name: "x-amz-request-token"))
2617
+ WriteGetObjectResponseRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
2618
+ WriteGetObjectResponseRequest.add_member(:status_code, Shapes::ShapeRef.new(shape: GetObjectResponseStatusCode, location: "header", location_name: "x-amz-fwd-status"))
2619
+ WriteGetObjectResponseRequest.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location: "header", location_name: "x-amz-fwd-error-code"))
2620
+ WriteGetObjectResponseRequest.add_member(:error_message, Shapes::ShapeRef.new(shape: ErrorMessage, location: "header", location_name: "x-amz-fwd-error-message"))
2621
+ WriteGetObjectResponseRequest.add_member(:accept_ranges, Shapes::ShapeRef.new(shape: AcceptRanges, location: "header", location_name: "x-amz-fwd-header-accept-ranges"))
2622
+ WriteGetObjectResponseRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "x-amz-fwd-header-Cache-Control"))
2623
+ WriteGetObjectResponseRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "x-amz-fwd-header-Content-Disposition"))
2624
+ WriteGetObjectResponseRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "x-amz-fwd-header-Content-Encoding"))
2625
+ WriteGetObjectResponseRequest.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "x-amz-fwd-header-Content-Language"))
2626
+ WriteGetObjectResponseRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2627
+ WriteGetObjectResponseRequest.add_member(:content_range, Shapes::ShapeRef.new(shape: ContentRange, location: "header", location_name: "x-amz-fwd-header-Content-Range"))
2628
+ WriteGetObjectResponseRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "x-amz-fwd-header-Content-Type"))
2629
+ WriteGetObjectResponseRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-crc32"))
2630
+ WriteGetObjectResponseRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-crc32c"))
2631
+ WriteGetObjectResponseRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-sha1"))
2632
+ WriteGetObjectResponseRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-sha256"))
2633
+ WriteGetObjectResponseRequest.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-fwd-header-x-amz-delete-marker"))
2634
+ WriteGetObjectResponseRequest.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "x-amz-fwd-header-ETag"))
2635
+ WriteGetObjectResponseRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "x-amz-fwd-header-Expires"))
2636
+ WriteGetObjectResponseRequest.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-fwd-header-x-amz-expiration"))
2637
+ WriteGetObjectResponseRequest.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "x-amz-fwd-header-Last-Modified"))
2638
+ WriteGetObjectResponseRequest.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-fwd-header-x-amz-missing-meta"))
2639
+ WriteGetObjectResponseRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
2640
+ WriteGetObjectResponseRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-fwd-header-x-amz-object-lock-mode"))
2641
+ WriteGetObjectResponseRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-fwd-header-x-amz-object-lock-legal-hold"))
2642
+ WriteGetObjectResponseRequest.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-fwd-header-x-amz-object-lock-retain-until-date"))
2643
+ WriteGetObjectResponseRequest.add_member(:parts_count, Shapes::ShapeRef.new(shape: PartsCount, location: "header", location_name: "x-amz-fwd-header-x-amz-mp-parts-count"))
2644
+ WriteGetObjectResponseRequest.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-fwd-header-x-amz-replication-status"))
2645
+ WriteGetObjectResponseRequest.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-fwd-header-x-amz-request-charged"))
2646
+ WriteGetObjectResponseRequest.add_member(:restore, Shapes::ShapeRef.new(shape: Restore, location: "header", location_name: "x-amz-fwd-header-x-amz-restore"))
2647
+ WriteGetObjectResponseRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-fwd-header-x-amz-server-side-encryption"))
2648
+ WriteGetObjectResponseRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-fwd-header-x-amz-server-side-encryption-customer-algorithm"))
2649
+ WriteGetObjectResponseRequest.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id"))
2650
+ WriteGetObjectResponseRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-fwd-header-x-amz-server-side-encryption-customer-key-MD5"))
2651
+ WriteGetObjectResponseRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-fwd-header-x-amz-storage-class"))
2652
+ WriteGetObjectResponseRequest.add_member(:tag_count, Shapes::ShapeRef.new(shape: TagCount, location: "header", location_name: "x-amz-fwd-header-x-amz-tagging-count"))
2653
+ WriteGetObjectResponseRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-fwd-header-x-amz-version-id"))
2654
+ WriteGetObjectResponseRequest.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-fwd-header-x-amz-server-side-encryption-bucket-key-enabled"))
2655
+ WriteGetObjectResponseRequest.struct_class = Types::WriteGetObjectResponseRequest
2656
+ WriteGetObjectResponseRequest[:payload] = :body
2657
+ WriteGetObjectResponseRequest[:payload_member] = WriteGetObjectResponseRequest.member(:body)
2658
+
1979
2659
 
1980
2660
  # @api private
1981
2661
  API = Seahorse::Model::Api.new.tap do |api|
@@ -1997,7 +2677,7 @@ module Aws::S3
1997
2677
  api.add_operation(:abort_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
1998
2678
  o.name = "AbortMultipartUpload"
1999
2679
  o.http_method = "DELETE"
2000
- o.http_request_uri = "/{Bucket}/{Key+}"
2680
+ o.http_request_uri = "/{Key+}"
2001
2681
  o.input = Shapes::ShapeRef.new(shape: AbortMultipartUploadRequest)
2002
2682
  o.output = Shapes::ShapeRef.new(shape: AbortMultipartUploadOutput)
2003
2683
  o.errors << Shapes::ShapeRef.new(shape: NoSuchUpload)
@@ -2006,7 +2686,7 @@ module Aws::S3
2006
2686
  api.add_operation(:complete_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2007
2687
  o.name = "CompleteMultipartUpload"
2008
2688
  o.http_method = "POST"
2009
- o.http_request_uri = "/{Bucket}/{Key+}"
2689
+ o.http_request_uri = "/{Key+}"
2010
2690
  o.input = Shapes::ShapeRef.new(shape: CompleteMultipartUploadRequest)
2011
2691
  o.output = Shapes::ShapeRef.new(shape: CompleteMultipartUploadOutput)
2012
2692
  end)
@@ -2014,7 +2694,7 @@ module Aws::S3
2014
2694
  api.add_operation(:copy_object, Seahorse::Model::Operation.new.tap do |o|
2015
2695
  o.name = "CopyObject"
2016
2696
  o.http_method = "PUT"
2017
- o.http_request_uri = "/{Bucket}/{Key+}"
2697
+ o.http_request_uri = "/{Key+}"
2018
2698
  o.input = Shapes::ShapeRef.new(shape: CopyObjectRequest)
2019
2699
  o.output = Shapes::ShapeRef.new(shape: CopyObjectOutput)
2020
2700
  o.errors << Shapes::ShapeRef.new(shape: ObjectNotInActiveTierError)
@@ -2023,7 +2703,7 @@ module Aws::S3
2023
2703
  api.add_operation(:create_bucket, Seahorse::Model::Operation.new.tap do |o|
2024
2704
  o.name = "CreateBucket"
2025
2705
  o.http_method = "PUT"
2026
- o.http_request_uri = "/{Bucket}"
2706
+ o.http_request_uri = "/"
2027
2707
  o.input = Shapes::ShapeRef.new(shape: CreateBucketRequest)
2028
2708
  o.output = Shapes::ShapeRef.new(shape: CreateBucketOutput)
2029
2709
  o.errors << Shapes::ShapeRef.new(shape: BucketAlreadyExists)
@@ -2033,7 +2713,7 @@ module Aws::S3
2033
2713
  api.add_operation(:create_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2034
2714
  o.name = "CreateMultipartUpload"
2035
2715
  o.http_method = "POST"
2036
- o.http_request_uri = "/{Bucket}/{Key+}?uploads"
2716
+ o.http_request_uri = "/{Key+}?uploads"
2037
2717
  o.input = Shapes::ShapeRef.new(shape: CreateMultipartUploadRequest)
2038
2718
  o.output = Shapes::ShapeRef.new(shape: CreateMultipartUploadOutput)
2039
2719
  end)
@@ -2041,7 +2721,7 @@ module Aws::S3
2041
2721
  api.add_operation(:delete_bucket, Seahorse::Model::Operation.new.tap do |o|
2042
2722
  o.name = "DeleteBucket"
2043
2723
  o.http_method = "DELETE"
2044
- o.http_request_uri = "/{Bucket}"
2724
+ o.http_request_uri = "/"
2045
2725
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketRequest)
2046
2726
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2047
2727
  end)
@@ -2049,7 +2729,7 @@ module Aws::S3
2049
2729
  api.add_operation(:delete_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
2050
2730
  o.name = "DeleteBucketAnalyticsConfiguration"
2051
2731
  o.http_method = "DELETE"
2052
- o.http_request_uri = "/{Bucket}?analytics"
2732
+ o.http_request_uri = "/?analytics"
2053
2733
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketAnalyticsConfigurationRequest)
2054
2734
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2055
2735
  end)
@@ -2057,7 +2737,7 @@ module Aws::S3
2057
2737
  api.add_operation(:delete_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
2058
2738
  o.name = "DeleteBucketCors"
2059
2739
  o.http_method = "DELETE"
2060
- o.http_request_uri = "/{Bucket}?cors"
2740
+ o.http_request_uri = "/?cors"
2061
2741
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketCorsRequest)
2062
2742
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2063
2743
  end)
@@ -2065,15 +2745,23 @@ module Aws::S3
2065
2745
  api.add_operation(:delete_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2066
2746
  o.name = "DeleteBucketEncryption"
2067
2747
  o.http_method = "DELETE"
2068
- o.http_request_uri = "/{Bucket}?encryption"
2748
+ o.http_request_uri = "/?encryption"
2069
2749
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketEncryptionRequest)
2070
2750
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2071
2751
  end)
2072
2752
 
2753
+ api.add_operation(:delete_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
2754
+ o.name = "DeleteBucketIntelligentTieringConfiguration"
2755
+ o.http_method = "DELETE"
2756
+ o.http_request_uri = "/?intelligent-tiering"
2757
+ o.input = Shapes::ShapeRef.new(shape: DeleteBucketIntelligentTieringConfigurationRequest)
2758
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2759
+ end)
2760
+
2073
2761
  api.add_operation(:delete_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2074
2762
  o.name = "DeleteBucketInventoryConfiguration"
2075
2763
  o.http_method = "DELETE"
2076
- o.http_request_uri = "/{Bucket}?inventory"
2764
+ o.http_request_uri = "/?inventory"
2077
2765
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketInventoryConfigurationRequest)
2078
2766
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2079
2767
  end)
@@ -2081,7 +2769,7 @@ module Aws::S3
2081
2769
  api.add_operation(:delete_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2082
2770
  o.name = "DeleteBucketLifecycle"
2083
2771
  o.http_method = "DELETE"
2084
- o.http_request_uri = "/{Bucket}?lifecycle"
2772
+ o.http_request_uri = "/?lifecycle"
2085
2773
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketLifecycleRequest)
2086
2774
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2087
2775
  end)
@@ -2089,15 +2777,23 @@ module Aws::S3
2089
2777
  api.add_operation(:delete_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2090
2778
  o.name = "DeleteBucketMetricsConfiguration"
2091
2779
  o.http_method = "DELETE"
2092
- o.http_request_uri = "/{Bucket}?metrics"
2780
+ o.http_request_uri = "/?metrics"
2093
2781
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketMetricsConfigurationRequest)
2094
2782
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2095
2783
  end)
2096
2784
 
2785
+ api.add_operation(:delete_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2786
+ o.name = "DeleteBucketOwnershipControls"
2787
+ o.http_method = "DELETE"
2788
+ o.http_request_uri = "/?ownershipControls"
2789
+ o.input = Shapes::ShapeRef.new(shape: DeleteBucketOwnershipControlsRequest)
2790
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2791
+ end)
2792
+
2097
2793
  api.add_operation(:delete_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2098
2794
  o.name = "DeleteBucketPolicy"
2099
2795
  o.http_method = "DELETE"
2100
- o.http_request_uri = "/{Bucket}?policy"
2796
+ o.http_request_uri = "/?policy"
2101
2797
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketPolicyRequest)
2102
2798
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2103
2799
  end)
@@ -2105,7 +2801,7 @@ module Aws::S3
2105
2801
  api.add_operation(:delete_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2106
2802
  o.name = "DeleteBucketReplication"
2107
2803
  o.http_method = "DELETE"
2108
- o.http_request_uri = "/{Bucket}?replication"
2804
+ o.http_request_uri = "/?replication"
2109
2805
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketReplicationRequest)
2110
2806
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2111
2807
  end)
@@ -2113,7 +2809,7 @@ module Aws::S3
2113
2809
  api.add_operation(:delete_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2114
2810
  o.name = "DeleteBucketTagging"
2115
2811
  o.http_method = "DELETE"
2116
- o.http_request_uri = "/{Bucket}?tagging"
2812
+ o.http_request_uri = "/?tagging"
2117
2813
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketTaggingRequest)
2118
2814
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2119
2815
  end)
@@ -2121,7 +2817,7 @@ module Aws::S3
2121
2817
  api.add_operation(:delete_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2122
2818
  o.name = "DeleteBucketWebsite"
2123
2819
  o.http_method = "DELETE"
2124
- o.http_request_uri = "/{Bucket}?website"
2820
+ o.http_request_uri = "/?website"
2125
2821
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketWebsiteRequest)
2126
2822
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2127
2823
  end)
@@ -2129,7 +2825,7 @@ module Aws::S3
2129
2825
  api.add_operation(:delete_object, Seahorse::Model::Operation.new.tap do |o|
2130
2826
  o.name = "DeleteObject"
2131
2827
  o.http_method = "DELETE"
2132
- o.http_request_uri = "/{Bucket}/{Key+}"
2828
+ o.http_request_uri = "/{Key+}"
2133
2829
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectRequest)
2134
2830
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectOutput)
2135
2831
  end)
@@ -2137,7 +2833,7 @@ module Aws::S3
2137
2833
  api.add_operation(:delete_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2138
2834
  o.name = "DeleteObjectTagging"
2139
2835
  o.http_method = "DELETE"
2140
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
2836
+ o.http_request_uri = "/{Key+}?tagging"
2141
2837
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectTaggingRequest)
2142
2838
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectTaggingOutput)
2143
2839
  end)
@@ -2145,15 +2841,31 @@ module Aws::S3
2145
2841
  api.add_operation(:delete_objects, Seahorse::Model::Operation.new.tap do |o|
2146
2842
  o.name = "DeleteObjects"
2147
2843
  o.http_method = "POST"
2148
- o.http_request_uri = "/{Bucket}?delete"
2844
+ o.http_request_uri = "/?delete"
2845
+ o.http_checksum = {
2846
+ "requestAlgorithmMember" => "checksum_algorithm",
2847
+ "requestChecksumRequired" => true,
2848
+ }
2849
+ o.http_checksum = {
2850
+ "requestAlgorithmMember" => "checksum_algorithm",
2851
+ "requestChecksumRequired" => true,
2852
+ }
2149
2853
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectsRequest)
2150
2854
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectsOutput)
2151
2855
  end)
2152
2856
 
2857
+ api.add_operation(:delete_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2858
+ o.name = "DeletePublicAccessBlock"
2859
+ o.http_method = "DELETE"
2860
+ o.http_request_uri = "/?publicAccessBlock"
2861
+ o.input = Shapes::ShapeRef.new(shape: DeletePublicAccessBlockRequest)
2862
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2863
+ end)
2864
+
2153
2865
  api.add_operation(:get_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
2154
2866
  o.name = "GetBucketAccelerateConfiguration"
2155
2867
  o.http_method = "GET"
2156
- o.http_request_uri = "/{Bucket}?accelerate"
2868
+ o.http_request_uri = "/?accelerate"
2157
2869
  o.input = Shapes::ShapeRef.new(shape: GetBucketAccelerateConfigurationRequest)
2158
2870
  o.output = Shapes::ShapeRef.new(shape: GetBucketAccelerateConfigurationOutput)
2159
2871
  end)
@@ -2161,7 +2873,7 @@ module Aws::S3
2161
2873
  api.add_operation(:get_bucket_acl, Seahorse::Model::Operation.new.tap do |o|
2162
2874
  o.name = "GetBucketAcl"
2163
2875
  o.http_method = "GET"
2164
- o.http_request_uri = "/{Bucket}?acl"
2876
+ o.http_request_uri = "/?acl"
2165
2877
  o.input = Shapes::ShapeRef.new(shape: GetBucketAclRequest)
2166
2878
  o.output = Shapes::ShapeRef.new(shape: GetBucketAclOutput)
2167
2879
  end)
@@ -2169,7 +2881,7 @@ module Aws::S3
2169
2881
  api.add_operation(:get_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
2170
2882
  o.name = "GetBucketAnalyticsConfiguration"
2171
2883
  o.http_method = "GET"
2172
- o.http_request_uri = "/{Bucket}?analytics"
2884
+ o.http_request_uri = "/?analytics"
2173
2885
  o.input = Shapes::ShapeRef.new(shape: GetBucketAnalyticsConfigurationRequest)
2174
2886
  o.output = Shapes::ShapeRef.new(shape: GetBucketAnalyticsConfigurationOutput)
2175
2887
  end)
@@ -2177,7 +2889,7 @@ module Aws::S3
2177
2889
  api.add_operation(:get_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
2178
2890
  o.name = "GetBucketCors"
2179
2891
  o.http_method = "GET"
2180
- o.http_request_uri = "/{Bucket}?cors"
2892
+ o.http_request_uri = "/?cors"
2181
2893
  o.input = Shapes::ShapeRef.new(shape: GetBucketCorsRequest)
2182
2894
  o.output = Shapes::ShapeRef.new(shape: GetBucketCorsOutput)
2183
2895
  end)
@@ -2185,15 +2897,23 @@ module Aws::S3
2185
2897
  api.add_operation(:get_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2186
2898
  o.name = "GetBucketEncryption"
2187
2899
  o.http_method = "GET"
2188
- o.http_request_uri = "/{Bucket}?encryption"
2900
+ o.http_request_uri = "/?encryption"
2189
2901
  o.input = Shapes::ShapeRef.new(shape: GetBucketEncryptionRequest)
2190
2902
  o.output = Shapes::ShapeRef.new(shape: GetBucketEncryptionOutput)
2191
2903
  end)
2192
2904
 
2905
+ api.add_operation(:get_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
2906
+ o.name = "GetBucketIntelligentTieringConfiguration"
2907
+ o.http_method = "GET"
2908
+ o.http_request_uri = "/?intelligent-tiering"
2909
+ o.input = Shapes::ShapeRef.new(shape: GetBucketIntelligentTieringConfigurationRequest)
2910
+ o.output = Shapes::ShapeRef.new(shape: GetBucketIntelligentTieringConfigurationOutput)
2911
+ end)
2912
+
2193
2913
  api.add_operation(:get_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2194
2914
  o.name = "GetBucketInventoryConfiguration"
2195
2915
  o.http_method = "GET"
2196
- o.http_request_uri = "/{Bucket}?inventory"
2916
+ o.http_request_uri = "/?inventory"
2197
2917
  o.input = Shapes::ShapeRef.new(shape: GetBucketInventoryConfigurationRequest)
2198
2918
  o.output = Shapes::ShapeRef.new(shape: GetBucketInventoryConfigurationOutput)
2199
2919
  end)
@@ -2201,7 +2921,7 @@ module Aws::S3
2201
2921
  api.add_operation(:get_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2202
2922
  o.name = "GetBucketLifecycle"
2203
2923
  o.http_method = "GET"
2204
- o.http_request_uri = "/{Bucket}?lifecycle"
2924
+ o.http_request_uri = "/?lifecycle"
2205
2925
  o.deprecated = true
2206
2926
  o.input = Shapes::ShapeRef.new(shape: GetBucketLifecycleRequest)
2207
2927
  o.output = Shapes::ShapeRef.new(shape: GetBucketLifecycleOutput)
@@ -2210,7 +2930,7 @@ module Aws::S3
2210
2930
  api.add_operation(:get_bucket_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
2211
2931
  o.name = "GetBucketLifecycleConfiguration"
2212
2932
  o.http_method = "GET"
2213
- o.http_request_uri = "/{Bucket}?lifecycle"
2933
+ o.http_request_uri = "/?lifecycle"
2214
2934
  o.input = Shapes::ShapeRef.new(shape: GetBucketLifecycleConfigurationRequest)
2215
2935
  o.output = Shapes::ShapeRef.new(shape: GetBucketLifecycleConfigurationOutput)
2216
2936
  end)
@@ -2218,7 +2938,7 @@ module Aws::S3
2218
2938
  api.add_operation(:get_bucket_location, Seahorse::Model::Operation.new.tap do |o|
2219
2939
  o.name = "GetBucketLocation"
2220
2940
  o.http_method = "GET"
2221
- o.http_request_uri = "/{Bucket}?location"
2941
+ o.http_request_uri = "/?location"
2222
2942
  o.input = Shapes::ShapeRef.new(shape: GetBucketLocationRequest)
2223
2943
  o.output = Shapes::ShapeRef.new(shape: GetBucketLocationOutput)
2224
2944
  end)
@@ -2226,7 +2946,7 @@ module Aws::S3
2226
2946
  api.add_operation(:get_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
2227
2947
  o.name = "GetBucketLogging"
2228
2948
  o.http_method = "GET"
2229
- o.http_request_uri = "/{Bucket}?logging"
2949
+ o.http_request_uri = "/?logging"
2230
2950
  o.input = Shapes::ShapeRef.new(shape: GetBucketLoggingRequest)
2231
2951
  o.output = Shapes::ShapeRef.new(shape: GetBucketLoggingOutput)
2232
2952
  end)
@@ -2234,7 +2954,7 @@ module Aws::S3
2234
2954
  api.add_operation(:get_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2235
2955
  o.name = "GetBucketMetricsConfiguration"
2236
2956
  o.http_method = "GET"
2237
- o.http_request_uri = "/{Bucket}?metrics"
2957
+ o.http_request_uri = "/?metrics"
2238
2958
  o.input = Shapes::ShapeRef.new(shape: GetBucketMetricsConfigurationRequest)
2239
2959
  o.output = Shapes::ShapeRef.new(shape: GetBucketMetricsConfigurationOutput)
2240
2960
  end)
@@ -2242,7 +2962,7 @@ module Aws::S3
2242
2962
  api.add_operation(:get_bucket_notification, Seahorse::Model::Operation.new.tap do |o|
2243
2963
  o.name = "GetBucketNotification"
2244
2964
  o.http_method = "GET"
2245
- o.http_request_uri = "/{Bucket}?notification"
2965
+ o.http_request_uri = "/?notification"
2246
2966
  o.deprecated = true
2247
2967
  o.input = Shapes::ShapeRef.new(shape: GetBucketNotificationConfigurationRequest)
2248
2968
  o.output = Shapes::ShapeRef.new(shape: NotificationConfigurationDeprecated)
@@ -2251,23 +2971,39 @@ module Aws::S3
2251
2971
  api.add_operation(:get_bucket_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
2252
2972
  o.name = "GetBucketNotificationConfiguration"
2253
2973
  o.http_method = "GET"
2254
- o.http_request_uri = "/{Bucket}?notification"
2974
+ o.http_request_uri = "/?notification"
2255
2975
  o.input = Shapes::ShapeRef.new(shape: GetBucketNotificationConfigurationRequest)
2256
2976
  o.output = Shapes::ShapeRef.new(shape: NotificationConfiguration)
2257
2977
  end)
2258
2978
 
2979
+ api.add_operation(:get_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2980
+ o.name = "GetBucketOwnershipControls"
2981
+ o.http_method = "GET"
2982
+ o.http_request_uri = "/?ownershipControls"
2983
+ o.input = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsRequest)
2984
+ o.output = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsOutput)
2985
+ end)
2986
+
2259
2987
  api.add_operation(:get_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2260
2988
  o.name = "GetBucketPolicy"
2261
2989
  o.http_method = "GET"
2262
- o.http_request_uri = "/{Bucket}?policy"
2990
+ o.http_request_uri = "/?policy"
2263
2991
  o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyRequest)
2264
2992
  o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyOutput)
2265
2993
  end)
2266
2994
 
2995
+ api.add_operation(:get_bucket_policy_status, Seahorse::Model::Operation.new.tap do |o|
2996
+ o.name = "GetBucketPolicyStatus"
2997
+ o.http_method = "GET"
2998
+ o.http_request_uri = "/?policyStatus"
2999
+ o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusRequest)
3000
+ o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusOutput)
3001
+ end)
3002
+
2267
3003
  api.add_operation(:get_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2268
3004
  o.name = "GetBucketReplication"
2269
3005
  o.http_method = "GET"
2270
- o.http_request_uri = "/{Bucket}?replication"
3006
+ o.http_request_uri = "/?replication"
2271
3007
  o.input = Shapes::ShapeRef.new(shape: GetBucketReplicationRequest)
2272
3008
  o.output = Shapes::ShapeRef.new(shape: GetBucketReplicationOutput)
2273
3009
  end)
@@ -2275,7 +3011,7 @@ module Aws::S3
2275
3011
  api.add_operation(:get_bucket_request_payment, Seahorse::Model::Operation.new.tap do |o|
2276
3012
  o.name = "GetBucketRequestPayment"
2277
3013
  o.http_method = "GET"
2278
- o.http_request_uri = "/{Bucket}?requestPayment"
3014
+ o.http_request_uri = "/?requestPayment"
2279
3015
  o.input = Shapes::ShapeRef.new(shape: GetBucketRequestPaymentRequest)
2280
3016
  o.output = Shapes::ShapeRef.new(shape: GetBucketRequestPaymentOutput)
2281
3017
  end)
@@ -2283,7 +3019,7 @@ module Aws::S3
2283
3019
  api.add_operation(:get_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2284
3020
  o.name = "GetBucketTagging"
2285
3021
  o.http_method = "GET"
2286
- o.http_request_uri = "/{Bucket}?tagging"
3022
+ o.http_request_uri = "/?tagging"
2287
3023
  o.input = Shapes::ShapeRef.new(shape: GetBucketTaggingRequest)
2288
3024
  o.output = Shapes::ShapeRef.new(shape: GetBucketTaggingOutput)
2289
3025
  end)
@@ -2291,7 +3027,7 @@ module Aws::S3
2291
3027
  api.add_operation(:get_bucket_versioning, Seahorse::Model::Operation.new.tap do |o|
2292
3028
  o.name = "GetBucketVersioning"
2293
3029
  o.http_method = "GET"
2294
- o.http_request_uri = "/{Bucket}?versioning"
3030
+ o.http_request_uri = "/?versioning"
2295
3031
  o.input = Shapes::ShapeRef.new(shape: GetBucketVersioningRequest)
2296
3032
  o.output = Shapes::ShapeRef.new(shape: GetBucketVersioningOutput)
2297
3033
  end)
@@ -2299,7 +3035,7 @@ module Aws::S3
2299
3035
  api.add_operation(:get_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2300
3036
  o.name = "GetBucketWebsite"
2301
3037
  o.http_method = "GET"
2302
- o.http_request_uri = "/{Bucket}?website"
3038
+ o.http_request_uri = "/?website"
2303
3039
  o.input = Shapes::ShapeRef.new(shape: GetBucketWebsiteRequest)
2304
3040
  o.output = Shapes::ShapeRef.new(shape: GetBucketWebsiteOutput)
2305
3041
  end)
@@ -2307,25 +3043,67 @@ module Aws::S3
2307
3043
  api.add_operation(:get_object, Seahorse::Model::Operation.new.tap do |o|
2308
3044
  o.name = "GetObject"
2309
3045
  o.http_method = "GET"
2310
- o.http_request_uri = "/{Bucket}/{Key+}"
3046
+ o.http_request_uri = "/{Key+}"
3047
+ o.http_checksum = {
3048
+ "requestValidationModeMember" => "checksum_mode",
3049
+ "responseAlgorithms" => ["CRC32", "CRC32C", "SHA256", "SHA1"],
3050
+ }
3051
+ o.http_checksum = {
3052
+ "requestValidationModeMember" => "checksum_mode",
3053
+ "responseAlgorithms" => ["CRC32", "CRC32C", "SHA256", "SHA1"],
3054
+ }
2311
3055
  o.input = Shapes::ShapeRef.new(shape: GetObjectRequest)
2312
3056
  o.output = Shapes::ShapeRef.new(shape: GetObjectOutput)
2313
3057
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
3058
+ o.errors << Shapes::ShapeRef.new(shape: InvalidObjectState)
2314
3059
  end)
2315
3060
 
2316
3061
  api.add_operation(:get_object_acl, Seahorse::Model::Operation.new.tap do |o|
2317
3062
  o.name = "GetObjectAcl"
2318
3063
  o.http_method = "GET"
2319
- o.http_request_uri = "/{Bucket}/{Key+}?acl"
3064
+ o.http_request_uri = "/{Key+}?acl"
2320
3065
  o.input = Shapes::ShapeRef.new(shape: GetObjectAclRequest)
2321
3066
  o.output = Shapes::ShapeRef.new(shape: GetObjectAclOutput)
2322
3067
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
2323
3068
  end)
2324
3069
 
3070
+ api.add_operation(:get_object_attributes, Seahorse::Model::Operation.new.tap do |o|
3071
+ o.name = "GetObjectAttributes"
3072
+ o.http_method = "GET"
3073
+ o.http_request_uri = "/{Key+}?attributes"
3074
+ o.input = Shapes::ShapeRef.new(shape: GetObjectAttributesRequest)
3075
+ o.output = Shapes::ShapeRef.new(shape: GetObjectAttributesOutput)
3076
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
3077
+ end)
3078
+
3079
+ api.add_operation(:get_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
3080
+ o.name = "GetObjectLegalHold"
3081
+ o.http_method = "GET"
3082
+ o.http_request_uri = "/{Key+}?legal-hold"
3083
+ o.input = Shapes::ShapeRef.new(shape: GetObjectLegalHoldRequest)
3084
+ o.output = Shapes::ShapeRef.new(shape: GetObjectLegalHoldOutput)
3085
+ end)
3086
+
3087
+ api.add_operation(:get_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
3088
+ o.name = "GetObjectLockConfiguration"
3089
+ o.http_method = "GET"
3090
+ o.http_request_uri = "/?object-lock"
3091
+ o.input = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationRequest)
3092
+ o.output = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationOutput)
3093
+ end)
3094
+
3095
+ api.add_operation(:get_object_retention, Seahorse::Model::Operation.new.tap do |o|
3096
+ o.name = "GetObjectRetention"
3097
+ o.http_method = "GET"
3098
+ o.http_request_uri = "/{Key+}?retention"
3099
+ o.input = Shapes::ShapeRef.new(shape: GetObjectRetentionRequest)
3100
+ o.output = Shapes::ShapeRef.new(shape: GetObjectRetentionOutput)
3101
+ end)
3102
+
2325
3103
  api.add_operation(:get_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2326
3104
  o.name = "GetObjectTagging"
2327
3105
  o.http_method = "GET"
2328
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3106
+ o.http_request_uri = "/{Key+}?tagging"
2329
3107
  o.input = Shapes::ShapeRef.new(shape: GetObjectTaggingRequest)
2330
3108
  o.output = Shapes::ShapeRef.new(shape: GetObjectTaggingOutput)
2331
3109
  end)
@@ -2333,15 +3111,23 @@ module Aws::S3
2333
3111
  api.add_operation(:get_object_torrent, Seahorse::Model::Operation.new.tap do |o|
2334
3112
  o.name = "GetObjectTorrent"
2335
3113
  o.http_method = "GET"
2336
- o.http_request_uri = "/{Bucket}/{Key+}?torrent"
3114
+ o.http_request_uri = "/{Key+}?torrent"
2337
3115
  o.input = Shapes::ShapeRef.new(shape: GetObjectTorrentRequest)
2338
3116
  o.output = Shapes::ShapeRef.new(shape: GetObjectTorrentOutput)
2339
3117
  end)
2340
3118
 
3119
+ api.add_operation(:get_public_access_block, Seahorse::Model::Operation.new.tap do |o|
3120
+ o.name = "GetPublicAccessBlock"
3121
+ o.http_method = "GET"
3122
+ o.http_request_uri = "/?publicAccessBlock"
3123
+ o.input = Shapes::ShapeRef.new(shape: GetPublicAccessBlockRequest)
3124
+ o.output = Shapes::ShapeRef.new(shape: GetPublicAccessBlockOutput)
3125
+ end)
3126
+
2341
3127
  api.add_operation(:head_bucket, Seahorse::Model::Operation.new.tap do |o|
2342
3128
  o.name = "HeadBucket"
2343
3129
  o.http_method = "HEAD"
2344
- o.http_request_uri = "/{Bucket}"
3130
+ o.http_request_uri = "/"
2345
3131
  o.input = Shapes::ShapeRef.new(shape: HeadBucketRequest)
2346
3132
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2347
3133
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -2350,7 +3136,7 @@ module Aws::S3
2350
3136
  api.add_operation(:head_object, Seahorse::Model::Operation.new.tap do |o|
2351
3137
  o.name = "HeadObject"
2352
3138
  o.http_method = "HEAD"
2353
- o.http_request_uri = "/{Bucket}/{Key+}"
3139
+ o.http_request_uri = "/{Key+}"
2354
3140
  o.input = Shapes::ShapeRef.new(shape: HeadObjectRequest)
2355
3141
  o.output = Shapes::ShapeRef.new(shape: HeadObjectOutput)
2356
3142
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -2359,15 +3145,23 @@ module Aws::S3
2359
3145
  api.add_operation(:list_bucket_analytics_configurations, Seahorse::Model::Operation.new.tap do |o|
2360
3146
  o.name = "ListBucketAnalyticsConfigurations"
2361
3147
  o.http_method = "GET"
2362
- o.http_request_uri = "/{Bucket}?analytics"
3148
+ o.http_request_uri = "/?analytics"
2363
3149
  o.input = Shapes::ShapeRef.new(shape: ListBucketAnalyticsConfigurationsRequest)
2364
3150
  o.output = Shapes::ShapeRef.new(shape: ListBucketAnalyticsConfigurationsOutput)
2365
3151
  end)
2366
3152
 
3153
+ api.add_operation(:list_bucket_intelligent_tiering_configurations, Seahorse::Model::Operation.new.tap do |o|
3154
+ o.name = "ListBucketIntelligentTieringConfigurations"
3155
+ o.http_method = "GET"
3156
+ o.http_request_uri = "/?intelligent-tiering"
3157
+ o.input = Shapes::ShapeRef.new(shape: ListBucketIntelligentTieringConfigurationsRequest)
3158
+ o.output = Shapes::ShapeRef.new(shape: ListBucketIntelligentTieringConfigurationsOutput)
3159
+ end)
3160
+
2367
3161
  api.add_operation(:list_bucket_inventory_configurations, Seahorse::Model::Operation.new.tap do |o|
2368
3162
  o.name = "ListBucketInventoryConfigurations"
2369
3163
  o.http_method = "GET"
2370
- o.http_request_uri = "/{Bucket}?inventory"
3164
+ o.http_request_uri = "/?inventory"
2371
3165
  o.input = Shapes::ShapeRef.new(shape: ListBucketInventoryConfigurationsRequest)
2372
3166
  o.output = Shapes::ShapeRef.new(shape: ListBucketInventoryConfigurationsOutput)
2373
3167
  end)
@@ -2375,7 +3169,7 @@ module Aws::S3
2375
3169
  api.add_operation(:list_bucket_metrics_configurations, Seahorse::Model::Operation.new.tap do |o|
2376
3170
  o.name = "ListBucketMetricsConfigurations"
2377
3171
  o.http_method = "GET"
2378
- o.http_request_uri = "/{Bucket}?metrics"
3172
+ o.http_request_uri = "/?metrics"
2379
3173
  o.input = Shapes::ShapeRef.new(shape: ListBucketMetricsConfigurationsRequest)
2380
3174
  o.output = Shapes::ShapeRef.new(shape: ListBucketMetricsConfigurationsOutput)
2381
3175
  end)
@@ -2391,7 +3185,7 @@ module Aws::S3
2391
3185
  api.add_operation(:list_multipart_uploads, Seahorse::Model::Operation.new.tap do |o|
2392
3186
  o.name = "ListMultipartUploads"
2393
3187
  o.http_method = "GET"
2394
- o.http_request_uri = "/{Bucket}?uploads"
3188
+ o.http_request_uri = "/?uploads"
2395
3189
  o.input = Shapes::ShapeRef.new(shape: ListMultipartUploadsRequest)
2396
3190
  o.output = Shapes::ShapeRef.new(shape: ListMultipartUploadsOutput)
2397
3191
  o[:pager] = Aws::Pager.new(
@@ -2407,7 +3201,7 @@ module Aws::S3
2407
3201
  api.add_operation(:list_object_versions, Seahorse::Model::Operation.new.tap do |o|
2408
3202
  o.name = "ListObjectVersions"
2409
3203
  o.http_method = "GET"
2410
- o.http_request_uri = "/{Bucket}?versions"
3204
+ o.http_request_uri = "/?versions"
2411
3205
  o.input = Shapes::ShapeRef.new(shape: ListObjectVersionsRequest)
2412
3206
  o.output = Shapes::ShapeRef.new(shape: ListObjectVersionsOutput)
2413
3207
  o[:pager] = Aws::Pager.new(
@@ -2423,7 +3217,7 @@ module Aws::S3
2423
3217
  api.add_operation(:list_objects, Seahorse::Model::Operation.new.tap do |o|
2424
3218
  o.name = "ListObjects"
2425
3219
  o.http_method = "GET"
2426
- o.http_request_uri = "/{Bucket}"
3220
+ o.http_request_uri = "/"
2427
3221
  o.input = Shapes::ShapeRef.new(shape: ListObjectsRequest)
2428
3222
  o.output = Shapes::ShapeRef.new(shape: ListObjectsOutput)
2429
3223
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -2439,7 +3233,7 @@ module Aws::S3
2439
3233
  api.add_operation(:list_objects_v2, Seahorse::Model::Operation.new.tap do |o|
2440
3234
  o.name = "ListObjectsV2"
2441
3235
  o.http_method = "GET"
2442
- o.http_request_uri = "/{Bucket}?list-type=2"
3236
+ o.http_request_uri = "/?list-type=2"
2443
3237
  o.input = Shapes::ShapeRef.new(shape: ListObjectsV2Request)
2444
3238
  o.output = Shapes::ShapeRef.new(shape: ListObjectsV2Output)
2445
3239
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -2454,7 +3248,7 @@ module Aws::S3
2454
3248
  api.add_operation(:list_parts, Seahorse::Model::Operation.new.tap do |o|
2455
3249
  o.name = "ListParts"
2456
3250
  o.http_method = "GET"
2457
- o.http_request_uri = "/{Bucket}/{Key+}"
3251
+ o.http_request_uri = "/{Key+}"
2458
3252
  o.input = Shapes::ShapeRef.new(shape: ListPartsRequest)
2459
3253
  o.output = Shapes::ShapeRef.new(shape: ListPartsOutput)
2460
3254
  o[:pager] = Aws::Pager.new(
@@ -2469,7 +3263,15 @@ module Aws::S3
2469
3263
  api.add_operation(:put_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
2470
3264
  o.name = "PutBucketAccelerateConfiguration"
2471
3265
  o.http_method = "PUT"
2472
- o.http_request_uri = "/{Bucket}?accelerate"
3266
+ o.http_request_uri = "/?accelerate"
3267
+ o.http_checksum = {
3268
+ "requestAlgorithmMember" => "checksum_algorithm",
3269
+ "requestChecksumRequired" => false,
3270
+ }
3271
+ o.http_checksum = {
3272
+ "requestAlgorithmMember" => "checksum_algorithm",
3273
+ "requestChecksumRequired" => false,
3274
+ }
2473
3275
  o.input = Shapes::ShapeRef.new(shape: PutBucketAccelerateConfigurationRequest)
2474
3276
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2475
3277
  end)
@@ -2477,7 +3279,15 @@ module Aws::S3
2477
3279
  api.add_operation(:put_bucket_acl, Seahorse::Model::Operation.new.tap do |o|
2478
3280
  o.name = "PutBucketAcl"
2479
3281
  o.http_method = "PUT"
2480
- o.http_request_uri = "/{Bucket}?acl"
3282
+ o.http_request_uri = "/?acl"
3283
+ o.http_checksum = {
3284
+ "requestAlgorithmMember" => "checksum_algorithm",
3285
+ "requestChecksumRequired" => true,
3286
+ }
3287
+ o.http_checksum = {
3288
+ "requestAlgorithmMember" => "checksum_algorithm",
3289
+ "requestChecksumRequired" => true,
3290
+ }
2481
3291
  o.input = Shapes::ShapeRef.new(shape: PutBucketAclRequest)
2482
3292
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2483
3293
  end)
@@ -2485,7 +3295,7 @@ module Aws::S3
2485
3295
  api.add_operation(:put_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
2486
3296
  o.name = "PutBucketAnalyticsConfiguration"
2487
3297
  o.http_method = "PUT"
2488
- o.http_request_uri = "/{Bucket}?analytics"
3298
+ o.http_request_uri = "/?analytics"
2489
3299
  o.input = Shapes::ShapeRef.new(shape: PutBucketAnalyticsConfigurationRequest)
2490
3300
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2491
3301
  end)
@@ -2493,7 +3303,15 @@ module Aws::S3
2493
3303
  api.add_operation(:put_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
2494
3304
  o.name = "PutBucketCors"
2495
3305
  o.http_method = "PUT"
2496
- o.http_request_uri = "/{Bucket}?cors"
3306
+ o.http_request_uri = "/?cors"
3307
+ o.http_checksum = {
3308
+ "requestAlgorithmMember" => "checksum_algorithm",
3309
+ "requestChecksumRequired" => true,
3310
+ }
3311
+ o.http_checksum = {
3312
+ "requestAlgorithmMember" => "checksum_algorithm",
3313
+ "requestChecksumRequired" => true,
3314
+ }
2497
3315
  o.input = Shapes::ShapeRef.new(shape: PutBucketCorsRequest)
2498
3316
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2499
3317
  end)
@@ -2501,15 +3319,31 @@ module Aws::S3
2501
3319
  api.add_operation(:put_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2502
3320
  o.name = "PutBucketEncryption"
2503
3321
  o.http_method = "PUT"
2504
- o.http_request_uri = "/{Bucket}?encryption"
3322
+ o.http_request_uri = "/?encryption"
3323
+ o.http_checksum = {
3324
+ "requestAlgorithmMember" => "checksum_algorithm",
3325
+ "requestChecksumRequired" => true,
3326
+ }
3327
+ o.http_checksum = {
3328
+ "requestAlgorithmMember" => "checksum_algorithm",
3329
+ "requestChecksumRequired" => true,
3330
+ }
2505
3331
  o.input = Shapes::ShapeRef.new(shape: PutBucketEncryptionRequest)
2506
3332
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2507
3333
  end)
2508
3334
 
3335
+ api.add_operation(:put_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
3336
+ o.name = "PutBucketIntelligentTieringConfiguration"
3337
+ o.http_method = "PUT"
3338
+ o.http_request_uri = "/?intelligent-tiering"
3339
+ o.input = Shapes::ShapeRef.new(shape: PutBucketIntelligentTieringConfigurationRequest)
3340
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3341
+ end)
3342
+
2509
3343
  api.add_operation(:put_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2510
3344
  o.name = "PutBucketInventoryConfiguration"
2511
3345
  o.http_method = "PUT"
2512
- o.http_request_uri = "/{Bucket}?inventory"
3346
+ o.http_request_uri = "/?inventory"
2513
3347
  o.input = Shapes::ShapeRef.new(shape: PutBucketInventoryConfigurationRequest)
2514
3348
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2515
3349
  end)
@@ -2517,7 +3351,15 @@ module Aws::S3
2517
3351
  api.add_operation(:put_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2518
3352
  o.name = "PutBucketLifecycle"
2519
3353
  o.http_method = "PUT"
2520
- o.http_request_uri = "/{Bucket}?lifecycle"
3354
+ o.http_request_uri = "/?lifecycle"
3355
+ o.http_checksum = {
3356
+ "requestAlgorithmMember" => "checksum_algorithm",
3357
+ "requestChecksumRequired" => true,
3358
+ }
3359
+ o.http_checksum = {
3360
+ "requestAlgorithmMember" => "checksum_algorithm",
3361
+ "requestChecksumRequired" => true,
3362
+ }
2521
3363
  o.deprecated = true
2522
3364
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleRequest)
2523
3365
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -2526,7 +3368,15 @@ module Aws::S3
2526
3368
  api.add_operation(:put_bucket_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
2527
3369
  o.name = "PutBucketLifecycleConfiguration"
2528
3370
  o.http_method = "PUT"
2529
- o.http_request_uri = "/{Bucket}?lifecycle"
3371
+ o.http_request_uri = "/?lifecycle"
3372
+ o.http_checksum = {
3373
+ "requestAlgorithmMember" => "checksum_algorithm",
3374
+ "requestChecksumRequired" => true,
3375
+ }
3376
+ o.http_checksum = {
3377
+ "requestAlgorithmMember" => "checksum_algorithm",
3378
+ "requestChecksumRequired" => true,
3379
+ }
2530
3380
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationRequest)
2531
3381
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2532
3382
  end)
@@ -2534,7 +3384,15 @@ module Aws::S3
2534
3384
  api.add_operation(:put_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
2535
3385
  o.name = "PutBucketLogging"
2536
3386
  o.http_method = "PUT"
2537
- o.http_request_uri = "/{Bucket}?logging"
3387
+ o.http_request_uri = "/?logging"
3388
+ o.http_checksum = {
3389
+ "requestAlgorithmMember" => "checksum_algorithm",
3390
+ "requestChecksumRequired" => true,
3391
+ }
3392
+ o.http_checksum = {
3393
+ "requestAlgorithmMember" => "checksum_algorithm",
3394
+ "requestChecksumRequired" => true,
3395
+ }
2538
3396
  o.input = Shapes::ShapeRef.new(shape: PutBucketLoggingRequest)
2539
3397
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2540
3398
  end)
@@ -2542,7 +3400,7 @@ module Aws::S3
2542
3400
  api.add_operation(:put_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2543
3401
  o.name = "PutBucketMetricsConfiguration"
2544
3402
  o.http_method = "PUT"
2545
- o.http_request_uri = "/{Bucket}?metrics"
3403
+ o.http_request_uri = "/?metrics"
2546
3404
  o.input = Shapes::ShapeRef.new(shape: PutBucketMetricsConfigurationRequest)
2547
3405
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2548
3406
  end)
@@ -2550,7 +3408,15 @@ module Aws::S3
2550
3408
  api.add_operation(:put_bucket_notification, Seahorse::Model::Operation.new.tap do |o|
2551
3409
  o.name = "PutBucketNotification"
2552
3410
  o.http_method = "PUT"
2553
- o.http_request_uri = "/{Bucket}?notification"
3411
+ o.http_request_uri = "/?notification"
3412
+ o.http_checksum = {
3413
+ "requestAlgorithmMember" => "checksum_algorithm",
3414
+ "requestChecksumRequired" => true,
3415
+ }
3416
+ o.http_checksum = {
3417
+ "requestAlgorithmMember" => "checksum_algorithm",
3418
+ "requestChecksumRequired" => true,
3419
+ }
2554
3420
  o.deprecated = true
2555
3421
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationRequest)
2556
3422
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -2559,15 +3425,34 @@ module Aws::S3
2559
3425
  api.add_operation(:put_bucket_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
2560
3426
  o.name = "PutBucketNotificationConfiguration"
2561
3427
  o.http_method = "PUT"
2562
- o.http_request_uri = "/{Bucket}?notification"
3428
+ o.http_request_uri = "/?notification"
2563
3429
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationConfigurationRequest)
2564
3430
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2565
3431
  end)
2566
3432
 
3433
+ api.add_operation(:put_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
3434
+ o.name = "PutBucketOwnershipControls"
3435
+ o.http_method = "PUT"
3436
+ o.http_request_uri = "/?ownershipControls"
3437
+ o.http_checksum = {
3438
+ "requestChecksumRequired" => true,
3439
+ }
3440
+ o.input = Shapes::ShapeRef.new(shape: PutBucketOwnershipControlsRequest)
3441
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3442
+ end)
3443
+
2567
3444
  api.add_operation(:put_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2568
3445
  o.name = "PutBucketPolicy"
2569
3446
  o.http_method = "PUT"
2570
- o.http_request_uri = "/{Bucket}?policy"
3447
+ o.http_request_uri = "/?policy"
3448
+ o.http_checksum = {
3449
+ "requestAlgorithmMember" => "checksum_algorithm",
3450
+ "requestChecksumRequired" => true,
3451
+ }
3452
+ o.http_checksum = {
3453
+ "requestAlgorithmMember" => "checksum_algorithm",
3454
+ "requestChecksumRequired" => true,
3455
+ }
2571
3456
  o.input = Shapes::ShapeRef.new(shape: PutBucketPolicyRequest)
2572
3457
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2573
3458
  end)
@@ -2575,7 +3460,15 @@ module Aws::S3
2575
3460
  api.add_operation(:put_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2576
3461
  o.name = "PutBucketReplication"
2577
3462
  o.http_method = "PUT"
2578
- o.http_request_uri = "/{Bucket}?replication"
3463
+ o.http_request_uri = "/?replication"
3464
+ o.http_checksum = {
3465
+ "requestAlgorithmMember" => "checksum_algorithm",
3466
+ "requestChecksumRequired" => true,
3467
+ }
3468
+ o.http_checksum = {
3469
+ "requestAlgorithmMember" => "checksum_algorithm",
3470
+ "requestChecksumRequired" => true,
3471
+ }
2579
3472
  o.input = Shapes::ShapeRef.new(shape: PutBucketReplicationRequest)
2580
3473
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2581
3474
  end)
@@ -2583,7 +3476,15 @@ module Aws::S3
2583
3476
  api.add_operation(:put_bucket_request_payment, Seahorse::Model::Operation.new.tap do |o|
2584
3477
  o.name = "PutBucketRequestPayment"
2585
3478
  o.http_method = "PUT"
2586
- o.http_request_uri = "/{Bucket}?requestPayment"
3479
+ o.http_request_uri = "/?requestPayment"
3480
+ o.http_checksum = {
3481
+ "requestAlgorithmMember" => "checksum_algorithm",
3482
+ "requestChecksumRequired" => true,
3483
+ }
3484
+ o.http_checksum = {
3485
+ "requestAlgorithmMember" => "checksum_algorithm",
3486
+ "requestChecksumRequired" => true,
3487
+ }
2587
3488
  o.input = Shapes::ShapeRef.new(shape: PutBucketRequestPaymentRequest)
2588
3489
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2589
3490
  end)
@@ -2591,7 +3492,15 @@ module Aws::S3
2591
3492
  api.add_operation(:put_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2592
3493
  o.name = "PutBucketTagging"
2593
3494
  o.http_method = "PUT"
2594
- o.http_request_uri = "/{Bucket}?tagging"
3495
+ o.http_request_uri = "/?tagging"
3496
+ o.http_checksum = {
3497
+ "requestAlgorithmMember" => "checksum_algorithm",
3498
+ "requestChecksumRequired" => true,
3499
+ }
3500
+ o.http_checksum = {
3501
+ "requestAlgorithmMember" => "checksum_algorithm",
3502
+ "requestChecksumRequired" => true,
3503
+ }
2595
3504
  o.input = Shapes::ShapeRef.new(shape: PutBucketTaggingRequest)
2596
3505
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2597
3506
  end)
@@ -2599,7 +3508,15 @@ module Aws::S3
2599
3508
  api.add_operation(:put_bucket_versioning, Seahorse::Model::Operation.new.tap do |o|
2600
3509
  o.name = "PutBucketVersioning"
2601
3510
  o.http_method = "PUT"
2602
- o.http_request_uri = "/{Bucket}?versioning"
3511
+ o.http_request_uri = "/?versioning"
3512
+ o.http_checksum = {
3513
+ "requestAlgorithmMember" => "checksum_algorithm",
3514
+ "requestChecksumRequired" => true,
3515
+ }
3516
+ o.http_checksum = {
3517
+ "requestAlgorithmMember" => "checksum_algorithm",
3518
+ "requestChecksumRequired" => true,
3519
+ }
2603
3520
  o.input = Shapes::ShapeRef.new(shape: PutBucketVersioningRequest)
2604
3521
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2605
3522
  end)
@@ -2607,7 +3524,15 @@ module Aws::S3
2607
3524
  api.add_operation(:put_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2608
3525
  o.name = "PutBucketWebsite"
2609
3526
  o.http_method = "PUT"
2610
- o.http_request_uri = "/{Bucket}?website"
3527
+ o.http_request_uri = "/?website"
3528
+ o.http_checksum = {
3529
+ "requestAlgorithmMember" => "checksum_algorithm",
3530
+ "requestChecksumRequired" => true,
3531
+ }
3532
+ o.http_checksum = {
3533
+ "requestAlgorithmMember" => "checksum_algorithm",
3534
+ "requestChecksumRequired" => true,
3535
+ }
2611
3536
  o.input = Shapes::ShapeRef.new(shape: PutBucketWebsiteRequest)
2612
3537
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2613
3538
  end)
@@ -2615,7 +3540,15 @@ module Aws::S3
2615
3540
  api.add_operation(:put_object, Seahorse::Model::Operation.new.tap do |o|
2616
3541
  o.name = "PutObject"
2617
3542
  o.http_method = "PUT"
2618
- o.http_request_uri = "/{Bucket}/{Key+}"
3543
+ o.http_request_uri = "/{Key+}"
3544
+ o.http_checksum = {
3545
+ "requestAlgorithmMember" => "checksum_algorithm",
3546
+ "requestChecksumRequired" => false,
3547
+ }
3548
+ o.http_checksum = {
3549
+ "requestAlgorithmMember" => "checksum_algorithm",
3550
+ "requestChecksumRequired" => false,
3551
+ }
2619
3552
  o.input = Shapes::ShapeRef.new(shape: PutObjectRequest)
2620
3553
  o.output = Shapes::ShapeRef.new(shape: PutObjectOutput)
2621
3554
  end)
@@ -2623,24 +3556,112 @@ module Aws::S3
2623
3556
  api.add_operation(:put_object_acl, Seahorse::Model::Operation.new.tap do |o|
2624
3557
  o.name = "PutObjectAcl"
2625
3558
  o.http_method = "PUT"
2626
- o.http_request_uri = "/{Bucket}/{Key+}?acl"
3559
+ o.http_request_uri = "/{Key+}?acl"
3560
+ o.http_checksum = {
3561
+ "requestAlgorithmMember" => "checksum_algorithm",
3562
+ "requestChecksumRequired" => true,
3563
+ }
3564
+ o.http_checksum = {
3565
+ "requestAlgorithmMember" => "checksum_algorithm",
3566
+ "requestChecksumRequired" => true,
3567
+ }
2627
3568
  o.input = Shapes::ShapeRef.new(shape: PutObjectAclRequest)
2628
3569
  o.output = Shapes::ShapeRef.new(shape: PutObjectAclOutput)
2629
3570
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
2630
3571
  end)
2631
3572
 
3573
+ api.add_operation(:put_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
3574
+ o.name = "PutObjectLegalHold"
3575
+ o.http_method = "PUT"
3576
+ o.http_request_uri = "/{Key+}?legal-hold"
3577
+ o.http_checksum = {
3578
+ "requestAlgorithmMember" => "checksum_algorithm",
3579
+ "requestChecksumRequired" => true,
3580
+ }
3581
+ o.http_checksum = {
3582
+ "requestAlgorithmMember" => "checksum_algorithm",
3583
+ "requestChecksumRequired" => true,
3584
+ }
3585
+ o.input = Shapes::ShapeRef.new(shape: PutObjectLegalHoldRequest)
3586
+ o.output = Shapes::ShapeRef.new(shape: PutObjectLegalHoldOutput)
3587
+ end)
3588
+
3589
+ api.add_operation(:put_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
3590
+ o.name = "PutObjectLockConfiguration"
3591
+ o.http_method = "PUT"
3592
+ o.http_request_uri = "/?object-lock"
3593
+ o.http_checksum = {
3594
+ "requestAlgorithmMember" => "checksum_algorithm",
3595
+ "requestChecksumRequired" => true,
3596
+ }
3597
+ o.http_checksum = {
3598
+ "requestAlgorithmMember" => "checksum_algorithm",
3599
+ "requestChecksumRequired" => true,
3600
+ }
3601
+ o.input = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationRequest)
3602
+ o.output = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationOutput)
3603
+ end)
3604
+
3605
+ api.add_operation(:put_object_retention, Seahorse::Model::Operation.new.tap do |o|
3606
+ o.name = "PutObjectRetention"
3607
+ o.http_method = "PUT"
3608
+ o.http_request_uri = "/{Key+}?retention"
3609
+ o.http_checksum = {
3610
+ "requestAlgorithmMember" => "checksum_algorithm",
3611
+ "requestChecksumRequired" => true,
3612
+ }
3613
+ o.http_checksum = {
3614
+ "requestAlgorithmMember" => "checksum_algorithm",
3615
+ "requestChecksumRequired" => true,
3616
+ }
3617
+ o.input = Shapes::ShapeRef.new(shape: PutObjectRetentionRequest)
3618
+ o.output = Shapes::ShapeRef.new(shape: PutObjectRetentionOutput)
3619
+ end)
3620
+
2632
3621
  api.add_operation(:put_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2633
3622
  o.name = "PutObjectTagging"
2634
3623
  o.http_method = "PUT"
2635
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3624
+ o.http_request_uri = "/{Key+}?tagging"
3625
+ o.http_checksum = {
3626
+ "requestAlgorithmMember" => "checksum_algorithm",
3627
+ "requestChecksumRequired" => true,
3628
+ }
3629
+ o.http_checksum = {
3630
+ "requestAlgorithmMember" => "checksum_algorithm",
3631
+ "requestChecksumRequired" => true,
3632
+ }
2636
3633
  o.input = Shapes::ShapeRef.new(shape: PutObjectTaggingRequest)
2637
3634
  o.output = Shapes::ShapeRef.new(shape: PutObjectTaggingOutput)
2638
3635
  end)
2639
3636
 
3637
+ api.add_operation(:put_public_access_block, Seahorse::Model::Operation.new.tap do |o|
3638
+ o.name = "PutPublicAccessBlock"
3639
+ o.http_method = "PUT"
3640
+ o.http_request_uri = "/?publicAccessBlock"
3641
+ o.http_checksum = {
3642
+ "requestAlgorithmMember" => "checksum_algorithm",
3643
+ "requestChecksumRequired" => true,
3644
+ }
3645
+ o.http_checksum = {
3646
+ "requestAlgorithmMember" => "checksum_algorithm",
3647
+ "requestChecksumRequired" => true,
3648
+ }
3649
+ o.input = Shapes::ShapeRef.new(shape: PutPublicAccessBlockRequest)
3650
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3651
+ end)
3652
+
2640
3653
  api.add_operation(:restore_object, Seahorse::Model::Operation.new.tap do |o|
2641
3654
  o.name = "RestoreObject"
2642
3655
  o.http_method = "POST"
2643
- o.http_request_uri = "/{Bucket}/{Key+}?restore"
3656
+ o.http_request_uri = "/{Key+}?restore"
3657
+ o.http_checksum = {
3658
+ "requestAlgorithmMember" => "checksum_algorithm",
3659
+ "requestChecksumRequired" => false,
3660
+ }
3661
+ o.http_checksum = {
3662
+ "requestAlgorithmMember" => "checksum_algorithm",
3663
+ "requestChecksumRequired" => false,
3664
+ }
2644
3665
  o.input = Shapes::ShapeRef.new(shape: RestoreObjectRequest)
2645
3666
  o.output = Shapes::ShapeRef.new(shape: RestoreObjectOutput)
2646
3667
  o.errors << Shapes::ShapeRef.new(shape: ObjectAlreadyInActiveTierError)
@@ -2649,7 +3670,7 @@ module Aws::S3
2649
3670
  api.add_operation(:select_object_content, Seahorse::Model::Operation.new.tap do |o|
2650
3671
  o.name = "SelectObjectContent"
2651
3672
  o.http_method = "POST"
2652
- o.http_request_uri = "/{Bucket}/{Key+}?select&select-type=2"
3673
+ o.http_request_uri = "/{Key+}?select&select-type=2"
2653
3674
  o.input = Shapes::ShapeRef.new(shape: SelectObjectContentRequest,
2654
3675
  location_name: "SelectObjectContentRequest",
2655
3676
  metadata: {
@@ -2662,7 +3683,15 @@ module Aws::S3
2662
3683
  api.add_operation(:upload_part, Seahorse::Model::Operation.new.tap do |o|
2663
3684
  o.name = "UploadPart"
2664
3685
  o.http_method = "PUT"
2665
- o.http_request_uri = "/{Bucket}/{Key+}"
3686
+ o.http_request_uri = "/{Key+}"
3687
+ o.http_checksum = {
3688
+ "requestAlgorithmMember" => "checksum_algorithm",
3689
+ "requestChecksumRequired" => false,
3690
+ }
3691
+ o.http_checksum = {
3692
+ "requestAlgorithmMember" => "checksum_algorithm",
3693
+ "requestChecksumRequired" => false,
3694
+ }
2666
3695
  o.input = Shapes::ShapeRef.new(shape: UploadPartRequest)
2667
3696
  o.output = Shapes::ShapeRef.new(shape: UploadPartOutput)
2668
3697
  end)
@@ -2670,10 +3699,22 @@ module Aws::S3
2670
3699
  api.add_operation(:upload_part_copy, Seahorse::Model::Operation.new.tap do |o|
2671
3700
  o.name = "UploadPartCopy"
2672
3701
  o.http_method = "PUT"
2673
- o.http_request_uri = "/{Bucket}/{Key+}"
3702
+ o.http_request_uri = "/{Key+}"
2674
3703
  o.input = Shapes::ShapeRef.new(shape: UploadPartCopyRequest)
2675
3704
  o.output = Shapes::ShapeRef.new(shape: UploadPartCopyOutput)
2676
3705
  end)
3706
+
3707
+ api.add_operation(:write_get_object_response, Seahorse::Model::Operation.new.tap do |o|
3708
+ o.name = "WriteGetObjectResponse"
3709
+ o.http_method = "POST"
3710
+ o.http_request_uri = "/WriteGetObjectResponse"
3711
+ o['authtype'] = "v4-unsigned-body"
3712
+ o.endpoint_pattern = {
3713
+ "hostPrefix" => "{RequestRoute}.",
3714
+ }
3715
+ o.input = Shapes::ShapeRef.new(shape: WriteGetObjectResponseRequest)
3716
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3717
+ end)
2677
3718
  end
2678
3719
 
2679
3720
  end