aws-sdk-s3 1.10.0 → 1.208.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 (153) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +1517 -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 +1062 -99
  8. data/lib/aws-sdk-s3/bucket_acl.rb +67 -17
  9. data/lib/aws-sdk-s3/bucket_cors.rb +80 -17
  10. data/lib/aws-sdk-s3/bucket_lifecycle.rb +71 -19
  11. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +126 -20
  12. data/lib/aws-sdk-s3/bucket_logging.rb +68 -18
  13. data/lib/aws-sdk-s3/bucket_notification.rb +56 -20
  14. data/lib/aws-sdk-s3/bucket_policy.rb +108 -17
  15. data/lib/aws-sdk-s3/bucket_region_cache.rb +11 -5
  16. data/lib/aws-sdk-s3/bucket_request_payment.rb +60 -15
  17. data/lib/aws-sdk-s3/bucket_tagging.rb +71 -17
  18. data/lib/aws-sdk-s3/bucket_versioning.rb +166 -17
  19. data/lib/aws-sdk-s3/bucket_website.rb +78 -17
  20. data/lib/aws-sdk-s3/client.rb +20068 -3879
  21. data/lib/aws-sdk-s3/client_api.rb +1957 -209
  22. data/lib/aws-sdk-s3/customizations/bucket.rb +57 -38
  23. data/lib/aws-sdk-s3/customizations/errors.rb +40 -0
  24. data/lib/aws-sdk-s3/customizations/multipart_upload.rb +2 -0
  25. data/lib/aws-sdk-s3/customizations/object.rb +338 -68
  26. data/lib/aws-sdk-s3/customizations/object_summary.rb +17 -0
  27. data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
  28. data/lib/aws-sdk-s3/customizations/types/list_object_versions_output.rb +2 -0
  29. data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
  30. data/lib/aws-sdk-s3/customizations.rb +30 -27
  31. data/lib/aws-sdk-s3/default_executor.rb +103 -0
  32. data/lib/aws-sdk-s3/encryption/client.rb +29 -8
  33. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +71 -29
  34. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +45 -5
  35. data/lib/aws-sdk-s3/encryption/default_key_provider.rb +2 -0
  36. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +15 -2
  37. data/lib/aws-sdk-s3/encryption/errors.rb +2 -0
  38. data/lib/aws-sdk-s3/encryption/io_auth_decrypter.rb +11 -3
  39. data/lib/aws-sdk-s3/encryption/io_decrypter.rb +11 -3
  40. data/lib/aws-sdk-s3/encryption/io_encrypter.rb +2 -0
  41. data/lib/aws-sdk-s3/encryption/key_provider.rb +2 -0
  42. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +48 -11
  43. data/lib/aws-sdk-s3/encryption/materials.rb +8 -6
  44. data/lib/aws-sdk-s3/encryption/utils.rb +25 -0
  45. data/lib/aws-sdk-s3/encryption.rb +4 -0
  46. data/lib/aws-sdk-s3/encryptionV2/client.rb +645 -0
  47. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +68 -0
  48. data/lib/aws-sdk-s3/encryptionV2/decryption.rb +205 -0
  49. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +187 -0
  50. data/lib/aws-sdk-s3/encryptionV2/default_key_provider.rb +40 -0
  51. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +67 -0
  52. data/lib/aws-sdk-s3/encryptionV2/errors.rb +37 -0
  53. data/lib/aws-sdk-s3/encryptionV2/io_auth_decrypter.rb +58 -0
  54. data/lib/aws-sdk-s3/encryptionV2/io_decrypter.rb +37 -0
  55. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +75 -0
  56. data/lib/aws-sdk-s3/encryptionV2/key_provider.rb +31 -0
  57. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +181 -0
  58. data/lib/aws-sdk-s3/encryptionV2/materials.rb +60 -0
  59. data/lib/aws-sdk-s3/encryptionV2/utils.rb +108 -0
  60. data/lib/aws-sdk-s3/encryptionV3/client.rb +885 -0
  61. data/lib/aws-sdk-s3/encryptionV3/decrypt_handler.rb +98 -0
  62. data/lib/aws-sdk-s3/encryptionV3/decryption.rb +244 -0
  63. data/lib/aws-sdk-s3/encryptionV3/default_cipher_provider.rb +159 -0
  64. data/lib/aws-sdk-s3/encryptionV3/default_key_provider.rb +35 -0
  65. data/lib/aws-sdk-s3/encryptionV3/encrypt_handler.rb +98 -0
  66. data/lib/aws-sdk-s3/encryptionV3/errors.rb +47 -0
  67. data/lib/aws-sdk-s3/encryptionV3/io_auth_decrypter.rb +60 -0
  68. data/lib/aws-sdk-s3/encryptionV3/io_decrypter.rb +35 -0
  69. data/lib/aws-sdk-s3/encryptionV3/io_encrypter.rb +84 -0
  70. data/lib/aws-sdk-s3/encryptionV3/key_provider.rb +28 -0
  71. data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +159 -0
  72. data/lib/aws-sdk-s3/encryptionV3/materials.rb +58 -0
  73. data/lib/aws-sdk-s3/encryptionV3/utils.rb +321 -0
  74. data/lib/aws-sdk-s3/encryption_v2.rb +24 -0
  75. data/lib/aws-sdk-s3/encryption_v3.rb +24 -0
  76. data/lib/aws-sdk-s3/endpoint_parameters.rb +181 -0
  77. data/lib/aws-sdk-s3/endpoint_provider.rb +886 -0
  78. data/lib/aws-sdk-s3/endpoints.rb +1544 -0
  79. data/lib/aws-sdk-s3/errors.rb +181 -1
  80. data/lib/aws-sdk-s3/event_streams.rb +69 -0
  81. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  82. data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
  83. data/lib/aws-sdk-s3/file_downloader.rb +261 -82
  84. data/lib/aws-sdk-s3/file_part.rb +16 -13
  85. data/lib/aws-sdk-s3/file_uploader.rb +37 -22
  86. data/lib/aws-sdk-s3/legacy_signer.rb +19 -26
  87. data/lib/aws-sdk-s3/multipart_download_error.rb +8 -0
  88. data/lib/aws-sdk-s3/multipart_file_uploader.rb +142 -80
  89. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +191 -0
  90. data/lib/aws-sdk-s3/multipart_upload.rb +342 -31
  91. data/lib/aws-sdk-s3/multipart_upload_error.rb +5 -4
  92. data/lib/aws-sdk-s3/multipart_upload_part.rb +387 -47
  93. data/lib/aws-sdk-s3/object.rb +2733 -204
  94. data/lib/aws-sdk-s3/object_acl.rb +112 -25
  95. data/lib/aws-sdk-s3/object_copier.rb +9 -5
  96. data/lib/aws-sdk-s3/object_multipart_copier.rb +50 -23
  97. data/lib/aws-sdk-s3/object_summary.rb +2265 -181
  98. data/lib/aws-sdk-s3/object_version.rb +542 -74
  99. data/lib/aws-sdk-s3/plugins/accelerate.rb +17 -64
  100. data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
  101. data/lib/aws-sdk-s3/plugins/arn.rb +70 -0
  102. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +7 -43
  103. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +20 -3
  104. data/lib/aws-sdk-s3/plugins/checksum_algorithm.rb +31 -0
  105. data/lib/aws-sdk-s3/plugins/dualstack.rb +7 -50
  106. data/lib/aws-sdk-s3/plugins/endpoints.rb +86 -0
  107. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +5 -4
  108. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +88 -0
  109. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +3 -1
  110. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +62 -17
  111. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +44 -0
  112. data/lib/aws-sdk-s3/plugins/location_constraint.rb +5 -1
  113. data/lib/aws-sdk-s3/plugins/md5s.rb +14 -67
  114. data/lib/aws-sdk-s3/plugins/redirects.rb +5 -1
  115. data/lib/aws-sdk-s3/plugins/s3_host_id.rb +2 -0
  116. data/lib/aws-sdk-s3/plugins/s3_signer.rb +67 -93
  117. data/lib/aws-sdk-s3/plugins/sse_cpk.rb +3 -1
  118. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +137 -0
  119. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +4 -1
  120. data/lib/aws-sdk-s3/presigned_post.rb +160 -99
  121. data/lib/aws-sdk-s3/presigner.rb +178 -81
  122. data/lib/aws-sdk-s3/resource.rb +164 -15
  123. data/lib/aws-sdk-s3/transfer_manager.rb +303 -0
  124. data/lib/aws-sdk-s3/types.rb +15981 -4168
  125. data/lib/aws-sdk-s3/waiters.rb +67 -1
  126. data/lib/aws-sdk-s3.rb +46 -31
  127. data/sig/bucket.rbs +231 -0
  128. data/sig/bucket_acl.rbs +78 -0
  129. data/sig/bucket_cors.rbs +69 -0
  130. data/sig/bucket_lifecycle.rbs +88 -0
  131. data/sig/bucket_lifecycle_configuration.rbs +115 -0
  132. data/sig/bucket_logging.rbs +76 -0
  133. data/sig/bucket_notification.rbs +114 -0
  134. data/sig/bucket_policy.rbs +59 -0
  135. data/sig/bucket_request_payment.rbs +54 -0
  136. data/sig/bucket_tagging.rbs +65 -0
  137. data/sig/bucket_versioning.rbs +77 -0
  138. data/sig/bucket_website.rbs +93 -0
  139. data/sig/client.rbs +2612 -0
  140. data/sig/customizations/bucket.rbs +19 -0
  141. data/sig/customizations/object.rbs +38 -0
  142. data/sig/customizations/object_summary.rbs +35 -0
  143. data/sig/errors.rbs +44 -0
  144. data/sig/multipart_upload.rbs +120 -0
  145. data/sig/multipart_upload_part.rbs +109 -0
  146. data/sig/object.rbs +464 -0
  147. data/sig/object_acl.rbs +86 -0
  148. data/sig/object_summary.rbs +347 -0
  149. data/sig/object_version.rbs +143 -0
  150. data/sig/resource.rbs +141 -0
  151. data/sig/types.rbs +2899 -0
  152. data/sig/waiters.rbs +95 -0
  153. metadata +97 -14
@@ -1,16 +1,20 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
4
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
5
7
  #
6
8
  # WARNING ABOUT GENERATED CODE
7
9
 
10
+
8
11
  module Aws::S3
9
12
  # @api private
10
13
  module ClientApi
11
14
 
12
15
  include Seahorse::Model
13
16
 
17
+ AbacStatus = Shapes::StructureShape.new(name: 'AbacStatus')
14
18
  AbortDate = Shapes::TimestampShape.new(name: 'AbortDate')
15
19
  AbortIncompleteMultipartUpload = Shapes::StructureShape.new(name: 'AbortIncompleteMultipartUpload')
16
20
  AbortMultipartUploadOutput = Shapes::StructureShape.new(name: 'AbortMultipartUploadOutput')
@@ -20,7 +24,11 @@ module Aws::S3
20
24
  AcceptRanges = Shapes::StringShape.new(name: 'AcceptRanges')
21
25
  AccessControlPolicy = Shapes::StructureShape.new(name: 'AccessControlPolicy')
22
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')
23
30
  AccountId = Shapes::StringShape.new(name: 'AccountId')
31
+ AllowQuotedRecordDelimiter = Shapes::BooleanShape.new(name: 'AllowQuotedRecordDelimiter')
24
32
  AllowedHeader = Shapes::StringShape.new(name: 'AllowedHeader')
25
33
  AllowedHeaders = Shapes::ListShape.new(name: 'AllowedHeaders', flattened: true)
26
34
  AllowedMethod = Shapes::StringShape.new(name: 'AllowedMethod')
@@ -35,19 +43,28 @@ module Aws::S3
35
43
  AnalyticsId = Shapes::StringShape.new(name: 'AnalyticsId')
36
44
  AnalyticsS3BucketDestination = Shapes::StructureShape.new(name: 'AnalyticsS3BucketDestination')
37
45
  AnalyticsS3ExportFileFormat = Shapes::StringShape.new(name: 'AnalyticsS3ExportFileFormat')
46
+ ArchiveStatus = Shapes::StringShape.new(name: 'ArchiveStatus')
47
+ BlockedEncryptionTypes = Shapes::StructureShape.new(name: 'BlockedEncryptionTypes')
38
48
  Body = Shapes::BlobShape.new(name: 'Body')
39
49
  Bucket = Shapes::StructureShape.new(name: 'Bucket')
50
+ BucketAbacStatus = Shapes::StringShape.new(name: 'BucketAbacStatus')
40
51
  BucketAccelerateStatus = Shapes::StringShape.new(name: 'BucketAccelerateStatus')
41
52
  BucketAlreadyExists = Shapes::StructureShape.new(name: 'BucketAlreadyExists')
42
53
  BucketAlreadyOwnedByYou = Shapes::StructureShape.new(name: 'BucketAlreadyOwnedByYou')
43
54
  BucketCannedACL = Shapes::StringShape.new(name: 'BucketCannedACL')
55
+ BucketInfo = Shapes::StructureShape.new(name: 'BucketInfo')
56
+ BucketKeyEnabled = Shapes::BooleanShape.new(name: 'BucketKeyEnabled')
44
57
  BucketLifecycleConfiguration = Shapes::StructureShape.new(name: 'BucketLifecycleConfiguration')
45
58
  BucketLocationConstraint = Shapes::StringShape.new(name: 'BucketLocationConstraint')
59
+ BucketLocationName = Shapes::StringShape.new(name: 'BucketLocationName')
46
60
  BucketLoggingStatus = Shapes::StructureShape.new(name: 'BucketLoggingStatus')
47
61
  BucketLogsPermission = Shapes::StringShape.new(name: 'BucketLogsPermission')
48
62
  BucketName = Shapes::StringShape.new(name: 'BucketName')
63
+ BucketRegion = Shapes::StringShape.new(name: 'BucketRegion')
64
+ BucketType = Shapes::StringShape.new(name: 'BucketType')
49
65
  BucketVersioningStatus = Shapes::StringShape.new(name: 'BucketVersioningStatus')
50
66
  Buckets = Shapes::ListShape.new(name: 'Buckets')
67
+ BypassGovernanceRetention = Shapes::BooleanShape.new(name: 'BypassGovernanceRetention')
51
68
  BytesProcessed = Shapes::IntegerShape.new(name: 'BytesProcessed')
52
69
  BytesReturned = Shapes::IntegerShape.new(name: 'BytesReturned')
53
70
  BytesScanned = Shapes::IntegerShape.new(name: 'BytesScanned')
@@ -57,6 +74,17 @@ module Aws::S3
57
74
  CSVInput = Shapes::StructureShape.new(name: 'CSVInput')
58
75
  CSVOutput = Shapes::StructureShape.new(name: 'CSVOutput')
59
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')
60
88
  CloudFunction = Shapes::StringShape.new(name: 'CloudFunction')
61
89
  CloudFunctionConfiguration = Shapes::StructureShape.new(name: 'CloudFunctionConfiguration')
62
90
  CloudFunctionInvocationRole = Shapes::StringShape.new(name: 'CloudFunctionInvocationRole')
@@ -79,6 +107,7 @@ module Aws::S3
79
107
  ContentMD5 = Shapes::StringShape.new(name: 'ContentMD5')
80
108
  ContentRange = Shapes::StringShape.new(name: 'ContentRange')
81
109
  ContentType = Shapes::StringShape.new(name: 'ContentType')
110
+ ContinuationEvent = Shapes::StructureShape.new(name: 'ContinuationEvent')
82
111
  CopyObjectOutput = Shapes::StructureShape.new(name: 'CopyObjectOutput')
83
112
  CopyObjectRequest = Shapes::StructureShape.new(name: 'CopyObjectRequest')
84
113
  CopyObjectResult = Shapes::StructureShape.new(name: 'CopyObjectResult')
@@ -94,21 +123,31 @@ module Aws::S3
94
123
  CopySourceSSECustomerKeyMD5 = Shapes::StringShape.new(name: 'CopySourceSSECustomerKeyMD5')
95
124
  CopySourceVersionId = Shapes::StringShape.new(name: 'CopySourceVersionId')
96
125
  CreateBucketConfiguration = Shapes::StructureShape.new(name: 'CreateBucketConfiguration')
126
+ CreateBucketMetadataConfigurationRequest = Shapes::StructureShape.new(name: 'CreateBucketMetadataConfigurationRequest')
127
+ CreateBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'CreateBucketMetadataTableConfigurationRequest')
97
128
  CreateBucketOutput = Shapes::StructureShape.new(name: 'CreateBucketOutput')
98
129
  CreateBucketRequest = Shapes::StructureShape.new(name: 'CreateBucketRequest')
99
130
  CreateMultipartUploadOutput = Shapes::StructureShape.new(name: 'CreateMultipartUploadOutput')
100
131
  CreateMultipartUploadRequest = Shapes::StructureShape.new(name: 'CreateMultipartUploadRequest')
132
+ CreateSessionOutput = Shapes::StructureShape.new(name: 'CreateSessionOutput')
133
+ CreateSessionRequest = Shapes::StructureShape.new(name: 'CreateSessionRequest')
101
134
  CreationDate = Shapes::TimestampShape.new(name: 'CreationDate')
135
+ DataRedundancy = Shapes::StringShape.new(name: 'DataRedundancy')
102
136
  Date = Shapes::TimestampShape.new(name: 'Date', timestampFormat: "iso8601")
103
137
  Days = Shapes::IntegerShape.new(name: 'Days')
104
138
  DaysAfterInitiation = Shapes::IntegerShape.new(name: 'DaysAfterInitiation')
139
+ DefaultRetention = Shapes::StructureShape.new(name: 'DefaultRetention')
105
140
  Delete = Shapes::StructureShape.new(name: 'Delete')
106
141
  DeleteBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketAnalyticsConfigurationRequest')
107
142
  DeleteBucketCorsRequest = Shapes::StructureShape.new(name: 'DeleteBucketCorsRequest')
108
143
  DeleteBucketEncryptionRequest = Shapes::StructureShape.new(name: 'DeleteBucketEncryptionRequest')
144
+ DeleteBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketIntelligentTieringConfigurationRequest')
109
145
  DeleteBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketInventoryConfigurationRequest')
110
146
  DeleteBucketLifecycleRequest = Shapes::StructureShape.new(name: 'DeleteBucketLifecycleRequest')
147
+ DeleteBucketMetadataConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetadataConfigurationRequest')
148
+ DeleteBucketMetadataTableConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetadataTableConfigurationRequest')
111
149
  DeleteBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetricsConfigurationRequest')
150
+ DeleteBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'DeleteBucketOwnershipControlsRequest')
112
151
  DeleteBucketPolicyRequest = Shapes::StructureShape.new(name: 'DeleteBucketPolicyRequest')
113
152
  DeleteBucketReplicationRequest = Shapes::StructureShape.new(name: 'DeleteBucketReplicationRequest')
114
153
  DeleteBucketRequest = Shapes::StructureShape.new(name: 'DeleteBucketRequest')
@@ -116,6 +155,8 @@ module Aws::S3
116
155
  DeleteBucketWebsiteRequest = Shapes::StructureShape.new(name: 'DeleteBucketWebsiteRequest')
117
156
  DeleteMarker = Shapes::BooleanShape.new(name: 'DeleteMarker')
118
157
  DeleteMarkerEntry = Shapes::StructureShape.new(name: 'DeleteMarkerEntry')
158
+ DeleteMarkerReplication = Shapes::StructureShape.new(name: 'DeleteMarkerReplication')
159
+ DeleteMarkerReplicationStatus = Shapes::StringShape.new(name: 'DeleteMarkerReplicationStatus')
119
160
  DeleteMarkerVersionId = Shapes::StringShape.new(name: 'DeleteMarkerVersionId')
120
161
  DeleteMarkers = Shapes::ListShape.new(name: 'DeleteMarkers', flattened: true)
121
162
  DeleteObjectOutput = Shapes::StructureShape.new(name: 'DeleteObjectOutput')
@@ -124,11 +165,14 @@ module Aws::S3
124
165
  DeleteObjectTaggingRequest = Shapes::StructureShape.new(name: 'DeleteObjectTaggingRequest')
125
166
  DeleteObjectsOutput = Shapes::StructureShape.new(name: 'DeleteObjectsOutput')
126
167
  DeleteObjectsRequest = Shapes::StructureShape.new(name: 'DeleteObjectsRequest')
168
+ DeletePublicAccessBlockRequest = Shapes::StructureShape.new(name: 'DeletePublicAccessBlockRequest')
127
169
  DeletedObject = Shapes::StructureShape.new(name: 'DeletedObject')
128
170
  DeletedObjects = Shapes::ListShape.new(name: 'DeletedObjects', flattened: true)
129
171
  Delimiter = Shapes::StringShape.new(name: 'Delimiter')
130
172
  Description = Shapes::StringShape.new(name: 'Description')
131
173
  Destination = Shapes::StructureShape.new(name: 'Destination')
174
+ DestinationResult = Shapes::StructureShape.new(name: 'DestinationResult')
175
+ DirectoryBucketToken = Shapes::StringShape.new(name: 'DirectoryBucketToken')
132
176
  DisplayName = Shapes::StringShape.new(name: 'DisplayName')
133
177
  ETag = Shapes::StringShape.new(name: 'ETag')
134
178
  EmailAddress = Shapes::StringShape.new(name: 'EmailAddress')
@@ -136,12 +180,24 @@ module Aws::S3
136
180
  EncodingType = Shapes::StringShape.new(name: 'EncodingType')
137
181
  Encryption = Shapes::StructureShape.new(name: 'Encryption')
138
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')
186
+ End = Shapes::IntegerShape.new(name: 'End')
187
+ EndEvent = Shapes::StructureShape.new(name: 'EndEvent')
139
188
  Error = Shapes::StructureShape.new(name: 'Error')
189
+ ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
190
+ ErrorDetails = Shapes::StructureShape.new(name: 'ErrorDetails')
140
191
  ErrorDocument = Shapes::StructureShape.new(name: 'ErrorDocument')
192
+ ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
141
193
  Errors = Shapes::ListShape.new(name: 'Errors', flattened: true)
142
194
  Event = Shapes::StringShape.new(name: 'Event')
195
+ EventBridgeConfiguration = Shapes::StructureShape.new(name: 'EventBridgeConfiguration')
143
196
  EventList = Shapes::ListShape.new(name: 'EventList', flattened: true)
197
+ ExistingObjectReplication = Shapes::StructureShape.new(name: 'ExistingObjectReplication')
198
+ ExistingObjectReplicationStatus = Shapes::StringShape.new(name: 'ExistingObjectReplicationStatus')
144
199
  Expiration = Shapes::StringShape.new(name: 'Expiration')
200
+ ExpirationState = Shapes::StringShape.new(name: 'ExpirationState')
145
201
  ExpirationStatus = Shapes::StringShape.new(name: 'ExpirationStatus')
146
202
  ExpiredObjectDeleteMarker = Shapes::BooleanShape.new(name: 'ExpiredObjectDeleteMarker')
147
203
  Expires = Shapes::TimestampShape.new(name: 'Expires')
@@ -157,6 +213,8 @@ module Aws::S3
157
213
  FilterRuleList = Shapes::ListShape.new(name: 'FilterRuleList', flattened: true)
158
214
  FilterRuleName = Shapes::StringShape.new(name: 'FilterRuleName')
159
215
  FilterRuleValue = Shapes::StringShape.new(name: 'FilterRuleValue')
216
+ GetBucketAbacOutput = Shapes::StructureShape.new(name: 'GetBucketAbacOutput')
217
+ GetBucketAbacRequest = Shapes::StructureShape.new(name: 'GetBucketAbacRequest')
160
218
  GetBucketAccelerateConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketAccelerateConfigurationOutput')
161
219
  GetBucketAccelerateConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketAccelerateConfigurationRequest')
162
220
  GetBucketAclOutput = Shapes::StructureShape.new(name: 'GetBucketAclOutput')
@@ -167,6 +225,8 @@ module Aws::S3
167
225
  GetBucketCorsRequest = Shapes::StructureShape.new(name: 'GetBucketCorsRequest')
168
226
  GetBucketEncryptionOutput = Shapes::StructureShape.new(name: 'GetBucketEncryptionOutput')
169
227
  GetBucketEncryptionRequest = Shapes::StructureShape.new(name: 'GetBucketEncryptionRequest')
228
+ GetBucketIntelligentTieringConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketIntelligentTieringConfigurationOutput')
229
+ GetBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketIntelligentTieringConfigurationRequest')
170
230
  GetBucketInventoryConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketInventoryConfigurationOutput')
171
231
  GetBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketInventoryConfigurationRequest')
172
232
  GetBucketLifecycleConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketLifecycleConfigurationOutput')
@@ -177,11 +237,21 @@ module Aws::S3
177
237
  GetBucketLocationRequest = Shapes::StructureShape.new(name: 'GetBucketLocationRequest')
178
238
  GetBucketLoggingOutput = Shapes::StructureShape.new(name: 'GetBucketLoggingOutput')
179
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')
180
246
  GetBucketMetricsConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationOutput')
181
247
  GetBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationRequest')
182
248
  GetBucketNotificationConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketNotificationConfigurationRequest')
249
+ GetBucketOwnershipControlsOutput = Shapes::StructureShape.new(name: 'GetBucketOwnershipControlsOutput')
250
+ GetBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'GetBucketOwnershipControlsRequest')
183
251
  GetBucketPolicyOutput = Shapes::StructureShape.new(name: 'GetBucketPolicyOutput')
184
252
  GetBucketPolicyRequest = Shapes::StructureShape.new(name: 'GetBucketPolicyRequest')
253
+ GetBucketPolicyStatusOutput = Shapes::StructureShape.new(name: 'GetBucketPolicyStatusOutput')
254
+ GetBucketPolicyStatusRequest = Shapes::StructureShape.new(name: 'GetBucketPolicyStatusRequest')
185
255
  GetBucketReplicationOutput = Shapes::StructureShape.new(name: 'GetBucketReplicationOutput')
186
256
  GetBucketReplicationRequest = Shapes::StructureShape.new(name: 'GetBucketReplicationRequest')
187
257
  GetBucketRequestPaymentOutput = Shapes::StructureShape.new(name: 'GetBucketRequestPaymentOutput')
@@ -194,12 +264,24 @@ module Aws::S3
194
264
  GetBucketWebsiteRequest = Shapes::StructureShape.new(name: 'GetBucketWebsiteRequest')
195
265
  GetObjectAclOutput = Shapes::StructureShape.new(name: 'GetObjectAclOutput')
196
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')
270
+ GetObjectLegalHoldOutput = Shapes::StructureShape.new(name: 'GetObjectLegalHoldOutput')
271
+ GetObjectLegalHoldRequest = Shapes::StructureShape.new(name: 'GetObjectLegalHoldRequest')
272
+ GetObjectLockConfigurationOutput = Shapes::StructureShape.new(name: 'GetObjectLockConfigurationOutput')
273
+ GetObjectLockConfigurationRequest = Shapes::StructureShape.new(name: 'GetObjectLockConfigurationRequest')
197
274
  GetObjectOutput = Shapes::StructureShape.new(name: 'GetObjectOutput')
198
275
  GetObjectRequest = Shapes::StructureShape.new(name: 'GetObjectRequest')
276
+ GetObjectResponseStatusCode = Shapes::IntegerShape.new(name: 'GetObjectResponseStatusCode')
277
+ GetObjectRetentionOutput = Shapes::StructureShape.new(name: 'GetObjectRetentionOutput')
278
+ GetObjectRetentionRequest = Shapes::StructureShape.new(name: 'GetObjectRetentionRequest')
199
279
  GetObjectTaggingOutput = Shapes::StructureShape.new(name: 'GetObjectTaggingOutput')
200
280
  GetObjectTaggingRequest = Shapes::StructureShape.new(name: 'GetObjectTaggingRequest')
201
281
  GetObjectTorrentOutput = Shapes::StructureShape.new(name: 'GetObjectTorrentOutput')
202
282
  GetObjectTorrentRequest = Shapes::StructureShape.new(name: 'GetObjectTorrentRequest')
283
+ GetPublicAccessBlockOutput = Shapes::StructureShape.new(name: 'GetPublicAccessBlockOutput')
284
+ GetPublicAccessBlockRequest = Shapes::StructureShape.new(name: 'GetPublicAccessBlockRequest')
203
285
  GlacierJobParameters = Shapes::StructureShape.new(name: 'GlacierJobParameters')
204
286
  Grant = Shapes::StructureShape.new(name: 'Grant')
205
287
  GrantFullControl = Shapes::StringShape.new(name: 'GrantFullControl')
@@ -207,8 +289,9 @@ module Aws::S3
207
289
  GrantReadACP = Shapes::StringShape.new(name: 'GrantReadACP')
208
290
  GrantWrite = Shapes::StringShape.new(name: 'GrantWrite')
209
291
  GrantWriteACP = Shapes::StringShape.new(name: 'GrantWriteACP')
210
- 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"})
211
293
  Grants = Shapes::ListShape.new(name: 'Grants')
294
+ HeadBucketOutput = Shapes::StructureShape.new(name: 'HeadBucketOutput')
212
295
  HeadBucketRequest = Shapes::StructureShape.new(name: 'HeadBucketRequest')
213
296
  HeadObjectOutput = Shapes::StructureShape.new(name: 'HeadObjectOutput')
214
297
  HeadObjectRequest = Shapes::StructureShape.new(name: 'HeadObjectRequest')
@@ -216,7 +299,11 @@ module Aws::S3
216
299
  HttpErrorCodeReturnedEquals = Shapes::StringShape.new(name: 'HttpErrorCodeReturnedEquals')
217
300
  HttpRedirectCode = Shapes::StringShape.new(name: 'HttpRedirectCode')
218
301
  ID = Shapes::StringShape.new(name: 'ID')
302
+ IdempotencyParameterMismatch = Shapes::StructureShape.new(name: 'IdempotencyParameterMismatch')
219
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')
220
307
  IfModifiedSince = Shapes::TimestampShape.new(name: 'IfModifiedSince')
221
308
  IfNoneMatch = Shapes::StringShape.new(name: 'IfNoneMatch')
222
309
  IfUnmodifiedSince = Shapes::TimestampShape.new(name: 'IfUnmodifiedSince')
@@ -224,8 +311,20 @@ module Aws::S3
224
311
  Initiated = Shapes::TimestampShape.new(name: 'Initiated')
225
312
  Initiator = Shapes::StructureShape.new(name: 'Initiator')
226
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')
227
325
  InventoryConfiguration = Shapes::StructureShape.new(name: 'InventoryConfiguration')
228
326
  InventoryConfigurationList = Shapes::ListShape.new(name: 'InventoryConfigurationList', flattened: true)
327
+ InventoryConfigurationState = Shapes::StringShape.new(name: 'InventoryConfigurationState')
229
328
  InventoryDestination = Shapes::StructureShape.new(name: 'InventoryDestination')
230
329
  InventoryEncryption = Shapes::StructureShape.new(name: 'InventoryEncryption')
231
330
  InventoryFilter = Shapes::StructureShape.new(name: 'InventoryFilter')
@@ -237,20 +336,30 @@ module Aws::S3
237
336
  InventoryOptionalFields = Shapes::ListShape.new(name: 'InventoryOptionalFields')
238
337
  InventoryS3BucketDestination = Shapes::StructureShape.new(name: 'InventoryS3BucketDestination')
239
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')
240
342
  IsEnabled = Shapes::BooleanShape.new(name: 'IsEnabled')
241
343
  IsLatest = Shapes::BooleanShape.new(name: 'IsLatest')
344
+ IsPublic = Shapes::BooleanShape.new(name: 'IsPublic')
345
+ IsRestoreInProgress = Shapes::BooleanShape.new(name: 'IsRestoreInProgress')
242
346
  IsTruncated = Shapes::BooleanShape.new(name: 'IsTruncated')
243
347
  JSONInput = Shapes::StructureShape.new(name: 'JSONInput')
244
348
  JSONOutput = Shapes::StructureShape.new(name: 'JSONOutput')
245
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')
246
353
  KMSContext = Shapes::StringShape.new(name: 'KMSContext')
247
354
  KeyCount = Shapes::IntegerShape.new(name: 'KeyCount')
248
355
  KeyMarker = Shapes::StringShape.new(name: 'KeyMarker')
249
356
  KeyPrefixEquals = Shapes::StringShape.new(name: 'KeyPrefixEquals')
357
+ KmsKeyArn = Shapes::StringShape.new(name: 'KmsKeyArn')
250
358
  LambdaFunctionArn = Shapes::StringShape.new(name: 'LambdaFunctionArn')
251
359
  LambdaFunctionConfiguration = Shapes::StructureShape.new(name: 'LambdaFunctionConfiguration')
252
360
  LambdaFunctionConfigurationList = Shapes::ListShape.new(name: 'LambdaFunctionConfigurationList', flattened: true)
253
361
  LastModified = Shapes::TimestampShape.new(name: 'LastModified')
362
+ LastModifiedTime = Shapes::TimestampShape.new(name: 'LastModifiedTime', timestampFormat: "rfc822")
254
363
  LifecycleConfiguration = Shapes::StructureShape.new(name: 'LifecycleConfiguration')
255
364
  LifecycleExpiration = Shapes::StructureShape.new(name: 'LifecycleExpiration')
256
365
  LifecycleRule = Shapes::StructureShape.new(name: 'LifecycleRule')
@@ -259,11 +368,16 @@ module Aws::S3
259
368
  LifecycleRules = Shapes::ListShape.new(name: 'LifecycleRules', flattened: true)
260
369
  ListBucketAnalyticsConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketAnalyticsConfigurationsOutput')
261
370
  ListBucketAnalyticsConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketAnalyticsConfigurationsRequest')
371
+ ListBucketIntelligentTieringConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketIntelligentTieringConfigurationsOutput')
372
+ ListBucketIntelligentTieringConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketIntelligentTieringConfigurationsRequest')
262
373
  ListBucketInventoryConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketInventoryConfigurationsOutput')
263
374
  ListBucketInventoryConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketInventoryConfigurationsRequest')
264
375
  ListBucketMetricsConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsOutput')
265
376
  ListBucketMetricsConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsRequest')
266
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')
267
381
  ListMultipartUploadsOutput = Shapes::StructureShape.new(name: 'ListMultipartUploadsOutput')
268
382
  ListMultipartUploadsRequest = Shapes::StructureShape.new(name: 'ListMultipartUploadsRequest')
269
383
  ListObjectVersionsOutput = Shapes::StructureShape.new(name: 'ListObjectVersionsOutput')
@@ -275,28 +389,43 @@ module Aws::S3
275
389
  ListPartsOutput = Shapes::StructureShape.new(name: 'ListPartsOutput')
276
390
  ListPartsRequest = Shapes::StructureShape.new(name: 'ListPartsRequest')
277
391
  Location = Shapes::StringShape.new(name: 'Location')
392
+ LocationInfo = Shapes::StructureShape.new(name: 'LocationInfo')
393
+ LocationNameAsString = Shapes::StringShape.new(name: 'LocationNameAsString')
278
394
  LocationPrefix = Shapes::StringShape.new(name: 'LocationPrefix')
395
+ LocationType = Shapes::StringShape.new(name: 'LocationType')
279
396
  LoggingEnabled = Shapes::StructureShape.new(name: 'LoggingEnabled')
280
397
  MFA = Shapes::StringShape.new(name: 'MFA')
281
398
  MFADelete = Shapes::StringShape.new(name: 'MFADelete')
282
399
  MFADeleteStatus = Shapes::StringShape.new(name: 'MFADeleteStatus')
283
400
  Marker = Shapes::StringShape.new(name: 'Marker')
284
401
  MaxAgeSeconds = Shapes::IntegerShape.new(name: 'MaxAgeSeconds')
402
+ MaxBuckets = Shapes::IntegerShape.new(name: 'MaxBuckets')
403
+ MaxDirectoryBuckets = Shapes::IntegerShape.new(name: 'MaxDirectoryBuckets')
285
404
  MaxKeys = Shapes::IntegerShape.new(name: 'MaxKeys')
286
405
  MaxParts = Shapes::IntegerShape.new(name: 'MaxParts')
287
406
  MaxUploads = Shapes::IntegerShape.new(name: 'MaxUploads')
288
407
  Message = Shapes::StringShape.new(name: 'Message')
289
408
  Metadata = Shapes::MapShape.new(name: 'Metadata')
409
+ MetadataConfiguration = Shapes::StructureShape.new(name: 'MetadataConfiguration')
410
+ MetadataConfigurationResult = Shapes::StructureShape.new(name: 'MetadataConfigurationResult')
290
411
  MetadataDirective = Shapes::StringShape.new(name: 'MetadataDirective')
291
412
  MetadataEntry = Shapes::StructureShape.new(name: 'MetadataEntry')
292
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')
293
418
  MetadataValue = Shapes::StringShape.new(name: 'MetadataValue')
419
+ Metrics = Shapes::StructureShape.new(name: 'Metrics')
294
420
  MetricsAndOperator = Shapes::StructureShape.new(name: 'MetricsAndOperator')
295
421
  MetricsConfiguration = Shapes::StructureShape.new(name: 'MetricsConfiguration')
296
422
  MetricsConfigurationList = Shapes::ListShape.new(name: 'MetricsConfigurationList', flattened: true)
297
423
  MetricsFilter = Shapes::StructureShape.new(name: 'MetricsFilter')
298
424
  MetricsId = Shapes::StringShape.new(name: 'MetricsId')
425
+ MetricsStatus = Shapes::StringShape.new(name: 'MetricsStatus')
426
+ Minutes = Shapes::IntegerShape.new(name: 'Minutes')
299
427
  MissingMeta = Shapes::IntegerShape.new(name: 'MissingMeta')
428
+ MpuObjectSize = Shapes::IntegerShape.new(name: 'MpuObjectSize')
300
429
  MultipartUpload = Shapes::StructureShape.new(name: 'MultipartUpload')
301
430
  MultipartUploadId = Shapes::StringShape.new(name: 'MultipartUploadId')
302
431
  MultipartUploadList = Shapes::ListShape.new(name: 'MultipartUploadList', flattened: true)
@@ -318,44 +447,79 @@ module Aws::S3
318
447
  NotificationId = Shapes::StringShape.new(name: 'NotificationId')
319
448
  Object = Shapes::StructureShape.new(name: 'Object')
320
449
  ObjectAlreadyInActiveTierError = Shapes::StructureShape.new(name: 'ObjectAlreadyInActiveTierError')
450
+ ObjectAttributes = Shapes::StringShape.new(name: 'ObjectAttributes')
451
+ ObjectAttributesList = Shapes::ListShape.new(name: 'ObjectAttributesList')
321
452
  ObjectCannedACL = Shapes::StringShape.new(name: 'ObjectCannedACL')
322
453
  ObjectIdentifier = Shapes::StructureShape.new(name: 'ObjectIdentifier')
323
454
  ObjectIdentifierList = Shapes::ListShape.new(name: 'ObjectIdentifierList', flattened: true)
324
455
  ObjectKey = Shapes::StringShape.new(name: 'ObjectKey')
325
456
  ObjectList = Shapes::ListShape.new(name: 'ObjectList', flattened: true)
457
+ ObjectLockConfiguration = Shapes::StructureShape.new(name: 'ObjectLockConfiguration')
458
+ ObjectLockEnabled = Shapes::StringShape.new(name: 'ObjectLockEnabled')
459
+ ObjectLockEnabledForBucket = Shapes::BooleanShape.new(name: 'ObjectLockEnabledForBucket')
460
+ ObjectLockLegalHold = Shapes::StructureShape.new(name: 'ObjectLockLegalHold')
461
+ ObjectLockLegalHoldStatus = Shapes::StringShape.new(name: 'ObjectLockLegalHoldStatus')
462
+ ObjectLockMode = Shapes::StringShape.new(name: 'ObjectLockMode')
463
+ ObjectLockRetainUntilDate = Shapes::TimestampShape.new(name: 'ObjectLockRetainUntilDate', timestampFormat: "iso8601")
464
+ ObjectLockRetention = Shapes::StructureShape.new(name: 'ObjectLockRetention')
465
+ ObjectLockRetentionMode = Shapes::StringShape.new(name: 'ObjectLockRetentionMode')
466
+ ObjectLockRule = Shapes::StructureShape.new(name: 'ObjectLockRule')
467
+ ObjectLockToken = Shapes::StringShape.new(name: 'ObjectLockToken')
326
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')
327
474
  ObjectStorageClass = Shapes::StringShape.new(name: 'ObjectStorageClass')
328
475
  ObjectVersion = Shapes::StructureShape.new(name: 'ObjectVersion')
329
476
  ObjectVersionId = Shapes::StringShape.new(name: 'ObjectVersionId')
330
477
  ObjectVersionList = Shapes::ListShape.new(name: 'ObjectVersionList', flattened: true)
331
478
  ObjectVersionStorageClass = Shapes::StringShape.new(name: 'ObjectVersionStorageClass')
479
+ OptionalObjectAttributes = Shapes::StringShape.new(name: 'OptionalObjectAttributes')
480
+ OptionalObjectAttributesList = Shapes::ListShape.new(name: 'OptionalObjectAttributesList')
332
481
  OutputLocation = Shapes::StructureShape.new(name: 'OutputLocation')
333
482
  OutputSerialization = Shapes::StructureShape.new(name: 'OutputSerialization')
334
483
  Owner = Shapes::StructureShape.new(name: 'Owner')
335
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)
488
+ ParquetInput = Shapes::StructureShape.new(name: 'ParquetInput')
336
489
  Part = Shapes::StructureShape.new(name: 'Part')
337
490
  PartNumber = Shapes::IntegerShape.new(name: 'PartNumber')
338
491
  PartNumberMarker = Shapes::IntegerShape.new(name: 'PartNumberMarker')
492
+ PartitionDateSource = Shapes::StringShape.new(name: 'PartitionDateSource')
493
+ PartitionedPrefix = Shapes::StructureShape.new(name: 'PartitionedPrefix', locationName: "PartitionedPrefix")
339
494
  Parts = Shapes::ListShape.new(name: 'Parts', flattened: true)
340
495
  PartsCount = Shapes::IntegerShape.new(name: 'PartsCount')
496
+ PartsList = Shapes::ListShape.new(name: 'PartsList', flattened: true)
341
497
  Payer = Shapes::StringShape.new(name: 'Payer')
342
498
  Permission = Shapes::StringShape.new(name: 'Permission')
343
499
  Policy = Shapes::StringShape.new(name: 'Policy')
500
+ PolicyStatus = Shapes::StructureShape.new(name: 'PolicyStatus')
344
501
  Prefix = Shapes::StringShape.new(name: 'Prefix')
502
+ Priority = Shapes::IntegerShape.new(name: 'Priority')
345
503
  Progress = Shapes::StructureShape.new(name: 'Progress')
504
+ ProgressEvent = Shapes::StructureShape.new(name: 'ProgressEvent')
346
505
  Protocol = Shapes::StringShape.new(name: 'Protocol')
506
+ PublicAccessBlockConfiguration = Shapes::StructureShape.new(name: 'PublicAccessBlockConfiguration')
507
+ PutBucketAbacRequest = Shapes::StructureShape.new(name: 'PutBucketAbacRequest')
347
508
  PutBucketAccelerateConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAccelerateConfigurationRequest')
348
509
  PutBucketAclRequest = Shapes::StructureShape.new(name: 'PutBucketAclRequest')
349
510
  PutBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAnalyticsConfigurationRequest')
350
511
  PutBucketCorsRequest = Shapes::StructureShape.new(name: 'PutBucketCorsRequest')
351
512
  PutBucketEncryptionRequest = Shapes::StructureShape.new(name: 'PutBucketEncryptionRequest')
513
+ PutBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketIntelligentTieringConfigurationRequest')
352
514
  PutBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketInventoryConfigurationRequest')
515
+ PutBucketLifecycleConfigurationOutput = Shapes::StructureShape.new(name: 'PutBucketLifecycleConfigurationOutput')
353
516
  PutBucketLifecycleConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleConfigurationRequest')
354
517
  PutBucketLifecycleRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleRequest')
355
518
  PutBucketLoggingRequest = Shapes::StructureShape.new(name: 'PutBucketLoggingRequest')
356
519
  PutBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketMetricsConfigurationRequest')
357
520
  PutBucketNotificationConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketNotificationConfigurationRequest')
358
521
  PutBucketNotificationRequest = Shapes::StructureShape.new(name: 'PutBucketNotificationRequest')
522
+ PutBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'PutBucketOwnershipControlsRequest')
359
523
  PutBucketPolicyRequest = Shapes::StructureShape.new(name: 'PutBucketPolicyRequest')
360
524
  PutBucketReplicationRequest = Shapes::StructureShape.new(name: 'PutBucketReplicationRequest')
361
525
  PutBucketRequestPaymentRequest = Shapes::StructureShape.new(name: 'PutBucketRequestPaymentRequest')
@@ -364,10 +528,17 @@ module Aws::S3
364
528
  PutBucketWebsiteRequest = Shapes::StructureShape.new(name: 'PutBucketWebsiteRequest')
365
529
  PutObjectAclOutput = Shapes::StructureShape.new(name: 'PutObjectAclOutput')
366
530
  PutObjectAclRequest = Shapes::StructureShape.new(name: 'PutObjectAclRequest')
531
+ PutObjectLegalHoldOutput = Shapes::StructureShape.new(name: 'PutObjectLegalHoldOutput')
532
+ PutObjectLegalHoldRequest = Shapes::StructureShape.new(name: 'PutObjectLegalHoldRequest')
533
+ PutObjectLockConfigurationOutput = Shapes::StructureShape.new(name: 'PutObjectLockConfigurationOutput')
534
+ PutObjectLockConfigurationRequest = Shapes::StructureShape.new(name: 'PutObjectLockConfigurationRequest')
367
535
  PutObjectOutput = Shapes::StructureShape.new(name: 'PutObjectOutput')
368
536
  PutObjectRequest = Shapes::StructureShape.new(name: 'PutObjectRequest')
537
+ PutObjectRetentionOutput = Shapes::StructureShape.new(name: 'PutObjectRetentionOutput')
538
+ PutObjectRetentionRequest = Shapes::StructureShape.new(name: 'PutObjectRetentionRequest')
369
539
  PutObjectTaggingOutput = Shapes::StructureShape.new(name: 'PutObjectTaggingOutput')
370
540
  PutObjectTaggingRequest = Shapes::StructureShape.new(name: 'PutObjectTaggingRequest')
541
+ PutPublicAccessBlockRequest = Shapes::StructureShape.new(name: 'PutPublicAccessBlockRequest')
371
542
  QueueArn = Shapes::StringShape.new(name: 'QueueArn')
372
543
  QueueConfiguration = Shapes::StructureShape.new(name: 'QueueConfiguration')
373
544
  QueueConfigurationDeprecated = Shapes::StructureShape.new(name: 'QueueConfigurationDeprecated')
@@ -378,32 +549,54 @@ module Aws::S3
378
549
  QuoteFields = Shapes::StringShape.new(name: 'QuoteFields')
379
550
  Range = Shapes::StringShape.new(name: 'Range')
380
551
  RecordDelimiter = Shapes::StringShape.new(name: 'RecordDelimiter')
552
+ RecordExpiration = Shapes::StructureShape.new(name: 'RecordExpiration')
553
+ RecordExpirationDays = Shapes::IntegerShape.new(name: 'RecordExpirationDays')
554
+ RecordsEvent = Shapes::StructureShape.new(name: 'RecordsEvent')
381
555
  Redirect = Shapes::StructureShape.new(name: 'Redirect')
382
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")
383
565
  ReplaceKeyPrefixWith = Shapes::StringShape.new(name: 'ReplaceKeyPrefixWith')
384
566
  ReplaceKeyWith = Shapes::StringShape.new(name: 'ReplaceKeyWith')
385
567
  ReplicaKmsKeyID = Shapes::StringShape.new(name: 'ReplicaKmsKeyID')
568
+ ReplicaModifications = Shapes::StructureShape.new(name: 'ReplicaModifications')
569
+ ReplicaModificationsStatus = Shapes::StringShape.new(name: 'ReplicaModificationsStatus')
386
570
  ReplicationConfiguration = Shapes::StructureShape.new(name: 'ReplicationConfiguration')
387
571
  ReplicationRule = Shapes::StructureShape.new(name: 'ReplicationRule')
572
+ ReplicationRuleAndOperator = Shapes::StructureShape.new(name: 'ReplicationRuleAndOperator')
573
+ ReplicationRuleFilter = Shapes::StructureShape.new(name: 'ReplicationRuleFilter')
388
574
  ReplicationRuleStatus = Shapes::StringShape.new(name: 'ReplicationRuleStatus')
389
575
  ReplicationRules = Shapes::ListShape.new(name: 'ReplicationRules', flattened: true)
390
576
  ReplicationStatus = Shapes::StringShape.new(name: 'ReplicationStatus')
577
+ ReplicationTime = Shapes::StructureShape.new(name: 'ReplicationTime')
578
+ ReplicationTimeStatus = Shapes::StringShape.new(name: 'ReplicationTimeStatus')
579
+ ReplicationTimeValue = Shapes::StructureShape.new(name: 'ReplicationTimeValue')
391
580
  RequestCharged = Shapes::StringShape.new(name: 'RequestCharged')
