aws-sdk-s3 1.122.0 → 1.157.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 (85) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +238 -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 +250 -0
  6. data/lib/aws-sdk-s3/bucket.rb +507 -114
  7. data/lib/aws-sdk-s3/bucket_acl.rb +18 -12
  8. data/lib/aws-sdk-s3/bucket_cors.rb +24 -16
  9. data/lib/aws-sdk-s3/bucket_lifecycle.rb +24 -16
  10. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +24 -16
  11. data/lib/aws-sdk-s3/bucket_logging.rb +25 -12
  12. data/lib/aws-sdk-s3/bucket_notification.rb +12 -6
  13. data/lib/aws-sdk-s3/bucket_policy.rb +70 -18
  14. data/lib/aws-sdk-s3/bucket_region_cache.rb +9 -5
  15. data/lib/aws-sdk-s3/bucket_request_payment.rb +18 -12
  16. data/lib/aws-sdk-s3/bucket_tagging.rb +24 -16
  17. data/lib/aws-sdk-s3/bucket_versioning.rb +42 -32
  18. data/lib/aws-sdk-s3/bucket_website.rb +24 -16
  19. data/lib/aws-sdk-s3/client.rb +6048 -2781
  20. data/lib/aws-sdk-s3/client_api.rb +148 -20
  21. data/lib/aws-sdk-s3/customizations/bucket.rb +3 -1
  22. data/lib/aws-sdk-s3/customizations/errors.rb +16 -3
  23. data/lib/aws-sdk-s3/customizations/object.rb +91 -18
  24. data/lib/aws-sdk-s3/customizations.rb +8 -0
  25. data/lib/aws-sdk-s3/encryption/client.rb +6 -2
  26. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +13 -9
  27. data/lib/aws-sdk-s3/encryptionV2/client.rb +6 -2
  28. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +1 -0
  29. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +10 -6
  30. data/lib/aws-sdk-s3/endpoint_parameters.rb +44 -0
  31. data/lib/aws-sdk-s3/endpoint_provider.rb +111 -252
  32. data/lib/aws-sdk-s3/endpoints.rb +540 -0
  33. data/lib/aws-sdk-s3/express_credentials.rb +55 -0
  34. data/lib/aws-sdk-s3/express_credentials_provider.rb +59 -0
  35. data/lib/aws-sdk-s3/file_downloader.rb +169 -44
  36. data/lib/aws-sdk-s3/file_uploader.rb +8 -6
  37. data/lib/aws-sdk-s3/multipart_file_uploader.rb +4 -4
  38. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +10 -7
  39. data/lib/aws-sdk-s3/multipart_upload.rb +81 -20
  40. data/lib/aws-sdk-s3/multipart_upload_part.rb +169 -38
  41. data/lib/aws-sdk-s3/object.rb +1571 -261
  42. data/lib/aws-sdk-s3/object_acl.rb +38 -18
  43. data/lib/aws-sdk-s3/object_copier.rb +7 -5
  44. data/lib/aws-sdk-s3/object_multipart_copier.rb +42 -24
  45. data/lib/aws-sdk-s3/object_summary.rb +1422 -276
  46. data/lib/aws-sdk-s3/object_version.rb +344 -47
  47. data/lib/aws-sdk-s3/plugins/access_grants.rb +178 -0
  48. data/lib/aws-sdk-s3/plugins/endpoints.rb +14 -2
  49. data/lib/aws-sdk-s3/plugins/express_session_auth.rb +97 -0
  50. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +53 -16
  51. data/lib/aws-sdk-s3/plugins/location_constraint.rb +3 -1
  52. data/lib/aws-sdk-s3/plugins/md5s.rb +2 -1
  53. data/lib/aws-sdk-s3/plugins/s3_signer.rb +7 -2
  54. data/lib/aws-sdk-s3/presigned_post.rb +52 -43
  55. data/lib/aws-sdk-s3/presigner.rb +8 -4
  56. data/lib/aws-sdk-s3/resource.rb +89 -13
  57. data/lib/aws-sdk-s3/types.rb +4879 -1513
  58. data/lib/aws-sdk-s3.rb +1 -1
  59. data/sig/bucket.rbs +212 -0
  60. data/sig/bucket_acl.rbs +78 -0
  61. data/sig/bucket_cors.rbs +69 -0
  62. data/sig/bucket_lifecycle.rbs +88 -0
  63. data/sig/bucket_lifecycle_configuration.rbs +111 -0
  64. data/sig/bucket_logging.rbs +76 -0
  65. data/sig/bucket_notification.rbs +114 -0
  66. data/sig/bucket_policy.rbs +59 -0
  67. data/sig/bucket_request_payment.rbs +54 -0
  68. data/sig/bucket_tagging.rbs +65 -0
  69. data/sig/bucket_versioning.rbs +77 -0
  70. data/sig/bucket_website.rbs +93 -0
  71. data/sig/client.rbs +2381 -0
  72. data/sig/customizations/bucket.rbs +19 -0
  73. data/sig/customizations/object.rbs +38 -0
  74. data/sig/customizations/object_summary.rbs +35 -0
  75. data/sig/errors.rbs +34 -0
  76. data/sig/multipart_upload.rbs +110 -0
  77. data/sig/multipart_upload_part.rbs +105 -0
  78. data/sig/object.rbs +442 -0
  79. data/sig/object_acl.rbs +86 -0
  80. data/sig/object_summary.rbs +334 -0
  81. data/sig/object_version.rbs +137 -0
  82. data/sig/resource.rbs +127 -0
  83. data/sig/types.rbs +2568 -0
  84. data/sig/waiters.rbs +95 -0
  85. metadata +43 -11
