aws-sdk-s3 1.109.0 → 1.156.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +352 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/access_grants_credentials.rb +57 -0
  5. data/lib/aws-sdk-s3/access_grants_credentials_provider.rb +241 -0
  6. data/lib/aws-sdk-s3/bucket.rb +585 -110
  7. data/lib/aws-sdk-s3/bucket_acl.rb +28 -6
  8. data/lib/aws-sdk-s3/bucket_cors.rb +34 -10
  9. data/lib/aws-sdk-s3/bucket_lifecycle.rb +34 -10
  10. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +34 -10
  11. data/lib/aws-sdk-s3/bucket_logging.rb +35 -6
  12. data/lib/aws-sdk-s3/bucket_notification.rb +12 -6
  13. data/lib/aws-sdk-s3/bucket_policy.rb +78 -10
  14. data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
  15. data/lib/aws-sdk-s3/bucket_request_payment.rb +28 -6
  16. data/lib/aws-sdk-s3/bucket_tagging.rb +34 -10
  17. data/lib/aws-sdk-s3/bucket_versioning.rb +72 -14
  18. data/lib/aws-sdk-s3/bucket_website.rb +34 -10
  19. data/lib/aws-sdk-s3/client.rb +7900 -3252
  20. data/lib/aws-sdk-s3/client_api.rb +706 -228
  21. data/lib/aws-sdk-s3/customizations/bucket.rb +23 -47
  22. data/lib/aws-sdk-s3/customizations/errors.rb +40 -0
  23. data/lib/aws-sdk-s3/customizations/object.rb +97 -21
  24. data/lib/aws-sdk-s3/customizations/types/permanent_redirect.rb +26 -0
  25. data/lib/aws-sdk-s3/customizations.rb +10 -0
  26. data/lib/aws-sdk-s3/encryption/client.rb +6 -2
  27. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  28. data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
  29. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -0
  30. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  31. data/lib/aws-sdk-s3/endpoint_parameters.rb +186 -0
  32. data/lib/aws-sdk-s3/endpoint_provider.rb +592 -0
  33. data/lib/aws-sdk-s3/endpoints.rb +2689 -0
  34. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  35. data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
  36. data/lib/aws-sdk-s3/file_downloader.rb +170 -45
  37. data/lib/aws-sdk-s3/file_uploader.rb +11 -4
  38. data/lib/aws-sdk-s3/multipart_file_uploader.rb +30 -11
  39. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +46 -17
  40. data/lib/aws-sdk-s3/multipart_upload.rb +194 -19
  41. data/lib/aws-sdk-s3/multipart_upload_part.rb +280 -30
  42. data/lib/aws-sdk-s3/object.rb +1753 -266
  43. data/lib/aws-sdk-s3/object_acl.rb +49 -13
  44. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  45. data/lib/aws-sdk-s3/object_multipart_copier.rb +46 -22
  46. data/lib/aws-sdk-s3/object_summary.rb +1497 -221
  47. data/lib/aws-sdk-s3/object_version.rb +383 -58
  48. data/lib/aws-sdk-s3/plugins/accelerate.rb +3 -50
  49. data/lib/aws-sdk-s3/plugins/access_grants.rb +114 -0
  50. data/lib/aws-sdk-s3/plugins/arn.rb +0 -184
  51. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +3 -39
  52. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +1 -6
  53. data/lib/aws-sdk-s3/plugins/dualstack.rb +1 -49
  54. data/lib/aws-sdk-s3/plugins/endpoints.rb +274 -0
  55. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +2 -1
  56. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +97 -0
  57. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
  58. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +6 -29
  59. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  60. data/lib/aws-sdk-s3/plugins/md5s.rb +6 -3
  61. data/lib/aws-sdk-s3/plugins/s3_signer.rb +42 -126
  62. data/lib/aws-sdk-s3/plugins/skip_whole_multipart_get_checksums.rb +31 -0
  63. data/lib/aws-sdk-s3/plugins/streaming_retry.rb +23 -2
  64. data/lib/aws-sdk-s3/presigned_post.rb +99 -78
  65. data/lib/aws-sdk-s3/presigner.rb +28 -37
  66. data/lib/aws-sdk-s3/resource.rb +89 -13
  67. data/lib/aws-sdk-s3/types.rb +6544 -4909
  68. data/lib/aws-sdk-s3.rb +5 -1
  69. data/sig/bucket.rbs +212 -0
  70. data/sig/bucket_acl.rbs +78 -0
  71. data/sig/bucket_cors.rbs +69 -0
  72. data/sig/bucket_lifecycle.rbs +88 -0
  73. data/sig/bucket_lifecycle_configuration.rbs +111 -0
  74. data/sig/bucket_logging.rbs +76 -0
  75. data/sig/bucket_notification.rbs +114 -0
  76. data/sig/bucket_policy.rbs +59 -0
  77. data/sig/bucket_request_payment.rbs +54 -0
  78. data/sig/bucket_tagging.rbs +65 -0
  79. data/sig/bucket_versioning.rbs +77 -0
  80. data/sig/bucket_website.rbs +93 -0
  81. data/sig/client.rbs +2381 -0
  82. data/sig/customizations/bucket.rbs +19 -0
  83. data/sig/customizations/object.rbs +38 -0
  84. data/sig/customizations/object_summary.rbs +35 -0
  85. data/sig/errors.rbs +34 -0
  86. data/sig/multipart_upload.rbs +110 -0
  87. data/sig/multipart_upload_part.rbs +105 -0
  88. data/sig/object.rbs +442 -0
  89. data/sig/object_acl.rbs +86 -0
  90. data/sig/object_summary.rbs +334 -0
  91. data/sig/object_version.rbs +137 -0
  92. data/sig/resource.rbs +127 -0
  93. data/sig/types.rbs +2568 -0
  94. data/sig/waiters.rbs +95 -0
  95. metadata +50 -16
  96. data/lib/aws-sdk-s3/arn/access_point_arn.rb +0 -69
  97. data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +0 -68
  98. data/lib/aws-sdk-s3/arn/object_lambda_arn.rb +0 -69
  99. data/lib/aws-sdk-s3/arn/outpost_access_point_arn.rb +0 -74
  100. 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')
@@ -221,6 +238,9 @@ module Aws::S3
221
238
  GetBucketWebsiteRequest = Shapes::StructureShape.new(name: 'GetBucketWebsiteRequest')
222
239
  GetObjectAclOutput = Shapes::StructureShape.new(name: 'GetObjectAclOutput')
223
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')
224
244
  GetObjectLegalHoldOutput = Shapes::StructureShape.new(name: 'GetObjectLegalHoldOutput')
225
245
  GetObjectLegalHoldRequest = Shapes::StructureShape.new(name: 'GetObjectLegalHoldRequest')
226
246
  GetObjectLockConfigurationOutput = Shapes::StructureShape.new(name: 'GetObjectLockConfigurationOutput')
@@ -245,6 +265,7 @@ module Aws::S3
245
265
  GrantWriteACP = Shapes::StringShape.new(name: 'GrantWriteACP')
246
266
  Grantee = Shapes::StructureShape.new(name: 'Grantee', xmlNamespace: {"prefix"=>"xsi", "uri"=>"http://www.w3.org/2001/XMLSchema-instance"})
247
267
  Grants = Shapes::ListShape.new(name: 'Grants')
268
+ HeadBucketOutput = Shapes::StructureShape.new(name: 'HeadBucketOutput')
248
269
  HeadBucketRequest = Shapes::StructureShape.new(name: 'HeadBucketRequest')
249
270
  HeadObjectOutput = Shapes::StructureShape.new(name: 'HeadObjectOutput')
250
271
  HeadObjectRequest = Shapes::StructureShape.new(name: 'HeadObjectRequest')
@@ -285,6 +306,7 @@ module Aws::S3
285
306
  IsEnabled = Shapes::BooleanShape.new(name: 'IsEnabled')
286
307
  IsLatest = Shapes::BooleanShape.new(name: 'IsLatest')
287
308
  IsPublic = Shapes::BooleanShape.new(name: 'IsPublic')
309
+ IsRestoreInProgress = Shapes::BooleanShape.new(name: 'IsRestoreInProgress')
288
310
  IsTruncated = Shapes::BooleanShape.new(name: 'IsTruncated')
289
311
  JSONInput = Shapes::StructureShape.new(name: 'JSONInput')
290
312
  JSONOutput = Shapes::StructureShape.new(name: 'JSONOutput')
@@ -312,6 +334,8 @@ module Aws::S3
312
334
  ListBucketMetricsConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsOutput')
313
335
  ListBucketMetricsConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsRequest')
314
336
  ListBucketsOutput = Shapes::StructureShape.new(name: 'ListBucketsOutput')
337
+ ListDirectoryBucketsOutput = Shapes::StructureShape.new(name: 'ListDirectoryBucketsOutput')
338
+ ListDirectoryBucketsRequest = Shapes::StructureShape.new(name: 'ListDirectoryBucketsRequest')
315
339
  ListMultipartUploadsOutput = Shapes::StructureShape.new(name: 'ListMultipartUploadsOutput')
316
340
  ListMultipartUploadsRequest = Shapes::StructureShape.new(name: 'ListMultipartUploadsRequest')
317
341
  ListObjectVersionsOutput = Shapes::StructureShape.new(name: 'ListObjectVersionsOutput')
@@ -323,13 +347,17 @@ module Aws::S3
323
347
  ListPartsOutput = Shapes::StructureShape.new(name: 'ListPartsOutput')
324
348
  ListPartsRequest = Shapes::StructureShape.new(name: 'ListPartsRequest')
325
349
  Location = Shapes::StringShape.new(name: 'Location')
350
+ LocationInfo = Shapes::StructureShape.new(name: 'LocationInfo')
351
+ LocationNameAsString = Shapes::StringShape.new(name: 'LocationNameAsString')
326
352
  LocationPrefix = Shapes::StringShape.new(name: 'LocationPrefix')
353
+ LocationType = Shapes::StringShape.new(name: 'LocationType')
327
354
  LoggingEnabled = Shapes::StructureShape.new(name: 'LoggingEnabled')
328
355
  MFA = Shapes::StringShape.new(name: 'MFA')
329
356
  MFADelete = Shapes::StringShape.new(name: 'MFADelete')
330
357
  MFADeleteStatus = Shapes::StringShape.new(name: 'MFADeleteStatus')
331
358
  Marker = Shapes::StringShape.new(name: 'Marker')
332
359
  MaxAgeSeconds = Shapes::IntegerShape.new(name: 'MaxAgeSeconds')
360
+ MaxDirectoryBuckets = Shapes::IntegerShape.new(name: 'MaxDirectoryBuckets')
333
361
  MaxKeys = Shapes::IntegerShape.new(name: 'MaxKeys')
334
362
  MaxParts = Shapes::IntegerShape.new(name: 'MaxParts')
335
363
  MaxUploads = Shapes::IntegerShape.new(name: 'MaxUploads')
@@ -369,6 +397,8 @@ module Aws::S3
369
397
  NotificationId = Shapes::StringShape.new(name: 'NotificationId')
370
398
  Object = Shapes::StructureShape.new(name: 'Object')
371
399
  ObjectAlreadyInActiveTierError = Shapes::StructureShape.new(name: 'ObjectAlreadyInActiveTierError')
400
+ ObjectAttributes = Shapes::StringShape.new(name: 'ObjectAttributes')
401
+ ObjectAttributesList = Shapes::ListShape.new(name: 'ObjectAttributesList')
372
402
  ObjectCannedACL = Shapes::StringShape.new(name: 'ObjectCannedACL')
373
403
  ObjectIdentifier = Shapes::StructureShape.new(name: 'ObjectIdentifier')
374
404
  ObjectIdentifierList = Shapes::ListShape.new(name: 'ObjectIdentifierList', flattened: true)
@@ -387,6 +417,8 @@ module Aws::S3
387
417
  ObjectLockToken = Shapes::StringShape.new(name: 'ObjectLockToken')
388
418
  ObjectNotInActiveTierError = Shapes::StructureShape.new(name: 'ObjectNotInActiveTierError')
389
419
  ObjectOwnership = Shapes::StringShape.new(name: 'ObjectOwnership')
420
+ ObjectPart = Shapes::StructureShape.new(name: 'ObjectPart')
421
+ ObjectSize = Shapes::IntegerShape.new(name: 'ObjectSize')
390
422
  ObjectSizeGreaterThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeGreaterThanBytes')
391
423
  ObjectSizeLessThanBytes = Shapes::IntegerShape.new(name: 'ObjectSizeLessThanBytes')
392
424
  ObjectStorageClass = Shapes::StringShape.new(name: 'ObjectStorageClass')
@@ -394,6 +426,8 @@ module Aws::S3
394
426
  ObjectVersionId = Shapes::StringShape.new(name: 'ObjectVersionId')
395
427
  ObjectVersionList = Shapes::ListShape.new(name: 'ObjectVersionList', flattened: true)
396
428
  ObjectVersionStorageClass = Shapes::StringShape.new(name: 'ObjectVersionStorageClass')
429
+ OptionalObjectAttributes = Shapes::StringShape.new(name: 'OptionalObjectAttributes')
430
+ OptionalObjectAttributesList = Shapes::ListShape.new(name: 'OptionalObjectAttributesList')
397
431
  OutputLocation = Shapes::StructureShape.new(name: 'OutputLocation')
398
432
  OutputSerialization = Shapes::StructureShape.new(name: 'OutputSerialization')
399
433
  Owner = Shapes::StructureShape.new(name: 'Owner')
@@ -405,8 +439,11 @@ module Aws::S3
405
439
  Part = Shapes::StructureShape.new(name: 'Part')
406
440
  PartNumber = Shapes::IntegerShape.new(name: 'PartNumber')
407
441
  PartNumberMarker = Shapes::IntegerShape.new(name: 'PartNumberMarker')
442
+ PartitionDateSource = Shapes::StringShape.new(name: 'PartitionDateSource')
443
+ PartitionedPrefix = Shapes::StructureShape.new(name: 'PartitionedPrefix', locationName: "PartitionedPrefix")
408
444
  Parts = Shapes::ListShape.new(name: 'Parts', flattened: true)
409
445
  PartsCount = Shapes::IntegerShape.new(name: 'PartsCount')
446
+ PartsList = Shapes::ListShape.new(name: 'PartsList', flattened: true)
410
447
  Payer = Shapes::StringShape.new(name: 'Payer')
411
448
  Permission = Shapes::StringShape.new(name: 'Permission')
412
449
  Policy = Shapes::StringShape.new(name: 'Policy')
@@ -463,6 +500,7 @@ module Aws::S3
463
500
  RecordsEvent = Shapes::StructureShape.new(name: 'RecordsEvent')
464
501
  Redirect = Shapes::StructureShape.new(name: 'Redirect')
465
502
  RedirectAllRequestsTo = Shapes::StructureShape.new(name: 'RedirectAllRequestsTo')
503
+ Region = Shapes::StringShape.new(name: 'Region')
466
504
  ReplaceKeyPrefixWith = Shapes::StringShape.new(name: 'ReplaceKeyPrefixWith')
467
505
  ReplaceKeyWith = Shapes::StringShape.new(name: 'ReplaceKeyWith')
468
506
  ReplicaKmsKeyID = Shapes::StringShape.new(name: 'ReplicaKmsKeyID')
@@ -491,11 +529,13 @@ module Aws::S3
491
529
  ResponseContentType = Shapes::StringShape.new(name: 'ResponseContentType')
492
530
  ResponseExpires = Shapes::TimestampShape.new(name: 'ResponseExpires', timestampFormat: "rfc822")
493
531
  Restore = Shapes::StringShape.new(name: 'Restore')
532
+ RestoreExpiryDate = Shapes::TimestampShape.new(name: 'RestoreExpiryDate')
494
533
  RestoreObjectOutput = Shapes::StructureShape.new(name: 'RestoreObjectOutput')
495
534
  RestoreObjectRequest = Shapes::StructureShape.new(name: 'RestoreObjectRequest')
496
535
  RestoreOutputPath = Shapes::StringShape.new(name: 'RestoreOutputPath')
497
536
  RestoreRequest = Shapes::StructureShape.new(name: 'RestoreRequest')
498
537
  RestoreRequestType = Shapes::StringShape.new(name: 'RestoreRequestType')
538
+ RestoreStatus = Shapes::StructureShape.new(name: 'RestoreStatus')
499
539
  Role = Shapes::StringShape.new(name: 'Role')
500
540
  RoutingRule = Shapes::StructureShape.new(name: 'RoutingRule')
501
541
  RoutingRules = Shapes::ListShape.new(name: 'RoutingRules')
@@ -506,10 +546,10 @@ module Aws::S3
506
546
  SSECustomerAlgorithm = Shapes::StringShape.new(name: 'SSECustomerAlgorithm')
507
547
  SSECustomerKey = Shapes::StringShape.new(name: 'SSECustomerKey')
508
548
  SSECustomerKeyMD5 = Shapes::StringShape.new(name: 'SSECustomerKeyMD5')
509
- SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS')
549
+ SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS', locationName: "SSE-KMS")
510
550
  SSEKMSEncryptionContext = Shapes::StringShape.new(name: 'SSEKMSEncryptionContext')
511
551
  SSEKMSKeyId = Shapes::StringShape.new(name: 'SSEKMSKeyId')
512
- SSES3 = Shapes::StructureShape.new(name: 'SSES3')
552
+ SSES3 = Shapes::StructureShape.new(name: 'SSES3', locationName: "SSE-S3")
513
553
  ScanRange = Shapes::StructureShape.new(name: 'ScanRange')
514
554
  SelectObjectContentEventStream = Shapes::StructureShape.new(name: 'SelectObjectContentEventStream')
515
555
  SelectObjectContentOutput = Shapes::StructureShape.new(name: 'SelectObjectContentOutput')
@@ -520,7 +560,12 @@ module Aws::S3
520
560
  ServerSideEncryptionConfiguration = Shapes::StructureShape.new(name: 'ServerSideEncryptionConfiguration')
521
561
  ServerSideEncryptionRule = Shapes::StructureShape.new(name: 'ServerSideEncryptionRule')
522
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')
523
567
  Setting = Shapes::BooleanShape.new(name: 'Setting')
568
+ SimplePrefix = Shapes::StructureShape.new(name: 'SimplePrefix', locationName: "SimplePrefix")
524
569
  Size = Shapes::IntegerShape.new(name: 'Size')
525
570
  SkipValidation = Shapes::BooleanShape.new(name: 'SkipValidation')
526
571
  SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
@@ -544,6 +589,7 @@ module Aws::S3
544
589
  TargetBucket = Shapes::StringShape.new(name: 'TargetBucket')
545
590
  TargetGrant = Shapes::StructureShape.new(name: 'TargetGrant')
546
591
  TargetGrants = Shapes::ListShape.new(name: 'TargetGrants')
592
+ TargetObjectKeyFormat = Shapes::StructureShape.new(name: 'TargetObjectKeyFormat')
547
593
  TargetPrefix = Shapes::StringShape.new(name: 'TargetPrefix')
548
594
  Tier = Shapes::StringShape.new(name: 'Tier')
549
595
  Tiering = Shapes::StructureShape.new(name: 'Tiering')
@@ -579,8 +625,8 @@ module Aws::S3
579
625
  AbortMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
580
626
  AbortMultipartUploadOutput.struct_class = Types::AbortMultipartUploadOutput
581
627
 
582
- AbortMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
583
- 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"}}))
584
630
  AbortMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
585
631
  AbortMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
586
632
  AbortMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -635,6 +681,10 @@ module Aws::S3
635
681
 
