aws-sdk-s3 1.99.0 → 1.103.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: de1ad08f2ee4e903f356638496ed7c64da287ae976d12df0e15c6f7849859154
4
- data.tar.gz: b8f77d8a98734e00c7e3c8a418aad5c18102408473593430852b4c5b37c9aa0e
3
+ metadata.gz: 15712b72bf9c4eceb463344aa738f5e520a02161776d0a2e0c501c589ffba31b
4
+ data.tar.gz: 44bd3b0c543a0bb6b31ff26da9e664b431b0497ca5157385671526a9bbe8c589
5
5
  SHA512:
6
- metadata.gz: 403f3fed65e872154ed19641dcc2af5fa0833381b1cca5d06d25e2674b10085db6743cc2a8ecee94db2129b29a95287a8c7c9ece25183e3fcc6d147b2495f87c
7
- data.tar.gz: f519032f43cd1b100fc55e89c80a0489f1659fb3d0b6cee427239249f2fb4a8c548ca6108f7202715a7f813375582533c97f9a911d3de8d10cffadf3f2993008
6
+ metadata.gz: f4dc0b61914a6c48dac9858321b0a6eb972991e2938d39a10d105140c18fcf7a43d1d905654942033f44336e491e82d5ad178eb2fc84beac05ac1e059da98be7
7
+ data.tar.gz: 709d8e45a27f894622800dabb2ebb300f0d4b6f888c081987e42022b602d703aa22bd42fab179aeb976ee5ef12b98cb6b04d1663a49749b8693ea81b8099a2d3
data/CHANGELOG.md CHANGED
@@ -1,6 +1,26 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.103.0 (2021-09-16)
5
+ ------------------
6
+
7
+ * Feature - Add support for access point arn filtering in S3 CW Request Metrics
8
+
9
+ 1.102.0 (2021-09-02)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ 1.101.0 (2021-09-01)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
19
+ 1.100.0 (2021-08-27)
20
+ ------------------
21
+
22
+ * Feature - Documentation updates for Amazon S3.
23
+
4
24
  1.99.0 (2021-08-16)
5
25
  ------------------
6
26
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.99.0
1
+ 1.103.0
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Aws
4
+ module S3
5
+ # @api private
6
+ class MultiRegionAccessPointARN < Aws::ARN
7
+ def initialize(options)
8
+ super(options)
9
+ @type, @mrap_alias, @extra = @resource.split(/[:,\/]/)
10
+ end
11
+
12
+ attr_reader :mrap_alias
13
+
14
+ def support_dualstack?
15
+ false
16
+ end
17
+
18
+ def support_fips?
19
+ false
20
+ end
21
+
22
+ def validate_arn!
23
+ unless @service == 's3'
24
+ raise ArgumentError,
25
+ 'Must provide a valid S3 multi-region access point ARN.'
26
+ end
27
+
28
+ if @account_id.empty?
29
+ raise ArgumentError,
30
+ 'S3 multi-region access point ARNs must contain '\
31
+ 'an account id.'
32
+ end
33
+
34
+ unless @region.empty?
35
+ raise ArgumentError,
36
+ 'Multi-region access points must have an empty region.'
37
+ end
38
+
39
+ if @type != 'accesspoint'
40
+ raise ArgumentError, 'Invalid ARN, resource format is not correct'
41
+ end
42
+
43
+ if @mrap_alias.nil? || @mrap_alias.empty?
44
+ raise ArgumentError, 'Missing ARN multi-region access points alias.'
45
+ end
46
+
47
+ unless @mrap_alias.split('.').all? { |s| Seahorse::Util.host_label?(s) }
48
+ raise ArgumentError, "#{@mrap_alias} is not a valid "\
49
+ 'multi region access point alias.'
50
+ end
51
+
52
+ if @extra
53
+ raise ArgumentError,
54
+ 'ARN access point resource must be a single value.'
55
+ end
56
+ end
57
+
58
+ def host_url(region, fips = false, dualstack = false, custom_endpoint = nil)
59
+ if custom_endpoint
60
+ "#{@mrap_alias}.#{custom_endpoint}"
61
+ else
62
+
63
+ sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(@partition)
64
+ "#{@mrap_alias}.accesspoint.s3-global.#{sfx}"
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -315,8 +315,8 @@ module Aws::S3
315
315
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
316
316
  # @option options [Boolean] :bypass_governance_retention
317
317
  # Specifies whether you want to delete this object even if it has a
318
- # Governance-type Object Lock in place. You must have sufficient
319
- # permissions to perform this operation.
318
+ # Governance-type Object Lock in place. To use this header, you must
319
+ # have the `s3:PutBucketPublicAccessBlock` permission.
320
320
  # @option options [String] :expected_bucket_owner
321
321
  # The account ID of the expected bucket owner. If the bucket is owned by
322
322
  # a different account, the request will fail with an HTTP `403 (Access
@@ -517,12 +517,12 @@ module Aws::S3
517
517
  # If `x-amz-server-side-encryption` is present and has the value of
518
518
  # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
519
519
  # Management Service (Amazon Web Services KMS) symmetrical customer
520
- # managed customer master key (CMK) that was used for the object. If you
521
- # specify `x-amz-server-side-encryption:aws:kms`, but do not provide`
520
+ # managed key that was used for the object. If you specify
521
+ # `x-amz-server-side-encryption:aws:kms`, but do not provide`
522
522
  # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
523
- # Amazon Web Services managed CMK in Amazon Web Services to protect the
524
- # data. If the KMS key does not exist in the same account issuing the
525
- # command, you must use the full ARN and not just the ID.
523
+ # Amazon Web Services managed key to protect the data. If the KMS key
524
+ # does not exist in the same account issuing the command, you must use
525
+ # the full ARN and not just the ID.
526
526
  # @option options [String] :ssekms_encryption_context
527
527
  # Specifies the Amazon Web Services KMS Encryption Context to use for
528
528
  # object encryption. The value of this header is a base64-encoded UTF-8
@@ -327,6 +327,11 @@ module Aws::S3
327
327
  # in the future.
328
328
  #
329
329
  #
330
+ # @option options [Boolean] :s3_disable_multiregion_access_points (false)
331
+ # When set to `false` this will option will raise errors when multi-region
332
+ # access point ARNs are used. Multi-region access points can potentially
333
+ # result in cross region requests.
334
+ #
330
335
  # @option options [String] :s3_us_east_1_regional_endpoint ("legacy")