@@ -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')
@@ -114,7 +119,10 @@ module Aws::S3
114
119
  CreateBucketRequest = Shapes::StructureShape.new(name: 'CreateBucketRequest')
115
120
  CreateMultipartUploadOutput = Shapes::StructureShape.new(name: 'CreateMultipartUploadOutput')
116
121
  CreateMultipartUploadRequest = Shapes::StructureShape.new(name: 'CreateMultipartUploadRequest')
122
+ CreateSessionOutput = Shapes::StructureShape.new(name: 'CreateSessionOutput')
123
+ CreateSessionRequest = Shapes::StructureShape.new(name: 'CreateSessionRequest')
117
124
  CreationDate = Shapes::TimestampShape.new(name: 'CreationDate')
125
+ DataRedundancy = Shapes::StringShape.new(name: 'DataRedundancy')
118
126
  Date = Shapes::TimestampShape.new(name: 'Date', timestampFormat: "iso8601")
119
127
  Days = Shapes::IntegerShape.new(name: 'Days')
120
128
  DaysAfterInitiation = Shapes::IntegerShape.new(name: 'DaysAfterInitiation')
@@ -151,6 +159,7 @@ module Aws::S3
151
159
  Delimiter = Shapes::StringShape.new(name: 'Delimiter')
152
160
  Description = Shapes::StringShape.new(name: 'Description')
153
161
  Destination = Shapes::StructureShape.new(name: 'Destination')
162
+ DirectoryBucketToken = Shapes::StringShape.new(name: 'DirectoryBucketToken')
154
163
  DisplayName = Shapes::StringShape.new(name: 'DisplayName')
155
164
  ETag = Shapes::StringShape.new(name: 'ETag')
156
165
  EmailAddress = Shapes::StringShape.new(name: 'EmailAddress')
@@ -256,6 +265,7 @@ module Aws::S3
256
265
  GrantWriteACP = Shapes::StringShape.new(name: 'GrantWriteACP')
257
266
  Grantee = Shapes::StructureShape.new(name: 'Grantee', xmlNamespace: {"prefix"=>"xsi", "uri"=>"http://www.w3.org/2001/XMLSchema-instance"})
258
267
  Grants = Shapes::ListShape.new(name: 'Grants')
268
+ HeadBucketOutput = Shapes::StructureShape.new(name: 'HeadBucketOutput')
259
269
  HeadBucketRequest = Shapes::StructureShape.new(name: 'HeadBucketRequest')
260
270
  HeadObjectOutput = Shapes::StructureShape.new(name: 'HeadObjectOutput')
261
271
  HeadObjectRequest = Shapes::StructureShape.new(name: 'HeadObjectRequest')
@@ -296,6 +306,7 @@ module Aws::S3
296
306
  IsEnabled = Shapes::BooleanShape.new(name: 'IsEnabled')
297
307
  IsLatest = Shapes::BooleanShape.new(name: 'IsLatest')
298
308
  IsPublic = Shapes::BooleanShape.new(name: 'IsPublic')
309
+ IsRestoreInProgress = Shapes::BooleanShape.new(name: 'IsRestoreInProgress')
299
310
  IsTruncated = Shapes::BooleanShape.new(name: 'IsTruncated')
300
311
  JSONInput = Shapes::StructureShape.new(name: 'JSONInput')
301
312
  JSONOutput = Shapes::StructureShape.new(name: 'JSONOutput')
@@ -323,6 +334,8 @@ module Aws::S3
323
334
  ListBucketMetricsConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsOutput')
324
335
  ListBucketMetricsConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsRequest')
325
336
  ListBucketsOutput = Shapes::StructureShape.new(name: 'ListBucketsOutput')
337
+ ListDirectoryBucketsOutput = Shapes::StructureShape.new(name: 'ListDirectoryBucketsOutput')
338
+ ListDirectoryBucketsRequest = Shapes::StructureShape.new(name: 'ListDirectoryBucketsRequest')
326
339
  ListMultipartUploadsOutput = Shapes::StructureShape.new(name: 'ListMultipartUploadsOutput')
327
340
  ListMultipartUploadsRequest = Shapes::StructureShape.new(name: 'ListMultipartUploadsRequest')
328
341
  ListObjectVersionsOutput = Shapes::StructureShape.new(name: 'ListObjectVersionsOutput')
@@ -334,13 +347,17 @@ module Aws::S3
334
347
  ListPartsOutput = Shapes::StructureShape.new(name: 'ListPartsOutput')
335
348
  ListPartsRequest = Shapes::StructureShape.new(name: 'ListPartsRequest')
336
349
  Location = Shapes::StringShape.new(name: 'Location')
350
+ LocationInfo = Shapes::StructureShape.new(name: 'LocationInfo')
351
+ LocationNameAsString = Shapes::StringShape.new(name: 'LocationNameAsString')
337
352
  LocationPrefix = Shapes::StringShape.new(name: 'LocationPrefix')
