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 +4 -4
- data/CHANGELOG.md +20 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/arn/multi_region_access_point_arn.rb +69 -0
- data/lib/aws-sdk-s3/bucket.rb +7 -7
- data/lib/aws-sdk-s3/client.rb +261 -244
- data/lib/aws-sdk-s3/client_api.rb +3 -0
- data/lib/aws-sdk-s3/encryption/client.rb +1 -1
- data/lib/aws-sdk-s3/encryption/decrypt_handler.rb +0 -4
- data/lib/aws-sdk-s3/encryptionV2/client.rb +1 -1
- data/lib/aws-sdk-s3/encryptionV2/decrypt_handler.rb +0 -4
- data/lib/aws-sdk-s3/encryptionV2/encrypt_handler.rb +0 -4
- data/lib/aws-sdk-s3/object.rb +22 -21
- data/lib/aws-sdk-s3/object_summary.rb +16 -15
- data/lib/aws-sdk-s3/object_version.rb +4 -3
- data/lib/aws-sdk-s3/plugins/arn.rb +51 -12
- data/lib/aws-sdk-s3/plugins/s3_signer.rb +10 -1
- data/lib/aws-sdk-s3/presigner.rb +6 -0
- data/lib/aws-sdk-s3/types.rb +82 -60
- data/lib/aws-sdk-s3.rb +1 -1
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 15712b72bf9c4eceb463344aa738f5e520a02161776d0a2e0c501c589ffba31b
|
4
|
+
data.tar.gz: 44bd3b0c543a0bb6b31ff26da9e664b431b0497ca5157385671526a9bbe8c589
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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
|
data/lib/aws-sdk-s3/bucket.rb
CHANGED
@@ -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.
|
319
|
-
#
|
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
|
521
|
-
#
|
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
|
524
|
-
#
|
525
|
-
#
|
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
|
data/lib/aws-sdk-s3/client.rb
CHANGED
@@ -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
|
1561
|
-
#
|
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
|
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
|
1577
|
-
#
|
1578
|
-
#
|
1579
|
-
#
|
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
|
1614
|
-
#
|
1615
|
-
#
|
1616
|
-
#
|
1617
|
-
#
|
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
|
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
|
1637
|
-
#
|
1638
|
-
#
|
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
|
1652
|
-
#
|
1653
|
-
#
|
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
|
1880
|
-
#
|
1881
|
-
#
|
1882
|
-
#
|
1883
|
-
#
|
1884
|
-
#
|
1885
|
-
#
|
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
|
2256
|
-
# Intelligent-Tiering delivers automatic cost savings
|
2257
|
-
#
|
2258
|
-
#
|
2259
|
-
#
|
2260
|
-
#
|
2261
|
-
#
|
2262
|
-
#
|
2263
|
-
#
|
2264
|
-
#
|
2265
|
-
#
|
2266
|
-
#
|
2267
|
-
#
|
2268
|
-
#
|
2269
|
-
#
|
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.
|
3016
|
-
# #
|
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: "
|
3030
|
+
# version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
|
3026
3031
|
# }
|
3027
3032
|
#
|
3028
|
-
# @example Example: To remove tag set from an object
|
3033
|
+
# @example Example: To remove tag set from an object
|
3029
3034
|
#
|
3030
|
-
# # The following example removes tag set associated with the specified object
|
3031
|
-
# #
|
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: "
|
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.
|
3167
|
-
#
|
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<Types::Error>
|
3179
3183
|
#
|
3180
3184
|
#
|
3181
|
-
# @example Example: To delete multiple
|
3185
|
+
# @example Example: To delete multiple object versions from a versioned bucket
|
3182
3186
|
#
|
3183
|
-
# # The following example deletes objects from a bucket. The
|
3184
|
-
# #
|
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: "
|
3195
|
+
# key: "HappyFace.jpg",
|
3196
|
+
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
3192
3197
|
# },
|
3193
3198
|
# {
|
3194
|
-
# key: "
|
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
|
-
#
|
3206
|
-
#
|
3207
|
-
# key: "objectkey1",
|
3211
|
+
# key: "HappyFace.jpg",
|
3212
|
+
# version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
|
3208
3213
|
# },
|
3209
3214
|
# {
|
3210
|
-
#
|
3211
|
-
#
|
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
|
3221
|
+
# @example Example: To delete multiple objects from a versioned bucket
|
3218
3222
|
#
|
3219
|
-
# # The following example deletes objects from a bucket. The
|
3220
|
-
# #
|
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: "
|
3228
|
-
# version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
|
3231
|
+
# key: "objectkey1",
|
3229
3232
|
# },
|
3230
3233
|
# {
|
3231
|
-
# key: "
|
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
|
-
#
|
3244
|
-
#
|
3245
|
+
# delete_marker: true,
|
3246
|
+
# delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
|
3247
|
+
# key: "objectkey1",
|
3245
3248
|
# },
|
3246
3249
|
# {
|
3247
|
-
#
|
3248
|
-
#
|
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
|
3719
|
-
# Intelligent-Tiering delivers automatic cost savings
|
3720
|
-
#
|
3721
|
-
#
|
3722
|
-
#
|
3723
|
-
#
|
3724
|
-
#
|
3725
|
-
#
|
3726
|
-
#
|
3727
|
-
#
|
3728
|
-
#
|
3729
|
-
#
|
3730
|
-
#
|
3731
|
-
#
|
3732
|
-
#
|
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
|
5161
|
-
#
|
5162
|
-
#
|
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
|
5180
|
-
#
|
5181
|
-
#
|
5182
|
-
#
|
5183
|
-
#
|
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
|
5188
|
-
# information, see [Specifying Permissions in a
|
5189
|
-
# object you request does not exist, the error Amazon
|
5190
|
-
# on whether you also have the `s3:ListBucket`
|
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
|
5451
|
+
# @example Example: To retrieve an object
|
5441
5452
|
#
|
5442
|
-
# # The following example retrieves an object for an S3 bucket.
|
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: "
|
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:
|
5455
|
-
#
|
5456
|
-
#
|
5457
|
-
#
|
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: "
|
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:
|
5477
|
-
#
|
5478
|
-
#
|
5479
|
-
#
|
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
|
6387
|
-
#
|
6388
|
-
#
|
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
|
6424
|
-
# information, see [Specifying Permissions in a
|
6425
|
-
# object you request does not exist, the error Amazon
|
6426
|
-
# on whether you also have the s3:ListBucket
|
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
|
6775
|
-
# Intelligent-Tiering delivers automatic cost savings
|
6776
|
-
#
|
6777
|
-
#
|
6778
|
-
#
|
6779
|
-
#
|
6780
|
-
#
|
6781
|
-
#
|
6782
|
-
#
|
6783
|
-
#
|
6784
|
-
#
|
6785
|
-
#
|
6786
|
-
#
|
6787
|
-
#
|
6788
|
-
#
|
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
|
8818
|
-
#
|
8819
|
-
#
|
8820
|
-
#
|
8821
|
-
#
|
8822
|
-
#
|
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
|
8855
|
-
#
|
8856
|
-
#
|
8857
|
-
#
|
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
|
8916
|
-
# Intelligent-Tiering delivers automatic cost savings
|
8917
|
-
#
|
8918
|
-
#
|
8919
|
-
#
|
8920
|
-
#
|
8921
|
-
#
|
8922
|
-
#
|
8923
|
-
#
|
8924
|
-
#
|
8925
|
-
#
|
8926
|
-
#
|
8927
|
-
#
|
8928
|
-
#
|
8929
|
-
#
|
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
|
-
# * [
|
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/
|
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
|
10139
|
-
#
|
10140
|
-
#
|
10141
|
-
# `
|
10142
|
-
#
|
10143
|
-
#
|
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
|
11108
|
-
#
|
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
|
11111
|
-
#
|
11112
|
-
#
|
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
|
11195
|
+
# @example Example: To upload an object and specify optional tags
|
11178
11196
|
#
|
11179
|
-
# # The following example
|
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: "
|
11201
|
+
# body: "c:\\HappyFace.jpg",
|
11183
11202
|
# bucket: "examplebucket",
|
11184
|
-
# key: "
|
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: "
|
11210
|
+
# version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
|
11191
11211
|
# }
|
11192
11212
|
#
|
11193
|
-
# @example Example: To upload an object and specify
|
11213
|
+
# @example Example: To upload an object and specify canned ACL.
|
11194
11214
|
#
|
11195
|
-
# # The following example uploads
|
11196
|
-
# # S3 returns version ID
|
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
|
-
#
|
11219
|
+
# acl: "authenticated-read",
|
11220
|
+
# body: "filetoupload",
|
11200
11221
|
# bucket: "examplebucket",
|
11201
|
-
# key: "
|
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: "
|
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
|
11214
|
-
# #
|
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: "
|
11237
|
+
# body: "filetoupload",
|
11218
11238
|
# bucket: "examplebucket",
|
11219
|
-
# key: "
|
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
|
-
#
|
11247
|
+
# server_side_encryption: "AES256",
|
11248
|
+
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
11226
11249
|
# }
|
11227
11250
|
#
|
11228
|
-
# @example Example: To
|
11251
|
+
# @example Example: To create an object.
|
11229
11252
|
#
|
11230
|
-
# # The following example
|
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: "
|
11256
|
+
# body: "filetoupload",
|
11235
11257
|
# bucket: "examplebucket",
|
11236
|
-
# key: "
|
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
|
-
#
|
11245
|
-
# version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
|
11264
|
+
# version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
|
11246
11265
|
# }
|
11247
11266
|
#
|
11248
|
-
# @example Example: To upload an object
|
11267
|
+
# @example Example: To upload an object
|
11249
11268
|
#
|
11250
|
-
# # The following example uploads
|
11251
|
-
# #
|
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: "
|
11273
|
+
# body: "HappyFace.jpg",
|
11255
11274
|
# bucket: "examplebucket",
|
11256
|
-
# key: "
|
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
|
-
#
|
11265
|
-
# version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
|
11281
|
+
# version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
|
11266
11282
|
# }
|
11267
11283
|
#
|
11268
|
-
# @example Example: To upload an object
|
11284
|
+
# @example Example: To upload an object (specify optional headers)
|
11269
11285
|
#
|
11270
|
-
# # The following example uploads
|
11271
|
-
# #
|
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
|
-
#
|
11275
|
-
# body: "filetoupload",
|
11290
|
+
# body: "HappyFace.jpg",
|
11276
11291
|
# bucket: "examplebucket",
|
11277
|
-
# key: "
|
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
|
-
#
|
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
|
12738
|
-
#
|
12739
|
-
#
|
12740
|
-
#
|
12741
|
-
#
|
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
|
13738
|
-
#
|
13739
|
-
#
|
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
|
13762
|
-
#
|
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
|
13955
|
-
#
|
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.
|
14064
|
+
context[:gem_version] = '1.103.0'
|
14048
14065
|
Seahorse::Client::Request.new(handlers, context)
|
14049
14066
|
end
|
14050
14067
|
|