331
336
  # Pass in `regional` to enable the `us-east-1` regional endpoint.
332
337
  # Defaults to `legacy` mode which uses the global endpoint.
@@ -1557,15 +1562,14 @@ module Aws::S3
1557
1562
  # You can optionally request server-side encryption. For server-side
1558
1563
  # encryption, Amazon S3 encrypts your data as it writes it to disks in
1559
1564
  # its data centers and decrypts it when you access it. You can provide
1560
- # your own encryption key, or use Amazon Web Services Key Management
1561
- # Service (Amazon Web Services KMS) customer master keys (CMKs) or
1562
- # Amazon S3-managed encryption keys. If you choose to provide your own
1565
+ # your own encryption key, or use Amazon Web Services KMS keys or Amazon
1566
+ # S3-managed encryption keys. If you choose to provide your own
1563
1567
  # encryption key, the request headers you provide in [UploadPart][1] and
1564
1568
  # [UploadPartCopy][6] requests must match the headers you used in the
1565
1569
  # request to initiate the upload by using `CreateMultipartUpload`.
1566
1570
  #
1567
1571
  # To perform a multipart upload with encryption using an Amazon Web
1568
- # Services KMS CMK, the requester must have permission to the
1572
+ # Services KMS key, the requester must have permission to the
1569
1573
  # `kms:Decrypt` and `kms:GenerateDataKey*` actions on the key. These
1570
1574
  # permissions are required because Amazon S3 must decrypt and read data
1571
1575
  # from the encrypted file parts before it completes the multipart
@@ -1573,11 +1577,10 @@ module Aws::S3
1573
1577
  # permissions][7] in the *Amazon S3 User Guide*.
1574
1578
  #
1575
1579
  # If your Identity and Access Management (IAM) user or role is in the
1576
- # same Amazon Web Services account as the Amazon Web Services KMS CMK,
1577
- # then you must have these permissions on the key policy. If your IAM
1578
- # user or role belongs to a different account than the key, then you
1579
- # must have the permissions on both the key policy and your IAM user or
1580
- # role.
1580
+ # same Amazon Web Services account as the KMS key, then you must have
1581
+ # these permissions on the key policy. If your IAM user or role belongs
1582
+ # to a different account than the key, then you must have the
1583
+ # permissions on both the key policy and your IAM user or role.
1581
1584
  #
1582
1585
  # For more information, see [Protecting Data Using Server-Side
1583
1586
  # Encryption][8].
@@ -1610,11 +1613,11 @@ module Aws::S3
1610
1613
  # option you use depends on whether you want to use Amazon Web
1611
1614
  # Services managed encryption keys or provide your own encryption key.
1612
1615
  #
1613
- # * Use encryption keys managed by Amazon S3 or customer master keys
1614
- # (CMKs) stored in Amazon Web Services Key Management Service
1615
- # (Amazon Web Services KMS) – If you want Amazon Web Services to
1616
- # manage the keys used to encrypt data, specify the following
1617
- # headers in the request.
1616
+ # * Use encryption keys managed by Amazon S3 or customer managed key
1617
+ # stored in Amazon Web Services Key Management Service (Amazon Web
1618
+ # Services KMS) – If you want Amazon Web Services to manage the keys
1619
+ # used to encrypt data, specify the following headers in the
1620
+ # request.
1618
1621
  #
1619
1622
  # * x-amz-server-side-encryption
1620
1623
  #
@@ -1624,7 +1627,7 @@ module Aws::S3
1624
1627
  #
1625
1628
  # <note markdown="1"> If you specify `x-amz-server-side-encryption:aws:kms`, but don't
1626
1629
  # provide `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3
1627
- # uses the Amazon Web Services managed CMK in Amazon Web Services
1630
+ # uses the Amazon Web Services managed key in Amazon Web Services
1628
1631
  # KMS to protect the data.
1629
1632
  #
1630
1633
  # </note>
@@ -1633,10 +1636,9 @@ module Aws::S3
1633
1636
  # Services KMS fail if you don't make them with SSL or by using
1634
1637
  # SigV4.
1635
1638
  #
1636
- # For more information about server-side encryption with CMKs stored
1637
- # in Amazon Web Services KMS (SSE-KMS), see [Protecting Data Using
1638
- # Server-Side Encryption with CMKs stored in Amazon Web Services
1639
- # KMS][11].
1639
+ # For more information about server-side encryption with KMS key
1640
+ # (SSE-KMS), see [Protecting Data Using Server-Side Encryption with
1641
+ # KMS keys][11].
1640
1642
  #
1641
1643
  # * Use customer-provided encryption keys – If you want to manage your
1642
1644
  # own encryption keys, provide all the following headers in the
@@ -1648,10 +1650,9 @@ module Aws::S3
1648
1650
  #
1649
1651
  # * x-amz-server-side-encryption-customer-key-MD5
1650
1652
  #
1651
- # For more information about server-side encryption with CMKs stored
1652
- # in Amazon Web Services KMS (SSE-KMS), see [Protecting Data Using
1653
- # Server-Side Encryption with CMKs stored in Amazon Web Services
1654
- # KMS][11].
1653
+ # For more information about server-side encryption with KMS keys
1654
+ # (SSE-KMS), see [Protecting Data Using Server-Side Encryption with
1655
+ # KMS keys][11].
1655
1656
  #
1656
1657
  # Access-Control-List (ACL)-Specific Request Headers
1657
1658
  #
@@ -1876,13 +1877,13 @@ module Aws::S3
1876
1877
  # ensure that the encryption key was transmitted without error.
1877
1878
  #
1878
1879
  # @option params [String] :ssekms_key_id
1879
- # Specifies the ID of the symmetric customer managed Amazon Web Services
1880
- # KMS CMK to use for object encryption. All GET and PUT requests for an
1881
- # object protected by Amazon Web Services KMS will fail if not made via
1882
- # SSL or using SigV4. For information about configuring using any of the
1883
- # officially supported Amazon Web Services SDKs and Amazon Web Services
1884
- # CLI, see [Specifying the Signature Version in Request
1885
- # Authentication][1] in the *Amazon S3 User Guide*.
1880
+ # Specifies the ID of the symmetric customer managed key to use for
1881
+ # object encryption. All GET and PUT requests for an object protected by
1882
+ # Amazon Web Services KMS will fail if not made via SSL or using SigV4.
1883
+ # For information about configuring using any of the officially
1884
+ # supported Amazon Web Services SDKs and Amazon Web Services CLI, see
1885
+ # [Specifying the Signature Version in Request Authentication][1] in the
1886
+ # *Amazon S3 User Guide*.
1886
1887
  #