636
682
  BucketAlreadyOwnedByYou.struct_class = Types::BucketAlreadyOwnedByYou
637
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
+
638
688
  BucketLifecycleConfiguration.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, required: true, location_name: "Rule"))
639
689
  BucketLifecycleConfiguration.struct_class = Types::BucketLifecycleConfiguration
640
690
 
@@ -672,6 +722,14 @@ module Aws::S3
672
722
  CSVOutput.add_member(:quote_character, Shapes::ShapeRef.new(shape: QuoteCharacter, location_name: "QuoteCharacter"))
673
723
  CSVOutput.struct_class = Types::CSVOutput
674
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
+
675
733
  CloudFunctionConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
676
734
  CloudFunctionConfiguration.add_member(:event, Shapes::ShapeRef.new(shape: Event, deprecated: true, location_name: "Event"))
677
735
  CloudFunctionConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, location_name: "Event"))
@@ -689,6 +747,10 @@ module Aws::S3
689
747
  CompleteMultipartUploadOutput.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
690
748
  CompleteMultipartUploadOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
691
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"))
692
754
  CompleteMultipartUploadOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
693
755
  CompleteMultipartUploadOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
694
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"))
@@ -696,12 +758,19 @@ module Aws::S3
696
758
  CompleteMultipartUploadOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
697
759
  CompleteMultipartUploadOutput.struct_class = Types::CompleteMultipartUploadOutput
698
760
 
699
- CompleteMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
700
- 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"}}))
701
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/"}}))
702
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"))
703
769
  CompleteMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
704
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"))
705
774
  CompleteMultipartUploadRequest.struct_class = Types::CompleteMultipartUploadRequest
706
775
  CompleteMultipartUploadRequest[:payload] = :multipart_upload
707
776
  CompleteMultipartUploadRequest[:payload_member] = CompleteMultipartUploadRequest.member(:multipart_upload)
@@ -710,6 +779,10 @@ module Aws::S3
710
779
  CompletedMultipartUpload.struct_class = Types::CompletedMultipartUpload
711
780
 
712
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"))
713
786
  CompletedPart.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
714
787
  CompletedPart.struct_class = Types::CompletedPart
715
788
 
@@ -737,13 +810,14 @@ module Aws::S3
737
810
  CopyObjectOutput[:payload_member] = CopyObjectOutput.member(:copy_object_result)
738
811
 
739
812
  CopyObjectRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
740
- 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"}}))
741
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"))
742
816
  CopyObjectRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
743
817
  CopyObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
744
818
  CopyObjectRequest.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "Content-Language"))
745
819
  CopyObjectRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
746
- CopyObjectRequest.add_member(:copy_source, Shapes::ShapeRef.new(shape: CopySource, required: true, location: "header", location_name: "x-amz-copy-source"))
820
+ CopyObjectRequest.add_member(:copy_source, Shapes::ShapeRef.new(shape: CopySource, required: true, location: "header", location_name: "x-amz-copy-source", metadata: {"contextParam"=>{"name"=>"CopySource"}}))
747
821
  CopyObjectRequest.add_member(:copy_source_if_match, Shapes::ShapeRef.new(shape: CopySourceIfMatch, location: "header", location_name: "x-amz-copy-source-if-match"))
748
822
  CopyObjectRequest.add_member(:copy_source_if_modified_since, Shapes::ShapeRef.new(shape: CopySourceIfModifiedSince, location: "header", location_name: "x-amz-copy-source-if-modified-since"))
749
823
  CopyObjectRequest.add_member(:copy_source_if_none_match, Shapes::ShapeRef.new(shape: CopySourceIfNoneMatch, location: "header", location_name: "x-amz-copy-source-if-none-match"))
@@ -753,7 +827,7 @@ module Aws::S3
753
827
  CopyObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
754
828
  CopyObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
755
829
  CopyObjectRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
756
- CopyObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
830
+ CopyObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
757
831
  CopyObjectRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
758
832
  CopyObjectRequest.add_member(:metadata_directive, Shapes::ShapeRef.new(shape: MetadataDirective, location: "header", location_name: "x-amz-metadata-directive"))
759
833
  CopyObjectRequest.add_member(:tagging_directive, Shapes::ShapeRef.new(shape: TaggingDirective, location: "header", location_name: "x-amz-tagging-directive"))
@@ -780,20 +854,30 @@ module Aws::S3
780
854
 
781
855
  CopyObjectResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
782
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"))
783
861
  CopyObjectResult.struct_class = Types::CopyObjectResult
784
862
 
785
863
  CopyPartResult.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
786
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"))
787
869
  CopyPartResult.struct_class = Types::CopyPartResult
788
870
 
789
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"))
790
874
  CreateBucketConfiguration.struct_class = Types::CreateBucketConfiguration
791
875
 
792
876
  CreateBucketOutput.add_member(:location, Shapes::ShapeRef.new(shape: Location, location: "header", location_name: "Location"))
793
877
  CreateBucketOutput.struct_class = Types::CreateBucketOutput
794
878
 
795
879
  CreateBucketRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
796
- 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"}}))
797
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/"}}))
798
882
  CreateBucketRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
799
883
  CreateBucketRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
@@ -818,10 +902,11 @@ module Aws::S3
818
902
  CreateMultipartUploadOutput.add_member(:ssekms_encryption_context, Shapes::ShapeRef.new(shape: SSEKMSEncryptionContext, location: "header", location_name: "x-amz-server-side-encryption-context"))
819
903
  CreateMultipartUploadOutput.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location: "header", location_name: "x-amz-server-side-encryption-bucket-key-enabled"))
820
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"))
821
906
  CreateMultipartUploadOutput.struct_class = Types::CreateMultipartUploadOutput
822
907
 
823
908
  CreateMultipartUploadRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
824
- 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"}}))
825
910
  CreateMultipartUploadRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
826
911
  CreateMultipartUploadRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
827
912
  CreateMultipartUploadRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
@@ -832,7 +917,7 @@ module Aws::S3
832
917
  CreateMultipartUploadRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
833
918
  CreateMultipartUploadRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
834
919
  CreateMultipartUploadRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
835
- 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"}}))
836
921
  CreateMultipartUploadRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
837
922
  CreateMultipartUploadRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
838
923
  CreateMultipartUploadRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
@@ -849,8 +934,16 @@ module Aws::S3
849
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"))
850
935
  CreateMultipartUploadRequest.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
851
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"))
852
938
  CreateMultipartUploadRequest.struct_class = Types::CreateMultipartUploadRequest
853
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
+
854
947
  DefaultRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
855
948
  DefaultRetention.add_member(:days, Shapes::ShapeRef.new(shape: Days, location_name: "Days"))
856
949
  DefaultRetention.add_member(:years, Shapes::ShapeRef.new(shape: Years, location_name: "Years"))
@@ -860,58 +953,58 @@ module Aws::S3
860
953
  Delete.add_member(:quiet, Shapes::ShapeRef.new(shape: Quiet, location_name: "Quiet"))
861
954
  Delete.struct_class = Types::Delete
862
955
 
863
- 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"}}))
864
957
  DeleteBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
865
958
  DeleteBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
866
959
  DeleteBucketAnalyticsConfigurationRequest.struct_class = Types::DeleteBucketAnalyticsConfigurationRequest
867
960
 
868
- 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"}}))
869
962
  DeleteBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
870
963
  DeleteBucketCorsRequest.struct_class = Types::DeleteBucketCorsRequest
871
964
 
872
- 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"}}))
873
966
  DeleteBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
874
967
  DeleteBucketEncryptionRequest.struct_class = Types::DeleteBucketEncryptionRequest
875
968
 
876
- 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"}}))
877
970
  DeleteBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
878
971
  DeleteBucketIntelligentTieringConfigurationRequest.struct_class = Types::DeleteBucketIntelligentTieringConfigurationRequest
879
972
 
880
- 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"}}))
881
974
  DeleteBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
882
975
  DeleteBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
883
976
  DeleteBucketInventoryConfigurationRequest.struct_class = Types::DeleteBucketInventoryConfigurationRequest
884
977
 
885
- 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"}}))
886
979
  DeleteBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
887
980
  DeleteBucketLifecycleRequest.struct_class = Types::DeleteBucketLifecycleRequest
888
981
 
889
- 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"}}))
890
983
  DeleteBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
891
984
  DeleteBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
892
985
  DeleteBucketMetricsConfigurationRequest.struct_class = Types::DeleteBucketMetricsConfigurationRequest
893
986
 
894
- 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"}}))
895
988
  DeleteBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
896
989
  DeleteBucketOwnershipControlsRequest.struct_class = Types::DeleteBucketOwnershipControlsRequest
897
990
 
898
- 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"}}))
899
992
  DeleteBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
900
993
  DeleteBucketPolicyRequest.struct_class = Types::DeleteBucketPolicyRequest
901
994
 
902
- 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"}}))
903
996
  DeleteBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
904
997
  DeleteBucketReplicationRequest.struct_class = Types::DeleteBucketReplicationRequest
905
998
 
906
- 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"}}))
907
1000
  DeleteBucketRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
908
1001
  DeleteBucketRequest.struct_class = Types::DeleteBucketRequest
909
1002
 
910
- 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"}}))
911
1004
  DeleteBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
912
1005
  DeleteBucketTaggingRequest.struct_class = Types::DeleteBucketTaggingRequest
913
1006
 
914
- 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"}}))
915
1008
  DeleteBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
916
1009
  DeleteBucketWebsiteRequest.struct_class = Types::DeleteBucketWebsiteRequest
917
1010
 
@@ -932,8 +1025,8 @@ module Aws::S3
932
1025
  DeleteObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
933
1026
  DeleteObjectOutput.struct_class = Types::DeleteObjectOutput
934
1027
 
935
- DeleteObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
936
- 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"}}))
937
1030
  DeleteObjectRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
938
1031
  DeleteObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
939
1032
  DeleteObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -944,7 +1037,7 @@ module Aws::S3
944
1037
  DeleteObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
945
1038
  DeleteObjectTaggingOutput.struct_class = Types::DeleteObjectTaggingOutput
946
1039
 
947
- 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"}}))
948
1041
  DeleteObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
949
1042
  DeleteObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
950
1043
  DeleteObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -955,17 +1048,18 @@ module Aws::S3
955
1048
  DeleteObjectsOutput.add_member(:errors, Shapes::ShapeRef.new(shape: Errors, location_name: "Error"))
956
1049
  DeleteObjectsOutput.struct_class = Types::DeleteObjectsOutput
957
1050
 
958
- 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"}}))
959
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/"}}))
960
1053
  DeleteObjectsRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
961
1054
  DeleteObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
962
1055
  DeleteObjectsRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
963
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"))
964
1058
  DeleteObjectsRequest.struct_class = Types::DeleteObjectsRequest
965
1059
  DeleteObjectsRequest[:payload] = :delete
966
1060
  DeleteObjectsRequest[:payload_member] = DeleteObjectsRequest.member(:delete)
967
1061
 
968
- 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"}}))
969
1063
  DeletePublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
970
1064
  DeletePublicAccessBlockRequest.struct_class = Types::DeletePublicAccessBlockRequest
971
1065
 
@@ -1023,17 +1117,19 @@ module Aws::S3
1023
1117
  FilterRuleList.member = Shapes::ShapeRef.new(shape: FilterRule)
1024
1118
 
1025
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"))
1026
1121
  GetBucketAccelerateConfigurationOutput.struct_class = Types::GetBucketAccelerateConfigurationOutput
1027
1122
 
1028
- 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"}}))
1029
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"))
1030
1126
  GetBucketAccelerateConfigurationRequest.struct_class = Types::GetBucketAccelerateConfigurationRequest
1031
1127
 
1032
1128
  GetBucketAclOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1033
1129
  GetBucketAclOutput.add_member(:grants, Shapes::ShapeRef.new(shape: Grants, location_name: "AccessControlList"))
1034
1130
  GetBucketAclOutput.struct_class = Types::GetBucketAclOutput
1035
1131
 
1036
- 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"}}))
1037
1133
  GetBucketAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1038
1134
  GetBucketAclRequest.struct_class = Types::GetBucketAclRequest
1039
1135
 
@@ -1042,7 +1138,7 @@ module Aws::S3
1042
1138
  GetBucketAnalyticsConfigurationOutput[:payload] = :analytics_configuration
1043
1139
  GetBucketAnalyticsConfigurationOutput[:payload_member] = GetBucketAnalyticsConfigurationOutput.member(:analytics_configuration)
1044
1140
 
1045
- 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"}}))
1046
1142
  GetBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
1047
1143
  GetBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1048
1144
  GetBucketAnalyticsConfigurationRequest.struct_class = Types::GetBucketAnalyticsConfigurationRequest
@@ -1050,7 +1146,7 @@ module Aws::S3
1050
1146
  GetBucketCorsOutput.add_member(:cors_rules, Shapes::ShapeRef.new(shape: CORSRules, location_name: "CORSRule"))
1051
1147
  GetBucketCorsOutput.struct_class = Types::GetBucketCorsOutput
1052
1148
 
1053
- 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"}}))
1054
1150
  GetBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1055
1151
  GetBucketCorsRequest.struct_class = Types::GetBucketCorsRequest
1056
1152
 
@@ -1059,7 +1155,7 @@ module Aws::S3
1059
1155
  GetBucketEncryptionOutput[:payload] = :server_side_encryption_configuration
1060
1156
  GetBucketEncryptionOutput[:payload_member] = GetBucketEncryptionOutput.member(:server_side_encryption_configuration)
1061
1157
 
1062
- 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"}}))
1063
1159
  GetBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1064
1160
  GetBucketEncryptionRequest.struct_class = Types::GetBucketEncryptionRequest
1065
1161
 
@@ -1068,7 +1164,7 @@ module Aws::S3
1068
1164
  GetBucketIntelligentTieringConfigurationOutput[:payload] = :intelligent_tiering_configuration
1069
1165
  GetBucketIntelligentTieringConfigurationOutput[:payload_member] = GetBucketIntelligentTieringConfigurationOutput.member(:intelligent_tiering_configuration)
1070
1166
 
1071
- 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"}}))
1072
1168
  GetBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1073
1169
  GetBucketIntelligentTieringConfigurationRequest.struct_class = Types::GetBucketIntelligentTieringConfigurationRequest
1074
1170
 
@@ -1077,7 +1173,7 @@ module Aws::S3
1077
1173
  GetBucketInventoryConfigurationOutput[:payload] = :inventory_configuration
1078
1174
  GetBucketInventoryConfigurationOutput[:payload_member] = GetBucketInventoryConfigurationOutput.member(:inventory_configuration)
1079
1175
 
1080
- 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"}}))
1081
1177
  GetBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
1082
1178
  GetBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1083
1179
  GetBucketInventoryConfigurationRequest.struct_class = Types::GetBucketInventoryConfigurationRequest
@@ -1085,28 +1181,28 @@ module Aws::S3
1085
1181
  GetBucketLifecycleConfigurationOutput.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, location_name: "Rule"))
1086
1182
  GetBucketLifecycleConfigurationOutput.struct_class = Types::GetBucketLifecycleConfigurationOutput
1087
1183
 
1088
- 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"}}))
1089
1185
  GetBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1090
1186
  GetBucketLifecycleConfigurationRequest.struct_class = Types::GetBucketLifecycleConfigurationRequest
1091
1187
 
1092
1188
  GetBucketLifecycleOutput.add_member(:rules, Shapes::ShapeRef.new(shape: Rules, location_name: "Rule"))
1093
1189
  GetBucketLifecycleOutput.struct_class = Types::GetBucketLifecycleOutput
1094
1190
 
1095
- 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"}}))
1096
1192
  GetBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1097
1193
  GetBucketLifecycleRequest.struct_class = Types::GetBucketLifecycleRequest
1098
1194
 
1099
1195
  GetBucketLocationOutput.add_member(:location_constraint, Shapes::ShapeRef.new(shape: BucketLocationConstraint, location_name: "LocationConstraint"))
1100
1196
  GetBucketLocationOutput.struct_class = Types::GetBucketLocationOutput
1101
1197
 
1102
- 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"}}))
1103
1199
  GetBucketLocationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1104
1200
  GetBucketLocationRequest.struct_class = Types::GetBucketLocationRequest
1105
1201
 
1106
1202
  GetBucketLoggingOutput.add_member(:logging_enabled, Shapes::ShapeRef.new(shape: LoggingEnabled, location_name: "LoggingEnabled"))
1107
1203
  GetBucketLoggingOutput.struct_class = Types::GetBucketLoggingOutput
1108
1204
 
1109
- 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"}}))
1110
1206
  GetBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1111
1207
  GetBucketLoggingRequest.struct_class = Types::GetBucketLoggingRequest
1112
1208
 
@@ -1115,12 +1211,12 @@ module Aws::S3
1115
1211
  GetBucketMetricsConfigurationOutput[:payload] = :metrics_configuration
1116
1212
  GetBucketMetricsConfigurationOutput[:payload_member] = GetBucketMetricsConfigurationOutput.member(:metrics_configuration)
1117
1213
 
1118
- 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"}}))
1119
1215
  GetBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
1120
1216
  GetBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1121
1217
  GetBucketMetricsConfigurationRequest.struct_class = Types::GetBucketMetricsConfigurationRequest
1122
1218
 
1123
- 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"}}))
1124
1220
  GetBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1125
1221
  GetBucketNotificationConfigurationRequest.struct_class = Types::GetBucketNotificationConfigurationRequest
1126
1222
 
@@ -1129,7 +1225,7 @@ module Aws::S3
1129
1225
  GetBucketOwnershipControlsOutput[:payload] = :ownership_controls
1130
1226
  GetBucketOwnershipControlsOutput[:payload_member] = GetBucketOwnershipControlsOutput.member(:ownership_controls)
1131
1227
 
1132
- 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"}}))
1133
1229
  GetBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1134
1230
  GetBucketOwnershipControlsRequest.struct_class = Types::GetBucketOwnershipControlsRequest
1135
1231
 
@@ -1138,7 +1234,7 @@ module Aws::S3
1138
1234
  GetBucketPolicyOutput[:payload] = :policy
1139
1235
  GetBucketPolicyOutput[:payload_member] = GetBucketPolicyOutput.member(:policy)
1140
1236
 
1141
- 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"}}))
1142
1238
  GetBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1143
1239
  GetBucketPolicyRequest.struct_class = Types::GetBucketPolicyRequest
1144
1240
 
@@ -1147,7 +1243,7 @@ module Aws::S3
1147
1243
  GetBucketPolicyStatusOutput[:payload] = :policy_status
1148
1244
  GetBucketPolicyStatusOutput[:payload_member] = GetBucketPolicyStatusOutput.member(:policy_status)
1149
1245
 
1150
- 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"}}))
1151
1247
  GetBucketPolicyStatusRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1152
1248
  GetBucketPolicyStatusRequest.struct_class = Types::GetBucketPolicyStatusRequest
1153
1249
 
@@ -1156,21 +1252,21 @@ module Aws::S3
1156
1252
  GetBucketReplicationOutput[:payload] = :replication_configuration
1157
1253
  GetBucketReplicationOutput[:payload_member] = GetBucketReplicationOutput.member(:replication_configuration)
1158
1254
 
1159
- 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"}}))
1160
1256
  GetBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1161
1257
  GetBucketReplicationRequest.struct_class = Types::GetBucketReplicationRequest
1162
1258
 
1163
1259
  GetBucketRequestPaymentOutput.add_member(:payer, Shapes::ShapeRef.new(shape: Payer, location_name: "Payer"))