353
+ LocationType = Shapes::StringShape.new(name: 'LocationType')
338
354
  LoggingEnabled = Shapes::StructureShape.new(name: 'LoggingEnabled')
339
355
  MFA = Shapes::StringShape.new(name: 'MFA')
340
356
  MFADelete = Shapes::StringShape.new(name: 'MFADelete')
341
357
  MFADeleteStatus = Shapes::StringShape.new(name: 'MFADeleteStatus')
342
358
  Marker = Shapes::StringShape.new(name: 'Marker')
343
359
  MaxAgeSeconds = Shapes::IntegerShape.new(name: 'MaxAgeSeconds')
360
+ MaxDirectoryBuckets = Shapes::IntegerShape.new(name: 'MaxDirectoryBuckets')
344
361
  MaxKeys = Shapes::IntegerShape.new(name: 'MaxKeys')
345
362
  MaxParts = Shapes::IntegerShape.new(name: 'MaxParts')
346
363
  MaxUploads = Shapes::IntegerShape.new(name: 'MaxUploads')
@@ -409,6 +426,8 @@ module Aws::S3
409
426
  ObjectVersionId = Shapes::StringShape.new(name: 'ObjectVersionId')
410
427
  ObjectVersionList = Shapes::ListShape.new(name: 'ObjectVersionList', flattened: true)
411
428
  ObjectVersionStorageClass = Shapes::StringShape.new(name: 'ObjectVersionStorageClass')
429
+ OptionalObjectAttributes = Shapes::StringShape.new(name: 'OptionalObjectAttributes')
430
+ OptionalObjectAttributesList = Shapes::ListShape.new(name: 'OptionalObjectAttributesList')
412
431
  OutputLocation = Shapes::StructureShape.new(name: 'OutputLocation')
413
432
  OutputSerialization = Shapes::StructureShape.new(name: 'OutputSerialization')
414
433
  Owner = Shapes::StructureShape.new(name: 'Owner')
@@ -420,6 +439,8 @@ module Aws::S3
420
439
  Part = Shapes::StructureShape.new(name: 'Part')
421
440
  PartNumber = Shapes::IntegerShape.new(name: 'PartNumber')
422
441
  PartNumberMarker = Shapes::IntegerShape.new(name: 'PartNumberMarker')
442
+ PartitionDateSource = Shapes::StringShape.new(name: 'PartitionDateSource')
443
+ PartitionedPrefix = Shapes::StructureShape.new(name: 'PartitionedPrefix', locationName: "PartitionedPrefix")
423
444
  Parts = Shapes::ListShape.new(name: 'Parts', flattened: true)
424
445
  PartsCount = Shapes::IntegerShape.new(name: 'PartsCount')
425
446
  PartsList = Shapes::ListShape.new(name: 'PartsList', flattened: true)
@@ -479,6 +500,7 @@ module Aws::S3
479
500
  RecordsEvent = Shapes::StructureShape.new(name: 'RecordsEvent')
480
501
  Redirect = Shapes::StructureShape.new(name: 'Redirect')
481
502
  RedirectAllRequestsTo = Shapes::StructureShape.new(name: 'RedirectAllRequestsTo')
503
+ Region = Shapes::StringShape.new(name: 'Region')
482
504
  ReplaceKeyPrefixWith = Shapes::StringShape.new(name: 'ReplaceKeyPrefixWith')
483
505
  ReplaceKeyWith = Shapes::StringShape.new(name: 'ReplaceKeyWith')
484
506
  ReplicaKmsKeyID = Shapes::StringShape.new(name: 'ReplicaKmsKeyID')
@@ -507,11 +529,13 @@ module Aws::S3
507
529
  ResponseContentType = Shapes::StringShape.new(name: 'ResponseContentType')
508
530
  ResponseExpires = Shapes::TimestampShape.new(name: 'ResponseExpires', timestampFormat: "rfc822")
509
531
  Restore = Shapes::StringShape.new(name: 'Restore')
532
+ RestoreExpiryDate = Shapes::TimestampShape.new(name: 'RestoreExpiryDate')
510
533
  RestoreObjectOutput = Shapes::StructureShape.new(name: 'RestoreObjectOutput')
511
534
  RestoreObjectRequest = Shapes::StructureShape.new(name: 'RestoreObjectRequest')
512
535
  RestoreOutputPath = Shapes::StringShape.new(name: 'RestoreOutputPath')
513
536
  RestoreRequest = Shapes::StructureShape.new(name: 'RestoreRequest')
514
537
  RestoreRequestType = Shapes::StringShape.new(name: 'RestoreRequestType')
538
+ RestoreStatus = Shapes::StructureShape.new(name: 'RestoreStatus')
515
539
  Role = Shapes::StringShape.new(name: 'Role')
516
540
  RoutingRule = Shapes::StructureShape.new(name: 'RoutingRule')
517
541
  RoutingRules = Shapes::ListShape.new(name: 'RoutingRules')
@@ -522,10 +546,10 @@ module Aws::S3
522
546
  SSECustomerAlgorithm = Shapes::StringShape.new(name: 'SSECustomerAlgorithm')