1887
1888
  #
1888
1889
  #
@@ -2252,21 +2253,23 @@ module Aws::S3
2252
2253
  #
2253
2254
  # The S3 Intelligent-Tiering storage class is designed to optimize
2254
2255
  # storage costs by automatically moving data to the most cost-effective
2255
- # storage access tier, without additional operational overhead. S3
2256
- # Intelligent-Tiering delivers automatic cost savings by moving data
2257
- # between access tiers, when access patterns change.
2258
- #
2259
- # The S3 Intelligent-Tiering storage class is suitable for objects
2260
- # larger than 128 KB that you plan to store for at least 30 days. If the
2261
- # size of an object is less than 128 KB, it is not eligible for
2262
- # auto-tiering. Smaller objects can be stored, but they are always
2263
- # charged at the frequent access tier rates in the S3
2264
- # Intelligent-Tiering storage class.
2265
- #
2266
- # If you delete an object before the end of the 30-day minimum storage
2267
- # duration period, you are charged for 30 days. For more information,
2268
- # see [Storage class for automatically optimizing frequently and
2269
- # infrequently accessed objects][1].
2256
+ # storage access tier, without performance impact or operational
2257
+ # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
2258
+ # two low latency and high throughput access tiers. For data that can be
2259
+ # accessed asynchronously, you can choose to activate automatic
2260
+ # archiving capabilities within the S3 Intelligent-Tiering storage
2261
+ # class.
2262
+ #
2263
+ # The S3 Intelligent-Tiering storage class is the ideal storage class
2264
+ # for data with unknown, changing, or unpredictable access patterns,
2265
+ # independent of object size or retention period. If the size of an
2266
+ # object is less than 128 KB, it is not eligible for auto-tiering.
2267
+ # Smaller objects can be stored, but they are always charged at the
2268
+ # Frequent Access tier rates in the S3 Intelligent-Tiering storage
2269
+ # class.
2270
+ #
2271
+ # For more information, see [Storage class for automatically optimizing
2272
+ # frequently and infrequently accessed objects][1].
2270
2273
  #
2271
2274
  # Operations related to `DeleteBucketIntelligentTieringConfiguration`
2272
2275
  # include:
@@ -2882,7 +2885,8 @@ module Aws::S3
2882
2885
  #
2883
2886
  # @option params [Boolean] :bypass_governance_retention
2884
2887
  # Indicates whether S3 Object Lock should bypass Governance-mode
2885
- # restrictions to process this operation.
2888
+ # restrictions to process this operation. To use this header, you must
2889
+ # have the `s3:PutBucketPublicAccessBlock` permission.
2886
2890
  #
2887
2891
  # @option params [String] :expected_bucket_owner
2888
2892
  # The account ID of the expected bucket owner. If the bucket is owned by
@@ -3010,35 +3014,35 @@ module Aws::S3
3010
3014
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
3011
3015
  #
3012
3016
  #
3013
- # @example Example: To remove tag set from an object
3017
+ # @example Example: To remove tag set from an object version
3014
3018
  #
3015
- # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3016
- # # operation removes tag set from the latest object version.
3019
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
3020
+ # # object key and object version.
3017
3021
  #
3018
3022
  # resp = client.delete_object_tagging({
3019
3023
  # bucket: "examplebucket",
3020
3024
  # key: "HappyFace.jpg",
3025
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3021
3026
  # })
3022
3027
  #
3023
3028
  # resp.to_h outputs the following:
3024
3029
  # {
3025
- # version_id: "null",
3030
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3026
3031
  # }
3027
3032
  #
3028
- # @example Example: To remove tag set from an object version
3033
+ # @example Example: To remove tag set from an object
3029
3034
  #
3030
- # # The following example removes tag set associated with the specified object version. The request specifies both the
3031
- # # object key and object version.
3035
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3036
+ # # operation removes tag set from the latest object version.
3032
3037
  #
3033
3038
  # resp = client.delete_object_tagging({
3034
3039
  # bucket: "examplebucket",
3035
3040
  # key: "HappyFace.jpg",
3036
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3037
3041
  # })
3038
3042
  #
3039
3043
  # resp.to_h outputs the following:
3040
3044
  # {
3041
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3045
+ # version_id: "null",
3042
3046
  # }
3043
3047
  #
3044
3048
  # @example Request syntax with placeholder values
@@ -3163,8 +3167,8 @@ module Aws::S3
3163
3167
  #
3164
3168
  # @option params [Boolean] :bypass_governance_retention
3165
3169
  # Specifies whether you want to delete this object even if it has a
3166
- # Governance-type Object Lock in place. You must have sufficient
3167
- # permissions to perform this operation.
3170
+ # Governance-type Object Lock in place. To use this header, you must
3171
+ # have the `s3:PutBucketPublicAccessBlock` permission.
3168
3172
  #
3169
3173
  # @option params [String] :expected_bucket_owner
3170
3174
  # The account ID of the expected bucket owner. If the bucket is owned by
@@ -3178,20 +3182,22 @@ module Aws::S3
3178
3182
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
3179
3183
  #
3180
3184
  #
3181
- # @example Example: To delete multiple objects from a versioned bucket
3185
+ # @example Example: To delete multiple object versions from a versioned bucket
3182
3186
  #
3183
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3184
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3187
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3188
+ # # versions and returns the key and versions of deleted objects in the response.
3185
3189
  #
3186
3190
  # resp = client.delete_objects({
3187
3191
  # bucket: "examplebucket",
3188
3192
  # delete: {
3189
3193
  # objects: [
3190
3194
  # {
3191
- # key: "objectkey1",
3195
+ # key: "HappyFace.jpg",
3196
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3192
3197
  # },
3193
3198
  # {
3194
- # key: "objectkey2",
3199
+ # key: "HappyFace.jpg",
3200
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3195
3201
  # },
3196
3202
  # ],
3197
3203
  # quiet: false,
@@ -3202,34 +3208,30 @@ module Aws::S3
3202
3208
  # {
3203
3209
  # deleted: [
3204
3210
  # {
3205
- # delete_marker: true,
3206
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3207
- # key: "objectkey1",
3211
+ # key: "HappyFace.jpg",
3212
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3208
3213
  # },
3209
3214
  # {
