aws-sdk-s3 1.103.0 → 1.143.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +288 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +590 -100
  5. data/lib/aws-sdk-s3/bucket_acl.rb +28 -6
  6. data/lib/aws-sdk-s3/bucket_cors.rb +34 -10
  7. data/lib/aws-sdk-s3/bucket_lifecycle.rb +38 -12
  8. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +42 -12
  9. data/lib/aws-sdk-s3/bucket_logging.rb +35 -6
  10. data/lib/aws-sdk-s3/bucket_notification.rb +27 -9
  11. data/lib/aws-sdk-s3/bucket_policy.rb +78 -10
  12. data/lib/aws-sdk-s3/bucket_request_payment.rb +28 -6
  13. data/lib/aws-sdk-s3/bucket_tagging.rb +34 -10
  14. data/lib/aws-sdk-s3/bucket_versioning.rb +72 -14
  15. data/lib/aws-sdk-s3/bucket_website.rb +34 -10
  16. data/lib/aws-sdk-s3/client.rb +7917 -3171
  17. data/lib/aws-sdk-s3/client_api.rb +709 -224
  18. data/lib/aws-sdk-s3/customizations/bucket.rb +23 -47
  19. data/lib/aws-sdk-s3/customizations/errors.rb +27 -0
  20. data/lib/aws-sdk-s3/customizations/object.rb +171 -22
  21. data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
  22. data/lib/aws-sdk-s3/customizations.rb +7 -0
  23. data/lib/aws-sdk-s3/encryption/client.rb +6 -2
  24. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  25. data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
  26. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -0
  27. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  28. data/lib/aws-sdk-s3/endpoint_parameters.rb +178 -0
  29. data/lib/aws-sdk-s3/endpoint_provider.rb +591 -0
  30. data/lib/aws-sdk-s3/endpoints.rb +2590 -0
  31. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  32. data/lib/aws-sdk-s3/express_credentials_cache.rb +30 -0
  33. data/lib/aws-sdk-s3/express_credentials_provider.rb +36 -0
  34. data/lib/aws-sdk-s3/file_downloader.rb +170 -45
  35. data/lib/aws-sdk-s3/file_uploader.rb +11 -4
  36. data/lib/aws-sdk-s3/multipart_file_uploader.rb +26 -8
  37. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +41 -14
  38. data/lib/aws-sdk-s3/multipart_upload.rb +194 -19
  39. data/lib/aws-sdk-s3/multipart_upload_part.rb +280 -30
  40. data/lib/aws-sdk-s3/object.rb +1735 -266
  41. data/lib/aws-sdk-s3/object_acl.rb +49 -13
  42. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  43. data/lib/aws-sdk-s3/object_multipart_copier.rb +41 -19
  44. data/lib/aws-sdk-s3/object_summary.rb +1497 -221
  45. data/lib/aws-sdk-s3/object_version.rb +365 -58
  46. data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -44
  47. data/lib/aws-sdk-s3/plugins/arn.rb +0 -197
  48. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  49. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  50. data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -55
  51. data/lib/aws-sdk-s3/plugins/endpoints.rb +274 -0
  52. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
  53. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +91 -0
  54. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -29
  55. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  56. data/lib/aws-sdk-s3/plugins/md5s.rb +6 -3
  57. data/lib/aws-sdk-s3/plugins/s3_signer.rb +35 -109
  58. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  59. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  60. data/lib/aws-sdk-s3/presigned_post.rb +99 -78
  61. data/lib/aws-sdk-s3/presigner.rb +26 -37
  62. data/lib/aws-sdk-s3/resource.rb +97 -3
  63. data/lib/aws-sdk-s3/types.rb +6618 -4880
  64. data/lib/aws-sdk-s3.rb +5 -1
  65. data/sig/bucket.rbs +212 -0
  66. data/sig/bucket_acl.rbs +78 -0
  67. data/sig/bucket_cors.rbs +69 -0
  68. data/sig/bucket_lifecycle.rbs +88 -0
  69. data/sig/bucket_lifecycle_configuration.rbs +111 -0
  70. data/sig/bucket_logging.rbs +76 -0
  71. data/sig/bucket_notification.rbs +114 -0
  72. data/sig/bucket_policy.rbs +59 -0
  73. data/sig/bucket_request_payment.rbs +54 -0
  74. data/sig/bucket_tagging.rbs +65 -0
  75. data/sig/bucket_versioning.rbs +77 -0
  76. data/sig/bucket_website.rbs +93 -0
  77. data/sig/client.rbs +2360 -0
  78. data/sig/errors.rbs +34 -0
  79. data/sig/multipart_upload.rbs +110 -0
  80. data/sig/multipart_upload_part.rbs +105 -0
  81. data/sig/object.rbs +436 -0
  82. data/sig/object_acl.rbs +86 -0
  83. data/sig/object_summary.rbs +334 -0
  84. data/sig/object_version.rbs +131 -0
  85. data/sig/resource.rbs +124 -0
  86. data/sig/types.rbs +2562 -0
  87. data/sig/waiters.rbs +83 -0
  88. metadata +45 -16
  89. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
  90. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +0 -69
  91. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
  92. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -73
  93. data/lib/aws-sdk-s3/plugins/object_lambda_endpoint.rb +0 -25
@@ -22,6 +22,8 @@ module Aws::S3
22
22
  AcceptRanges = Shapes::StringShape.new(name: 'AcceptRanges')
23
23
  AccessControlPolicy = Shapes::StructureShape.new(name: 'AccessControlPolicy')
24
24
  AccessControlTranslation = Shapes::StructureShape.new(name: 'AccessControlTranslation')
25
+ AccessKeyIdValue = Shapes::StringShape.new(name: 'AccessKeyIdValue')
26
+ AccessPointAlias = Shapes::BooleanShape.new(name: 'AccessPointAlias')
25
27
  AccessPointArn = Shapes::StringShape.new(name: 'AccessPointArn')
26
28
  AccountId = Shapes::StringShape.new(name: 'AccountId')
27
29
  AllowQuotedRecordDelimiter = Shapes::BooleanShape.new(name: 'AllowQuotedRecordDelimiter')
@@ -46,12 +48,15 @@ module Aws::S3
46
48
  BucketAlreadyExists = Shapes::StructureShape.new(name: 'BucketAlreadyExists')
47
49
  BucketAlreadyOwnedByYou = Shapes::StructureShape.new(name: 'BucketAlreadyOwnedByYou')
48
50
  BucketCannedACL = Shapes::StringShape.new(name: 'BucketCannedACL')
51
+ BucketInfo = Shapes::StructureShape.new(name: 'BucketInfo')
49
52
  BucketKeyEnabled = Shapes::BooleanShape.new(name: 'BucketKeyEnabled')
50
53
  BucketLifecycleConfiguration = Shapes::StructureShape.new(name: 'BucketLifecycleConfiguration')
51
54
  BucketLocationConstraint = Shapes::StringShape.new(name: 'BucketLocationConstraint')
55
+ BucketLocationName = Shapes::StringShape.new(name: 'BucketLocationName')
52
56
  BucketLoggingStatus = Shapes::StructureShape.new(name: 'BucketLoggingStatus')
53
57
  BucketLogsPermission = Shapes::StringShape.new(name: 'BucketLogsPermission')
54
58
  BucketName = Shapes::StringShape.new(name: 'BucketName')
59
+ BucketType = Shapes::StringShape.new(name: 'BucketType')
55
60
  BucketVersioningStatus = Shapes::StringShape.new(name: 'BucketVersioningStatus')
56
61
  Buckets = Shapes::ListShape.new(name: 'Buckets')
57
62
  BypassGovernanceRetention = Shapes::BooleanShape.new(name: 'BypassGovernanceRetention')
@@ -64,6 +69,14 @@ module Aws::S3
64
69
  CSVInput = Shapes::StructureShape.new(name: 'CSVInput')
65
70
  CSVOutput = Shapes::StructureShape.new(name: 'CSVOutput')
66
71
  CacheControl = Shapes::StringShape.new(name: 'CacheControl')
72
+ Checksum = Shapes::StructureShape.new(name: 'Checksum')
73
+ ChecksumAlgorithm = Shapes::StringShape.new(name: 'ChecksumAlgorithm')
74
+ ChecksumAlgorithmList = Shapes::ListShape.new(name: 'ChecksumAlgorithmList', flattened: true)
75
+ ChecksumCRC32 = Shapes::StringShape.new(name: 'ChecksumCRC32')
76
+ ChecksumCRC32C = Shapes::StringShape.new(name: 'ChecksumCRC32C')
77
+ ChecksumMode = Shapes::StringShape.new(name: 'ChecksumMode')
78
+ ChecksumSHA1 = Shapes::StringShape.new(name: 'ChecksumSHA1')
79
+ ChecksumSHA256 = Shapes::StringShape.new(name: 'ChecksumSHA256')
67
80
  CloudFunction = Shapes::StringShape.new(name: 'CloudFunction')
68
81
  CloudFunctionConfiguration = Shapes::StructureShape.new(name: 'CloudFunctionConfiguration')
69
82
  CloudFunctionInvocationRole = Shapes::StringShape.new(name: 'CloudFunctionInvocationRole')
@@ -106,7 +119,10 @@ module Aws::S3
106
119
  CreateBucketRequest = Shapes::StructureShape.new(name: 'CreateBucketRequest')
107
120
  CreateMultipartUploadOutput = Shapes::StructureShape.new(name: 'CreateMultipartUploadOutput')
108
121
  CreateMultipartUploadRequest = Shapes::StructureShape.new(name: 'CreateMultipartUploadRequest')
122
+ CreateSessionOutput = Shapes::StructureShape.new(name: 'CreateSessionOutput')
123
+ CreateSessionRequest = Shapes::StructureShape.new(name: 'CreateSessionRequest')
109
124
  CreationDate = Shapes::TimestampShape.new(name: 'CreationDate')
125
+ DataRedundancy = Shapes::StringShape.new(name: 'DataRedundancy')
110
126
  Date = Shapes::TimestampShape.new(name: 'Date', timestampFormat: "iso8601")
111
127
  Days = Shapes::IntegerShape.new(name: 'Days')
112
128
  DaysAfterInitiation = Shapes::IntegerShape.new(name: 'DaysAfterInitiation')
@@ -143,6 +159,7 @@ module Aws::S3
143
159
  Delimiter = Shapes::StringShape.new(name: 'Delimiter')
144
160
  Description = Shapes::StringShape.new(name: 'Description')
145
161
  Destination = Shapes::StructureShape.new(name: 'Destination')
162
+ DirectoryBucketToken = Shapes::StringShape.new(name: 'DirectoryBucketToken')
146
163
  DisplayName = Shapes::StringShape.new(name: 'DisplayName')
147
164
  ETag = Shapes::StringShape.new(name: 'ETag')
148
165
  EmailAddress = Shapes::StringShape.new(name: 'EmailAddress')
@@ -158,6 +175,7 @@ module Aws::S3
158
175
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
159
176
  Errors = Shapes::ListShape.new(name: 'Errors', flattened: true)
160
177
  Event = Shapes::StringShape.new(name: 'Event')
178
+ EventBridgeConfiguration = Shapes::StructureShape.new(name: 'EventBridgeConfiguration')
161
179
  EventList = Shapes::ListShape.new(name: 'EventList', flattened: true)
162
180
  ExistingObjectReplication = Shapes::StructureShape.new(name: 'ExistingObjectReplication')
163
181
  ExistingObjectReplicationStatus = Shapes::StringShape.new(name: 'ExistingObjectReplicationStatus')
@@ -220,6 +238,9 @@ module Aws::S3
220
238
  GetBucketWebsiteRequest = Shapes::StructureShape.new(name: 'GetBucketWebsiteRequest')
221
239
  GetObjectAclOutput = Shapes::StructureShape.new(name: 'GetObjectAclOutput')
222
240
  GetObjectAclRequest = Shapes::StructureShape.new(name: 'GetObjectAclRequest')
241
+ GetObjectAttributesOutput = Shapes::StructureShape.new(name: 'GetObjectAttributesOutput')
242
+ GetObjectAttributesParts = Shapes::StructureShape.new(name: 'GetObjectAttributesParts')
243
+ GetObjectAttributesRequest = Shapes::StructureShape.new(name: 'GetObjectAttributesRequest')
223
244
  GetObjectLegalHoldOutput = Shapes::StructureShape.new(name: 'GetObjectLegalHoldOutput')
224
245
  GetObjectLegalHoldRequest = Shapes::StructureShape.new(name: 'GetObjectLegalHoldRequest')
225
246
  GetObjectLockConfigurationOutput = Shapes::StructureShape.new(name: 'GetObjectLockConfigurationOutput')
@@ -244,6 +265,7 @@ module Aws::S3
244
265
  GrantWriteACP = Shapes::StringShape.new(name: 'GrantWriteACP')
245
266
  Grantee = Shapes::StructureShape.new(name: 'Grantee', xmlNamespace: {"prefix"=>"xsi", "uri"=>"http://www.w3.org/2001/XMLSchema-instance"})
246
267
  Grants = Shapes::ListShape.new(name: 'Grants')
268
+ HeadBucketOutput = Shapes::StructureShape.new(name: 'HeadBucketOutput')
247
269
  HeadBucketRequest = Shapes::StructureShape.new(name: 'HeadBucketRequest')
248
270
  HeadObjectOutput = Shapes::StructureShape.new(name: 'HeadObjectOutput')
249
271
  HeadObjectRequest = Shapes::StructureShape.new(name: 'HeadObjectRequest')
@@ -284,6 +306,7 @@ module Aws::S3
284
306
  IsEnabled = Shapes::BooleanShape.new(name: 'IsEnabled')
285
307
  IsLatest = Shapes::BooleanShape.new(name: 'IsLatest')
286
308
  IsPublic = Shapes::BooleanShape.new(name: 'IsPublic')
309
+ IsRestoreInProgress = Shapes::BooleanShape.new(name: 'IsRestoreInProgress')
287
310
  IsTruncated = Shapes::BooleanShape.new(name: 'IsTruncated')
288
311
  JSONInput = Shapes::StructureShape.new(name: 'JSONInput')
289
312
  JSONOutput = Shapes::StructureShape.new(name: 'JSONOutput')
@@ -311,6 +334,8 @@ module Aws::S3
311
334
  ListBucketMetricsConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsOutput')
312
335
  ListBucketMetricsConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsRequest')
313
336
  ListBucketsOutput = Shapes::StructureShape.new(name: 'ListBucketsOutput')
337
+ ListDirectoryBucketsOutput = Shapes::StructureShape.new(name: 'ListDirectoryBucketsOutput')
338
+ ListDirectoryBucketsRequest = Shapes::StructureShape.new(name: 'ListDirectoryBucketsRequest')
314
339
  ListMultipartUploadsOutput = Shapes::StructureShape.new(name: 'ListMultipartUploadsOutput')
315
340
  ListMultipartUploadsRequest = Shapes::StructureShape.new(name: 'ListMultipartUploadsRequest')
316
341
  ListObjectVersionsOutput = Shapes::StructureShape.new(name: 'ListObjectVersionsOutput')
@@ -322,13 +347,17 @@ module Aws::S3
322
347
  ListPartsOutput = Shapes::StructureShape.new(name: 'ListPartsOutput')
323
348
  ListPartsRequest = Shapes::StructureShape.new(name: 'ListPartsRequest')
324
349
  Location = Shapes::StringShape.new(name: 'Location')
350
+ LocationInfo = Shapes::StructureShape.new(name: 'LocationInfo')
351
+ LocationNameAsString = Shapes::StringShape.new(name: 'LocationNameAsString')
325
352
  LocationPrefix = Shapes::StringShape.new(name: 'LocationPrefix')
353
+ LocationType = Shapes::StringShape.new(name: 'LocationType')
326
354
  LoggingEnabled = Shapes::StructureShape.new(name: 'LoggingEnabled')
327
355
  MFA = Shapes::StringShape.new(name: 'MFA')
328
356
  MFADelete = Shapes::StringShape.new(name: 'MFADelete')
329
357
  MFADeleteStatus = Shapes::StringShape.new(name: 'MFADeleteStatus')
330
358
  Marker = Shapes::StringShape.new(name: 'Marker')
331
359
  MaxAgeSeconds = Shapes::IntegerShape.new(name: 'MaxAgeSeconds')
360
+ MaxDirectoryBuckets = Shapes::IntegerShape.new(name: 'MaxDirectoryBuckets')
332
361
  MaxKeys = Shapes::IntegerShape.new(name: 'MaxKeys')
333
362
  MaxParts = Shapes::IntegerShape.new(name: 'MaxParts')
334
363
  MaxUploads = Shapes::IntegerShape.new(name: 'MaxUploads')
@@ -368,6 +397,8 @@ module Aws::S3
368
397
  NotificationId = Shapes::StringShape.new(name: 'NotificationId')
369
398
  Object = Shapes::StructureShape.new(name: 'Object')
370
399
  ObjectAlreadyInActiveTierError = Shapes::StructureShape.new(name: 'ObjectAlreadyInActiveTierError')
400
+ ObjectAttributes = Shapes::StringShape.new(name: 'ObjectAttributes')
401
+ ObjectAttributesList = Shapes::ListShape.new(name: 'ObjectAttributesList')
371
402
  ObjectCannedACL = Shapes::StringShape.new(name: 'ObjectCannedACL')
372
403
  ObjectIdentifier = Shapes::StructureShape.new(name: 'ObjectIdentifier')
373
404
  ObjectIdentifierList = Shapes::ListShape.new(name: 'ObjectIdentifierList', flattened: true)
@@ -386,11 +417,17 @@ module Aws::S3
386
417
  ObjectLockToken = Shapes::StringShape.new(name: 'ObjectLockToken')
387
418
  ObjectNotInActiveTierError = Shapes::StructureShape.new(name: 'ObjectNotInActiveTierError')
388
419
  ObjectOwnership = Shapes::StringShape.new(name: 'ObjectOwnership')
420
+ ObjectPart = Shapes::StructureShape.new(name: 'ObjectPart')
421
+ ObjectSize = Shapes::IntegerShape.new(name: 'ObjectSize')
422
+ ObjectSizeGreaterThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeGreaterThanBytes')
423
+ ObjectSizeLessThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeLessThanBytes')
389
424
  ObjectStorageClass = Shapes::StringShape.new(name: 'ObjectStorageClass')
390
425
  ObjectVersion = Shapes::StructureShape.new(name: 'ObjectVersion')
391
426
  ObjectVersionId = Shapes::StringShape.new(name: 'ObjectVersionId')
392
427
  ObjectVersionList = Shapes::ListShape.new(name: 'ObjectVersionList', flattened: true)
393
428
  ObjectVersionStorageClass = Shapes::StringShape.new(name: 'ObjectVersionStorageClass')
429
+ OptionalObjectAttributes = Shapes::StringShape.new(name: 'OptionalObjectAttributes')
430
+ OptionalObjectAttributesList = Shapes::ListShape.new(name: 'OptionalObjectAttributesList')
394
431
  OutputLocation = Shapes::StructureShape.new(name: 'OutputLocation')
395
432
  OutputSerialization = Shapes::StructureShape.new(name: 'OutputSerialization')
396
433
  Owner = Shapes::StructureShape.new(name: 'Owner')
@@ -402,8 +439,11 @@ module Aws::S3
402
439
  Part = Shapes::StructureShape.new(name: 'Part')
403
440
  PartNumber = Shapes::IntegerShape.new(name: 'PartNumber')
404
441
  PartNumberMarker = Shapes::IntegerShape.new(name: 'PartNumberMarker')
442
+ PartitionDateSource = Shapes::StringShape.new(name: 'PartitionDateSource')
443
+ PartitionedPrefix = Shapes::StructureShape.new(name: 'PartitionedPrefix')
405
444
  Parts = Shapes::ListShape.new(name: 'Parts', flattened: true)
406
445
  PartsCount = Shapes::IntegerShape.new(name: 'PartsCount')
446
+ PartsList = Shapes::ListShape.new(name: 'PartsList', flattened: true)
407
447
  Payer = Shapes::StringShape.new(name: 'Payer')
408
448
  Permission = Shapes::StringShape.new(name: 'Permission')
409
449
  Policy = Shapes::StringShape.new(name: 'Policy')
@@ -460,6 +500,7 @@ module Aws::S3
460
500
  RecordsEvent = Shapes::StructureShape.new(name: 'RecordsEvent')
461
501
  Redirect = Shapes::StructureShape.new(name: 'Redirect')
462
502
  RedirectAllRequestsTo = Shapes::StructureShape.new(name: 'RedirectAllRequestsTo')
503
+ Region = Shapes::StringShape.new(name: 'Region')
463
504
  ReplaceKeyPrefixWith = Shapes::StringShape.new(name: 'ReplaceKeyPrefixWith')
464
505
  ReplaceKeyWith = Shapes::StringShape.new(name: 'ReplaceKeyWith')
465
506
  ReplicaKmsKeyID = Shapes::StringShape.new(name: 'ReplicaKmsKeyID')
@@ -488,11 +529,13 @@ module Aws::S3
488
529
  ResponseContentType = Shapes::StringShape.new(name: 'ResponseContentType')
489
530
  ResponseExpires = Shapes::TimestampShape.new(name: 'ResponseExpires', timestampFormat: "rfc822")
490
531
  Restore = Shapes::StringShape.new(name: 'Restore')
532
+ RestoreExpiryDate = Shapes::TimestampShape.new(name: 'RestoreExpiryDate')
491
533
  RestoreObjectOutput = Shapes::StructureShape.new(name: 'RestoreObjectOutput')
