aws-sdk-s3 1.13.0 → 1.146.1

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