3210
- # delete_marker: true,
3211
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3212
- # key: "objectkey2",
3215
+ # key: "HappyFace.jpg",
3216
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3213
3217
  # },
3214
3218
  # ],
3215
3219
  # }
3216
3220
  #
3217
- # @example Example: To delete multiple object versions from a versioned bucket
3221
+ # @example Example: To delete multiple objects from a versioned bucket
3218
3222
  #
3219
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3220
- # # versions and returns the key and versions of deleted objects in the response.
3223
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3224
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3221
3225
  #
3222
3226
  # resp = client.delete_objects({
3223
3227
  # bucket: "examplebucket",
3224
3228
  # delete: {
3225
3229
  # objects: [
3226
3230
  # {
3227
- # key: "HappyFace.jpg",
3228
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3231
+ # key: "objectkey1",
3229
3232
  # },
3230
3233
  # {
3231
- # key: "HappyFace.jpg",
3232
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3234
+ # key: "objectkey2",
3233
3235
  # },
3234
3236
  # ],
3235
3237
  # quiet: false,
@@ -3240,12 +3242,14 @@ module Aws::S3
3240
3242
  # {
3241
3243
  # deleted: [
3242
3244
  # {
3243
- # key: "HappyFace.jpg",
3244
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3245
+ # delete_marker: true,
3246
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3247
+ # key: "objectkey1",
3245
3248
  # },
3246
3249
  # {
3247
- # key: "HappyFace.jpg",
3248
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3250
+ # delete_marker: true,
3251
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3252
+ # key: "objectkey2",
3249
3253
  # },
3250
3254
  # ],
3251
3255
  # }
@@ -3715,21 +3719,23 @@ module Aws::S3
3715
3719
  #
3716
3720
  # The S3 Intelligent-Tiering storage class is designed to optimize
3717
3721
  # storage costs by automatically moving data to the most cost-effective
3718
- # storage access tier, without additional operational overhead. S3
3719
- # Intelligent-Tiering delivers automatic cost savings by moving data
3720
- # between access tiers, when access patterns change.
3721
- #
3722
- # The S3 Intelligent-Tiering storage class is suitable for objects
3723
- # larger than 128 KB that you plan to store for at least 30 days. If the
3724
- # size of an object is less than 128 KB, it is not eligible for
3725
- # auto-tiering. Smaller objects can be stored, but they are always
3726
- # charged at the frequent access tier rates in the S3
3727
- # Intelligent-Tiering storage class.
3728
- #
3729
- # If you delete an object before the end of the 30-day minimum storage
3730
- # duration period, you are charged for 30 days. For more information,
3731
- # see [Storage class for automatically optimizing frequently and
3732
- # infrequently accessed objects][1].
3722
+ # storage access tier, without performance impact or operational
3723
+ # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
3724
+ # two low latency and high throughput access tiers. For data that can be
3725
+ # accessed asynchronously, you can choose to activate automatic
3726
+ # archiving capabilities within the S3 Intelligent-Tiering storage
3727
+ # class.
3728
+ #
3729
+ # The S3 Intelligent-Tiering storage class is the ideal storage class
3730
+ # for data with unknown, changing, or unpredictable access patterns,
3731
+ # independent of object size or retention period. If the size of an
3732
+ # object is less than 128 KB, it is not eligible for auto-tiering.
3733
+ # Smaller objects can be stored, but they are always charged at the
3734
+ # Frequent Access tier rates in the S3 Intelligent-Tiering storage
3735
+ # class.
3736
+ #
3737
+ # For more information, see [Storage class for automatically optimizing
3738
+ # frequently and infrequently accessed objects][1].
3733
3739
  #
3734
3740
  # Operations related to `GetBucketIntelligentTieringConfiguration`
3735
3741
  # include:
@@ -4296,10 +4302,12 @@ module Aws::S3
4296
4302
  # resp.metrics_configuration.filter.prefix #=> String
4297
4303
  # resp.metrics_configuration.filter.tag.key #=> String
4298
4304
  # resp.metrics_configuration.filter.tag.value #=> String
4305
+ # resp.metrics_configuration.filter.access_point_arn #=> String
4299
4306
  # resp.metrics_configuration.filter.and.prefix #=> String
4300
4307
  # resp.metrics_configuration.filter.and.tags #=> Array
4301
4308
  # resp.metrics_configuration.filter.and.tags[0].key #=> String
4302
4309
  # resp.metrics_configuration.filter.and.tags[0].value #=> String
4310
+ # resp.metrics_configuration.filter.and.access_point_arn #=> String
4303
4311
  #
4304
4312
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration AWS API Documentation
4305
4313
  #
@@ -5157,10 +5165,9 @@ module Aws::S3
5157
5165
  #
5158
5166
  # Encryption request headers, like `x-amz-server-side-encryption`,
5159
5167
  # should not be sent for GET requests if your object uses server-side
5160
- # encryption with CMKs stored in Amazon Web Services KMS (SSE-KMS) or
5161
- # server-side encryption with Amazon S3–managed encryption keys
5162
- # (SSE-S3). If your object does use these types of keys, you’ll get an
5163
- # HTTP 400 BadRequest error.
5168
+ # encryption with KMS keys (SSE-KMS) or server-side encryption with
5169
+ # Amazon S3–managed encryption keys (SSE-S3). If your object does use
5170
+ # these types of keys, you’ll get an HTTP 400 BadRequest error.
5164
5171
  #
5165
5172
  # If you encrypt an object by using server-side encryption with
5166
5173
  # customer-provided encryption keys (SSE-C) when you store the object in
@@ -5176,18 +5183,19 @@ module Aws::S3
5176
5183
  # For more information about SSE-C, see [Server-Side Encryption (Using
5177
5184
  # Customer-Provided Encryption Keys)][6].
5178
5185
  #
5179
- # Assuming you have permission to read object tags (permission for the
5180
- # `s3:GetObjectVersionTagging` action), the response also returns the
5181
- # `x-amz-tagging-count` header that provides the count of number of tags
5182
- # associated with the object. You can use [GetObjectTagging][7] to
5183
- # retrieve the tag set associated with an object.
5186
+ # Assuming you have the relevant permission to read object tags, the
5187
+ # response also returns the `x-amz-tagging-count` header that provides
5188
+ # the count of number of tags associated with the object. You can use
5189
+ # [GetObjectTagging][7] to retrieve the tag set associated with an
5190
+ # object.
5184
5191
  #
5185
5192
  # **Permissions**