1164
1260
  GetBucketRequestPaymentOutput.struct_class = Types::GetBucketRequestPaymentOutput
1165
1261
 
1166
- 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"}}))
1167
1263
  GetBucketRequestPaymentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1168
1264
  GetBucketRequestPaymentRequest.struct_class = Types::GetBucketRequestPaymentRequest
1169
1265
 
1170
1266
  GetBucketTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
1171
1267
  GetBucketTaggingOutput.struct_class = Types::GetBucketTaggingOutput
1172
1268
 
1173
- 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"}}))
1174
1270
  GetBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1175
1271
  GetBucketTaggingRequest.struct_class = Types::GetBucketTaggingRequest
1176
1272
 
@@ -1178,7 +1274,7 @@ module Aws::S3
1178
1274
  GetBucketVersioningOutput.add_member(:mfa_delete, Shapes::ShapeRef.new(shape: MFADeleteStatus, location_name: "MfaDelete"))
1179
1275
  GetBucketVersioningOutput.struct_class = Types::GetBucketVersioningOutput
1180
1276
 
1181
- 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"}}))
1182
1278
  GetBucketVersioningRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1183
1279
  GetBucketVersioningRequest.struct_class = Types::GetBucketVersioningRequest
1184
1280
 
@@ -1188,7 +1284,7 @@ module Aws::S3
1188
1284
  GetBucketWebsiteOutput.add_member(:routing_rules, Shapes::ShapeRef.new(shape: RoutingRules, location_name: "RoutingRules"))
1189
1285
  GetBucketWebsiteOutput.struct_class = Types::GetBucketWebsiteOutput
1190
1286
 
1191
- 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"}}))
1192
1288
  GetBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1193
1289
  GetBucketWebsiteRequest.struct_class = Types::GetBucketWebsiteRequest
1194
1290
 
@@ -1197,19 +1293,51 @@ module Aws::S3
1197
1293
  GetObjectAclOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1198
1294
  GetObjectAclOutput.struct_class = Types::GetObjectAclOutput
1199
1295
 
1200
- GetObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1201
- 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"}}))
1202
1298
  GetObjectAclRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1203
1299
  GetObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1204
1300
  GetObjectAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1205
1301
  GetObjectAclRequest.struct_class = Types::GetObjectAclRequest
1206
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
+
1207
1335
  GetObjectLegalHoldOutput.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold"))
1208
1336
  GetObjectLegalHoldOutput.struct_class = Types::GetObjectLegalHoldOutput
1209
1337
  GetObjectLegalHoldOutput[:payload] = :legal_hold
1210
1338
  GetObjectLegalHoldOutput[:payload_member] = GetObjectLegalHoldOutput.member(:legal_hold)
1211
1339
 
1212
- 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"}}))
1213
1341
  GetObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1214
1342
  GetObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1215
1343
  GetObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -1221,7 +1349,7 @@ module Aws::S3
1221
1349
  GetObjectLockConfigurationOutput[:payload] = :object_lock_configuration
1222
1350
  GetObjectLockConfigurationOutput[:payload_member] = GetObjectLockConfigurationOutput.member(:object_lock_configuration)
1223
1351
 
1224
- 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"}}))
1225
1353
  GetObjectLockConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1226
1354
  GetObjectLockConfigurationRequest.struct_class = Types::GetObjectLockConfigurationRequest
1227
1355
 
@@ -1233,6 +1361,10 @@ module Aws::S3
1233
1361
  GetObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1234
1362
  GetObjectOutput.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1235
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"))
1236
1368
  GetObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
1237
1369
  GetObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
1238
1370
  GetObjectOutput.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
@@ -1262,12 +1394,12 @@ module Aws::S3
1262
1394
  GetObjectOutput[:payload] = :body
1263
1395
  GetObjectOutput[:payload_member] = GetObjectOutput.member(:body)
1264
1396
 
1265
- 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"}}))
1266
1398
  GetObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1267
1399
  GetObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1268
1400
  GetObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
1269
1401
  GetObjectRequest.add_member(:if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
1270
- 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"}}))
1271
1403
  GetObjectRequest.add_member(:range, Shapes::ShapeRef.new(shape: Range, location: "header", location_name: "Range"))
1272
1404
  GetObjectRequest.add_member(:response_cache_control, Shapes::ShapeRef.new(shape: ResponseCacheControl, location: "querystring", location_name: "response-cache-control"))
1273
1405
  GetObjectRequest.add_member(:response_content_disposition, Shapes::ShapeRef.new(shape: ResponseContentDisposition, location: "querystring", location_name: "response-content-disposition"))
@@ -1282,6 +1414,7 @@ module Aws::S3
1282
1414
  GetObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1283
1415
  GetObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1284
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"))
1285
1418
  GetObjectRequest.struct_class = Types::GetObjectRequest
1286
1419
 
1287
1420
  GetObjectRetentionOutput.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention"))
@@ -1289,7 +1422,7 @@ module Aws::S3
1289
1422
  GetObjectRetentionOutput[:payload] = :retention
1290
1423
  GetObjectRetentionOutput[:payload_member] = GetObjectRetentionOutput.member(:retention)
1291
1424
 
1292
- 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"}}))
1293
1426
  GetObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1294
1427
  GetObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1295
1428
  GetObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -1300,7 +1433,7 @@ module Aws::S3
1300
1433
  GetObjectTaggingOutput.add_member(:tag_set, Shapes::ShapeRef.new(shape: TagSet, required: true, location_name: "TagSet"))
1301
1434
  GetObjectTaggingOutput.struct_class = Types::GetObjectTaggingOutput
1302
1435
 
1303
- 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"}}))
1304
1437
  GetObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1305
1438
  GetObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1306
1439
  GetObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1313,7 +1446,7 @@ module Aws::S3
1313
1446
  GetObjectTorrentOutput[:payload] = :body
1314
1447
  GetObjectTorrentOutput[:payload_member] = GetObjectTorrentOutput.member(:body)
1315
1448
 
1316
- 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"}}))
1317
1450
  GetObjectTorrentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1318
1451
  GetObjectTorrentRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1319
1452
  GetObjectTorrentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1324,7 +1457,7 @@ module Aws::S3
1324
1457
  GetPublicAccessBlockOutput[:payload] = :public_access_block_configuration
1325
1458
  GetPublicAccessBlockOutput[:payload_member] = GetPublicAccessBlockOutput.member(:public_access_block_configuration)
1326
1459
 
1327
- 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"}}))
1328
1461
  GetPublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1329
1462
  GetPublicAccessBlockRequest.struct_class = Types::GetPublicAccessBlockRequest
1330
1463
 
@@ -1344,7 +1477,13 @@ module Aws::S3
1344
1477
 
1345
1478
  Grants.member = Shapes::ShapeRef.new(shape: Grant, location_name: "Grant")
1346
1479
 
1347
- 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"}}))
1348
1487
  HeadBucketRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1349
1488
  HeadBucketRequest.struct_class = Types::HeadBucketRequest
1350
1489
 
@@ -1355,6 +1494,10 @@ module Aws::S3
1355
1494
  HeadObjectOutput.add_member(:archive_status, Shapes::ShapeRef.new(shape: ArchiveStatus, location: "header", location_name: "x-amz-archive-status"))
1356
1495
  HeadObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1357
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"))
1358
1501
  HeadObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
1359
1502
  HeadObjectOutput.add_member(:missing_meta, Shapes::ShapeRef.new(shape: MissingMeta, location: "header", location_name: "x-amz-missing-meta"))
1360
1503
  HeadObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
@@ -1381,13 +1524,19 @@ module Aws::S3
1381
1524
  HeadObjectOutput.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
1382
1525
  HeadObjectOutput.struct_class = Types::HeadObjectOutput
1383
1526
 
1384
- 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"}}))
1385
1528
  HeadObjectRequest.add_member(:if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
1386
1529
  HeadObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1387
1530
  HeadObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
1388
1531
  HeadObjectRequest.add_member(:if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
1389
- 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"}}))
1390
1533
  HeadObjectRequest.add_member(:range, Shapes::ShapeRef.new(shape: Range, location: "header", location_name: "Range"))
1534
+ HeadObjectRequest.add_member(:response_cache_control, Shapes::ShapeRef.new(shape: ResponseCacheControl, location: "querystring", location_name: "response-cache-control"))
1535
+ HeadObjectRequest.add_member(:response_content_disposition, Shapes::ShapeRef.new(shape: ResponseContentDisposition, location: "querystring", location_name: "response-content-disposition"))
1536
+ HeadObjectRequest.add_member(:response_content_encoding, Shapes::ShapeRef.new(shape: ResponseContentEncoding, location: "querystring", location_name: "response-content-encoding"))
1537
+ HeadObjectRequest.add_member(:response_content_language, Shapes::ShapeRef.new(shape: ResponseContentLanguage, location: "querystring", location_name: "response-content-language"))
1538
+ HeadObjectRequest.add_member(:response_content_type, Shapes::ShapeRef.new(shape: ResponseContentType, location: "querystring", location_name: "response-content-type"))
1539
+ HeadObjectRequest.add_member(:response_expires, Shapes::ShapeRef.new(shape: ResponseExpires, location: "querystring", location_name: "response-expires"))
1391
1540
  HeadObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1392
1541
  HeadObjectRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1393
1542
  HeadObjectRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
@@ -1395,6 +1544,7 @@ module Aws::S3
1395
1544
  HeadObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1396
1545
  HeadObjectRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location: "querystring", location_name: "partNumber"))
1397
1546
  HeadObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1547
+ HeadObjectRequest.add_member(:checksum_mode, Shapes::ShapeRef.new(shape: ChecksumMode, location: "header", location_name: "x-amz-checksum-mode"))
1398
1548
  HeadObjectRequest.struct_class = Types::HeadObjectRequest
1399
1549
 
1400
1550
  IndexDocument.add_member(:suffix, Shapes::ShapeRef.new(shape: Suffix, required: true, location_name: "Suffix"))
@@ -1518,7 +1668,7 @@ module Aws::S3
1518
1668
  ListBucketAnalyticsConfigurationsOutput.add_member(:analytics_configuration_list, Shapes::ShapeRef.new(shape: AnalyticsConfigurationList, location_name: "AnalyticsConfiguration"))
1519
1669
  ListBucketAnalyticsConfigurationsOutput.struct_class = Types::ListBucketAnalyticsConfigurationsOutput
1520
1670
 
1521
- ListBucketAnalyticsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1671
+ ListBucketAnalyticsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1522
1672
  ListBucketAnalyticsConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1523
1673
  ListBucketAnalyticsConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1524
1674
  ListBucketAnalyticsConfigurationsRequest.struct_class = Types::ListBucketAnalyticsConfigurationsRequest
@@ -1529,7 +1679,7 @@ module Aws::S3
1529
1679
  ListBucketIntelligentTieringConfigurationsOutput.add_member(:intelligent_tiering_configuration_list, Shapes::ShapeRef.new(shape: IntelligentTieringConfigurationList, location_name: "IntelligentTieringConfiguration"))
1530
1680
  ListBucketIntelligentTieringConfigurationsOutput.struct_class = Types::ListBucketIntelligentTieringConfigurationsOutput
1531
1681
 
1532
- ListBucketIntelligentTieringConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1682
+ ListBucketIntelligentTieringConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1533
1683
  ListBucketIntelligentTieringConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1534
1684
  ListBucketIntelligentTieringConfigurationsRequest.struct_class = Types::ListBucketIntelligentTieringConfigurationsRequest
1535
1685
 
@@ -1539,7 +1689,7 @@ module Aws::S3
1539
1689
  ListBucketInventoryConfigurationsOutput.add_member(:next_continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextContinuationToken"))
1540
1690
  ListBucketInventoryConfigurationsOutput.struct_class = Types::ListBucketInventoryConfigurationsOutput
1541
1691
 
1542
- ListBucketInventoryConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1692
+ ListBucketInventoryConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1543
1693
  ListBucketInventoryConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1544
1694
  ListBucketInventoryConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1545
1695
  ListBucketInventoryConfigurationsRequest.struct_class = Types::ListBucketInventoryConfigurationsRequest
@@ -1550,7 +1700,7 @@ module Aws::S3
1550
1700
  ListBucketMetricsConfigurationsOutput.add_member(:metrics_configuration_list, Shapes::ShapeRef.new(shape: MetricsConfigurationList, location_name: "MetricsConfiguration"))
1551
1701
  ListBucketMetricsConfigurationsOutput.struct_class = Types::ListBucketMetricsConfigurationsOutput
1552
1702
 
1553
- ListBucketMetricsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1703
+ ListBucketMetricsConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1554
1704
  ListBucketMetricsConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1555
1705
  ListBucketMetricsConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1556
1706
  ListBucketMetricsConfigurationsRequest.struct_class = Types::ListBucketMetricsConfigurationsRequest
@@ -1559,6 +1709,14 @@ module Aws::S3
1559
1709
  ListBucketsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1560
1710
  ListBucketsOutput.struct_class = Types::ListBucketsOutput
1561
1711
 
1712
+ ListDirectoryBucketsOutput.add_member(:buckets, Shapes::ShapeRef.new(shape: Buckets, location_name: "Buckets"))
1713
+ ListDirectoryBucketsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: DirectoryBucketToken, location_name: "ContinuationToken"))
1714
+ ListDirectoryBucketsOutput.struct_class = Types::ListDirectoryBucketsOutput
1715
+
1716
+ ListDirectoryBucketsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: DirectoryBucketToken, location: "querystring", location_name: "continuation-token"))
1717
+ ListDirectoryBucketsRequest.add_member(:max_directory_buckets, Shapes::ShapeRef.new(shape: MaxDirectoryBuckets, location: "querystring", location_name: "max-directory-buckets"))
1718
+ ListDirectoryBucketsRequest.struct_class = Types::ListDirectoryBucketsRequest
1719
+
1562
1720
  ListMultipartUploadsOutput.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, location_name: "Bucket"))
1563
1721
  ListMultipartUploadsOutput.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location_name: "KeyMarker"))
1564
1722
  ListMultipartUploadsOutput.add_member(:upload_id_marker, Shapes::ShapeRef.new(shape: UploadIdMarker, location_name: "UploadIdMarker"))
@@ -1571,16 +1729,18 @@ module Aws::S3
1571
1729
  ListMultipartUploadsOutput.add_member(:uploads, Shapes::ShapeRef.new(shape: MultipartUploadList, location_name: "Upload"))
1572
1730
  ListMultipartUploadsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1573
1731
  ListMultipartUploadsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1732
+ ListMultipartUploadsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1574
1733
  ListMultipartUploadsOutput.struct_class = Types::ListMultipartUploadsOutput
1575
1734
 
1576
- ListMultipartUploadsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1735
+ ListMultipartUploadsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1577
1736
  ListMultipartUploadsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1578
1737
  ListMultipartUploadsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1579
1738
  ListMultipartUploadsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
1580
1739
  ListMultipartUploadsRequest.add_member(:max_uploads, Shapes::ShapeRef.new(shape: MaxUploads, location: "querystring", location_name: "max-uploads"))
1581
- ListMultipartUploadsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1740
+ ListMultipartUploadsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam"=>{"name"=>"Prefix"}}))
1582
1741
  ListMultipartUploadsRequest.add_member(:upload_id_marker, Shapes::ShapeRef.new(shape: UploadIdMarker, location: "querystring", location_name: "upload-id-marker"))
1583
1742
  ListMultipartUploadsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1743
+ ListMultipartUploadsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1584
1744
  ListMultipartUploadsRequest.struct_class = Types::ListMultipartUploadsRequest
1585
1745
 
1586
1746
  ListObjectVersionsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1596,16 +1756,19 @@ module Aws::S3
1596
1756
  ListObjectVersionsOutput.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location_name: "MaxKeys"))
1597
1757
  ListObjectVersionsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1598
1758
  ListObjectVersionsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1759
+ ListObjectVersionsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1599
1760
  ListObjectVersionsOutput.struct_class = Types::ListObjectVersionsOutput
1600
1761
 
1601
- ListObjectVersionsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1762
+ ListObjectVersionsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1602
1763
  ListObjectVersionsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1603
1764
  ListObjectVersionsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1604
1765
  ListObjectVersionsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
1605
1766
  ListObjectVersionsRequest.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1606
- ListObjectVersionsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1767
+ ListObjectVersionsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam"=>{"name"=>"Prefix"}}))
1607
1768
  ListObjectVersionsRequest.add_member(:version_id_marker, Shapes::ShapeRef.new(shape: VersionIdMarker, location: "querystring", location_name: "version-id-marker"))
1608
1769
  ListObjectVersionsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1770
+ ListObjectVersionsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1771
+ ListObjectVersionsRequest.add_member(:optional_object_attributes, Shapes::ShapeRef.new(shape: OptionalObjectAttributesList, location: "header", location_name: "x-amz-optional-object-attributes"))
1609
1772
  ListObjectVersionsRequest.struct_class = Types::ListObjectVersionsRequest
1610
1773
 
1611
1774
  ListObjectsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1618,16 +1781,18 @@ module Aws::S3
1618
1781
  ListObjectsOutput.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location_name: "MaxKeys"))
1619
1782
  ListObjectsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1620
1783
  ListObjectsOutput.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location_name: "EncodingType"))
1784
+ ListObjectsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1621
1785
  ListObjectsOutput.struct_class = Types::ListObjectsOutput
1622
1786
 
1623
- ListObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1787
+ ListObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1624
1788
  ListObjectsRequest.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1625
1789
  ListObjectsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1626
1790
  ListObjectsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "marker"))
1627
1791
  ListObjectsRequest.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1628
- ListObjectsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1792
+ ListObjectsRequest.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam"=>{"name"=>"Prefix"}}))
1629
1793
  ListObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1630
1794
  ListObjectsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1795
+ ListObjectsRequest.add_member(:optional_object_attributes, Shapes::ShapeRef.new(shape: OptionalObjectAttributesList, location: "header", location_name: "x-amz-optional-object-attributes"))
1631
1796
  ListObjectsRequest.struct_class = Types::ListObjectsRequest
1632
1797
 
1633
1798
  ListObjectsV2Output.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1642,18 +1807,20 @@ module Aws::S3
1642
1807
  ListObjectsV2Output.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location_name: "ContinuationToken"))
1643
1808
  ListObjectsV2Output.add_member(:next_continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextContinuationToken"))
1644
1809
  ListObjectsV2Output.add_member(:start_after, Shapes::ShapeRef.new(shape: StartAfter, location_name: "StartAfter"))
1810
+ ListObjectsV2Output.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1645
1811
  ListObjectsV2Output.struct_class = Types::ListObjectsV2Output
1646
1812
 
1647
- ListObjectsV2Request.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1813
+ ListObjectsV2Request.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1648
1814
  ListObjectsV2Request.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1649
1815
  ListObjectsV2Request.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1650
1816
  ListObjectsV2Request.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1651
- ListObjectsV2Request.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix"))
1817
+ ListObjectsV2Request.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location: "querystring", location_name: "prefix", metadata: {"contextParam"=>{"name"=>"Prefix"}}))
1652
1818
  ListObjectsV2Request.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1653
1819
  ListObjectsV2Request.add_member(:fetch_owner, Shapes::ShapeRef.new(shape: FetchOwner, location: "querystring", location_name: "fetch-owner"))
1654
1820
  ListObjectsV2Request.add_member(:start_after, Shapes::ShapeRef.new(shape: StartAfter, location: "querystring", location_name: "start-after"))
1655
1821
  ListObjectsV2Request.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1656
1822
  ListObjectsV2Request.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1823