392
581
  RequestPayer = Shapes::StringShape.new(name: 'RequestPayer')
393
582
  RequestPaymentConfiguration = Shapes::StructureShape.new(name: 'RequestPaymentConfiguration')
394
583
  RequestProgress = Shapes::StructureShape.new(name: 'RequestProgress')
584
+ RequestRoute = Shapes::StringShape.new(name: 'RequestRoute')
585
+ RequestToken = Shapes::StringShape.new(name: 'RequestToken')
395
586
  ResponseCacheControl = Shapes::StringShape.new(name: 'ResponseCacheControl')
396
587
  ResponseContentDisposition = Shapes::StringShape.new(name: 'ResponseContentDisposition')
397
588
  ResponseContentEncoding = Shapes::StringShape.new(name: 'ResponseContentEncoding')
398
589
  ResponseContentLanguage = Shapes::StringShape.new(name: 'ResponseContentLanguage')
399
590
  ResponseContentType = Shapes::StringShape.new(name: 'ResponseContentType')
400
- ResponseExpires = Shapes::TimestampShape.new(name: 'ResponseExpires')
591
+ ResponseExpires = Shapes::TimestampShape.new(name: 'ResponseExpires', timestampFormat: "rfc822")
401
592
  Restore = Shapes::StringShape.new(name: 'Restore')
593
+ RestoreExpiryDate = Shapes::TimestampShape.new(name: 'RestoreExpiryDate')
402
594
  RestoreObjectOutput = Shapes::StructureShape.new(name: 'RestoreObjectOutput')
403
595
  RestoreObjectRequest = Shapes::StructureShape.new(name: 'RestoreObjectRequest')
404
596
  RestoreOutputPath = Shapes::StringShape.new(name: 'RestoreOutputPath')
405
597
  RestoreRequest = Shapes::StructureShape.new(name: 'RestoreRequest')
406
598
  RestoreRequestType = Shapes::StringShape.new(name: 'RestoreRequestType')
599
+ RestoreStatus = Shapes::StructureShape.new(name: 'RestoreStatus')
407
600
  Role = Shapes::StringShape.new(name: 'Role')
408
601
  RoutingRule = Shapes::StructureShape.new(name: 'RoutingRule')
409
602
  RoutingRules = Shapes::ListShape.new(name: 'RoutingRules')
@@ -411,29 +604,52 @@ module Aws::S3
411
604
  Rules = Shapes::ListShape.new(name: 'Rules', flattened: true)
412
605
  S3KeyFilter = Shapes::StructureShape.new(name: 'S3KeyFilter')
413
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')
414
615
  SSECustomerAlgorithm = Shapes::StringShape.new(name: 'SSECustomerAlgorithm')
415
616
  SSECustomerKey = Shapes::StringShape.new(name: 'SSECustomerKey')
416
617
  SSECustomerKeyMD5 = Shapes::StringShape.new(name: 'SSECustomerKeyMD5')
417
- SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS')
618
+ SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS', locationName: "SSE-KMS")
619
+ SSEKMSEncryptionContext = Shapes::StringShape.new(name: 'SSEKMSEncryptionContext')
418
620
  SSEKMSKeyId = Shapes::StringShape.new(name: 'SSEKMSKeyId')
419
- SSES3 = Shapes::StructureShape.new(name: 'SSES3')
621
+ SSES3 = Shapes::StructureShape.new(name: 'SSES3', locationName: "SSE-S3")
622
+ ScanRange = Shapes::StructureShape.new(name: 'ScanRange')
623
+ SelectObjectContentEventStream = Shapes::StructureShape.new(name: 'SelectObjectContentEventStream')
624
+ SelectObjectContentOutput = Shapes::StructureShape.new(name: 'SelectObjectContentOutput')
625
+ SelectObjectContentRequest = Shapes::StructureShape.new(name: 'SelectObjectContentRequest')
420
626
  SelectParameters = Shapes::StructureShape.new(name: 'SelectParameters')
421
627
  ServerSideEncryption = Shapes::StringShape.new(name: 'ServerSideEncryption')
422
628
  ServerSideEncryptionByDefault = Shapes::StructureShape.new(name: 'ServerSideEncryptionByDefault')
423
629
  ServerSideEncryptionConfiguration = Shapes::StructureShape.new(name: 'ServerSideEncryptionConfiguration')
424
630
  ServerSideEncryptionRule = Shapes::StructureShape.new(name: 'ServerSideEncryptionRule')
425
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')
636
+ Setting = Shapes::BooleanShape.new(name: 'Setting')
637
+ SimplePrefix = Shapes::StructureShape.new(name: 'SimplePrefix', locationName: "SimplePrefix")
426
638
  Size = Shapes::IntegerShape.new(name: 'Size')
639
+ SkipValidation = Shapes::BooleanShape.new(name: 'SkipValidation')
427
640
  SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
428
641
  SseKmsEncryptedObjects = Shapes::StructureShape.new(name: 'SseKmsEncryptedObjects')
429
642
  SseKmsEncryptedObjectsStatus = Shapes::StringShape.new(name: 'SseKmsEncryptedObjectsStatus')
643
+ Start = Shapes::IntegerShape.new(name: 'Start')
430
644
  StartAfter = Shapes::StringShape.new(name: 'StartAfter')
431
645
  Stats = Shapes::StructureShape.new(name: 'Stats')
646
+ StatsEvent = Shapes::StructureShape.new(name: 'StatsEvent')
432
647
  StorageClass = Shapes::StringShape.new(name: 'StorageClass')
433
648
  StorageClassAnalysis = Shapes::StructureShape.new(name: 'StorageClassAnalysis')
434
649
  StorageClassAnalysisDataExport = Shapes::StructureShape.new(name: 'StorageClassAnalysisDataExport')
435
650
  StorageClassAnalysisSchemaVersion = Shapes::StringShape.new(name: 'StorageClassAnalysisSchemaVersion')
436
651
  Suffix = Shapes::StringShape.new(name: 'Suffix')
652
+ TableSseAlgorithm = Shapes::StringShape.new(name: 'TableSseAlgorithm')
437
653
  Tag = Shapes::StructureShape.new(name: 'Tag')
438
654
  TagCount = Shapes::IntegerShape.new(name: 'TagCount')
439
655
  TagSet = Shapes::ListShape.new(name: 'TagSet')
@@ -443,18 +659,25 @@ module Aws::S3
443
659
  TargetBucket = Shapes::StringShape.new(name: 'TargetBucket')
444
660
  TargetGrant = Shapes::StructureShape.new(name: 'TargetGrant')
445
661
  TargetGrants = Shapes::ListShape.new(name: 'TargetGrants')
662
+ TargetObjectKeyFormat = Shapes::StructureShape.new(name: 'TargetObjectKeyFormat')
446
663
  TargetPrefix = Shapes::StringShape.new(name: 'TargetPrefix')
447
664
  Tier = Shapes::StringShape.new(name: 'Tier')
665
+ Tiering = Shapes::StructureShape.new(name: 'Tiering')
666
+ TieringList = Shapes::ListShape.new(name: 'TieringList', flattened: true)
448
667
  Token = Shapes::StringShape.new(name: 'Token')
668
+ TooManyParts = Shapes::StructureShape.new(name: 'TooManyParts')
449
669
  TopicArn = Shapes::StringShape.new(name: 'TopicArn')
450
670
  TopicConfiguration = Shapes::StructureShape.new(name: 'TopicConfiguration')
451
671
  TopicConfigurationDeprecated = Shapes::StructureShape.new(name: 'TopicConfigurationDeprecated')
452
672
  TopicConfigurationList = Shapes::ListShape.new(name: 'TopicConfigurationList', flattened: true)
453
673
  Transition = Shapes::StructureShape.new(name: 'Transition')
674
+ TransitionDefaultMinimumObjectSize = Shapes::StringShape.new(name: 'TransitionDefaultMinimumObjectSize')
454
675
  TransitionList = Shapes::ListShape.new(name: 'TransitionList', flattened: true)
455
676
  TransitionStorageClass = Shapes::StringShape.new(name: 'TransitionStorageClass')
456
677
  Type = Shapes::StringShape.new(name: 'Type')
457
678
  URI = Shapes::StringShape.new(name: 'URI')
679
+ UpdateBucketMetadataInventoryTableConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateBucketMetadataInventoryTableConfigurationRequest')
680
+ UpdateBucketMetadataJournalTableConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateBucketMetadataJournalTableConfigurationRequest')
458
681
  UploadIdMarker = Shapes::StringShape.new(name: 'UploadIdMarker')
459
682
  UploadPartCopyOutput = Shapes::StructureShape.new(name: 'UploadPartCopyOutput')
460
683
  UploadPartCopyRequest = Shapes::StructureShape.new(name: 'UploadPartCopyRequest')
@@ -462,10 +685,17 @@ module Aws::S3
462
685
  UploadPartRequest = Shapes::StructureShape.new(name: 'UploadPartRequest')
463
686
  UserMetadata = Shapes::ListShape.new(name: 'UserMetadata')
464
687
  Value = Shapes::StringShape.new(name: 'Value')
688
+ VersionCount = Shapes::IntegerShape.new(name: 'VersionCount')
465
689
  VersionIdMarker = Shapes::StringShape.new(name: 'VersionIdMarker')
466
690
  VersioningConfiguration = Shapes::StructureShape.new(name: 'VersioningConfiguration')
467
691
  WebsiteConfiguration = Shapes::StructureShape.new(name: 'WebsiteConfiguration')
468
692
  WebsiteRedirectLocation = Shapes::StringShape.new(name: 'WebsiteRedirectLocation')
693
+ WriteGetObjectResponseRequest = Shapes::StructureShape.new(name: 'WriteGetObjectResponseRequest')
694
+ WriteOffsetBytes = Shapes::IntegerShape.new(name: 'WriteOffsetBytes')
695
+ Years = Shapes::IntegerShape.new(name: 'Years')
696
+
697
+ AbacStatus.add_member(:status, Shapes::ShapeRef.new(shape: BucketAbacStatus, location_name: "Status"))
698
+ AbacStatus.struct_class = Types::AbacStatus
469
699
 
470
700
  AbortIncompleteMultipartUpload.add_member(:days_after_initiation, Shapes::ShapeRef.new(shape: DaysAfterInitiation, location_name: "DaysAfterInitiation"))
471
701
  AbortIncompleteMultipartUpload.struct_class = Types::AbortIncompleteMultipartUpload
@@ -473,10 +703,12 @@ module Aws::S3
473
703
  AbortMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
474
704
  AbortMultipartUploadOutput.struct_class = Types::AbortMultipartUploadOutput
475
705
 
476
- AbortMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
477
- 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"}}))
478
708
  AbortMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
479
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"))
480
712
  AbortMultipartUploadRequest.struct_class = Types::AbortMultipartUploadRequest
481
713
 
482
714
  AccelerateConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: BucketAccelerateStatus, location_name: "Status"))
@@ -496,7 +728,7 @@ module Aws::S3
496
728
  AllowedOrigins.member = Shapes::ShapeRef.new(shape: AllowedOrigin)
497
729
 
498
730
  AnalyticsAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
499
- 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}))
500
732
  AnalyticsAndOperator.struct_class = Types::AnalyticsAndOperator
501
733
 
502
734
  AnalyticsConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location_name: "Id"))
@@ -520,10 +752,23 @@ module Aws::S3
520
752
  AnalyticsS3BucketDestination.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
521
753
  AnalyticsS3BucketDestination.struct_class = Types::AnalyticsS3BucketDestination
522
754
 
755
+ BlockedEncryptionTypes.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionTypeList, location_name: "EncryptionType"))
756
+ BlockedEncryptionTypes.struct_class = Types::BlockedEncryptionTypes
757
+
523
758
  Bucket.add_member(:name, Shapes::ShapeRef.new(shape: BucketName, location_name: "Name"))
524
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"))
525
762
  Bucket.struct_class = Types::Bucket
526
763
 
764
+ BucketAlreadyExists.struct_class = Types::BucketAlreadyExists
765
+
766
+ BucketAlreadyOwnedByYou.struct_class = Types::BucketAlreadyOwnedByYou
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
+
527
772
  BucketLifecycleConfiguration.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, required: true, location_name: "Rule"))
528
773
  BucketLifecycleConfiguration.struct_class = Types::BucketLifecycleConfiguration
529
774
 
@@ -535,6 +780,7 @@ module Aws::S3
535
780
  CORSConfiguration.add_member(:cors_rules, Shapes::ShapeRef.new(shape: CORSRules, required: true, location_name: "CORSRule"))
536
781
  CORSConfiguration.struct_class = Types::CORSConfiguration
537
782
 
783
+ CORSRule.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
538
784
  CORSRule.add_member(:allowed_headers, Shapes::ShapeRef.new(shape: AllowedHeaders, location_name: "AllowedHeader"))
539
785
  CORSRule.add_member(:allowed_methods, Shapes::ShapeRef.new(shape: AllowedMethods, required: true, location_name: "AllowedMethod"))
540
786
  CORSRule.add_member(:allowed_origins, Shapes::ShapeRef.new(shape: AllowedOrigins, required: true, location_name: "AllowedOrigin"))
@@ -550,6 +796,7 @@ module Aws::S3
550
796
  CSVInput.add_member(:record_delimiter, Shapes::ShapeRef.new(shape: RecordDelimiter, location_name: "RecordDelimiter"))
551
797
  CSVInput.add_member(:field_delimiter, Shapes::ShapeRef.new(shape: FieldDelimiter, location_name: "FieldDelimiter"))
552
798
  CSVInput.add_member(:quote_character, Shapes::ShapeRef.new(shape: QuoteCharacter, location_name: "QuoteCharacter"))
799
+ CSVInput.add_member(:allow_quoted_record_delimiter, Shapes::ShapeRef.new(shape: AllowQuotedRecordDelimiter, location_name: "AllowQuotedRecordDelimiter"))
553
800
  CSVInput.struct_class = Types::CSVInput
554
801
 
555
802
  CSVOutput.add_member(:quote_fields, Shapes::ShapeRef.new(shape: QuoteFields, location_name: "QuoteFields"))
@@ -559,6 +806,16 @@ module Aws::S3
559
806
  CSVOutput.add_member(:quote_character, Shapes::ShapeRef.new(shape: QuoteCharacter, location_name: "QuoteCharacter"))
560
807
  CSVOutput.struct_class = Types::CSVOutput
561
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
+
562
819
  CloudFunctionConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
563
820
  CloudFunctionConfiguration.add_member(:event, Shapes::ShapeRef.new(shape: Event, deprecated: true, location_name: "Event"))
564
821
  CloudFunctionConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, location_name: "Event"))
@@ -576,17 +833,37 @@ module Aws::S3
576
833
  CompleteMultipartUploadOutput.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
577
834
  CompleteMultipartUploadOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
578
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"))
579
842
  CompleteMultipartUploadOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
580
843
  CompleteMultipartUploadOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
581
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"))
582
846
  CompleteMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
583
847
  CompleteMultipartUploadOutput.struct_class = Types::CompleteMultipartUploadOutput
584
848
 
585
- CompleteMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
586
- CompleteMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
587
- 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/"}}))
588
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"))
589
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"))
590
867
  CompleteMultipartUploadRequest.struct_class = Types::CompleteMultipartUploadRequest
591
868
  CompleteMultipartUploadRequest[:payload] = :multipart_upload
592
869
  CompleteMultipartUploadRequest[:payload_member] = CompleteMultipartUploadRequest.member(:multipart_upload)
@@ -595,6 +872,11 @@ module Aws::S3
595
872
  CompletedMultipartUpload.struct_class = Types::CompletedMultipartUpload
596
873
 
597
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"))
598
880
  CompletedPart.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
599
881
  CompletedPart.struct_class = Types::CompletedPart
600
882
 
@@ -604,6 +886,8 @@ module Aws::S3
604
886
  Condition.add_member(:key_prefix_equals, Shapes::ShapeRef.new(shape: KeyPrefixEquals, location_name: "KeyPrefixEquals"))
605
887
  Condition.struct_class = Types::Condition
606
888
 
889
+ ContinuationEvent.struct_class = Types::ContinuationEvent
890
+
607
891
  CopyObjectOutput.add_member(:copy_object_result, Shapes::ShapeRef.new(shape: CopyObjectResult, location_name: "CopyObjectResult"))
608
892
  CopyObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
609
893
  CopyObjectOutput.add_member(:copy_source_version_id, Shapes::ShapeRef.new(shape: CopySourceVersionId, location: "header", location_name: "x-amz-copy-source-version-id"))
@@ -612,19 +896,22 @@ module Aws::S3
612
896
  CopyObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
613
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"))
614
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"))
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"))
615
901
  CopyObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
616
902
  CopyObjectOutput.struct_class = Types::CopyObjectOutput
617
903
  CopyObjectOutput[:payload] = :copy_object_result
618
904
  CopyObjectOutput[:payload_member] = CopyObjectOutput.member(:copy_object_result)
619
905
 
620
906
  CopyObjectRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
621
- 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"}}))
622
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"))
623
910
  CopyObjectRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
624
911
  CopyObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
625
912
  CopyObjectRequest.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "Content-Language"))
626
913
  CopyObjectRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
627
- 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"}}))
628
915
  CopyObjectRequest.add_member(:copy_source_if_match, Shapes::ShapeRef.new(shape: CopySourceIfMatch, location: "header", location_name: "x-amz-copy-source-if-match"))
629
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"))
630
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"))
@@ -634,7 +921,9 @@ module Aws::S3
634
921
  CopyObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
635
922
  CopyObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
636
923
  CopyObjectRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
637
- 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"}}))
638
927
  CopyObjectRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
639
928
  CopyObjectRequest.add_member(:metadata_directive, Shapes::ShapeRef.new(shape: MetadataDirective, location: "header", location_name: "x-amz-metadata-directive"))
640
929
  CopyObjectRequest.add_member(:tagging_directive, Shapes::ShapeRef.new(shape: TaggingDirective, location: "header", location_name: "x-amz-tagging-directive"))
@@ -645,35 +934,77 @@ module Aws::S3
645
934
  CopyObjectRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
646
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"))
647
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"))
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"))
648
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"))
649
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"))
650
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"))
651
942
  CopyObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
652
943
  CopyObjectRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: TaggingHeader, location: "header", location_name: "x-amz-tagging"))
944
+ CopyObjectRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
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"))
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"))
653
949
  CopyObjectRequest.struct_class = Types::CopyObjectRequest
654
950
 
655
951
  CopyObjectResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
656
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"))
657
959
  CopyObjectResult.struct_class = Types::CopyObjectResult
658
960
 
659
961
  CopyPartResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
660
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"))
661
968
  CopyPartResult.struct_class = Types::CopyPartResult
662
969
 
663
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"))
664
974
  CreateBucketConfiguration.struct_class = Types::CreateBucketConfiguration
665
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
+
666
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"))
667
996
  CreateBucketOutput.struct_class = Types::CreateBucketOutput
668
997
 
669
998
  CreateBucketRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
670
- CreateBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
671
- 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/"}}))
672
1001
  CreateBucketRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
673
1002
  CreateBucketRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
674
1003
  CreateBucketRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
675
1004
  CreateBucketRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
676
1005
  CreateBucketRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
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"))
677
1008
  CreateBucketRequest.struct_class = Types::CreateBucketRequest
678
1009
  CreateBucketRequest[:payload] = :create_bucket_configuration
679
1010
  CreateBucketRequest[:payload_member] = CreateBucketRequest.member(:create_bucket_configuration)
@@ -687,11 +1018,15 @@ module Aws::S3
687
1018
  CreateMultipartUploadOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
688
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"))
689
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"))
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"))
690
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"))
691
1026
  CreateMultipartUploadOutput.struct_class = Types::CreateMultipartUploadOutput
692
1027
 
693
1028
  CreateMultipartUploadRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
694
- 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"}}))
695
1030
  CreateMultipartUploadRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
696
1031
  CreateMultipartUploadRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
697
1032
  CreateMultipartUploadRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
@@ -702,7 +1037,7 @@ module Aws::S3
702
1037
  CreateMultipartUploadRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
703
1038
  CreateMultipartUploadRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
704
1039
  CreateMultipartUploadRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
705
- 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"}}))
706
1041
  CreateMultipartUploadRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
707
1042
  CreateMultipartUploadRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
708
1043
  CreateMultipartUploadRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
@@ -711,48 +1046,104 @@ module Aws::S3
711
1046
  CreateMultipartUploadRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
712
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"))
713
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"))
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"))
714
1051
  CreateMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
715
1052
  CreateMultipartUploadRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: TaggingHeader, location: "header", location_name: "x-amz-tagging"))
1053
+ CreateMultipartUploadRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
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"))
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"))
716
1059
  CreateMultipartUploadRequest.struct_class = Types::CreateMultipartUploadRequest
717
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
+
1076
+ DefaultRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
1077
+ DefaultRetention.add_member(:days, Shapes::ShapeRef.new(shape: Days, location_name: "Days"))
1078
+ DefaultRetention.add_member(:years, Shapes::ShapeRef.new(shape: Years, location_name: "Years"))
1079
+ DefaultRetention.struct_class = Types::DefaultRetention
1080
+
718
1081
  Delete.add_member(:objects, Shapes::ShapeRef.new(shape: ObjectIdentifierList, required: true, location_name: "Object"))
719
1082
  Delete.add_member(:quiet, Shapes::ShapeRef.new(shape: Quiet, location_name: "Quiet"))
720
1083
  Delete.struct_class = Types::Delete
721
1084
 
722
- 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"}}))
723
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"))
724
1088
  DeleteBucketAnalyticsConfigurationRequest.struct_class = Types::DeleteBucketAnalyticsConfigurationRequest
725
1089
 
726
- 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"))
727
1092
  DeleteBucketCorsRequest.struct_class = Types::DeleteBucketCorsRequest
728
1093
 
729
- 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"))
730
1096
  DeleteBucketEncryptionRequest.struct_class = Types::DeleteBucketEncryptionRequest
731
1097
 
732
- 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"}}))
733
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"))
734
1106
  DeleteBucketInventoryConfigurationRequest.struct_class = Types::DeleteBucketInventoryConfigurationRequest
735
1107
 
736
- 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"))
737
1110
  DeleteBucketLifecycleRequest.struct_class = Types::DeleteBucketLifecycleRequest
738
1111
 
739
- 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"}}))
740
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"))
741
1123
  DeleteBucketMetricsConfigurationRequest.struct_class = Types::DeleteBucketMetricsConfigurationRequest
742
1124
 
743
- 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"))
744
1131
  DeleteBucketPolicyRequest.struct_class = Types::DeleteBucketPolicyRequest
745
1132
 
746
- 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"))
747
1135
  DeleteBucketReplicationRequest.struct_class = Types::DeleteBucketReplicationRequest
748
1136
 
749
- 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"))
750
1139
  DeleteBucketRequest.struct_class = Types::DeleteBucketRequest
751
1140
 
752
- 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"))
753
1143
  DeleteBucketTaggingRequest.struct_class = Types::DeleteBucketTaggingRequest
754
1144
 
755
- 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"))
756
1147
  DeleteBucketWebsiteRequest.struct_class = Types::DeleteBucketWebsiteRequest
757
1148
 
758
1149
  DeleteMarkerEntry.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
@@ -762,6 +1153,9 @@ module Aws::S3
762
1153
  DeleteMarkerEntry.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
763
1154
  DeleteMarkerEntry.struct_class = Types::DeleteMarkerEntry
764
1155
 
1156
+ DeleteMarkerReplication.add_member(:status, Shapes::ShapeRef.new(shape: DeleteMarkerReplicationStatus, location_name: "Status"))
1157
+ DeleteMarkerReplication.struct_class = Types::DeleteMarkerReplication
1158
+
765
1159
  DeleteMarkers.member = Shapes::ShapeRef.new(shape: DeleteMarkerEntry)
766
1160
 
767
1161
  DeleteObjectOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
@@ -769,19 +1163,25 @@ module Aws::S3
769
1163
  DeleteObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
770
1164
  DeleteObjectOutput.struct_class = Types::DeleteObjectOutput
771
1165
 
772
- DeleteObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
773
- 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"}}))
774
1168
  DeleteObjectRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
775
1169
  DeleteObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
776
1170
  DeleteObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
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"))
777
1176
  DeleteObjectRequest.struct_class = Types::DeleteObjectRequest
778
1177
 
779
1178
  DeleteObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
780
1179
  DeleteObjectTaggingOutput.struct_class = Types::DeleteObjectTaggingOutput
781
1180
 
782
- 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"}}))
783
1182
  DeleteObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
784
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"))
785
1185
  DeleteObjectTaggingRequest.struct_class = Types::DeleteObjectTaggingRequest
786
1186
 