5186
5193
  #
5187
- # You need the `s3:GetObject` permission for this operation. For more
5188
- # information, see [Specifying Permissions in a Policy][8]. If the
5189
- # object you request does not exist, the error Amazon S3 returns depends
5190
- # on whether you also have the `s3:ListBucket` permission.
5194
+ # You need the relevant read object (or version) permission for this
5195
+ # operation. For more information, see [Specifying Permissions in a
5196
+ # Policy][8]. If the object you request does not exist, the error Amazon
5197
+ # S3 returns depends on whether you also have the `s3:ListBucket`
5198
+ # permission.
5191
5199
  #
5192
5200
  # * If you have the `s3:ListBucket` permission on the bucket, Amazon S3
5193
5201
  # will return an HTTP status code 404 ("no such key") error.
@@ -5294,6 +5302,9 @@ module Aws::S3
5294
5302
  # name. For more information about access point ARNs, see [Using access
5295
5303
  # points][1] in the *Amazon S3 User Guide*.
5296
5304
  #
5305
+ # When using an Object Lambda access point the hostname takes the form
5306
+ # *AccessPointName*-*AccountId*.s3-object-lambda.*Region*.amazonaws.com.
5307
+ #
5297
5308
  # When using this action with Amazon S3 on Outposts, you must direct
5298
5309
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5299
5310
  # takes the form
@@ -5437,49 +5448,49 @@ module Aws::S3
5437
5448
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
5438
5449
  #
5439
5450
  #
5440
- # @example Example: To retrieve a byte range of an object
5451
+ # @example Example: To retrieve an object
5441
5452
  #
5442
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5443
- # # specific byte range.
5453
+ # # The following example retrieves an object for an S3 bucket.
5444
5454
  #
5445
5455
  # resp = client.get_object({
5446
5456
  # bucket: "examplebucket",
5447
- # key: "SampleFile.txt",
5448
- # range: "bytes=0-9",
5457
+ # key: "HappyFace.jpg",
5449
5458
  # })
5450
5459
  #
5451
5460
  # resp.to_h outputs the following:
5452
5461
  # {
5453
5462
  # accept_ranges: "bytes",
5454
- # content_length: 10,
5455
- # content_range: "bytes 0-9/43",
5456
- # content_type: "text/plain",
5457
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5458
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5463
+ # content_length: 3191,
5464
+ # content_type: "image/jpeg",
5465
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5466
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5459
5467
  # metadata: {
5460
5468
  # },
5469
+ # tag_count: 2,
5461
5470
  # version_id: "null",
5462
5471
  # }
5463
5472
  #
5464
- # @example Example: To retrieve an object
5473
+ # @example Example: To retrieve a byte range of an object
5465
5474
  #
5466
- # # The following example retrieves an object for an S3 bucket.
5475
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5476
+ # # specific byte range.
5467
5477
  #
5468
5478
  # resp = client.get_object({
5469
5479
  # bucket: "examplebucket",
5470
- # key: "HappyFace.jpg",
5480
+ # key: "SampleFile.txt",
5481
+ # range: "bytes=0-9",
5471
5482
  # })
5472
5483
  #
5473
5484
  # resp.to_h outputs the following:
5474
5485
  # {
5475
5486
  # accept_ranges: "bytes",
5476
- # content_length: 3191,
5477
- # content_type: "image/jpeg",
5478
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5479
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5487
+ # content_length: 10,
5488
+ # content_range: "bytes 0-9/43",
5489
+ # content_type: "text/plain",
5490
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5491
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5480
5492
  # metadata: {
5481
5493
  # },
5482
- # tag_count: 2,
5483
5494
  # version_id: "null",
5484
5495
  # }
5485
5496
  #
@@ -6383,10 +6394,9 @@ module Aws::S3
6383
6394
  #
6384
6395
  # <note markdown="1"> * Encryption request headers, like `x-amz-server-side-encryption`,
6385
6396
  # should not be sent for GET requests if your object uses server-side
6386
- # encryption with CMKs stored in Amazon Web Services KMS (SSE-KMS) or
6387
- # server-side encryption with Amazon S3–managed encryption keys
6388
- # (SSE-S3). If your object does use these types of keys, you’ll get an
6389
- # HTTP 400 BadRequest error.
6397
+ # encryption with KMS keys (SSE-KMS) or server-side encryption with
6398
+ # Amazon S3–managed encryption keys (SSE-S3). If your object does use
6399
+ # these types of keys, you’ll get an HTTP 400 BadRequest error.
6390
6400
  #
6391
6401
  # * The last modified property in this case is the creation date of the
6392
6402
  # object.
@@ -6420,10 +6430,11 @@ module Aws::S3
6420
6430
  #
6421
6431
  # **Permissions**
6422
6432
  #
6423
- # You need the `s3:GetObject` permission for this operation. For more
6424
- # information, see [Specifying Permissions in a Policy][4]. If the
6425
- # object you request does not exist, the error Amazon S3 returns depends
6426
- # on whether you also have the s3:ListBucket permission.
6433
+ # You need the relevant read object (or version) permission for this
6434
+ # operation. For more information, see [Specifying Permissions in a
6435
+ # Policy][4]. If the object you request does not exist, the error Amazon
6436
+ # S3 returns depends on whether you also have the s3:ListBucket
6437
+ # permission.
6427
6438
  #
6428
6439
  # * If you have the `s3:ListBucket` permission on the bucket, Amazon S3
6429
6440
  # returns an HTTP status code 404 ("no such key") error.
@@ -6771,21 +6782,23 @@ module Aws::S3
6771
6782
  #
6772
6783
  # The S3 Intelligent-Tiering storage class is designed to optimize
6773
6784
  # storage costs by automatically moving data to the most cost-effective
