aws-sdk-s3 1.65.0 → 1.69.0

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