+ ListObjectsV2Request.add_member(:optional_object_attributes, Shapes::ShapeRef.new(shape: OptionalObjectAttributesList, location: "header", location_name: "x-amz-optional-object-attributes"))
1657
1824
  ListObjectsV2Request.struct_class = Types::ListObjectsV2Request
1658
1825
 
1659
1826
  ListPartsOutput.add_member(:abort_date, Shapes::ShapeRef.new(shape: AbortDate, location: "header", location_name: "x-amz-abort-date"))
@@ -1670,20 +1837,29 @@ module Aws::S3
1670
1837
  ListPartsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1671
1838
  ListPartsOutput.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1672
1839
  ListPartsOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1840
+ ListPartsOutput.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location_name: "ChecksumAlgorithm"))
1673
1841
  ListPartsOutput.struct_class = Types::ListPartsOutput
1674
1842
 
1675
- ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1676
- ListPartsRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1843
+ ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1844
+ ListPartsRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
1677
1845
  ListPartsRequest.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location: "querystring", location_name: "max-parts"))
1678
1846
  ListPartsRequest.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location: "querystring", location_name: "part-number-marker"))
1679
1847
  ListPartsRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
1680
1848
  ListPartsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1681
1849
  ListPartsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1850
+ ListPartsRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1851
+ ListPartsRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1852
+ ListPartsRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1682
1853
  ListPartsRequest.struct_class = Types::ListPartsRequest
1683
1854
 
1855
+ LocationInfo.add_member(:type, Shapes::ShapeRef.new(shape: LocationType, location_name: "Type"))
1856
+ LocationInfo.add_member(:name, Shapes::ShapeRef.new(shape: LocationNameAsString, location_name: "Name"))
1857
+ LocationInfo.struct_class = Types::LocationInfo
1858
+
1684
1859
  LoggingEnabled.add_member(:target_bucket, Shapes::ShapeRef.new(shape: TargetBucket, required: true, location_name: "TargetBucket"))
1685
1860
  LoggingEnabled.add_member(:target_grants, Shapes::ShapeRef.new(shape: TargetGrants, location_name: "TargetGrants"))
1686
1861
  LoggingEnabled.add_member(:target_prefix, Shapes::ShapeRef.new(shape: TargetPrefix, required: true, location_name: "TargetPrefix"))
1862
+ LoggingEnabled.add_member(:target_object_key_format, Shapes::ShapeRef.new(shape: TargetObjectKeyFormat, location_name: "TargetObjectKeyFormat"))
1687
1863
  LoggingEnabled.struct_class = Types::LoggingEnabled
1688
1864
 
1689
1865
  Metadata.key = Shapes::ShapeRef.new(shape: MetadataKey)
@@ -1720,6 +1896,7 @@ module Aws::S3
1720
1896
  MultipartUpload.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1721
1897
  MultipartUpload.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1722
1898
  MultipartUpload.add_member(:initiator, Shapes::ShapeRef.new(shape: Initiator, location_name: "Initiator"))
1899
+ MultipartUpload.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location_name: "ChecksumAlgorithm"))
1723
1900
  MultipartUpload.struct_class = Types::MultipartUpload
1724
1901
 
1725
1902
  MultipartUploadList.member = Shapes::ShapeRef.new(shape: MultipartUpload)
@@ -1758,13 +1935,17 @@ module Aws::S3
1758
1935
  Object.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
1759
1936
  Object.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1760
1937
  Object.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1938
+ Object.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithmList, location_name: "ChecksumAlgorithm"))
1761
1939
  Object.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1762
1940
  Object.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectStorageClass, location_name: "StorageClass"))
1763
1941
  Object.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1942
+ Object.add_member(:restore_status, Shapes::ShapeRef.new(shape: RestoreStatus, location_name: "RestoreStatus"))
1764
1943
  Object.struct_class = Types::Object
1765
1944
 
1766
1945
  ObjectAlreadyInActiveTierError.struct_class = Types::ObjectAlreadyInActiveTierError
1767
1946
 
1947
+ ObjectAttributesList.member = Shapes::ShapeRef.new(shape: ObjectAttributes)
1948
+
1768
1949
  ObjectIdentifier.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location_name: "Key"))
1769
1950
  ObjectIdentifier.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
1770
1951
  ObjectIdentifier.struct_class = Types::ObjectIdentifier
@@ -1789,7 +1970,16 @@ module Aws::S3
1789
1970
 
1790
1971
  ObjectNotInActiveTierError.struct_class = Types::ObjectNotInActiveTierError
1791
1972
 
1973
+ ObjectPart.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
1974
+ ObjectPart.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1975
+ ObjectPart.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
1976
+ ObjectPart.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
1977
+ ObjectPart.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
1978
+ ObjectPart.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1979
+ ObjectPart.struct_class = Types::ObjectPart
1980
+
1792
1981
  ObjectVersion.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1982
+ ObjectVersion.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithmList, location_name: "ChecksumAlgorithm"))
1793
1983
  ObjectVersion.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1794
1984
  ObjectVersion.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectVersionStorageClass, location_name: "StorageClass"))
1795
1985
  ObjectVersion.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
@@ -1797,10 +1987,13 @@ module Aws::S3
1797
1987
  ObjectVersion.add_member(:is_latest, Shapes::ShapeRef.new(shape: IsLatest, location_name: "IsLatest"))
1798
1988
  ObjectVersion.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1799
1989
  ObjectVersion.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1990
+ ObjectVersion.add_member(:restore_status, Shapes::ShapeRef.new(shape: RestoreStatus, location_name: "RestoreStatus"))
1800
1991
  ObjectVersion.struct_class = Types::ObjectVersion
1801
1992
 
1802
1993
  ObjectVersionList.member = Shapes::ShapeRef.new(shape: ObjectVersion)
1803
1994
 
1995
+ OptionalObjectAttributesList.member = Shapes::ShapeRef.new(shape: OptionalObjectAttributes)
1996
+
1804
1997
  OutputLocation.add_member(:s3, Shapes::ShapeRef.new(shape: S3Location, location_name: "S3"))
1805
1998
  OutputLocation.struct_class = Types::OutputLocation
1806
1999
 
@@ -1826,10 +2019,19 @@ module Aws::S3
1826
2019
  Part.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1827
2020
  Part.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
1828
2021
  Part.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
2022
+ Part.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location_name: "ChecksumCRC32"))
2023
+ Part.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location_name: "ChecksumCRC32C"))
2024
+ Part.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location_name: "ChecksumSHA1"))
2025
+ Part.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1829
2026
  Part.struct_class = Types::Part
1830
2027
 
2028
+ PartitionedPrefix.add_member(:partition_date_source, Shapes::ShapeRef.new(shape: PartitionDateSource, location_name: "PartitionDateSource"))
2029
+ PartitionedPrefix.struct_class = Types::PartitionedPrefix
2030
+
1831
2031
  Parts.member = Shapes::ShapeRef.new(shape: Part)
1832
2032
 
2033
+ PartsList.member = Shapes::ShapeRef.new(shape: ObjectPart)
2034
+
1833
2035
  PolicyStatus.add_member(:is_public, Shapes::ShapeRef.new(shape: IsPublic, location_name: "IsPublic"))
1834
2036
  PolicyStatus.struct_class = Types::PolicyStatus
1835
2037
 
@@ -1847,17 +2049,19 @@ module Aws::S3
1847
2049
  PublicAccessBlockConfiguration.add_member(:restrict_public_buckets, Shapes::ShapeRef.new(shape: Setting, location_name: "RestrictPublicBuckets"))
1848
2050
  PublicAccessBlockConfiguration.struct_class = Types::PublicAccessBlockConfiguration
1849
2051
 
1850
- PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2052
+ PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1851
2053
  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/"}}))
1852
2054
  PutBucketAccelerateConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2055
+ PutBucketAccelerateConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1853
2056
  PutBucketAccelerateConfigurationRequest.struct_class = Types::PutBucketAccelerateConfigurationRequest
1854
2057
  PutBucketAccelerateConfigurationRequest[:payload] = :accelerate_configuration
1855
2058
  PutBucketAccelerateConfigurationRequest[:payload_member] = PutBucketAccelerateConfigurationRequest.member(:accelerate_configuration)
1856
2059
 
1857
2060
  PutBucketAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
1858
2061
  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/"}}))
1859
- PutBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2062
+ PutBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1860
2063
  PutBucketAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2064
+ PutBucketAclRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1861
2065
  PutBucketAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
1862
2066
  PutBucketAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
1863
2067
  PutBucketAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
@@ -1868,7 +2072,7 @@ module Aws::S3
1868
2072
  PutBucketAclRequest[:payload] = :access_control_policy
1869
2073
  PutBucketAclRequest[:payload_member] = PutBucketAclRequest.member(:access_control_policy)
1870
2074
 
1871
- PutBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2075
+ PutBucketAnalyticsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1872
2076
  PutBucketAnalyticsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: AnalyticsId, required: true, location: "querystring", location_name: "id"))
1873
2077
  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/"}}))
1874
2078
  PutBucketAnalyticsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1876,30 +2080,32 @@ module Aws::S3
1876
2080
  PutBucketAnalyticsConfigurationRequest[:payload] = :analytics_configuration
1877
2081
  PutBucketAnalyticsConfigurationRequest[:payload_member] = PutBucketAnalyticsConfigurationRequest.member(:analytics_configuration)
1878
2082
 
1879
- PutBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2083
+ PutBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1880
2084
  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/"}}))
1881
2085
  PutBucketCorsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2086
+ PutBucketCorsRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1882
2087
  PutBucketCorsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1883
2088
  PutBucketCorsRequest.struct_class = Types::PutBucketCorsRequest
1884
2089
  PutBucketCorsRequest[:payload] = :cors_configuration
1885
2090
  PutBucketCorsRequest[:payload_member] = PutBucketCorsRequest.member(:cors_configuration)
1886
2091
 
1887
- PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2092
+ PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1888
2093
  PutBucketEncryptionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2094
+ PutBucketEncryptionRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1889
2095
  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/"}}))
1890
2096
  PutBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1891
2097
  PutBucketEncryptionRequest.struct_class = Types::PutBucketEncryptionRequest
1892
2098
  PutBucketEncryptionRequest[:payload] = :server_side_encryption_configuration
1893
2099
  PutBucketEncryptionRequest[:payload_member] = PutBucketEncryptionRequest.member(:server_side_encryption_configuration)
1894
2100
 
1895
- PutBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2101
+ PutBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1896
2102
  PutBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1897
2103
  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/"}}))
1898
2104
  PutBucketIntelligentTieringConfigurationRequest.struct_class = Types::PutBucketIntelligentTieringConfigurationRequest
1899
2105
  PutBucketIntelligentTieringConfigurationRequest[:payload] = :intelligent_tiering_configuration
1900
2106
  PutBucketIntelligentTieringConfigurationRequest[:payload_member] = PutBucketIntelligentTieringConfigurationRequest.member(:intelligent_tiering_configuration)
1901
2107
 
1902
- PutBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2108
+ PutBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1903
2109
  PutBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
1904
2110
  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/"}}))
1905
2111
  PutBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1907,30 +2113,33 @@ module Aws::S3
1907
2113
  PutBucketInventoryConfigurationRequest[:payload] = :inventory_configuration
1908
2114
  PutBucketInventoryConfigurationRequest[:payload_member] = PutBucketInventoryConfigurationRequest.member(:inventory_configuration)
1909
2115
 
1910
- PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2116
+ PutBucketLifecycleConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2117
+ PutBucketLifecycleConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1911
2118
  PutBucketLifecycleConfigurationRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: BucketLifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1912
2119
  PutBucketLifecycleConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1913
2120
  PutBucketLifecycleConfigurationRequest.struct_class = Types::PutBucketLifecycleConfigurationRequest
1914
2121
  PutBucketLifecycleConfigurationRequest[:payload] = :lifecycle_configuration
1915
2122
  PutBucketLifecycleConfigurationRequest[:payload_member] = PutBucketLifecycleConfigurationRequest.member(:lifecycle_configuration)
1916
2123
 
1917
- PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2124
+ PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1918
2125
  PutBucketLifecycleRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2126
+ PutBucketLifecycleRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1919
2127
  PutBucketLifecycleRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: LifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1920
2128
  PutBucketLifecycleRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1921
2129
  PutBucketLifecycleRequest.struct_class = Types::PutBucketLifecycleRequest
1922
2130
  PutBucketLifecycleRequest[:payload] = :lifecycle_configuration
1923
2131
  PutBucketLifecycleRequest[:payload_member] = PutBucketLifecycleRequest.member(:lifecycle_configuration)
1924
2132
 
1925
- PutBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2133
+ PutBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1926
2134
  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/"}}))
1927
2135
  PutBucketLoggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2136
+ PutBucketLoggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1928
2137
  PutBucketLoggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1929
2138
  PutBucketLoggingRequest.struct_class = Types::PutBucketLoggingRequest
1930
2139
  PutBucketLoggingRequest[:payload] = :bucket_logging_status
1931
2140
  PutBucketLoggingRequest[:payload_member] = PutBucketLoggingRequest.member(:bucket_logging_status)
1932
2141
 
1933
- PutBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2142
+ PutBucketMetricsConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1934
2143
  PutBucketMetricsConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: MetricsId, required: true, location: "querystring", location_name: "id"))
1935
2144
  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/"}}))
1936
2145
  PutBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1938,7 +2147,7 @@ module Aws::S3
1938
2147
  PutBucketMetricsConfigurationRequest[:payload] = :metrics_configuration
1939
2148
  PutBucketMetricsConfigurationRequest[:payload_member] = PutBucketMetricsConfigurationRequest.member(:metrics_configuration)
1940
2149
 
1941
- PutBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2150
+ PutBucketNotificationConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1942
2151
  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/"}}))
1943
2152
  PutBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1944
2153
  PutBucketNotificationConfigurationRequest.add_member(:skip_destination_validation, Shapes::ShapeRef.new(shape: SkipValidation, location: "header", location_name: "x-amz-skip-destination-validation"))
@@ -1946,15 +2155,16 @@ module Aws::S3
1946
2155
  PutBucketNotificationConfigurationRequest[:payload] = :notification_configuration
1947
2156
  PutBucketNotificationConfigurationRequest[:payload_member] = PutBucketNotificationConfigurationRequest.member(:notification_configuration)
1948
2157
 
1949
- PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2158
+ PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1950
2159
  PutBucketNotificationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2160
+ PutBucketNotificationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1951
2161
  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/"}}))
1952
2162
  PutBucketNotificationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1953
2163
  PutBucketNotificationRequest.struct_class = Types::PutBucketNotificationRequest
1954
2164
  PutBucketNotificationRequest[:payload] = :notification_configuration
1955
2165
  PutBucketNotificationRequest[:payload_member] = PutBucketNotificationRequest.member(:notification_configuration)
1956
2166
 
1957
- PutBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2167
+ PutBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1958
2168
  PutBucketOwnershipControlsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1959
2169
  PutBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1960
2170
  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/"}}))
@@ -1962,8 +2172,9 @@ module Aws::S3
1962
2172
  PutBucketOwnershipControlsRequest[:payload] = :ownership_controls
1963
2173
  PutBucketOwnershipControlsRequest[:payload_member] = PutBucketOwnershipControlsRequest.member(:ownership_controls)
1964
2174
 
1965
- PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2175
+ PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1966
2176
  PutBucketPolicyRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2177
+ PutBucketPolicyRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1967
2178
  PutBucketPolicyRequest.add_member(:confirm_remove_self_bucket_access, Shapes::ShapeRef.new(shape: ConfirmRemoveSelfBucketAccess, location: "header", location_name: "x-amz-confirm-remove-self-bucket-access"))
1968
2179
  PutBucketPolicyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, required: true, location_name: "Policy"))
1969
2180
  PutBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1971,8 +2182,9 @@ module Aws::S3
1971
2182
  PutBucketPolicyRequest[:payload] = :policy
1972
2183
  PutBucketPolicyRequest[:payload_member] = PutBucketPolicyRequest.member(:policy)
1973
2184
 
1974
- PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2185
+ PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1975
2186
  PutBucketReplicationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2187
+ PutBucketReplicationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1976
2188
  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/"}}))
1977
2189
  PutBucketReplicationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
1978
2190
  PutBucketReplicationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1980,24 +2192,27 @@ module Aws::S3
1980
2192
  PutBucketReplicationRequest[:payload] = :replication_configuration
1981
2193
  PutBucketReplicationRequest[:payload_member] = PutBucketReplicationRequest.member(:replication_configuration)
1982
2194
 
1983
- PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2195
+ PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1984
2196
  PutBucketRequestPaymentRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2197
+ PutBucketRequestPaymentRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1985
2198
  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/"}}))
1986
2199
  PutBucketRequestPaymentRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1987
2200
  PutBucketRequestPaymentRequest.struct_class = Types::PutBucketRequestPaymentRequest
1988
2201
  PutBucketRequestPaymentRequest[:payload] = :request_payment_configuration
1989
2202
  PutBucketRequestPaymentRequest[:payload_member] = PutBucketRequestPaymentRequest.member(:request_payment_configuration)
1990
2203
 
1991
- PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2204
+ PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1992
2205
  PutBucketTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2206
+ PutBucketTaggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
1993
2207
  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/"}}))
1994
2208
  PutBucketTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1995
2209
  PutBucketTaggingRequest.struct_class = Types::PutBucketTaggingRequest
1996
2210
  PutBucketTaggingRequest[:payload] = :tagging
1997
2211
  PutBucketTaggingRequest[:payload_member] = PutBucketTaggingRequest.member(:tagging)
1998
2212
 
1999
- PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2213
+ PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2000
2214
  PutBucketVersioningRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2215
+ PutBucketVersioningRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2001
2216
  PutBucketVersioningRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
2002
2217
  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/"}}))
2003
2218
  PutBucketVersioningRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -2005,8 +2220,9 @@ module Aws::S3
2005
2220
  PutBucketVersioningRequest[:payload] = :versioning_configuration
2006
2221
  PutBucketVersioningRequest[:payload_member] = PutBucketVersioningRequest.member(:versioning_configuration)
2007
2222
 
2008
- PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2223
+ PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2009
2224
  PutBucketWebsiteRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2225
+ PutBucketWebsiteRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2010
2226
  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/"}}))
2011
2227
  PutBucketWebsiteRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2012
2228
  PutBucketWebsiteRequest.struct_class = Types::PutBucketWebsiteRequest
@@ -2018,14 +2234,15 @@ module Aws::S3
2018
2234
 
2019
2235
  PutObjectAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
2020
2236
  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/"}}))
2021
- PutObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2237
+ PutObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2022
2238
  PutObjectAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2239
+ PutObjectAclRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2023
2240
  PutObjectAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
2024
2241
  PutObjectAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
2025
2242
  PutObjectAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
2026
2243
  PutObjectAclRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
2027
2244
  PutObjectAclRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
2028
- PutObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2245
+ PutObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
2029
2246
  PutObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2030
2247
  PutObjectAclRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2031
2248
  PutObjectAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -2036,12 +2253,13 @@ module Aws::S3
2036
2253
  PutObjectLegalHoldOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2037
2254
  PutObjectLegalHoldOutput.struct_class = Types::PutObjectLegalHoldOutput
2038
2255
 
2039
- PutObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2256
+ PutObjectLegalHoldRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2040
2257
  PutObjectLegalHoldRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2041
2258
  PutObjectLegalHoldRequest.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2042
2259
  PutObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2043
2260
  PutObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2044
2261
  PutObjectLegalHoldRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2262
+ PutObjectLegalHoldRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2045
2263
  PutObjectLegalHoldRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2046