6774
- # storage access tier, without additional operational overhead. S3
6775
- # Intelligent-Tiering delivers automatic cost savings by moving data
6776
- # between access tiers, when access patterns change.
6777
- #
6778
- # The S3 Intelligent-Tiering storage class is suitable for objects
6779
- # larger than 128 KB that you plan to store for at least 30 days. If the
6780
- # size of an object is less than 128 KB, it is not eligible for
6781
- # auto-tiering. Smaller objects can be stored, but they are always
6782
- # charged at the frequent access tier rates in the S3
6783
- # Intelligent-Tiering storage class.
6784
- #
6785
- # If you delete an object before the end of the 30-day minimum storage
6786
- # duration period, you are charged for 30 days. For more information,
6787
- # see [Storage class for automatically optimizing frequently and
6788
- # infrequently accessed objects][1].
6785
+ # storage access tier, without performance impact or operational
6786
+ # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
6787
+ # two low latency and high throughput access tiers. For data that can be
6788
+ # accessed asynchronously, you can choose to activate automatic
6789
+ # archiving capabilities within the S3 Intelligent-Tiering storage
6790
+ # class.
6791
+ #
6792
+ # The S3 Intelligent-Tiering storage class is the ideal storage class
6793
+ # for data with unknown, changing, or unpredictable access patterns,
6794
+ # independent of object size or retention period. If the size of an
6795
+ # object is less than 128 KB, it is not eligible for auto-tiering.
6796
+ # Smaller objects can be stored, but they are always charged at the
6797
+ # Frequent Access tier rates in the S3 Intelligent-Tiering storage
6798
+ # class.
6799
+ #
6800
+ # For more information, see [Storage class for automatically optimizing
6801
+ # frequently and infrequently accessed objects][1].
6789
6802
  #
6790
6803
  # Operations related to `ListBucketIntelligentTieringConfigurations`
6791
6804
  # include:
@@ -7033,10 +7046,12 @@ module Aws::S3
7033
7046
  # resp.metrics_configuration_list[0].filter.prefix #=> String
7034
7047
  # resp.metrics_configuration_list[0].filter.tag.key #=> String
7035
7048
  # resp.metrics_configuration_list[0].filter.tag.value #=> String
7049
+ # resp.metrics_configuration_list[0].filter.access_point_arn #=> String
7036
7050
  # resp.metrics_configuration_list[0].filter.and.prefix #=> String
7037
7051
  # resp.metrics_configuration_list[0].filter.and.tags #=> Array
7038
7052
  # resp.metrics_configuration_list[0].filter.and.tags[0].key #=> String
7039
7053
  # resp.metrics_configuration_list[0].filter.and.tags[0].value #=> String
7054
+ # resp.metrics_configuration_list[0].filter.and.access_point_arn #=> String
7040
7055
  #
7041
7056
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations AWS API Documentation
7042
7057
  #
@@ -8814,12 +8829,12 @@ module Aws::S3
8814
8829
  # encryption and Amazon S3 Bucket Key for an existing bucket.
8815
8830
  #
8816
8831
  # Default encryption for a bucket can use server-side encryption with
8817
- # Amazon S3-managed keys (SSE-S3) or Amazon Web Services KMS customer
8818
- # master keys (SSE-KMS). If you specify default encryption using
8819
- # SSE-KMS, you can also configure Amazon S3 Bucket Key. For information
8820
- # about default encryption, see [Amazon S3 default bucket encryption][1]
8821
- # in the *Amazon S3 User Guide*. For more information about S3 Bucket
8822
- # Keys, see [Amazon S3 Bucket Keys][2] in the *Amazon S3 User Guide*.
8832
+ # Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). If
8833
+ # you specify default encryption using SSE-KMS, you can also configure
8834
+ # Amazon S3 Bucket Key. For information about default encryption, see
8835
+ # [Amazon S3 default bucket encryption][1] in the *Amazon S3 User
8836
+ # Guide*. For more information about S3 Bucket Keys, see [Amazon S3
8837
+ # Bucket Keys][2] in the *Amazon S3 User Guide*.
8823
8838
  #
8824
8839
  # This action requires Amazon Web Services Signature Version 4. For more
8825
8840
  # information, see [ Authenticating Requests (Amazon Web Services
@@ -8851,10 +8866,10 @@ module Aws::S3
8851
8866
  #
8852
8867
  # @option params [required, String] :bucket
8853
8868
  # Specifies default encryption for a bucket using server-side encryption
8854
- # with Amazon S3-managed keys (SSE-S3) or customer master keys stored in
8855
- # Amazon Web Services KMS (SSE-KMS). For information about the Amazon S3
8856
- # default encryption feature, see [Amazon S3 Default Bucket
8857
- # Encryption][1] in the *Amazon S3 User Guide*.
8869
+ # with Amazon S3-managed keys (SSE-S3) or customer managed keys
8870
+ # (SSE-KMS). For information about the Amazon S3 default encryption
8871
+ # feature, see [Amazon S3 Default Bucket Encryption][1] in the *Amazon
8872
+ # S3 User Guide*.
8858
8873
  #
8859
8874
  #
8860
8875
  #
@@ -8912,21 +8927,23 @@ module Aws::S3
8912
8927
  #
8913
8928
  # The S3 Intelligent-Tiering storage class is designed to optimize
8914
8929
  # storage costs by automatically moving data to the most cost-effective
8915
- # storage access tier, without additional operational overhead. S3
8916
- # Intelligent-Tiering delivers automatic cost savings by moving data
8917
- # between access tiers, when access patterns change.
8918
- #
8919
- # The S3 Intelligent-Tiering storage class is suitable for objects
8920
- # larger than 128 KB that you plan to store for at least 30 days. If the
8921
- # size of an object is less than 128 KB, it is not eligible for
8922
- # auto-tiering. Smaller objects can be stored, but they are always
8923
- # charged at the frequent access tier rates in the S3
8924
- # Intelligent-Tiering storage class.
8925
- #
8926
- # If you delete an object before the end of the 30-day minimum storage
8927
- # duration period, you are charged for 30 days. For more information,
8928
- # see [Storage class for automatically optimizing frequently and
8929
- # infrequently accessed objects][1].
8930
+ # storage access tier, without performance impact or operational
8931
+ # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
8932
+ # two low latency and high throughput access tiers. For data that can be
8933
+ # accessed asynchronously, you can choose to activate automatic
8934
+ # archiving capabilities within the S3 Intelligent-Tiering storage
8935
+ # class.
8936
+ #
8937
+ # The S3 Intelligent-Tiering storage class is the ideal storage class
8938
+ # for data with unknown, changing, or unpredictable access patterns,
8939
+ # independent of object size or retention period. If the size of an
8940
+ # object is less than 128 KB, it is not eligible for auto-tiering.
8941
+ # Smaller objects can be stored, but they are always charged at the
8942
+ # Frequent Access tier rates in the S3 Intelligent-Tiering storage
8943
+ # class.
8944
+ #
8945
+ # For more information, see [Storage class for automatically optimizing
8946
+ # frequently and infrequently accessed objects][1].
8930
8947
  #
