aws-sdk-s3 1.79.1 → 1.212.0

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