492
534
  RestoreObjectRequest = Shapes::StructureShape.new(name: 'RestoreObjectRequest')
493
535
  RestoreOutputPath = Shapes::StringShape.new(name: 'RestoreOutputPath')
494
536
  RestoreRequest = Shapes::StructureShape.new(name: 'RestoreRequest')
495
537
  RestoreRequestType = Shapes::StringShape.new(name: 'RestoreRequestType')
538
+ RestoreStatus = Shapes::StructureShape.new(name: 'RestoreStatus')
496
539
  Role = Shapes::StringShape.new(name: 'Role')
497
540
  RoutingRule = Shapes::StructureShape.new(name: 'RoutingRule')
498
541
  RoutingRules = Shapes::ListShape.new(name: 'RoutingRules')
@@ -517,8 +560,14 @@ module Aws::S3
517
560
  ServerSideEncryptionConfiguration = Shapes::StructureShape.new(name: 'ServerSideEncryptionConfiguration')
518
561
  ServerSideEncryptionRule = Shapes::StructureShape.new(name: 'ServerSideEncryptionRule')
519
562
  ServerSideEncryptionRules = Shapes::ListShape.new(name: 'ServerSideEncryptionRules', flattened: true)
563
+ SessionCredentialValue = Shapes::StringShape.new(name: 'SessionCredentialValue')
564
+ SessionCredentials = Shapes::StructureShape.new(name: 'SessionCredentials')
565
+ SessionExpiration = Shapes::TimestampShape.new(name: 'SessionExpiration')
566
+ SessionMode = Shapes::StringShape.new(name: 'SessionMode')
520
567
  Setting = Shapes::BooleanShape.new(name: 'Setting')
568
+ SimplePrefix = Shapes::StructureShape.new(name: 'SimplePrefix')
521
569
  Size = Shapes::IntegerShape.new(name: 'Size')
570
+ SkipValidation = Shapes::BooleanShape.new(name: 'SkipValidation')
522
571
  SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
523
572
  SseKmsEncryptedObjects = Shapes::StructureShape.new(name: 'SseKmsEncryptedObjects')
524
573
  SseKmsEncryptedObjectsStatus = Shapes::StringShape.new(name: 'SseKmsEncryptedObjectsStatus')
@@ -540,6 +589,7 @@ module Aws::S3
540
589
  TargetBucket = Shapes::StringShape.new(name: 'TargetBucket')
541
590
  TargetGrant = Shapes::StructureShape.new(name: 'TargetGrant')
542
591
  TargetGrants = Shapes::ListShape.new(name: 'TargetGrants')
592
+ TargetObjectKeyFormat = Shapes::StructureShape.new(name: 'TargetObjectKeyFormat')
543
593
  TargetPrefix = Shapes::StringShape.new(name: 'TargetPrefix')
544
594
  Tier = Shapes::StringShape.new(name: 'Tier')
545
595
  Tiering = Shapes::StructureShape.new(name: 'Tiering')
@@ -561,6 +611,7 @@ module Aws::S3
561
611
  UploadPartRequest = Shapes::StructureShape.new(name: 'UploadPartRequest')
562
612
  UserMetadata = Shapes::ListShape.new(name: 'UserMetadata')
563
613
  Value = Shapes::StringShape.new(name: 'Value')
614
+ VersionCount = Shapes::IntegerShape.new(name: 'VersionCount')
564
615
  VersionIdMarker = Shapes::StringShape.new(name: 'VersionIdMarker')
565
616
  VersioningConfiguration = Shapes::StructureShape.new(name: 'VersioningConfiguration')
566
617
  WebsiteConfiguration = Shapes::StructureShape.new(name: 'WebsiteConfiguration')
@@ -574,8 +625,8 @@ module Aws::S3
574
625
  AbortMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
575
626
  AbortMultipartUploadOutput.struct_class = Types::AbortMultipartUploadOutput
576
627
 
577
- AbortMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
578
- AbortMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
628
+ AbortMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
629
+ AbortMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
579
630
  AbortMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
580
631
  AbortMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
581
632
  AbortMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -630,6 +681,10 @@ module Aws::S3
630
681
 
631
682
  BucketAlreadyOwnedByYou.struct_class = Types::BucketAlreadyOwnedByYou
632
683
 
684
+ BucketInfo.add_member(:data_redundancy, Shapes::ShapeRef.new(shape: DataRedundancy, location_name: "DataRedundancy"))
685
+ BucketInfo.add_member(:type, Shapes::ShapeRef.new(shape: BucketType, location_name: "Type"))
686
+ BucketInfo.struct_class = Types::BucketInfo
687
+
633
688
  BucketLifecycleConfiguration.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, required: true, location_name: "Rule"))
634
689
  BucketLifecycleConfiguration.struct_class = Types::BucketLifecycleConfiguration
635
690
 
@@ -667,6 +722,14 @@ module Aws::S3
667
722
  CSVOutput.add_member(:quote_character, Shapes::ShapeRef.new(shape: QuoteCharacter, location_name: "QuoteCharacter"))
668
723
  CSVOutput.struct_class = Types::CSVOutput
669
724
 
725
+ Checksum.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
726
+ Checksum.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
727
+ Checksum.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
728
+ Checksum.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
729
+ Checksum.struct_class = Types::Checksum
730
+
731
+ ChecksumAlgorithmList.member = Shapes::ShapeRef.new(shape: ChecksumAlgorithm)
732
+
670
733
  CloudFunctionConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
671
734
  CloudFunctionConfiguration.add_member(:event, Shapes::ShapeRef.new(shape: Event, deprecated: true, location_name: "Event"))
672
735
  CloudFunctionConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, location_name: "Event"))
@@ -684,6 +747,10 @@ module Aws::S3
684
747
  CompleteMultipartUploadOutput.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
685
748
  CompleteMultipartUploadOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
686
749
  CompleteMultipartUploadOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
750
+ CompleteMultipartUploadOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
751
+ CompleteMultipartUploadOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
752
+ CompleteMultipartUploadOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
753
+ CompleteMultipartUploadOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
687
754
  CompleteMultipartUploadOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
688
755
  CompleteMultipartUploadOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
689
756
  CompleteMultipartUploadOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
@@ -691,12 +758,19 @@ module Aws::S3
691
758
  CompleteMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
692
759
  CompleteMultipartUploadOutput.struct_class = Types::CompleteMultipartUploadOutput
693
760
 
694
- CompleteMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
695
- CompleteMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
761
+ CompleteMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
762
+ CompleteMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
696
763
  CompleteMultipartUploadRequest.add_member(:multipart_upload, Shapes::ShapeRef.new(shape: CompletedMultipartUpload, location_name: "CompleteMultipartUpload", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
697
764
  CompleteMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
765
+ CompleteMultipartUploadRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
766
+ CompleteMultipartUploadRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
767
+ CompleteMultipartUploadRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
768
+ CompleteMultipartUploadRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
698
769
  CompleteMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
699
770
  CompleteMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
771
+ CompleteMultipartUploadRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
772
+ CompleteMultipartUploadRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
773
+ CompleteMultipartUploadRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
700
774
  CompleteMultipartUploadRequest.struct_class = Types::CompleteMultipartUploadRequest
701
775
  CompleteMultipartUploadRequest[:payload] = :multipart_upload
702
776
  CompleteMultipartUploadRequest[:payload_member] = CompleteMultipartUploadRequest.member(:multipart_upload)
@@ -705,6 +779,10 @@ module Aws::S3
705
779
  CompletedMultipartUpload.struct_class = Types::CompletedMultipartUpload
706
780
 
707
781
  CompletedPart.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
782
+ CompletedPart.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
783
+ CompletedPart.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
784
+ CompletedPart.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
785
+ CompletedPart.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
708
786
  CompletedPart.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
709
787
  CompletedPart.struct_class = Types::CompletedPart
710
788
 
@@ -732,8 +810,9 @@ module Aws::S3
732
810
  CopyObjectOutput[:payload_member] = CopyObjectOutput.member(:copy_object_result)
733
811
 
734
812
  CopyObjectRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
735
- CopyObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
813
+ CopyObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
736
814
  CopyObjectRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
815
+ CopyObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
737
816
  CopyObjectRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
738
817
  CopyObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
739
818
  CopyObjectRequest.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "Content-Language"))
@@ -775,20 +854,30 @@ module Aws::S3
775
854
 
776
855
  CopyObjectResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
777
856
  CopyObjectResult.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
857
+ CopyObjectResult.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
858
+ CopyObjectResult.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
859
+ CopyObjectResult.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
860
+ CopyObjectResult.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
778
861
  CopyObjectResult.struct_class = Types::CopyObjectResult
779
862
 
780
863
  CopyPartResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
781
864
  CopyPartResult.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
865
+ CopyPartResult.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
866
+ CopyPartResult.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
867
+ CopyPartResult.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
868
+ CopyPartResult.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
782
869
  CopyPartResult.struct_class = Types::CopyPartResult
783
870
 
784
871
  CreateBucketConfiguration.add_member(:location_constraint, Shapes::ShapeRef.new(shape: BucketLocationConstraint, location_name: "LocationConstraint"))
872
+ CreateBucketConfiguration.add_member(:location, Shapes::ShapeRef.new(shape: LocationInfo, location_name: "Location"))
873
+ CreateBucketConfiguration.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketInfo, location_name: "Bucket"))
785
874
  CreateBucketConfiguration.struct_class = Types::CreateBucketConfiguration
786
875
 
787
876
  CreateBucketOutput.add_member(:location, Shapes::ShapeRef.new(shape: Location, location: "header", location_name: "Location"))
788
877
  CreateBucketOutput.struct_class = Types::CreateBucketOutput
789
878
 
790
879
  CreateBucketRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
791
- CreateBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
880
+ CreateBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
792
881
  CreateBucketRequest.add_member(:create_bucket_configuration, Shapes::ShapeRef.new(shape: CreateBucketConfiguration, location_name: "CreateBucketConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
793
882
  CreateBucketRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
794
883
  CreateBucketRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
@@ -796,6 +885,7 @@ module Aws::S3
796
885
  CreateBucketRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
797
886
  CreateBucketRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
798
887
  CreateBucketRequest.add_member(:object_lock_enabled_for_bucket, Shapes::ShapeRef.new(shape: ObjectLockEnabledForBucket, location: "header", location_name: "x-amz-bucket-object-lock-enabled"))
888
+ CreateBucketRequest.add_member(:object_ownership, Shapes::ShapeRef.new(shape: ObjectOwnership, location: "header", location_name: "x-amz-object-ownership"))
799
889
  CreateBucketRequest.struct_class = Types::CreateBucketRequest
800
890
  CreateBucketRequest[:payload] = :create_bucket_configuration
801
891
  CreateBucketRequest[:payload_member] = CreateBucketRequest.member(:create_bucket_configuration)
@@ -812,10 +902,11 @@ module Aws::S3
812
902
  CreateMultipartUploadOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
813
903
  CreateMultipartUploadOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
814
904
  CreateMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
905
+ CreateMultipartUploadOutput.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
815
906
  CreateMultipartUploadOutput.struct_class = Types::CreateMultipartUploadOutput
816
907
 
817
908
  CreateMultipartUploadRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
818
- CreateMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
909
+ CreateMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
819
910
  CreateMultipartUploadRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
820
911
  CreateMultipartUploadRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
821
912
  CreateMultipartUploadRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
@@ -826,7 +917,7 @@ module Aws::S3
826
917
  CreateMultipartUploadRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
827
918
  CreateMultipartUploadRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
828
919
  CreateMultipartUploadRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
829
- CreateMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
920
+ CreateMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
830
921
  CreateMultipartUploadRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
831
922
  CreateMultipartUploadRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
832
923
  CreateMultipartUploadRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
@@ -843,8 +934,16 @@ module Aws::S3
843
934
  CreateMultipartUploadRequest.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
844
935
  CreateMultipartUploadRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
845
936
  CreateMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
937
+ CreateMultipartUploadRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
846
938
  CreateMultipartUploadRequest.struct_class = Types::CreateMultipartUploadRequest
847
939
 
940
+ CreateSessionOutput.add_member(:credentials, Shapes::ShapeRef.new(shape: SessionCredentials, required: true, location_name: "Credentials"))
941
+ CreateSessionOutput.struct_class = Types::CreateSessionOutput
942
+
943
+ CreateSessionRequest.add_member(:session_mode, Shapes::ShapeRef.new(shape: SessionMode, location: "header", location_name: "x-amz-create-session-mode"))
944
+ CreateSessionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
945
+ CreateSessionRequest.struct_class = Types::CreateSessionRequest
946
+
848
947
  DefaultRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
849
948
  DefaultRetention.add_member(:days, Shapes::ShapeRef.new(shape: Days, location_name: "Days"))
850
949
  DefaultRetention.add_member(:years, Shapes::ShapeRef.new(shape: Years, location_name: "Years"))
@@ -854,58 +953,58 @@ module Aws::S3
854
953
  Delete.add_member(:quiet, Shapes::ShapeRef.new(shape: Quiet, location_name: "Quiet"))
855
954
  Delete.struct_class = Types::Delete
856
955
 
857
- DeleteBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
956
+ DeleteBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
858
957
  DeleteBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
859
958
  DeleteBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
860
959
  DeleteBucketAnalyticsConfigurationRequest.struct_class = Types::DeleteBucketAnalyticsConfigurationRequest
861
960
 
862
- DeleteBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
961
+ DeleteBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
863
962
  DeleteBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
864
963
  DeleteBucketCorsRequest.struct_class = Types::DeleteBucketCorsRequest
865
964
 
866
- DeleteBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
965
+ DeleteBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
867
966
  DeleteBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
868
967
  DeleteBucketEncryptionRequest.struct_class = Types::DeleteBucketEncryptionRequest
869
968
 
870
- DeleteBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
969
+ DeleteBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
871
970
  DeleteBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
872
971
  DeleteBucketIntelligentTieringConfigurationRequest.struct_class = Types::DeleteBucketIntelligentTieringConfigurationRequest
873
972
 
874
- DeleteBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
973
+ DeleteBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
875
974
  DeleteBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
876
975
  DeleteBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
877
976
  DeleteBucketInventoryConfigurationRequest.struct_class = Types::DeleteBucketInventoryConfigurationRequest
878
977
 
879
- DeleteBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
978
+ DeleteBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
880
979
  DeleteBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
881
980
  DeleteBucketLifecycleRequest.struct_class = Types::DeleteBucketLifecycleRequest
882
981
 
883
- DeleteBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
982
+ DeleteBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
884
983
  DeleteBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
885
984
  DeleteBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
886
985
  DeleteBucketMetricsConfigurationRequest.struct_class = Types::DeleteBucketMetricsConfigurationRequest
887
986
 
888
- DeleteBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
987
+ DeleteBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
889
988
  DeleteBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
890
989
  DeleteBucketOwnershipControlsRequest.struct_class = Types::DeleteBucketOwnershipControlsRequest
891
990
 
892
- DeleteBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
991
+ DeleteBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
893
992
  DeleteBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
894
993
  DeleteBucketPolicyRequest.struct_class = Types::DeleteBucketPolicyRequest
895
994
 
896
- DeleteBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
995
+ DeleteBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
897
996
  DeleteBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
898
997
  DeleteBucketReplicationRequest.struct_class = Types::DeleteBucketReplicationRequest
899
998
 
900
- DeleteBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
999
+ DeleteBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
901
1000
  DeleteBucketRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
902
1001
  DeleteBucketRequest.struct_class = Types::DeleteBucketRequest
903
1002
 
904
- DeleteBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1003
+ DeleteBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
905
1004
  DeleteBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
906
1005
  DeleteBucketTaggingRequest.struct_class = Types::DeleteBucketTaggingRequest
907
1006
 
908
- DeleteBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1007
+ DeleteBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
909
1008
  DeleteBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
910
1009
  DeleteBucketWebsiteRequest.struct_class = Types::DeleteBucketWebsiteRequest
911
1010
 
@@ -926,8 +1025,8 @@ module Aws::S3
926
1025
  DeleteObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
927
1026
  DeleteObjectOutput.struct_class = Types::DeleteObjectOutput
928
1027
 
929
- DeleteObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
930
- DeleteObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1028
+ DeleteObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1029
+ DeleteObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
931
1030
  DeleteObjectRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
932
1031
  DeleteObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
933
1032
  DeleteObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -938,7 +1037,7 @@ module Aws::S3
938
1037
  DeleteObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
939
1038
  DeleteObjectTaggingOutput.struct_class = Types::DeleteObjectTaggingOutput
940
1039
 
941
- DeleteObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1040
+ DeleteObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
942
1041
  DeleteObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
943
1042
  DeleteObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
944
1043
  DeleteObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -949,17 +1048,18 @@ module Aws::S3
949
1048
  DeleteObjectsOutput.add_member(:errors, Shapes::ShapeRef.new(shape: Errors, location_name: "Error"))
950
1049
  DeleteObjectsOutput.struct_class = Types::DeleteObjectsOutput
951
1050
 
952
- DeleteObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1051
+ DeleteObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
953
1052
  DeleteObjectsRequest.add_member(:delete, Shapes::ShapeRef.new(shape: Delete, required: true, location_name: "Delete", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
954
1053
  DeleteObjectsRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
955
1054
  DeleteObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
956
1055
  DeleteObjectsRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
957
1056
  DeleteObjectsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1057
+ DeleteObjectsRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
958
1058
  DeleteObjectsRequest.struct_class = Types::DeleteObjectsRequest
959
1059
  DeleteObjectsRequest[:payload] = :delete
960
1060
  DeleteObjectsRequest[:payload_member] = DeleteObjectsRequest.member(:delete)
961
1061
 
962
- DeletePublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1062
+ DeletePublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
963
1063
  DeletePublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
964
1064
  DeletePublicAccessBlockRequest.struct_class = Types::DeletePublicAccessBlockRequest
965
1065
 
@@ -1001,6 +1101,8 @@ module Aws::S3
1001
1101
 
1002
1102
  Errors.member = Shapes::ShapeRef.new(shape: Error)
1003
1103
 
1104
+ EventBridgeConfiguration.struct_class = Types::EventBridgeConfiguration
1105
+
1004
1106
  EventList.member = Shapes::ShapeRef.new(shape: Event)
1005
1107
 
1006
1108
  ExistingObjectReplication.add_member(:status, Shapes::ShapeRef.new(shape: ExistingObjectReplicationStatus, required: true, location_name: "Status"))
@@ -1015,17 +1117,19 @@ module Aws::S3
1015
1117
  FilterRuleList.member = Shapes::ShapeRef.new(shape: FilterRule)
1016
1118
 
1017
1119
  GetBucketAccelerateConfigurationOutput.add_member(:status, Shapes::ShapeRef.new(shape: BucketAccelerateStatus, location_name: "Status"))
1120
+ GetBucketAccelerateConfigurationOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1018
1121
  GetBucketAccelerateConfigurationOutput.struct_class = Types::GetBucketAccelerateConfigurationOutput
1019
1122
 
1020
- GetBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1123
+ GetBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1021
1124
  GetBucketAccelerateConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1125
+ GetBucketAccelerateConfigurationRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1022
1126
  GetBucketAccelerateConfigurationRequest.struct_class = Types::GetBucketAccelerateConfigurationRequest
1023
1127
 
1024
1128
  GetBucketAclOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1025
1129
  GetBucketAclOutput.add_member(:grants, Shapes::ShapeRef.new(shape: Grants, location_name: "AccessControlList"))
1026
1130
  GetBucketAclOutput.struct_class = Types::GetBucketAclOutput
1027
1131
 
1028
- GetBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1132
+ GetBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1029
1133
  GetBucketAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1030
1134
  GetBucketAclRequest.struct_class = Types::GetBucketAclRequest
1031
1135
 
@@ -1034,7 +1138,7 @@ module Aws::S3
1034
1138
  GetBucketAnalyticsConfigurationOutput[:payload] = :analytics_configuration
1035
1139
  GetBucketAnalyticsConfigurationOutput[:payload_member] = GetBucketAnalyticsConfigurationOutput.member(:analytics_configuration)
1036
1140
 
1037
- GetBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1141
+ GetBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1038
1142
  GetBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
1039
1143
  GetBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1040
1144
  GetBucketAnalyticsConfigurationRequest.struct_class = Types::GetBucketAnalyticsConfigurationRequest
@@ -1042,7 +1146,7 @@ module Aws::S3
1042
1146
  GetBucketCorsOutput.add_member(:cors_rules, Shapes::ShapeRef.new(shape: CORSRules, location_name: "CORSRule"))
1043
1147
  GetBucketCorsOutput.struct_class = Types::GetBucketCorsOutput
1044
1148
 
1045
- GetBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1149
+ GetBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1046
1150
  GetBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1047
1151
  GetBucketCorsRequest.struct_class = Types::GetBucketCorsRequest
1048
1152
 
@@ -1051,7 +1155,7 @@ module Aws::S3
1051
1155
  GetBucketEncryptionOutput[:payload] = :server_side_encryption_configuration
1052
1156
  GetBucketEncryptionOutput[:payload_member] = GetBucketEncryptionOutput.member(:server_side_encryption_configuration)
1053
1157
 
1054
- GetBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1158
+ GetBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1055
1159
  GetBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1056
1160
  GetBucketEncryptionRequest.struct_class = Types::GetBucketEncryptionRequest
1057
1161
 
@@ -1060,7 +1164,7 @@ module Aws::S3
1060
1164
  GetBucketIntelligentTieringConfigurationOutput[:payload] = :intelligent_tiering_configuration
1061
1165
  GetBucketIntelligentTieringConfigurationOutput[:payload_member] = GetBucketIntelligentTieringConfigurationOutput.member(:intelligent_tiering_configuration)
1062
1166
 
1063
- GetBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1167
+ GetBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1064
1168
  GetBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1065
1169
  GetBucketIntelligentTieringConfigurationRequest.struct_class = Types::GetBucketIntelligentTieringConfigurationRequest
1066
1170
 
@@ -1069,7 +1173,7 @@ module Aws::S3
1069
1173
  GetBucketInventoryConfigurationOutput[:payload] = :inventory_configuration
1070
1174
  GetBucketInventoryConfigurationOutput[:payload_member] = GetBucketInventoryConfigurationOutput.member(:inventory_configuration)
1071
1175
 
1072
- GetBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1176
+ GetBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1073
1177
  GetBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
1074
1178
  GetBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1075
1179
  GetBucketInventoryConfigurationRequest.struct_class = Types::GetBucketInventoryConfigurationRequest
@@ -1077,28 +1181,28 @@ module Aws::S3
1077
1181
  GetBucketLifecycleConfigurationOutput.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, location_name: "Rule"))
1078
1182
  GetBucketLifecycleConfigurationOutput.struct_class = Types::GetBucketLifecycleConfigurationOutput
1079
1183
 
1080
- GetBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1184
+ GetBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1081
1185
  GetBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1082
1186
  GetBucketLifecycleConfigurationRequest.struct_class = Types::GetBucketLifecycleConfigurationRequest
1083
1187
 
1084
1188
  GetBucketLifecycleOutput.add_member(:rules, Shapes::ShapeRef.new(shape: Rules, location_name: "Rule"))
1085
1189
  GetBucketLifecycleOutput.struct_class = Types::GetBucketLifecycleOutput
1086
1190
 
1087
- GetBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1191
+ GetBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1088
1192
  GetBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1089
1193
  GetBucketLifecycleRequest.struct_class = Types::GetBucketLifecycleRequest
1090
1194
 
1091
1195
  GetBucketLocationOutput.add_member(:location_constraint, Shapes::ShapeRef.new(shape: BucketLocationConstraint, location_name: "LocationConstraint"))
1092
1196
  GetBucketLocationOutput.struct_class = Types::GetBucketLocationOutput
1093
1197
 
1094
- GetBucketLocationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1198
+ GetBucketLocationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1095
1199
  GetBucketLocationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1096
1200
  GetBucketLocationRequest.struct_class = Types::GetBucketLocationRequest
1097
1201
 
1098
1202
  GetBucketLoggingOutput.add_member(:logging_enabled, Shapes::ShapeRef.new(shape: LoggingEnabled, location_name: "LoggingEnabled"))
1099
1203
  GetBucketLoggingOutput.struct_class = Types::GetBucketLoggingOutput
1100
1204
 
1101
- GetBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1205
+ GetBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1102
1206
  GetBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1103
1207
  GetBucketLoggingRequest.struct_class = Types::GetBucketLoggingRequest
1104
1208
 
@@ -1107,12 +1211,12 @@ module Aws::S3
1107
1211
  GetBucketMetricsConfigurationOutput[:payload] = :metrics_configuration
1108
1212
  GetBucketMetricsConfigurationOutput[:payload_member] = GetBucketMetricsConfigurationOutput.member(:metrics_configuration)
1109
1213
 
1110
- GetBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1214
+ GetBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1111
1215
  GetBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
1112
1216
  GetBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1113
1217
  GetBucketMetricsConfigurationRequest.struct_class = Types::GetBucketMetricsConfigurationRequest
1114
1218
 
1115
- GetBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1219
+ GetBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1116
1220
  GetBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1117
1221
  GetBucketNotificationConfigurationRequest.struct_class = Types::GetBucketNotificationConfigurationRequest
1118
1222
 
@@ -1121,7 +1225,7 @@ module Aws::S3
1121
1225
  GetBucketOwnershipControlsOutput[:payload] = :ownership_controls
1122
1226
  GetBucketOwnershipControlsOutput[:payload_member] = GetBucketOwnershipControlsOutput.member(:ownership_controls)
1123
1227
 
1124
- GetBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1228
+ GetBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1125
1229
  GetBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1126
1230
  GetBucketOwnershipControlsRequest.struct_class = Types::GetBucketOwnershipControlsRequest
1127
1231
 
@@ -1130,7 +1234,7 @@ module Aws::S3
1130
1234
  GetBucketPolicyOutput[:payload] = :policy
1131
1235
  GetBucketPolicyOutput[:payload_member] = GetBucketPolicyOutput.member(:policy)
1132
1236
 
1133
- GetBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1237
+ GetBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1134
1238
  GetBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1135
1239
  GetBucketPolicyRequest.struct_class = Types::GetBucketPolicyRequest
1136
1240
 
@@ -1139,7 +1243,7 @@ module Aws::S3
1139
1243
  GetBucketPolicyStatusOutput[:payload] = :policy_status
1140
1244
  GetBucketPolicyStatusOutput[:payload_member] = GetBucketPolicyStatusOutput.member(:policy_status)
1141
1245
 
1142
- GetBucketPolicyStatusRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1246
+ GetBucketPolicyStatusRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1143
1247
  GetBucketPolicyStatusRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1144
1248
  GetBucketPolicyStatusRequest.struct_class = Types::GetBucketPolicyStatusRequest
1145
1249
 
@@ -1148,21 +1252,21 @@ module Aws::S3
1148
1252
  GetBucketReplicationOutput[:payload] = :replication_configuration
1149
1253
  GetBucketReplicationOutput[:payload_member] = GetBucketReplicationOutput.member(:replication_configuration)
1150
1254
 
1151
- GetBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1255
+ GetBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1152
1256
  GetBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1153
1257
  GetBucketReplicationRequest.struct_class = Types::GetBucketReplicationRequest
1154
1258
 
1155
1259
  GetBucketRequestPaymentOutput.add_member(:payer, Shapes::ShapeRef.new(shape: Payer, location_name: "Payer"))
1156
1260
  GetBucketRequestPaymentOutput.struct_class = Types::GetBucketRequestPaymentOutput
1157
1261
 
1158
- GetBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1262
+ GetBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1159
1263
  GetBucketRequestPaymentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1160
1264
  GetBucketRequestPaymentRequest.struct_class = Types::GetBucketRequestPaymentRequest
1161
1265
 
1162
1266
  GetBucketTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
1163
1267
  GetBucketTaggingOutput.struct_class = Types::GetBucketTaggingOutput
1164
1268
 
1165
- GetBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1269
+ GetBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1166
1270
  GetBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1167
1271
  GetBucketTaggingRequest.struct_class = Types::GetBucketTaggingRequest
1168
1272
 
@@ -1170,7 +1274,7 @@ module Aws::S3
1170
1274
  GetBucketVersioningOutput.add_member(:mfa_delete, Shapes::ShapeRef.new(shape: MFADeleteStatus, location_name: "MfaDelete"))
1171
1275
  GetBucketVersioningOutput.struct_class = Types::GetBucketVersioningOutput
1172
1276
 
1173
- GetBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1277
+ GetBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1174
1278
  GetBucketVersioningRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1175
1279
  GetBucketVersioningRequest.struct_class = Types::GetBucketVersioningRequest
1176
1280
 
@@ -1180,7 +1284,7 @@ module Aws::S3
1180
1284
  GetBucketWebsiteOutput.add_member(:routing_rules, Shapes::ShapeRef.new(shape: RoutingRules, location_name: "RoutingRules"))
1181
1285
  GetBucketWebsiteOutput.struct_class = Types::GetBucketWebsiteOutput
1182
1286
 
1183
- GetBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1287
+ GetBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1184
1288
  GetBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1185
1289
  GetBucketWebsiteRequest.struct_class = Types::GetBucketWebsiteRequest
1186
1290
 
@@ -1189,19 +1293,51 @@ module Aws::S3
1189
1293
  GetObjectAclOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1190
1294
  GetObjectAclOutput.struct_class = Types::GetObjectAclOutput
1191
1295
 
1192
- GetObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1193
- GetObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1296
+ GetObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1297
+ GetObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
1194
1298
  GetObjectAclRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1195
1299
  GetObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1196
1300
  GetObjectAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1197
1301
  GetObjectAclRequest.struct_class = Types::GetObjectAclRequest
1198
1302
 
1303
+ GetObjectAttributesOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
1304
+ GetObjectAttributesOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1305
+ GetObjectAttributesOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1306
+ GetObjectAttributesOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1307
+ GetObjectAttributesOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1308
+ GetObjectAttributesOutput.add_member(:checksum, Shapes::ShapeRef.new(shape: Checksum, location_name: "Checksum"))
1309
+ GetObjectAttributesOutput.add_member(:object_parts, Shapes::ShapeRef.new(shape: GetObjectAttributesParts, location_name: "ObjectParts"))
1310
+ GetObjectAttributesOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1311
+ GetObjectAttributesOutput.add_member(:object_size, Shapes::ShapeRef.new(shape: ObjectSize, location_name: "ObjectSize"))
1312
+ GetObjectAttributesOutput.struct_class = Types::GetObjectAttributesOutput
1313
+
1314
+ GetObjectAttributesParts.add_member(:total_parts_count, Shapes::ShapeRef.new(shape: PartsCount, location_name: "PartsCount"))
1315
+ GetObjectAttributesParts.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location_name: "PartNumberMarker"))
1316
+ GetObjectAttributesParts.add_member(:next_part_number_marker, Shapes::ShapeRef.new(shape: NextPartNumberMarker, location_name: "NextPartNumberMarker"))
1317
+ GetObjectAttributesParts.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location_name: "MaxParts"))
1318
+ GetObjectAttributesParts.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
1319
+ GetObjectAttributesParts.add_member(:parts, Shapes::ShapeRef.new(shape: PartsList, location_name: "Part"))
1320
+ GetObjectAttributesParts.struct_class = Types::GetObjectAttributesParts
1321
+
1322
+ GetObjectAttributesRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1323
+ GetObjectAttributesRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1324
+ GetObjectAttributesRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1325
+ GetObjectAttributesRequest.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location: "header", location_name: "x-amz-max-parts"))
1326
+ GetObjectAttributesRequest.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location: "header", location_name: "x-amz-part-number-marker"))
1327
+ GetObjectAttributesRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1328
+ GetObjectAttributesRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1329
+ GetObjectAttributesRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1330
+ GetObjectAttributesRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1331
+ GetObjectAttributesRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1332
+ GetObjectAttributesRequest.add_member(:object_attributes, Shapes::ShapeRef.new(shape: ObjectAttributesList, required: true, location: "header", location_name: "x-amz-object-attributes"))
1333
+ GetObjectAttributesRequest.struct_class = Types::GetObjectAttributesRequest
1334
+
1199
1335
  GetObjectLegalHoldOutput.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold"))