8931
8948
  # Operations related to `PutBucketIntelligentTieringConfiguration`
8932
8949
  # include:
@@ -9644,7 +9661,7 @@ module Aws::S3
9644
9661
  #
9645
9662
  # * [DeleteBucketMetricsConfiguration][4]
9646
9663
  #
9647
- # * [PutBucketMetricsConfiguration][5]
9664
+ # * [GetBucketMetricsConfiguration][5]
9648
9665
  #
9649
9666
  # * [ListBucketMetricsConfigurations][6]
9650
9667
  #
@@ -9663,7 +9680,7 @@ module Aws::S3
9663
9680
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
9664
9681
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html
9665
9682
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html
9666
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html
9683
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html
9667
9684
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html
9668
9685
  #
9669
9686
  # @option params [required, String] :bucket
@@ -9695,6 +9712,7 @@ module Aws::S3
9695
9712
  # key: "ObjectKey", # required
9696
9713
  # value: "Value", # required
9697
9714
  # },
9715
+ # access_point_arn: "AccessPointArn",
9698
9716
  # and: {
9699
9717
  # prefix: "Prefix",
9700
9718
  # tags: [
@@ -9703,6 +9721,7 @@ module Aws::S3
9703
9721
  # value: "Value", # required
9704
9722
  # },
9705
9723
  # ],
9724
+ # access_point_arn: "AccessPointArn",
9706
9725
  # },
9707
9726
  # },
9708
9727
  # },
@@ -10135,13 +10154,12 @@ module Aws::S3
10135
10154
  # **Handling Replication of Encrypted Objects**
10136
10155
  #
10137
10156
  # By default, Amazon S3 doesn't replicate objects that are stored at
10138
- # rest using server-side encryption with CMKs stored in Amazon Web
10139
- # Services KMS. To replicate Amazon Web Services KMS-encrypted objects,
10140
- # add the following: `SourceSelectionCriteria`,
10141
- # `SseKmsEncryptedObjects`, `Status`, `EncryptionConfiguration`, and
10142
- # `ReplicaKmsKeyID`. For information about replication configuration,
10143
- # see [Replicating Objects Created with SSE Using CMKs stored in Amazon
10144
- # Web Services KMS][4].
10157
+ # rest using server-side encryption with KMS keys. To replicate Amazon
10158
+ # Web Services KMS-encrypted objects, add the following:
10159
+ # `SourceSelectionCriteria`, `SseKmsEncryptedObjects`, `Status`,
10160
+ # `EncryptionConfiguration`, and `ReplicaKmsKeyID`. For information
10161
+ # about replication configuration, see [Replicating Objects Created with
10162
+ # SSE Using KMS keys][4].
10145
10163
  #
10146
10164
  # For information on `PutBucketReplication` errors, see [List of
10147
10165
  # replication-related error codes][5]
@@ -11104,12 +11122,12 @@ module Aws::S3
11104
11122
  # If `x-amz-server-side-encryption` is present and has the value of
11105
11123
  # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
11106
11124
  # Management Service (Amazon Web Services KMS) symmetrical customer
11107
- # managed customer master key (CMK) that was used for the object. If you
11108
- # specify `x-amz-server-side-encryption:aws:kms`, but do not provide`
11125
+ # managed key that was used for the object. If you specify
11126
+ # `x-amz-server-side-encryption:aws:kms`, but do not provide`
11109
11127
  # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
11110
- # Amazon Web Services managed CMK in Amazon Web Services to protect the
11111
- # data. If the KMS key does not exist in the same account issuing the
11112
- # command, you must use the full ARN and not just the ID.
11128
+ # Amazon Web Services managed key to protect the data. If the KMS key
11129
+ # does not exist in the same account issuing the command, you must use
11130
+ # the full ARN and not just the ID.
11113
11131
  #
11114
11132
  # @option params [String] :ssekms_encryption_context
11115
11133
  # Specifies the Amazon Web Services KMS Encryption Context to use for
@@ -11174,113 +11192,113 @@ module Aws::S3
11174
11192
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
11175
11193
  #
11176
11194
  #
11177
- # @example Example: To create an object.
11195
+ # @example Example: To upload an object and specify optional tags
11178
11196
  #
11179
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
11197
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
11198
+ # # S3 returns version ID of the newly created object.
11180
11199
  #
11181
11200
  # resp = client.put_object({
11182
- # body: "filetoupload",
11201
+ # body: "c:\\HappyFace.jpg",
11183
11202
  # bucket: "examplebucket",
11184
- # key: "objectkey",
11203
+ # key: "HappyFace.jpg",
11204
+ # tagging: "key1=value1&key2=value2",
11185
11205
  # })
11186
11206
  #
11187
11207
  # resp.to_h outputs the following:
11188
11208
  # {
11189
11209
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11190
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11210
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11191
11211
  # }
11192
11212
  #
11193
- # @example Example: To upload an object and specify optional tags
11213
+ # @example Example: To upload an object and specify canned ACL.
11194
11214
  #
11195
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
11196
- # # S3 returns version ID of the newly created object.
11215
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
11216
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
11197
11217
  #
11198
11218
  # resp = client.put_object({
11199
- # body: "c:\\HappyFace.jpg",
11219
+ # acl: "authenticated-read",
11220
+ # body: "filetoupload",
11200
11221
  # bucket: "examplebucket",
11201
- # key: "HappyFace.jpg",
11202
- # tagging: "key1=value1&key2=value2",
11222
+ # key: "exampleobject",
11203
11223
  # })
11204
11224
  #
11205
11225
  # resp.to_h outputs the following:
11206
11226
  # {
11207
11227
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11208
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11228
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
11209
11229
  # }
11210
11230
  #
11211
- # @example Example: To upload an object
11231
+ # @example Example: To upload an object and specify server-side encryption and object tags
11212
11232
  #
11213
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11214
- # # syntax. S3 returns VersionId of the newly created object.
11233
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
11234
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
11215
11235
  #
11216
11236
  # resp = client.put_object({
11217
- # body: "HappyFace.jpg",
11237
+ # body: "filetoupload",
11218
11238
  # bucket: "examplebucket",
11219
- # key: "HappyFace.jpg",
11239
+ # key: "exampleobject",
11240
+ # server_side_encryption: "AES256",
11241
+ # tagging: "key1=value1&key2=value2",
11220
11242
  # })
11221
11243
  #
11222
11244
  # resp.to_h outputs the following:
11223
11245
  # {