523
547
  SSECustomerKey = Shapes::StringShape.new(name: 'SSECustomerKey')
524
548
  SSECustomerKeyMD5 = Shapes::StringShape.new(name: 'SSECustomerKeyMD5')
525
- SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS')
549
+ SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS', locationName: "SSE-KMS")
526
550
  SSEKMSEncryptionContext = Shapes::StringShape.new(name: 'SSEKMSEncryptionContext')
527
551
  SSEKMSKeyId = Shapes::StringShape.new(name: 'SSEKMSKeyId')
528
- SSES3 = Shapes::StructureShape.new(name: 'SSES3')
552
+ SSES3 = Shapes::StructureShape.new(name: 'SSES3', locationName: "SSE-S3")
529
553
  ScanRange = Shapes::StructureShape.new(name: 'ScanRange')
530
554
  SelectObjectContentEventStream = Shapes::StructureShape.new(name: 'SelectObjectContentEventStream')
531
555
  SelectObjectContentOutput = Shapes::StructureShape.new(name: 'SelectObjectContentOutput')
@@ -536,7 +560,12 @@ module Aws::S3
536
560
  ServerSideEncryptionConfiguration = Shapes::StructureShape.new(name: 'ServerSideEncryptionConfiguration')
537
561
  ServerSideEncryptionRule = Shapes::StructureShape.new(name: 'ServerSideEncryptionRule')
538
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')
539
567
  Setting = Shapes::BooleanShape.new(name: 'Setting')
568
+ SimplePrefix = Shapes::StructureShape.new(name: 'SimplePrefix', locationName: "SimplePrefix")
540
569
  Size = Shapes::IntegerShape.new(name: 'Size')
541
570
  SkipValidation = Shapes::BooleanShape.new(name: 'SkipValidation')
542
571
  SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
@@ -560,6 +589,7 @@ module Aws::S3
560
589
  TargetBucket = Shapes::StringShape.new(name: 'TargetBucket')
561
590
  TargetGrant = Shapes::StructureShape.new(name: 'TargetGrant')
562
591
  TargetGrants = Shapes::ListShape.new(name: 'TargetGrants')
592
+ TargetObjectKeyFormat = Shapes::StructureShape.new(name: 'TargetObjectKeyFormat')
563
593
  TargetPrefix = Shapes::StringShape.new(name: 'TargetPrefix')
564
594
  Tier = Shapes::StringShape.new(name: 'Tier')
565
595
  Tiering = Shapes::StructureShape.new(name: 'Tiering')
@@ -596,7 +626,7 @@ module Aws::S3
596
626
  AbortMultipartUploadOutput.struct_class = Types::AbortMultipartUploadOutput
597
627
 
598
628
  AbortMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
599
- AbortMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
629
+ AbortMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
600
630
  AbortMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
601
631
  AbortMultipartUploadRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
602
632
  AbortMultipartUploadRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -651,6 +681,10 @@ module Aws::S3
651
681
 
652
682
  BucketAlreadyOwnedByYou.struct_class = Types::BucketAlreadyOwnedByYou
653
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
+
654
688
  BucketLifecycleConfiguration.add_member(:rules, Shapes::ShapeRef.new(shape: LifecycleRules, required: true, location_name: "Rule"))
655
689
  BucketLifecycleConfiguration.struct_class = Types::BucketLifecycleConfiguration
656
690
 
@@ -725,7 +759,7 @@ module Aws::S3
725
759
  CompleteMultipartUploadOutput.struct_class = Types::CompleteMultipartUploadOutput
726
760
 
727
761
  CompleteMultipartUploadRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
728
- CompleteMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
762
+ CompleteMultipartUploadRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
729
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/"}}))
730
764
  CompleteMultipartUploadRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
731
765
  CompleteMultipartUploadRequest.add_member(:checksum_crc32, Shapes::ShapeRef.new(shape: ChecksumCRC32, location: "header", location_name: "x-amz-checksum-crc32"))
@@ -783,7 +817,7 @@ module Aws::S3
783
817
  CopyObjectRequest.add_member(:content_encoding, Shapes::ShapeRef.new(shape: ContentEncoding, location: "header", location_name: "Content-Encoding"))
784
818
  CopyObjectRequest.add_member(:content_language, Shapes::ShapeRef.new(shape: ContentLanguage, location: "header", location_name: "Content-Language"))
785
819
  CopyObjectRequest.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
786
- 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"}}))
787
821
  CopyObjectRequest.add_member(:copy_source_if_match, Shapes::ShapeRef.new(shape: CopySourceIfMatch, location: "header", location_name: "x-amz-copy-source-if-match"))
788
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"))
789
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"))
@@ -793,7 +827,7 @@ module Aws::S3
793
827
  CopyObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
794
828
  CopyObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
795
829
  CopyObjectRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
796
- 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"}}))
797
831
  CopyObjectRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
798
832
  CopyObjectRequest.add_member(:metadata_directive, Shapes::ShapeRef.new(shape: MetadataDirective, location: "header", location_name: "x-amz-metadata-directive"))
799
833
  CopyObjectRequest.add_member(:tagging_directive, Shapes::ShapeRef.new(shape: TaggingDirective, location: "header", location_name: "x-amz-tagging-directive"))