1200
1336
  GetObjectLegalHoldOutput.struct_class = Types::GetObjectLegalHoldOutput
1201
1337
  GetObjectLegalHoldOutput[:payload] = :legal_hold
1202
1338
  GetObjectLegalHoldOutput[:payload_member] = GetObjectLegalHoldOutput.member(:legal_hold)
1203
1339
 
1204
- GetObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1340
+ GetObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1205
1341
  GetObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1206
1342
  GetObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1207
1343
  GetObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -1213,7 +1349,7 @@ module Aws::S3
1213
1349
  GetObjectLockConfigurationOutput[:payload] = :object_lock_configuration
1214
1350
  GetObjectLockConfigurationOutput[:payload_member] = GetObjectLockConfigurationOutput.member(:object_lock_configuration)
1215
1351
 
1216
- GetObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1352
+ GetObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1217
1353
  GetObjectLockConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1218
1354
  GetObjectLockConfigurationRequest.struct_class = Types::GetObjectLockConfigurationRequest
1219
1355
 
@@ -1225,6 +1361,10 @@ module Aws::S3
1225
1361
  GetObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1226
1362
  GetObjectOutput.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1227
1363
  GetObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1364
+ GetObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
1365
+ GetObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
1366
+ GetObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
1367
+ GetObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1228
1368
  GetObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
1229
1369
  GetObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1230
1370
  GetObjectOutput.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
@@ -1254,12 +1394,12 @@ module Aws::S3
1254
1394
  GetObjectOutput[:payload] = :body
1255
1395
  GetObjectOutput[:payload_member] = GetObjectOutput.member(:body)
1256
1396
 
1257
- GetObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1397
+ GetObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1258
1398
  GetObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1259
1399
  GetObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1260
1400
  GetObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
1261
1401
  GetObjectRequest.add_member(:if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
1262
- GetObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1402
+ GetObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
1263
1403
  GetObjectRequest.add_member(:range, Shapes::ShapeRef.new(shape: Range, location: "header", location_name: "Range"))
1264
1404
  GetObjectRequest.add_member(:response_cache_control, Shapes::ShapeRef.new(shape: ResponseCacheControl, location: "querystring", location_name: "response-cache-control"))
1265
1405
  GetObjectRequest.add_member(:response_content_disposition, Shapes::ShapeRef.new(shape: ResponseContentDisposition, location: "querystring", location_name: "response-content-disposition"))
@@ -1274,6 +1414,7 @@ module Aws::S3
1274
1414
  GetObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1275
1415
  GetObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1276
1416
  GetObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1417
+ GetObjectRequest.add_member(:checksum_mode, Shapes::ShapeRef.new(shape: ChecksumMode, location: "header", location_name: "x-amz-checksum-mode"))
1277
1418
  GetObjectRequest.struct_class = Types::GetObjectRequest
1278
1419
 
1279
1420
  GetObjectRetentionOutput.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention"))
@@ -1281,7 +1422,7 @@ module Aws::S3
1281
1422
  GetObjectRetentionOutput[:payload] = :retention
1282
1423
  GetObjectRetentionOutput[:payload_member] = GetObjectRetentionOutput.member(:retention)
1283
1424
 
1284
- GetObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1425
+ GetObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1285
1426
  GetObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1286
1427
  GetObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1287
1428
  GetObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -1292,7 +1433,7 @@ module Aws::S3
1292
1433
  GetObjectTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
1293
1434
  GetObjectTaggingOutput.struct_class = Types::GetObjectTaggingOutput
1294
1435
 
1295
- GetObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1436
+ GetObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1296
1437
  GetObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1297
1438
  GetObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1298
1439
  GetObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1305,7 +1446,7 @@ module Aws::S3
1305
1446
  GetObjectTorrentOutput[:payload] = :body
1306
1447
  GetObjectTorrentOutput[:payload_member] = GetObjectTorrentOutput.member(:body)
1307
1448
 
1308
- GetObjectTorrentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1449
+ GetObjectTorrentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1309
1450
  GetObjectTorrentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1310
1451
  GetObjectTorrentRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1311
1452
  GetObjectTorrentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1316,7 +1457,7 @@ module Aws::S3
1316
1457
  GetPublicAccessBlockOutput[:payload] = :public_access_block_configuration
1317
1458
  GetPublicAccessBlockOutput[:payload_member] = GetPublicAccessBlockOutput.member(:public_access_block_configuration)
1318
1459
 
1319
- GetPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1460
+ GetPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1320
1461
  GetPublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1321
1462
  GetPublicAccessBlockRequest.struct_class = Types::GetPublicAccessBlockRequest
1322
1463
 
@@ -1336,7 +1477,13 @@ module Aws::S3
1336
1477
 
1337
1478
  Grants.member = Shapes::ShapeRef.new(shape: Grant, location_name: "Grant")
1338
1479
 
1339
- HeadBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1480
+ HeadBucketOutput.add_member(:bucket_location_type, Shapes::ShapeRef.new(shape: LocationType, location: "header", location_name: "x-amz-bucket-location-type"))
1481
+ HeadBucketOutput.add_member(:bucket_location_name, Shapes::ShapeRef.new(shape: BucketLocationName, location: "header", location_name: "x-amz-bucket-location-name"))
1482
+ HeadBucketOutput.add_member(:bucket_region, Shapes::ShapeRef.new(shape: Region, location: "header", location_name: "x-amz-bucket-region"))
1483
+ HeadBucketOutput.add_member(:access_point_alias, Shapes::ShapeRef.new(shape: AccessPointAlias, location: "header", location_name: "x-amz-access-point-alias"))
1484
+ HeadBucketOutput.struct_class = Types::HeadBucketOutput
1485
+
1486
+ HeadBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1340
1487
  HeadBucketRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1341
1488
  HeadBucketRequest.struct_class = Types::HeadBucketRequest
1342
1489
 
@@ -1347,6 +1494,10 @@ module Aws::S3
1347
1494
  HeadObjectOutput.add_member(:archive_status, Shapes::ShapeRef.new(shape: ArchiveStatus, location: "header", location_name: "x-amz-archive-status"))
1348
1495
  HeadObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1349
1496
  HeadObjectOutput.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1497
+ HeadObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
1498
+ HeadObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
1499
+ HeadObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
1500
+ HeadObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
1350
1501
  HeadObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1351
1502
  HeadObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
1352
1503
  HeadObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
@@ -1373,12 +1524,12 @@ module Aws::S3
1373
1524
  HeadObjectOutput.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
1374
1525
  HeadObjectOutput.struct_class = Types::HeadObjectOutput
1375
1526
 
1376
- HeadObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1527
+ HeadObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1377
1528
  HeadObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1378
1529
  HeadObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1379
1530
  HeadObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
1380
1531
  HeadObjectRequest.add_member(:if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
1381
- HeadObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1532
+ HeadObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
1382
1533
  HeadObjectRequest.add_member(:range, Shapes::ShapeRef.new(shape: Range, location: "header", location_name: "Range"))
1383
1534
  HeadObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1384
1535
  HeadObjectRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
@@ -1387,6 +1538,7 @@ module Aws::S3
1387
1538
  HeadObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1388
1539
  HeadObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1389
1540
  HeadObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1541
+ HeadObjectRequest.add_member(:checksum_mode, Shapes::ShapeRef.new(shape: ChecksumMode, location: "header", location_name: "x-amz-checksum-mode"))
1390
1542
  HeadObjectRequest.struct_class = Types::HeadObjectRequest
1391
1543
 
1392
1544
  IndexDocument.add_member(:suffix, Shapes::ShapeRef.new(shape: Suffix, required: true, location_name: "Suffix"))
@@ -1491,10 +1643,14 @@ module Aws::S3
1491
1643
 
1492
1644
  LifecycleRuleAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1493
1645
  LifecycleRuleAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
1646
+ LifecycleRuleAndOperator.add_member(:object_size_greater_than, Shapes::ShapeRef.new(shape: ObjectSizeGreaterThanBytes, location_name: "ObjectSizeGreaterThan"))
1647
+ LifecycleRuleAndOperator.add_member(:object_size_less_than, Shapes::ShapeRef.new(shape: ObjectSizeLessThanBytes, location_name: "ObjectSizeLessThan"))
1494
1648
  LifecycleRuleAndOperator.struct_class = Types::LifecycleRuleAndOperator
1495
1649
 
1496
1650
  LifecycleRuleFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1497
1651
  LifecycleRuleFilter.add_member(:tag, Shapes::ShapeRef.new(shape: Tag, location_name: "Tag"))
1652
+ LifecycleRuleFilter.add_member(:object_size_greater_than, Shapes::ShapeRef.new(shape: ObjectSizeGreaterThanBytes, location_name: "ObjectSizeGreaterThan"))
1653
+ LifecycleRuleFilter.add_member(:object_size_less_than, Shapes::ShapeRef.new(shape: ObjectSizeLessThanBytes, location_name: "ObjectSizeLessThan"))
1498
1654
  LifecycleRuleFilter.add_member(:and, Shapes::ShapeRef.new(shape: LifecycleRuleAndOperator, location_name: "And"))
1499
1655
  LifecycleRuleFilter.struct_class = Types::LifecycleRuleFilter
1500
1656
 
@@ -1506,7 +1662,7 @@ module Aws::S3
1506
1662
  ListBucketAnalyticsConfigurationsOutput.add_member(:analytics_configuration_list, Shapes::ShapeRef.new(shape: AnalyticsConfigurationList, location_name: "AnalyticsConfiguration"))
1507
1663
  ListBucketAnalyticsConfigurationsOutput.struct_class = Types::ListBucketAnalyticsConfigurationsOutput
1508
1664
 
1509
- ListBucketAnalyticsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1665
+ ListBucketAnalyticsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1510
1666
  ListBucketAnalyticsConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1511
1667
  ListBucketAnalyticsConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1512
1668
  ListBucketAnalyticsConfigurationsRequest.struct_class = Types::ListBucketAnalyticsConfigurationsRequest
@@ -1517,7 +1673,7 @@ module Aws::S3
1517
1673
  ListBucketIntelligentTieringConfigurationsOutput.add_member(:intelligent_tiering_configuration_list, Shapes::ShapeRef.new(shape: IntelligentTieringConfigurationList, location_name: "IntelligentTieringConfiguration"))
1518
1674
  ListBucketIntelligentTieringConfigurationsOutput.struct_class = Types::ListBucketIntelligentTieringConfigurationsOutput
1519
1675
 
1520
- ListBucketIntelligentTieringConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1676
+ ListBucketIntelligentTieringConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1521
1677
  ListBucketIntelligentTieringConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1522
1678
  ListBucketIntelligentTieringConfigurationsRequest.struct_class = Types::ListBucketIntelligentTieringConfigurationsRequest
1523
1679
 
@@ -1527,7 +1683,7 @@ module Aws::S3
1527
1683
  ListBucketInventoryConfigurationsOutput.add_member(:next_continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextContinuationToken"))
1528
1684
  ListBucketInventoryConfigurationsOutput.struct_class = Types::ListBucketInventoryConfigurationsOutput
1529
1685
 
1530
- ListBucketInventoryConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1686
+ ListBucketInventoryConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1531
1687
  ListBucketInventoryConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1532
1688
  ListBucketInventoryConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1533
1689
  ListBucketInventoryConfigurationsRequest.struct_class = Types::ListBucketInventoryConfigurationsRequest
@@ -1538,7 +1694,7 @@ module Aws::S3
1538
1694
  ListBucketMetricsConfigurationsOutput.add_member(:metrics_configuration_list, Shapes::ShapeRef.new(shape: MetricsConfigurationList, location_name: "MetricsConfiguration"))
1539
1695
  ListBucketMetricsConfigurationsOutput.struct_class = Types::ListBucketMetricsConfigurationsOutput
1540
1696
 
1541
- ListBucketMetricsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1697
+ ListBucketMetricsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1542
1698
  ListBucketMetricsConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1543
1699
  ListBucketMetricsConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1544
1700
  ListBucketMetricsConfigurationsRequest.struct_class = Types::ListBucketMetricsConfigurationsRequest
@@ -1547,6 +1703,14 @@ module Aws::S3
1547
1703
  ListBucketsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1548
1704
  ListBucketsOutput.struct_class = Types::ListBucketsOutput
1549
1705
 
1706
+ ListDirectoryBucketsOutput.add_member(:buckets, Shapes::ShapeRef.new(shape: Buckets, location_name: "Buckets"))
1707
+ ListDirectoryBucketsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: DirectoryBucketToken, location_name: "ContinuationToken"))
1708
+ ListDirectoryBucketsOutput.struct_class = Types::ListDirectoryBucketsOutput
1709
+
1710
+ ListDirectoryBucketsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: DirectoryBucketToken, location: "querystring", location_name: "continuation-token"))
1711
+ ListDirectoryBucketsRequest.add_member(:max_directory_buckets, Shapes::ShapeRef.new(shape: MaxDirectoryBuckets, location: "querystring", location_name: "max-directory-buckets"))
1712
+ ListDirectoryBucketsRequest.struct_class = Types::ListDirectoryBucketsRequest
1713
+
1550
1714
  ListMultipartUploadsOutput.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, location_name: "Bucket"))