11224
11246
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11225
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11247
+ # server_side_encryption: "AES256",
11248
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11226
11249
  # }
11227
11250
  #
11228
- # @example Example: To upload an object (specify optional headers)
11251
+ # @example Example: To create an object.
11229
11252
  #
11230
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
11231
- # # storage class and use server-side encryption.
11253
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
11232
11254
  #
11233
11255
  # resp = client.put_object({
11234
- # body: "HappyFace.jpg",
11256
+ # body: "filetoupload",
11235
11257
  # bucket: "examplebucket",
11236
- # key: "HappyFace.jpg",
11237
- # server_side_encryption: "AES256",
11238
- # storage_class: "STANDARD_IA",
11258
+ # key: "objectkey",
11239
11259
  # })
11240
11260
  #
11241
11261
  # resp.to_h outputs the following:
11242
11262
  # {
11243
11263
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11244
- # server_side_encryption: "AES256",
11245
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11264
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11246
11265
  # }
11247
11266
  #
11248
- # @example Example: To upload an object and specify server-side encryption and object tags
11267
+ # @example Example: To upload an object
11249
11268
  #
11250
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
11251
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
11269
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11270
+ # # syntax. S3 returns VersionId of the newly created object.
11252
11271
  #
11253
11272
  # resp = client.put_object({
11254
- # body: "filetoupload",
11273
+ # body: "HappyFace.jpg",
11255
11274
  # bucket: "examplebucket",
11256
- # key: "exampleobject",
11257
- # server_side_encryption: "AES256",
11258
- # tagging: "key1=value1&key2=value2",
11275
+ # key: "HappyFace.jpg",
11259
11276
  # })
11260
11277
  #
11261
11278
  # resp.to_h outputs the following:
11262
11279
  # {
11263
11280
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11264
- # server_side_encryption: "AES256",
11265
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11281
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11266
11282
  # }
11267
11283
  #
11268
- # @example Example: To upload an object and specify canned ACL.
11284
+ # @example Example: To upload an object (specify optional headers)
11269
11285
  #
11270
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
11271
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
11286
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
11287
+ # # storage class and use server-side encryption.
11272
11288
  #
11273
11289
  # resp = client.put_object({
11274
- # acl: "authenticated-read",
11275
- # body: "filetoupload",
11290
+ # body: "HappyFace.jpg",
11276
11291
  # bucket: "examplebucket",
11277
- # key: "exampleobject",
11292
+ # key: "HappyFace.jpg",
11293
+ # server_side_encryption: "AES256",
11294
+ # storage_class: "STANDARD_IA",
11278
11295
  # })
11279
11296
  #
11280
11297
  # resp.to_h outputs the following:
11281
11298
  # {
11282
11299
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11283
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
11300
+ # server_side_encryption: "AES256",
11301
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11284
11302
  # }
11285
11303
  #
11286
11304
  # @example Example: To upload object and specify user-defined metadata
@@ -12734,12 +12752,11 @@ module Aws::S3
12734
12752
  # Encryption Keys)][5] in the *Amazon S3 User Guide*.
12735
12753
  #
12736
12754
  # For objects that are encrypted with Amazon S3 managed encryption
12737
- # keys (SSE-S3) and customer master keys (CMKs) stored in Amazon Web
12738
- # Services Key Management Service (SSE-KMS), server-side encryption is
12739
- # handled transparently, so you don't need to specify anything. For
12740
- # more information about server-side encryption, including SSE-S3 and
12741
- # SSE-KMS, see [Protecting Data Using Server-Side Encryption][6] in
12742
- # the *Amazon S3 User Guide*.
12755
+ # keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS),
12756
+ # server-side encryption is handled transparently, so you don't need
12757
+ # to specify anything. For more information about server-side
12758
+ # encryption, including SSE-S3 and SSE-KMS, see [Protecting Data Using
12759
+ # Server-Side Encryption][6] in the *Amazon S3 User Guide*.
12743
12760
  #
12744
12761
  # **Working with the Response Body**
12745
12762
  #
@@ -13734,9 +13751,9 @@ module Aws::S3
13734
13751
  end
13735
13752
 
13736
13753
  # Passes transformed objects to a `GetObject` operation when using
13737
- # Object Lambda Access Points. For information about Object Lambda
13738
- # Access Points, see [Transforming objects with Object Lambda Access
13739
- # Points][1] in the *Amazon S3 User Guide*.
13754
+ # Object Lambda access points. For information about Object Lambda
13755
+ # access points, see [Transforming objects with Object Lambda access
13756
+ # points][1] in the *Amazon S3 User Guide*.
13740
13757
  #
13741
13758
  # This operation supports metadata that can be returned by
13742
13759
  # [GetObject][2], in addition to `RequestRoute`, `RequestToken`,
@@ -13758,8 +13775,8 @@ module Aws::S3
13758
13775
  # identifiable information (PII) and decompress S3 objects. These Lambda
13759
13776
  # functions are available in the Amazon Web Services Serverless
13760
13777
  # Application Repository, and can be selected through the Amazon Web
13761
- # Services Management Console when you create your Object Lambda Access
13762
- # Point.
13778
+ # Services Management Console when you create your Object Lambda access
13779
+ # point.
13763
13780
  #
13764
13781
  # Example 1: PII Access Control - This Lambda function uses Amazon
13765
13782
  # Comprehend, a natural language processing (NLP) service using machine
@@ -13951,8 +13968,8 @@ module Aws::S3
13951
13968
  #
13952
13969
  # @option params [String] :ssekms_key_id
13953
13970
  # If present, specifies the ID of the Amazon Web Services Key Management
13954
- # Service (Amazon Web Services KMS) symmetric customer managed customer
13955
- # master key (CMK) that was used for stored in Amazon S3 object.
13971
+ # Service (Amazon Web Services KMS) symmetric customer managed key that
13972
+ # was used for stored in Amazon S3 object.
13956
13973
  #
13957
13974
  # @option params [String] :sse_customer_key_md5
13958
13975
  # 128-bit MD5 digest of customer-provided encryption key used in Amazon
@@ -14044,7 +14061,7 @@ module Aws::S3
14044
14061
  params: params,
14045
14062
  config: config)
14046
14063
  context[:gem_name] = 'aws-sdk-s3'
14047
- context[:gem_version] = '1.99.0'
14064
+ context[:gem_version] = '1.103.0'
14048
14065
  Seahorse::Client::Request.new(handlers, context)
14049
14066
  end
14050
14067