@@ -835,6 +869,8 @@ module Aws::S3
835
869
  CopyPartResult.struct_class = Types::CopyPartResult
836
870
 
837
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"))
838
874
  CreateBucketConfiguration.struct_class = Types::CreateBucketConfiguration
839
875
 
840
876
  CreateBucketOutput.add_member(:location, Shapes::ShapeRef.new(shape: Location, location: "header", location_name: "Location"))
@@ -881,7 +917,7 @@ module Aws::S3
881
917
  CreateMultipartUploadRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
882
918
  CreateMultipartUploadRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
883
919
  CreateMultipartUploadRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
884
- 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"}}))
885
921
  CreateMultipartUploadRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
886
922
  CreateMultipartUploadRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
887
923
  CreateMultipartUploadRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
@@ -901,6 +937,13 @@ module Aws::S3
901
937
  CreateMultipartUploadRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-checksum-algorithm"))
902
938
  CreateMultipartUploadRequest.struct_class = Types::CreateMultipartUploadRequest
903
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
+
904
947
  DefaultRetention.add_member(:mode, Shapes::ShapeRef.new(shape: ObjectLockRetentionMode, location_name: "Mode"))
905
948
  DefaultRetention.add_member(:days, Shapes::ShapeRef.new(shape: Days, location_name: "Days"))
906
949
  DefaultRetention.add_member(:years, Shapes::ShapeRef.new(shape: Years, location_name: "Years"))
@@ -983,7 +1026,7 @@ module Aws::S3
983
1026
  DeleteObjectOutput.struct_class = Types::DeleteObjectOutput
984
1027
 
985
1028
  DeleteObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
986
- DeleteObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1029
+ DeleteObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
987
1030
  DeleteObjectRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
988
1031
  DeleteObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
989
1032
  DeleteObjectRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
@@ -1074,10 +1117,12 @@ module Aws::S3
1074
1117
  FilterRuleList.member = Shapes::ShapeRef.new(shape: FilterRule)
1075
1118
 
1076
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"))
1077
1121
  GetBucketAccelerateConfigurationOutput.struct_class = Types::GetBucketAccelerateConfigurationOutput
1078
1122
 
1079
1123
  GetBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1080
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"))
1081
1126
  GetBucketAccelerateConfigurationRequest.struct_class = Types::GetBucketAccelerateConfigurationRequest
1082
1127
 
1083
1128
  GetBucketAclOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
@@ -1249,7 +1294,7 @@ module Aws::S3
1249
1294
  GetObjectAclOutput.struct_class = Types::GetObjectAclOutput
1250
1295
 
1251
1296
  GetObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1252
- GetObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1297
+ GetObjectAclRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
1253
1298
  GetObjectAclRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1254
1299
  GetObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1255
1300
  GetObjectAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -1354,7 +1399,7 @@ module Aws::S3
1354
1399
  GetObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1355
1400
  GetObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
1356
1401
  GetObjectRequest.add_member(:if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
1357
- 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"}}))
1358
1403
  GetObjectRequest.add_member(:range, Shapes::ShapeRef.new(shape: Range, location: "header", location_name: "Range"))
1359
1404
  GetObjectRequest.add_member(:response_cache_control, Shapes::ShapeRef.new(shape: ResponseCacheControl, location: "querystring", location_name: "response-cache-control"))
1360
1405
  GetObjectRequest.add_member(:response_content_disposition, Shapes::ShapeRef.new(shape: ResponseContentDisposition, location: "querystring", location_name: "response-content-disposition"))
@@ -1432,6 +1477,12 @@ module Aws::S3
1432
1477
 
1433
1478
  Grants.member = Shapes::ShapeRef.new(shape: Grant, location_name: "Grant")
1434
1479
 
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
+
1435
1486
  HeadBucketRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1436
1487
  HeadBucketRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1437
1488
  HeadBucketRequest.struct_class = Types::HeadBucketRequest
@@ -1478,8 +1529,14 @@ module Aws::S3
1478
1529
  HeadObjectRequest.add_member(:if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
1479
1530
  HeadObjectRequest.add_member(:if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
1480
1531
  HeadObjectRequest.add_member(:if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
1481
- 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"}}))
1482
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"))
1483
1540
  HeadObjectRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1484
1541
  HeadObjectRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1485
1542
  HeadObjectRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
@@ -1652,6 +1709,14 @@ module Aws::S3
1652
1709
  ListBucketsOutput.add_member(:owner, Shapes::ShapeRef.new(shape: Owner, location_name: "Owner"))
1653
1710
  ListBucketsOutput.struct_class = Types::ListBucketsOutput
1654
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
+
1655
1720
  ListMultipartUploadsOutput.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, location_name: "Bucket"))
1656
1721
  ListMultipartUploadsOutput.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location_name: "KeyMarker"))
1657
1722
  ListMultipartUploadsOutput.add_member(:upload_id_marker, Shapes::ShapeRef.new(shape: UploadIdMarker, location_name: "UploadIdMarker"))
@@ -1664,6 +1729,7 @@ module Aws::S3
1664
1729
  ListMultipartUploadsOutput.add_member(:uploads, Shapes::ShapeRef.new(shape: MultipartUploadList, location_name: "Upload"))