1551
1715
  ListMultipartUploadsOutput.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location_name: "KeyMarker"))
1552
1716
  ListMultipartUploadsOutput.add_member(:upload_id_marker, Shapes::ShapeRef.new(shape: UploadIdMarker, location_name: "UploadIdMarker"))
@@ -1559,16 +1723,18 @@ module Aws::S3
1559
1723
  ListMultipartUploadsOutput.add_member(:uploads, Shapes::ShapeRef.new(shape: MultipartUploadList, location_name: "Upload"))
1560
1724
  ListMultipartUploadsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1561
1725
  ListMultipartUploadsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1726
+ ListMultipartUploadsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1562
1727
  ListMultipartUploadsOutput.struct_class = Types::ListMultipartUploadsOutput
1563
1728
 
1564
- ListMultipartUploadsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1729
+ ListMultipartUploadsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1565
1730
  ListMultipartUploadsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1566
1731
  ListMultipartUploadsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1567
1732
  ListMultipartUploadsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
1568
1733
  ListMultipartUploadsRequest.add_member(:max_uploads, Shapes::ShapeRef.new(shape: MaxUploads, location: "querystring", location_name: "max-uploads"))
1569
- ListMultipartUploadsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1734
+ ListMultipartUploadsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam"=>{"name"=>"Prefix"}}))
1570
1735
  ListMultipartUploadsRequest.add_member(:upload_id_marker, Shapes::ShapeRef.new(shape: UploadIdMarker, location: "querystring", location_name: "upload-id-marker"))
1571
1736
  ListMultipartUploadsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1737
+ ListMultipartUploadsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1572
1738
  ListMultipartUploadsRequest.struct_class = Types::ListMultipartUploadsRequest
1573
1739
 
1574
1740
  ListObjectVersionsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1584,16 +1750,19 @@ module Aws::S3
1584
1750
  ListObjectVersionsOutput.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location_name: "MaxKeys"))
1585
1751
  ListObjectVersionsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1586
1752
  ListObjectVersionsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1753
+ ListObjectVersionsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1587
1754
  ListObjectVersionsOutput.struct_class = Types::ListObjectVersionsOutput
1588
1755
 
1589
- ListObjectVersionsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1756
+ ListObjectVersionsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1590
1757
  ListObjectVersionsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1591
1758
  ListObjectVersionsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1592
1759
  ListObjectVersionsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
1593
1760
  ListObjectVersionsRequest.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1594
- ListObjectVersionsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1761
+ ListObjectVersionsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam"=>{"name"=>"Prefix"}}))
1595
1762
  ListObjectVersionsRequest.add_member(:version_id_marker, Shapes::ShapeRef.new(shape: VersionIdMarker, location: "querystring", location_name: "version-id-marker"))
1596
1763
  ListObjectVersionsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1764
+ ListObjectVersionsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1765
+ ListObjectVersionsRequest.add_member(:optional_object_attributes, Shapes::ShapeRef.new(shape: OptionalObjectAttributesList, location: "header", location_name: "x-amz-optional-object-attributes"))
1597
1766
  ListObjectVersionsRequest.struct_class = Types::ListObjectVersionsRequest
1598
1767
 
1599
1768
  ListObjectsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1606,16 +1775,18 @@ module Aws::S3
1606
1775
  ListObjectsOutput.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location_name: "MaxKeys"))
1607
1776
  ListObjectsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1608
1777
  ListObjectsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1778
+ ListObjectsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1609
1779
  ListObjectsOutput.struct_class = Types::ListObjectsOutput
1610
1780
 
1611
- ListObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1781
+ ListObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1612
1782
  ListObjectsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1613
1783
  ListObjectsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1614
1784
  ListObjectsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "marker"))
1615
1785
  ListObjectsRequest.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1616
- ListObjectsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1786
+ ListObjectsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam"=>{"name"=>"Prefix"}}))
1617
1787
  ListObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1618
1788
  ListObjectsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1789
+ ListObjectsRequest.add_member(:optional_object_attributes, Shapes::ShapeRef.new(shape: OptionalObjectAttributesList, location: "header", location_name: "x-amz-optional-object-attributes"))
1619
1790
  ListObjectsRequest.struct_class = Types::ListObjectsRequest
1620
1791
 
1621
1792
  ListObjectsV2Output.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1630,18 +1801,20 @@ module Aws::S3
1630
1801
  ListObjectsV2Output.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location_name: "ContinuationToken"))
1631
1802
  ListObjectsV2Output.add_member(:next_continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextContinuationToken"))
1632
1803
  ListObjectsV2Output.add_member(:start_after, Shapes::ShapeRef.new(shape: StartAfter, location_name: "StartAfter"))
1804
+ ListObjectsV2Output.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1633
1805
  ListObjectsV2Output.struct_class = Types::ListObjectsV2Output
1634
1806
 
1635
- ListObjectsV2Request.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1807
+ ListObjectsV2Request.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1636
1808
  ListObjectsV2Request.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1637
1809
  ListObjectsV2Request.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1638
1810
  ListObjectsV2Request.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1639
- ListObjectsV2Request.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1811
+ ListObjectsV2Request.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam"=>{"name"=>"Prefix"}}))
1640
1812
  ListObjectsV2Request.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1641
1813
  ListObjectsV2Request.add_member(:fetch_owner, Shapes::ShapeRef.new(shape: FetchOwner, location: "querystring", location_name: "fetch-owner"))
1642
1814
  ListObjectsV2Request.add_member(:start_after, Shapes::ShapeRef.new(shape: StartAfter, location: "querystring", location_name: "start-after"))
1643
1815
  ListObjectsV2Request.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1644
1816
  ListObjectsV2Request.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1817
+ ListObjectsV2Request.add_member(:optional_object_attributes, Shapes::ShapeRef.new(shape: OptionalObjectAttributesList, location: "header", location_name: "x-amz-optional-object-attributes"))
1645
1818
  ListObjectsV2Request.struct_class = Types::ListObjectsV2Request
1646
1819
 
1647
1820
  ListPartsOutput.add_member(:abort_date, Shapes::ShapeRef.new(shape: AbortDate, location: "header", location_name: "x-amz-abort-date"))
@@ -1658,20 +1831,29 @@ module Aws::S3
1658
1831
  ListPartsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1659
1832
  ListPartsOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1660
1833
  ListPartsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1834
+ ListPartsOutput.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location_name: "ChecksumAlgorithm"))
1661
1835
  ListPartsOutput.struct_class = Types::ListPartsOutput
1662
1836
 
1663
- ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1664
- ListPartsRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1837
+ ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1838
+ ListPartsRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
1665
1839
  ListPartsRequest.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location: "querystring", location_name: "max-parts"))
1666
1840
  ListPartsRequest.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location: "querystring", location_name: "part-number-marker"))
1667
1841
  ListPartsRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
1668
1842
  ListPartsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1669
1843
  ListPartsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1844
+ ListPartsRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1845
+ ListPartsRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1846
+ ListPartsRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1670
1847
  ListPartsRequest.struct_class = Types::ListPartsRequest
1671
1848
 
1849
+ LocationInfo.add_member(:type, Shapes::ShapeRef.new(shape: LocationType, location_name: "Type"))
1850
+ LocationInfo.add_member(:name, Shapes::ShapeRef.new(shape: LocationNameAsString, location_name: "Name"))
1851
+ LocationInfo.struct_class = Types::LocationInfo
1852
+
1672
1853
  LoggingEnabled.add_member(:target_bucket, Shapes::ShapeRef.new(shape: TargetBucket, required: true, location_name: "TargetBucket"))
1673
1854
  LoggingEnabled.add_member(:target_grants, Shapes::ShapeRef.new(shape: TargetGrants, location_name: "TargetGrants"))
1674
1855
  LoggingEnabled.add_member(:target_prefix, Shapes::ShapeRef.new(shape: TargetPrefix, required: true, location_name: "TargetPrefix"))
1856
+ LoggingEnabled.add_member(:target_object_key_format, Shapes::ShapeRef.new(shape: TargetObjectKeyFormat, location_name: "TargetObjectKeyFormat"))
1675
1857
  LoggingEnabled.struct_class = Types::LoggingEnabled
1676
1858
 
1677
1859
  Metadata.key = Shapes::ShapeRef.new(shape: MetadataKey)
@@ -1708,6 +1890,7 @@ module Aws::S3
1708
1890
  MultipartUpload.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1709
1891
  MultipartUpload.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1710
1892
  MultipartUpload.add_member(:initiator, Shapes::ShapeRef.new(shape: Initiator, location_name: "Initiator"))
1893
+ MultipartUpload.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location_name: "ChecksumAlgorithm"))
1711
1894
  MultipartUpload.struct_class = Types::MultipartUpload
1712
1895
 
1713
1896
  MultipartUploadList.member = Shapes::ShapeRef.new(shape: MultipartUpload)
@@ -1719,10 +1902,12 @@ module Aws::S3
1719
1902
  NoSuchUpload.struct_class = Types::NoSuchUpload
1720
1903
 
1721
1904
  NoncurrentVersionExpiration.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
1905
+ NoncurrentVersionExpiration.add_member(:newer_noncurrent_versions, Shapes::ShapeRef.new(shape: VersionCount, location_name: "NewerNoncurrentVersions"))
1722
1906
  NoncurrentVersionExpiration.struct_class = Types::NoncurrentVersionExpiration
1723
1907
 
1724
1908
  NoncurrentVersionTransition.add_member(:noncurrent_days, Shapes::ShapeRef.new(shape: Days, location_name: "NoncurrentDays"))
1725
1909
  NoncurrentVersionTransition.add_member(:storage_class, Shapes::ShapeRef.new(shape: TransitionStorageClass, location_name: "StorageClass"))
1910
+ NoncurrentVersionTransition.add_member(:newer_noncurrent_versions, Shapes::ShapeRef.new(shape: VersionCount, location_name: "NewerNoncurrentVersions"))
1726
1911
  NoncurrentVersionTransition.struct_class = Types::NoncurrentVersionTransition
1727
1912
 
1728
1913
  NoncurrentVersionTransitionList.member = Shapes::ShapeRef.new(shape: NoncurrentVersionTransition)
@@ -1730,6 +1915,7 @@ module Aws::S3
1730
1915
  NotificationConfiguration.add_member(:topic_configurations, Shapes::ShapeRef.new(shape: TopicConfigurationList, location_name: "TopicConfiguration"))
1731
1916
  NotificationConfiguration.add_member(:queue_configurations, Shapes::ShapeRef.new(shape: QueueConfigurationList, location_name: "QueueConfiguration"))
1732
1917
  NotificationConfiguration.add_member(:lambda_function_configurations, Shapes::ShapeRef.new(shape: LambdaFunctionConfigurationList, location_name: "CloudFunctionConfiguration"))
1918
+ NotificationConfiguration.add_member(:event_bridge_configuration, Shapes::ShapeRef.new(shape: EventBridgeConfiguration, location_name: "EventBridgeConfiguration"))
1733
1919
  NotificationConfiguration.struct_class = Types::NotificationConfiguration
1734
1920
 
1735
1921
  NotificationConfigurationDeprecated.add_member(:topic_configuration, Shapes::ShapeRef.new(shape: TopicConfigurationDeprecated, location_name: "TopicConfiguration"))
@@ -1743,13 +1929,17 @@ module Aws::S3
1743
1929
  Object.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
1744
1930
  Object.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1745
1931
  Object.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1932
+ Object.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithmList, location_name: "ChecksumAlgorithm"))
1746
1933
  Object.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1747
1934
  Object.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectStorageClass, location_name: "StorageClass"))
1748
1935
  Object.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1936
+ Object.add_member(:restore_status, Shapes::ShapeRef.new(shape: RestoreStatus, location_name: "RestoreStatus"))
1749
1937
  Object.struct_class = Types::Object
1750
1938
 
1751
1939
  ObjectAlreadyInActiveTierError.struct_class = Types::ObjectAlreadyInActiveTierError
1752
1940
 
1941
+ ObjectAttributesList.member = Shapes::ShapeRef.new(shape: ObjectAttributes)
1942
+
1753
1943
  ObjectIdentifier.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
1754
1944
  ObjectIdentifier.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
1755
1945
  ObjectIdentifier.struct_class = Types::ObjectIdentifier
@@ -1774,7 +1964,16 @@ module Aws::S3
1774
1964
 
1775
1965
  ObjectNotInActiveTierError.struct_class = Types::ObjectNotInActiveTierError
1776
1966
 
1967
+ ObjectPart.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
1968
+ ObjectPart.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1969
+ ObjectPart.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
1970
+ ObjectPart.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
1971
+ ObjectPart.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
1972
+ ObjectPart.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1973
+ ObjectPart.struct_class = Types::ObjectPart
1974
+
1777
1975
  ObjectVersion.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1976
+ ObjectVersion.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithmList, location_name: "ChecksumAlgorithm"))
1778
1977
  ObjectVersion.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1779
1978
  ObjectVersion.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectVersionStorageClass, location_name: "StorageClass"))
1780
1979
  ObjectVersion.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
@@ -1782,10 +1981,13 @@ module Aws::S3
1782
1981
  ObjectVersion.add_member(:is_latest, Shapes::ShapeRef.new(shape: IsLatest, location_name: "IsLatest"))
1783
1982
  ObjectVersion.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1784
1983
  ObjectVersion.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1984
+ ObjectVersion.add_member(:restore_status, Shapes::ShapeRef.new(shape: RestoreStatus, location_name: "RestoreStatus"))
1785
1985
  ObjectVersion.struct_class = Types::ObjectVersion
1786
1986
 
1787
1987
  ObjectVersionList.member = Shapes::ShapeRef.new(shape: ObjectVersion)
1788
1988
 
1989
+ OptionalObjectAttributesList.member = Shapes::ShapeRef.new(shape: OptionalObjectAttributes)
1990
+
1789
1991
  OutputLocation.add_member(:s3, Shapes::ShapeRef.new(shape: S3Location, location_name: "S3"))
1790
1992
  OutputLocation.struct_class = Types::OutputLocation
1791
1993
 
@@ -1811,10 +2013,19 @@ module Aws::S3
1811
2013
  Part.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1812
2014
  Part.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1813
2015
  Part.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
2016
+ Part.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
2017
+ Part.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
2018
+ Part.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
2019
+ Part.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1814
2020
  Part.struct_class = Types::Part
1815
2021
 
2022
+ PartitionedPrefix.add_member(:partition_date_source, Shapes::ShapeRef.new(shape: PartitionDateSource, location_name: "PartitionDateSource"))
2023
+ PartitionedPrefix.struct_class = Types::PartitionedPrefix
2024
+
1816
2025
  Parts.member = Shapes::ShapeRef.new(shape: Part)
1817
2026
 
2027
+ PartsList.member = Shapes::ShapeRef.new(shape: ObjectPart)
2028
+
1818
2029
  PolicyStatus.add_member(:is_public, Shapes::ShapeRef.new(shape: IsPublic, location_name: "IsPublic"))
1819
2030
  PolicyStatus.struct_class = Types::PolicyStatus
1820
2031
 
@@ -1832,17 +2043,19 @@ module Aws::S3
1832
2043
  PublicAccessBlockConfiguration.add_member(:restrict_public_buckets, Shapes::ShapeRef.new(shape: Setting, location_name: "RestrictPublicBuckets"))
1833
2044
  PublicAccessBlockConfiguration.struct_class = Types::PublicAccessBlockConfiguration
1834
2045
 