2264
  PutObjectLegalHoldRequest.struct_class = Types::PutObjectLegalHoldRequest
2047
2265
  PutObjectLegalHoldRequest[:payload] = :legal_hold
@@ -2050,11 +2268,12 @@ module Aws::S3
2050
2268
  PutObjectLockConfigurationOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2051
2269
  PutObjectLockConfigurationOutput.struct_class = Types::PutObjectLockConfigurationOutput
2052
2270
 
2053
- PutObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2271
+ PutObjectLockConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2054
2272
  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/"}}))
2055
2273
  PutObjectLockConfigurationRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2056
2274
  PutObjectLockConfigurationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
2057
2275
  PutObjectLockConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2276
+ PutObjectLockConfigurationRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2058
2277
  PutObjectLockConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2059
2278
  PutObjectLockConfigurationRequest.struct_class = Types::PutObjectLockConfigurationRequest
2060
2279
  PutObjectLockConfigurationRequest[:payload] = :object_lock_configuration
@@ -2062,6 +2281,10 @@ module Aws::S3
2062
2281
 
2063
2282
  PutObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
2064
2283
  PutObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
2284
+ PutObjectOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2285
+ PutObjectOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2286
+ PutObjectOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2287
+ PutObjectOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2065
2288
  PutObjectOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2066
2289
  PutObjectOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
2067
2290
  PutObjectOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
@@ -2074,7 +2297,7 @@ module Aws::S3
2074
2297
 
2075
2298
  PutObjectRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
2076
2299
  PutObjectRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
2077
- PutObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2300
+ PutObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2078
2301
  PutObjectRequest.add_member(:cache_control, Shapes::ShapeRef.new(shape: CacheControl, location: "header", location_name: "Cache-Control"))
2079
2302
  PutObjectRequest.add_member(:content_disposition, Shapes::ShapeRef.new(shape: ContentDisposition, location: "header", location_name: "Content-Disposition"))
2080
2303
  PutObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
@@ -2082,12 +2305,17 @@ module Aws::S3
2082
2305
  PutObjectRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2083
2306
  PutObjectRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2084
2307
  PutObjectRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
2308
+ PutObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2309
+ PutObjectRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2310
+ PutObjectRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2311
+ PutObjectRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2312
+ PutObjectRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2085
2313
  PutObjectRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "Expires"))
2086
2314
  PutObjectRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
2087
2315
  PutObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
2088
2316
  PutObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
2089
2317
  PutObjectRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
2090
- PutObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2318
+ PutObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
2091
2319
  PutObjectRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
2092
2320
  PutObjectRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2093
2321
  PutObjectRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
@@ -2111,13 +2339,14 @@ module Aws::S3
2111
2339
  PutObjectRetentionOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
2112
2340
  PutObjectRetentionOutput.struct_class = Types::PutObjectRetentionOutput
2113
2341
 
2114
- PutObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2342
+ PutObjectRetentionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2115
2343
  PutObjectRetentionRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2116
2344
  PutObjectRetentionRequest.add_member(:retention, Shapes::ShapeRef.new(shape: ObjectLockRetention, location_name: "Retention", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2117
2345
  PutObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2118
2346
  PutObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2119
2347
  PutObjectRetentionRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
2120
2348
  PutObjectRetentionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2349
+ PutObjectRetentionRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2121
2350
  PutObjectRetentionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2122
2351
  PutObjectRetentionRequest.struct_class = Types::PutObjectRetentionRequest
2123
2352
  PutObjectRetentionRequest[:payload] = :retention
@@ -2126,10 +2355,11 @@ module Aws::S3
2126
2355
  PutObjectTaggingOutput.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "header", location_name: "x-amz-version-id"))
2127
2356
  PutObjectTaggingOutput.struct_class = Types::PutObjectTaggingOutput
2128
2357
 
2129
- PutObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2358
+ PutObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2130
2359
  PutObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2131
2360
  PutObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2132
2361
  PutObjectTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2362
+ PutObjectTaggingRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2133
2363
  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/"}}))
2134
2364
  PutObjectTaggingRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2135
2365
  PutObjectTaggingRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -2137,8 +2367,9 @@ module Aws::S3
2137
2367
  PutObjectTaggingRequest[:payload] = :tagging
2138
2368
  PutObjectTaggingRequest[:payload_member] = PutObjectTaggingRequest.member(:tagging)
2139
2369
 
2140
- PutPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2370
+ PutPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2141
2371
  PutPublicAccessBlockRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2372
+ PutPublicAccessBlockRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2142
2373
  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/"}}))
2143
2374
  PutPublicAccessBlockRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2144
2375
  PutPublicAccessBlockRequest.struct_class = Types::PutPublicAccessBlockRequest
@@ -2219,11 +2450,12 @@ module Aws::S3
2219
2450
  RestoreObjectOutput.add_member(:restore_output_path, Shapes::ShapeRef.new(shape: RestoreOutputPath, location: "header", location_name: "x-amz-restore-output-path"))
2220
2451
  RestoreObjectOutput.struct_class = Types::RestoreObjectOutput
2221
2452
 
2222
- RestoreObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2453
+ RestoreObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2223
2454
  RestoreObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2224
2455
  RestoreObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2225
2456
  RestoreObjectRequest.add_member(:restore_request, Shapes::ShapeRef.new(shape: RestoreRequest, location_name: "RestoreRequest", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
2226
2457
  RestoreObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2458
+ RestoreObjectRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2227
2459
  RestoreObjectRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2228
2460
  RestoreObjectRequest.struct_class = Types::RestoreObjectRequest
2229
2461
  RestoreObjectRequest[:payload] = :restore_request
@@ -2238,6 +2470,10 @@ module Aws::S3
2238
2470
  RestoreRequest.add_member(:output_location, Shapes::ShapeRef.new(shape: OutputLocation, location_name: "OutputLocation"))
2239
2471
  RestoreRequest.struct_class = Types::RestoreRequest
2240
2472
 
2473
+ RestoreStatus.add_member(:is_restore_in_progress, Shapes::ShapeRef.new(shape: IsRestoreInProgress, location_name: "IsRestoreInProgress"))
2474
+ RestoreStatus.add_member(:restore_expiry_date, Shapes::ShapeRef.new(shape: RestoreExpiryDate, location_name: "RestoreExpiryDate"))
2475
+ RestoreStatus.struct_class = Types::RestoreStatus
2476
+
2241
2477
  RoutingRule.add_member(:condition, Shapes::ShapeRef.new(shape: Condition, location_name: "Condition"))
2242
2478
  RoutingRule.add_member(:redirect, Shapes::ShapeRef.new(shape: Redirect, required: true, location_name: "Redirect"))
2243
2479
  RoutingRule.struct_class = Types::RoutingRule
@@ -2290,7 +2526,7 @@ module Aws::S3
2290
2526
  SelectObjectContentOutput[:payload] = :payload
2291
2527
  SelectObjectContentOutput[:payload_member] = SelectObjectContentOutput.member(:payload)
2292
2528
 
2293
- SelectObjectContentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2529
+ SelectObjectContentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2294
2530
  SelectObjectContentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2295
2531
  SelectObjectContentRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2296
2532
  SelectObjectContentRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
@@ -2323,6 +2559,14 @@ module Aws::S3
2323
2559
 
2324
2560
  ServerSideEncryptionRules.member = Shapes::ShapeRef.new(shape: ServerSideEncryptionRule)
2325
2561
 
2562
+ SessionCredentials.add_member(:access_key_id, Shapes::ShapeRef.new(shape: AccessKeyIdValue, required: true, location_name: "AccessKeyId"))
2563
+ SessionCredentials.add_member(:secret_access_key, Shapes::ShapeRef.new(shape: SessionCredentialValue, required: true, location_name: "SecretAccessKey"))
2564
+ SessionCredentials.add_member(:session_token, Shapes::ShapeRef.new(shape: SessionCredentialValue, required: true, location_name: "SessionToken"))
2565
+ SessionCredentials.add_member(:expiration, Shapes::ShapeRef.new(shape: SessionExpiration, required: true, location_name: "Expiration"))
2566
+ SessionCredentials.struct_class = Types::SessionCredentials
2567
+
2568
+ SimplePrefix.struct_class = Types::SimplePrefix
2569
+
2326
2570
  SourceSelectionCriteria.add_member(:sse_kms_encrypted_objects, Shapes::ShapeRef.new(shape: SseKmsEncryptedObjects, location_name: "SseKmsEncryptedObjects"))
2327
2571
  SourceSelectionCriteria.add_member(:replica_modifications, Shapes::ShapeRef.new(shape: ReplicaModifications, location_name: "ReplicaModifications"))
2328
2572
  SourceSelectionCriteria.struct_class = Types::SourceSelectionCriteria
@@ -2360,6 +2604,10 @@ module Aws::S3
2360
2604
 
2361
2605
  TargetGrants.member = Shapes::ShapeRef.new(shape: TargetGrant, location_name: "Grant")
2362
2606
 
2607
+ TargetObjectKeyFormat.add_member(:simple_prefix, Shapes::ShapeRef.new(shape: SimplePrefix, location_name: "SimplePrefix"))
2608
+ TargetObjectKeyFormat.add_member(:partitioned_prefix, Shapes::ShapeRef.new(shape: PartitionedPrefix, location_name: "PartitionedPrefix"))
2609
+ TargetObjectKeyFormat.struct_class = Types::TargetObjectKeyFormat
2610
+
2363
2611
  Tiering.add_member(:days, Shapes::ShapeRef.new(shape: IntelligentTieringDays, required: true, location_name: "Days"))
2364
2612
  Tiering.add_member(:access_tier, Shapes::ShapeRef.new(shape: IntelligentTieringAccessTier, required: true, location_name: "AccessTier"))
2365
2613
  Tiering.struct_class = Types::Tiering
@@ -2399,7 +2647,7 @@ module Aws::S3
2399
2647
  UploadPartCopyOutput[:payload] = :copy_part_result
2400
2648
  UploadPartCopyOutput[:payload_member] = UploadPartCopyOutput.member(:copy_part_result)
2401
2649
 
2402
- UploadPartCopyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2650
+ UploadPartCopyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2403
2651
  UploadPartCopyRequest.add_member(:copy_source, Shapes::ShapeRef.new(shape: CopySource, required: true, location: "header", location_name: "x-amz-copy-source"))
2404
2652
  UploadPartCopyRequest.add_member(:copy_source_if_match, Shapes::ShapeRef.new(shape: CopySourceIfMatch, location: "header", location_name: "x-amz-copy-source-if-match"))
2405
2653
  UploadPartCopyRequest.add_member(:copy_source_if_modified_since, Shapes::ShapeRef.new(shape: CopySourceIfModifiedSince, location: "header", location_name: "x-amz-copy-source-if-modified-since"))
@@ -2422,6 +2670,10 @@ module Aws::S3
2422
2670
 
2423
2671
  UploadPartOutput.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2424
2672
  UploadPartOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
2673
+ UploadPartOutput.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2674
+ UploadPartOutput.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2675
+ UploadPartOutput.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2676
+ UploadPartOutput.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2425
2677
  UploadPartOutput.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
2426
2678
  UploadPartOutput.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
2427
2679
  UploadPartOutput.add_member(:ssekms_key_id, Shapes::ShapeRef.new(shape: SSEKMSKeyId, location: "header", location_name: "x-amz-server-side-encryption-aws-kms-key-id"))
@@ -2430,10 +2682,15 @@ module Aws::S3
2430
2682
  UploadPartOutput.struct_class = Types::UploadPartOutput
2431
2683
 
2432
2684
  UploadPartRequest.add_member(:body, Shapes::ShapeRef.new(shape: Body, location_name: "Body", metadata: {"streaming"=>true}))
2433
- UploadPartRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
2685
+ UploadPartRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
2434
2686
  UploadPartRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2435
2687
  UploadPartRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2436
- UploadPartRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2688
+ UploadPartRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2689
+ UploadPartRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
2690
+ UploadPartRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2691
+ UploadPartRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2692
+ UploadPartRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2693
+ UploadPartRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
2437
2694
  UploadPartRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, required: true, location: "querystring", location_name: "partNumber"))
2438
2695
  UploadPartRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
2439
2696
  UploadPartRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
@@ -2471,6 +2728,10 @@ module Aws::S3
2471
2728
  WriteGetObjectResponseRequest.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
2472
2729
  WriteGetObjectResponseRequest.add_member(:content_range, Shapes::ShapeRef.new(shape: ContentRange, location: "header", location_name: "x-amz-fwd-header-Content-Range"))
2473
2730
  WriteGetObjectResponseRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "x-amz-fwd-header-Content-Type"))
2731
+ WriteGetObjectResponseRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-crc32"))
2732
+ WriteGetObjectResponseRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-crc32c"))
2733
+ WriteGetObjectResponseRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-sha1"))
2734
+ WriteGetObjectResponseRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-fwd-header-x-amz-checksum-sha256"))
2474
2735
  WriteGetObjectResponseRequest.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-fwd-header-x-amz-delete-marker"))
2475
2736
  WriteGetObjectResponseRequest.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "x-amz-fwd-header-ETag"))
2476
2737
  WriteGetObjectResponseRequest.add_member(:expires, Shapes::ShapeRef.new(shape: Expires, location: "header", location_name: "x-amz-fwd-header-Expires"))
@@ -2505,10 +2766,12 @@ module Aws::S3
2505
2766
 
2506
2767
  api.metadata = {
2507
2768
  "apiVersion" => "2006-03-01",
2769
+ "auth" => ["aws.auth#sigv4"],
2508
2770
  "checksumFormat" => "md5",
2509
2771
  "endpointPrefix" => "s3",
2510
2772
  "globalEndpoint" => "s3.amazonaws.com",
2511
2773
  "protocol" => "rest-xml",
2774
+ "protocols" => ["rest-xml"],
2512
2775
  "serviceAbbreviation" => "Amazon S3",
2513
2776
  "serviceFullName" => "Amazon Simple Storage Service",
2514
2777
  "serviceId" => "S3",
@@ -2518,7 +2781,7 @@ module Aws::S3
2518
2781
  api.add_operation(:abort_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2519
2782
  o.name = "AbortMultipartUpload"
2520
2783
  o.http_method = "DELETE"
2521
- o.http_request_uri = "/{Bucket}/{Key+}"
2784
+ o.http_request_uri = "/{Key+}"
2522
2785
  o.input = Shapes::ShapeRef.new(shape: AbortMultipartUploadRequest)
2523
2786
  o.output = Shapes::ShapeRef.new(shape: AbortMultipartUploadOutput)
2524
2787
  o.errors << Shapes::ShapeRef.new(shape: NoSuchUpload)
@@ -2527,7 +2790,7 @@ module Aws::S3
2527
2790
  api.add_operation(:complete_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2528
2791
  o.name = "CompleteMultipartUpload"
2529
2792
  o.http_method = "POST"
2530
- o.http_request_uri = "/{Bucket}/{Key+}"
2793
+ o.http_request_uri = "/{Key+}"
2531
2794
  o.input = Shapes::ShapeRef.new(shape: CompleteMultipartUploadRequest)
2532
2795
  o.output = Shapes::ShapeRef.new(shape: CompleteMultipartUploadOutput)
2533
2796
  end)
@@ -2535,7 +2798,7 @@ module Aws::S3
2535
2798
  api.add_operation(:copy_object, Seahorse::Model::Operation.new.tap do |o|
2536
2799
  o.name = "CopyObject"
2537
2800
  o.http_method = "PUT"
2538
- o.http_request_uri = "/{Bucket}/{Key+}"
2801
+ o.http_request_uri = "/{Key+}"
2539
2802
  o.input = Shapes::ShapeRef.new(shape: CopyObjectRequest)
2540
2803
  o.output = Shapes::ShapeRef.new(shape: CopyObjectOutput)
2541
2804
  o.errors << Shapes::ShapeRef.new(shape: ObjectNotInActiveTierError)
@@ -2544,7 +2807,7 @@ module Aws::S3
2544
2807
  api.add_operation(:create_bucket, Seahorse::Model::Operation.new.tap do |o|
2545
2808
  o.name = "CreateBucket"
2546
2809
  o.http_method = "PUT"
2547
- o.http_request_uri = "/{Bucket}"
2810
+ o.http_request_uri = "/"
2548
2811
  o.input = Shapes::ShapeRef.new(shape: CreateBucketRequest)
2549
2812
  o.output = Shapes::ShapeRef.new(shape: CreateBucketOutput)
2550
2813
  o.errors << Shapes::ShapeRef.new(shape: BucketAlreadyExists)
@@ -2554,15 +2817,24 @@ module Aws::S3
2554
2817
  api.add_operation(:create_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
2555
2818
  o.name = "CreateMultipartUpload"
2556
2819
  o.http_method = "POST"
2557
- o.http_request_uri = "/{Bucket}/{Key+}?uploads"
2820
+ o.http_request_uri = "/{Key+}?uploads"
2558
2821
  o.input = Shapes::ShapeRef.new(shape: CreateMultipartUploadRequest)
2559
2822
  o.output = Shapes::ShapeRef.new(shape: CreateMultipartUploadOutput)
2560
2823
  end)
2561
2824
 
2825
+ api.add_operation(:create_session, Seahorse::Model::Operation.new.tap do |o|
2826
+ o.name = "CreateSession"
2827
+ o.http_method = "GET"
2828
+ o.http_request_uri = "/?session"
2829
+ o.input = Shapes::ShapeRef.new(shape: CreateSessionRequest)
2830
+ o.output = Shapes::ShapeRef.new(shape: CreateSessionOutput)
2831
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
2832
+ end)
2833
+
2562
2834
  api.add_operation(:delete_bucket, Seahorse::Model::Operation.new.tap do |o|
2563
2835
  o.name = "DeleteBucket"
2564
2836
  o.http_method = "DELETE"
2565
- o.http_request_uri = "/{Bucket}"
2837
+ o.http_request_uri = "/"
2566
2838
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketRequest)
2567
2839
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2568
2840
  end)
@@ -2570,7 +2842,7 @@ module Aws::S3
2570
2842
  api.add_operation(:delete_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
2571
2843
  o.name = "DeleteBucketAnalyticsConfiguration"
2572
2844
  o.http_method = "DELETE"
2573
- o.http_request_uri = "/{Bucket}?analytics"
2845
+ o.http_request_uri = "/?analytics"
2574
2846
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketAnalyticsConfigurationRequest)
2575
2847
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2576
2848
  end)
@@ -2578,7 +2850,7 @@ module Aws::S3
2578
2850
  api.add_operation(:delete_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
2579
2851
  o.name = "DeleteBucketCors"
2580
2852
  o.http_method = "DELETE"
2581
- o.http_request_uri = "/{Bucket}?cors"
2853
+ o.http_request_uri = "/?cors"
2582
2854
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketCorsRequest)
2583
2855
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2584
2856
  end)
@@ -2586,7 +2858,7 @@ module Aws::S3
2586
2858
  api.add_operation(:delete_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2587
2859
  o.name = "DeleteBucketEncryption"
2588
2860
  o.http_method = "DELETE"
2589
- o.http_request_uri = "/{Bucket}?encryption"
2861
+ o.http_request_uri = "/?encryption"
2590
2862
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketEncryptionRequest)
2591
2863
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2592
2864
  end)
@@ -2594,7 +2866,7 @@ module Aws::S3
2594
2866
  api.add_operation(:delete_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
2595
2867
  o.name = "DeleteBucketIntelligentTieringConfiguration"
2596
2868
  o.http_method = "DELETE"
2597
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
2869
+ o.http_request_uri = "/?intelligent-tiering"
2598
2870
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketIntelligentTieringConfigurationRequest)
2599
2871
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2600
2872
  end)