1665
1730
  ListMultipartUploadsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1666
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"))
1667
1733
  ListMultipartUploadsOutput.struct_class = Types::ListMultipartUploadsOutput
1668
1734
 
1669
1735
  ListMultipartUploadsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
@@ -1671,9 +1737,10 @@ module Aws::S3
1671
1737
  ListMultipartUploadsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1672
1738
  ListMultipartUploadsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
1673
1739
  ListMultipartUploadsRequest.add_member(:max_uploads, Shapes::ShapeRef.new(shape: MaxUploads, location: "querystring", location_name: "max-uploads"))
1674
- 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"}}))
1675
1741
  ListMultipartUploadsRequest.add_member(:upload_id_marker, Shapes::ShapeRef.new(shape: UploadIdMarker, location: "querystring", location_name: "upload-id-marker"))
1676
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"))
1677
1744
  ListMultipartUploadsRequest.struct_class = Types::ListMultipartUploadsRequest
1678
1745
 
1679
1746
  ListObjectVersionsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1689,6 +1756,7 @@ module Aws::S3
1689
1756
  ListObjectVersionsOutput.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location_name: "MaxKeys"))
1690
1757
  ListObjectVersionsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1691
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"))
1692
1760
  ListObjectVersionsOutput.struct_class = Types::ListObjectVersionsOutput
1693
1761
 
1694
1762
  ListObjectVersionsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
@@ -1696,9 +1764,11 @@ module Aws::S3
1696
1764
  ListObjectVersionsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1697
1765
  ListObjectVersionsRequest.add_member(:key_marker, Shapes::ShapeRef.new(shape: KeyMarker, location: "querystring", location_name: "key-marker"))
1698
1766
  ListObjectVersionsRequest.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1699
- 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"}}))
1700
1768
  ListObjectVersionsRequest.add_member(:version_id_marker, Shapes::ShapeRef.new(shape: VersionIdMarker, location: "querystring", location_name: "version-id-marker"))
1701
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"))
1702
1772
  ListObjectVersionsRequest.struct_class = Types::ListObjectVersionsRequest
1703
1773
 
1704
1774
  ListObjectsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1711,6 +1781,7 @@ module Aws::S3
1711
1781
  ListObjectsOutput.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location_name: "MaxKeys"))
1712
1782
  ListObjectsOutput.add_member(:common_prefixes, Shapes::ShapeRef.new(shape: CommonPrefixList, location_name: "CommonPrefixes"))
1713
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"))
1714
1785
  ListObjectsOutput.struct_class = Types::ListObjectsOutput
1715
1786
 
1716
1787
  ListObjectsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
@@ -1718,9 +1789,10 @@ module Aws::S3
1718
1789
  ListObjectsRequest.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1719
1790
  ListObjectsRequest.add_member(:marker, Shapes::ShapeRef.new(shape: Marker, location: "querystring", location_name: "marker"))
1720
1791
  ListObjectsRequest.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1721
- 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"}}))
1722
1793
  ListObjectsRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1723
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"))
1724
1796
  ListObjectsRequest.struct_class = Types::ListObjectsRequest
1725
1797
 
1726
1798
  ListObjectsV2Output.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1735,18 +1807,20 @@ module Aws::S3
1735
1807
  ListObjectsV2Output.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location_name: "ContinuationToken"))