787
1187
  DeleteObjectsOutput.add_member(:deleted, Shapes::ShapeRef.new(shape: DeletedObjects, location_name: "Deleted"))
@@ -789,14 +1189,21 @@ module Aws::S3
789
1189
  DeleteObjectsOutput.add_member(:errors, Shapes::ShapeRef.new(shape: Errors, location_name: "Error"))
790
1190
  DeleteObjectsOutput.struct_class = Types::DeleteObjectsOutput
791
1191
 
792
- DeleteObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
793
- 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/"}}))
794
1194
  DeleteObjectsRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
795
1195
  DeleteObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
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"))
796
1199
  DeleteObjectsRequest.struct_class = Types::DeleteObjectsRequest
797
1200
  DeleteObjectsRequest[:payload] = :delete
798
1201
  DeleteObjectsRequest[:payload_member] = DeleteObjectsRequest.member(:delete)
799
1202
 
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"))
1205
+ DeletePublicAccessBlockRequest.struct_class = Types::DeletePublicAccessBlockRequest
1206
+
800
1207
  DeletedObject.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
801
1208
  DeletedObject.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
802
1209
  DeletedObject.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location_name: "DeleteMarker"))
@@ -810,8 +1217,15 @@ module Aws::S3
810
1217
  Destination.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
811
1218
  Destination.add_member(:access_control_translation, Shapes::ShapeRef.new(shape: AccessControlTranslation, location_name: "AccessControlTranslation"))
812
1219
  Destination.add_member(:encryption_configuration, Shapes::ShapeRef.new(shape: EncryptionConfiguration, location_name: "EncryptionConfiguration"))
1220
+ Destination.add_member(:replication_time, Shapes::ShapeRef.new(shape: ReplicationTime, location_name: "ReplicationTime"))
1221
+ Destination.add_member(:metrics, Shapes::ShapeRef.new(shape: Metrics, location_name: "Metrics"))
813
1222
  Destination.struct_class = Types::Destination
814
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
+
815
1229
  Encryption.add_member(:encryption_type, Shapes::ShapeRef.new(shape: ServerSideEncryption, required: true, location_name: "EncryptionType"))
816
1230
  Encryption.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location_name: "KMSKeyId"))
817
1231
  Encryption.add_member(:kms_context, Shapes::ShapeRef.new(shape: KMSContext, location_name: "KMSContext"))
@@ -820,19 +1234,34 @@ module Aws::S3
820
1234
  EncryptionConfiguration.add_member(:replica_kms_key_id, Shapes::ShapeRef.new(shape: ReplicaKmsKeyID, location_name: "ReplicaKmsKeyID"))
821
1235
  EncryptionConfiguration.struct_class = Types::EncryptionConfiguration
822
1236
 
1237
+ EncryptionTypeList.member = Shapes::ShapeRef.new(shape: EncryptionType, location_name: "EncryptionType")
1238
+
1239
+ EncryptionTypeMismatch.struct_class = Types::EncryptionTypeMismatch
1240
+
1241
+ EndEvent.struct_class = Types::EndEvent
1242
+
823
1243
  Error.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
824
1244
  Error.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
825
1245
  Error.add_member(:code, Shapes::ShapeRef.new(shape: Code, location_name: "Code"))
826
1246
  Error.add_member(:message, Shapes::ShapeRef.new(shape: Message, location_name: "Message"))
827
1247
  Error.struct_class = Types::Error
828
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
+
829
1253
  ErrorDocument.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
830
1254
  ErrorDocument.struct_class = Types::ErrorDocument
831
1255
 
832
1256
  Errors.member = Shapes::ShapeRef.new(shape: Error)
833
1257
 
1258
+ EventBridgeConfiguration.struct_class = Types::EventBridgeConfiguration
1259
+
834
1260
  EventList.member = Shapes::ShapeRef.new(shape: Event)
835
1261
 
1262
+ ExistingObjectReplication.add_member(:status, Shapes::ShapeRef.new(shape: ExistingObjectReplicationStatus, required: true, location_name: "Status"))
1263
+ ExistingObjectReplication.struct_class = Types::ExistingObjectReplication
1264
+
836
1265
  ExposeHeaders.member = Shapes::ShapeRef.new(shape: ExposeHeader)
837
1266
 
838
1267
  FilterRule.add_member(:name, Shapes::ShapeRef.new(shape: FilterRuleName, location_name: "Name"))
@@ -841,17 +1270,30 @@ module Aws::S3
841
1270
 
842
1271
  FilterRuleList.member = Shapes::ShapeRef.new(shape: FilterRule)
843
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
+
844
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"))
845
1284
  GetBucketAccelerateConfigurationOutput.struct_class = Types::GetBucketAccelerateConfigurationOutput
846
1285
 
847
- 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"))
848
1289
  GetBucketAccelerateConfigurationRequest.struct_class = Types::GetBucketAccelerateConfigurationRequest
849
1290
 
850
1291
  GetBucketAclOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
851
1292
  GetBucketAclOutput.add_member(:grants, Shapes::ShapeRef.new(shape: Grants, location_name: "AccessControlList"))
852
1293
  GetBucketAclOutput.struct_class = Types::GetBucketAclOutput
853
1294
 
854
- 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"))
855
1297
  GetBucketAclRequest.struct_class = Types::GetBucketAclRequest
856
1298
 
857
1299
  GetBucketAnalyticsConfigurationOutput.add_member(:analytics_configuration, Shapes::ShapeRef.new(shape: AnalyticsConfiguration, location_name: "AnalyticsConfiguration"))
@@ -859,14 +1301,16 @@ module Aws::S3
859
1301
  GetBucketAnalyticsConfigurationOutput[:payload] = :analytics_configuration
860
1302
  GetBucketAnalyticsConfigurationOutput[:payload_member] = GetBucketAnalyticsConfigurationOutput.member(:analytics_configuration)
861
1303
 
862
- 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"}}))
863
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"))
864
1307
  GetBucketAnalyticsConfigurationRequest.struct_class = Types::GetBucketAnalyticsConfigurationRequest
865
1308
 
866
1309
  GetBucketCorsOutput.add_member(:cors_rules, Shapes::ShapeRef.new(shape: CORSRules, location_name: "CORSRule"))
867
1310
  GetBucketCorsOutput.struct_class = Types::GetBucketCorsOutput
868
1311
 
869
- 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"))
870
1314
  GetBucketCorsRequest.struct_class = Types::GetBucketCorsRequest
871
1315
 
872
1316
  GetBucketEncryptionOutput.add_member(:server_side_encryption_configuration, Shapes::ShapeRef.new(shape: ServerSideEncryptionConfiguration, location_name: "ServerSideEncryptionConfiguration"))
@@ -874,87 +1318,155 @@ module Aws::S3
874
1318
  GetBucketEncryptionOutput[:payload] = :server_side_encryption_configuration
875
1319
  GetBucketEncryptionOutput[:payload_member] = GetBucketEncryptionOutput.member(:server_side_encryption_configuration)
876
1320
 
877
- 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"))
878
1323
  GetBucketEncryptionRequest.struct_class = Types::GetBucketEncryptionRequest
879
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
+
880
1335
  GetBucketInventoryConfigurationOutput.add_member(:inventory_configuration, Shapes::ShapeRef.new(shape: InventoryConfiguration, location_name: "InventoryConfiguration"))
881
1336
  GetBucketInventoryConfigurationOutput.struct_class = Types::GetBucketInventoryConfigurationOutput
882
1337
  GetBucketInventoryConfigurationOutput[:payload] = :inventory_configuration
883
1338
  GetBucketInventoryConfigurationOutput[:payload_member] = GetBucketInventoryConfigurationOutput.member(:inventory_configuration)
884
1339
 
885
- 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"}}))
886
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"))
887
1343
  GetBucketInventoryConfigurationRequest.struct_class = Types::GetBucketInventoryConfigurationRequest
888
1344
 
889
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"))
890
1347
  GetBucketLifecycleConfigurationOutput.struct_class = Types::GetBucketLifecycleConfigurationOutput
891
1348
 
892
- 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"))
893
1351
  GetBucketLifecycleConfigurationRequest.struct_class = Types::GetBucketLifecycleConfigurationRequest
894
1352
 
895
1353
  GetBucketLifecycleOutput.add_member(:rules, Shapes::ShapeRef.new(shape: Rules, location_name: "Rule"))
896
1354
  GetBucketLifecycleOutput.struct_class = Types::GetBucketLifecycleOutput
897
1355
 
898
- 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"))
899
1358
  GetBucketLifecycleRequest.struct_class = Types::GetBucketLifecycleRequest
900
1359
 
901
1360
  GetBucketLocationOutput.add_member(:location_constraint, Shapes::ShapeRef.new(shape: BucketLocationConstraint, location_name: "LocationConstraint"))
902
1361
  GetBucketLocationOutput.struct_class = Types::GetBucketLocationOutput
903
1362
 
904
- 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"))
905
1365
  GetBucketLocationRequest.struct_class = Types::GetBucketLocationRequest
906
1366
 
907
1367
  GetBucketLoggingOutput.add_member(:logging_enabled, Shapes::ShapeRef.new(shape: LoggingEnabled, location_name: "LoggingEnabled"))
908
1368
  GetBucketLoggingOutput.struct_class = Types::GetBucketLoggingOutput
909
1369
 
910
- 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"))
911
1372
  GetBucketLoggingRequest.struct_class = Types::GetBucketLoggingRequest
912
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
+
913
1400
  GetBucketMetricsConfigurationOutput.add_member(:metrics_configuration, Shapes::ShapeRef.new(shape: MetricsConfiguration, location_name: "MetricsConfiguration"))
914
1401
  GetBucketMetricsConfigurationOutput.struct_class = Types::GetBucketMetricsConfigurationOutput
915
1402
  GetBucketMetricsConfigurationOutput[:payload] = :metrics_configuration
916
1403
  GetBucketMetricsConfigurationOutput[:payload_member] = GetBucketMetricsConfigurationOutput.member(:metrics_configuration)
917
1404
 
918
- 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"}}))
919
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"))
920
1408
  GetBucketMetricsConfigurationRequest.struct_class = Types::GetBucketMetricsConfigurationRequest
921
1409
 
922
- 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"))
923
1412
  GetBucketNotificationConfigurationRequest.struct_class = Types::GetBucketNotificationConfigurationRequest
924
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
+
925
1423
  GetBucketPolicyOutput.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "Policy"))
926
1424
  GetBucketPolicyOutput.struct_class = Types::GetBucketPolicyOutput
927
1425
  GetBucketPolicyOutput[:payload] = :policy
928
1426
  GetBucketPolicyOutput[:payload_member] = GetBucketPolicyOutput.member(:policy)
929
1427
 
930
- 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"))
931
1430
  GetBucketPolicyRequest.struct_class = Types::GetBucketPolicyRequest
932
1431
 
1432
+ GetBucketPolicyStatusOutput.add_member(:policy_status, Shapes::ShapeRef.new(shape: PolicyStatus, location_name: "PolicyStatus"))
1433
+ GetBucketPolicyStatusOutput.struct_class = Types::GetBucketPolicyStatusOutput
1434
+ GetBucketPolicyStatusOutput[:payload] = :policy_status
1435
+ GetBucketPolicyStatusOutput[:payload_member] = GetBucketPolicyStatusOutput.member(:policy_status)
1436
+
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"))
1439
+ GetBucketPolicyStatusRequest.struct_class = Types::GetBucketPolicyStatusRequest
1440
+
933
1441
  GetBucketReplicationOutput.add_member(:replication_configuration, Shapes::ShapeRef.new(shape: ReplicationConfiguration, location_name: "ReplicationConfiguration"))
934
1442
  GetBucketReplicationOutput.struct_class = Types::GetBucketReplicationOutput
935
1443
  GetBucketReplicationOutput[:payload] = :replication_configuration
936
1444
  GetBucketReplicationOutput[:payload_member] = GetBucketReplicationOutput.member(:replication_configuration)
937
1445
 
938
- 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"))
939
1448
  GetBucketReplicationRequest.struct_class = Types::GetBucketReplicationRequest
940
1449
 
941
1450
  GetBucketRequestPaymentOutput.add_member(:payer, Shapes::ShapeRef.new(shape: Payer, location_name: "Payer"))
942
1451
  GetBucketRequestPaymentOutput.struct_class = Types::GetBucketRequestPaymentOutput
943
1452
 
944
- 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"))
945
1455
  GetBucketRequestPaymentRequest.struct_class = Types::GetBucketRequestPaymentRequest
946
1456
 
947
1457
  GetBucketTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
948
1458
  GetBucketTaggingOutput.struct_class = Types::GetBucketTaggingOutput
949
1459
 
950
- 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"))
951
1462
  GetBucketTaggingRequest.struct_class = Types::GetBucketTaggingRequest
952
1463
 
953
1464
  GetBucketVersioningOutput.add_member(:status, Shapes::ShapeRef.new(shape: BucketVersioningStatus, location_name: "Status"))
954
1465
  GetBucketVersioningOutput.add_member(:mfa_delete, Shapes::ShapeRef.new(shape: MFADeleteStatus, location_name: "MfaDelete"))
955
1466
  GetBucketVersioningOutput.struct_class = Types::GetBucketVersioningOutput
956
1467
 
957
- 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"))
958
1470
  GetBucketVersioningRequest.struct_class = Types::GetBucketVersioningRequest
959
1471
 
960
1472
  GetBucketWebsiteOutput.add_member(:redirect_all_requests_to, Shapes::ShapeRef.new(shape: RedirectAllRequestsTo, location_name: "RedirectAllRequestsTo"))
@@ -963,7 +1475,8 @@ module Aws::S3
963
1475
  GetBucketWebsiteOutput.add_member(:routing_rules, Shapes::ShapeRef.new(shape: RoutingRules, location_name: "RoutingRules"))
964
1476
  GetBucketWebsiteOutput.struct_class = Types::GetBucketWebsiteOutput
965
1477
 
966
- 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"))
967
1480
  GetBucketWebsiteRequest.struct_class = Types::GetBucketWebsiteRequest
968
1481
 
969
1482
  GetObjectAclOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
@@ -971,13 +1484,67 @@ module Aws::S3
971
1484
  GetObjectAclOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
972
1485
  GetObjectAclOutput.struct_class = Types::GetObjectAclOutput
973
1486
 
974
- GetObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
975
- 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"}}))
976
1489
  GetObjectAclRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
977
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"))
978
1492
  GetObjectAclRequest.struct_class = Types::GetObjectAclRequest
979
1493
 
980
- GetObjectOutput.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
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
+
1526
+ GetObjectLegalHoldOutput.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold"))
1527
+ GetObjectLegalHoldOutput.struct_class = Types::GetObjectLegalHoldOutput
1528
+ GetObjectLegalHoldOutput[:payload] = :legal_hold
1529
+ GetObjectLegalHoldOutput[:payload_member] = GetObjectLegalHoldOutput.member(:legal_hold)
1530
+
1531
+ GetObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1532
+ GetObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1533
+ GetObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
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"))
1536
+ GetObjectLegalHoldRequest.struct_class = Types::GetObjectLegalHoldRequest
1537
+
1538
+ GetObjectLockConfigurationOutput.add_member(:object_lock_configuration, Shapes::ShapeRef.new(shape: ObjectLockConfiguration, location_name: "ObjectLockConfiguration"))
1539
+ GetObjectLockConfigurationOutput.struct_class = Types::GetObjectLockConfigurationOutput
1540
+ GetObjectLockConfigurationOutput[:payload] = :object_lock_configuration
1541
+ GetObjectLockConfigurationOutput[:payload_member] = GetObjectLockConfigurationOutput.member(:object_lock_configuration)
1542
+
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"))
1545
+ GetObjectLockConfigurationRequest.struct_class = Types::GetObjectLockConfigurationRequest
1546
+
1547
+ GetObjectOutput.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming" => true}))
981
1548
  GetObjectOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
982
1549
  GetObjectOutput.add_member(:accept_ranges, Shapes::ShapeRef.new(shape: AcceptRanges, location: "header", location_name: "accept-ranges"))
983
1550
  GetObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
@@ -985,6 +1552,12 @@ module Aws::S3
985
1552
  GetObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
986
1553
  GetObjectOutput.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
987
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"))
988
1561
  GetObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
989
1562
  GetObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
990
1563
  GetObjectOutput.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
@@ -1001,21 +1574,25 @@ module Aws::S3
1001
1574
  GetObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1002
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"))
1003
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"))
1004
1578
  GetObjectOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
1005
1579
  GetObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1006
1580
  GetObjectOutput.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-replication-status"))
1007
1581
  GetObjectOutput.add_member(:parts_count, Shapes::ShapeRef.new(shape: PartsCount, location: "header", location_name: "x-amz-mp-parts-count"))
1008
1582
  GetObjectOutput.add_member(:tag_count, Shapes::ShapeRef.new(shape: TagCount, location: "header", location_name: "x-amz-tagging-count"))
1583
+ GetObjectOutput.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
1584
+ GetObjectOutput.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
1585
+ GetObjectOutput.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
1009
1586
  GetObjectOutput.struct_class = Types::GetObjectOutput
1010
1587
  GetObjectOutput[:payload] = :body
1011
1588
  GetObjectOutput[:payload_member] = GetObjectOutput.member(:body)
1012
1589
 
1013
- 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"}}))
1014
1591
  GetObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1015
1592
  GetObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1016
1593
  GetObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
1017
1594
  GetObjectRequest.add_member(:if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
1018
- 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"}}))
1019
1596
  GetObjectRequest.add_member(:range, Shapes::ShapeRef.new(shape: Range, location: "header", location_name: "Range"))
1020
1597
  GetObjectRequest.add_member(:response_cache_control, Shapes::ShapeRef.new(shape: ResponseCacheControl, location: "querystring", location_name: "response-cache-control"))
1021
1598
  GetObjectRequest.add_member(:response_content_disposition, Shapes::ShapeRef.new(shape: ResponseContentDisposition, location: "querystring", location_name: "response-content-disposition"))
@@ -1029,28 +1606,54 @@ module Aws::S3
1029
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"))
1030
1607
  GetObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1031
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"))
1032
1611
  GetObjectRequest.struct_class = Types::GetObjectRequest
1033
1612
 
1613
+ GetObjectRetentionOutput.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention"))
1614
+ GetObjectRetentionOutput.struct_class = Types::GetObjectRetentionOutput
1615
+ GetObjectRetentionOutput[:payload] = :retention
1616
+ GetObjectRetentionOutput[:payload_member] = GetObjectRetentionOutput.member(:retention)
1617
+
1618
+ GetObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1619
+ GetObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1620
+ GetObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
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"))
1623
+ GetObjectRetentionRequest.struct_class = Types::GetObjectRetentionRequest
1624
+
1034
1625
  GetObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1035
1626
  GetObjectTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
1036
1627
  GetObjectTaggingOutput.struct_class = Types::GetObjectTaggingOutput
1037
1628
 
1038
- 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"}}))
1039
1630
  GetObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1040
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"))
1041
1634
  GetObjectTaggingRequest.struct_class = Types::GetObjectTaggingRequest
1042
1635
 
1043
- 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}))
1044
1637
  GetObjectTorrentOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1045
1638
  GetObjectTorrentOutput.struct_class = Types::GetObjectTorrentOutput
1046
1639
  GetObjectTorrentOutput[:payload] = :body
1047
1640
  GetObjectTorrentOutput[:payload_member] = GetObjectTorrentOutput.member(:body)
1048
1641
 
1049
- 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"}}))
1050
1643
  GetObjectTorrentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1051
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"))
1052
1646
  GetObjectTorrentRequest.struct_class = Types::GetObjectTorrentRequest
1053
1647
 
1648
+ GetPublicAccessBlockOutput.add_member(:public_access_block_configuration, Shapes::ShapeRef.new(shape: PublicAccessBlockConfiguration, location_name: "PublicAccessBlockConfiguration"))
1649
+ GetPublicAccessBlockOutput.struct_class = Types::GetPublicAccessBlockOutput
1650
+ GetPublicAccessBlockOutput[:payload] = :public_access_block_configuration
1651
+ GetPublicAccessBlockOutput[:payload_member] = GetPublicAccessBlockOutput.member(:public_access_block_configuration)
1652
+
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"))
1655
+ GetPublicAccessBlockRequest.struct_class = Types::GetPublicAccessBlockRequest
1656
+
1054
1657
  GlacierJobParameters.add_member(:tier, Shapes::ShapeRef.new(shape: Tier, required: true, location_name: "Tier"))
1055
1658
  GlacierJobParameters.struct_class = Types::GlacierJobParameters
1056
1659
 
@@ -1061,21 +1664,36 @@ module Aws::S3
1061
1664
  Grantee.add_member(:display_name, Shapes::ShapeRef.new(shape: DisplayName, location_name: "DisplayName"))
1062
1665
  Grantee.add_member(:email_address, Shapes::ShapeRef.new(shape: EmailAddress, location_name: "EmailAddress"))
1063
1666
  Grantee.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
1064
- 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}))
1065
1668
  Grantee.add_member(:uri, Shapes::ShapeRef.new(shape: URI, location_name: "URI"))
1066
1669
  Grantee.struct_class = Types::Grantee
1067
1670
 
1068
1671
  Grants.member = Shapes::ShapeRef.new(shape: Grant, location_name: "Grant")
1069
1672
 
1070
- 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"))
1071
1682
  HeadBucketRequest.struct_class = Types::HeadBucketRequest
1072
1683
 
1073
1684
  HeadObjectOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
1074
1685
  HeadObjectOutput.add_member(:accept_ranges, Shapes::ShapeRef.new(shape: AcceptRanges, location: "header", location_name: "accept-ranges"))
1075
1686
  HeadObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
1076
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"))
1077
1689
  HeadObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1078
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"))
1079
1697
  HeadObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1080
1698
  HeadObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
1081
1699
  HeadObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
@@ -1084,6 +1702,7 @@ module Aws::S3
1084
1702
  HeadObjectOutput.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
1085
1703
  HeadObjectOutput.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "Content-Language"))
1086
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"))
1087
1706
  HeadObjectOutput.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "Expires"))
1088
1707
  HeadObjectOutput.add_member(:expires_string, Shapes::ShapeRef.new(shape: ExpiresString, location: "header", location_name: "Expires"))
1089
1708
  HeadObjectOutput.add_member(:website_redirect_location, Shapes::ShapeRef.new(shape: WebsiteRedirectLocation, location: "header", location_name: "x-amz-website-redirect-location"))
@@ -1092,27 +1711,42 @@ module Aws::S3
1092
1711
  HeadObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1093
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"))
1094
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"))
1095
1715
  HeadObjectOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
1096
1716
  HeadObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1097
1717
  HeadObjectOutput.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-replication-status"))
1098
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"))
1720
+ HeadObjectOutput.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
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"))
1722
+ HeadObjectOutput.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
1099
1723
  HeadObjectOutput.struct_class = Types::HeadObjectOutput
1100
1724
 
1101
- 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"}}))
1102
1726
  HeadObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1103
1727
  HeadObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1104
1728
  HeadObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
1105
1729
  HeadObjectRequest.add_member(:if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
1106
- 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"}}))
1107
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"))
1108
1738
  HeadObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1109
1739
  HeadObjectRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1110
1740
  HeadObjectRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1111
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"))
1112
1742
  HeadObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1113
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"))
1114
1746
  HeadObjectRequest.struct_class = Types::HeadObjectRequest
1115
1747
 
1748
+ IdempotencyParameterMismatch.struct_class = Types::IdempotencyParameterMismatch
1749
+
1116
1750
  IndexDocument.add_member(:suffix, Shapes::ShapeRef.new(shape: Suffix, required: true, location_name: "Suffix"))
1117
1751
  IndexDocument.struct_class = Types::IndexDocument
1118
1752
 
@@ -1123,8 +1757,34 @@ module Aws::S3
1123
1757
  InputSerialization.add_member(:csv, Shapes::ShapeRef.new(shape: CSVInput, location_name: "CSV"))
1124
1758
  InputSerialization.add_member(:compression_type, Shapes::ShapeRef.new(shape: CompressionType, location_name: "CompressionType"))
1125
1759
  InputSerialization.add_member(:json, Shapes::ShapeRef.new(shape: JSONInput, location_name: "JSON"))
1760
+ InputSerialization.add_member(:parquet, Shapes::ShapeRef.new(shape: ParquetInput, location_name: "Parquet"))
1126
1761
  InputSerialization.struct_class = Types::InputSerialization
1127
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
+
1128
1788
  InventoryConfiguration.add_member(:destination, Shapes::ShapeRef.new(shape: InventoryDestination, required: true, location_name: "Destination"))
1129
1789
  InventoryConfiguration.add_member(:is_enabled, Shapes::ShapeRef.new(shape: IsEnabled, required: true, location_name: "IsEnabled"))
1130
1790
  InventoryConfiguration.add_member(:filter, Shapes::ShapeRef.new(shape: InventoryFilter, location_name: "Filter"))
@@ -1158,12 +1818,41 @@ module Aws::S3
1158
1818
  InventorySchedule.add_member(:frequency, Shapes::ShapeRef.new(shape: InventoryFrequency, required: true, location_name: "Frequency"))
1159
1819
  InventorySchedule.struct_class = Types::InventorySchedule
1160
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
+
1161
1836
  JSONInput.add_member(:type, Shapes::ShapeRef.new(shape: JSONType, location_name: "Type"))
1162
1837
  JSONInput.struct_class = Types::JSONInput
1163
1838
 
1164
1839
  JSONOutput.add_member(:record_delimiter, Shapes::ShapeRef.new(shape: RecordDelimiter, location_name: "RecordDelimiter"))
1165
1840
  JSONOutput.struct_class = Types::JSONOutput
1166
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
+
1167
1856
  LambdaFunctionConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
1168
1857
  LambdaFunctionConfiguration.add_member(:lambda_function_arn, Shapes::ShapeRef.new(shape: LambdaFunctionArn, required: true, location_name: "CloudFunction"))
1169
1858
  LambdaFunctionConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, required: true, location_name: "Event"))