@@ -2602,7 +2874,7 @@ module Aws::S3
2602
2874
  api.add_operation(:delete_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2603
2875
  o.name = "DeleteBucketInventoryConfiguration"
2604
2876
  o.http_method = "DELETE"
2605
- o.http_request_uri = "/{Bucket}?inventory"
2877
+ o.http_request_uri = "/?inventory"
2606
2878
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketInventoryConfigurationRequest)
2607
2879
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2608
2880
  end)
@@ -2610,7 +2882,7 @@ module Aws::S3
2610
2882
  api.add_operation(:delete_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2611
2883
  o.name = "DeleteBucketLifecycle"
2612
2884
  o.http_method = "DELETE"
2613
- o.http_request_uri = "/{Bucket}?lifecycle"
2885
+ o.http_request_uri = "/?lifecycle"
2614
2886
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketLifecycleRequest)
2615
2887
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2616
2888
  end)
@@ -2618,7 +2890,7 @@ module Aws::S3
2618
2890
  api.add_operation(:delete_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2619
2891
  o.name = "DeleteBucketMetricsConfiguration"
2620
2892
  o.http_method = "DELETE"
2621
- o.http_request_uri = "/{Bucket}?metrics"
2893
+ o.http_request_uri = "/?metrics"
2622
2894
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketMetricsConfigurationRequest)
2623
2895
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2624
2896
  end)
@@ -2626,7 +2898,7 @@ module Aws::S3
2626
2898
  api.add_operation(:delete_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2627
2899
  o.name = "DeleteBucketOwnershipControls"
2628
2900
  o.http_method = "DELETE"
2629
- o.http_request_uri = "/{Bucket}?ownershipControls"
2901
+ o.http_request_uri = "/?ownershipControls"
2630
2902
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketOwnershipControlsRequest)
2631
2903
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2632
2904
  end)
@@ -2634,7 +2906,7 @@ module Aws::S3
2634
2906
  api.add_operation(:delete_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2635
2907
  o.name = "DeleteBucketPolicy"
2636
2908
  o.http_method = "DELETE"
2637
- o.http_request_uri = "/{Bucket}?policy"
2909
+ o.http_request_uri = "/?policy"
2638
2910
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketPolicyRequest)
2639
2911
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2640
2912
  end)
@@ -2642,7 +2914,7 @@ module Aws::S3
2642
2914
  api.add_operation(:delete_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2643
2915
  o.name = "DeleteBucketReplication"
2644
2916
  o.http_method = "DELETE"
2645
- o.http_request_uri = "/{Bucket}?replication"
2917
+ o.http_request_uri = "/?replication"
2646
2918
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketReplicationRequest)
2647
2919
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2648
2920
  end)
@@ -2650,7 +2922,7 @@ module Aws::S3
2650
2922
  api.add_operation(:delete_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2651
2923
  o.name = "DeleteBucketTagging"
2652
2924
  o.http_method = "DELETE"
2653
- o.http_request_uri = "/{Bucket}?tagging"
2925
+ o.http_request_uri = "/?tagging"
2654
2926
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketTaggingRequest)
2655
2927
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2656
2928
  end)
@@ -2658,7 +2930,7 @@ module Aws::S3
2658
2930
  api.add_operation(:delete_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2659
2931
  o.name = "DeleteBucketWebsite"
2660
2932
  o.http_method = "DELETE"
2661
- o.http_request_uri = "/{Bucket}?website"
2933
+ o.http_request_uri = "/?website"
2662
2934
  o.input = Shapes::ShapeRef.new(shape: DeleteBucketWebsiteRequest)
2663
2935
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2664
2936
  end)
@@ -2666,7 +2938,7 @@ module Aws::S3
2666
2938
  api.add_operation(:delete_object, Seahorse::Model::Operation.new.tap do |o|
2667
2939
  o.name = "DeleteObject"
2668
2940
  o.http_method = "DELETE"
2669
- o.http_request_uri = "/{Bucket}/{Key+}"
2941
+ o.http_request_uri = "/{Key+}"
2670
2942
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectRequest)
2671
2943
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectOutput)
2672
2944
  end)
@@ -2674,7 +2946,7 @@ module Aws::S3
2674
2946
  api.add_operation(:delete_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2675
2947
  o.name = "DeleteObjectTagging"
2676
2948
  o.http_method = "DELETE"
2677
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
2949
+ o.http_request_uri = "/{Key+}?tagging"
2678
2950
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectTaggingRequest)
2679
2951
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectTaggingOutput)
2680
2952
  end)
@@ -2682,8 +2954,15 @@ module Aws::S3
2682
2954
  api.add_operation(:delete_objects, Seahorse::Model::Operation.new.tap do |o|
2683
2955
  o.name = "DeleteObjects"
2684
2956
  o.http_method = "POST"
2685
- o.http_request_uri = "/{Bucket}?delete"
2686
- o.http_checksum_required = true
2957
+ o.http_request_uri = "/?delete"
2958
+ o.http_checksum = {
2959
+ "requestAlgorithmMember" => "checksum_algorithm",
2960
+ "requestChecksumRequired" => true,
2961
+ }
2962
+ o.http_checksum = {
2963
+ "requestAlgorithmMember" => "checksum_algorithm",
2964
+ "requestChecksumRequired" => true,
2965
+ }
2687
2966
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectsRequest)
2688
2967
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectsOutput)
2689
2968
  end)
@@ -2691,7 +2970,7 @@ module Aws::S3
2691
2970
  api.add_operation(:delete_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2692
2971
  o.name = "DeletePublicAccessBlock"
2693
2972
  o.http_method = "DELETE"
2694
- o.http_request_uri = "/{Bucket}?publicAccessBlock"
2973
+ o.http_request_uri = "/?publicAccessBlock"
2695
2974
  o.input = Shapes::ShapeRef.new(shape: DeletePublicAccessBlockRequest)
2696
2975
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2697
2976
  end)
@@ -2699,7 +2978,7 @@ module Aws::S3
2699
2978
  api.add_operation(:get_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
2700
2979
  o.name = "GetBucketAccelerateConfiguration"
2701
2980
  o.http_method = "GET"
2702
- o.http_request_uri = "/{Bucket}?accelerate"
2981
+ o.http_request_uri = "/?accelerate"
2703
2982
  o.input = Shapes::ShapeRef.new(shape: GetBucketAccelerateConfigurationRequest)
2704
2983
  o.output = Shapes::ShapeRef.new(shape: GetBucketAccelerateConfigurationOutput)
2705
2984
  end)
@@ -2707,7 +2986,7 @@ module Aws::S3
2707
2986
  api.add_operation(:get_bucket_acl, Seahorse::Model::Operation.new.tap do |o|
2708
2987
  o.name = "GetBucketAcl"
2709
2988
  o.http_method = "GET"
2710
- o.http_request_uri = "/{Bucket}?acl"
2989
+ o.http_request_uri = "/?acl"
2711
2990
  o.input = Shapes::ShapeRef.new(shape: GetBucketAclRequest)
2712
2991
  o.output = Shapes::ShapeRef.new(shape: GetBucketAclOutput)
2713
2992
  end)
@@ -2715,7 +2994,7 @@ module Aws::S3
2715
2994
  api.add_operation(:get_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
2716
2995
  o.name = "GetBucketAnalyticsConfiguration"
2717
2996
  o.http_method = "GET"
2718
- o.http_request_uri = "/{Bucket}?analytics"
2997
+ o.http_request_uri = "/?analytics"
2719
2998
  o.input = Shapes::ShapeRef.new(shape: GetBucketAnalyticsConfigurationRequest)
2720
2999
  o.output = Shapes::ShapeRef.new(shape: GetBucketAnalyticsConfigurationOutput)
2721
3000
  end)
@@ -2723,7 +3002,7 @@ module Aws::S3
2723
3002
  api.add_operation(:get_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
2724
3003
  o.name = "GetBucketCors"
2725
3004
  o.http_method = "GET"
2726
- o.http_request_uri = "/{Bucket}?cors"
3005
+ o.http_request_uri = "/?cors"
2727
3006
  o.input = Shapes::ShapeRef.new(shape: GetBucketCorsRequest)
2728
3007
  o.output = Shapes::ShapeRef.new(shape: GetBucketCorsOutput)
2729
3008
  end)
@@ -2731,7 +3010,7 @@ module Aws::S3
2731
3010
  api.add_operation(:get_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
2732
3011
  o.name = "GetBucketEncryption"
2733
3012
  o.http_method = "GET"
2734
- o.http_request_uri = "/{Bucket}?encryption"
3013
+ o.http_request_uri = "/?encryption"
2735
3014
  o.input = Shapes::ShapeRef.new(shape: GetBucketEncryptionRequest)
2736
3015
  o.output = Shapes::ShapeRef.new(shape: GetBucketEncryptionOutput)
2737
3016
  end)
@@ -2739,7 +3018,7 @@ module Aws::S3
2739
3018
  api.add_operation(:get_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
2740
3019
  o.name = "GetBucketIntelligentTieringConfiguration"
2741
3020
  o.http_method = "GET"
2742
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
3021
+ o.http_request_uri = "/?intelligent-tiering"
2743
3022
  o.input = Shapes::ShapeRef.new(shape: GetBucketIntelligentTieringConfigurationRequest)
2744
3023
  o.output = Shapes::ShapeRef.new(shape: GetBucketIntelligentTieringConfigurationOutput)
2745
3024
  end)
@@ -2747,7 +3026,7 @@ module Aws::S3
2747
3026
  api.add_operation(:get_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2748
3027
  o.name = "GetBucketInventoryConfiguration"
2749
3028
  o.http_method = "GET"
2750
- o.http_request_uri = "/{Bucket}?inventory"
3029
+ o.http_request_uri = "/?inventory"
2751
3030
  o.input = Shapes::ShapeRef.new(shape: GetBucketInventoryConfigurationRequest)
2752
3031
  o.output = Shapes::ShapeRef.new(shape: GetBucketInventoryConfigurationOutput)
2753
3032
  end)
@@ -2755,7 +3034,7 @@ module Aws::S3
2755
3034
  api.add_operation(:get_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
2756
3035
  o.name = "GetBucketLifecycle"
2757
3036
  o.http_method = "GET"
2758
- o.http_request_uri = "/{Bucket}?lifecycle"
3037
+ o.http_request_uri = "/?lifecycle"
2759
3038
  o.deprecated = true
2760
3039
  o.input = Shapes::ShapeRef.new(shape: GetBucketLifecycleRequest)
2761
3040
  o.output = Shapes::ShapeRef.new(shape: GetBucketLifecycleOutput)
@@ -2764,7 +3043,7 @@ module Aws::S3
2764
3043
  api.add_operation(:get_bucket_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
2765
3044
  o.name = "GetBucketLifecycleConfiguration"
2766
3045
  o.http_method = "GET"
2767
- o.http_request_uri = "/{Bucket}?lifecycle"
3046
+ o.http_request_uri = "/?lifecycle"
2768
3047
  o.input = Shapes::ShapeRef.new(shape: GetBucketLifecycleConfigurationRequest)
2769
3048
  o.output = Shapes::ShapeRef.new(shape: GetBucketLifecycleConfigurationOutput)
2770
3049
  end)
@@ -2772,7 +3051,7 @@ module Aws::S3
2772
3051
  api.add_operation(:get_bucket_location, Seahorse::Model::Operation.new.tap do |o|
2773
3052
  o.name = "GetBucketLocation"
2774
3053
  o.http_method = "GET"
2775
- o.http_request_uri = "/{Bucket}?location"
3054
+ o.http_request_uri = "/?location"
2776
3055
  o.input = Shapes::ShapeRef.new(shape: GetBucketLocationRequest)
2777
3056
  o.output = Shapes::ShapeRef.new(shape: GetBucketLocationOutput)
2778
3057
  end)
@@ -2780,7 +3059,7 @@ module Aws::S3
2780
3059
  api.add_operation(:get_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
2781
3060
  o.name = "GetBucketLogging"
2782
3061
  o.http_method = "GET"
2783
- o.http_request_uri = "/{Bucket}?logging"
3062
+ o.http_request_uri = "/?logging"
2784
3063
  o.input = Shapes::ShapeRef.new(shape: GetBucketLoggingRequest)
2785
3064
  o.output = Shapes::ShapeRef.new(shape: GetBucketLoggingOutput)
2786
3065
  end)
@@ -2788,7 +3067,7 @@ module Aws::S3
2788
3067
  api.add_operation(:get_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
2789
3068
  o.name = "GetBucketMetricsConfiguration"
2790
3069
  o.http_method = "GET"
2791
- o.http_request_uri = "/{Bucket}?metrics"
3070
+ o.http_request_uri = "/?metrics"
2792
3071
  o.input = Shapes::ShapeRef.new(shape: GetBucketMetricsConfigurationRequest)
2793
3072
  o.output = Shapes::ShapeRef.new(shape: GetBucketMetricsConfigurationOutput)
2794
3073
  end)
@@ -2796,7 +3075,7 @@ module Aws::S3
2796
3075
  api.add_operation(:get_bucket_notification, Seahorse::Model::Operation.new.tap do |o|
2797
3076
  o.name = "GetBucketNotification"
2798
3077
  o.http_method = "GET"
2799
- o.http_request_uri = "/{Bucket}?notification"
3078
+ o.http_request_uri = "/?notification"
2800
3079
  o.deprecated = true
2801
3080
  o.input = Shapes::ShapeRef.new(shape: GetBucketNotificationConfigurationRequest)
2802
3081
  o.output = Shapes::ShapeRef.new(shape: NotificationConfigurationDeprecated)
@@ -2805,7 +3084,7 @@ module Aws::S3
2805
3084
  api.add_operation(:get_bucket_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
2806
3085
  o.name = "GetBucketNotificationConfiguration"
2807
3086
  o.http_method = "GET"
2808
- o.http_request_uri = "/{Bucket}?notification"
3087
+ o.http_request_uri = "/?notification"
2809
3088
  o.input = Shapes::ShapeRef.new(shape: GetBucketNotificationConfigurationRequest)
2810
3089
  o.output = Shapes::ShapeRef.new(shape: NotificationConfiguration)
2811
3090
  end)
@@ -2813,7 +3092,7 @@ module Aws::S3
2813
3092
  api.add_operation(:get_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2814
3093
  o.name = "GetBucketOwnershipControls"
2815
3094
  o.http_method = "GET"
2816
- o.http_request_uri = "/{Bucket}?ownershipControls"
3095
+ o.http_request_uri = "/?ownershipControls"
2817
3096
  o.input = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsRequest)
2818
3097
  o.output = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsOutput)
2819
3098
  end)
@@ -2821,7 +3100,7 @@ module Aws::S3
2821
3100
  api.add_operation(:get_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2822
3101
  o.name = "GetBucketPolicy"
2823
3102
  o.http_method = "GET"
2824
- o.http_request_uri = "/{Bucket}?policy"
3103
+ o.http_request_uri = "/?policy"
2825
3104
  o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyRequest)
2826
3105
  o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyOutput)
2827
3106
  end)
@@ -2829,7 +3108,7 @@ module Aws::S3
2829
3108
  api.add_operation(:get_bucket_policy_status, Seahorse::Model::Operation.new.tap do |o|
2830
3109
  o.name = "GetBucketPolicyStatus"
2831
3110
  o.http_method = "GET"
2832
- o.http_request_uri = "/{Bucket}?policyStatus"
3111
+ o.http_request_uri = "/?policyStatus"
2833
3112
  o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusRequest)
2834
3113
  o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusOutput)
2835
3114
  end)
@@ -2837,7 +3116,7 @@ module Aws::S3
2837
3116
  api.add_operation(:get_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2838
3117
  o.name = "GetBucketReplication"
2839
3118
  o.http_method = "GET"
2840
- o.http_request_uri = "/{Bucket}?replication"
3119
+ o.http_request_uri = "/?replication"
2841
3120
  o.input = Shapes::ShapeRef.new(shape: GetBucketReplicationRequest)
2842
3121
  o.output = Shapes::ShapeRef.new(shape: GetBucketReplicationOutput)
2843
3122
  end)
@@ -2845,7 +3124,7 @@ module Aws::S3
2845
3124
  api.add_operation(:get_bucket_request_payment, Seahorse::Model::Operation.new.tap do |o|
2846
3125
  o.name = "GetBucketRequestPayment"
2847
3126
  o.http_method = "GET"
2848
- o.http_request_uri = "/{Bucket}?requestPayment"
3127
+ o.http_request_uri = "/?requestPayment"
2849
3128
  o.input = Shapes::ShapeRef.new(shape: GetBucketRequestPaymentRequest)
2850
3129
  o.output = Shapes::ShapeRef.new(shape: GetBucketRequestPaymentOutput)
2851
3130
  end)
@@ -2853,7 +3132,7 @@ module Aws::S3
2853
3132
  api.add_operation(:get_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
2854
3133
  o.name = "GetBucketTagging"
2855
3134
  o.http_method = "GET"
2856
- o.http_request_uri = "/{Bucket}?tagging"
3135
+ o.http_request_uri = "/?tagging"
2857
3136
  o.input = Shapes::ShapeRef.new(shape: GetBucketTaggingRequest)
2858
3137
  o.output = Shapes::ShapeRef.new(shape: GetBucketTaggingOutput)
2859
3138
  end)
@@ -2861,7 +3140,7 @@ module Aws::S3
2861
3140
  api.add_operation(:get_bucket_versioning, Seahorse::Model::Operation.new.tap do |o|
2862
3141
  o.name = "GetBucketVersioning"
2863
3142
  o.http_method = "GET"
2864
- o.http_request_uri = "/{Bucket}?versioning"
3143
+ o.http_request_uri = "/?versioning"
2865
3144
  o.input = Shapes::ShapeRef.new(shape: GetBucketVersioningRequest)
2866
3145
  o.output = Shapes::ShapeRef.new(shape: GetBucketVersioningOutput)
2867
3146
  end)
@@ -2869,7 +3148,7 @@ module Aws::S3
2869
3148
  api.add_operation(:get_bucket_website, Seahorse::Model::Operation.new.tap do |o|
2870
3149
  o.name = "GetBucketWebsite"
2871
3150
  o.http_method = "GET"
2872
- o.http_request_uri = "/{Bucket}?website"
3151
+ o.http_request_uri = "/?website"
2873
3152
  o.input = Shapes::ShapeRef.new(shape: GetBucketWebsiteRequest)
2874
3153
  o.output = Shapes::ShapeRef.new(shape: GetBucketWebsiteOutput)
2875
3154
  end)