1736
1808
  ListObjectsV2Output.add_member(:next_continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextContinuationToken"))
1737
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"))
1738
1811
  ListObjectsV2Output.struct_class = Types::ListObjectsV2Output
1739
1812
 
1740
1813
  ListObjectsV2Request.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1741
1814
  ListObjectsV2Request.add_member(:delimiter, Shapes::ShapeRef.new(shape: Delimiter, location: "querystring", location_name: "delimiter"))
1742
1815
  ListObjectsV2Request.add_member(:encoding_type, Shapes::ShapeRef.new(shape: EncodingType, location: "querystring", location_name: "encoding-type"))
1743
1816
  ListObjectsV2Request.add_member(:max_keys, Shapes::ShapeRef.new(shape: MaxKeys, location: "querystring", location_name: "max-keys"))
1744
- 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"}}))
1745
1818
  ListObjectsV2Request.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1746
1819
  ListObjectsV2Request.add_member(:fetch_owner, Shapes::ShapeRef.new(shape: FetchOwner, location: "querystring", location_name: "fetch-owner"))
1747
1820
  ListObjectsV2Request.add_member(:start_after, Shapes::ShapeRef.new(shape: StartAfter, location: "querystring", location_name: "start-after"))
1748
1821
  ListObjectsV2Request.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1749
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"))
1750
1824
  ListObjectsV2Request.struct_class = Types::ListObjectsV2Request
1751
1825
 
1752
1826
  ListPartsOutput.add_member(:abort_date, Shapes::ShapeRef.new(shape: AbortDate, location: "header", location_name: "x-amz-abort-date"))
@@ -1767,7 +1841,7 @@ module Aws::S3
1767
1841
  ListPartsOutput.struct_class = Types::ListPartsOutput
1768
1842
 
1769
1843
  ListPartsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam"=>{"name"=>"Bucket"}}))
1770
- ListPartsRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1844
+ ListPartsRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
1771
1845
  ListPartsRequest.add_member(:max_parts, Shapes::ShapeRef.new(shape: MaxParts, location: "querystring", location_name: "max-parts"))
1772
1846
  ListPartsRequest.add_member(:part_number_marker, Shapes::ShapeRef.new(shape: PartNumberMarker, location: "querystring", location_name: "part-number-marker"))
1773
1847
  ListPartsRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
@@ -1778,9 +1852,14 @@ module Aws::S3
1778
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"))
1779
1853
  ListPartsRequest.struct_class = Types::ListPartsRequest
1780
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
+
1781
1859
  LoggingEnabled.add_member(:target_bucket, Shapes::ShapeRef.new(shape: TargetBucket, required: true, location_name: "TargetBucket"))
1782
1860
  LoggingEnabled.add_member(:target_grants, Shapes::ShapeRef.new(shape: TargetGrants, location_name: "TargetGrants"))
1783
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"))
1784
1863
  LoggingEnabled.struct_class = Types::LoggingEnabled
1785
1864
 
1786
1865
  Metadata.key = Shapes::ShapeRef.new(shape: MetadataKey)
@@ -1860,6 +1939,7 @@ module Aws::S3
1860
1939
  Object.add_member(:size, Shapes::ShapeRef.new(shape: Size, location_name: "Size"))
1861
1940
  Object.add_member(:storage_class, Shapes::ShapeRef.new(shape: ObjectStorageClass, location_name: "StorageClass"))
1862
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"))
1863
1943
  Object.struct_class = Types::Object
1864
1944
 
1865
1945
  ObjectAlreadyInActiveTierError.struct_class = Types::ObjectAlreadyInActiveTierError
@@ -1907,10 +1987,13 @@ module Aws::S3
1907
1987
  ObjectVersion.add_member(:is_latest, Shapes::ShapeRef.new(shape: IsLatest, location_name: "IsLatest"))
1908
1988
  ObjectVersion.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1909
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"))
1910
1991
  ObjectVersion.struct_class = Types::ObjectVersion
1911
1992
 
1912
1993
  ObjectVersionList.member = Shapes::ShapeRef.new(shape: ObjectVersion)
1913
1994
 
1995
+ OptionalObjectAttributesList.member = Shapes::ShapeRef.new(shape: OptionalObjectAttributes)
1996
+
1914
1997
  OutputLocation.add_member(:s3, Shapes::ShapeRef.new(shape: S3Location, location_name: "S3"))
1915
1998
  OutputLocation.struct_class = Types::OutputLocation
1916
1999
 
@@ -1942,6 +2025,9 @@ module Aws::S3
1942
2025
  Part.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location_name: "ChecksumSHA256"))
1943
2026
  Part.struct_class = Types::Part
1944
2027
 
2028
+ PartitionedPrefix.add_member(:partition_date_source, Shapes::ShapeRef.new(shape: PartitionDateSource, location_name: "PartitionDateSource"))
2029
+ PartitionedPrefix.struct_class = Types::PartitionedPrefix
2030
+
1945
2031
  Parts.member = Shapes::ShapeRef.new(shape: Part)
1946
2032
 
1947
2033
  PartsList.member = Shapes::ShapeRef.new(shape: ObjectPart)
@@ -2156,7 +2242,7 @@ module Aws::S3
2156
2242
  PutObjectAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
2157
2243
  PutObjectAclRequest.add_member(:grant_write, Shapes::ShapeRef.new(shape: GrantWrite, location: "header", location_name: "x-amz-grant-write"))
2158
2244
  PutObjectAclRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
2159
- 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"}}))
2160
2246
  PutObjectAclRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
2161
2247
  PutObjectAclRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
2162
2248
  PutObjectAclRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -2229,7 +2315,7 @@ module Aws::S3
2229
2315
  PutObjectRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
2230
2316
  PutObjectRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
2231
2317
  PutObjectRequest.add_member(:grant_write_acp, Shapes::ShapeRef.new(shape: GrantWriteACP, location: "header", location_name: "x-amz-grant-write-acp"))
2232
- 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"}}))
2233
2319
  PutObjectRequest.add_member(:metadata, Shapes::ShapeRef.new(shape: Metadata, location: "headers", location_name: "x-amz-meta-"))
2234
2320
  PutObjectRequest.add_member(:server_side_encryption, Shapes::ShapeRef.new(shape: ServerSideEncryption, location: "header", location_name: "x-amz-server-side-encryption"))
2235
2321
  PutObjectRequest.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location: "header", location_name: "x-amz-storage-class"))
@@ -2384,6 +2470,10 @@ module Aws::S3
2384
2470
  RestoreRequest.add_member(:output_location, Shapes::ShapeRef.new(shape: OutputLocation, location_name: "OutputLocation"))
2385
2471
  RestoreRequest.struct_class = Types::RestoreRequest
2386
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
+
2387
2477
  RoutingRule.add_member(:condition, Shapes::ShapeRef.new(shape: Condition, location_name: "Condition"))
2388
2478
  RoutingRule.add_member(:redirect, Shapes::ShapeRef.new(shape: Redirect, required: true, location_name: "Redirect"))
2389
2479
  RoutingRule.struct_class = Types::RoutingRule
@@ -2469,6 +2559,14 @@ module Aws::S3
2469
2559
 
2470
2560
  ServerSideEncryptionRules.member = Shapes::ShapeRef.new(shape: ServerSideEncryptionRule)