@@ -1192,11 +1881,15 @@ module Aws::S3
1192
1881
  LifecycleRule.struct_class = Types::LifecycleRule
1193
1882
 
1194
1883
  LifecycleRuleAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1195
- 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"))
1196
1887
  LifecycleRuleAndOperator.struct_class = Types::LifecycleRuleAndOperator
1197
1888
 
1198
1889
  LifecycleRuleFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1199
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"))
1200
1893
  LifecycleRuleFilter.add_member(:and, Shapes::ShapeRef.new(shape: LifecycleRuleAndOperator, location_name: "And"))
1201
1894
  LifecycleRuleFilter.struct_class = Types::LifecycleRuleFilter
1202
1895
 
@@ -1208,18 +1901,31 @@ module Aws::S3
1208
1901
  ListBucketAnalyticsConfigurationsOutput.add_member(:analytics_configuration_list, Shapes::ShapeRef.new(shape: AnalyticsConfigurationList, location_name: "AnalyticsConfiguration"))
1209
1902
  ListBucketAnalyticsConfigurationsOutput.struct_class = Types::ListBucketAnalyticsConfigurationsOutput
1210
1903
 
1211
- 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"}}))
1212
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"))
1213
1907
  ListBucketAnalyticsConfigurationsRequest.struct_class = Types::ListBucketAnalyticsConfigurationsRequest
1214
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
+
1215
1920
  ListBucketInventoryConfigurationsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location_name: "ContinuationToken"))
1216
1921
  ListBucketInventoryConfigurationsOutput.add_member(:inventory_configuration_list, Shapes::ShapeRef.new(shape: InventoryConfigurationList, location_name: "InventoryConfiguration"))
1217
1922
  ListBucketInventoryConfigurationsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
1218
1923
  ListBucketInventoryConfigurationsOutput.add_member(:next_continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextContinuationToken"))
1219
1924
  ListBucketInventoryConfigurationsOutput.struct_class = Types::ListBucketInventoryConfigurationsOutput
1220
1925
 
1221
- 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"}}))
1222
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"))
1223
1929
  ListBucketInventoryConfigurationsRequest.struct_class = Types::ListBucketInventoryConfigurationsRequest
1224
1930
 
1225
1931
  ListBucketMetricsConfigurationsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1228,14 +1934,31 @@ module Aws::S3
1228
1934
  ListBucketMetricsConfigurationsOutput.add_member(:metrics_configuration_list, Shapes::ShapeRef.new(shape: MetricsConfigurationList, location_name: "MetricsConfiguration"))
1229
1935
  ListBucketMetricsConfigurationsOutput.struct_class = Types::ListBucketMetricsConfigurationsOutput
1230
1936
 
1231
- 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"}}))
1232
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"))
1233
1940
  ListBucketMetricsConfigurationsRequest.struct_class = Types::ListBucketMetricsConfigurationsRequest
1234
1941
 
1235
1942
  ListBucketsOutput.add_member(:buckets, Shapes::ShapeRef.new(shape: Buckets, location_name: "Buckets"))
1236
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"))
1237
1946
  ListBucketsOutput.struct_class = Types::ListBucketsOutput
1238
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
+
1239
1962
  ListMultipartUploadsOutput.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, location_name: "Bucket"))
1240
1963
  ListMultipartUploadsOutput.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location_name: "KeyMarker"))
1241
1964
  ListMultipartUploadsOutput.add_member(:upload_id_marker, Shapes::ShapeRef.new(shape: UploadIdMarker, location_name: "UploadIdMarker"))
@@ -1248,15 +1971,18 @@ module Aws::S3
1248
1971
  ListMultipartUploadsOutput.add_member(:uploads, Shapes::ShapeRef.new(shape: MultipartUploadList, location_name: "Upload"))
1249
1972
  ListMultipartUploadsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1250
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"))
1251
1975
  ListMultipartUploadsOutput.struct_class = Types::ListMultipartUploadsOutput
1252
1976
 
1253
- 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"}}))
1254
1978
  ListMultipartUploadsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1255
1979
  ListMultipartUploadsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1256
1980
  ListMultipartUploadsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
1257
1981
  ListMultipartUploadsRequest.add_member(:max_uploads, Shapes::ShapeRef.new(shape: MaxUploads, location: "querystring", location_name: "max-uploads"))
1258
- 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"}}))
1259
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"))
1260
1986
  ListMultipartUploadsRequest.struct_class = Types::ListMultipartUploadsRequest
1261
1987
 
1262
1988
  ListObjectVersionsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1272,15 +1998,19 @@ module Aws::S3
1272
1998
  ListObjectVersionsOutput.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location_name: "MaxKeys"))
1273
1999
  ListObjectVersionsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1274
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"))
1275
2002
  ListObjectVersionsOutput.struct_class = Types::ListObjectVersionsOutput
1276
2003
 
1277
- 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"}}))
1278
2005
  ListObjectVersionsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1279
2006
  ListObjectVersionsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1280
2007
  ListObjectVersionsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
1281
2008
  ListObjectVersionsRequest.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1282
- 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"}}))
1283
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"))
1284
2014
  ListObjectVersionsRequest.struct_class = Types::ListObjectVersionsRequest
1285
2015
 
1286
2016
  ListObjectsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1293,15 +2023,18 @@ module Aws::S3
1293
2023
  ListObjectsOutput.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location_name: "MaxKeys"))
1294
2024
  ListObjectsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1295
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"))
1296
2027
  ListObjectsOutput.struct_class = Types::ListObjectsOutput
1297
2028
 
1298
- 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"}}))
1299
2030
  ListObjectsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1300
2031
  ListObjectsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1301
2032
  ListObjectsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "marker"))
1302
2033
  ListObjectsRequest.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1303
- 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"}}))
1304
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"))
1305
2038
  ListObjectsRequest.struct_class = Types::ListObjectsRequest
1306
2039
 
1307
2040
  ListObjectsV2Output.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1316,17 +2049,20 @@ module Aws::S3
1316
2049
  ListObjectsV2Output.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location_name: "ContinuationToken"))
1317
2050
  ListObjectsV2Output.add_member(:next_continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextContinuationToken"))
1318
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"))
1319
2053
  ListObjectsV2Output.struct_class = Types::ListObjectsV2Output
1320
2054
 
1321
- 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"}}))
1322
2056
  ListObjectsV2Request.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1323
2057
  ListObjectsV2Request.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1324
2058
  ListObjectsV2Request.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1325
- 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"}}))
1326
2060
  ListObjectsV2Request.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1327
2061
  ListObjectsV2Request.add_member(:fetch_owner, Shapes::ShapeRef.new(shape: FetchOwner, location: "querystring", location_name: "fetch-owner"))
1328
2062
  ListObjectsV2Request.add_member(:start_after, Shapes::ShapeRef.new(shape: StartAfter, location: "querystring", location_name: "start-after"))
1329
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"))
1330
2066
  ListObjectsV2Request.struct_class = Types::ListObjectsV2Request
1331
2067
 
1332
2068
  ListPartsOutput.add_member(:abort_date, Shapes::ShapeRef.new(shape: AbortDate, location: "header", location_name: "x-amz-abort-date"))
@@ -1343,30 +2079,65 @@ module Aws::S3
1343
2079
  ListPartsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1344
2080
  ListPartsOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1345
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"))
1346
2084
  ListPartsOutput.struct_class = Types::ListPartsOutput
1347
2085
 
1348
- ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1349
- 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"}}))
1350
2088
  ListPartsRequest.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location: "querystring", location_name: "max-parts"))
1351
2089
  ListPartsRequest.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location: "querystring", location_name: "part-number-marker"))
1352
2090
  ListPartsRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
1353
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"))
1354
2096
  ListPartsRequest.struct_class = Types::ListPartsRequest
1355
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
+
1356
2102
  LoggingEnabled.add_member(:target_bucket, Shapes::ShapeRef.new(shape: TargetBucket, required: true, location_name: "TargetBucket"))
1357
2103
  LoggingEnabled.add_member(:target_grants, Shapes::ShapeRef.new(shape: TargetGrants, location_name: "TargetGrants"))
1358
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"))
1359
2106
  LoggingEnabled.struct_class = Types::LoggingEnabled
1360
2107
 
1361
2108
  Metadata.key = Shapes::ShapeRef.new(shape: MetadataKey)
1362
2109
  Metadata.value = Shapes::ShapeRef.new(shape: MetadataValue)
1363
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
+
1364
2120
  MetadataEntry.add_member(:name, Shapes::ShapeRef.new(shape: MetadataKey, location_name: "Name"))
1365
2121
  MetadataEntry.add_member(:value, Shapes::ShapeRef.new(shape: MetadataValue, location_name: "Value"))
1366
2122
  MetadataEntry.struct_class = Types::MetadataEntry
1367
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
+
2134
+ Metrics.add_member(:status, Shapes::ShapeRef.new(shape: MetricsStatus, required: true, location_name: "Status"))
2135
+ Metrics.add_member(:event_threshold, Shapes::ShapeRef.new(shape: ReplicationTimeValue, location_name: "EventThreshold"))
2136
+ Metrics.struct_class = Types::Metrics
2137
+
1368
2138
  MetricsAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1369
- 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"))
1370
2141
  MetricsAndOperator.struct_class = Types::MetricsAndOperator
1371
2142
 
1372
2143
  MetricsConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location_name: "Id"))
@@ -1377,6 +2148,7 @@ module Aws::S3
1377
2148
 
1378
2149
  MetricsFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1379
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"))
1380
2152
  MetricsFilter.add_member(:and, Shapes::ShapeRef.new(shape: MetricsAndOperator, location_name: "And"))
1381
2153
  MetricsFilter.struct_class = Types::MetricsFilter
1382
2154
 
@@ -1386,15 +2158,25 @@ module Aws::S3
1386
2158
  MultipartUpload.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1387
2159
  MultipartUpload.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1388
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"))
1389
2163
  MultipartUpload.struct_class = Types::MultipartUpload
1390
2164
 
1391
2165
  MultipartUploadList.member = Shapes::ShapeRef.new(shape: MultipartUpload)
1392
2166
 
2167
+ NoSuchBucket.struct_class = Types::NoSuchBucket
2168
+
2169
+ NoSuchKey.struct_class = Types::NoSuchKey
2170
+
2171
+ NoSuchUpload.struct_class = Types::NoSuchUpload
2172
+
1393
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"))
1394
2175
  NoncurrentVersionExpiration.struct_class = Types::NoncurrentVersionExpiration
1395
2176
 
1396
2177
  NoncurrentVersionTransition.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
1397
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"))
1398
2180
  NoncurrentVersionTransition.struct_class = Types::NoncurrentVersionTransition
1399
2181
 
1400
2182
  NoncurrentVersionTransitionList.member = Shapes::ShapeRef.new(shape: NoncurrentVersionTransition)
@@ -1402,6 +2184,7 @@ module Aws::S3
1402
2184
  NotificationConfiguration.add_member(:topic_configurations, Shapes::ShapeRef.new(shape: TopicConfigurationList, location_name: "TopicConfiguration"))
1403
2185
  NotificationConfiguration.add_member(:queue_configurations, Shapes::ShapeRef.new(shape: QueueConfigurationList, location_name: "QueueConfiguration"))
1404
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"))
1405
2188
  NotificationConfiguration.struct_class = Types::NotificationConfiguration
1406
2189
 
1407
2190
  NotificationConfigurationDeprecated.add_member(:topic_configuration, Shapes::ShapeRef.new(shape: TopicConfigurationDeprecated, location_name: "TopicConfiguration"))
@@ -1415,20 +2198,57 @@ module Aws::S3
1415
2198
  Object.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
1416
2199
  Object.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1417
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"))
1418
2203
  Object.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1419
2204
  Object.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectStorageClass, location_name: "StorageClass"))
1420
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"))
1421
2207
  Object.struct_class = Types::Object
1422
2208
 
2209
+ ObjectAlreadyInActiveTierError.struct_class = Types::ObjectAlreadyInActiveTierError
2210
+
2211
+ ObjectAttributesList.member = Shapes::ShapeRef.new(shape: ObjectAttributes)
2212
+
1423
2213
  ObjectIdentifier.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
1424
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"))
1425
2218
  ObjectIdentifier.struct_class = Types::ObjectIdentifier
1426
2219
 
1427
2220
  ObjectIdentifierList.member = Shapes::ShapeRef.new(shape: ObjectIdentifier)
1428
2221
 
1429
2222
  ObjectList.member = Shapes::ShapeRef.new(shape: Object)
1430
2223
 
2224
+ ObjectLockConfiguration.add_member(:object_lock_enabled, Shapes::ShapeRef.new(shape: ObjectLockEnabled, location_name: "ObjectLockEnabled"))
2225
+ ObjectLockConfiguration.add_member(:rule, Shapes::ShapeRef.new(shape: ObjectLockRule, location_name: "Rule"))
2226
+ ObjectLockConfiguration.struct_class = Types::ObjectLockConfiguration
2227
+
2228
+ ObjectLockLegalHold.add_member(:status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location_name: "Status"))
2229
+ ObjectLockLegalHold.struct_class = Types::ObjectLockLegalHold
2230
+
2231
+ ObjectLockRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
2232
+ ObjectLockRetention.add_member(:retain_until_date, Shapes::ShapeRef.new(shape: Date, location_name: "RetainUntilDate"))
2233
+ ObjectLockRetention.struct_class = Types::ObjectLockRetention
2234
+
2235
+ ObjectLockRule.add_member(:default_retention, Shapes::ShapeRef.new(shape: DefaultRetention, location_name: "DefaultRetention"))
2236
+ ObjectLockRule.struct_class = Types::ObjectLockRule
2237
+
2238
+ ObjectNotInActiveTierError.struct_class = Types::ObjectNotInActiveTierError
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
+
1431
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"))
1432
2252
  ObjectVersion.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1433
2253
  ObjectVersion.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectVersionStorageClass, location_name: "StorageClass"))
1434
2254
  ObjectVersion.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
@@ -1436,10 +2256,13 @@ module Aws::S3
1436
2256
  ObjectVersion.add_member(:is_latest, Shapes::ShapeRef.new(shape: IsLatest, location_name: "IsLatest"))
1437
2257
  ObjectVersion.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1438
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"))
1439
2260
  ObjectVersion.struct_class = Types::ObjectVersion
1440
2261
 
1441
2262
  ObjectVersionList.member = Shapes::ShapeRef.new(shape: ObjectVersion)
1442
2263
 
2264
+ OptionalObjectAttributesList.member = Shapes::ShapeRef.new(shape: OptionalObjectAttributes)
2265
+
1443
2266
  OutputLocation.add_member(:s3, Shapes::ShapeRef.new(shape: S3Location, location_name: "S3"))
1444
2267
  OutputLocation.struct_class = Types::OutputLocation
1445
2268
 
@@ -1451,146 +2274,242 @@ module Aws::S3
1451
2274
  Owner.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
1452
2275
  Owner.struct_class = Types::Owner
1453
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
+
2285
+ ParquetInput.struct_class = Types::ParquetInput
2286
+
1454
2287
  Part.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
1455
2288
  Part.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1456
2289
  Part.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1457
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"))
1458
2296
  Part.struct_class = Types::Part
1459
2297
 
2298
+ PartitionedPrefix.add_member(:partition_date_source, Shapes::ShapeRef.new(shape: PartitionDateSource, location_name: "PartitionDateSource"))
2299
+ PartitionedPrefix.struct_class = Types::PartitionedPrefix
2300
+
1460
2301
  Parts.member = Shapes::ShapeRef.new(shape: Part)
1461
2302
 
2303
+ PartsList.member = Shapes::ShapeRef.new(shape: ObjectPart)
2304
+
2305
+ PolicyStatus.add_member(:is_public, Shapes::ShapeRef.new(shape: IsPublic, location_name: "IsPublic"))
2306
+ PolicyStatus.struct_class = Types::PolicyStatus
2307
+
1462
2308
  Progress.add_member(:bytes_scanned, Shapes::ShapeRef.new(shape: BytesScanned, location_name: "BytesScanned"))
1463
2309
  Progress.add_member(:bytes_processed, Shapes::ShapeRef.new(shape: BytesProcessed, location_name: "BytesProcessed"))
1464
2310
  Progress.add_member(:bytes_returned, Shapes::ShapeRef.new(shape: BytesReturned, location_name: "BytesReturned"))
1465
2311
  Progress.struct_class = Types::Progress
1466
2312
 
1467
- PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1468
- 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/"}}))
2313
+ ProgressEvent.add_member(:details, Shapes::ShapeRef.new(shape: Progress, eventpayload: true, eventpayload_type: 'structure', location_name: "Details", metadata: {"eventpayload" => true}))
2314
+ ProgressEvent.struct_class = Types::ProgressEvent
2315
+
2316
+ PublicAccessBlockConfiguration.add_member(:block_public_acls, Shapes::ShapeRef.new(shape: Setting, location_name: "BlockPublicAcls"))
2317
+ PublicAccessBlockConfiguration.add_member(:ignore_public_acls, Shapes::ShapeRef.new(shape: Setting, location_name: "IgnorePublicAcls"))
2318
+ PublicAccessBlockConfiguration.add_member(:block_public_policy, Shapes::ShapeRef.new(shape: Setting, location_name: "BlockPublicPolicy"))
2319
+ PublicAccessBlockConfiguration.add_member(:restrict_public_buckets, Shapes::ShapeRef.new(shape: Setting, location_name: "RestrictPublicBuckets"))
2320
+ PublicAccessBlockConfiguration.struct_class = Types::PublicAccessBlockConfiguration
2321
+
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"))
1469
2335
  PutBucketAccelerateConfigurationRequest.struct_class = Types::PutBucketAccelerateConfigurationRequest
1470
2336
  PutBucketAccelerateConfigurationRequest[:payload] = :accelerate_configuration
1471
2337
  PutBucketAccelerateConfigurationRequest[:payload_member] = PutBucketAccelerateConfigurationRequest.member(:accelerate_configuration)
1472
2338
 
1473
2339
  PutBucketAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
1474
- 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/"}}))
1475
- PutBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
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"}}))
1476
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"))
1477
2344
  PutBucketAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
1478
2345
  PutBucketAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
1479
2346
  PutBucketAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
1480
2347
  PutBucketAclRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
1481
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"))
1482
2350
  PutBucketAclRequest.struct_class = Types::PutBucketAclRequest
1483
2351
  PutBucketAclRequest[:payload] = :access_control_policy
1484
2352
  PutBucketAclRequest[:payload_member] = PutBucketAclRequest.member(:access_control_policy)
1485
2353
 
1486
- 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"}}))
1487
2355
  PutBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
1488
- 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"))
1489
2358
  PutBucketAnalyticsConfigurationRequest.struct_class = Types::PutBucketAnalyticsConfigurationRequest
1490
2359
  PutBucketAnalyticsConfigurationRequest[:payload] = :analytics_configuration
1491
2360
  PutBucketAnalyticsConfigurationRequest[:payload_member] = PutBucketAnalyticsConfigurationRequest.member(:analytics_configuration)
1492
2361
 
1493
- PutBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1494
- 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/"}}))
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/"}}))
1495
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"))
1496
2367
  PutBucketCorsRequest.struct_class = Types::PutBucketCorsRequest
1497
2368
  PutBucketCorsRequest[:payload] = :cors_configuration
1498
2369
  PutBucketCorsRequest[:payload_member] = PutBucketCorsRequest.member(:cors_configuration)
1499
2370
 
1500
- PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2371
+ PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1501
2372
  PutBucketEncryptionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1502
- 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/"}}))
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"))
1503
2376
  PutBucketEncryptionRequest.struct_class = Types::PutBucketEncryptionRequest
1504
2377
  PutBucketEncryptionRequest[:payload] = :server_side_encryption_configuration
1505
2378
  PutBucketEncryptionRequest[:payload_member] = PutBucketEncryptionRequest.member(:server_side_encryption_configuration)
1506
2379
 
1507
- 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"}}))
1508
2389
  PutBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
1509
- 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"))
1510
2392
  PutBucketInventoryConfigurationRequest.struct_class = Types::PutBucketInventoryConfigurationRequest
1511
2393
  PutBucketInventoryConfigurationRequest[:payload] = :inventory_configuration
1512
2394
  PutBucketInventoryConfigurationRequest[:payload_member] = PutBucketInventoryConfigurationRequest.member(:inventory_configuration)
1513
2395
 
1514
- PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1515
- 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"))
1516
2404
  PutBucketLifecycleConfigurationRequest.struct_class = Types::PutBucketLifecycleConfigurationRequest
1517
2405
  PutBucketLifecycleConfigurationRequest[:payload] = :lifecycle_configuration
1518
2406
  PutBucketLifecycleConfigurationRequest[:payload_member] = PutBucketLifecycleConfigurationRequest.member(:lifecycle_configuration)
1519
2407
 
1520
- PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2408
+ PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1521
2409
  PutBucketLifecycleRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1522
- PutBucketLifecycleRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: LifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
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"))
1523
2413
  PutBucketLifecycleRequest.struct_class = Types::PutBucketLifecycleRequest
1524
2414
  PutBucketLifecycleRequest[:payload] = :lifecycle_configuration
1525
2415
  PutBucketLifecycleRequest[:payload_member] = PutBucketLifecycleRequest.member(:lifecycle_configuration)
1526
2416
 
1527
- PutBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1528
- 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/"}}))
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/"}}))
1529
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"))
1530
2422
  PutBucketLoggingRequest.struct_class = Types::PutBucketLoggingRequest
1531
2423
  PutBucketLoggingRequest[:payload] = :bucket_logging_status
1532
2424
  PutBucketLoggingRequest[:payload_member] = PutBucketLoggingRequest.member(:bucket_logging_status)
1533
2425
 
1534
- 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"}}))
1535
2427
  PutBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
1536
- 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"))
1537
2430
  PutBucketMetricsConfigurationRequest.struct_class = Types::PutBucketMetricsConfigurationRequest
1538
2431
  PutBucketMetricsConfigurationRequest[:payload] = :metrics_configuration
1539
2432
  PutBucketMetricsConfigurationRequest[:payload_member] = PutBucketMetricsConfigurationRequest.member(:metrics_configuration)
1540
2433
 
1541
- PutBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1542
- 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"))
1543
2438
  PutBucketNotificationConfigurationRequest.struct_class = Types::PutBucketNotificationConfigurationRequest
1544
2439
  PutBucketNotificationConfigurationRequest[:payload] = :notification_configuration
1545
2440
  PutBucketNotificationConfigurationRequest[:payload_member] = PutBucketNotificationConfigurationRequest.member(:notification_configuration)
1546
2441
 
1547
- PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2442
+ PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1548
2443
  PutBucketNotificationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1549
- 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/"}}))
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"))
1550
2447
  PutBucketNotificationRequest.struct_class = Types::PutBucketNotificationRequest
1551
2448
  PutBucketNotificationRequest[:payload] = :notification_configuration
1552
2449
  PutBucketNotificationRequest[:payload_member] = PutBucketNotificationRequest.member(:notification_configuration)
1553
2450
 
1554
- PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
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"}}))
1555
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"))
1556
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"))
1557
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"))
1558
2466
  PutBucketPolicyRequest.struct_class = Types::PutBucketPolicyRequest
1559
2467
  PutBucketPolicyRequest[:payload] = :policy
1560
2468
  PutBucketPolicyRequest[:payload_member] = PutBucketPolicyRequest.member(:policy)
1561
2469
 
1562
- PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2470
+ PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1563
2471
  PutBucketReplicationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1564