@@ -2877,7 +3156,15 @@ module Aws::S3
2877
3156
  api.add_operation(:get_object, Seahorse::Model::Operation.new.tap do |o|
2878
3157
  o.name = "GetObject"
2879
3158
  o.http_method = "GET"
2880
- o.http_request_uri = "/{Bucket}/{Key+}"
3159
+ o.http_request_uri = "/{Key+}"
3160
+ o.http_checksum = {
3161
+ "requestValidationModeMember" => "checksum_mode",
3162
+ "responseAlgorithms" => ["CRC32", "CRC32C", "SHA256", "SHA1"],
3163
+ }
3164
+ o.http_checksum = {
3165
+ "requestValidationModeMember" => "checksum_mode",
3166
+ "responseAlgorithms" => ["CRC32", "CRC32C", "SHA256", "SHA1"],
3167
+ }
2881
3168
  o.input = Shapes::ShapeRef.new(shape: GetObjectRequest)
2882
3169
  o.output = Shapes::ShapeRef.new(shape: GetObjectOutput)
2883
3170
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -2887,16 +3174,25 @@ module Aws::S3
2887
3174
  api.add_operation(:get_object_acl, Seahorse::Model::Operation.new.tap do |o|
2888
3175
  o.name = "GetObjectAcl"
2889
3176
  o.http_method = "GET"
2890
- o.http_request_uri = "/{Bucket}/{Key+}?acl"
3177
+ o.http_request_uri = "/{Key+}?acl"
2891
3178
  o.input = Shapes::ShapeRef.new(shape: GetObjectAclRequest)
2892
3179
  o.output = Shapes::ShapeRef.new(shape: GetObjectAclOutput)
2893
3180
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
2894
3181
  end)
2895
3182
 
3183
+ api.add_operation(:get_object_attributes, Seahorse::Model::Operation.new.tap do |o|
3184
+ o.name = "GetObjectAttributes"
3185
+ o.http_method = "GET"
3186
+ o.http_request_uri = "/{Key+}?attributes"
3187
+ o.input = Shapes::ShapeRef.new(shape: GetObjectAttributesRequest)
3188
+ o.output = Shapes::ShapeRef.new(shape: GetObjectAttributesOutput)
3189
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
3190
+ end)
3191
+
2896
3192
  api.add_operation(:get_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
2897
3193
  o.name = "GetObjectLegalHold"
2898
3194
  o.http_method = "GET"
2899
- o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
3195
+ o.http_request_uri = "/{Key+}?legal-hold"
2900
3196
  o.input = Shapes::ShapeRef.new(shape: GetObjectLegalHoldRequest)
2901
3197
  o.output = Shapes::ShapeRef.new(shape: GetObjectLegalHoldOutput)
2902
3198
  end)
@@ -2904,7 +3200,7 @@ module Aws::S3
2904
3200
  api.add_operation(:get_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
2905
3201
  o.name = "GetObjectLockConfiguration"
2906
3202
  o.http_method = "GET"
2907
- o.http_request_uri = "/{Bucket}?object-lock"
3203
+ o.http_request_uri = "/?object-lock"
2908
3204
  o.input = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationRequest)
2909
3205
  o.output = Shapes::ShapeRef.new(shape: GetObjectLockConfigurationOutput)
2910
3206
  end)
@@ -2912,7 +3208,7 @@ module Aws::S3
2912
3208
  api.add_operation(:get_object_retention, Seahorse::Model::Operation.new.tap do |o|
2913
3209
  o.name = "GetObjectRetention"
2914
3210
  o.http_method = "GET"
2915
- o.http_request_uri = "/{Bucket}/{Key+}?retention"
3211
+ o.http_request_uri = "/{Key+}?retention"
2916
3212
  o.input = Shapes::ShapeRef.new(shape: GetObjectRetentionRequest)
2917
3213
  o.output = Shapes::ShapeRef.new(shape: GetObjectRetentionOutput)
2918
3214
  end)
@@ -2920,7 +3216,7 @@ module Aws::S3
2920
3216
  api.add_operation(:get_object_tagging, Seahorse::Model::Operation.new.tap do |o|
2921
3217
  o.name = "GetObjectTagging"
2922
3218
  o.http_method = "GET"
2923
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3219
+ o.http_request_uri = "/{Key+}?tagging"
2924
3220
  o.input = Shapes::ShapeRef.new(shape: GetObjectTaggingRequest)
2925
3221
  o.output = Shapes::ShapeRef.new(shape: GetObjectTaggingOutput)
2926
3222
  end)
@@ -2928,7 +3224,7 @@ module Aws::S3
2928
3224
  api.add_operation(:get_object_torrent, Seahorse::Model::Operation.new.tap do |o|
2929
3225
  o.name = "GetObjectTorrent"
2930
3226
  o.http_method = "GET"
2931
- o.http_request_uri = "/{Bucket}/{Key+}?torrent"
3227
+ o.http_request_uri = "/{Key+}?torrent"
2932
3228
  o.input = Shapes::ShapeRef.new(shape: GetObjectTorrentRequest)
2933
3229
  o.output = Shapes::ShapeRef.new(shape: GetObjectTorrentOutput)
2934
3230
  end)
@@ -2936,7 +3232,7 @@ module Aws::S3
2936
3232
  api.add_operation(:get_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2937
3233
  o.name = "GetPublicAccessBlock"
2938
3234
  o.http_method = "GET"
2939
- o.http_request_uri = "/{Bucket}?publicAccessBlock"
3235
+ o.http_request_uri = "/?publicAccessBlock"
2940
3236
  o.input = Shapes::ShapeRef.new(shape: GetPublicAccessBlockRequest)
2941
3237
  o.output = Shapes::ShapeRef.new(shape: GetPublicAccessBlockOutput)
2942
3238
  end)
@@ -2944,16 +3240,16 @@ module Aws::S3
2944
3240
  api.add_operation(:head_bucket, Seahorse::Model::Operation.new.tap do |o|
2945
3241
  o.name = "HeadBucket"
2946
3242
  o.http_method = "HEAD"
2947
- o.http_request_uri = "/{Bucket}"
3243
+ o.http_request_uri = "/"
2948
3244
  o.input = Shapes::ShapeRef.new(shape: HeadBucketRequest)
2949
- o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3245
+ o.output = Shapes::ShapeRef.new(shape: HeadBucketOutput)
2950
3246
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
2951
3247
  end)
2952
3248
 
2953
3249
  api.add_operation(:head_object, Seahorse::Model::Operation.new.tap do |o|
2954
3250
  o.name = "HeadObject"
2955
3251
  o.http_method = "HEAD"
2956
- o.http_request_uri = "/{Bucket}/{Key+}"
3252
+ o.http_request_uri = "/{Key+}"
2957
3253
  o.input = Shapes::ShapeRef.new(shape: HeadObjectRequest)
2958
3254
  o.output = Shapes::ShapeRef.new(shape: HeadObjectOutput)
2959
3255
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -2962,7 +3258,7 @@ module Aws::S3
2962
3258
  api.add_operation(:list_bucket_analytics_configurations, Seahorse::Model::Operation.new.tap do |o|
2963
3259
  o.name = "ListBucketAnalyticsConfigurations"
2964
3260
  o.http_method = "GET"
2965
- o.http_request_uri = "/{Bucket}?analytics"
3261
+ o.http_request_uri = "/?analytics"
2966
3262
  o.input = Shapes::ShapeRef.new(shape: ListBucketAnalyticsConfigurationsRequest)
2967
3263
  o.output = Shapes::ShapeRef.new(shape: ListBucketAnalyticsConfigurationsOutput)
2968
3264
  end)
@@ -2970,7 +3266,7 @@ module Aws::S3
2970
3266
  api.add_operation(:list_bucket_intelligent_tiering_configurations, Seahorse::Model::Operation.new.tap do |o|
2971
3267
  o.name = "ListBucketIntelligentTieringConfigurations"
2972
3268
  o.http_method = "GET"
2973
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
3269
+ o.http_request_uri = "/?intelligent-tiering"
2974
3270
  o.input = Shapes::ShapeRef.new(shape: ListBucketIntelligentTieringConfigurationsRequest)
2975
3271
  o.output = Shapes::ShapeRef.new(shape: ListBucketIntelligentTieringConfigurationsOutput)
2976
3272
  end)
@@ -2978,7 +3274,7 @@ module Aws::S3
2978
3274
  api.add_operation(:list_bucket_inventory_configurations, Seahorse::Model::Operation.new.tap do |o|
2979
3275
  o.name = "ListBucketInventoryConfigurations"
2980
3276
  o.http_method = "GET"
2981
- o.http_request_uri = "/{Bucket}?inventory"
3277
+ o.http_request_uri = "/?inventory"
2982
3278
  o.input = Shapes::ShapeRef.new(shape: ListBucketInventoryConfigurationsRequest)
2983
3279
  o.output = Shapes::ShapeRef.new(shape: ListBucketInventoryConfigurationsOutput)
2984
3280
  end)
@@ -2986,7 +3282,7 @@ module Aws::S3
2986
3282
  api.add_operation(:list_bucket_metrics_configurations, Seahorse::Model::Operation.new.tap do |o|
2987
3283
  o.name = "ListBucketMetricsConfigurations"
2988
3284
  o.http_method = "GET"
2989
- o.http_request_uri = "/{Bucket}?metrics"
3285
+ o.http_request_uri = "/?metrics"
2990
3286
  o.input = Shapes::ShapeRef.new(shape: ListBucketMetricsConfigurationsRequest)
2991
3287
  o.output = Shapes::ShapeRef.new(shape: ListBucketMetricsConfigurationsOutput)
2992
3288
  end)
@@ -2999,10 +3295,24 @@ module Aws::S3
2999
3295
  o.output = Shapes::ShapeRef.new(shape: ListBucketsOutput)
3000
3296
  end)
3001
3297
 
