aws-sdk-s3 1.99.0 → 1.103.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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