- 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/"}}))
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/"}}))
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"))
1565
2476
  PutBucketReplicationRequest.struct_class = Types::PutBucketReplicationRequest
1566
2477
  PutBucketReplicationRequest[:payload] = :replication_configuration
1567
2478
  PutBucketReplicationRequest[:payload_member] = PutBucketReplicationRequest.member(:replication_configuration)
1568
2479
 
1569
- PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2480
+ PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1570
2481
  PutBucketRequestPaymentRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1571
- 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/"}}))
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"))
1572
2485
  PutBucketRequestPaymentRequest.struct_class = Types::PutBucketRequestPaymentRequest
1573
2486
  PutBucketRequestPaymentRequest[:payload] = :request_payment_configuration
1574
2487
  PutBucketRequestPaymentRequest[:payload_member] = PutBucketRequestPaymentRequest.member(:request_payment_configuration)
1575
2488
 
1576
- PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2489
+ PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1577
2490
  PutBucketTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1578
- 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/"}}))
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"))
1579
2494
  PutBucketTaggingRequest.struct_class = Types::PutBucketTaggingRequest
1580
2495
  PutBucketTaggingRequest[:payload] = :tagging
1581
2496
  PutBucketTaggingRequest[:payload_member] = PutBucketTaggingRequest.member(:tagging)
1582
2497
 
1583
- PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2498
+ PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1584
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"))
1585
2501
  PutBucketVersioningRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
1586
- 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"))
1587
2504
  PutBucketVersioningRequest.struct_class = Types::PutBucketVersioningRequest
1588
2505
  PutBucketVersioningRequest[:payload] = :versioning_configuration
1589
2506
  PutBucketVersioningRequest[:payload_member] = PutBucketVersioningRequest.member(:versioning_configuration)
1590
2507
 
1591
- PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2508
+ PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1592
2509
  PutBucketWebsiteRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1593
- 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/"}}))
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"))
1594
2513
  PutBucketWebsiteRequest.struct_class = Types::PutBucketWebsiteRequest
1595
2514
  PutBucketWebsiteRequest[:payload] = :website_configuration
1596
2515
  PutBucketWebsiteRequest[:payload_member] = PutBucketWebsiteRequest.member(:website_configuration)
@@ -1599,34 +2518,74 @@ module Aws::S3
1599
2518
  PutObjectAclOutput.struct_class = Types::PutObjectAclOutput
1600
2519
 
1601
2520
  PutObjectAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
1602
- 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/"}}))
1603
- PutObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
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"}}))
1604
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"))
1605
2525
  PutObjectAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
1606
2526
  PutObjectAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
1607
2527
  PutObjectAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
1608
2528
  PutObjectAclRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
1609
2529
  PutObjectAclRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
1610
- 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"}}))
1611
2531
  PutObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1612
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"))
1613
2534
  PutObjectAclRequest.struct_class = Types::PutObjectAclRequest
1614
2535
  PutObjectAclRequest[:payload] = :access_control_policy
1615
2536
  PutObjectAclRequest[:payload_member] = PutObjectAclRequest.member(:access_control_policy)
1616
2537
 
2538
+ PutObjectLegalHoldOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2539
+ PutObjectLegalHoldOutput.struct_class = Types::PutObjectLegalHoldOutput
2540
+
2541
+ PutObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2542
+ PutObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
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/"}}))
2544
+ PutObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2545
+ PutObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
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"))
2549
+ PutObjectLegalHoldRequest.struct_class = Types::PutObjectLegalHoldRequest
2550
+ PutObjectLegalHoldRequest[:payload] = :legal_hold
2551
+ PutObjectLegalHoldRequest[:payload_member] = PutObjectLegalHoldRequest.member(:legal_hold)
2552
+
2553
+ PutObjectLockConfigurationOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2554
+ PutObjectLockConfigurationOutput.struct_class = Types::PutObjectLockConfigurationOutput
2555
+
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/"}}))
2558
+ PutObjectLockConfigurationRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2559
+ PutObjectLockConfigurationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
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"))
2563
+ PutObjectLockConfigurationRequest.struct_class = Types::PutObjectLockConfigurationRequest
2564
+ PutObjectLockConfigurationRequest[:payload] = :object_lock_configuration
2565
+ PutObjectLockConfigurationRequest[:payload_member] = PutObjectLockConfigurationRequest.member(:object_lock_configuration)
2566
+
1617
2567
  PutObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
1618
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"))
1619
2575
  PutObjectOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
1620
2576
  PutObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1621
2577
  PutObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1622
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"))
1623
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"))
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"))
1624
2583
  PutObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1625
2584
  PutObjectOutput.struct_class = Types::PutObjectOutput
1626
2585
 
1627
2586
  PutObjectRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
1628
- PutObjectRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
1629
- 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"}}))
1630
2589
  PutObjectRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
1631
2590
  PutObjectRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
1632
2591
  PutObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
@@ -1634,12 +2593,21 @@ module Aws::S3
1634
2593
  PutObjectRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1635
2594
  PutObjectRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1636
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"))
1637
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"))
1638
2605
  PutObjectRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
1639
2606
  PutObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
1640
2607
  PutObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
1641
2608
  PutObjectRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
1642
- 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"))
1643
2611
  PutObjectRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
1644
2612
  PutObjectRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
1645
2613
  PutObjectRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
@@ -1648,24 +2616,58 @@ module Aws::S3
1648
2616
  PutObjectRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1649
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"))
1650
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"))
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"))
1651
2621
  PutObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1652
2622
  PutObjectRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: TaggingHeader, location: "header", location_name: "x-amz-tagging"))
2623
+ PutObjectRequest.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
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"))
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"))
1653
2627
  PutObjectRequest.struct_class = Types::PutObjectRequest
1654
2628
  PutObjectRequest[:payload] = :body
1655
2629
  PutObjectRequest[:payload_member] = PutObjectRequest.member(:body)
1656
2630
 
2631
+ PutObjectRetentionOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2632
+ PutObjectRetentionOutput.struct_class = Types::PutObjectRetentionOutput
2633
+
2634
+ PutObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2635
+ PutObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2636
+ PutObjectRetentionRequest.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2637
+ PutObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2638
+ PutObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2639
+ PutObjectRetentionRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
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"))
2643
+ PutObjectRetentionRequest.struct_class = Types::PutObjectRetentionRequest
2644
+ PutObjectRetentionRequest[:payload] = :retention
2645
+ PutObjectRetentionRequest[:payload_member] = PutObjectRetentionRequest.member(:retention)
2646
+
1657
2647
  PutObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1658
2648
  PutObjectTaggingOutput.struct_class = Types::PutObjectTaggingOutput
1659
2649
 
1660
- 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"}}))
1661
2651
  PutObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1662
2652
  PutObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1663
2653
  PutObjectTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1664
- 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/"}}))
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"))
1665
2658
  PutObjectTaggingRequest.struct_class = Types::PutObjectTaggingRequest
1666
2659
  PutObjectTaggingRequest[:payload] = :tagging
1667
2660
  PutObjectTaggingRequest[:payload_member] = PutObjectTaggingRequest.member(:tagging)
1668
2661
 
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"))
2667
+ PutPublicAccessBlockRequest.struct_class = Types::PutPublicAccessBlockRequest
2668
+ PutPublicAccessBlockRequest[:payload] = :public_access_block_configuration
2669
+ PutPublicAccessBlockRequest[:payload_member] = PutPublicAccessBlockRequest.member(:public_access_block_configuration)
2670
+
1669
2671
  QueueConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
1670
2672
  QueueConfiguration.add_member(:queue_arn, Shapes::ShapeRef.new(shape: QueueArn, required: true, location_name: "Queue"))
1671
2673
  QueueConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, required: true, location_name: "Event"))
@@ -1680,6 +2682,13 @@ module Aws::S3
1680
2682
 
1681
2683
  QueueConfigurationList.member = Shapes::ShapeRef.new(shape: QueueConfiguration)
1682
2684
 
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}))
2690
+ RecordsEvent.struct_class = Types::RecordsEvent
2691
+
1683
2692
  Redirect.add_member(:host_name, Shapes::ShapeRef.new(shape: HostName, location_name: "HostName"))
1684
2693
  Redirect.add_member(:http_redirect_code, Shapes::ShapeRef.new(shape: HttpRedirectCode, location_name: "HttpRedirectCode"))
1685
2694
  Redirect.add_member(:protocol, Shapes::ShapeRef.new(shape: Protocol, location_name: "Protocol"))
@@ -1691,19 +2700,58 @@ module Aws::S3
1691
2700
  RedirectAllRequestsTo.add_member(:protocol, Shapes::ShapeRef.new(shape: Protocol, location_name: "Protocol"))
1692
2701
  RedirectAllRequestsTo.struct_class = Types::RedirectAllRequestsTo
1693
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
+
1694
2722
  ReplicationConfiguration.add_member(:role, Shapes::ShapeRef.new(shape: Role, required: true, location_name: "Role"))
1695
2723
  ReplicationConfiguration.add_member(:rules, Shapes::ShapeRef.new(shape: ReplicationRules, required: true, location_name: "Rule"))
1696
2724
  ReplicationConfiguration.struct_class = Types::ReplicationConfiguration
1697
2725
 
1698
2726
  ReplicationRule.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
1699
- ReplicationRule.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, required: true, location_name: "Prefix"))
2727
+ ReplicationRule.add_member(:priority, Shapes::ShapeRef.new(shape: Priority, location_name: "Priority"))
2728
+ ReplicationRule.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, deprecated: true, location_name: "Prefix"))
2729
+ ReplicationRule.add_member(:filter, Shapes::ShapeRef.new(shape: ReplicationRuleFilter, location_name: "Filter"))
1700
2730
  ReplicationRule.add_member(:status, Shapes::ShapeRef.new(shape: ReplicationRuleStatus, required: true, location_name: "Status"))
1701
2731
  ReplicationRule.add_member(:source_selection_criteria, Shapes::ShapeRef.new(shape: SourceSelectionCriteria, location_name: "SourceSelectionCriteria"))
2732
+ ReplicationRule.add_member(:existing_object_replication, Shapes::ShapeRef.new(shape: ExistingObjectReplication, location_name: "ExistingObjectReplication"))
1702
2733
  ReplicationRule.add_member(:destination, Shapes::ShapeRef.new(shape: Destination, required: true, location_name: "Destination"))
2734
+ ReplicationRule.add_member(:delete_marker_replication, Shapes::ShapeRef.new(shape: DeleteMarkerReplication, location_name: "DeleteMarkerReplication"))
1703
2735
  ReplicationRule.struct_class = Types::ReplicationRule
1704
2736
 
2737
+ ReplicationRuleAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
2738
+ ReplicationRuleAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened" => true}))
2739
+ ReplicationRuleAndOperator.struct_class = Types::ReplicationRuleAndOperator
2740
+
2741
+ ReplicationRuleFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
2742
+ ReplicationRuleFilter.add_member(:tag, Shapes::ShapeRef.new(shape: Tag, location_name: "Tag"))
2743
+ ReplicationRuleFilter.add_member(:and, Shapes::ShapeRef.new(shape: ReplicationRuleAndOperator, location_name: "And"))
2744
+ ReplicationRuleFilter.struct_class = Types::ReplicationRuleFilter
2745
+
1705
2746
  ReplicationRules.member = Shapes::ShapeRef.new(shape: ReplicationRule)
1706
2747
 
2748
+ ReplicationTime.add_member(:status, Shapes::ShapeRef.new(shape: ReplicationTimeStatus, required: true, location_name: "Status"))
2749
+ ReplicationTime.add_member(:time, Shapes::ShapeRef.new(shape: ReplicationTimeValue, required: true, location_name: "Time"))
2750
+ ReplicationTime.struct_class = Types::ReplicationTime
2751
+
2752
+ ReplicationTimeValue.add_member(:minutes, Shapes::ShapeRef.new(shape: Minutes, location_name: "Minutes"))
2753
+ ReplicationTimeValue.struct_class = Types::ReplicationTimeValue
2754
+
1707
2755
  RequestPaymentConfiguration.add_member(:payer, Shapes::ShapeRef.new(shape: Payer, required: true, location_name: "Payer"))
1708
2756
  RequestPaymentConfiguration.struct_class = Types::RequestPaymentConfiguration
1709
2757
 
@@ -1714,11 +2762,13 @@ module Aws::S3
1714
2762
  RestoreObjectOutput.add_member(:restore_output_path, Shapes::ShapeRef.new(shape: RestoreOutputPath, location: "header", location_name: "x-amz-restore-output-path"))
1715
2763
  RestoreObjectOutput.struct_class = Types::RestoreObjectOutput
1716
2764
 
1717
- 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"}}))
1718
2766
  RestoreObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1719
2767
  RestoreObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1720
- 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/"}}))
1721
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"))
1722
2772
  RestoreObjectRequest.struct_class = Types::RestoreObjectRequest
1723
2773
  RestoreObjectRequest[:payload] = :restore_request
1724
2774
  RestoreObjectRequest[:payload_member] = RestoreObjectRequest.member(:restore_request)
@@ -1732,6 +2782,10 @@ module Aws::S3
1732
2782
  RestoreRequest.add_member(:output_location, Shapes::ShapeRef.new(shape: OutputLocation, location_name: "OutputLocation"))
1733
2783
  RestoreRequest.struct_class = Types::RestoreRequest
1734
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
+
1735
2789
  RoutingRule.add_member(:condition, Shapes::ShapeRef.new(shape: Condition, location_name: "Condition"))
1736
2790
  RoutingRule.add_member(:redirect, Shapes::ShapeRef.new(shape: Redirect, required: true, location_name: "Redirect"))
1737
2791
  RoutingRule.struct_class = Types::RoutingRule
@@ -1763,11 +2817,51 @@ module Aws::S3
1763
2817
  S3Location.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1764
2818
  S3Location.struct_class = Types::S3Location
1765
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
+
1766
2830
  SSEKMS.add_member(:key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, required: true, location_name: "KeyId"))
1767
2831
  SSEKMS.struct_class = Types::SSEKMS
1768
2832
 
1769
2833
  SSES3.struct_class = Types::SSES3
1770
2834
 
2835
+ ScanRange.add_member(:start, Shapes::ShapeRef.new(shape: Start, location_name: "Start"))
2836
+ ScanRange.add_member(:end, Shapes::ShapeRef.new(shape: End, location_name: "End"))
2837
+ ScanRange.struct_class = Types::ScanRange
2838
+
2839
+ SelectObjectContentEventStream.add_member(:records, Shapes::ShapeRef.new(shape: RecordsEvent, event: true, location_name: "Records"))
2840
+ SelectObjectContentEventStream.add_member(:stats, Shapes::ShapeRef.new(shape: StatsEvent, event: true, location_name: "Stats"))
2841
+ SelectObjectContentEventStream.add_member(:progress, Shapes::ShapeRef.new(shape: ProgressEvent, event: true, location_name: "Progress"))
2842
+ SelectObjectContentEventStream.add_member(:cont, Shapes::ShapeRef.new(shape: ContinuationEvent, event: true, location_name: "Cont"))
2843
+ SelectObjectContentEventStream.add_member(:end, Shapes::ShapeRef.new(shape: EndEvent, event: true, location_name: "End"))
2844
+ SelectObjectContentEventStream.struct_class = Types::SelectObjectContentEventStream
2845
+
2846
+ SelectObjectContentOutput.add_member(:payload, Shapes::ShapeRef.new(shape: SelectObjectContentEventStream, eventstream: true, location_name: "Payload"))
2847
+ SelectObjectContentOutput.struct_class = Types::SelectObjectContentOutput
2848
+ SelectObjectContentOutput[:payload] = :payload
2849
+ SelectObjectContentOutput[:payload_member] = SelectObjectContentOutput.member(:payload)
2850
+
2851
+ SelectObjectContentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2852
+ SelectObjectContentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2853
+ SelectObjectContentRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2854
+ SelectObjectContentRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
2855
+ SelectObjectContentRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
2856
+ SelectObjectContentRequest.add_member(:expression, Shapes::ShapeRef.new(shape: Expression, required: true, location_name: "Expression"))
2857
+ SelectObjectContentRequest.add_member(:expression_type, Shapes::ShapeRef.new(shape: ExpressionType, required: true, location_name: "ExpressionType"))
2858
+ SelectObjectContentRequest.add_member(:request_progress, Shapes::ShapeRef.new(shape: RequestProgress, location_name: "RequestProgress"))
2859
+ SelectObjectContentRequest.add_member(:input_serialization, Shapes::ShapeRef.new(shape: InputSerialization, required: true, location_name: "InputSerialization"))
2860
+ SelectObjectContentRequest.add_member(:output_serialization, Shapes::ShapeRef.new(shape: OutputSerialization, required: true, location_name: "OutputSerialization"))
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"))
2863
+ SelectObjectContentRequest.struct_class = Types::SelectObjectContentRequest
2864
+
1771
2865
  SelectParameters.add_member(:input_serialization, Shapes::ShapeRef.new(shape: InputSerialization, required: true, location_name: "InputSerialization"))
1772
2866
  SelectParameters.add_member(:expression_type, Shapes::ShapeRef.new(shape: ExpressionType, required: true, location_name: "ExpressionType"))
1773
2867
  SelectParameters.add_member(:expression, Shapes::ShapeRef.new(shape: Expression, required: true, location_name: "Expression"))
@@ -1782,11 +2876,22 @@ module Aws::S3
1782
2876
  ServerSideEncryptionConfiguration.struct_class = Types::ServerSideEncryptionConfiguration
1783
2877
 
1784
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"))
1785
2881
  ServerSideEncryptionRule.struct_class = Types::ServerSideEncryptionRule
1786
2882
 
1787
2883
  ServerSideEncryptionRules.member = Shapes::ShapeRef.new(shape: ServerSideEncryptionRule)
1788
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
+
1789
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"))
1790
2895
  SourceSelectionCriteria.struct_class = Types::SourceSelectionCriteria
1791
2896
 
1792
2897
  SseKmsEncryptedObjects.add_member(:status, Shapes::ShapeRef.new(shape: SseKmsEncryptedObjectsStatus, required: true, location_name: "Status"))
@@ -1797,6 +2902,9 @@ module Aws::S3
1797
2902
  Stats.add_member(:bytes_returned, Shapes::ShapeRef.new(shape: BytesReturned, location_name: "BytesReturned"))
1798
2903
  Stats.struct_class = Types::Stats
1799
2904
 
2905
+ StatsEvent.add_member(:details, Shapes::ShapeRef.new(shape: Stats, eventpayload: true, eventpayload_type: 'structure', location_name: "Details", metadata: {"eventpayload" => true}))
2906
+ StatsEvent.struct_class = Types::StatsEvent
2907
+
1800
2908
  StorageClassAnalysis.add_member(:data_export, Shapes::ShapeRef.new(shape: StorageClassAnalysisDataExport, location_name: "DataExport"))
1801
2909
  StorageClassAnalysis.struct_class = Types::StorageClassAnalysis
1802
2910
 
@@ -1819,6 +2927,18 @@ module Aws::S3
1819
2927
 
1820
2928
  TargetGrants.member = Shapes::ShapeRef.new(shape: TargetGrant, location_name: "Grant")
1821
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
+
1822
2942
  TopicConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
1823
2943
  TopicConfiguration.add_member(:topic_arn, Shapes::ShapeRef.new(shape: TopicArn, required: true, location_name: "Topic"))
1824
2944
  TopicConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, required: true, location_name: "Event"))
@@ -1840,18 +2960,37 @@ module Aws::S3
1840
2960
 
1841
2961
  TransitionList.member = Shapes::ShapeRef.new(shape: Transition)
1842
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
+
1843
2981
  UploadPartCopyOutput.add_member(:copy_source_version_id, Shapes::ShapeRef.new(shape: CopySourceVersionId, location: "header", location_name: "x-amz-copy-source-version-id"))
1844
2982
  UploadPartCopyOutput.add_member(:copy_part_result, Shapes::ShapeRef.new(shape: CopyPartResult, location_name: "CopyPartResult"))
1845
2983
  UploadPartCopyOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
1846
2984
  UploadPartCopyOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1847
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"))
1848
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"))
1849
2988
  UploadPartCopyOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1850
2989
  UploadPartCopyOutput.struct_class = Types::UploadPartCopyOutput
1851
2990
  UploadPartCopyOutput[:payload] = :copy_part_result
1852
2991
  UploadPartCopyOutput[:payload_member] = UploadPartCopyOutput.member(:copy_part_result)
1853
2992
 
1854
- 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"}}))
1855
2994
  UploadPartCopyRequest.add_member(:copy_source, Shapes::ShapeRef.new(shape: CopySource, required: true, location: "header", location_name: "x-amz-copy-source"))
1856
2995
  UploadPartCopyRequest.add_member(:copy_source_if_match, Shapes::ShapeRef.new(shape: CopySourceIfMatch, location: "header", location_name: "x-amz-copy-source-if-match"))
1857
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"))
@@ -1868,27 +3007,42 @@ module Aws::S3
1868
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"))
1869
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"))
1870
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"))
1871
3012
  UploadPartCopyRequest.struct_class = Types::UploadPartCopyRequest
1872
3013
 
1873
3014
  UploadPartOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
1874
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"))
1875
3021
  UploadPartOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1876
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"))
1877
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"))
1878
3025
  UploadPartOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1879
3026
  UploadPartOutput.struct_class = Types::UploadPartOutput
1880
3027
 
1881
- UploadPartRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
1882
- 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"}}))
1883
3030
  UploadPartRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1884
3031
  UploadPartRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1885
- 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"}}))
1886
3039
  UploadPartRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, required: true, location: "querystring", location_name: "partNumber"))
1887
3040
  UploadPartRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
1888
3041
  UploadPartRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1889
3042
  UploadPartRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1890
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"))
1891
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"))
1892
3046
  UploadPartRequest.struct_class = Types::UploadPartRequest
1893
3047
  UploadPartRequest[:payload] = :body
1894
3048
  UploadPartRequest[:payload_member] = UploadPartRequest.member(:body)
@@ -1905,6 +3059,51 @@ module Aws::S3
1905
3059
  WebsiteConfiguration.add_member(:routing_rules, Shapes::ShapeRef.new(shape: RoutingRules, location_name: "RoutingRules"))
1906
3060
  WebsiteConfiguration.struct_class = Types::WebsiteConfiguration
1907
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
+
1908
3107
 
1909
3108
  # @api private
1910
3109
  API = Seahorse::Model::Api.new.tap do |api|
@@ -1912,16 +3111,23 @@ module Aws::S3
1912
3111
  api.version = "2006-03-01"
1913
3112
 
1914
3113
  api.metadata = {
3114
+ "apiVersion" => "2006-03-01",
3115
+ "auth" => ["aws.auth#sigv4"],
3116
+ "checksumFormat" => "md5",
1915
3117
  "endpointPrefix" => "s3",
3118
+ "globalEndpoint" => "s3.amazonaws.com",
1916
3119
  "protocol" => "rest-xml",
3120
+ "protocols" => ["rest-xml"],
3121
+ "serviceAbbreviation" => "Amazon S3",
1917
3122
  "serviceFullName" => "Amazon Simple Storage Service",
1918
- "timestampFormat" => "rfc822",
3123
+ "serviceId" => "S3",
3124
+ "uid" => "s3-2006-03-01",
1919
3125
  }
1920
3126
 