3298
+ api.add_operation(:list_directory_buckets, Seahorse::Model::Operation.new.tap do |o|
3299
+ o.name = "ListDirectoryBuckets"
3300
+ o.http_method = "GET"
3301
+ o.http_request_uri = "/"
3302
+ o.input = Shapes::ShapeRef.new(shape: ListDirectoryBucketsRequest)
3303
+ o.output = Shapes::ShapeRef.new(shape: ListDirectoryBucketsOutput)
3304
+ o[:pager] = Aws::Pager.new(
3305
+ limit_key: "max_directory_buckets",
3306
+ tokens: {
3307
+ "continuation_token" => "continuation_token"
3308
+ }
3309
+ )
3310
+ end)
3311
+
3002
3312
  api.add_operation(:list_multipart_uploads, Seahorse::Model::Operation.new.tap do |o|
3003
3313
  o.name = "ListMultipartUploads"
3004
3314
  o.http_method = "GET"
3005
- o.http_request_uri = "/{Bucket}?uploads"
3315
+ o.http_request_uri = "/?uploads"
3006
3316
  o.input = Shapes::ShapeRef.new(shape: ListMultipartUploadsRequest)
3007
3317
  o.output = Shapes::ShapeRef.new(shape: ListMultipartUploadsOutput)
3008
3318
  o[:pager] = Aws::Pager.new(
@@ -3018,7 +3328,7 @@ module Aws::S3
3018
3328
  api.add_operation(:list_object_versions, Seahorse::Model::Operation.new.tap do |o|
3019
3329
  o.name = "ListObjectVersions"
3020
3330
  o.http_method = "GET"
3021
- o.http_request_uri = "/{Bucket}?versions"
3331
+ o.http_request_uri = "/?versions"
3022
3332
  o.input = Shapes::ShapeRef.new(shape: ListObjectVersionsRequest)
3023
3333
  o.output = Shapes::ShapeRef.new(shape: ListObjectVersionsOutput)
3024
3334
  o[:pager] = Aws::Pager.new(
@@ -3034,7 +3344,7 @@ module Aws::S3
3034
3344
  api.add_operation(:list_objects, Seahorse::Model::Operation.new.tap do |o|
3035
3345
  o.name = "ListObjects"
3036
3346
  o.http_method = "GET"
3037
- o.http_request_uri = "/{Bucket}"
3347
+ o.http_request_uri = "/"
3038
3348
  o.input = Shapes::ShapeRef.new(shape: ListObjectsRequest)
3039
3349
  o.output = Shapes::ShapeRef.new(shape: ListObjectsOutput)
3040
3350
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -3050,7 +3360,7 @@ module Aws::S3
3050
3360
  api.add_operation(:list_objects_v2, Seahorse::Model::Operation.new.tap do |o|
3051
3361
  o.name = "ListObjectsV2"
3052
3362
  o.http_method = "GET"
3053
- o.http_request_uri = "/{Bucket}?list-type=2"
3363
+ o.http_request_uri = "/?list-type=2"
3054
3364
  o.input = Shapes::ShapeRef.new(shape: ListObjectsV2Request)
3055
3365
  o.output = Shapes::ShapeRef.new(shape: ListObjectsV2Output)
3056
3366
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
@@ -3065,7 +3375,7 @@ module Aws::S3
3065
3375
  api.add_operation(:list_parts, Seahorse::Model::Operation.new.tap do |o|
3066
3376
  o.name = "ListParts"
3067
3377
  o.http_method = "GET"
3068
- o.http_request_uri = "/{Bucket}/{Key+}"
3378
+ o.http_request_uri = "/{Key+}"
3069
3379
  o.input = Shapes::ShapeRef.new(shape: ListPartsRequest)
3070
3380
  o.output = Shapes::ShapeRef.new(shape: ListPartsOutput)
3071
3381
  o[:pager] = Aws::Pager.new(
@@ -3080,7 +3390,15 @@ module Aws::S3
3080
3390
  api.add_operation(:put_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
3081
3391
  o.name = "PutBucketAccelerateConfiguration"
3082
3392
  o.http_method = "PUT"
3083
- o.http_request_uri = "/{Bucket}?accelerate"
3393
+ o.http_request_uri = "/?accelerate"
3394
+ o.http_checksum = {
3395
+ "requestAlgorithmMember" => "checksum_algorithm",
3396
+ "requestChecksumRequired" => false,
3397
+ }
3398
+ o.http_checksum = {
3399
+ "requestAlgorithmMember" => "checksum_algorithm",
3400
+ "requestChecksumRequired" => false,
3401
+ }
3084
3402
  o.input = Shapes::ShapeRef.new(shape: PutBucketAccelerateConfigurationRequest)
3085
3403
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3086
3404
  end)
@@ -3088,8 +3406,15 @@ module Aws::S3
3088
3406
  api.add_operation(:put_bucket_acl, Seahorse::Model::Operation.new.tap do |o|
3089
3407
  o.name = "PutBucketAcl"
3090
3408
  o.http_method = "PUT"
3091
- o.http_request_uri = "/{Bucket}?acl"
3092
- o.http_checksum_required = true
3409
+ o.http_request_uri = "/?acl"
3410
+ o.http_checksum = {
3411
+ "requestAlgorithmMember" => "checksum_algorithm",
3412
+ "requestChecksumRequired" => true,
3413
+ }
3414
+ o.http_checksum = {
3415
+ "requestAlgorithmMember" => "checksum_algorithm",
3416
+ "requestChecksumRequired" => true,
3417
+ }
3093
3418
  o.input = Shapes::ShapeRef.new(shape: PutBucketAclRequest)
3094
3419
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3095
3420
  end)
@@ -3097,7 +3422,7 @@ module Aws::S3
3097
3422
  api.add_operation(:put_bucket_analytics_configuration, Seahorse::Model::Operation.new.tap do |o|
3098
3423
  o.name = "PutBucketAnalyticsConfiguration"
3099
3424
  o.http_method = "PUT"
3100
- o.http_request_uri = "/{Bucket}?analytics"
3425
+ o.http_request_uri = "/?analytics"
3101
3426
  o.input = Shapes::ShapeRef.new(shape: PutBucketAnalyticsConfigurationRequest)
3102
3427
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3103
3428
  end)
@@ -3105,8 +3430,15 @@ module Aws::S3
3105
3430
  api.add_operation(:put_bucket_cors, Seahorse::Model::Operation.new.tap do |o|
3106
3431
  o.name = "PutBucketCors"
3107
3432
  o.http_method = "PUT"
3108
- o.http_request_uri = "/{Bucket}?cors"
3109
- o.http_checksum_required = true
3433
+ o.http_request_uri = "/?cors"
3434
+ o.http_checksum = {
3435
+ "requestAlgorithmMember" => "checksum_algorithm",
3436
+ "requestChecksumRequired" => true,
3437
+ }
3438
+ o.http_checksum = {
3439
+ "requestAlgorithmMember" => "checksum_algorithm",
3440
+ "requestChecksumRequired" => true,
3441
+ }
3110
3442
  o.input = Shapes::ShapeRef.new(shape: PutBucketCorsRequest)
3111
3443
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3112
3444
  end)
@@ -3114,8 +3446,15 @@ module Aws::S3
3114
3446
  api.add_operation(:put_bucket_encryption, Seahorse::Model::Operation.new.tap do |o|
3115
3447
  o.name = "PutBucketEncryption"
3116
3448
  o.http_method = "PUT"
3117
- o.http_request_uri = "/{Bucket}?encryption"
3118
- o.http_checksum_required = true
3449
+ o.http_request_uri = "/?encryption"
3450
+ o.http_checksum = {
3451
+ "requestAlgorithmMember" => "checksum_algorithm",
3452
+ "requestChecksumRequired" => true,
3453
+ }
3454
+ o.http_checksum = {
3455
+ "requestAlgorithmMember" => "checksum_algorithm",
3456
+ "requestChecksumRequired" => true,
3457
+ }
3119
3458
  o.input = Shapes::ShapeRef.new(shape: PutBucketEncryptionRequest)
3120
3459
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3121
3460
  end)
@@ -3123,7 +3462,7 @@ module Aws::S3
3123
3462
  api.add_operation(:put_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
3124
3463
  o.name = "PutBucketIntelligentTieringConfiguration"
3125
3464
  o.http_method = "PUT"
3126
- o.http_request_uri = "/{Bucket}?intelligent-tiering"
3465
+ o.http_request_uri = "/?intelligent-tiering"
3127
3466
  o.input = Shapes::ShapeRef.new(shape: PutBucketIntelligentTieringConfigurationRequest)
3128
3467
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3129
3468
  end)
@@ -3131,7 +3470,7 @@ module Aws::S3
3131
3470
  api.add_operation(:put_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
3132
3471
  o.name = "PutBucketInventoryConfiguration"
3133
3472
  o.http_method = "PUT"
3134
- o.http_request_uri = "/{Bucket}?inventory"
3473
+ o.http_request_uri = "/?inventory"
3135
3474
  o.input = Shapes::ShapeRef.new(shape: PutBucketInventoryConfigurationRequest)
3136
3475
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3137
3476
  end)
@@ -3139,8 +3478,15 @@ module Aws::S3
3139
3478
  api.add_operation(:put_bucket_lifecycle, Seahorse::Model::Operation.new.tap do |o|
3140
3479
  o.name = "PutBucketLifecycle"
3141
3480
  o.http_method = "PUT"
3142
- o.http_request_uri = "/{Bucket}?lifecycle"
3143
- o.http_checksum_required = true
3481
+ o.http_request_uri = "/?lifecycle"
3482
+ o.http_checksum = {
3483
+ "requestAlgorithmMember" => "checksum_algorithm",
3484
+ "requestChecksumRequired" => true,
3485
+ }
3486
+ o.http_checksum = {
3487
+ "requestAlgorithmMember" => "checksum_algorithm",
3488
+ "requestChecksumRequired" => true,
3489
+ }
3144
3490
  o.deprecated = true
3145
3491
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleRequest)
3146
3492
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -3149,8 +3495,15 @@ module Aws::S3
3149
3495
  api.add_operation(:put_bucket_lifecycle_configuration, Seahorse::Model::Operation.new.tap do |o|
3150
3496
  o.name = "PutBucketLifecycleConfiguration"
3151
3497
  o.http_method = "PUT"
3152
- o.http_request_uri = "/{Bucket}?lifecycle"
3153
- o.http_checksum_required = true
3498
+ o.http_request_uri = "/?lifecycle"
3499
+ o.http_checksum = {
3500
+ "requestAlgorithmMember" => "checksum_algorithm",
3501
+ "requestChecksumRequired" => true,
3502
+ }
3503
+ o.http_checksum = {
3504
+ "requestAlgorithmMember" => "checksum_algorithm",
3505
+ "requestChecksumRequired" => true,
3506
+ }
3154
3507
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationRequest)
3155
3508
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3156
3509
  end)
@@ -3158,8 +3511,15 @@ module Aws::S3
3158
3511
  api.add_operation(:put_bucket_logging, Seahorse::Model::Operation.new.tap do |o|
3159
3512
  o.name = "PutBucketLogging"
3160
3513
  o.http_method = "PUT"
3161
- o.http_request_uri = "/{Bucket}?logging"
3162
- o.http_checksum_required = true
3514
+ o.http_request_uri = "/?logging"
3515
+ o.http_checksum = {
3516
+ "requestAlgorithmMember" => "checksum_algorithm",
3517
+ "requestChecksumRequired" => true,
3518
+ }
3519
+ o.http_checksum = {
3520
+ "requestAlgorithmMember" => "checksum_algorithm",
3521
+ "requestChecksumRequired" => true,
3522
+ }
3163
3523
  o.input = Shapes::ShapeRef.new(shape: PutBucketLoggingRequest)
3164
3524
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3165
3525
  end)
@@ -3167,7 +3527,7 @@ module Aws::S3
3167
3527
  api.add_operation(:put_bucket_metrics_configuration, Seahorse::Model::Operation.new.tap do |o|
3168
3528
  o.name = "PutBucketMetricsConfiguration"
3169
3529
  o.http_method = "PUT"
3170
- o.http_request_uri = "/{Bucket}?metrics"
3530
+ o.http_request_uri = "/?metrics"
3171
3531
  o.input = Shapes::ShapeRef.new(shape: PutBucketMetricsConfigurationRequest)
3172
3532
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3173
3533
  end)
@@ -3175,8 +3535,15 @@ module Aws::S3
3175
3535
  api.add_operation(:put_bucket_notification, Seahorse::Model::Operation.new.tap do |o|
3176
3536
  o.name = "PutBucketNotification"
3177
3537
  o.http_method = "PUT"
3178
- o.http_request_uri = "/{Bucket}?notification"
3179
- o.http_checksum_required = true
3538
+ o.http_request_uri = "/?notification"
3539
+ o.http_checksum = {
3540
+ "requestAlgorithmMember" => "checksum_algorithm",
3541
+ "requestChecksumRequired" => true,
3542
+ }
3543
+ o.http_checksum = {
3544
+ "requestAlgorithmMember" => "checksum_algorithm",
3545
+ "requestChecksumRequired" => true,
3546
+ }
3180
3547
  o.deprecated = true
3181
3548
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationRequest)
3182
3549
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -3185,7 +3552,7 @@ module Aws::S3
3185
3552
  api.add_operation(:put_bucket_notification_configuration, Seahorse::Model::Operation.new.tap do |o|
3186
3553
  o.name = "PutBucketNotificationConfiguration"
3187
3554
  o.http_method = "PUT"
3188
- o.http_request_uri = "/{Bucket}?notification"
3555
+ o.http_request_uri = "/?notification"
3189
3556
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationConfigurationRequest)
3190
3557
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3191
3558
  end)
@@ -3193,8 +3560,10 @@ module Aws::S3
3193
3560
  api.add_operation(:put_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
3194
3561
  o.name = "PutBucketOwnershipControls"
3195
3562
  o.http_method = "PUT"
3196
- o.http_request_uri = "/{Bucket}?ownershipControls"
3197
- o.http_checksum_required = true
3563
+ o.http_request_uri = "/?ownershipControls"
3564
+ o.http_checksum = {
3565
+ "requestChecksumRequired" => true,
3566
+ }
3198
3567
  o.input = Shapes::ShapeRef.new(shape: PutBucketOwnershipControlsRequest)
3199
3568
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3200
3569
  end)
@@ -3202,8 +3571,15 @@ module Aws::S3
3202
3571
  api.add_operation(:put_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
3203
3572
  o.name = "PutBucketPolicy"
3204
3573
  o.http_method = "PUT"
3205
- o.http_request_uri = "/{Bucket}?policy"
3206
- o.http_checksum_required = true
3574
+ o.http_request_uri = "/?policy"
3575
+ o.http_checksum = {
3576
+ "requestAlgorithmMember" => "checksum_algorithm",
3577
+ "requestChecksumRequired" => true,
3578
+ }
3579
+ o.http_checksum = {
3580
+ "requestAlgorithmMember" => "checksum_algorithm",
3581
+ "requestChecksumRequired" => true,
3582
+ }
3207
3583
  o.input = Shapes::ShapeRef.new(shape: PutBucketPolicyRequest)
3208
3584
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3209
3585
  end)
@@ -3211,8 +3587,15 @@ module Aws::S3
3211
3587
  api.add_operation(:put_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
3212
3588
  o.name = "PutBucketReplication"
3213
3589
  o.http_method = "PUT"
3214
- o.http_request_uri = "/{Bucket}?replication"
3215
- o.http_checksum_required = true
3590
+ o.http_request_uri = "/?replication"
3591
+ o.http_checksum = {
3592
+ "requestAlgorithmMember" => "checksum_algorithm",
3593
+ "requestChecksumRequired" => true,
3594
+ }
3595
+ o.http_checksum = {
3596
+ "requestAlgorithmMember" => "checksum_algorithm",
3597
+ "requestChecksumRequired" => true,
3598
+ }
3216
3599
  o.input = Shapes::ShapeRef.new(shape: PutBucketReplicationRequest)
3217
3600
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3218
3601
  end)
@@ -3220,8 +3603,15 @@ module Aws::S3
3220
3603
  api.add_operation(:put_bucket_request_payment, Seahorse::Model::Operation.new.tap do |o|
3221
3604
  o.name = "PutBucketRequestPayment"
3222
3605
  o.http_method = "PUT"
3223
- o.http_request_uri = "/{Bucket}?requestPayment"
3224
- o.http_checksum_required = true
3606
+ o.http_request_uri = "/?requestPayment"
3607
+ o.http_checksum = {
3608
+ "requestAlgorithmMember" => "checksum_algorithm",
3609
+ "requestChecksumRequired" => true,
3610
+ }
3611
+ o.http_checksum = {
3612
+ "requestAlgorithmMember" => "checksum_algorithm",
3613
+ "requestChecksumRequired" => true,
3614
+ }
3225
3615
  o.input = Shapes::ShapeRef.new(shape: PutBucketRequestPaymentRequest)
3226
3616
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3227
3617
  end)
@@ -3229,8 +3619,15 @@ module Aws::S3
3229
3619
  api.add_operation(:put_bucket_tagging, Seahorse::Model::Operation.new.tap do |o|
3230
3620
  o.name = "PutBucketTagging"
3231
3621
  o.http_method = "PUT"
3232
- o.http_request_uri = "/{Bucket}?tagging"
3233
- o.http_checksum_required = true
3622
+ o.http_request_uri = "/?tagging"
3623
+ o.http_checksum = {
3624
+ "requestAlgorithmMember" => "checksum_algorithm",
3625
+ "requestChecksumRequired" => true,
3626
+ }
3627
+ o.http_checksum = {
3628
+ "requestAlgorithmMember" => "checksum_algorithm",
3629
+ "requestChecksumRequired" => true,
3630
+ }
3234
3631
  o.input = Shapes::ShapeRef.new(shape: PutBucketTaggingRequest)
3235
3632
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3236
3633
  end)
@@ -3238,8 +3635,15 @@ module Aws::S3
3238
3635
  api.add_operation(:put_bucket_versioning, Seahorse::Model::Operation.new.tap do |o|
3239
3636
  o.name = "PutBucketVersioning"
3240
3637
  o.http_method = "PUT"
3241
- o.http_request_uri = "/{Bucket}?versioning"
3242
- o.http_checksum_required = true
3638
+ o.http_request_uri = "/?versioning"
3639
+ o.http_checksum = {
3640
+ "requestAlgorithmMember" => "checksum_algorithm",
3641
+ "requestChecksumRequired" => true,
3642
+ }
3643
+ o.http_checksum = {
3644
+ "requestAlgorithmMember" => "checksum_algorithm",
3645
+ "requestChecksumRequired" => true,
3646
+ }
3243
3647
  o.input = Shapes::ShapeRef.new(shape: PutBucketVersioningRequest)
3244
3648
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3245
3649
  end)
@@ -3247,8 +3651,15 @@ module Aws::S3
3247
3651
  api.add_operation(:put_bucket_website, Seahorse::Model::Operation.new.tap do |o|
3248
3652
  o.name = "PutBucketWebsite"
3249
3653
  o.http_method = "PUT"
3250
- o.http_request_uri = "/{Bucket}?website"
3251
- o.http_checksum_required = true
3654
+ o.http_request_uri = "/?website"
3655
+ o.http_checksum = {
3656
+ "requestAlgorithmMember" => "checksum_algorithm",
3657
+ "requestChecksumRequired" => true,
3658
+ }
3659
+ o.http_checksum = {
3660
+ "requestAlgorithmMember" => "checksum_algorithm",
3661
+ "requestChecksumRequired" => true,
3662
+ }
3252
3663
  o.input = Shapes::ShapeRef.new(shape: PutBucketWebsiteRequest)
3253
3664
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3254
3665
  end)
@@ -3256,7 +3667,15 @@ module Aws::S3
3256
3667
  api.add_operation(:put_object, Seahorse::Model::Operation.new.tap do |o|
3257
3668
  o.name = "PutObject"
3258
3669
  o.http_method = "PUT"
3259
- o.http_request_uri = "/{Bucket}/{Key+}"
3670
+ o.http_request_uri = "/{Key+}"
3671
+ o.http_checksum = {
3672
+ "requestAlgorithmMember" => "checksum_algorithm",
3673
+ "requestChecksumRequired" => false,
3674
+ }
3675
+ o.http_checksum = {
3676
+ "requestAlgorithmMember" => "checksum_algorithm",
3677
+ "requestChecksumRequired" => false,
3678
+ }
3260
3679
  o.input = Shapes::ShapeRef.new(shape: PutObjectRequest)
3261
3680
  o.output = Shapes::ShapeRef.new(shape: PutObjectOutput)
3262
3681
  end)
@@ -3264,8 +3683,15 @@ module Aws::S3
3264
3683
  api.add_operation(:put_object_acl, Seahorse::Model::Operation.new.tap do |o|
3265
3684
  o.name = "PutObjectAcl"
3266
3685
  o.http_method = "PUT"
3267
- o.http_request_uri = "/{Bucket}/{Key+}?acl"
3268
- o.http_checksum_required = true
3686
+ o.http_request_uri = "/{Key+}?acl"
3687
+ o.http_checksum = {
3688
+ "requestAlgorithmMember" => "checksum_algorithm",
3689
+ "requestChecksumRequired" => true,
3690
+ }
3691
+ o.http_checksum = {
3692
+ "requestAlgorithmMember" => "checksum_algorithm",
3693
+ "requestChecksumRequired" => true,
3694
+ }
3269
3695
  o.input = Shapes::ShapeRef.new(shape: PutObjectAclRequest)
3270
3696
  o.output = Shapes::ShapeRef.new(shape: PutObjectAclOutput)
3271
3697
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -3274,8 +3700,15 @@ module Aws::S3
3274
3700
  api.add_operation(:put_object_legal_hold, Seahorse::Model::Operation.new.tap do |o|
3275
3701
  o.name = "PutObjectLegalHold"
3276
3702
  o.http_method = "PUT"
3277
- o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
3278
- o.http_checksum_required = true
3703
+ o.http_request_uri = "/{Key+}?legal-hold"
3704
+ o.http_checksum = {
3705
+ "requestAlgorithmMember" => "checksum_algorithm",
3706
+ "requestChecksumRequired" => true,
3707
+ }
3708
+ o.http_checksum = {
3709
+ "requestAlgorithmMember" => "checksum_algorithm",
3710
+ "requestChecksumRequired" => true,
3711
+ }
3279
3712
  o.input = Shapes::ShapeRef.new(shape: PutObjectLegalHoldRequest)
3280
3713
  o.output = Shapes::ShapeRef.new(shape: PutObjectLegalHoldOutput)
3281
3714
  end)
@@ -3283,8 +3716,15 @@ module Aws::S3
3283
3716
  api.add_operation(:put_object_lock_configuration, Seahorse::Model::Operation.new.tap do |o|
3284
3717
  o.name = "PutObjectLockConfiguration"
3285
3718
  o.http_method = "PUT"
3286
- o.http_request_uri = "/{Bucket}?object-lock"
3287
- o.http_checksum_required = true
3719
+ o.http_request_uri = "/?object-lock"
3720
+ o.http_checksum = {
3721
+ "requestAlgorithmMember" => "checksum_algorithm",
3722
+ "requestChecksumRequired" => true,
3723
+ }
3724
+ o.http_checksum = {
3725
+ "requestAlgorithmMember" => "checksum_algorithm",
3726
+ "requestChecksumRequired" => true,
3727
+ }
3288
3728
  o.input = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationRequest)
3289
3729
  o.output = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationOutput)
3290
3730
  end)
@@ -3292,8 +3732,15 @@ module Aws::S3
3292
3732
  api.add_operation(:put_object_retention, Seahorse::Model::Operation.new.tap do |o|
3293
3733
  o.name = "PutObjectRetention"
3294
3734
  o.http_method = "PUT"
3295
- o.http_request_uri = "/{Bucket}/{Key+}?retention"
3296
- o.http_checksum_required = true
3735
+ o.http_request_uri = "/{Key+}?retention"
3736
+ o.http_checksum = {
3737
+ "requestAlgorithmMember" => "checksum_algorithm",
3738
+ "requestChecksumRequired" => true,
3739
+ }
3740
+ o.http_checksum = {
3741
+ "requestAlgorithmMember" => "checksum_algorithm",
3742
+ "requestChecksumRequired" => true,
3743
+ }
3297
3744
  o.input = Shapes::ShapeRef.new(shape: PutObjectRetentionRequest)
3298
3745
  o.output = Shapes::ShapeRef.new(shape: PutObjectRetentionOutput)
3299
3746
  end)
@@ -3301,8 +3748,15 @@ module Aws::S3
3301
3748
  api.add_operation(:put_object_tagging, Seahorse::Model::Operation.new.tap do |o|
3302
3749
  o.name = "PutObjectTagging"
3303
3750
  o.http_method = "PUT"
3304
- o.http_request_uri = "/{Bucket}/{Key+}?tagging"
3305
- o.http_checksum_required = true
3751
+ o.http_request_uri = "/{Key+}?tagging"
3752
+ o.http_checksum = {
3753
+ "requestAlgorithmMember" => "checksum_algorithm",
3754
+ "requestChecksumRequired" => true,
3755
+ }
3756
+ o.http_checksum = {
3757
+ "requestAlgorithmMember" => "checksum_algorithm",
3758
+ "requestChecksumRequired" => true,
3759
+ }
3306
3760
  o.input = Shapes::ShapeRef.new(shape: PutObjectTaggingRequest)
3307
3761
  o.output = Shapes::ShapeRef.new(shape: PutObjectTaggingOutput)
3308
3762
  end)
@@ -3310,8 +3764,15 @@ module Aws::S3
3310
3764
  api.add_operation(:put_public_access_block, Seahorse::Model::Operation.new.tap do |o|
3311
3765
  o.name = "PutPublicAccessBlock"
3312
3766
  o.http_method = "PUT"
3313
- o.http_request_uri = "/{Bucket}?publicAccessBlock"
3314
- o.http_checksum_required = true
3767
+ o.http_request_uri = "/?publicAccessBlock"
3768
+ o.http_checksum = {
3769
+ "requestAlgorithmMember" => "checksum_algorithm",
3770
+ "requestChecksumRequired" => true,
3771
+ }
3772
+ o.http_checksum = {
3773
+ "requestAlgorithmMember" => "checksum_algorithm",
3774
+ "requestChecksumRequired" => true,
3775
+ }
3315
3776
  o.input = Shapes::ShapeRef.new(shape: PutPublicAccessBlockRequest)
3316
3777
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3317
3778
  end)
@@ -3319,7 +3780,15 @@ module Aws::S3
3319
3780
  api.add_operation(:restore_object, Seahorse::Model::Operation.new.tap do |o|
3320
3781
  o.name = "RestoreObject"
3321
3782
  o.http_method = "POST"
3322
- o.http_request_uri = "/{Bucket}/{Key+}?restore"
3783
+ o.http_request_uri = "/{Key+}?restore"
3784
+ o.http_checksum = {
3785
+ "requestAlgorithmMember" => "checksum_algorithm",
3786
+ "requestChecksumRequired" => false,
3787
+ }
3788
+ o.http_checksum = {
3789
+ "requestAlgorithmMember" => "checksum_algorithm",
3790
+ "requestChecksumRequired" => false,
3791
+ }
3323
3792
  o.input = Shapes::ShapeRef.new(shape: RestoreObjectRequest)
3324
3793
  o.output = Shapes::ShapeRef.new(shape: RestoreObjectOutput)
3325
3794
  o.errors << Shapes::ShapeRef.new(shape: ObjectAlreadyInActiveTierError)
@@ -3328,7 +3797,7 @@ module Aws::S3
3328
3797
  api.add_operation(:select_object_content, Seahorse::Model::Operation.new.tap do |o|
3329
3798
  o.name = "SelectObjectContent"
3330
3799
  o.http_method = "POST"
3331
- o.http_request_uri = "/{Bucket}/{Key+}?select&select-type=2"
3800
+ o.http_request_uri = "/{Key+}?select&select-type=2"
3332
3801
  o.input = Shapes::ShapeRef.new(shape: SelectObjectContentRequest,
3333
3802
  location_name: "SelectObjectContentRequest",
3334
3803
  metadata: {
@@ -3341,7 +3810,15 @@ module Aws::S3
3341
3810
  api.add_operation(:upload_part, Seahorse::Model::Operation.new.tap do |o|
3342
3811
  o.name = "UploadPart"
3343
3812
  o.http_method = "PUT"
3344
- o.http_request_uri = "/{Bucket}/{Key+}"
3813
+ o.http_request_uri = "/{Key+}"
3814
+ o.http_checksum = {
3815
+ "requestAlgorithmMember" => "checksum_algorithm",
3816
+ "requestChecksumRequired" => false,
3817
+ }
3818
+ o.http_checksum = {
3819
+ "requestAlgorithmMember" => "checksum_algorithm",
3820
+ "requestChecksumRequired" => false,
3821
+ }
3345
3822
  o.input = Shapes::ShapeRef.new(shape: UploadPartRequest)
3346
3823
  o.output = Shapes::ShapeRef.new(shape: UploadPartOutput)
3347
3824
  end)
@@ -3349,7 +3826,7 @@ module Aws::S3
3349
3826
  api.add_operation(:upload_part_copy, Seahorse::Model::Operation.new.tap do |o|
3350
3827
  o.name = "UploadPartCopy"
3351
3828
  o.http_method = "PUT"
3352
- o.http_request_uri = "/{Bucket}/{Key+}"
3829
+ o.http_request_uri = "/{Key+}"
3353
3830
  o.input = Shapes::ShapeRef.new(shape: UploadPartCopyRequest)
3354
3831
  o.output = Shapes::ShapeRef.new(shape: UploadPartCopyOutput)
3355
3832
  end)
@@ -3359,6 +3836,7 @@ module Aws::S3
3359
3836
  o.http_method = "POST"
3360
3837
  o.http_request_uri = "/WriteGetObjectResponse"
3361
3838
  o['authtype'] = "v4-unsigned-body"
3839
+ o['unsignedPayload'] = true
3362
3840
  o.endpoint_pattern = {
3363
3841
  "hostPrefix" => "{RequestRoute}.",
3364
3842
  }