aws-sdk-s3 1.48.0 → 1.169.0

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