1921
3127
  api.add_operation(:abort_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
1922
3128
  o.name = "AbortMultipartUpload"
1923
3129
  o.http_method = "DELETE"
1924
- o.http_request_uri = "/{Bucket}/{Key+}"
3130
+ o.http_request_uri = "/{Key+}"
1925
3131
  o.input = Shapes::ShapeRef.new(shape: AbortMultipartUploadRequest)
1926
3132
  o.output = Shapes::ShapeRef.new(shape: AbortMultipartUploadOutput)
1927
3133
  o.errors << Shapes::ShapeRef.new(shape: NoSuchUpload)
@@ -1930,7 +3136,7 @@ module Aws::S3
1930
3136
  api.add_operation(:complete_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
1931
3137
  o.name = "CompleteMultipartUpload"
1932
3138
  o.http_method = "POST"
1933
- o.http_request_uri = "/{Bucket}/{Key+}"
3139
+ o.http_request_uri = "/{Key+}"
1934
3140
  o.input = Shapes::ShapeRef.new(shape: CompleteMultipartUploadRequest)
1935
3141
  o.output = Shapes::ShapeRef.new(shape: CompleteMultipartUploadOutput)
1936
3142
  end)
@@ -1938,7 +3144,7 @@ module Aws::S3
1938
3144
  api.add_operation(:copy_object, Seahorse::Model::Operation.new.tap do |o|
1939
3145
  o.name = "CopyObject"
1940
3146
  o.http_method = "PUT"
1941
- o.http_request_uri = "/{Bucket}/{Key+}"
3147
+ o.http_request_uri = "/{Key+}"
1942
3148
  o.input = Shapes::ShapeRef.new(shape: CopyObjectRequest)
1943
3149
  o.output = Shapes::ShapeRef.new(shape: CopyObjectOutput)
1944
3150
  o.errors << Shapes::ShapeRef.new(shape: ObjectNotInActiveTierError)
@@ -1947,25 +3153,66 @@ module Aws::S3
1947
3153
  api.add_operation(:create_bucket, Seahorse::Model::Operation.new.tap do |o|
1948
3154
  o.name = "CreateBucket"
1949
3155
  o.http_method = "PUT"
1950
- o.http_request_uri = "/{Bucket}"
3156
+ o.http_request_uri = "/"
1951
3157
  o.input = Shapes::ShapeRef.new(shape: CreateBucketRequest)
1952
3158
  o.output = Shapes::ShapeRef.new(shape: CreateBucketOutput)
1953
3159
  o.errors << Shapes::ShapeRef.new(shape: BucketAlreadyExists)
1954
3160
  o.errors << Shapes::ShapeRef.new(shape: BucketAlreadyOwnedByYou)
1955
3161
  end)
1956
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
+
1957
3195
  api.add_operation(:create_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
1958
3196
  o.name = "CreateMultipartUpload"
1959
3197
  o.http_method = "POST"
1960
- o.http_request_uri = "/{Bucket}/{Key+}?uploads"
3198
+ o.http_request_uri = "/{Key+}?uploads"
1961
3199
  o.input = Shapes::ShapeRef.new(shape: CreateMultipartUploadRequest)
1962
3200
  o.output = Shapes::ShapeRef.new(shape: CreateMultipartUploadOutput)
1963
3201
  end)
1964
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
+
1965
3212
  api.add_operation(:delete_bucket, Seahorse::Model::Operation.new.tap do |o|
1966
3213
  o.name = "DeleteBucket"
1967
3214
  o.http_method = "DELETE"
1968
- o.http_request_uri = "/{Bucket}"
3215
+ o.http_request_uri = "/"
1969
3216
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketRequest)
1970
3217
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1971
3218
  end)
@@ -1973,7 +3220,7 @@ module Aws::S3
1973
3220
  api.add_operation(:delete_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
1974
3221
  o.name = "DeleteBucketAnalyticsConfiguration"
1975
3222
  o.http_method = "DELETE"
1976
- o.http_request_uri = "/{Bucket}?analytics"
3223
+ o.http_request_uri = "/?analytics"
1977
3224
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketAnalyticsConfigurationRequest)
1978
3225
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1979
3226
  end)
@@ -1981,7 +3228,7 @@ module Aws::S3
1981
3228
  api.add_operation(:delete_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
1982
3229
  o.name = "DeleteBucketCors"
1983
3230
  o.http_method = "DELETE"
1984
- o.http_request_uri = "/{Bucket}?cors"
3231
+ o.http_request_uri = "/?cors"
1985
3232
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketCorsRequest)
1986
3233
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1987
3234
  end)
@@ -1989,15 +3236,23 @@ module Aws::S3
1989
3236
  api.add_operation(:delete_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
1990
3237
  o.name = "DeleteBucketEncryption"
1991
3238
  o.http_method = "DELETE"
1992
- o.http_request_uri = "/{Bucket}?encryption"
3239
+ o.http_request_uri = "/?encryption"
1993
3240
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketEncryptionRequest)
1994
3241
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
1995
3242
  end)
1996
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
+
1997
3252
  api.add_operation(:delete_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
1998
3253
  o.name = "DeleteBucketInventoryConfiguration"
1999
3254
  o.http_method = "DELETE"
2000
- o.http_request_uri = "/{Bucket}?inventory"
3255
+ o.http_request_uri = "/?inventory"
2001
3256
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketInventoryConfigurationRequest)
2002
3257
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2003
3258
  end)
@@ -2005,23 +3260,47 @@ module Aws::S3
2005
3260
  api.add_operation(:delete_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2006
3261
  o.name = "DeleteBucketLifecycle"
2007
3262
  o.http_method = "DELETE"
2008
- o.http_request_uri = "/{Bucket}?lifecycle"
3263
+ o.http_request_uri = "/?lifecycle"
2009
3264
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketLifecycleRequest)
2010
3265
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2011
3266
  end)
2012
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
+
2013
3284
  api.add_operation(:delete_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2014
3285
  o.name = "DeleteBucketMetricsConfiguration"
2015
3286
  o.http_method = "DELETE"
2016
- o.http_request_uri = "/{Bucket}?metrics"
3287
+ o.http_request_uri = "/?metrics"
2017
3288
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketMetricsConfigurationRequest)
2018
3289
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2019
3290
  end)
2020
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
+
2021
3300
  api.add_operation(:delete_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2022
3301
  o.name = "DeleteBucketPolicy"
2023
3302
  o.http_method = "DELETE"
2024
- o.http_request_uri = "/{Bucket}?policy"
3303
+ o.http_request_uri = "/?policy"
2025
3304
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketPolicyRequest)
2026
3305
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2027
3306
  end)
@@ -2029,7 +3308,7 @@ module Aws::S3
2029
3308
  api.add_operation(:delete_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2030
3309
  o.name = "DeleteBucketReplication"
2031
3310
  o.http_method = "DELETE"
2032
- o.http_request_uri = "/{Bucket}?replication"
3311
+ o.http_request_uri = "/?replication"
2033
3312
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketReplicationRequest)
2034
3313
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2035
3314
  end)
@@ -2037,7 +3316,7 @@ module Aws::S3
2037
3316
  api.add_operation(:delete_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2038
3317
  o.name = "DeleteBucketTagging"
2039
3318
  o.http_method = "DELETE"
2040
- o.http_request_uri = "/{Bucket}?tagging"
3319
+ o.http_request_uri = "/?tagging"
2041
3320
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketTaggingRequest)
2042
3321
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2043
3322
  end)
@@ -2045,7 +3324,7 @@ module Aws::S3
2045
3324
  api.add_operation(:delete_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2046
3325
  o.name = "DeleteBucketWebsite"
2047
3326
  o.http_method = "DELETE"
2048
- o.http_request_uri = "/{Bucket}?website"
3327
+ o.http_request_uri = "/?website"
2049
3328
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketWebsiteRequest)
2050
3329
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2051
3330
  end)
@@ -2053,7 +3332,7 @@ module Aws::S3
2053
3332
  api.add_operation(:delete_object, Seahorse::Model::Operation.new.tap do |o|
2054
3333
  o.name = "DeleteObject"
2055
3334
  o.http_method = "DELETE"
2056
- o.http_request_uri = "/{Bucket}/{Key+}"
3335
+ o.http_request_uri = "/{Key+}"
2057
3336
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectRequest)
2058
3337
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectOutput)
2059
3338
  end)
@@ -2061,7 +3340,7 @@ module Aws::S3
2061
3340
  api.add_operation(:delete_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2062
3341
  o.name = "DeleteObjectTagging"
2063
3342
  o.http_method = "DELETE"
2064
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3343
+ o.http_request_uri = "/{Key+}?tagging"
2065
3344
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectTaggingRequest)
2066
3345
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectTaggingOutput)
2067
3346
  end)
@@ -2069,15 +3348,39 @@ module Aws::S3
2069
3348
  api.add_operation(:delete_objects, Seahorse::Model::Operation.new.tap do |o|
2070
3349
  o.name = "DeleteObjects"
2071
3350
  o.http_method = "POST"
2072
- o.http_request_uri = "/{Bucket}?delete"
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
+ }
2073
3360
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectsRequest)
2074
3361
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectsOutput)
2075
3362
  end)
2076
3363
 
3364
+ api.add_operation(:delete_public_access_block, Seahorse::Model::Operation.new.tap do |o|
3365
+ o.name = "DeletePublicAccessBlock"
3366
+ o.http_method = "DELETE"
3367
+ o.http_request_uri = "/?publicAccessBlock"
3368
+ o.input = Shapes::ShapeRef.new(shape: DeletePublicAccessBlockRequest)
3369
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3370
+ end)
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
+
2077
3380
  api.add_operation(:get_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
2078
3381
  o.name = "GetBucketAccelerateConfiguration"
2079
3382
  o.http_method = "GET"
2080
- o.http_request_uri = "/{Bucket}?accelerate"
3383
+ o.http_request_uri = "/?accelerate"
2081
3384
  o.input = Shapes::ShapeRef.new(shape: GetBucketAccelerateConfigurationRequest)
2082
3385
  o.output = Shapes::ShapeRef.new(shape: GetBucketAccelerateConfigurationOutput)
2083
3386
  end)
@@ -2085,7 +3388,7 @@ module Aws::S3
2085
3388
  api.add_operation(:get_bucket_acl, Seahorse::Model::Operation.new.tap do |o|
2086
3389
  o.name = "GetBucketAcl"
2087
3390
  o.http_method = "GET"
2088
- o.http_request_uri = "/{Bucket}?acl"
3391
+ o.http_request_uri = "/?acl"
2089
3392
  o.input = Shapes::ShapeRef.new(shape: GetBucketAclRequest)
2090
3393
  o.output = Shapes::ShapeRef.new(shape: GetBucketAclOutput)
2091
3394
  end)
@@ -2093,7 +3396,7 @@ module Aws::S3
2093
3396
  api.add_operation(:get_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
2094
3397
  o.name = "GetBucketAnalyticsConfiguration"
2095
3398
  o.http_method = "GET"
2096
- o.http_request_uri = "/{Bucket}?analytics"
3399
+ o.http_request_uri = "/?analytics"
2097
3400
  o.input = Shapes::ShapeRef.new(shape: GetBucketAnalyticsConfigurationRequest)
2098
3401
  o.output = Shapes::ShapeRef.new(shape: GetBucketAnalyticsConfigurationOutput)
2099
3402
  end)
@@ -2101,7 +3404,7 @@ module Aws::S3
2101
3404
  api.add_operation(:get_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
2102
3405
  o.name = "GetBucketCors"
2103
3406
  o.http_method = "GET"
2104
- o.http_request_uri = "/{Bucket}?cors"
3407
+ o.http_request_uri = "/?cors"
2105
3408
  o.input = Shapes::ShapeRef.new(shape: GetBucketCorsRequest)
2106
3409
  o.output = Shapes::ShapeRef.new(shape: GetBucketCorsOutput)
2107
3410
  end)
@@ -2109,15 +3412,23 @@ module Aws::S3
2109
3412
  api.add_operation(:get_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2110
3413
  o.name = "GetBucketEncryption"
2111
3414
  o.http_method = "GET"
2112
- o.http_request_uri = "/{Bucket}?encryption"
3415
+ o.http_request_uri = "/?encryption"
2113
3416
  o.input = Shapes::ShapeRef.new(shape: GetBucketEncryptionRequest)
2114
3417
  o.output = Shapes::ShapeRef.new(shape: GetBucketEncryptionOutput)
2115
3418
  end)
2116
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
+
2117
3428
  api.add_operation(:get_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2118
3429
  o.name = "GetBucketInventoryConfiguration"
2119
3430
  o.http_method = "GET"
2120
- o.http_request_uri = "/{Bucket}?inventory"
3431
+ o.http_request_uri = "/?inventory"
2121
3432
  o.input = Shapes::ShapeRef.new(shape: GetBucketInventoryConfigurationRequest)
2122
3433
  o.output = Shapes::ShapeRef.new(shape: GetBucketInventoryConfigurationOutput)
2123
3434
  end)
@@ -2125,7 +3436,7 @@ module Aws::S3
2125
3436
  api.add_operation(:get_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2126
3437
  o.name = "GetBucketLifecycle"
2127
3438
  o.http_method = "GET"
2128
- o.http_request_uri = "/{Bucket}?lifecycle"
3439
+ o.http_request_uri = "/?lifecycle"
2129
3440
  o.deprecated = true
2130
3441
  o.input = Shapes::ShapeRef.new(shape: GetBucketLifecycleRequest)
2131
3442
  o.output = Shapes::ShapeRef.new(shape: GetBucketLifecycleOutput)
@@ -2134,7 +3445,7 @@ module Aws::S3
2134
3445
  api.add_operation(:get_bucket_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
2135
3446
  o.name = "GetBucketLifecycleConfiguration"
2136
3447
  o.http_method = "GET"
2137
- o.http_request_uri = "/{Bucket}?lifecycle"
3448
+ o.http_request_uri = "/?lifecycle"
2138
3449
  o.input = Shapes::ShapeRef.new(shape: GetBucketLifecycleConfigurationRequest)
2139
3450
  o.output = Shapes::ShapeRef.new(shape: GetBucketLifecycleConfigurationOutput)
2140
3451
  end)
@@ -2142,7 +3453,7 @@ module Aws::S3
2142
3453
  api.add_operation(:get_bucket_location, Seahorse::Model::Operation.new.tap do |o|
2143
3454
  o.name = "GetBucketLocation"
2144
3455
  o.http_method = "GET"
2145
- o.http_request_uri = "/{Bucket}?location"
3456
+ o.http_request_uri = "/?location"
2146
3457
  o.input = Shapes::ShapeRef.new(shape: GetBucketLocationRequest)
2147
3458
  o.output = Shapes::ShapeRef.new(shape: GetBucketLocationOutput)
2148
3459
  end)
@@ -2150,15 +3461,31 @@ module Aws::S3
2150
3461
  api.add_operation(:get_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
2151
3462
  o.name = "GetBucketLogging"
2152
3463
  o.http_method = "GET"
2153
- o.http_request_uri = "/{Bucket}?logging"
3464
+ o.http_request_uri = "/?logging"
2154
3465
  o.input = Shapes::ShapeRef.new(shape: GetBucketLoggingRequest)
2155
3466
  o.output = Shapes::ShapeRef.new(shape: GetBucketLoggingOutput)
2156
3467
  end)
2157
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
+
2158
3485
  api.add_operation(:get_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2159
3486
  o.name = "GetBucketMetricsConfiguration"
2160
3487
  o.http_method = "GET"
2161
- o.http_request_uri = "/{Bucket}?metrics"
3488
+ o.http_request_uri = "/?metrics"
2162
3489
  o.input = Shapes::ShapeRef.new(shape: GetBucketMetricsConfigurationRequest)
2163
3490
  o.output = Shapes::ShapeRef.new(shape: GetBucketMetricsConfigurationOutput)
2164
3491
  end)
@@ -2166,7 +3493,7 @@ module Aws::S3
2166
3493
  api.add_operation(:get_bucket_notification, Seahorse::Model::Operation.new.tap do |o|
2167
3494
  o.name = "GetBucketNotification"
2168
3495
  o.http_method = "GET"
2169
- o.http_request_uri = "/{Bucket}?notification"
3496
+ o.http_request_uri = "/?notification"
2170
3497
  o.deprecated = true
2171
3498
  o.input = Shapes::ShapeRef.new(shape: GetBucketNotificationConfigurationRequest)
2172
3499
  o.output = Shapes::ShapeRef.new(shape: NotificationConfigurationDeprecated)
@@ -2175,23 +3502,39 @@ module Aws::S3
2175
3502
  api.add_operation(:get_bucket_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
2176
3503
  o.name = "GetBucketNotificationConfiguration"
2177
3504
  o.http_method = "GET"
2178
- o.http_request_uri = "/{Bucket}?notification"
3505
+ o.http_request_uri = "/?notification"
2179
3506
  o.input = Shapes::ShapeRef.new(shape: GetBucketNotificationConfigurationRequest)
2180
3507
  o.output = Shapes::ShapeRef.new(shape: NotificationConfiguration)
2181
3508
  end)
2182
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
+
2183
3518
  api.add_operation(:get_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2184
3519
  o.name = "GetBucketPolicy"
2185
3520
  o.http_method = "GET"
2186
- o.http_request_uri = "/{Bucket}?policy"
3521
+ o.http_request_uri = "/?policy"
2187
3522
  o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyRequest)
2188
3523
  o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyOutput)
2189
3524
  end)
2190
3525
 
3526
+ api.add_operation(:get_bucket_policy_status, Seahorse::Model::Operation.new.tap do |o|
3527
+ o.name = "GetBucketPolicyStatus"
3528
+ o.http_method = "GET"
3529
+ o.http_request_uri = "/?policyStatus"
3530
+ o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusRequest)
3531
+ o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusOutput)
3532
+ end)
3533
+
2191
3534
  api.add_operation(:get_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2192
3535
  o.name = "GetBucketReplication"
2193
3536
  o.http_method = "GET"
2194
- o.http_request_uri = "/{Bucket}?replication"
3537
+ o.http_request_uri = "/?replication"
2195
3538
  o.input = Shapes::ShapeRef.new(shape: GetBucketReplicationRequest)
2196
3539
  o.output = Shapes::ShapeRef.new(shape: GetBucketReplicationOutput)
2197
3540
  end)
@@ -2199,7 +3542,7 @@ module Aws::S3
2199
3542
  api.add_operation(:get_bucket_request_payment, Seahorse::Model::Operation.new.tap do |o|
2200
3543
  o.name = "GetBucketRequestPayment"
2201
3544
  o.http_method = "GET"
2202
- o.http_request_uri = "/{Bucket}?requestPayment"
3545
+ o.http_request_uri = "/?requestPayment"
2203
3546
  o.input = Shapes::ShapeRef.new(shape: GetBucketRequestPaymentRequest)
2204
3547
  o.output = Shapes::ShapeRef.new(shape: GetBucketRequestPaymentOutput)
2205
3548
  end)
@@ -2207,7 +3550,7 @@ module Aws::S3
2207
3550
  api.add_operation(:get_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2208
3551
  o.name = "GetBucketTagging"
2209
3552
  o.http_method = "GET"
2210
- o.http_request_uri = "/{Bucket}?tagging"
3553
+ o.http_request_uri = "/?tagging"
2211
3554
  o.input = Shapes::ShapeRef.new(shape: GetBucketTaggingRequest)
2212
3555
  o.output = Shapes::ShapeRef.new(shape: GetBucketTaggingOutput)
2213
3556
  end)
@@ -2215,7 +3558,7 @@ module Aws::S3
2215
3558
  api.add_operation(:get_bucket_versioning, Seahorse::Model::Operation.new.tap do |o|
2216
3559
  o.name = "GetBucketVersioning"
2217
3560
  o.http_method = "GET"
2218
- o.http_request_uri = "/{Bucket}?versioning"
3561
+ o.http_request_uri = "/?versioning"
2219
3562
  o.input = Shapes::ShapeRef.new(shape: GetBucketVersioningRequest)
2220
3563
  o.output = Shapes::ShapeRef.new(shape: GetBucketVersioningOutput)
2221
3564
  end)
@@ -2223,7 +3566,7 @@ module Aws::S3
2223
3566
  api.add_operation(:get_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2224
3567
  o.name = "GetBucketWebsite"
2225
3568
  o.http_method = "GET"
2226
- o.http_request_uri = "/{Bucket}?website"
3569
+ o.http_request_uri = "/?website"
2227
3570
  o.input = Shapes::ShapeRef.new(shape: GetBucketWebsiteRequest)
2228
3571
  o.output = Shapes::ShapeRef.new(shape: GetBucketWebsiteOutput)
2229
3572
  end)
@@ -2231,25 +3574,67 @@ module Aws::S3
2231
3574
  api.add_operation(:get_object, Seahorse::Model::Operation.new.tap do |o|
2232
3575
  o.name = "GetObject"
2233
3576
  o.http_method = "GET"
2234
- 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
+ }
2235
3586
  o.input = Shapes::ShapeRef.new(shape: GetObjectRequest)
2236
3587
  o.output = Shapes::ShapeRef.new(shape: GetObjectOutput)
2237
3588
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
3589
+ o.errors << Shapes::ShapeRef.new(shape: InvalidObjectState)
2238
3590
  end)
2239
3591
 
2240
3592
  api.add_operation(:get_object_acl, Seahorse::Model::Operation.new.tap do |o|
2241
3593
  o.name = "GetObjectAcl"
2242
3594
  o.http_method = "GET"
2243
- o.http_request_uri = "/{Bucket}/{Key+}?acl"
3595
+ o.http_request_uri = "/{Key+}?acl"
2244
3596
  o.input = Shapes::ShapeRef.new(shape: GetObjectAclRequest)
2245
3597
  o.output = Shapes::ShapeRef.new(shape: GetObjectAclOutput)
2246
3598
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
2247
3599
  end)
2248
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
+
3610
+ api.add_operation(:get_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
3611
+ o.name = "GetObjectLegalHold"
3612
+ o.http_method = "GET"
3613
+ o.http_request_uri = "/{Key+}?legal-hold"
3614
+ o.input = Shapes::ShapeRef.new(shape: GetObjectLegalHoldRequest)
3615
+ o.output = Shapes::ShapeRef.new(shape: GetObjectLegalHoldOutput)
3616
+ end)
3617
+
3618
+ api.add_operation(:get_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
3619
+ o.name = "GetObjectLockConfiguration"
3620
+ o.http_method = "GET"
3621
+ o.http_request_uri = "/?object-lock"
3622
+ o.input = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationRequest)
3623
+ o.output = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationOutput)
3624
+ end)
3625
+
3626
+ api.add_operation(:get_object_retention, Seahorse::Model::Operation.new.tap do |o|
3627
+ o.name = "GetObjectRetention"
3628
+ o.http_method = "GET"
3629
+ o.http_request_uri = "/{Key+}?retention"
3630
+ o.input = Shapes::ShapeRef.new(shape: GetObjectRetentionRequest)
3631
+ o.output = Shapes::ShapeRef.new(shape: GetObjectRetentionOutput)
3632
+ end)
3633
+
2249
3634
  api.add_operation(:get_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2250
3635
  o.name = "GetObjectTagging"
2251
3636
  o.http_method = "GET"
2252
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3637
+ o.http_request_uri = "/{Key+}?tagging"
2253
3638
  o.input = Shapes::ShapeRef.new(shape: GetObjectTaggingRequest)
2254
3639
  o.output = Shapes::ShapeRef.new(shape: GetObjectTaggingOutput)
2255
3640
  end)
@@ -2257,24 +3642,32 @@ module Aws::S3
2257
3642
  api.add_operation(:get_object_torrent, Seahorse::Model::Operation.new.tap do |o|
2258
3643
  o.name = "GetObjectTorrent"
2259
3644
  o.http_method = "GET"
2260
- o.http_request_uri = "/{Bucket}/{Key+}?torrent"
3645
+ o.http_request_uri = "/{Key+}?torrent"
2261
3646
  o.input = Shapes::ShapeRef.new(shape: GetObjectTorrentRequest)
2262
3647
  o.output = Shapes::ShapeRef.new(shape: GetObjectTorrentOutput)
2263
3648
  end)
2264
3649
 
3650
+ api.add_operation(:get_public_access_block, Seahorse::Model::Operation.new.tap do |o|
3651
+ o.name = "GetPublicAccessBlock"
3652
+ o.http_method = "GET"
3653
+ o.http_request_uri = "/?publicAccessBlock"
3654
+ o.input = Shapes::ShapeRef.new(shape: GetPublicAccessBlockRequest)
3655
+ o.output = Shapes::ShapeRef.new(shape: GetPublicAccessBlockOutput)
3656
+ end)
3657
+
2265
3658
  api.add_operation(:head_bucket, Seahorse::Model::Operation.new.tap do |o|
2266
3659
  o.name = "HeadBucket"
2267
3660
  o.http_method = "HEAD"
2268
- o.http_request_uri = "/{Bucket}"
3661
+ o.http_request_uri = "/"
2269
3662
  o.input = Shapes::ShapeRef.new(shape: HeadBucketRequest)
2270
- o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3663
+ o.output = Shapes::ShapeRef.new(shape: HeadBucketOutput)
2271
3664
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
2272
3665
  end)
2273
3666
 