2471
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
+
2472
2570
  SourceSelectionCriteria.add_member(:sse_kms_encrypted_objects, Shapes::ShapeRef.new(shape: SseKmsEncryptedObjects, location_name: "SseKmsEncryptedObjects"))
2473
2571
  SourceSelectionCriteria.add_member(:replica_modifications, Shapes::ShapeRef.new(shape: ReplicaModifications, location_name: "ReplicaModifications"))
2474
2572
  SourceSelectionCriteria.struct_class = Types::SourceSelectionCriteria
@@ -2506,6 +2604,10 @@ module Aws::S3
2506
2604
 
2507
2605
  TargetGrants.member = Shapes::ShapeRef.new(shape: TargetGrant, location_name: "Grant")
2508
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
+
2509
2611
  Tiering.add_member(:days, Shapes::ShapeRef.new(shape: IntelligentTieringDays, required: true, location_name: "Days"))
2510
2612
  Tiering.add_member(:access_tier, Shapes::ShapeRef.new(shape: IntelligentTieringAccessTier, required: true, location_name: "AccessTier"))
2511
2613
  Tiering.struct_class = Types::Tiering
@@ -2588,7 +2690,7 @@ module Aws::S3
2588
2690
  UploadPartRequest.add_member(:checksum_crc32c, Shapes::ShapeRef.new(shape: ChecksumCRC32C, location: "header", location_name: "x-amz-checksum-crc32c"))
2589
2691
  UploadPartRequest.add_member(:checksum_sha1, Shapes::ShapeRef.new(shape: ChecksumSHA1, location: "header", location_name: "x-amz-checksum-sha1"))
2590
2692
  UploadPartRequest.add_member(:checksum_sha256, Shapes::ShapeRef.new(shape: ChecksumSHA256, location: "header", location_name: "x-amz-checksum-sha256"))
2591
- UploadPartRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
2693
+ UploadPartRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam"=>{"name"=>"Key"}}))
2592
2694
  UploadPartRequest.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, required: true, location: "querystring", location_name: "partNumber"))
2593
2695
  UploadPartRequest.add_member(:upload_id, Shapes::ShapeRef.new(shape: MultipartUploadId, required: true, location: "querystring", location_name: "uploadId"))
2594
2696
  UploadPartRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
@@ -2664,10 +2766,12 @@ module Aws::S3
2664
2766
 
2665
2767
  api.metadata = {
2666
2768
  "apiVersion" => "2006-03-01",
2769
+ "auth" => ["aws.auth#sigv4"],
2667
2770
  "checksumFormat" => "md5",
2668
2771
  "endpointPrefix" => "s3",
2669
2772
  "globalEndpoint" => "s3.amazonaws.com",
2670
2773
  "protocol" => "rest-xml",
2774
+ "protocols" => ["rest-xml"],
2671
2775
  "serviceAbbreviation" => "Amazon S3",
2672
2776
  "serviceFullName" => "Amazon Simple Storage Service",
2673
2777
  "serviceId" => "S3",
@@ -2718,6 +2822,15 @@ module Aws::S3
2718
2822
  o.output = Shapes::ShapeRef.new(shape: CreateMultipartUploadOutput)
2719
2823
  end)
2720
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
+
2721
2834
  api.add_operation(:delete_bucket, Seahorse::Model::Operation.new.tap do |o|
2722
2835
  o.name = "DeleteBucket"
2723
2836
  o.http_method = "DELETE"
@@ -3129,7 +3242,7 @@ module Aws::S3
3129
3242
  o.http_method = "HEAD"
3130
3243
  o.http_request_uri = "/"
3131
3244
  o.input = Shapes::ShapeRef.new(shape: HeadBucketRequest)
3132
- o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3245
+ o.output = Shapes::ShapeRef.new(shape: HeadBucketOutput)
3133
3246
  o.errors << Shapes::ShapeRef.new(shape: NoSuchBucket)
3134
3247
  end)
3135
3248
 
@@ -3182,6 +3295,20 @@ module Aws::S3
3182
3295
  o.output = Shapes::ShapeRef.new(shape: ListBucketsOutput)
3183
3296
  end)
3184
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
+
3185
3312
  api.add_operation(:list_multipart_uploads, Seahorse::Model::Operation.new.tap do |o|
3186
3313
  o.name = "ListMultipartUploads"
3187
3314
  o.http_method = "GET"
@@ -3709,6 +3836,7 @@ module Aws::S3
3709
3836
  o.http_method = "POST"
3710
3837
  o.http_request_uri = "/WriteGetObjectResponse"
3711
3838
  o['authtype'] = "v4-unsigned-body"
3839
+ o['unsignedPayload'] = true
3712
3840
  o.endpoint_pattern = {
3713
3841
  "hostPrefix" => "{RequestRoute}.",
3714
3842
  }
@@ -134,7 +134,9 @@ module Aws
134
134
 
135
135
  # @api private
136
136
  def load
137
- @data = client.list_buckets.buckets.find { |b| b.name == name }
137
+ @data = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
138
+ client.list_buckets.buckets.find { |b| b.name == name }
139
+ end
138
140
  raise "unable to load bucket #{name}" if @data.nil?
139
141
 
140
142
  self