aws-sdk-s3 1.48.0 → 1.183.0

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