aws-sdk-s3 1.122.0 → 1.157.0

Sign up to get free protection for your applications and to get access to all the features.
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