aws-sdk-s3 1.65.0 → 1.69.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 (90) hide show
  1. checksums.yaml +4 -4
  2. data/lib/aws-sdk-s3.rb +3 -1
  3. data/lib/aws-sdk-s3/bucket.rb +5 -3
  4. data/lib/aws-sdk-s3/bucket_acl.rb +2 -0
  5. data/lib/aws-sdk-s3/bucket_cors.rb +3 -1
  6. data/lib/aws-sdk-s3/bucket_lifecycle.rb +2 -0
  7. data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +2 -0
  8. data/lib/aws-sdk-s3/bucket_logging.rb +2 -0
  9. data/lib/aws-sdk-s3/bucket_notification.rb +2 -0
  10. data/lib/aws-sdk-s3/bucket_policy.rb +2 -0
  11. data/lib/aws-sdk-s3/bucket_region_cache.rb +2 -0
  12. data/lib/aws-sdk-s3/bucket_request_payment.rb +2 -0
  13. data/lib/aws-sdk-s3/bucket_tagging.rb +2 -0
  14. data/lib/aws-sdk-s3/bucket_versioning.rb +2 -0
  15. data/lib/aws-sdk-s3/bucket_website.rb +6 -2
  16. data/lib/aws-sdk-s3/client.rb +530 -649
  17. data/lib/aws-sdk-s3/client_api.rb +40 -18
  18. data/lib/aws-sdk-s3/customizations.rb +3 -0
  19. data/lib/aws-sdk-s3/customizations/bucket.rb +4 -0
  20. data/lib/aws-sdk-s3/customizations/multipart_upload.rb +2 -0
  21. data/lib/aws-sdk-s3/customizations/object.rb +5 -0
  22. data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
  23. data/lib/aws-sdk-s3/customizations/types/list_object_versions_output.rb +2 -0
  24. data/lib/aws-sdk-s3/encryption.rb +2 -0
  25. data/lib/aws-sdk-s3/encryption/client.rb +3 -1
  26. data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +11 -0
  27. data/lib/aws-sdk-s3/encryption/default_cipher_provider.rb +2 -0
  28. data/lib/aws-sdk-s3/encryption/default_key_provider.rb +2 -0
  29. data/lib/aws-sdk-s3/encryption/encrypt_handler.rb +11 -0
  30. data/lib/aws-sdk-s3/encryption/errors.rb +2 -0
  31. data/lib/aws-sdk-s3/encryption/io_auth_decrypter.rb +2 -0
  32. data/lib/aws-sdk-s3/encryption/io_decrypter.rb +8 -1
  33. data/lib/aws-sdk-s3/encryption/io_encrypter.rb +2 -0
  34. data/lib/aws-sdk-s3/encryption/key_provider.rb +2 -0
  35. data/lib/aws-sdk-s3/encryption/kms_cipher_provider.rb +2 -0
  36. data/lib/aws-sdk-s3/encryption/materials.rb +2 -0
  37. data/lib/aws-sdk-s3/encryption/utils.rb +2 -0
  38. data/lib/aws-sdk-s3/encryptionV2/client.rb +378 -0
  39. data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +194 -0
  40. data/lib/aws-sdk-s3/encryptionV2/default_cipher_provider.rb +104 -0
  41. data/lib/aws-sdk-s3/encryptionV2/default_key_provider.rb +38 -0
  42. data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +63 -0
  43. data/lib/aws-sdk-s3/encryptionV2/errors.rb +13 -0
  44. data/lib/aws-sdk-s3/encryptionV2/io_auth_decrypter.rb +56 -0
  45. data/lib/aws-sdk-s3/encryptionV2/io_decrypter.rb +30 -0
  46. data/lib/aws-sdk-s3/encryptionV2/io_encrypter.rb +67 -0
  47. data/lib/aws-sdk-s3/encryptionV2/key_provider.rb +29 -0
  48. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +84 -0
  49. data/lib/aws-sdk-s3/encryptionV2/materials.rb +58 -0
  50. data/lib/aws-sdk-s3/encryptionV2/utils.rb +116 -0
  51. data/lib/aws-sdk-s3/encryption_v2.rb +20 -0
  52. data/lib/aws-sdk-s3/errors.rb +2 -0
  53. data/lib/aws-sdk-s3/event_streams.rb +7 -0
  54. data/lib/aws-sdk-s3/file_downloader.rb +2 -0
  55. data/lib/aws-sdk-s3/file_part.rb +2 -0
  56. data/lib/aws-sdk-s3/file_uploader.rb +2 -0
  57. data/lib/aws-sdk-s3/legacy_signer.rb +2 -0
  58. data/lib/aws-sdk-s3/multipart_file_uploader.rb +2 -0
  59. data/lib/aws-sdk-s3/multipart_stream_uploader.rb +2 -0
  60. data/lib/aws-sdk-s3/multipart_upload.rb +3 -1
  61. data/lib/aws-sdk-s3/multipart_upload_error.rb +2 -0
  62. data/lib/aws-sdk-s3/multipart_upload_part.rb +2 -0
  63. data/lib/aws-sdk-s3/object.rb +16 -4
  64. data/lib/aws-sdk-s3/object_acl.rb +2 -0
  65. data/lib/aws-sdk-s3/object_copier.rb +2 -0
  66. data/lib/aws-sdk-s3/object_multipart_copier.rb +2 -0
  67. data/lib/aws-sdk-s3/object_summary.rb +14 -3
  68. data/lib/aws-sdk-s3/object_version.rb +17 -1
  69. data/lib/aws-sdk-s3/plugins/accelerate.rb +2 -0
  70. data/lib/aws-sdk-s3/plugins/bucket_arn.rb +2 -0
  71. data/lib/aws-sdk-s3/plugins/bucket_dns.rb +2 -0
  72. data/lib/aws-sdk-s3/plugins/bucket_name_restrictions.rb +2 -0
  73. data/lib/aws-sdk-s3/plugins/dualstack.rb +2 -0
  74. data/lib/aws-sdk-s3/plugins/expect_100_continue.rb +3 -4
  75. data/lib/aws-sdk-s3/plugins/get_bucket_location_fix.rb +2 -0
  76. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +3 -1
  77. data/lib/aws-sdk-s3/plugins/iad_regional_endpoint.rb +2 -0
  78. data/lib/aws-sdk-s3/plugins/location_constraint.rb +2 -0
  79. data/lib/aws-sdk-s3/plugins/md5s.rb +23 -24
  80. data/lib/aws-sdk-s3/plugins/redirects.rb +2 -0
  81. data/lib/aws-sdk-s3/plugins/s3_host_id.rb +2 -0
  82. data/lib/aws-sdk-s3/plugins/s3_signer.rb +2 -0
  83. data/lib/aws-sdk-s3/plugins/sse_cpk.rb +2 -0
  84. data/lib/aws-sdk-s3/plugins/url_encoded_keys.rb +2 -0
  85. data/lib/aws-sdk-s3/presigned_post.rb +2 -0
  86. data/lib/aws-sdk-s3/presigner.rb +2 -0
  87. data/lib/aws-sdk-s3/resource.rb +3 -1
  88. data/lib/aws-sdk-s3/types.rb +140 -37
  89. data/lib/aws-sdk-s3/waiters.rb +2 -0
  90. metadata +18 -4
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -1669,7 +1671,7 @@ module Aws::S3
1669
1671
  PutBucketAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: BucketCannedACL, location: "header", location_name: "x-amz-acl"))