1835
- PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2046
+ PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1836
2047
  PutBucketAccelerateConfigurationRequest.add_member(:accelerate_configuration, Shapes::ShapeRef.new(shape: AccelerateConfiguration, required: true, location_name: "AccelerateConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1837
2048
  PutBucketAccelerateConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2049
+ PutBucketAccelerateConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1838
2050
  PutBucketAccelerateConfigurationRequest.struct_class = Types::PutBucketAccelerateConfigurationRequest
1839
2051
  PutBucketAccelerateConfigurationRequest[:payload] = :accelerate_configuration
1840
2052
  PutBucketAccelerateConfigurationRequest[:payload_member] = PutBucketAccelerateConfigurationRequest.member(:accelerate_configuration)
1841
2053
 
1842
2054
  PutBucketAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
1843
2055
  PutBucketAclRequest.add_member(:access_control_policy, Shapes::ShapeRef.new(shape: AccessControlPolicy, location_name: "AccessControlPolicy", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1844
- PutBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2056
+ PutBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1845
2057
  PutBucketAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2058
+ PutBucketAclRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1846
2059
  PutBucketAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
1847
2060
  PutBucketAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
1848
2061
  PutBucketAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
@@ -1853,7 +2066,7 @@ module Aws::S3
1853
2066
  PutBucketAclRequest[:payload] = :access_control_policy
1854
2067
  PutBucketAclRequest[:payload_member] = PutBucketAclRequest.member(:access_control_policy)
1855
2068
 
1856
- PutBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2069
+ PutBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1857
2070
  PutBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
1858
2071
  PutBucketAnalyticsConfigurationRequest.add_member(:analytics_configuration, Shapes::ShapeRef.new(shape: AnalyticsConfiguration, required: true, location_name: "AnalyticsConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1859
2072
  PutBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1861,30 +2074,32 @@ module Aws::S3
1861
2074
  PutBucketAnalyticsConfigurationRequest[:payload] = :analytics_configuration
1862
2075
  PutBucketAnalyticsConfigurationRequest[:payload_member] = PutBucketAnalyticsConfigurationRequest.member(:analytics_configuration)
1863
2076
 
1864
- PutBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2077
+ PutBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1865
2078
  PutBucketCorsRequest.add_member(:cors_configuration, Shapes::ShapeRef.new(shape: CORSConfiguration, required: true, location_name: "CORSConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1866
2079
  PutBucketCorsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2080
+ PutBucketCorsRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1867
2081
  PutBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1868
2082
  PutBucketCorsRequest.struct_class = Types::PutBucketCorsRequest
1869
2083
  PutBucketCorsRequest[:payload] = :cors_configuration
1870
2084
  PutBucketCorsRequest[:payload_member] = PutBucketCorsRequest.member(:cors_configuration)
1871
2085
 
1872
- PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2086
+ PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1873
2087
  PutBucketEncryptionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2088
+ PutBucketEncryptionRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1874
2089
  PutBucketEncryptionRequest.add_member(:server_side_encryption_configuration, Shapes::ShapeRef.new(shape: ServerSideEncryptionConfiguration, required: true, location_name: "ServerSideEncryptionConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1875
2090
  PutBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1876
2091
  PutBucketEncryptionRequest.struct_class = Types::PutBucketEncryptionRequest
1877
2092
  PutBucketEncryptionRequest[:payload] = :server_side_encryption_configuration
1878
2093
  PutBucketEncryptionRequest[:payload_member] = PutBucketEncryptionRequest.member(:server_side_encryption_configuration)
1879
2094
 
1880
- PutBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2095
+ PutBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1881
2096
  PutBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1882
2097
  PutBucketIntelligentTieringConfigurationRequest.add_member(:intelligent_tiering_configuration, Shapes::ShapeRef.new(shape: IntelligentTieringConfiguration, required: true, location_name: "IntelligentTieringConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1883
2098
  PutBucketIntelligentTieringConfigurationRequest.struct_class = Types::PutBucketIntelligentTieringConfigurationRequest
1884
2099
  PutBucketIntelligentTieringConfigurationRequest[:payload] = :intelligent_tiering_configuration
1885
2100
  PutBucketIntelligentTieringConfigurationRequest[:payload_member] = PutBucketIntelligentTieringConfigurationRequest.member(:intelligent_tiering_configuration)
1886
2101
 
1887
- PutBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2102
+ PutBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1888
2103
  PutBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
1889
2104
  PutBucketInventoryConfigurationRequest.add_member(:inventory_configuration, Shapes::ShapeRef.new(shape: InventoryConfiguration, required: true, location_name: "InventoryConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1890
2105
  PutBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1892,30 +2107,33 @@ module Aws::S3
1892
2107
  PutBucketInventoryConfigurationRequest[:payload] = :inventory_configuration
1893
2108
  PutBucketInventoryConfigurationRequest[:payload_member] = PutBucketInventoryConfigurationRequest.member(:inventory_configuration)
1894
2109
 
1895
- PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2110
+ PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2111
+ PutBucketLifecycleConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1896
2112
  PutBucketLifecycleConfigurationRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: BucketLifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1897
2113
  PutBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1898
2114
  PutBucketLifecycleConfigurationRequest.struct_class = Types::PutBucketLifecycleConfigurationRequest
1899
2115
  PutBucketLifecycleConfigurationRequest[:payload] = :lifecycle_configuration
1900
2116
  PutBucketLifecycleConfigurationRequest[:payload_member] = PutBucketLifecycleConfigurationRequest.member(:lifecycle_configuration)
1901
2117
 
1902
- PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2118
+ PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1903
2119
  PutBucketLifecycleRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2120
+ PutBucketLifecycleRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1904
2121
  PutBucketLifecycleRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: LifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1905
2122
  PutBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1906
2123
  PutBucketLifecycleRequest.struct_class = Types::PutBucketLifecycleRequest
1907
2124
  PutBucketLifecycleRequest[:payload] = :lifecycle_configuration
1908
2125
  PutBucketLifecycleRequest[:payload_member] = PutBucketLifecycleRequest.member(:lifecycle_configuration)
1909
2126
 
1910
- PutBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2127
+ PutBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1911
2128
  PutBucketLoggingRequest.add_member(:bucket_logging_status, Shapes::ShapeRef.new(shape: BucketLoggingStatus, required: true, location_name: "BucketLoggingStatus", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1912
2129
  PutBucketLoggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2130
+ PutBucketLoggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1913
2131
  PutBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1914
2132
  PutBucketLoggingRequest.struct_class = Types::PutBucketLoggingRequest
1915
2133
  PutBucketLoggingRequest[:payload] = :bucket_logging_status
1916
2134
  PutBucketLoggingRequest[:payload_member] = PutBucketLoggingRequest.member(:bucket_logging_status)
1917
2135
 
1918
- PutBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2136
+ PutBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1919
2137
  PutBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
1920
2138
  PutBucketMetricsConfigurationRequest.add_member(:metrics_configuration, Shapes::ShapeRef.new(shape: MetricsConfiguration, required: true, location_name: "MetricsConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1921
2139
  PutBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1923,22 +2141,24 @@ module Aws::S3
1923
2141
  PutBucketMetricsConfigurationRequest[:payload] = :metrics_configuration
1924
2142
  PutBucketMetricsConfigurationRequest[:payload_member] = PutBucketMetricsConfigurationRequest.member(:metrics_configuration)
1925
2143
 
1926
- PutBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2144
+ PutBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1927
2145
  PutBucketNotificationConfigurationRequest.add_member(:notification_configuration, Shapes::ShapeRef.new(shape: NotificationConfiguration, required: true, location_name: "NotificationConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1928
2146
  PutBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2147
+ PutBucketNotificationConfigurationRequest.add_member(:skip_destination_validation, Shapes::ShapeRef.new(shape: SkipValidation, location: "header", location_name: "x-amz-skip-destination-validation"))
1929
2148
  PutBucketNotificationConfigurationRequest.struct_class = Types::PutBucketNotificationConfigurationRequest
1930
2149
  PutBucketNotificationConfigurationRequest[:payload] = :notification_configuration
1931
2150
  PutBucketNotificationConfigurationRequest[:payload_member] = PutBucketNotificationConfigurationRequest.member(:notification_configuration)
1932
2151
 
1933
- PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2152
+ PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1934
2153
  PutBucketNotificationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2154
+ PutBucketNotificationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1935
2155
  PutBucketNotificationRequest.add_member(:notification_configuration, Shapes::ShapeRef.new(shape: NotificationConfigurationDeprecated, required: true, location_name: "NotificationConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1936
2156
  PutBucketNotificationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1937
2157
  PutBucketNotificationRequest.struct_class = Types::PutBucketNotificationRequest
1938
2158
  PutBucketNotificationRequest[:payload] = :notification_configuration
1939
2159
  PutBucketNotificationRequest[:payload_member] = PutBucketNotificationRequest.member(:notification_configuration)
1940
2160
 
1941
- PutBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2161
+ PutBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1942
2162
  PutBucketOwnershipControlsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1943
2163
  PutBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1944
2164
  PutBucketOwnershipControlsRequest.add_member(:ownership_controls, Shapes::ShapeRef.new(shape: OwnershipControls, required: true, location_name: "OwnershipControls", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
@@ -1946,8 +2166,9 @@ module Aws::S3
1946
2166
  PutBucketOwnershipControlsRequest[:payload] = :ownership_controls
1947
2167
  PutBucketOwnershipControlsRequest[:payload_member] = PutBucketOwnershipControlsRequest.member(:ownership_controls)
1948
2168
 
1949
- PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2169
+ PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1950
2170
  PutBucketPolicyRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2171
+ PutBucketPolicyRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1951
2172
  PutBucketPolicyRequest.add_member(:confirm_remove_self_bucket_access, Shapes::ShapeRef.new(shape: ConfirmRemoveSelfBucketAccess, location: "header", location_name: "x-amz-confirm-remove-self-bucket-access"))
1952
2173
  PutBucketPolicyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, required: true, location_name: "Policy"))
1953
2174
  PutBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1955,8 +2176,9 @@ module Aws::S3
1955
2176
  PutBucketPolicyRequest[:payload] = :policy
1956
2177
  PutBucketPolicyRequest[:payload_member] = PutBucketPolicyRequest.member(:policy)
1957
2178
 
1958
- PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2179
+ PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1959
2180
  PutBucketReplicationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2181
+ PutBucketReplicationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1960
2182
  PutBucketReplicationRequest.add_member(:replication_configuration, Shapes::ShapeRef.new(shape: ReplicationConfiguration, required: true, location_name: "ReplicationConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1961
2183
  PutBucketReplicationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
1962
2184
  PutBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1964,24 +2186,27 @@ module Aws::S3
1964
2186
  PutBucketReplicationRequest[:payload] = :replication_configuration
1965
2187
  PutBucketReplicationRequest[:payload_member] = PutBucketReplicationRequest.member(:replication_configuration)
1966
2188
 
1967
- PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2189
+ PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1968
2190
  PutBucketRequestPaymentRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2191
+ PutBucketRequestPaymentRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1969
2192
  PutBucketRequestPaymentRequest.add_member(:request_payment_configuration, Shapes::ShapeRef.new(shape: RequestPaymentConfiguration, required: true, location_name: "RequestPaymentConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1970
2193
  PutBucketRequestPaymentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1971
2194
  PutBucketRequestPaymentRequest.struct_class = Types::PutBucketRequestPaymentRequest
1972
2195
  PutBucketRequestPaymentRequest[:payload] = :request_payment_configuration
1973
2196
  PutBucketRequestPaymentRequest[:payload_member] = PutBucketRequestPaymentRequest.member(:request_payment_configuration)
1974
2197
 
1975
- PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2198
+ PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1976
2199
  PutBucketTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2200
+ PutBucketTaggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1977
2201
  PutBucketTaggingRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: Tagging, required: true, location_name: "Tagging", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1978
2202
  PutBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1979
2203
  PutBucketTaggingRequest.struct_class = Types::PutBucketTaggingRequest
1980
2204
  PutBucketTaggingRequest[:payload] = :tagging
1981
2205
  PutBucketTaggingRequest[:payload_member] = PutBucketTaggingRequest.member(:tagging)
1982
2206
 
1983
- PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2207
+ PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1984
2208
  PutBucketVersioningRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2209
+ PutBucketVersioningRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1985
2210
  PutBucketVersioningRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
1986
2211
  PutBucketVersioningRequest.add_member(:versioning_configuration, Shapes::ShapeRef.new(shape: VersioningConfiguration, required: true, location_name: "VersioningConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1987
2212
  PutBucketVersioningRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1989,8 +2214,9 @@ module Aws::S3
1989
2214
  PutBucketVersioningRequest[:payload] = :versioning_configuration
1990
2215
  PutBucketVersioningRequest[:payload_member] = PutBucketVersioningRequest.member(:versioning_configuration)
1991
2216
 
1992
- PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2217
+ PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1993
2218
  PutBucketWebsiteRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2219
+ PutBucketWebsiteRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1994
2220
  PutBucketWebsiteRequest.add_member(:website_configuration, Shapes::ShapeRef.new(shape: WebsiteConfiguration, required: true, location_name: "WebsiteConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1995
2221
  PutBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1996
2222
  PutBucketWebsiteRequest.struct_class = Types::PutBucketWebsiteRequest
@@ -2002,14 +2228,15 @@ module Aws::S3
2002
2228
 
2003
2229
  PutObjectAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
2004
2230
  PutObjectAclRequest.add_member(:access_control_policy, Shapes::ShapeRef.new(shape: AccessControlPolicy, location_name: "AccessControlPolicy", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2005
- PutObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2231
+ PutObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2006
2232
  PutObjectAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2233
+ PutObjectAclRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2007
2234
  PutObjectAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
2008
2235
  PutObjectAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
2009
2236
  PutObjectAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
2010
2237
  PutObjectAclRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
2011
2238
  PutObjectAclRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
2012
- PutObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2239
+ PutObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
2013
2240
  PutObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2014
2241
  PutObjectAclRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2015
2242
  PutObjectAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -2020,12 +2247,13 @@ module Aws::S3
2020
2247
  PutObjectLegalHoldOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2021
2248
  PutObjectLegalHoldOutput.struct_class = Types::PutObjectLegalHoldOutput
2022
2249
 
2023
- PutObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2250
+ PutObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2024
2251
  PutObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2025
2252
  PutObjectLegalHoldRequest.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2026
2253
  PutObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2027
2254
  PutObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2028
2255
  PutObjectLegalHoldRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2256
+ PutObjectLegalHoldRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2029
2257
  PutObjectLegalHoldRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2030
2258
  PutObjectLegalHoldRequest.struct_class = Types::PutObjectLegalHoldRequest
2031
2259
  PutObjectLegalHoldRequest[:payload] = :legal_hold
@@ -2034,11 +2262,12 @@ module Aws::S3
2034
2262
  PutObjectLockConfigurationOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2035
2263
  PutObjectLockConfigurationOutput.struct_class = Types::PutObjectLockConfigurationOutput
2036
2264
 
2037
- PutObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2265
+ PutObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2038
2266
  PutObjectLockConfigurationRequest.add_member(:object_lock_configuration, Shapes::ShapeRef.new(shape: ObjectLockConfiguration, location_name: "ObjectLockConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2039
2267
  PutObjectLockConfigurationRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2040
2268
  PutObjectLockConfigurationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
2041
2269
  PutObjectLockConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2270
+ PutObjectLockConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2042
2271
  PutObjectLockConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2043
2272
  PutObjectLockConfigurationRequest.struct_class = Types::PutObjectLockConfigurationRequest
2044
2273
  PutObjectLockConfigurationRequest[:payload] = :object_lock_configuration
@@ -2046,6 +2275,10 @@ module Aws::S3
2046
2275
 
2047
2276
  PutObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
2048
2277
  PutObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
2278
+ PutObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2279
+ PutObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2280
+ PutObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2281
+ PutObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2049
2282
  PutObjectOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2050
2283
  PutObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
2051
2284
  PutObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
@@ -2058,7 +2291,7 @@ module Aws::S3
2058
2291
 
2059
2292
  PutObjectRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
2060
2293
  PutObjectRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
2061
- PutObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2294
+ PutObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2062
2295
  PutObjectRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
2063
2296
  PutObjectRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
2064
2297
  PutObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
@@ -2066,12 +2299,17 @@ module Aws::S3
2066
2299
  PutObjectRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2067
2300
  PutObjectRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2068
2301
  PutObjectRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
2302
+ PutObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2303
+ PutObjectRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2304
+ PutObjectRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2305
+ PutObjectRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2306
+ PutObjectRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2069
2307
  PutObjectRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "Expires"))
2070
2308
  PutObjectRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
2071
2309
  PutObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
2072
2310
  PutObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
2073
2311
  PutObjectRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
2074
- PutObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2312
+ PutObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
2075
2313
  PutObjectRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
2076
2314
  PutObjectRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2077
2315
  PutObjectRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
@@ -2095,13 +2333,14 @@ module Aws::S3
2095
2333
  PutObjectRetentionOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2096
2334
  PutObjectRetentionOutput.struct_class = Types::PutObjectRetentionOutput
2097
2335
 
2098
- PutObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2336
+ PutObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2099
2337
  PutObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2100
2338
  PutObjectRetentionRequest.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2101
2339
  PutObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2102
2340
  PutObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2103
2341
  PutObjectRetentionRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
2104
2342
  PutObjectRetentionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2343
+ PutObjectRetentionRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2105
2344
  PutObjectRetentionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2106
2345
  PutObjectRetentionRequest.struct_class = Types::PutObjectRetentionRequest
2107
2346
  PutObjectRetentionRequest[:payload] = :retention
@@ -2110,10 +2349,11 @@ module Aws::S3
2110
2349
  PutObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
2111
2350
  PutObjectTaggingOutput.struct_class = Types::PutObjectTaggingOutput
2112
2351
 
2113
- PutObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2352
+ PutObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2114
2353
  PutObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2115
2354
  PutObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2116
2355
  PutObjectTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2356
+ PutObjectTaggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2117
2357
  PutObjectTaggingRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: Tagging, required: true, location_name: "Tagging", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2118
2358
  PutObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2119
2359
  PutObjectTaggingRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -2121,8 +2361,9 @@ module Aws::S3
2121
2361
  PutObjectTaggingRequest[:payload] = :tagging
2122
2362
  PutObjectTaggingRequest[:payload_member] = PutObjectTaggingRequest.member(:tagging)
2123
2363
 
2124
- PutPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2364
+ PutPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2125
2365
  PutPublicAccessBlockRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2366
+ PutPublicAccessBlockRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2126
2367
  PutPublicAccessBlockRequest.add_member(:public_access_block_configuration, Shapes::ShapeRef.new(shape: PublicAccessBlockConfiguration, required: true, location_name: "PublicAccessBlockConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2127
2368
  PutPublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2128
2369
  PutPublicAccessBlockRequest.struct_class = Types::PutPublicAccessBlockRequest
@@ -2203,11 +2444,12 @@ module Aws::S3
2203
2444
  RestoreObjectOutput.add_member(:restore_output_path, Shapes::ShapeRef.new(shape: RestoreOutputPath, location: "header", location_name: "x-amz-restore-output-path"))
2204
2445
  RestoreObjectOutput.struct_class = Types::RestoreObjectOutput
2205
2446
 
2206
- RestoreObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2447
+ RestoreObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2207
2448
  RestoreObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2208
2449
  RestoreObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2209
2450
  RestoreObjectRequest.add_member(:restore_request, Shapes::ShapeRef.new(shape: RestoreRequest, location_name: "RestoreRequest", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2210
2451
  RestoreObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2452
+ RestoreObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2211
2453
  RestoreObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2212
2454
  RestoreObjectRequest.struct_class = Types::RestoreObjectRequest
2213
2455
  RestoreObjectRequest[:payload] = :restore_request
@@ -2222,6 +2464,10 @@ module Aws::S3
2222
2464
  RestoreRequest.add_member(:output_location, Shapes::ShapeRef.new(shape: OutputLocation, location_name: "OutputLocation"))
2223
2465
  RestoreRequest.struct_class = Types::RestoreRequest
2224
2466
 
2467
+ RestoreStatus.add_member(:is_restore_in_progress, Shapes::ShapeRef.new(shape: IsRestoreInProgress, location_name: "IsRestoreInProgress"))
2468
+ RestoreStatus.add_member(:restore_expiry_date, Shapes::ShapeRef.new(shape: RestoreExpiryDate, location_name: "RestoreExpiryDate"))
2469
+ RestoreStatus.struct_class = Types::RestoreStatus
2470
+
2225
2471
  RoutingRule.add_member(:condition, Shapes::ShapeRef.new(shape: Condition, location_name: "Condition"))
2226
2472
  RoutingRule.add_member(:redirect, Shapes::ShapeRef.new(shape: Redirect, required: true, location_name: "Redirect"))
2227
2473
  RoutingRule.struct_class = Types::RoutingRule
@@ -2274,7 +2520,7 @@ module Aws::S3
2274
2520
  SelectObjectContentOutput[:payload] = :payload
2275
2521
  SelectObjectContentOutput[:payload_member] = SelectObjectContentOutput.member(:payload)
2276
2522
 
2277
- SelectObjectContentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2523
+ SelectObjectContentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2278
2524
  SelectObjectContentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2279
2525
  SelectObjectContentRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2280
2526
  SelectObjectContentRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
@@ -2307,6 +2553,14 @@ module Aws::S3
2307
2553
 
2308
2554
  ServerSideEncryptionRules.member = Shapes::ShapeRef.new(shape: ServerSideEncryptionRule)
2309
2555
 
2556
+ SessionCredentials.add_member(:access_key_id, Shapes::ShapeRef.new(shape: AccessKeyIdValue, required: true, location_name: "AccessKeyId"))
2557
+ SessionCredentials.add_member(:secret_access_key, Shapes::ShapeRef.new(shape: SessionCredentialValue, required: true, location_name: "SecretAccessKey"))
2558
+ SessionCredentials.add_member(:session_token, Shapes::ShapeRef.new(shape: SessionCredentialValue, required: true, location_name: "SessionToken"))
2559
+ SessionCredentials.add_member(:expiration, Shapes::ShapeRef.new(shape: SessionExpiration, required: true, location_name: "Expiration"))
2560
+ SessionCredentials.struct_class = Types::SessionCredentials
2561
+
2562
+ SimplePrefix.struct_class = Types::SimplePrefix
2563
+
2310
2564
  SourceSelectionCriteria.add_member(:sse_kms_encrypted_objects, Shapes::ShapeRef.new(shape: SseKmsEncryptedObjects, location_name: "SseKmsEncryptedObjects"))
2311
2565
  SourceSelectionCriteria.add_member(:replica_modifications, Shapes::ShapeRef.new(shape: ReplicaModifications, location_name: "ReplicaModifications"))
2312
2566
  SourceSelectionCriteria.struct_class = Types::SourceSelectionCriteria
@@ -2344,6 +2598,10 @@ module Aws::S3
2344
2598
 
2345
2599
  TargetGrants.member = Shapes::ShapeRef.new(shape: TargetGrant, location_name: "Grant")
2346
2600
 
2601
+ TargetObjectKeyFormat.add_member(:simple_prefix, Shapes::ShapeRef.new(shape: SimplePrefix, location_name: "SimplePrefix"))
2602
+ TargetObjectKeyFormat.add_member(:partitioned_prefix, Shapes::ShapeRef.new(shape: PartitionedPrefix, location_name: "PartitionedPrefix"))
2603
+ TargetObjectKeyFormat.struct_class = Types::TargetObjectKeyFormat
2604
+
2347
2605
  Tiering.add_member(:days, Shapes::ShapeRef.new(shape: IntelligentTieringDays, required: true, location_name: "Days"))
2348
2606
  Tiering.add_member(:access_tier, Shapes::ShapeRef.new(shape: IntelligentTieringAccessTier, required: true, location_name: "AccessTier"))
2349
2607
  Tiering.struct_class = Types::Tiering
@@ -2383,7 +2641,7 @@ module Aws::S3
2383
2641
  UploadPartCopyOutput[:payload] = :copy_part_result
2384
2642
  UploadPartCopyOutput[:payload_member] = UploadPartCopyOutput.member(:copy_part_result)
2385
2643
 
2386
- UploadPartCopyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2644
+ UploadPartCopyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2387
2645
  UploadPartCopyRequest.add_member(:copy_source, Shapes::ShapeRef.new(shape: CopySource, required: true, location: "header", location_name: "x-amz-copy-source"))
2388
2646
  UploadPartCopyRequest.add_member(:copy_source_if_match, Shapes::ShapeRef.new(shape: CopySourceIfMatch, location: "header", location_name: "x-amz-copy-source-if-match"))
2389
2647
  UploadPartCopyRequest.add_member(:copy_source_if_modified_since, Shapes::ShapeRef.new(shape: CopySourceIfModifiedSince, location: "header", location_name: "x-amz-copy-source-if-modified-since"))
@@ -2406,6 +2664,10 @@ module Aws::S3
2406
2664
 
2407
2665
  UploadPartOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2408
2666
  UploadPartOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
2667
+ UploadPartOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2668
+ UploadPartOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2669
+ UploadPartOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2670
+ UploadPartOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2409
2671
  UploadPartOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2410
2672
  UploadPartOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
2411
2673
  UploadPartOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
@@ -2414,10 +2676,15 @@ module Aws::S3
2414
2676
  UploadPartOutput.struct_class = Types::UploadPartOutput
2415
2677
 
2416
2678
  UploadPartRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
2417
- UploadPartRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2679
+ UploadPartRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2418
2680
  UploadPartRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2419
2681
  UploadPartRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2420
- UploadPartRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2682
+ UploadPartRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2683
+ UploadPartRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2684
+ UploadPartRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2685
+ UploadPartRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2686
+ UploadPartRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2687
+ UploadPartRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
2421
2688
  UploadPartRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, required: true, location: "querystring", location_name: "partNumber"))
2422
2689
  UploadPartRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
2423
2690
  UploadPartRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
@@ -2455,6 +2722,10 @@ module Aws::S3
2455
2722
  WriteGetObjectResponseRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2456
2723
  WriteGetObjectResponseRequest.add_member(:content_range, Shapes::ShapeRef.new(shape: ContentRange, location: "header", location_name: "x-amz-fwd-header-Content-Range"))
2457
2724
  WriteGetObjectResponseRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "x-amz-fwd-header-Content-Type"))
2725
+ WriteGetObjectResponseRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-crc32"))
2726
+ WriteGetObjectResponseRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-crc32c"))
2727
+ WriteGetObjectResponseRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-sha1"))
2728
+ WriteGetObjectResponseRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-sha256"))
2458
2729
  WriteGetObjectResponseRequest.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-fwd-header-x-amz-delete-marker"))
2459
2730
  WriteGetObjectResponseRequest.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "x-amz-fwd-header-ETag"))
2460
2731
  WriteGetObjectResponseRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "x-amz-fwd-header-Expires"))
@@ -2502,7 +2773,7 @@ module Aws::S3
2502
2773
  api.add_operation(:abort_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2503
2774
  o.name = "AbortMultipartUpload"
2504
2775
  o.http_method = "DELETE"
2505
- o.http_request_uri = "/{Bucket}/{Key+}"
2776
+ o.http_request_uri = "/{Key+}"
2506
2777
  o.input = Shapes::ShapeRef.new(shape: AbortMultipartUploadRequest)
2507
2778
  o.output = Shapes::ShapeRef.new(shape: AbortMultipartUploadOutput)
2508
2779
  o.errors << Shapes::ShapeRef.new(shape: NoSuchUpload)
@@ -2511,7 +2782,7 @@ module Aws::S3
2511
2782
  api.add_operation(:complete_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2512
2783
  o.name = "CompleteMultipartUpload"
2513
2784
  o.http_method = "POST"
2514
- o.http_request_uri = "/{Bucket}/{Key+}"
2785
+ o.http_request_uri = "/{Key+}"
2515
2786
  o.input = Shapes::ShapeRef.new(shape: CompleteMultipartUploadRequest)
2516
2787
  o.output = Shapes::ShapeRef.new(shape: CompleteMultipartUploadOutput)
2517
2788
  end)
@@ -2519,7 +2790,7 @@ module Aws::S3
2519
2790
  api.add_operation(:copy_object, Seahorse::Model::Operation.new.tap do |o|
2520
2791
  o.name = "CopyObject"
2521
2792
  o.http_method = "PUT"
2522
- o.http_request_uri = "/{Bucket}/{Key+}"
2793
+ o.http_request_uri = "/{Key+}"
2523
2794
  o.input = Shapes::ShapeRef.new(shape: CopyObjectRequest)
2524
2795
  o.output = Shapes::ShapeRef.new(shape: CopyObjectOutput)
2525
2796
  o.errors << Shapes::ShapeRef.new(shape: ObjectNotInActiveTierError)
@@ -2528,7 +2799,7 @@ module Aws::S3
2528
2799
  api.add_operation(:create_bucket, Seahorse::Model::Operation.new.tap do |o|
2529
2800
  o.name = "CreateBucket"
2530
2801
  o.http_method = "PUT"
2531
- o.http_request_uri = "/{Bucket}"
2802
+ o.http_request_uri = "/"
2532
2803
  o.input = Shapes::ShapeRef.new(shape: CreateBucketRequest)
2533
2804
  o.output = Shapes::ShapeRef.new(shape: CreateBucketOutput)
2534
2805
  o.errors << Shapes::ShapeRef.new(shape: BucketAlreadyExists)
@@ -2538,15 +2809,24 @@ module Aws::S3
2538
2809
  api.add_operation(:create_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2539
2810
  o.name = "CreateMultipartUpload"
2540
2811
  o.http_method = "POST"
2541
- o.http_request_uri = "/{Bucket}/{Key+}?uploads"
2812
+ o.http_request_uri = "/{Key+}?uploads"
2542
2813
  o.input = Shapes::ShapeRef.new(shape: CreateMultipartUploadRequest)
2543
2814
  o.output = Shapes::ShapeRef.new(shape: CreateMultipartUploadOutput)
2544
2815
  end)
2545
2816
 
2817
+ api.add_operation(:create_session, Seahorse::Model::Operation.new.tap do |o|
2818
+ o.name = "CreateSession"
2819
+ o.http_method = "GET"
2820
+ o.http_request_uri = "/?session"
2821
+ o.input = Shapes::ShapeRef.new(shape: CreateSessionRequest)
2822
+ o.output = Shapes::ShapeRef.new(shape: CreateSessionOutput)
2823
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
2824
+ end)
2825
+
2546
2826
  api.add_operation(:delete_bucket, Seahorse::Model::Operation.new.tap do |o|
2547
2827
  o.name = "DeleteBucket"
2548
2828
  o.http_method = "DELETE"
2549
- o.http_request_uri = "/{Bucket}"
2829
+ o.http_request_uri = "/"
2550
2830
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketRequest)
2551
2831
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2552
2832
  end)
@@ -2554,7 +2834,7 @@ module Aws::S3
2554
2834
  api.add_operation(:delete_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
2555
2835
  o.name = "DeleteBucketAnalyticsConfiguration"
2556
2836
  o.http_method = "DELETE"
2557
- o.http_request_uri = "/{Bucket}?analytics"
2837
+ o.http_request_uri = "/?analytics"
2558
2838
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketAnalyticsConfigurationRequest)
2559
2839
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2560
2840
  end)
@@ -2562,7 +2842,7 @@ module Aws::S3
2562
2842
  api.add_operation(:delete_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
2563
2843
  o.name = "DeleteBucketCors"
2564
2844
  o.http_method = "DELETE"
2565
- o.http_request_uri = "/{Bucket}?cors"
2845
+ o.http_request_uri = "/?cors"
2566
2846
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketCorsRequest)
2567
2847
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2568
2848
  end)
@@ -2570,7 +2850,7 @@ module Aws::S3
2570
2850
  api.add_operation(:delete_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2571
2851
  o.name = "DeleteBucketEncryption"
2572
2852
  o.http_method = "DELETE"
2573
- o.http_request_uri = "/{Bucket}?encryption"
2853
+ o.http_request_uri = "/?encryption"
2574
2854
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketEncryptionRequest)
2575
2855
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2576
2856
  end)
@@ -2578,7 +2858,7 @@ module Aws::S3
2578
2858
  api.add_operation(:delete_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
2579
2859
  o.name = "DeleteBucketIntelligentTieringConfiguration"
2580
2860
  o.http_method = "DELETE"
2581
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
2861
+ o.http_request_uri = "/?intelligent-tiering"
2582
2862
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketIntelligentTieringConfigurationRequest)
2583
2863
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2584
2864
  end)
@@ -2586,7 +2866,7 @@ module Aws::S3
2586
2866
  api.add_operation(:delete_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2587
2867
  o.name = "DeleteBucketInventoryConfiguration"
2588
2868
  o.http_method = "DELETE"
2589
- o.http_request_uri = "/{Bucket}?inventory"
2869
+ o.http_request_uri = "/?inventory"
2590
2870
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketInventoryConfigurationRequest)
2591
2871
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2592
2872
  end)
@@ -2594,7 +2874,7 @@ module Aws::S3
2594
2874
  api.add_operation(:delete_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2595
2875
  o.name = "DeleteBucketLifecycle"
2596
2876
  o.http_method = "DELETE"
2597
- o.http_request_uri = "/{Bucket}?lifecycle"
2877
+ o.http_request_uri = "/?lifecycle"
2598
2878
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketLifecycleRequest)
2599
2879
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2600
2880
  end)
@@ -2602,7 +2882,7 @@ module Aws::S3
2602
2882
  api.add_operation(:delete_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2603
2883
  o.name = "DeleteBucketMetricsConfiguration"
2604
2884
  o.http_method = "DELETE"
2605
- o.http_request_uri = "/{Bucket}?metrics"
2885
+ o.http_request_uri = "/?metrics"
2606
2886
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketMetricsConfigurationRequest)
2607
2887
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2608
2888
  end)
@@ -2610,7 +2890,7 @@ module Aws::S3
2610
2890
  api.add_operation(:delete_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2611
2891
  o.name = "DeleteBucketOwnershipControls"
2612
2892
  o.http_method = "DELETE"
2613
- o.http_request_uri = "/{Bucket}?ownershipControls"
2893
+ o.http_request_uri = "/?ownershipControls"
2614
2894
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketOwnershipControlsRequest)
2615
2895
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2616
2896
  end)
@@ -2618,7 +2898,7 @@ module Aws::S3
2618
2898
  api.add_operation(:delete_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2619
2899
  o.name = "DeleteBucketPolicy"
2620
2900
  o.http_method = "DELETE"
2621
- o.http_request_uri = "/{Bucket}?policy"
2901
+ o.http_request_uri = "/?policy"
2622
2902
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketPolicyRequest)
2623
2903
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2624
2904
  end)
@@ -2626,7 +2906,7 @@ module Aws::S3
2626
2906
  api.add_operation(:delete_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2627
2907
  o.name = "DeleteBucketReplication"
2628
2908
  o.http_method = "DELETE"
2629
- o.http_request_uri = "/{Bucket}?replication"
2909
+ o.http_request_uri = "/?replication"
2630
2910
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketReplicationRequest)
2631
2911
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2632
2912
  end)
@@ -2634,7 +2914,7 @@ module Aws::S3
2634
2914
  api.add_operation(:delete_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2635
2915
  o.name = "DeleteBucketTagging"
2636
2916
  o.http_method = "DELETE"
2637
- o.http_request_uri = "/{Bucket}?tagging"
2917
+ o.http_request_uri = "/?tagging"
2638
2918
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketTaggingRequest)
2639
2919
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2640
2920
  end)
@@ -2642,7 +2922,7 @@ module Aws::S3
2642
2922
  api.add_operation(:delete_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2643
2923
  o.name = "DeleteBucketWebsite"
2644
2924
  o.http_method = "DELETE"
2645
- o.http_request_uri = "/{Bucket}?website"
2925
+ o.http_request_uri = "/?website"
2646
2926
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketWebsiteRequest)
2647
2927
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2648
2928
  end)
@@ -2650,7 +2930,7 @@ module Aws::S3
2650
2930
  api.add_operation(:delete_object, Seahorse::Model::Operation.new.tap do |o|
2651
2931
  o.name = "DeleteObject"
2652
2932
  o.http_method = "DELETE"
2653
- o.http_request_uri = "/{Bucket}/{Key+}"
2933
+ o.http_request_uri = "/{Key+}"
2654
2934
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectRequest)
2655
2935
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectOutput)
2656
2936
  end)
@@ -2658,7 +2938,7 @@ module Aws::S3
2658
2938
  api.add_operation(:delete_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2659
2939
  o.name = "DeleteObjectTagging"
2660
2940
  o.http_method = "DELETE"
2661
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
2941
+ o.http_request_uri = "/{Key+}?tagging"
2662
2942
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectTaggingRequest)
2663
2943
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectTaggingOutput)
2664
2944
  end)
@@ -2666,8 +2946,15 @@ module Aws::S3
2666
2946
  api.add_operation(:delete_objects, Seahorse::Model::Operation.new.tap do |o|
2667
2947
  o.name = "DeleteObjects"
2668
2948
  o.http_method = "POST"
2669
- o.http_request_uri = "/{Bucket}?delete"
2670
- o.http_checksum_required = true
2949
+ o.http_request_uri = "/?delete"
2950
+ o.http_checksum = {
2951
+ "requestAlgorithmMember" => "checksum_algorithm",
2952
+ "requestChecksumRequired" => true,
2953
+ }
2954
+ o.http_checksum = {
2955
+ "requestAlgorithmMember" => "checksum_algorithm",
2956
+ "requestChecksumRequired" => true,
2957
+ }
2671
2958
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectsRequest)
2672
2959
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectsOutput)
2673
2960
  end)
@@ -2675,7 +2962,7 @@ module Aws::S3
2675
2962
  api.add_operation(:delete_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2676
2963
  o.name = "DeletePublicAccessBlock"
2677
2964
  o.http_method = "DELETE"
2678
- o.http_request_uri = "/{Bucket}?publicAccessBlock"
2965
+ o.http_request_uri = "/?publicAccessBlock"
2679
2966
  o.input = Shapes::ShapeRef.new(shape: DeletePublicAccessBlockRequest)
2680
2967
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2681
2968
  end)
@@ -2683,7 +2970,7 @@ module Aws::S3
2683
2970
  api.add_operation(:get_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
2684
2971
  o.name = "GetBucketAccelerateConfiguration"
2685
2972
  o.http_method = "GET"
2686
- o.http_request_uri = "/{Bucket}?accelerate"
2973
+ o.http_request_uri = "/?accelerate"
2687
2974
  o.input = Shapes::ShapeRef.new(shape: GetBucketAccelerateConfigurationRequest)
2688
2975
  o.output = Shapes::ShapeRef.new(shape: GetBucketAccelerateConfigurationOutput)
2689
2976
  end)
@@ -2691,7 +2978,7 @@ module Aws::S3
2691
2978
  api.add_operation(:get_bucket_acl, Seahorse::Model::Operation.new.tap do |o|
2692
2979
  o.name = "GetBucketAcl"
2693
2980
  o.http_method = "GET"
2694
- o.http_request_uri = "/{Bucket}?acl"
2981
+ o.http_request_uri = "/?acl"
2695
2982
  o.input = Shapes::ShapeRef.new(shape: GetBucketAclRequest)
2696
2983
  o.output = Shapes::ShapeRef.new(shape: GetBucketAclOutput)
2697
2984
  end)
@@ -2699,7 +2986,7 @@ module Aws::S3
2699
2986
  api.add_operation(:get_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
2700
2987
  o.name = "GetBucketAnalyticsConfiguration"
2701
2988
  o.http_method = "GET"
2702
- o.http_request_uri = "/{Bucket}?analytics"
2989
+ o.http_request_uri = "/?analytics"
2703
2990
  o.input = Shapes::ShapeRef.new(shape: GetBucketAnalyticsConfigurationRequest)
2704
2991
  o.output = Shapes::ShapeRef.new(shape: GetBucketAnalyticsConfigurationOutput)
2705
2992
  end)
@@ -2707,7 +2994,7 @@ module Aws::S3
2707
2994
  api.add_operation(:get_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
2708
2995
  o.name = "GetBucketCors"
2709
2996
  o.http_method = "GET"
2710
- o.http_request_uri = "/{Bucket}?cors"
2997
+ o.http_request_uri = "/?cors"
2711
2998
  o.input = Shapes::ShapeRef.new(shape: GetBucketCorsRequest)
2712
2999
  o.output = Shapes::ShapeRef.new(shape: GetBucketCorsOutput)
2713
3000
  end)
@@ -2715,7 +3002,7 @@ module Aws::S3
2715
3002
  api.add_operation(:get_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2716
3003
  o.name = "GetBucketEncryption"
2717
3004
  o.http_method = "GET"
2718
- o.http_request_uri = "/{Bucket}?encryption"
3005
+ o.http_request_uri = "/?encryption"
2719
3006
  o.input = Shapes::ShapeRef.new(shape: GetBucketEncryptionRequest)
2720
3007
  o.output = Shapes::ShapeRef.new(shape: GetBucketEncryptionOutput)
2721
3008
  end)
@@ -2723,7 +3010,7 @@ module Aws::S3
2723
3010
  api.add_operation(:get_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
2724
3011
  o.name = "GetBucketIntelligentTieringConfiguration"
2725
3012
  o.http_method = "GET"
2726
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
3013
+ o.http_request_uri = "/?intelligent-tiering"
2727
3014
  o.input = Shapes::ShapeRef.new(shape: GetBucketIntelligentTieringConfigurationRequest)
2728
3015
  o.output = Shapes::ShapeRef.new(shape: GetBucketIntelligentTieringConfigurationOutput)
2729
3016
  end)
@@ -2731,7 +3018,7 @@ module Aws::S3
2731
3018
  api.add_operation(:get_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2732
3019
  o.name = "GetBucketInventoryConfiguration"
2733
3020
  o.http_method = "GET"
2734
- o.http_request_uri = "/{Bucket}?inventory"
3021
+ o.http_request_uri = "/?inventory"
2735
3022
  o.input = Shapes::ShapeRef.new(shape: GetBucketInventoryConfigurationRequest)
2736
3023
  o.output = Shapes::ShapeRef.new(shape: GetBucketInventoryConfigurationOutput)
2737
3024
  end)
@@ -2739,7 +3026,7 @@ module Aws::S3
2739
3026
  api.add_operation(:get_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2740
3027
  o.name = "GetBucketLifecycle"
2741
3028
  o.http_method = "GET"
2742
- o.http_request_uri = "/{Bucket}?lifecycle"
3029
+ o.http_request_uri = "/?lifecycle"
2743
3030
  o.deprecated = true
2744
3031
  o.input = Shapes::ShapeRef.new(shape: GetBucketLifecycleRequest)
2745
3032
  o.output = Shapes::ShapeRef.new(shape: GetBucketLifecycleOutput)
@@ -2748,7 +3035,7 @@ module Aws::S3
2748
3035
  api.add_operation(:get_bucket_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
2749
3036
  o.name = "GetBucketLifecycleConfiguration"
2750
3037
  o.http_method = "GET"
2751
- o.http_request_uri = "/{Bucket}?lifecycle"
3038
+ o.http_request_uri = "/?lifecycle"
2752
3039
  o.input = Shapes::ShapeRef.new(shape: GetBucketLifecycleConfigurationRequest)
2753
3040
  o.output = Shapes::ShapeRef.new(shape: GetBucketLifecycleConfigurationOutput)
2754
3041
  end)
@@ -2756,7 +3043,7 @@ module Aws::S3
2756
3043
  api.add_operation(:get_bucket_location, Seahorse::Model::Operation.new.tap do |o|
2757
3044
  o.name = "GetBucketLocation"
2758
3045
  o.http_method = "GET"
2759
- o.http_request_uri = "/{Bucket}?location"
3046
+ o.http_request_uri = "/?location"
2760
3047
  o.input = Shapes::ShapeRef.new(shape: GetBucketLocationRequest)
2761
3048
  o.output = Shapes::ShapeRef.new(shape: GetBucketLocationOutput)
2762
3049
  end)
@@ -2764,7 +3051,7 @@ module Aws::S3
2764
3051
  api.add_operation(:get_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
2765
3052
  o.name = "GetBucketLogging"
2766
3053
  o.http_method = "GET"
2767
- o.http_request_uri = "/{Bucket}?logging"
3054
+ o.http_request_uri = "/?logging"
2768
3055
  o.input = Shapes::ShapeRef.new(shape: GetBucketLoggingRequest)
2769
3056
  o.output = Shapes::ShapeRef.new(shape: GetBucketLoggingOutput)
2770
3057
  end)
@@ -2772,7 +3059,7 @@ module Aws::S3
2772
3059
  api.add_operation(:get_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2773
3060
  o.name = "GetBucketMetricsConfiguration"
2774
3061
  o.http_method = "GET"
2775
- o.http_request_uri = "/{Bucket}?metrics"
3062
+ o.http_request_uri = "/?metrics"
2776
3063
  o.input = Shapes::ShapeRef.new(shape: GetBucketMetricsConfigurationRequest)
2777
3064
  o.output = Shapes::ShapeRef.new(shape: GetBucketMetricsConfigurationOutput)
2778
3065
  end)
@@ -2780,7 +3067,7 @@ module Aws::S3
2780
3067
  api.add_operation(:get_bucket_notification, Seahorse::Model::Operation.new.tap do |o|
2781
3068
  o.name = "GetBucketNotification"
2782
3069
  o.http_method = "GET"
2783
- o.http_request_uri = "/{Bucket}?notification"
3070
+ o.http_request_uri = "/?notification"
2784
3071
  o.deprecated = true
2785
3072
  o.input = Shapes::ShapeRef.new(shape: GetBucketNotificationConfigurationRequest)
2786
3073
  o.output = Shapes::ShapeRef.new(shape: NotificationConfigurationDeprecated)
@@ -2789,7 +3076,7 @@ module Aws::S3
2789
3076
  api.add_operation(:get_bucket_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
2790
3077
  o.name = "GetBucketNotificationConfiguration"
2791
3078
  o.http_method = "GET"
2792
- o.http_request_uri = "/{Bucket}?notification"
3079
+ o.http_request_uri = "/?notification"
2793
3080
  o.input = Shapes::ShapeRef.new(shape: GetBucketNotificationConfigurationRequest)
2794
3081
  o.output = Shapes::ShapeRef.new(shape: NotificationConfiguration)
2795
3082
  end)
@@ -2797,7 +3084,7 @@ module Aws::S3
2797
3084
  api.add_operation(:get_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2798
3085
  o.name = "GetBucketOwnershipControls"
2799
3086
  o.http_method = "GET"
2800
- o.http_request_uri = "/{Bucket}?ownershipControls"
3087
+ o.http_request_uri = "/?ownershipControls"
2801
3088
  o.input = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsRequest)
2802
3089
  o.output = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsOutput)
2803
3090
  end)
@@ -2805,7 +3092,7 @@ module Aws::S3
2805
3092
  api.add_operation(:get_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2806
3093
  o.name = "GetBucketPolicy"
2807
3094
  o.http_method = "GET"
2808
- o.http_request_uri = "/{Bucket}?policy"
3095
+ o.http_request_uri = "/?policy"
2809
3096
  o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyRequest)
2810
3097
  o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyOutput)
2811
3098
  end)
@@ -2813,7 +3100,7 @@ module Aws::S3
2813
3100
  api.add_operation(:get_bucket_policy_status, Seahorse::Model::Operation.new.tap do |o|
2814
3101
  o.name = "GetBucketPolicyStatus"
2815
3102
  o.http_method = "GET"
2816
- o.http_request_uri = "/{Bucket}?policyStatus"
3103
+ o.http_request_uri = "/?policyStatus"
2817
3104
  o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusRequest)
2818
3105
  o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusOutput)
2819
3106
  end)
@@ -2821,7 +3108,7 @@ module Aws::S3
2821
3108
  api.add_operation(:get_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2822
3109
  o.name = "GetBucketReplication"
2823
3110
  o.http_method = "GET"
2824
- o.http_request_uri = "/{Bucket}?replication"
3111
+ o.http_request_uri = "/?replication"
2825
3112
  o.input = Shapes::ShapeRef.new(shape: GetBucketReplicationRequest)
2826
3113
  o.output = Shapes::ShapeRef.new(shape: GetBucketReplicationOutput)
2827
3114
  end)
@@ -2829,7 +3116,7 @@ module Aws::S3
2829
3116
  api.add_operation(:get_bucket_request_payment, Seahorse::Model::Operation.new.tap do |o|
2830
3117
  o.name = "GetBucketRequestPayment"
2831
3118
  o.http_method = "GET"
2832
- o.http_request_uri = "/{Bucket}?requestPayment"
3119
+ o.http_request_uri = "/?requestPayment"
2833
3120
  o.input = Shapes::ShapeRef.new(shape: GetBucketRequestPaymentRequest)
2834
3121
  o.output = Shapes::ShapeRef.new(shape: GetBucketRequestPaymentOutput)
2835
3122
  end)
@@ -2837,7 +3124,7 @@ module Aws::S3
2837
3124
  api.add_operation(:get_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2838
3125
  o.name = "GetBucketTagging"
2839
3126
  o.http_method = "GET"
2840
- o.http_request_uri = "/{Bucket}?tagging"
3127
+ o.http_request_uri = "/?tagging"
2841
3128
  o.input = Shapes::ShapeRef.new(shape: GetBucketTaggingRequest)
2842
3129
  o.output = Shapes::ShapeRef.new(shape: GetBucketTaggingOutput)
2843
3130
  end)
@@ -2845,7 +3132,7 @@ module Aws::S3
2845
3132
  api.add_operation(:get_bucket_versioning, Seahorse::Model::Operation.new.tap do |o|
2846
3133
  o.name = "GetBucketVersioning"
2847
3134
  o.http_method = "GET"
2848
- o.http_request_uri = "/{Bucket}?versioning"
3135
+ o.http_request_uri = "/?versioning"
2849
3136
  o.input = Shapes::ShapeRef.new(shape: GetBucketVersioningRequest)
2850
3137
  o.output = Shapes::ShapeRef.new(shape: GetBucketVersioningOutput)
2851
3138
  end)
@@ -2853,7 +3140,7 @@ module Aws::S3
2853
3140
  api.add_operation(:get_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2854
3141
  o.name = "GetBucketWebsite"
2855
3142
  o.http_method = "GET"
2856
- o.http_request_uri = "/{Bucket}?website"
3143
+ o.http_request_uri = "/?website"
2857
3144
  o.input = Shapes::ShapeRef.new(shape: GetBucketWebsiteRequest)
2858
3145
  o.output = Shapes::ShapeRef.new(shape: GetBucketWebsiteOutput)
2859
3146
  end)
@@ -2861,7 +3148,15 @@ module Aws::S3
2861
3148
  api.add_operation(:get_object, Seahorse::Model::Operation.new.tap do |o|
2862
3149
  o.name = "GetObject"
2863
3150
  o.http_method = "GET"
2864
- o.http_request_uri = "/{Bucket}/{Key+}"
3151
+ o.http_request_uri = "/{Key+}"
3152
+ o.http_checksum = {
3153
+ "requestValidationModeMember" => "checksum_mode",
3154
+ "responseAlgorithms" => ["CRC32", "CRC32C", "SHA256", "SHA1"],
3155
+ }
3156
+ o.http_checksum = {
3157
+ "requestValidationModeMember" => "checksum_mode",
3158
+ "responseAlgorithms" => ["CRC32", "CRC32C", "SHA256", "SHA1"],
3159
+ }
2865
3160
  o.input = Shapes::ShapeRef.new(shape: GetObjectRequest)
2866
3161
  o.output = Shapes::ShapeRef.new(shape: GetObjectOutput)
2867
3162
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -2871,16 +3166,25 @@ module Aws::S3
2871
3166
  api.add_operation(:get_object_acl, Seahorse::Model::Operation.new.tap do |o|
2872
3167
  o.name = "GetObjectAcl"
2873
3168
  o.http_method = "GET"
2874
- o.http_request_uri = "/{Bucket}/{Key+}?acl"
3169
+ o.http_request_uri = "/{Key+}?acl"
2875
3170
  o.input = Shapes::ShapeRef.new(shape: GetObjectAclRequest)
2876
3171
  o.output = Shapes::ShapeRef.new(shape: GetObjectAclOutput)
2877
3172
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
2878
3173
  end)
2879
3174
 
3175
+ api.add_operation(:get_object_attributes, Seahorse::Model::Operation.new.tap do |o|
3176
+ o.name = "GetObjectAttributes"
3177
+ o.http_method = "GET"
3178
+ o.http_request_uri = "/{Key+}?attributes"
3179
+ o.input = Shapes::ShapeRef.new(shape: GetObjectAttributesRequest)
3180
+ o.output = Shapes::ShapeRef.new(shape: GetObjectAttributesOutput)
3181
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
3182
+ end)
3183
+
2880
3184
  api.add_operation(:get_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
2881
3185
  o.name = "GetObjectLegalHold"
2882
3186
  o.http_method = "GET"
2883
- o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
3187
+ o.http_request_uri = "/{Key+}?legal-hold"
2884
3188
  o.input = Shapes::ShapeRef.new(shape: GetObjectLegalHoldRequest)
2885
3189
  o.output = Shapes::ShapeRef.new(shape: GetObjectLegalHoldOutput)
2886
3190
  end)
@@ -2888,7 +3192,7 @@ module Aws::S3
2888
3192
  api.add_operation(:get_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
2889
3193
  o.name = "GetObjectLockConfiguration"
2890
3194
  o.http_method = "GET"
2891
- o.http_request_uri = "/{Bucket}?object-lock"
3195
+ o.http_request_uri = "/?object-lock"
2892
3196
  o.input = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationRequest)
2893
3197
  o.output = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationOutput)
2894
3198
  end)
@@ -2896,7 +3200,7 @@ module Aws::S3
2896
3200
  api.add_operation(:get_object_retention, Seahorse::Model::Operation.new.tap do |o|
2897
3201
  o.name = "GetObjectRetention"
2898
3202
  o.http_method = "GET"
2899
- o.http_request_uri = "/{Bucket}/{Key+}?retention"
3203
+ o.http_request_uri = "/{Key+}?retention"
2900
3204
  o.input = Shapes::ShapeRef.new(shape: GetObjectRetentionRequest)
2901
3205
  o.output = Shapes::ShapeRef.new(shape: GetObjectRetentionOutput)
2902
3206
  end)
@@ -2904,7 +3208,7 @@ module Aws::S3
2904
3208
  api.add_operation(:get_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2905
3209
  o.name = "GetObjectTagging"
2906
3210
  o.http_method = "GET"
2907
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3211
+ o.http_request_uri = "/{Key+}?tagging"
2908
3212
  o.input = Shapes::ShapeRef.new(shape: GetObjectTaggingRequest)
2909
3213
  o.output = Shapes::ShapeRef.new(shape: GetObjectTaggingOutput)
2910
3214
  end)
@@ -2912,7 +3216,7 @@ module Aws::S3
2912
3216
  api.add_operation(:get_object_torrent, Seahorse::Model::Operation.new.tap do |o|
2913
3217
  o.name = "GetObjectTorrent"
2914
3218
  o.http_method = "GET"
2915
- o.http_request_uri = "/{Bucket}/{Key+}?torrent"
3219
+ o.http_request_uri = "/{Key+}?torrent"
2916
3220
  o.input = Shapes::ShapeRef.new(shape: GetObjectTorrentRequest)
2917
3221
  o.output = Shapes::ShapeRef.new(shape: GetObjectTorrentOutput)
2918
3222
  end)
@@ -2920,7 +3224,7 @@ module Aws::S3
2920
3224
  api.add_operation(:get_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2921
3225
  o.name = "GetPublicAccessBlock"
2922
3226
  o.http_method = "GET"
2923
- o.http_request_uri = "/{Bucket}?publicAccessBlock"
3227
+ o.http_request_uri = "/?publicAccessBlock"
2924
3228
  o.input = Shapes::ShapeRef.new(shape: GetPublicAccessBlockRequest)
2925
3229
  o.output = Shapes::ShapeRef.new(shape: GetPublicAccessBlockOutput)
2926
3230
  end)
@@ -2928,16 +3232,16 @@ module Aws::S3
2928
3232
  api.add_operation(:head_bucket, Seahorse::Model::Operation.new.tap do |o|
2929
3233
  o.name = "HeadBucket"
2930
3234
  o.http_method = "HEAD"
2931
- o.http_request_uri = "/{Bucket}"
3235
+ o.http_request_uri = "/"
2932
3236
  o.input = Shapes::ShapeRef.new(shape: HeadBucketRequest)
2933
- o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3237
+ o.output = Shapes::ShapeRef.new(shape: HeadBucketOutput)
2934
3238
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
2935
3239
  end)
2936
3240
 
2937
3241
  api.add_operation(:head_object, Seahorse::Model::Operation.new.tap do |o|
2938
3242
  o.name = "HeadObject"
2939
3243
  o.http_method = "HEAD"
2940
- o.http_request_uri = "/{Bucket}/{Key+}"
3244
+ o.http_request_uri = "/{Key+}"
2941
3245
  o.input = Shapes::ShapeRef.new(shape: HeadObjectRequest)
2942
3246
  o.output = Shapes::ShapeRef.new(shape: HeadObjectOutput)
2943
3247
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -2946,7 +3250,7 @@ module Aws::S3
2946
3250
  api.add_operation(:list_bucket_analytics_configurations, Seahorse::Model::Operation.new.tap do |o|
2947
3251
  o.name = "ListBucketAnalyticsConfigurations"
2948
3252
  o.http_method = "GET"
2949
- o.http_request_uri = "/{Bucket}?analytics"
3253
+ o.http_request_uri = "/?analytics"
2950
3254
  o.input = Shapes::ShapeRef.new(shape: ListBucketAnalyticsConfigurationsRequest)
2951
3255
  o.output = Shapes::ShapeRef.new(shape: ListBucketAnalyticsConfigurationsOutput)
2952
3256
  end)
@@ -2954,7 +3258,7 @@ module Aws::S3
2954
3258
  api.add_operation(:list_bucket_intelligent_tiering_configurations, Seahorse::Model::Operation.new.tap do |o|
2955
3259
  o.name = "ListBucketIntelligentTieringConfigurations"
2956
3260
  o.http_method = "GET"
2957
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
3261
+ o.http_request_uri = "/?intelligent-tiering"
2958
3262
  o.input = Shapes::ShapeRef.new(shape: ListBucketIntelligentTieringConfigurationsRequest)
2959
3263
  o.output = Shapes::ShapeRef.new(shape: ListBucketIntelligentTieringConfigurationsOutput)
2960
3264
  end)
@@ -2962,7 +3266,7 @@ module Aws::S3
2962
3266
  api.add_operation(:list_bucket_inventory_configurations, Seahorse::Model::Operation.new.tap do |o|
2963
3267
  o.name = "ListBucketInventoryConfigurations"
2964
3268
  o.http_method = "GET"
2965
- o.http_request_uri = "/{Bucket}?inventory"
3269
+ o.http_request_uri = "/?inventory"
2966
3270
  o.input = Shapes::ShapeRef.new(shape: ListBucketInventoryConfigurationsRequest)
2967
3271
  o.output = Shapes::ShapeRef.new(shape: ListBucketInventoryConfigurationsOutput)
2968
3272
  end)
@@ -2970,7 +3274,7 @@ module Aws::S3
2970
3274
  api.add_operation(:list_bucket_metrics_configurations, Seahorse::Model::Operation.new.tap do |o|
2971
3275
  o.name = "ListBucketMetricsConfigurations"
2972
3276
  o.http_method = "GET"
2973
- o.http_request_uri = "/{Bucket}?metrics"
3277
+ o.http_request_uri = "/?metrics"
2974
3278
  o.input = Shapes::ShapeRef.new(shape: ListBucketMetricsConfigurationsRequest)
2975
3279
  o.output = Shapes::ShapeRef.new(shape: ListBucketMetricsConfigurationsOutput)
2976
3280
  end)
@@ -2983,10 +3287,24 @@ module Aws::S3
2983
3287
  o.output = Shapes::ShapeRef.new(shape: ListBucketsOutput)
2984
3288
  end)
2985
3289
 
3290
+ api.add_operation(:list_directory_buckets, Seahorse::Model::Operation.new.tap do |o|
3291
+ o.name = "ListDirectoryBuckets"
3292
+ o.http_method = "GET"
3293
+ o.http_request_uri = "/"
3294
+ o.input = Shapes::ShapeRef.new(shape: ListDirectoryBucketsRequest)
3295
+ o.output = Shapes::ShapeRef.new(shape: ListDirectoryBucketsOutput)
3296
+ o[:pager] = Aws::Pager.new(
3297
+ limit_key: "max_directory_buckets",
3298
+ tokens: {
3299
+ "continuation_token" => "continuation_token"
3300
+ }
3301
+ )
3302
+ end)
3303
+
2986
3304
  api.add_operation(:list_multipart_uploads, Seahorse::Model::Operation.new.tap do |o|
2987
3305
  o.name = "ListMultipartUploads"
2988
3306
  o.http_method = "GET"
2989
- o.http_request_uri = "/{Bucket}?uploads"
3307
+ o.http_request_uri = "/?uploads"
2990
3308
  o.input = Shapes::ShapeRef.new(shape: ListMultipartUploadsRequest)
2991
3309
  o.output = Shapes::ShapeRef.new(shape: ListMultipartUploadsOutput)
2992
3310
  o[:pager] = Aws::Pager.new(
@@ -3002,7 +3320,7 @@ module Aws::S3
3002
3320
  api.add_operation(:list_object_versions, Seahorse::Model::Operation.new.tap do |o|
3003
3321
  o.name = "ListObjectVersions"
3004
3322
  o.http_method = "GET"
3005
- o.http_request_uri = "/{Bucket}?versions"
3323
+ o.http_request_uri = "/?versions"
3006
3324
  o.input = Shapes::ShapeRef.new(shape: ListObjectVersionsRequest)
3007
3325
  o.output = Shapes::ShapeRef.new(shape: ListObjectVersionsOutput)
3008
3326
  o[:pager] = Aws::Pager.new(
@@ -3018,7 +3336,7 @@ module Aws::S3
3018
3336
  api.add_operation(:list_objects, Seahorse::Model::Operation.new.tap do |o|
3019
3337
  o.name = "ListObjects"
3020
3338
  o.http_method = "GET"
3021
- o.http_request_uri = "/{Bucket}"
3339
+ o.http_request_uri = "/"
3022
3340
  o.input = Shapes::ShapeRef.new(shape: ListObjectsRequest)
3023
3341
  o.output = Shapes::ShapeRef.new(shape: ListObjectsOutput)
3024
3342
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -3034,7 +3352,7 @@ module Aws::S3
3034
3352
  api.add_operation(:list_objects_v2, Seahorse::Model::Operation.new.tap do |o|
3035
3353
  o.name = "ListObjectsV2"
3036
3354
  o.http_method = "GET"
3037
- o.http_request_uri = "/{Bucket}?list-type=2"
3355
+ o.http_request_uri = "/?list-type=2"
3038
3356
  o.input = Shapes::ShapeRef.new(shape: ListObjectsV2Request)
3039
3357
  o.output = Shapes::ShapeRef.new(shape: ListObjectsV2Output)
3040
3358
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -3049,7 +3367,7 @@ module Aws::S3
3049
3367
  api.add_operation(:list_parts, Seahorse::Model::Operation.new.tap do |o|
3050
3368
  o.name = "ListParts"
3051
3369
  o.http_method = "GET"
3052
- o.http_request_uri = "/{Bucket}/{Key+}"
3370
+ o.http_request_uri = "/{Key+}"
3053
3371
  o.input = Shapes::ShapeRef.new(shape: ListPartsRequest)
3054
3372
  o.output = Shapes::ShapeRef.new(shape: ListPartsOutput)
3055
3373
  o[:pager] = Aws::Pager.new(
@@ -3064,7 +3382,15 @@ module Aws::S3
3064
3382
  api.add_operation(:put_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
3065
3383
  o.name = "PutBucketAccelerateConfiguration"
3066
3384
  o.http_method = "PUT"
3067
- o.http_request_uri = "/{Bucket}?accelerate"
3385
+ o.http_request_uri = "/?accelerate"
3386
+ o.http_checksum = {
3387
+ "requestAlgorithmMember" => "checksum_algorithm",
3388
+ "requestChecksumRequired" => false,
3389
+ }
3390
+ o.http_checksum = {
3391
+ "requestAlgorithmMember" => "checksum_algorithm",
3392
+ "requestChecksumRequired" => false,
3393
+ }
3068
3394
  o.input = Shapes::ShapeRef.new(shape: PutBucketAccelerateConfigurationRequest)
3069
3395
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3070
3396
  end)
@@ -3072,8 +3398,15 @@ module Aws::S3
3072
3398
  api.add_operation(:put_bucket_acl, Seahorse::Model::Operation.new.tap do |o|
3073
3399
  o.name = "PutBucketAcl"
3074
3400
  o.http_method = "PUT"
3075
- o.http_request_uri = "/{Bucket}?acl"
3076
- o.http_checksum_required = true
3401
+ o.http_request_uri = "/?acl"
3402
+ o.http_checksum = {
3403
+ "requestAlgorithmMember" => "checksum_algorithm",
3404
+ "requestChecksumRequired" => true,
3405
+ }
3406
+ o.http_checksum = {
3407
+ "requestAlgorithmMember" => "checksum_algorithm",
3408
+ "requestChecksumRequired" => true,
3409
+ }
3077
3410
  o.input = Shapes::ShapeRef.new(shape: PutBucketAclRequest)
3078
3411
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3079
3412
  end)
@@ -3081,7 +3414,7 @@ module Aws::S3
3081
3414
  api.add_operation(:put_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
3082
3415
  o.name = "PutBucketAnalyticsConfiguration"
3083
3416
  o.http_method = "PUT"
3084
- o.http_request_uri = "/{Bucket}?analytics"
3417
+ o.http_request_uri = "/?analytics"
3085
3418
  o.input = Shapes::ShapeRef.new(shape: PutBucketAnalyticsConfigurationRequest)
3086
3419
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3087
3420
  end)
@@ -3089,8 +3422,15 @@ module Aws::S3
3089
3422
  api.add_operation(:put_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
3090
3423
  o.name = "PutBucketCors"
3091
3424
  o.http_method = "PUT"
3092
- o.http_request_uri = "/{Bucket}?cors"
3093
- o.http_checksum_required = true
3425
+ o.http_request_uri = "/?cors"
3426
+ o.http_checksum = {
3427
+ "requestAlgorithmMember" => "checksum_algorithm",
3428
+ "requestChecksumRequired" => true,
3429
+ }
3430
+ o.http_checksum = {
3431
+ "requestAlgorithmMember" => "checksum_algorithm",
3432
+ "requestChecksumRequired" => true,
3433
+ }
3094
3434
  o.input = Shapes::ShapeRef.new(shape: PutBucketCorsRequest)
3095
3435
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3096
3436
  end)
@@ -3098,8 +3438,15 @@ module Aws::S3
3098
3438
  api.add_operation(:put_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
3099
3439
  o.name = "PutBucketEncryption"
3100
3440
  o.http_method = "PUT"
3101
- o.http_request_uri = "/{Bucket}?encryption"
3102
- o.http_checksum_required = true
3441
+ o.http_request_uri = "/?encryption"
3442
+ o.http_checksum = {
3443
+ "requestAlgorithmMember" => "checksum_algorithm",
3444
+ "requestChecksumRequired" => true,
3445
+ }
3446
+ o.http_checksum = {
3447
+ "requestAlgorithmMember" => "checksum_algorithm",
3448
+ "requestChecksumRequired" => true,
3449
+ }
3103
3450
  o.input = Shapes::ShapeRef.new(shape: PutBucketEncryptionRequest)
3104
3451
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3105
3452
  end)
@@ -3107,7 +3454,7 @@ module Aws::S3
3107
3454
  api.add_operation(:put_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
3108
3455
  o.name = "PutBucketIntelligentTieringConfiguration"
3109
3456
  o.http_method = "PUT"
3110
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
3457
+ o.http_request_uri = "/?intelligent-tiering"
3111
3458
  o.input = Shapes::ShapeRef.new(shape: PutBucketIntelligentTieringConfigurationRequest)
3112
3459
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3113
3460
  end)
@@ -3115,7 +3462,7 @@ module Aws::S3
3115
3462
  api.add_operation(:put_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
3116
3463
  o.name = "PutBucketInventoryConfiguration"
3117
3464
  o.http_method = "PUT"
3118
- o.http_request_uri = "/{Bucket}?inventory"
3465
+ o.http_request_uri = "/?inventory"
3119
3466
  o.input = Shapes::ShapeRef.new(shape: PutBucketInventoryConfigurationRequest)
3120
3467
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3121
3468
  end)
@@ -3123,8 +3470,15 @@ module Aws::S3
3123
3470
  api.add_operation(:put_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
3124
3471
  o.name = "PutBucketLifecycle"
3125
3472
  o.http_method = "PUT"
3126
- o.http_request_uri = "/{Bucket}?lifecycle"
3127
- o.http_checksum_required = true
3473
+ o.http_request_uri = "/?lifecycle"
3474
+ o.http_checksum = {
3475
+ "requestAlgorithmMember" => "checksum_algorithm",
3476
+ "requestChecksumRequired" => true,
3477
+ }
3478
+ o.http_checksum = {
3479
+ "requestAlgorithmMember" => "checksum_algorithm",
3480
+ "requestChecksumRequired" => true,
3481
+ }
3128
3482
  o.deprecated = true
3129
3483
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleRequest)
3130
3484
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -3133,8 +3487,15 @@ module Aws::S3
3133
3487
  api.add_operation(:put_bucket_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
3134
3488
  o.name = "PutBucketLifecycleConfiguration"
3135
3489
  o.http_method = "PUT"
3136
- o.http_request_uri = "/{Bucket}?lifecycle"
3137
- o.http_checksum_required = true
3490
+ o.http_request_uri = "/?lifecycle"
3491
+ o.http_checksum = {
3492
+ "requestAlgorithmMember" => "checksum_algorithm",
3493
+ "requestChecksumRequired" => true,
3494
+ }
3495
+ o.http_checksum = {
3496
+ "requestAlgorithmMember" => "checksum_algorithm",
3497
+ "requestChecksumRequired" => true,
3498
+ }
3138
3499
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationRequest)
3139
3500
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3140
3501
  end)
@@ -3142,8 +3503,15 @@ module Aws::S3
3142
3503
  api.add_operation(:put_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
3143
3504
  o.name = "PutBucketLogging"
3144
3505
  o.http_method = "PUT"
3145
- o.http_request_uri = "/{Bucket}?logging"
3146
- o.http_checksum_required = true
3506
+ o.http_request_uri = "/?logging"
3507
+ o.http_checksum = {
3508
+ "requestAlgorithmMember" => "checksum_algorithm",
3509
+ "requestChecksumRequired" => true,
3510
+ }
3511
+ o.http_checksum = {
3512
+ "requestAlgorithmMember" => "checksum_algorithm",
3513
+ "requestChecksumRequired" => true,
3514
+ }
3147
3515
  o.input = Shapes::ShapeRef.new(shape: PutBucketLoggingRequest)
3148
3516
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3149
3517
  end)
@@ -3151,7 +3519,7 @@ module Aws::S3
3151
3519
  api.add_operation(:put_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
3152
3520
  o.name = "PutBucketMetricsConfiguration"
3153
3521
  o.http_method = "PUT"
3154
- o.http_request_uri = "/{Bucket}?metrics"
3522
+ o.http_request_uri = "/?metrics"
3155
3523
  o.input = Shapes::ShapeRef.new(shape: PutBucketMetricsConfigurationRequest)
3156
3524
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3157
3525
  end)
@@ -3159,8 +3527,15 @@ module Aws::S3
3159
3527
  api.add_operation(:put_bucket_notification, Seahorse::Model::Operation.new.tap do |o|
3160
3528
  o.name = "PutBucketNotification"
3161
3529
  o.http_method = "PUT"
3162
- o.http_request_uri = "/{Bucket}?notification"
3163
- o.http_checksum_required = true
3530
+ o.http_request_uri = "/?notification"
3531
+ o.http_checksum = {
3532
+ "requestAlgorithmMember" => "checksum_algorithm",
3533
+ "requestChecksumRequired" => true,
3534
+ }
3535
+ o.http_checksum = {
3536
+ "requestAlgorithmMember" => "checksum_algorithm",
3537
+ "requestChecksumRequired" => true,
3538
+ }
3164
3539
  o.deprecated = true
3165
3540
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationRequest)
3166
3541
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -3169,7 +3544,7 @@ module Aws::S3
3169
3544
  api.add_operation(:put_bucket_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
3170
3545
  o.name = "PutBucketNotificationConfiguration"
3171
3546
  o.http_method = "PUT"
3172
- o.http_request_uri = "/{Bucket}?notification"
3547
+ o.http_request_uri = "/?notification"
3173
3548
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationConfigurationRequest)
3174
3549
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3175
3550
  end)
@@ -3177,8 +3552,10 @@ module Aws::S3
3177
3552
  api.add_operation(:put_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
3178
3553
  o.name = "PutBucketOwnershipControls"
3179
3554
  o.http_method = "PUT"
3180
- o.http_request_uri = "/{Bucket}?ownershipControls"
3181
- o.http_checksum_required = true
3555
+ o.http_request_uri = "/?ownershipControls"
3556
+ o.http_checksum = {
3557
+ "requestChecksumRequired" => true,
3558
+ }
3182
3559
  o.input = Shapes::ShapeRef.new(shape: PutBucketOwnershipControlsRequest)
3183
3560
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3184
3561
  end)
@@ -3186,8 +3563,15 @@ module Aws::S3
3186
3563
  api.add_operation(:put_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
3187
3564
  o.name = "PutBucketPolicy"
3188
3565
  o.http_method = "PUT"
3189
- o.http_request_uri = "/{Bucket}?policy"
3190
- o.http_checksum_required = true
3566
+ o.http_request_uri = "/?policy"
3567
+ o.http_checksum = {
3568
+ "requestAlgorithmMember" => "checksum_algorithm",
3569
+ "requestChecksumRequired" => true,
3570
+ }
3571
+ o.http_checksum = {
3572
+ "requestAlgorithmMember" => "checksum_algorithm",
3573
+ "requestChecksumRequired" => true,
3574
+ }
3191
3575
  o.input = Shapes::ShapeRef.new(shape: PutBucketPolicyRequest)
3192
3576
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3193
3577
  end)
@@ -3195,8 +3579,15 @@ module Aws::S3
3195
3579
  api.add_operation(:put_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
3196
3580
  o.name = "PutBucketReplication"
3197
3581
  o.http_method = "PUT"
3198
- o.http_request_uri = "/{Bucket}?replication"
3199
- o.http_checksum_required = true
3582
+ o.http_request_uri = "/?replication"
3583
+ o.http_checksum = {
3584
+ "requestAlgorithmMember" => "checksum_algorithm",
3585
+ "requestChecksumRequired" => true,
3586
+ }
3587
+ o.http_checksum = {
3588
+ "requestAlgorithmMember" => "checksum_algorithm",
3589
+ "requestChecksumRequired" => true,
3590
+ }
3200
3591
  o.input = Shapes::ShapeRef.new(shape: PutBucketReplicationRequest)
3201
3592
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3202
3593
  end)
@@ -3204,8 +3595,15 @@ module Aws::S3
3204
3595
  api.add_operation(:put_bucket_request_payment, Seahorse::Model::Operation.new.tap do |o|
3205
3596
  o.name = "PutBucketRequestPayment"
3206
3597
  o.http_method = "PUT"
3207
- o.http_request_uri = "/{Bucket}?requestPayment"
3208
- o.http_checksum_required = true
3598
+ o.http_request_uri = "/?requestPayment"
3599
+ o.http_checksum = {
3600
+ "requestAlgorithmMember" => "checksum_algorithm",
3601
+ "requestChecksumRequired" => true,
3602
+ }
3603
+ o.http_checksum = {
3604
+ "requestAlgorithmMember" => "checksum_algorithm",
3605
+ "requestChecksumRequired" => true,
3606
+ }
3209
3607
  o.input = Shapes::ShapeRef.new(shape: PutBucketRequestPaymentRequest)
3210
3608
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3211
3609
  end)
@@ -3213,8 +3611,15 @@ module Aws::S3
3213
3611
  api.add_operation(:put_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
3214
3612
  o.name = "PutBucketTagging"
3215
3613
  o.http_method = "PUT"
3216
- o.http_request_uri = "/{Bucket}?tagging"
3217
- o.http_checksum_required = true
3614
+ o.http_request_uri = "/?tagging"
3615
+ o.http_checksum = {
3616
+ "requestAlgorithmMember" => "checksum_algorithm",
3617
+ "requestChecksumRequired" => true,
3618
+ }
3619
+ o.http_checksum = {
3620
+ "requestAlgorithmMember" => "checksum_algorithm",
3621
+ "requestChecksumRequired" => true,
3622
+ }
3218
3623
  o.input = Shapes::ShapeRef.new(shape: PutBucketTaggingRequest)
3219
3624
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3220
3625
  end)
@@ -3222,8 +3627,15 @@ module Aws::S3
3222
3627
  api.add_operation(:put_bucket_versioning, Seahorse::Model::Operation.new.tap do |o|
3223
3628
  o.name = "PutBucketVersioning"
3224
3629
  o.http_method = "PUT"
3225
- o.http_request_uri = "/{Bucket}?versioning"
3226
- o.http_checksum_required = true
3630
+ o.http_request_uri = "/?versioning"
3631
+ o.http_checksum = {
3632
+ "requestAlgorithmMember" => "checksum_algorithm",
3633
+ "requestChecksumRequired" => true,
3634
+ }
3635
+ o.http_checksum = {
3636
+ "requestAlgorithmMember" => "checksum_algorithm",
3637
+ "requestChecksumRequired" => true,
3638
+ }
3227
3639
  o.input = Shapes::ShapeRef.new(shape: PutBucketVersioningRequest)
3228
3640
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3229
3641
  end)
@@ -3231,8 +3643,15 @@ module Aws::S3
3231
3643
  api.add_operation(:put_bucket_website, Seahorse::Model::Operation.new.tap do |o|
3232
3644
  o.name = "PutBucketWebsite"
3233
3645
  o.http_method = "PUT"
3234
- o.http_request_uri = "/{Bucket}?website"
3235
- o.http_checksum_required = true
3646
+ o.http_request_uri = "/?website"
3647
+ o.http_checksum = {
3648
+ "requestAlgorithmMember" => "checksum_algorithm",
3649
+ "requestChecksumRequired" => true,
3650
+ }
3651
+ o.http_checksum = {
3652
+ "requestAlgorithmMember" => "checksum_algorithm",
3653
+ "requestChecksumRequired" => true,
3654
+ }
3236
3655
  o.input = Shapes::ShapeRef.new(shape: PutBucketWebsiteRequest)
3237
3656
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3238
3657
  end)
@@ -3240,7 +3659,15 @@ module Aws::S3
3240
3659
  api.add_operation(:put_object, Seahorse::Model::Operation.new.tap do |o|
3241
3660
  o.name = "PutObject"
3242
3661
  o.http_method = "PUT"
3243
- o.http_request_uri = "/{Bucket}/{Key+}"
3662
+ o.http_request_uri = "/{Key+}"
3663
+ o.http_checksum = {
3664
+ "requestAlgorithmMember" => "checksum_algorithm",
3665
+ "requestChecksumRequired" => false,
3666
+ }
3667
+ o.http_checksum = {
3668
+ "requestAlgorithmMember" => "checksum_algorithm",
3669
+ "requestChecksumRequired" => false,
3670
+ }
3244
3671
  o.input = Shapes::ShapeRef.new(shape: PutObjectRequest)
3245
3672
  o.output = Shapes::ShapeRef.new(shape: PutObjectOutput)
3246
3673
  end)
@@ -3248,8 +3675,15 @@ module Aws::S3
3248
3675
  api.add_operation(:put_object_acl, Seahorse::Model::Operation.new.tap do |o|
3249
3676
  o.name = "PutObjectAcl"
3250
3677
  o.http_method = "PUT"
3251
- o.http_request_uri = "/{Bucket}/{Key+}?acl"
3252
- o.http_checksum_required = true
3678
+ o.http_request_uri = "/{Key+}?acl"
3679
+ o.http_checksum = {
3680
+ "requestAlgorithmMember" => "checksum_algorithm",
3681
+ "requestChecksumRequired" => true,
3682
+ }
3683
+ o.http_checksum = {
3684
+ "requestAlgorithmMember" => "checksum_algorithm",
3685
+ "requestChecksumRequired" => true,
3686
+ }
3253
3687
  o.input = Shapes::ShapeRef.new(shape: PutObjectAclRequest)
3254
3688
  o.output = Shapes::ShapeRef.new(shape: PutObjectAclOutput)
3255
3689
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -3258,8 +3692,15 @@ module Aws::S3
3258
3692
  api.add_operation(:put_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
3259
3693
  o.name = "PutObjectLegalHold"
3260
3694
  o.http_method = "PUT"
3261
- o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
3262
- o.http_checksum_required = true
3695
+ o.http_request_uri = "/{Key+}?legal-hold"
3696
+ o.http_checksum = {
3697
+ "requestAlgorithmMember" => "checksum_algorithm",
3698
+ "requestChecksumRequired" => true,
3699
+ }
3700
+ o.http_checksum = {
3701
+ "requestAlgorithmMember" => "checksum_algorithm",
3702
+ "requestChecksumRequired" => true,
3703
+ }
3263
3704
  o.input = Shapes::ShapeRef.new(shape: PutObjectLegalHoldRequest)
3264
3705
  o.output = Shapes::ShapeRef.new(shape: PutObjectLegalHoldOutput)
3265
3706
  end)
@@ -3267,8 +3708,15 @@ module Aws::S3
3267
3708
  api.add_operation(:put_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
3268
3709
  o.name = "PutObjectLockConfiguration"
3269
3710
  o.http_method = "PUT"
3270
- o.http_request_uri = "/{Bucket}?object-lock"
3271
- o.http_checksum_required = true
3711
+ o.http_request_uri = "/?object-lock"
3712
+ o.http_checksum = {
3713
+ "requestAlgorithmMember" => "checksum_algorithm",
3714
+ "requestChecksumRequired" => true,
3715
+ }
3716
+ o.http_checksum = {
3717
+ "requestAlgorithmMember" => "checksum_algorithm",
3718
+ "requestChecksumRequired" => true,
3719
+ }
3272
3720
  o.input = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationRequest)
3273
3721
  o.output = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationOutput)
3274
3722
  end)
@@ -3276,8 +3724,15 @@ module Aws::S3
3276
3724
  api.add_operation(:put_object_retention, Seahorse::Model::Operation.new.tap do |o|
3277
3725
  o.name = "PutObjectRetention"
3278
3726
  o.http_method = "PUT"
3279
- o.http_request_uri = "/{Bucket}/{Key+}?retention"
3280
- o.http_checksum_required = true
3727
+ o.http_request_uri = "/{Key+}?retention"
3728
+ o.http_checksum = {
3729
+ "requestAlgorithmMember" => "checksum_algorithm",
3730
+ "requestChecksumRequired" => true,
3731
+ }
3732
+ o.http_checksum = {
3733
+ "requestAlgorithmMember" => "checksum_algorithm",
3734
+ "requestChecksumRequired" => true,
3735
+ }
3281
3736
  o.input = Shapes::ShapeRef.new(shape: PutObjectRetentionRequest)
3282
3737
  o.output = Shapes::ShapeRef.new(shape: PutObjectRetentionOutput)
3283
3738
  end)
@@ -3285,8 +3740,15 @@ module Aws::S3
3285
3740
  api.add_operation(:put_object_tagging, Seahorse::Model::Operation.new.tap do |o|
3286
3741
  o.name = "PutObjectTagging"
3287
3742
  o.http_method = "PUT"
3288
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3289
- o.http_checksum_required = true
3743
+ o.http_request_uri = "/{Key+}?tagging"
3744
+ o.http_checksum = {
3745
+ "requestAlgorithmMember" => "checksum_algorithm",
3746
+ "requestChecksumRequired" => true,
3747
+ }
3748
+ o.http_checksum = {
3749
+ "requestAlgorithmMember" => "checksum_algorithm",
3750
+ "requestChecksumRequired" => true,
3751
+ }
3290
3752
  o.input = Shapes::ShapeRef.new(shape: PutObjectTaggingRequest)
3291
3753
  o.output = Shapes::ShapeRef.new(shape: PutObjectTaggingOutput)
3292
3754
  end)
@@ -3294,8 +3756,15 @@ module Aws::S3
3294
3756
  api.add_operation(:put_public_access_block, Seahorse::Model::Operation.new.tap do |o|
3295
3757
  o.name = "PutPublicAccessBlock"
3296
3758
  o.http_method = "PUT"
3297
- o.http_request_uri = "/{Bucket}?publicAccessBlock"
3298
- o.http_checksum_required = true
3759
+ o.http_request_uri = "/?publicAccessBlock"
3760
+ o.http_checksum = {
3761
+ "requestAlgorithmMember" => "checksum_algorithm",
3762
+ "requestChecksumRequired" => true,
3763
+ }
3764
+ o.http_checksum = {
3765
+ "requestAlgorithmMember" => "checksum_algorithm",
3766
+ "requestChecksumRequired" => true,
3767
+ }
3299
3768
  o.input = Shapes::ShapeRef.new(shape: PutPublicAccessBlockRequest)
3300
3769
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3301
3770
  end)
@@ -3303,7 +3772,15 @@ module Aws::S3
3303
3772
  api.add_operation(:restore_object, Seahorse::Model::Operation.new.tap do |o|
3304
3773
  o.name = "RestoreObject"
3305
3774
  o.http_method = "POST"
3306
- o.http_request_uri = "/{Bucket}/{Key+}?restore"
3775
+ o.http_request_uri = "/{Key+}?restore"
3776
+ o.http_checksum = {
3777
+ "requestAlgorithmMember" => "checksum_algorithm",
3778
+ "requestChecksumRequired" => false,
3779
+ }
3780
+ o.http_checksum = {
3781
+ "requestAlgorithmMember" => "checksum_algorithm",
3782
+ "requestChecksumRequired" => false,
3783
+ }
3307
3784
  o.input = Shapes::ShapeRef.new(shape: RestoreObjectRequest)
3308
3785
  o.output = Shapes::ShapeRef.new(shape: RestoreObjectOutput)
3309
3786
  o.errors << Shapes::ShapeRef.new(shape: ObjectAlreadyInActiveTierError)
@@ -3312,7 +3789,7 @@ module Aws::S3
3312
3789
  api.add_operation(:select_object_content, Seahorse::Model::Operation.new.tap do |o|
3313
3790
  o.name = "SelectObjectContent"
3314
3791
  o.http_method = "POST"
3315
- o.http_request_uri = "/{Bucket}/{Key+}?select&select-type=2"
3792
+ o.http_request_uri = "/{Key+}?select&select-type=2"
3316
3793
  o.input = Shapes::ShapeRef.new(shape: SelectObjectContentRequest,
3317
3794
  location_name: "SelectObjectContentRequest",
3318
3795
  metadata: {
@@ -3325,7 +3802,15 @@ module Aws::S3
3325
3802
  api.add_operation(:upload_part, Seahorse::Model::Operation.new.tap do |o|
3326
3803
  o.name = "UploadPart"
3327
3804
  o.http_method = "PUT"
3328
- o.http_request_uri = "/{Bucket}/{Key+}"
3805
+ o.http_request_uri = "/{Key+}"
3806
+ o.http_checksum = {
3807
+ "requestAlgorithmMember" => "checksum_algorithm",
3808
+ "requestChecksumRequired" => false,
3809
+ }
3810
+ o.http_checksum = {
3811
+ "requestAlgorithmMember" => "checksum_algorithm",
3812
+ "requestChecksumRequired" => false,
3813
+ }
3329
3814
  o.input = Shapes::ShapeRef.new(shape: UploadPartRequest)
3330
3815
  o.output = Shapes::ShapeRef.new(shape: UploadPartOutput)
3331
3816
  end)
@@ -3333,7 +3818,7 @@ module Aws::S3
3333
3818
  api.add_operation(:upload_part_copy, Seahorse::Model::Operation.new.tap do |o|
3334
3819
  o.name = "UploadPartCopy"
3335
3820
  o.http_method = "PUT"
3336
- o.http_request_uri = "/{Bucket}/{Key+}"
3821
+ o.http_request_uri = "/{Key+}"
3337
3822
  o.input = Shapes::ShapeRef.new(shape: UploadPartCopyRequest)
3338
3823
  o.output = Shapes::ShapeRef.new(shape: UploadPartCopyOutput)
3339
3824
  end)