2274
3667
  api.add_operation(:head_object, Seahorse::Model::Operation.new.tap do |o|
2275
3668
  o.name = "HeadObject"
2276
3669
  o.http_method = "HEAD"
2277
- o.http_request_uri = "/{Bucket}/{Key+}"
3670
+ o.http_request_uri = "/{Key+}"
2278
3671
  o.input = Shapes::ShapeRef.new(shape: HeadObjectRequest)
2279
3672
  o.output = Shapes::ShapeRef.new(shape: HeadObjectOutput)
2280
3673
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -2283,15 +3676,23 @@ module Aws::S3
2283
3676
  api.add_operation(:list_bucket_analytics_configurations, Seahorse::Model::Operation.new.tap do |o|
2284
3677
  o.name = "ListBucketAnalyticsConfigurations"
2285
3678
  o.http_method = "GET"
2286
- o.http_request_uri = "/{Bucket}?analytics"
3679
+ o.http_request_uri = "/?analytics"
2287
3680
  o.input = Shapes::ShapeRef.new(shape: ListBucketAnalyticsConfigurationsRequest)
2288
3681
  o.output = Shapes::ShapeRef.new(shape: ListBucketAnalyticsConfigurationsOutput)
2289
3682
  end)
2290
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
+
2291
3692
  api.add_operation(:list_bucket_inventory_configurations, Seahorse::Model::Operation.new.tap do |o|
2292
3693
  o.name = "ListBucketInventoryConfigurations"
2293
3694
  o.http_method = "GET"
2294
- o.http_request_uri = "/{Bucket}?inventory"
3695
+ o.http_request_uri = "/?inventory"
2295
3696
  o.input = Shapes::ShapeRef.new(shape: ListBucketInventoryConfigurationsRequest)
2296
3697
  o.output = Shapes::ShapeRef.new(shape: ListBucketInventoryConfigurationsOutput)
2297
3698
  end)
@@ -2299,7 +3700,7 @@ module Aws::S3
2299
3700
  api.add_operation(:list_bucket_metrics_configurations, Seahorse::Model::Operation.new.tap do |o|
2300
3701
  o.name = "ListBucketMetricsConfigurations"
2301
3702
  o.http_method = "GET"
2302
- o.http_request_uri = "/{Bucket}?metrics"
3703
+ o.http_request_uri = "/?metrics"
2303
3704
  o.input = Shapes::ShapeRef.new(shape: ListBucketMetricsConfigurationsRequest)
2304
3705
  o.output = Shapes::ShapeRef.new(shape: ListBucketMetricsConfigurationsOutput)
2305
3706
  end)
@@ -2308,14 +3709,34 @@ module Aws::S3
2308
3709
  o.name = "ListBuckets"
2309
3710
  o.http_method = "GET"
2310
3711
  o.http_request_uri = "/"
2311
- o.input = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3712
+ o.input = Shapes::ShapeRef.new(shape: ListBucketsRequest)
2312
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
+ )
2313
3734
  end)
2314
3735
 
2315
3736
  api.add_operation(:list_multipart_uploads, Seahorse::Model::Operation.new.tap do |o|
2316
3737
  o.name = "ListMultipartUploads"
2317
3738
  o.http_method = "GET"
2318
- o.http_request_uri = "/{Bucket}?uploads"
3739
+ o.http_request_uri = "/?uploads"
2319
3740
  o.input = Shapes::ShapeRef.new(shape: ListMultipartUploadsRequest)
2320
3741
  o.output = Shapes::ShapeRef.new(shape: ListMultipartUploadsOutput)
2321
3742
  o[:pager] = Aws::Pager.new(
@@ -2331,7 +3752,7 @@ module Aws::S3
2331
3752
  api.add_operation(:list_object_versions, Seahorse::Model::Operation.new.tap do |o|
2332
3753
  o.name = "ListObjectVersions"
2333
3754
  o.http_method = "GET"
2334
- o.http_request_uri = "/{Bucket}?versions"
3755
+ o.http_request_uri = "/?versions"
2335
3756
  o.input = Shapes::ShapeRef.new(shape: ListObjectVersionsRequest)
2336
3757
  o.output = Shapes::ShapeRef.new(shape: ListObjectVersionsOutput)
2337
3758
  o[:pager] = Aws::Pager.new(
@@ -2347,7 +3768,7 @@ module Aws::S3
2347
3768
  api.add_operation(:list_objects, Seahorse::Model::Operation.new.tap do |o|
2348
3769
  o.name = "ListObjects"
2349
3770
  o.http_method = "GET"
2350
- o.http_request_uri = "/{Bucket}"
3771
+ o.http_request_uri = "/"
2351
3772
  o.input = Shapes::ShapeRef.new(shape: ListObjectsRequest)
2352
3773
  o.output = Shapes::ShapeRef.new(shape: ListObjectsOutput)
2353
3774
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -2363,7 +3784,7 @@ module Aws::S3
2363
3784
  api.add_operation(:list_objects_v2, Seahorse::Model::Operation.new.tap do |o|
2364
3785
  o.name = "ListObjectsV2"
2365
3786
  o.http_method = "GET"
2366
- o.http_request_uri = "/{Bucket}?list-type=2"
3787
+ o.http_request_uri = "/?list-type=2"
2367
3788
  o.input = Shapes::ShapeRef.new(shape: ListObjectsV2Request)
2368
3789
  o.output = Shapes::ShapeRef.new(shape: ListObjectsV2Output)
2369
3790
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -2378,7 +3799,7 @@ module Aws::S3
2378
3799
  api.add_operation(:list_parts, Seahorse::Model::Operation.new.tap do |o|
2379
3800
  o.name = "ListParts"
2380
3801
  o.http_method = "GET"
2381
- o.http_request_uri = "/{Bucket}/{Key+}"
3802
+ o.http_request_uri = "/{Key+}"
2382
3803
  o.input = Shapes::ShapeRef.new(shape: ListPartsRequest)
2383
3804
  o.output = Shapes::ShapeRef.new(shape: ListPartsOutput)
2384
3805
  o[:pager] = Aws::Pager.new(
@@ -2390,10 +3811,34 @@ module Aws::S3
2390
3811
  )
2391
3812
  end)
2392
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
+
2393
3830
  api.add_operation(:put_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
2394
3831
  o.name = "PutBucketAccelerateConfiguration"
2395
3832
  o.http_method = "PUT"
2396
- 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
+ }
2397
3842
  o.input = Shapes::ShapeRef.new(shape: PutBucketAccelerateConfigurationRequest)
2398
3843
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2399
3844
  end)
@@ -2401,7 +3846,15 @@ module Aws::S3
2401
3846
  api.add_operation(:put_bucket_acl, Seahorse::Model::Operation.new.tap do |o|
2402
3847
  o.name = "PutBucketAcl"
2403
3848
  o.http_method = "PUT"
2404
- o.http_request_uri = "/{Bucket}?acl"
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
+ }
2405
3858
  o.input = Shapes::ShapeRef.new(shape: PutBucketAclRequest)
2406
3859
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2407
3860
  end)
@@ -2409,7 +3862,7 @@ module Aws::S3
2409
3862
  api.add_operation(:put_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
2410
3863
  o.name = "PutBucketAnalyticsConfiguration"
2411
3864
  o.http_method = "PUT"
2412
- o.http_request_uri = "/{Bucket}?analytics"
3865
+ o.http_request_uri = "/?analytics"
2413
3866
  o.input = Shapes::ShapeRef.new(shape: PutBucketAnalyticsConfigurationRequest)
2414
3867
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2415
3868
  end)
@@ -2417,7 +3870,15 @@ module Aws::S3
2417
3870
  api.add_operation(:put_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
2418
3871
  o.name = "PutBucketCors"
2419
3872
  o.http_method = "PUT"
2420
- o.http_request_uri = "/{Bucket}?cors"
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
+ }
2421
3882
  o.input = Shapes::ShapeRef.new(shape: PutBucketCorsRequest)
2422
3883
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2423
3884
  end)
@@ -2425,15 +3886,31 @@ module Aws::S3
2425
3886
  api.add_operation(:put_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2426
3887
  o.name = "PutBucketEncryption"
2427
3888
  o.http_method = "PUT"
2428
- o.http_request_uri = "/{Bucket}?encryption"
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
+ }
2429
3898
  o.input = Shapes::ShapeRef.new(shape: PutBucketEncryptionRequest)
2430
3899
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2431
3900
  end)
2432
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
+
2433
3910
  api.add_operation(:put_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2434
3911
  o.name = "PutBucketInventoryConfiguration"
2435
3912
  o.http_method = "PUT"
2436
- o.http_request_uri = "/{Bucket}?inventory"
3913
+ o.http_request_uri = "/?inventory"
2437
3914
  o.input = Shapes::ShapeRef.new(shape: PutBucketInventoryConfigurationRequest)
2438
3915
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2439
3916
  end)
@@ -2441,7 +3918,15 @@ module Aws::S3
2441
3918
  api.add_operation(:put_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2442
3919
  o.name = "PutBucketLifecycle"
2443
3920
  o.http_method = "PUT"
2444
- o.http_request_uri = "/{Bucket}?lifecycle"
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
+ }
2445
3930
  o.deprecated = true
2446
3931
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleRequest)
2447
3932
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -2450,15 +3935,31 @@ module Aws::S3
2450
3935
  api.add_operation(:put_bucket_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
2451
3936
  o.name = "PutBucketLifecycleConfiguration"
2452
3937
  o.http_method = "PUT"
2453
- o.http_request_uri = "/{Bucket}?lifecycle"
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
+ }
2454
3947
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationRequest)
2455
- o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3948
+ o.output = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationOutput)
2456
3949
  end)
2457
3950
 
2458
3951
  api.add_operation(:put_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
2459
3952
  o.name = "PutBucketLogging"
2460
3953
  o.http_method = "PUT"
2461
- o.http_request_uri = "/{Bucket}?logging"
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
+ }
2462
3963
  o.input = Shapes::ShapeRef.new(shape: PutBucketLoggingRequest)
2463
3964
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2464
3965
  end)
@@ -2466,7 +3967,7 @@ module Aws::S3
2466
3967
  api.add_operation(:put_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2467
3968
  o.name = "PutBucketMetricsConfiguration"
2468
3969
  o.http_method = "PUT"
2469
- o.http_request_uri = "/{Bucket}?metrics"
3970
+ o.http_request_uri = "/?metrics"
2470
3971
  o.input = Shapes::ShapeRef.new(shape: PutBucketMetricsConfigurationRequest)
2471
3972
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2472
3973
  end)
@@ -2474,7 +3975,15 @@ module Aws::S3
2474
3975
  api.add_operation(:put_bucket_notification, Seahorse::Model::Operation.new.tap do |o|
2475
3976
  o.name = "PutBucketNotification"
2476
3977
  o.http_method = "PUT"
2477
- o.http_request_uri = "/{Bucket}?notification"
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
+ }
2478
3987
  o.deprecated = true
2479
3988
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationRequest)
2480
3989
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -2483,15 +3992,39 @@ module Aws::S3
2483
3992
  api.add_operation(:put_bucket_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
2484
3993
  o.name = "PutBucketNotificationConfiguration"
2485
3994
  o.http_method = "PUT"
2486
- o.http_request_uri = "/{Bucket}?notification"
3995
+ o.http_request_uri = "/?notification"
2487
3996
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationConfigurationRequest)
2488
3997
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2489
3998
  end)
2490
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
+
2491
4016
  api.add_operation(:put_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2492
4017
  o.name = "PutBucketPolicy"
2493
4018
  o.http_method = "PUT"
2494
- o.http_request_uri = "/{Bucket}?policy"
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
+ }
2495
4028
  o.input = Shapes::ShapeRef.new(shape: PutBucketPolicyRequest)
2496
4029
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2497
4030
  end)
@@ -2499,7 +4032,15 @@ module Aws::S3
2499
4032
  api.add_operation(:put_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2500
4033
  o.name = "PutBucketReplication"
2501
4034
  o.http_method = "PUT"
2502
- o.http_request_uri = "/{Bucket}?replication"
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
+ }
2503
4044
  o.input = Shapes::ShapeRef.new(shape: PutBucketReplicationRequest)
2504
4045
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2505
4046
  end)
@@ -2507,7 +4048,15 @@ module Aws::S3
2507
4048
  api.add_operation(:put_bucket_request_payment, Seahorse::Model::Operation.new.tap do |o|
2508
4049
  o.name = "PutBucketRequestPayment"
2509
4050
  o.http_method = "PUT"
2510
- o.http_request_uri = "/{Bucket}?requestPayment"
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
+ }
2511
4060
  o.input = Shapes::ShapeRef.new(shape: PutBucketRequestPaymentRequest)
2512
4061
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2513
4062
  end)
@@ -2515,7 +4064,15 @@ module Aws::S3
2515
4064
  api.add_operation(:put_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2516
4065
  o.name = "PutBucketTagging"
2517
4066
  o.http_method = "PUT"
2518
- o.http_request_uri = "/{Bucket}?tagging"
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
+ }
2519
4076
  o.input = Shapes::ShapeRef.new(shape: PutBucketTaggingRequest)
2520
4077
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2521
4078
  end)
@@ -2523,7 +4080,15 @@ module Aws::S3
2523
4080
  api.add_operation(:put_bucket_versioning, Seahorse::Model::Operation.new.tap do |o|
2524
4081
  o.name = "PutBucketVersioning"
2525
4082
  o.http_method = "PUT"
2526
- o.http_request_uri = "/{Bucket}?versioning"
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
+ }
2527
4092
  o.input = Shapes::ShapeRef.new(shape: PutBucketVersioningRequest)
2528
4093
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2529
4094
  end)
@@ -2531,7 +4096,15 @@ module Aws::S3
2531
4096
  api.add_operation(:put_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2532
4097
  o.name = "PutBucketWebsite"
2533
4098
  o.http_method = "PUT"
2534
- o.http_request_uri = "/{Bucket}?website"
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
+ }
2535
4108
  o.input = Shapes::ShapeRef.new(shape: PutBucketWebsiteRequest)
2536
4109
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2537
4110
  end)
@@ -2539,41 +4112,203 @@ module Aws::S3
2539
4112
  api.add_operation(:put_object, Seahorse::Model::Operation.new.tap do |o|
2540
4113
  o.name = "PutObject"
2541
4114
  o.http_method = "PUT"
2542
- 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
+ }
2543
4124
  o.input = Shapes::ShapeRef.new(shape: PutObjectRequest)
2544
4125
  o.output = Shapes::ShapeRef.new(shape: PutObjectOutput)
4126
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequest)
4127
+ o.errors << Shapes::ShapeRef.new(shape: InvalidWriteOffset)
4128
+ o.errors << Shapes::ShapeRef.new(shape: TooManyParts)
4129
+ o.errors << Shapes::ShapeRef.new(shape: EncryptionTypeMismatch)
2545
4130
  end)
2546
4131
 
2547
4132
  api.add_operation(:put_object_acl, Seahorse::Model::Operation.new.tap do |o|
2548
4133
  o.name = "PutObjectAcl"
2549
4134
  o.http_method = "PUT"
2550
- o.http_request_uri = "/{Bucket}/{Key+}?acl"
4135
+ o.http_request_uri = "/{Key+}?acl"
4136
+ o.http_checksum = {
4137
+ "requestAlgorithmMember" => "checksum_algorithm",
4138
+ "requestChecksumRequired" => true,
4139
+ }
4140
+ o.http_checksum = {
4141
+ "requestAlgorithmMember" => "checksum_algorithm",
4142
+ "requestChecksumRequired" => true,
4143
+ }
2551
4144
  o.input = Shapes::ShapeRef.new(shape: PutObjectAclRequest)
2552
4145
  o.output = Shapes::ShapeRef.new(shape: PutObjectAclOutput)
2553
4146
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
2554
4147
  end)
2555
4148
 
4149
+ api.add_operation(:put_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
4150
+ o.name = "PutObjectLegalHold"
4151
+ o.http_method = "PUT"
4152
+ o.http_request_uri = "/{Key+}?legal-hold"
4153
+ o.http_checksum = {
4154
+ "requestAlgorithmMember" => "checksum_algorithm",
4155
+ "requestChecksumRequired" => true,
4156
+ }
4157
+ o.http_checksum = {
4158
+ "requestAlgorithmMember" => "checksum_algorithm",
4159
+ "requestChecksumRequired" => true,
4160
+ }
4161
+ o.input = Shapes::ShapeRef.new(shape: PutObjectLegalHoldRequest)
4162
+ o.output = Shapes::ShapeRef.new(shape: PutObjectLegalHoldOutput)
4163
+ end)
4164
+
4165
+ api.add_operation(:put_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
4166
+ o.name = "PutObjectLockConfiguration"
4167
+ o.http_method = "PUT"
4168
+ o.http_request_uri = "/?object-lock"
4169
+ o.http_checksum = {
4170
+ "requestAlgorithmMember" => "checksum_algorithm",
4171
+ "requestChecksumRequired" => true,
4172
+ }
4173
+ o.http_checksum = {
4174
+ "requestAlgorithmMember" => "checksum_algorithm",
4175
+ "requestChecksumRequired" => true,
4176
+ }
4177
+ o.input = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationRequest)
4178
+ o.output = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationOutput)
4179
+ end)
4180
+
4181
+ api.add_operation(:put_object_retention, Seahorse::Model::Operation.new.tap do |o|
4182
+ o.name = "PutObjectRetention"
4183
+ o.http_method = "PUT"
4184
+ o.http_request_uri = "/{Key+}?retention"
4185
+ o.http_checksum = {
4186
+ "requestAlgorithmMember" => "checksum_algorithm",
4187
+ "requestChecksumRequired" => true,
4188
+ }
4189
+ o.http_checksum = {
4190
+ "requestAlgorithmMember" => "checksum_algorithm",
4191
+ "requestChecksumRequired" => true,
4192
+ }
4193
+ o.input = Shapes::ShapeRef.new(shape: PutObjectRetentionRequest)
4194
+ o.output = Shapes::ShapeRef.new(shape: PutObjectRetentionOutput)
4195
+ end)
4196
+
2556
4197
  api.add_operation(:put_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2557
4198
  o.name = "PutObjectTagging"
2558
4199
  o.http_method = "PUT"
2559
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
4200
+ o.http_request_uri = "/{Key+}?tagging"
4201
+ o.http_checksum = {
4202
+ "requestAlgorithmMember" => "checksum_algorithm",
4203
+ "requestChecksumRequired" => true,
4204
+ }
4205
+ o.http_checksum = {
4206
+ "requestAlgorithmMember" => "checksum_algorithm",
4207
+ "requestChecksumRequired" => true,
4208
+ }
2560
4209
  o.input = Shapes::ShapeRef.new(shape: PutObjectTaggingRequest)
2561
4210
  o.output = Shapes::ShapeRef.new(shape: PutObjectTaggingOutput)
2562
4211
  end)
2563
4212
 
4213
+ api.add_operation(:put_public_access_block, Seahorse::Model::Operation.new.tap do |o|
4214
+ o.name = "PutPublicAccessBlock"
4215
+ o.http_method = "PUT"
4216
+ o.http_request_uri = "/?publicAccessBlock"
4217
+ o.http_checksum = {
4218
+ "requestAlgorithmMember" => "checksum_algorithm",
4219
+ "requestChecksumRequired" => true,
4220
+ }
4221
+ o.http_checksum = {
4222
+ "requestAlgorithmMember" => "checksum_algorithm",
4223
+ "requestChecksumRequired" => true,
4224
+ }
4225
+ o.input = Shapes::ShapeRef.new(shape: PutPublicAccessBlockRequest)
4226
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
4227
+ end)
4228
+
4229
+ api.add_operation(:rename_object, Seahorse::Model::Operation.new.tap do |o|
4230
+ o.name = "RenameObject"
4231
+ o.http_method = "PUT"
4232
+ o.http_request_uri = "/{Key+}?renameObject"
4233
+ o.input = Shapes::ShapeRef.new(shape: RenameObjectRequest)
4234
+ o.output = Shapes::ShapeRef.new(shape: RenameObjectOutput)
4235
+ o.errors << Shapes::ShapeRef.new(shape: IdempotencyParameterMismatch)
4236
+ end)
4237
+
2564
4238
  api.add_operation(:restore_object, Seahorse::Model::Operation.new.tap do |o|
2565
4239
  o.name = "RestoreObject"
2566
4240
  o.http_method = "POST"
2567
- o.http_request_uri = "/{Bucket}/{Key+}?restore"
4241
+ o.http_request_uri = "/{Key+}?restore"
4242
+ o.http_checksum = {
4243
+ "requestAlgorithmMember" => "checksum_algorithm",
4244
+ "requestChecksumRequired" => false,
4245
+ }
4246
+ o.http_checksum = {
4247
+ "requestAlgorithmMember" => "checksum_algorithm",
4248
+ "requestChecksumRequired" => false,
4249
+ }
2568
4250
  o.input = Shapes::ShapeRef.new(shape: RestoreObjectRequest)
2569
4251
  o.output = Shapes::ShapeRef.new(shape: RestoreObjectOutput)
2570
4252
  o.errors << Shapes::ShapeRef.new(shape: ObjectAlreadyInActiveTierError)
2571
4253
  end)
2572
4254
 
4255
+ api.add_operation(:select_object_content, Seahorse::Model::Operation.new.tap do |o|
4256
+ o.name = "SelectObjectContent"
4257
+ o.http_method = "POST"
4258
+ o.http_request_uri = "/{Key+}?select&select-type=2"
4259
+ o.input = Shapes::ShapeRef.new(shape: SelectObjectContentRequest,
4260
+ location_name: "SelectObjectContentRequest",
4261
+ metadata: {
4262
+ "xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}
4263
+ }
4264
+ )
4265
+ o.output = Shapes::ShapeRef.new(shape: SelectObjectContentOutput)
4266
+ end)
4267
+
4268
+ api.add_operation(:update_bucket_metadata_inventory_table_configuration, Seahorse::Model::Operation.new.tap do |o|
4269
+ o.name = "UpdateBucketMetadataInventoryTableConfiguration"
4270
+ o.http_method = "PUT"
4271
+ o.http_request_uri = "/?metadataInventoryTable"
4272
+ o.http_checksum = {
4273
+ "requestAlgorithmMember" => "checksum_algorithm",
4274
+ "requestChecksumRequired" => true,
4275
+ }
4276
+ o.http_checksum = {
4277
+ "requestAlgorithmMember" => "checksum_algorithm",
4278
+ "requestChecksumRequired" => true,
4279
+ }
4280
+ o.input = Shapes::ShapeRef.new(shape: UpdateBucketMetadataInventoryTableConfigurationRequest)
4281
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
4282
+ end)
4283
+
4284
+ api.add_operation(:update_bucket_metadata_journal_table_configuration, Seahorse::Model::Operation.new.tap do |o|
4285
+ o.name = "UpdateBucketMetadataJournalTableConfiguration"
4286
+ o.http_method = "PUT"
4287
+ o.http_request_uri = "/?metadataJournalTable"
4288
+ o.http_checksum = {
4289
+ "requestAlgorithmMember" => "checksum_algorithm",
4290
+ "requestChecksumRequired" => true,
4291
+ }
4292
+ o.http_checksum = {
4293
+ "requestAlgorithmMember" => "checksum_algorithm",
4294
+ "requestChecksumRequired" => true,
4295
+ }
4296
+ o.input = Shapes::ShapeRef.new(shape: UpdateBucketMetadataJournalTableConfigurationRequest)
4297
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
4298
+ end)
4299
+
2573
4300
  api.add_operation(:upload_part, Seahorse::Model::Operation.new.tap do |o|
2574
4301
  o.name = "UploadPart"
2575
4302
  o.http_method = "PUT"
2576
- o.http_request_uri = "/{Bucket}/{Key+}"
4303
+ o.http_request_uri = "/{Key+}"
4304
+ o.http_checksum = {
4305
+ "requestAlgorithmMember" => "checksum_algorithm",
4306
+ "requestChecksumRequired" => false,
4307
+ }
4308
+ o.http_checksum = {
4309
+ "requestAlgorithmMember" => "checksum_algorithm",
4310
+ "requestChecksumRequired" => false,
4311
+ }
2577
4312
  o.input = Shapes::ShapeRef.new(shape: UploadPartRequest)
2578
4313
  o.output = Shapes::ShapeRef.new(shape: UploadPartOutput)
2579
4314
  end)
@@ -2581,10 +4316,23 @@ module Aws::S3
2581
4316
  api.add_operation(:upload_part_copy, Seahorse::Model::Operation.new.tap do |o|
2582
4317
  o.name = "UploadPartCopy"
2583
4318
  o.http_method = "PUT"
2584
- o.http_request_uri = "/{Bucket}/{Key+}"
4319
+ o.http_request_uri = "/{Key+}"
2585
4320
  o.input = Shapes::ShapeRef.new(shape: UploadPartCopyRequest)
2586
4321
  o.output = Shapes::ShapeRef.new(shape: UploadPartCopyOutput)
2587
4322
  end)
4323
+
4324
+ api.add_operation(:write_get_object_response, Seahorse::Model::Operation.new.tap do |o|
4325
+ o.name = "WriteGetObjectResponse"
4326
+ o.http_method = "POST"
4327
+ o.http_request_uri = "/WriteGetObjectResponse"
4328
+ o['authtype'] = "v4-unsigned-body"
4329
+ o['unsignedPayload'] = true
4330
+ o.endpoint_pattern = {
4331
+ "hostPrefix" => "{RequestRoute}.",
4332
+ }
4333
+ o.input = Shapes::ShapeRef.new(shape: WriteGetObjectResponseRequest)
4334
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
4335
+ end)
2588
4336
  end
2589
4337
 
2590
4338
  end