1670
1672
  PutBucketAclRequest.add_member(:access_control_policy, Shapes::ShapeRef.new(shape: AccessControlPolicy, location_name: "AccessControlPolicy", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1671
1673
  PutBucketAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1672
- PutBucketAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1674
+ PutBucketAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1673
1675
  PutBucketAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
1674
1676
  PutBucketAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
1675
1677
  PutBucketAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
@@ -1688,13 +1690,13 @@ module Aws::S3
1688
1690
 
1689
1691
  PutBucketCorsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1690
1692
  PutBucketCorsRequest.add_member(:cors_configuration, Shapes::ShapeRef.new(shape: CORSConfiguration, required: true, location_name: "CORSConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1691
- PutBucketCorsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1693
+ PutBucketCorsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1692
1694
  PutBucketCorsRequest.struct_class = Types::PutBucketCorsRequest
1693
1695
  PutBucketCorsRequest[:payload] = :cors_configuration
1694
1696
  PutBucketCorsRequest[:payload_member] = PutBucketCorsRequest.member(:cors_configuration)
1695
1697
 
1696
1698
  PutBucketEncryptionRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1697
- PutBucketEncryptionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1699
+ PutBucketEncryptionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1698
1700
  PutBucketEncryptionRequest.add_member(:server_side_encryption_configuration, Shapes::ShapeRef.new(shape: ServerSideEncryptionConfiguration, required: true, location_name: "ServerSideEncryptionConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1699
1701
  PutBucketEncryptionRequest.struct_class = Types::PutBucketEncryptionRequest
1700
1702
  PutBucketEncryptionRequest[:payload] = :server_side_encryption_configuration
@@ -1714,7 +1716,7 @@ module Aws::S3
1714
1716
  PutBucketLifecycleConfigurationRequest[:payload_member] = PutBucketLifecycleConfigurationRequest.member(:lifecycle_configuration)
1715
1717
 
1716
1718
  PutBucketLifecycleRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1717
- PutBucketLifecycleRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1719
+ PutBucketLifecycleRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1718
1720
  PutBucketLifecycleRequest.add_member(:lifecycle_configuration, Shapes::ShapeRef.new(shape: LifecycleConfiguration, location_name: "LifecycleConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1719
1721
  PutBucketLifecycleRequest.struct_class = Types::PutBucketLifecycleRequest
1720
1722
  PutBucketLifecycleRequest[:payload] = :lifecycle_configuration
@@ -1722,7 +1724,7 @@ module Aws::S3
1722
1724
 
1723
1725
  PutBucketLoggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1724
1726
  PutBucketLoggingRequest.add_member(:bucket_logging_status, Shapes::ShapeRef.new(shape: BucketLoggingStatus, required: true, location_name: "BucketLoggingStatus", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1725
- PutBucketLoggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1727
+ PutBucketLoggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1726
1728
  PutBucketLoggingRequest.struct_class = Types::PutBucketLoggingRequest
1727
1729
  PutBucketLoggingRequest[:payload] = :bucket_logging_status
1728
1730
  PutBucketLoggingRequest[:payload_member] = PutBucketLoggingRequest.member(:bucket_logging_status)
@@ -1741,14 +1743,14 @@ module Aws::S3
1741
1743
  PutBucketNotificationConfigurationRequest[:payload_member] = PutBucketNotificationConfigurationRequest.member(:notification_configuration)
1742
1744
 
1743
1745
  PutBucketNotificationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1744
- PutBucketNotificationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1746
+ PutBucketNotificationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1745
1747
  PutBucketNotificationRequest.add_member(:notification_configuration, Shapes::ShapeRef.new(shape: NotificationConfigurationDeprecated, required: true, location_name: "NotificationConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1746
1748
  PutBucketNotificationRequest.struct_class = Types::PutBucketNotificationRequest
1747
1749
  PutBucketNotificationRequest[:payload] = :notification_configuration
1748
1750
  PutBucketNotificationRequest[:payload_member] = PutBucketNotificationRequest.member(:notification_configuration)
1749
1751
 
1750
1752
  PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1751
- PutBucketPolicyRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1753
+ PutBucketPolicyRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1752
1754
  PutBucketPolicyRequest.add_member(:confirm_remove_self_bucket_access, Shapes::ShapeRef.new(shape: ConfirmRemoveSelfBucketAccess, location: "header", location_name: "x-amz-confirm-remove-self-bucket-access"))
1753
1755
  PutBucketPolicyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, required: true, location_name: "Policy"))
1754
1756
  PutBucketPolicyRequest.struct_class = Types::PutBucketPolicyRequest
@@ -1756,7 +1758,7 @@ module Aws::S3
1756
1758
  PutBucketPolicyRequest[:payload_member] = PutBucketPolicyRequest.member(:policy)
1757
1759
 
1758
1760
  PutBucketReplicationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1759
- PutBucketReplicationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1761
+ PutBucketReplicationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1760
1762
  PutBucketReplicationRequest.add_member(:replication_configuration, Shapes::ShapeRef.new(shape: ReplicationConfiguration, required: true, location_name: "ReplicationConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1761
1763
  PutBucketReplicationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
1762
1764
  PutBucketReplicationRequest.struct_class = Types::PutBucketReplicationRequest
@@ -1764,21 +1766,21 @@ module Aws::S3
1764
1766
  PutBucketReplicationRequest[:payload_member] = PutBucketReplicationRequest.member(:replication_configuration)
1765
1767
 
1766
1768
  PutBucketRequestPaymentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1767
- PutBucketRequestPaymentRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1769
+ PutBucketRequestPaymentRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1768
1770
  PutBucketRequestPaymentRequest.add_member(:request_payment_configuration, Shapes::ShapeRef.new(shape: RequestPaymentConfiguration, required: true, location_name: "RequestPaymentConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1769
1771
  PutBucketRequestPaymentRequest.struct_class = Types::PutBucketRequestPaymentRequest
1770
1772
  PutBucketRequestPaymentRequest[:payload] = :request_payment_configuration
1771
1773
  PutBucketRequestPaymentRequest[:payload_member] = PutBucketRequestPaymentRequest.member(:request_payment_configuration)
1772
1774
 
1773
1775
  PutBucketTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1774
- PutBucketTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1776
+ PutBucketTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1775
1777
  PutBucketTaggingRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: Tagging, required: true, location_name: "Tagging", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1776
1778
  PutBucketTaggingRequest.struct_class = Types::PutBucketTaggingRequest
1777
1779
  PutBucketTaggingRequest[:payload] = :tagging
1778
1780
  PutBucketTaggingRequest[:payload_member] = PutBucketTaggingRequest.member(:tagging)
1779
1781
 
1780
1782
  PutBucketVersioningRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1781
- PutBucketVersioningRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1783
+ PutBucketVersioningRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1782
1784
  PutBucketVersioningRequest.add_member(:mfa, Shapes::ShapeRef.new(shape: MFA, location: "header", location_name: "x-amz-mfa"))
1783
1785
  PutBucketVersioningRequest.add_member(:versioning_configuration, Shapes::ShapeRef.new(shape: VersioningConfiguration, required: true, location_name: "VersioningConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1784
1786
  PutBucketVersioningRequest.struct_class = Types::PutBucketVersioningRequest
@@ -1786,7 +1788,7 @@ module Aws::S3
1786
1788
  PutBucketVersioningRequest[:payload_member] = PutBucketVersioningRequest.member(:versioning_configuration)
1787
1789
 
1788
1790
  PutBucketWebsiteRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1789
- PutBucketWebsiteRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1791
+ PutBucketWebsiteRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1790
1792
  PutBucketWebsiteRequest.add_member(:website_configuration, Shapes::ShapeRef.new(shape: WebsiteConfiguration, required: true, location_name: "WebsiteConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1791
1793
  PutBucketWebsiteRequest.struct_class = Types::PutBucketWebsiteRequest
1792
1794
  PutBucketWebsiteRequest[:payload] = :website_configuration
@@ -1798,7 +1800,7 @@ module Aws::S3
1798
1800
  PutObjectAclRequest.add_member(:acl, Shapes::ShapeRef.new(shape: ObjectCannedACL, location: "header", location_name: "x-amz-acl"))
1799
1801
  PutObjectAclRequest.add_member(:access_control_policy, Shapes::ShapeRef.new(shape: AccessControlPolicy, location_name: "AccessControlPolicy", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1800
1802
  PutObjectAclRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1801
- PutObjectAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1803
+ PutObjectAclRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1802
1804
  PutObjectAclRequest.add_member(:grant_full_control, Shapes::ShapeRef.new(shape: GrantFullControl, location: "header", location_name: "x-amz-grant-full-control"))
1803
1805
  PutObjectAclRequest.add_member(:grant_read, Shapes::ShapeRef.new(shape: GrantRead, location: "header", location_name: "x-amz-grant-read"))
1804
1806
  PutObjectAclRequest.add_member(:grant_read_acp, Shapes::ShapeRef.new(shape: GrantReadACP, location: "header", location_name: "x-amz-grant-read-acp"))
@@ -1819,7 +1821,7 @@ module Aws::S3
1819
1821
  PutObjectLegalHoldRequest.add_member(:legal_hold, Shapes::ShapeRef.new(shape: ObjectLockLegalHold, location_name: "LegalHold", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1820
1822
  PutObjectLegalHoldRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1821
1823
  PutObjectLegalHoldRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1822
- PutObjectLegalHoldRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1824
+ PutObjectLegalHoldRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1823
1825
  PutObjectLegalHoldRequest.struct_class = Types::PutObjectLegalHoldRequest
1824
1826
  PutObjectLegalHoldRequest[:payload] = :legal_hold
1825
1827
  PutObjectLegalHoldRequest[:payload_member] = PutObjectLegalHoldRequest.member(:legal_hold)
@@ -1831,7 +1833,7 @@ module Aws::S3
1831
1833
  PutObjectLockConfigurationRequest.add_member(:object_lock_configuration, Shapes::ShapeRef.new(shape: ObjectLockConfiguration, location_name: "ObjectLockConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1832
1834
  PutObjectLockConfigurationRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1833
1835
  PutObjectLockConfigurationRequest.add_member(:token, Shapes::ShapeRef.new(shape: ObjectLockToken, location: "header", location_name: "x-amz-bucket-object-lock-token"))
1834
- PutObjectLockConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1836
+ PutObjectLockConfigurationRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1835
1837
  PutObjectLockConfigurationRequest.struct_class = Types::PutObjectLockConfigurationRequest
1836
1838
  PutObjectLockConfigurationRequest[:payload] = :object_lock_configuration
1837
1839
  PutObjectLockConfigurationRequest[:payload_member] = PutObjectLockConfigurationRequest.member(:object_lock_configuration)
@@ -1890,7 +1892,7 @@ module Aws::S3
1890
1892
  PutObjectRetentionRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1891
1893
  PutObjectRetentionRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1892
1894
  PutObjectRetentionRequest.add_member(:bypass_governance_retention, Shapes::ShapeRef.new(shape: BypassGovernanceRetention, location: "header", location_name: "x-amz-bypass-governance-retention"))
1893
- PutObjectRetentionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1895
+ PutObjectRetentionRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1894
1896
  PutObjectRetentionRequest.struct_class = Types::PutObjectRetentionRequest
1895
1897
  PutObjectRetentionRequest[:payload] = :retention
1896
1898
  PutObjectRetentionRequest[:payload_member] = PutObjectRetentionRequest.member(:retention)
@@ -1901,14 +1903,14 @@ module Aws::S3
1901
1903
  PutObjectTaggingRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1902
1904
  PutObjectTaggingRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1903
1905
  PutObjectTaggingRequest.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location: "querystring", location_name: "versionId"))
1904
- PutObjectTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1906
+ PutObjectTaggingRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1905
1907
  PutObjectTaggingRequest.add_member(:tagging, Shapes::ShapeRef.new(shape: Tagging, required: true, location_name: "Tagging", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1906
1908
  PutObjectTaggingRequest.struct_class = Types::PutObjectTaggingRequest
1907
1909
  PutObjectTaggingRequest[:payload] = :tagging
1908
1910
  PutObjectTaggingRequest[:payload_member] = PutObjectTaggingRequest.member(:tagging)
1909
1911
 
1910
1912
  PutPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1911
- PutPublicAccessBlockRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1913
+ PutPublicAccessBlockRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1912
1914
  PutPublicAccessBlockRequest.add_member(:public_access_block_configuration, Shapes::ShapeRef.new(shape: PublicAccessBlockConfiguration, required: true, location_name: "PublicAccessBlockConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1913
1915
  PutPublicAccessBlockRequest.struct_class = Types::PutPublicAccessBlockRequest
1914
1916
  PutPublicAccessBlockRequest[:payload] = :public_access_block_configuration
@@ -2378,6 +2380,7 @@ module Aws::S3
2378
2380
  o.name = "DeleteObjects"
2379
2381
  o.http_method = "POST"
2380
2382
  o.http_request_uri = "/{Bucket}?delete"
2383
+ o.http_checksum_required = true
2381
2384
  o.input = Shapes::ShapeRef.new(shape: DeleteObjectsRequest)
2382
2385
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectsOutput)
2383
2386
  end)
@@ -2758,6 +2761,7 @@ module Aws::S3
2758
2761
  o.name = "PutBucketAcl"
2759
2762
  o.http_method = "PUT"
2760
2763
  o.http_request_uri = "/{Bucket}?acl"
2764
+ o.http_checksum_required = true
2761
2765
  o.input = Shapes::ShapeRef.new(shape: PutBucketAclRequest)
2762
2766
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2763
2767
  end)
@@ -2774,6 +2778,7 @@ module Aws::S3
2774
2778
  o.name = "PutBucketCors"
2775
2779
  o.http_method = "PUT"
2776
2780
  o.http_request_uri = "/{Bucket}?cors"
2781
+ o.http_checksum_required = true
2777
2782
  o.input = Shapes::ShapeRef.new(shape: PutBucketCorsRequest)
2778
2783
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2779
2784
  end)
@@ -2782,6 +2787,7 @@ module Aws::S3
2782
2787
  o.name = "PutBucketEncryption"
2783
2788
  o.http_method = "PUT"
2784
2789
  o.http_request_uri = "/{Bucket}?encryption"
2790
+ o.http_checksum_required = true
2785
2791
  o.input = Shapes::ShapeRef.new(shape: PutBucketEncryptionRequest)
2786
2792
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2787
2793
  end)
@@ -2798,6 +2804,7 @@ module Aws::S3
2798
2804
  o.name = "PutBucketLifecycle"
2799
2805
  o.http_method = "PUT"
2800
2806
  o.http_request_uri = "/{Bucket}?lifecycle"
2807
+ o.http_checksum_required = true
2801
2808
  o.deprecated = true
2802
2809
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleRequest)
2803
2810
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -2807,6 +2814,7 @@ module Aws::S3
2807
2814
  o.name = "PutBucketLifecycleConfiguration"
2808
2815
  o.http_method = "PUT"
2809
2816
  o.http_request_uri = "/{Bucket}?lifecycle"
2817
+ o.http_checksum_required = true
2810
2818
  o.input = Shapes::ShapeRef.new(shape: PutBucketLifecycleConfigurationRequest)
2811
2819
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2812
2820
  end)
@@ -2815,6 +2823,7 @@ module Aws::S3
2815
2823
  o.name = "PutBucketLogging"
2816
2824
  o.http_method = "PUT"
2817
2825
  o.http_request_uri = "/{Bucket}?logging"
2826
+ o.http_checksum_required = true
2818
2827
  o.input = Shapes::ShapeRef.new(shape: PutBucketLoggingRequest)
2819
2828
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2820
2829
  end)
@@ -2831,6 +2840,7 @@ module Aws::S3
2831
2840
  o.name = "PutBucketNotification"
2832
2841
  o.http_method = "PUT"
2833
2842
  o.http_request_uri = "/{Bucket}?notification"
2843
+ o.http_checksum_required = true
2834
2844
  o.deprecated = true
2835
2845
  o.input = Shapes::ShapeRef.new(shape: PutBucketNotificationRequest)
2836
2846
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
@@ -2848,6 +2858,7 @@ module Aws::S3
2848
2858
  o.name = "PutBucketPolicy"
2849
2859
  o.http_method = "PUT"
2850
2860
  o.http_request_uri = "/{Bucket}?policy"
2861
+ o.http_checksum_required = true
2851
2862
  o.input = Shapes::ShapeRef.new(shape: PutBucketPolicyRequest)
2852
2863
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2853
2864
  end)
@@ -2856,6 +2867,7 @@ module Aws::S3
2856
2867
  o.name = "PutBucketReplication"
2857
2868
  o.http_method = "PUT"
2858
2869
  o.http_request_uri = "/{Bucket}?replication"
2870
+ o.http_checksum_required = true
2859
2871
  o.input = Shapes::ShapeRef.new(shape: PutBucketReplicationRequest)
2860
2872
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2861
2873
  end)
@@ -2864,6 +2876,7 @@ module Aws::S3
2864
2876
  o.name = "PutBucketRequestPayment"
2865
2877
  o.http_method = "PUT"
2866
2878
  o.http_request_uri = "/{Bucket}?requestPayment"
2879
+ o.http_checksum_required = true
2867
2880
  o.input = Shapes::ShapeRef.new(shape: PutBucketRequestPaymentRequest)
2868
2881
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2869
2882
  end)
@@ -2872,6 +2885,7 @@ module Aws::S3
2872
2885
  o.name = "PutBucketTagging"
2873
2886
  o.http_method = "PUT"
2874
2887
  o.http_request_uri = "/{Bucket}?tagging"
2888
+ o.http_checksum_required = true
2875
2889
  o.input = Shapes::ShapeRef.new(shape: PutBucketTaggingRequest)
2876
2890
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2877
2891
  end)
@@ -2880,6 +2894,7 @@ module Aws::S3
2880
2894
  o.name = "PutBucketVersioning"
2881
2895
  o.http_method = "PUT"
2882
2896
  o.http_request_uri = "/{Bucket}?versioning"
2897
+ o.http_checksum_required = true
2883
2898
  o.input = Shapes::ShapeRef.new(shape: PutBucketVersioningRequest)
2884
2899
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2885
2900
  end)
@@ -2888,6 +2903,7 @@ module Aws::S3
2888
2903
  o.name = "PutBucketWebsite"
2889
2904
  o.http_method = "PUT"
2890
2905
  o.http_request_uri = "/{Bucket}?website"
2906
+ o.http_checksum_required = true
2891
2907
  o.input = Shapes::ShapeRef.new(shape: PutBucketWebsiteRequest)
2892
2908
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2893
2909
  end)
@@ -2904,6 +2920,7 @@ module Aws::S3
2904
2920
  o.name = "PutObjectAcl"
2905
2921
  o.http_method = "PUT"
2906
2922
  o.http_request_uri = "/{Bucket}/{Key+}?acl"
2923
+ o.http_checksum_required = true
2907
2924
  o.input = Shapes::ShapeRef.new(shape: PutObjectAclRequest)
2908
2925
  o.output = Shapes::ShapeRef.new(shape: PutObjectAclOutput)
2909
2926
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
@@ -2913,6 +2930,7 @@ module Aws::S3
2913
2930
  o.name = "PutObjectLegalHold"
2914
2931
  o.http_method = "PUT"
2915
2932
  o.http_request_uri = "/{Bucket}/{Key+}?legal-hold"
2933
+ o.http_checksum_required = true
2916
2934
  o.input = Shapes::ShapeRef.new(shape: PutObjectLegalHoldRequest)
2917
2935
  o.output = Shapes::ShapeRef.new(shape: PutObjectLegalHoldOutput)
2918
2936
  end)
@@ -2921,6 +2939,7 @@ module Aws::S3
2921
2939
  o.name = "PutObjectLockConfiguration"
2922
2940
  o.http_method = "PUT"
2923
2941
  o.http_request_uri = "/{Bucket}?object-lock"
2942
+ o.http_checksum_required = true
2924
2943
  o.input = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationRequest)
2925
2944
  o.output = Shapes::ShapeRef.new(shape: PutObjectLockConfigurationOutput)
2926
2945
  end)
@@ -2929,6 +2948,7 @@ module Aws::S3
2929
2948
  o.name = "PutObjectRetention"
2930
2949
  o.http_method = "PUT"
2931
2950
  o.http_request_uri = "/{Bucket}/{Key+}?retention"
2951
+ o.http_checksum_required = true
2932
2952
  o.input = Shapes::ShapeRef.new(shape: PutObjectRetentionRequest)
2933
2953
  o.output = Shapes::ShapeRef.new(shape: PutObjectRetentionOutput)
2934
2954
  end)
@@ -2937,6 +2957,7 @@ module Aws::S3
2937
2957
  o.name = "PutObjectTagging"
2938
2958
  o.http_method = "PUT"
2939
2959
  o.http_request_uri = "/{Bucket}/{Key+}?tagging"
2960
+ o.http_checksum_required = true
2940
2961
  o.input = Shapes::ShapeRef.new(shape: PutObjectTaggingRequest)
2941
2962
  o.output = Shapes::ShapeRef.new(shape: PutObjectTaggingOutput)
2942
2963
  end)
@@ -2945,6 +2966,7 @@ module Aws::S3
2945
2966
  o.name = "PutPublicAccessBlock"
2946
2967
  o.http_method = "PUT"
2947
2968
  o.http_request_uri = "/{Bucket}?publicAccessBlock"
2969
+ o.http_checksum_required = true
2948
2970
  o.input = Shapes::ShapeRef.new(shape: PutPublicAccessBlockRequest)
2949
2971
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2950
2972
  end)
@@ -1,6 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # utility classes
2
4
  require 'aws-sdk-s3/bucket_region_cache'
3
5
  require 'aws-sdk-s3/encryption'
6
+ require 'aws-sdk-s3/encryption_v2'
4
7
  require 'aws-sdk-s3/file_part'
5
8
  require 'aws-sdk-s3/file_uploader'
6
9
  require 'aws-sdk-s3/file_downloader'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'uri'
2
4
 
3
5
  module Aws
@@ -5,6 +7,8 @@ module Aws
5
7
  class Bucket
6
8
  # Save the old initialize method so that we can call 'super'.
7
9
  old_initialize = instance_method(:initialize)
10
+ # Make the method redefinable
11
+ alias_method :initialize, :initialize
8
12
  # Define a new initialize method that extracts out a bucket ARN.
9
13
  define_method(:initialize) do |*args|
10
14
  old_initialize.bind(self).call(*args)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  class MultipartUpload
@@ -1,8 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  class Object
4
6
  alias size content_length
5
7
 
8
+ # Make the method redefinable
9
+ alias_method :copy_from, :copy_from
10
+
6
11
  # Copies another object to this object. Use `multipart_copy: true`
7
12
  # for large objects. This is required for objects that exceed 5GB.
8
13
  #
@@ -1,9 +1,14 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  class ObjectSummary
4
6
 
5
7
  alias content_length size
6
8
 
9
+ # Make the method redefinable
10
+ alias_method :copy_from, :copy_from
11
+
7
12
  # @param (see Object#copy_from)
8
13
  # @options (see Object#copy_from)
9
14
  # @return (see Object#copy_from)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Aws::S3::Types::ListObjectVersionsOutput
2
4
 
3
5
  # TODO : Remove this customization once the resource code
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'aws-sdk-s3/encryption/client'
2
4
  require 'aws-sdk-s3/encryption/decrypt_handler'
3
5
  require 'aws-sdk-s3/encryption/default_cipher_provider'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'forwardable'
2
4
 
3
5
  module Aws
@@ -181,7 +183,7 @@ module Aws
181
183
 
182
184
  extend Deprecations
183
185
  extend Forwardable
184
- def_delegators :@client, :config, :delete_object, :head_object
186
+ def_delegators :@client, :config, :delete_object, :head_object, :build_request
185
187
 
186
188
  # Creates a new encryption client. You must provide one of the following
187
189
  # options:
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'base64'
2
4
 
3
5
  module Aws
@@ -30,6 +32,7 @@ module Aws
30
32
 
31
33
  def call(context)
32
34
  attach_http_event_listeners(context)
35
+ apply_cse_user_agent(context)
33
36
  @handler.call(context)
34
37
  end
35
38
 
@@ -173,6 +176,14 @@ module Aws
173
176
  context.http_response.headers['x-amz-meta-x-amz-tag-len']
174
177
  end
175
178
 
179
+ def apply_cse_user_agent(context)
180
+ if context.config.user_agent_suffix.nil?
181
+ context.config.user_agent_suffix = 'CSE_V1'
182
+ elsif !context.config.user_agent_suffix.include? 'CSE_V1'
183
+ context.config.user_agent_suffix += ' CSE_V1'
184
+ end
185
+ end
186
+
176
187
  end
177
188
  end
178
189
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'base64'
2
4
 
3
5
  module Aws
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Aws
2
4
  module S3
3
5
  module Encryption
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'base64'
2
4
 
3
5
  module Aws
@@ -10,6 +12,7 @@ module Aws
10
12
  envelope, cipher = context[:encryption][:cipher_provider].encryption_cipher
11
13
  apply_encryption_envelope(context, envelope, cipher)
12
14
  apply_encryption_cipher(context, cipher)
15
+ apply_cse_user_agent(context)
13
16
  @handler.call(context)
14
17
  end
15
18
 
@@ -44,6 +47,14 @@ module Aws
44
47
  end
45
48
  end
46
49
 
50
+ def apply_cse_user_agent(context)
51
+ if context.config.user_agent_suffix.nil?
52
+ context.config.user_agent_suffix = 'CSE_V1'
53
+ elsif !context.config.user_agent_suffix.include? 'CSE_V1'
54
+ context.config.user_agent_suffix += ' CSE_V1'
55
+ end
56
+ end
57
+
47
58
  end
48
59
  end
49
60
  end