aws-sdk-s3 1.162.0 → 1.167.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 +4 -4
- data/CHANGELOG.md +25 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-s3/bucket.rb +135 -55
- data/lib/aws-sdk-s3/bucket_lifecycle_configuration.rb +38 -1
- data/lib/aws-sdk-s3/bucket_policy.rb +4 -4
- data/lib/aws-sdk-s3/client.rb +1124 -398
- data/lib/aws-sdk-s3/client_api.rb +17 -1
- data/lib/aws-sdk-s3/customizations/object.rb +6 -0
- data/lib/aws-sdk-s3/customizations/object_summary.rb +5 -0
- data/lib/aws-sdk-s3/customizations/object_version.rb +13 -0
- data/lib/aws-sdk-s3/customizations.rb +24 -38
- data/lib/aws-sdk-s3/errors.rb +3 -0
- data/lib/aws-sdk-s3/multipart_upload.rb +7 -4
- data/lib/aws-sdk-s3/multipart_upload_part.rb +8 -8
- data/lib/aws-sdk-s3/object.rb +353 -143
- data/lib/aws-sdk-s3/object_summary.rb +339 -121
- data/lib/aws-sdk-s3/object_version.rb +21 -12
- data/lib/aws-sdk-s3/plugins/endpoints.rb +13 -7
- data/lib/aws-sdk-s3/types.rb +755 -350
- data/lib/aws-sdk-s3.rb +35 -31
- data/sig/bucket_lifecycle_configuration.rbs +7 -3
- data/sig/client.rbs +19 -4
- data/sig/resource.rbs +1 -0
- data/sig/types.rbs +17 -2
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 34111791125eda0be63a2a63a184b7a25278393369edb85c750f343fb8e8e896
|
4
|
+
data.tar.gz: cf4c34ecd77b3c61781dc530646b9a93935d3b9500d690b9f6316f5b4ca6ea6a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64a2bbc7ceabb661e95546bef8d52f42f6f1feb819fb9163d5c7ba525976498d3b56ca8be6e52b1bb5229d401c5863aeda481a100c0e72e0da700f8e18674520
|
7
|
+
data.tar.gz: eab354c564d821f4c8666fb086ad96316aa461891c91d1ee3cefe2e7551d084d2ee7532e8be402c6e6f582d6ecb927b80cf904449d3b2cf6e86d9ad115088887
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,31 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.167.0 (2024-10-02)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - This release introduces a header representing the minimum object size limit for Lifecycle transitions.
|
8
|
+
|
9
|
+
1.166.0 (2024-09-24)
|
10
|
+
------------------
|
11
|
+
|
12
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
13
|
+
|
14
|
+
1.165.0 (2024-09-23)
|
15
|
+
------------------
|
16
|
+
|
17
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
18
|
+
|
19
|
+
1.164.0 (2024-09-20)
|
20
|
+
------------------
|
21
|
+
|
22
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
23
|
+
|
24
|
+
1.163.0 (2024-09-18)
|
25
|
+
------------------
|
26
|
+
|
27
|
+
* Feature - Added SSE-KMS support for directory buckets.
|
28
|
+
|
4
29
|
1.162.0 (2024-09-11)
|
5
30
|
------------------
|
6
31
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.167.0
|
data/lib/aws-sdk-s3/bucket.rb
CHANGED
@@ -447,13 +447,13 @@ module Aws::S3
|
|
447
447
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
448
448
|
# the supported algorithm from the following list:
|
449
449
|
#
|
450
|
-
# * CRC32
|
450
|
+
# * `CRC32`
|
451
451
|
#
|
452
|
-
# * CRC32C
|
452
|
+
# * `CRC32C`
|
453
453
|
#
|
454
|
-
# * SHA1
|
454
|
+
# * `SHA1`
|
455
455
|
#
|
456
|
-
# * SHA256
|
456
|
+
# * `SHA256`
|
457
457
|
#
|
458
458
|
# For more information, see [Checking object integrity][1] in the
|
459
459
|
# *Amazon S3 User Guide*.
|
@@ -640,13 +640,13 @@ module Aws::S3
|
|
640
640
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
641
641
|
# the supported algorithm from the following list:
|
642
642
|
#
|
643
|
-
# * CRC32
|
643
|
+
# * `CRC32`
|
644
644
|
#
|
645
|
-
# * CRC32C
|
645
|
+
# * `CRC32C`
|
646
646
|
#
|
647
|
-
# * SHA1
|
647
|
+
# * `SHA1`
|
648
648
|
#
|
649
|
-
# * SHA256
|
649
|
+
# * `SHA256`
|
650
650
|
#
|
651
651
|
# For more information, see [Checking object integrity][1] in the
|
652
652
|
# *Amazon S3 User Guide*.
|
@@ -668,9 +668,9 @@ module Aws::S3
|
|
668
668
|
# @option options [String] :checksum_crc32
|
669
669
|
# This header can be used as a data integrity check to verify that the
|
670
670
|
# data received is the same data that was originally sent. This header
|
671
|
-
# specifies the base64-encoded, 32-bit
|
672
|
-
# more information, see [Checking object integrity][1] in the
|
673
|
-
# User Guide*.
|
671
|
+
# specifies the base64-encoded, 32-bit CRC-32 checksum of the object.
|
672
|
+
# For more information, see [Checking object integrity][1] in the
|
673
|
+
# *Amazon S3 User Guide*.
|
674
674
|
#
|
675
675
|
#
|
676
676
|
#
|
@@ -678,7 +678,7 @@ module Aws::S3
|
|
678
678
|
# @option options [String] :checksum_crc32c
|
679
679
|
# This header can be used as a data integrity check to verify that the
|
680
680
|
# data received is the same data that was originally sent. This header
|
681
|
-
# specifies the base64-encoded, 32-bit
|
681
|
+
# specifies the base64-encoded, 32-bit CRC-32C checksum of the object.
|
682
682
|
# For more information, see [Checking object integrity][1] in the
|
683
683
|
# *Amazon S3 User Guide*.
|
684
684
|
#
|
@@ -773,25 +773,65 @@ module Aws::S3
|
|
773
773
|
# object in Amazon S3 (for example, `AES256`, `aws:kms`,
|
774
774
|
# `aws:kms:dsse`).
|
775
775
|
#
|
776
|
-
# <b>General purpose buckets </b> - You have four mutually exclusive
|
777
|
-
#
|
778
|
-
#
|
779
|
-
#
|
780
|
-
#
|
781
|
-
#
|
782
|
-
#
|
783
|
-
#
|
784
|
-
#
|
785
|
-
#
|
786
|
-
#
|
787
|
-
#
|
788
|
-
# <b>Directory buckets </b> - For directory buckets, only
|
789
|
-
#
|
790
|
-
#
|
776
|
+
# * <b>General purpose buckets </b> - You have four mutually exclusive
|
777
|
+
# options to protect data using server-side encryption in Amazon S3,
|
778
|
+
# depending on how you choose to manage the encryption keys.
|
779
|
+
# Specifically, the encryption key options are Amazon S3 managed keys
|
780
|
+
# (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
|
781
|
+
# customer-provided keys (SSE-C). Amazon S3 encrypts data with
|
782
|
+
# server-side encryption by using Amazon S3 managed keys (SSE-S3) by
|
783
|
+
# default. You can optionally tell Amazon S3 to encrypt data at rest
|
784
|
+
# by using server-side encryption with other key options. For more
|
785
|
+
# information, see [Using Server-Side Encryption][1] in the *Amazon S3
|
786
|
+
# User Guide*.
|
787
|
+
#
|
788
|
+
# * <b>Directory buckets </b> - For directory buckets, there are only
|
789
|
+
# two supported options for server-side encryption: server-side
|
790
|
+
# encryption with Amazon S3 managed keys (SSE-S3) (`AES256`) and
|
791
|
+
# server-side encryption with KMS keys (SSE-KMS) (`aws:kms`). We
|
792
|
+
# recommend that the bucket's default encryption uses the desired
|
793
|
+
# encryption configuration and you don't override the bucket default
|
794
|
+
# encryption in your `CreateSession` requests or `PUT` object
|
795
|
+
# requests. Then, new objects are automatically encrypted with the
|
796
|
+
# desired encryption settings. For more information, see [Protecting
|
797
|
+
# data with server-side encryption][2] in the *Amazon S3 User Guide*.
|
798
|
+
# For more information about the encryption overriding behaviors in
|
799
|
+
# directory buckets, see [Specifying server-side encryption with KMS
|
800
|
+
# for new object uploads][3].
|
801
|
+
#
|
802
|
+
# In the Zonal endpoint API calls (except [CopyObject][4] and
|
803
|
+
# [UploadPartCopy][5]) using the REST API, the encryption request
|
804
|
+
# headers must match the encryption settings that are specified in the
|
805
|
+
# `CreateSession` request. You can't override the values of the
|
806
|
+
# encryption settings (`x-amz-server-side-encryption`,
|
807
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`,
|
808
|
+
# `x-amz-server-side-encryption-context`, and
|
809
|
+
# `x-amz-server-side-encryption-bucket-key-enabled`) that are
|
810
|
+
# specified in the `CreateSession` request. You don't need to
|
811
|
+
# explicitly specify these encryption settings values in Zonal
|
812
|
+
# endpoint API calls, and Amazon S3 will use the encryption settings
|
813
|
+
# values from the `CreateSession` request to protect new objects in
|
814
|
+
# the directory bucket.
|
815
|
+
#
|
816
|
+
# <note markdown="1"> When you use the CLI or the Amazon Web Services SDKs, for
|
817
|
+
# `CreateSession`, the session token refreshes automatically to avoid
|
818
|
+
# service interruptions when a session expires. The CLI or the Amazon
|
819
|
+
# Web Services SDKs use the bucket's default encryption configuration
|
820
|
+
# for the `CreateSession` request. It's not supported to override the
|
821
|
+
# encryption settings values in the `CreateSession` request. So in the
|
822
|
+
# Zonal endpoint API calls (except [CopyObject][4] and
|
823
|
+
# [UploadPartCopy][5]), the encryption request headers must match the
|
824
|
+
# default encryption configuration of the directory bucket.
|
825
|
+
#
|
826
|
+
# </note>
|
791
827
|
#
|
792
828
|
#
|
793
829
|
#
|
794
830
|
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
|
831
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html
|
832
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html
|
833
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
834
|
+
# [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
795
835
|
# @option options [String] :storage_class
|
796
836
|
# By default, Amazon S3 uses the STANDARD Storage Class to store newly
|
797
837
|
# created objects. The STANDARD storage class provides high durability
|
@@ -865,44 +905,81 @@ module Aws::S3
|
|
865
905
|
#
|
866
906
|
# </note>
|
867
907
|
# @option options [String] :ssekms_key_id
|
868
|
-
#
|
869
|
-
#
|
870
|
-
#
|
871
|
-
#
|
872
|
-
#
|
873
|
-
#
|
874
|
-
# x-amz-server-side-encryption
|
875
|
-
#
|
876
|
-
#
|
877
|
-
#
|
908
|
+
# Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for
|
909
|
+
# object encryption. If the KMS key doesn't exist in the same account
|
910
|
+
# that's issuing the command, you must use the full Key ARN not the Key
|
911
|
+
# ID.
|
912
|
+
#
|
913
|
+
# **General purpose buckets** - If you specify
|
914
|
+
# `x-amz-server-side-encryption` with `aws:kms` or `aws:kms:dsse`, this
|
915
|
+
# header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key
|
916
|
+
# to use. If you specify `x-amz-server-side-encryption:aws:kms` or
|
917
|
+
# `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide
|
918
|
+
# `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
|
919
|
+
# Amazon Web Services managed key (`aws/s3`) to protect the data.
|
920
|
+
#
|
921
|
+
# **Directory buckets** - If you specify `x-amz-server-side-encryption`
|
922
|
+
# with `aws:kms`, you must specify the `
|
923
|
+
# x-amz-server-side-encryption-aws-kms-key-id` header with the ID (Key
|
924
|
+
# ID or Key ARN) of the KMS symmetric encryption customer managed key to
|
925
|
+
# use. Otherwise, you get an HTTP `400 Bad Request` error. Only use the
|
926
|
+
# key ID or key ARN. The key alias format of the KMS key isn't
|
927
|
+
# supported. Your SSE-KMS configuration can only support 1 [customer
|
928
|
+
# managed key][1] per directory bucket for the lifetime of the bucket.
|
929
|
+
# [Amazon Web Services managed key][2] (`aws/s3`) isn't supported.
|
930
|
+
#
|
931
|
+
#
|
932
|
+
#
|
933
|
+
# [1]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk
|
934
|
+
# [2]: https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk
|
935
|
+
# @option options [String] :ssekms_encryption_context
|
936
|
+
# Specifies the Amazon Web Services KMS Encryption Context as an
|
937
|
+
# additional encryption context to use for object encryption. The value
|
938
|
+
# of this header is a Base64-encoded string of a UTF-8 encoded JSON,
|
939
|
+
# which contains the encryption context as key-value pairs. This value
|
940
|
+
# is stored as object metadata and automatically gets passed on to
|
941
|
+
# Amazon Web Services KMS for future `GetObject` operations on this
|
942
|
+
# object.
|
878
943
|
#
|
879
|
-
#
|
944
|
+
# **General purpose buckets** - This value must be explicitly added
|
945
|
+
# during `CopyObject` operations if you want an additional encryption
|
946
|
+
# context for your object. For more information, see [Encryption
|
947
|
+
# context][1] in the *Amazon S3 User Guide*.
|
880
948
|
#
|
881
|
-
#
|
882
|
-
#
|
883
|
-
#
|
884
|
-
#
|
885
|
-
# string holding JSON with the encryption context key-value pairs. This
|
886
|
-
# value is stored as object metadata and automatically gets passed on to
|
887
|
-
# Amazon Web Services KMS for future `GetObject` or `CopyObject`
|
888
|
-
# operations on this object. This value must be explicitly added during
|
889
|
-
# `CopyObject` operations.
|
949
|
+
# **Directory buckets** - You can optionally provide an explicit
|
950
|
+
# encryption context value. The value must match the default encryption
|
951
|
+
# context - the bucket Amazon Resource Name (ARN). An additional
|
952
|
+
# encryption context value is not supported.
|
890
953
|
#
|
891
|
-
# <note markdown="1"> This functionality is not supported for directory buckets.
|
892
954
|
#
|
893
|
-
#
|
955
|
+
#
|
956
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context
|
894
957
|
# @option options [Boolean] :bucket_key_enabled
|
895
958
|
# Specifies whether Amazon S3 should use an S3 Bucket Key for object
|
896
959
|
# encryption with server-side encryption using Key Management Service
|
897
|
-
# (KMS) keys (SSE-KMS).
|
898
|
-
# to use an S3 Bucket Key for object encryption with SSE-KMS.
|
960
|
+
# (KMS) keys (SSE-KMS).
|
899
961
|
#
|
900
|
-
#
|
901
|
-
#
|
962
|
+
# **General purpose buckets** - Setting this header to `true` causes
|
963
|
+
# Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.
|
964
|
+
# Also, specifying this header with a PUT action doesn't affect
|
965
|
+
# bucket-level settings for S3 Bucket Key.
|
902
966
|
#
|
903
|
-
#
|
967
|
+
# **Directory buckets** - S3 Bucket Keys are always enabled for `GET`
|
968
|
+
# and `PUT` operations in a directory bucket and can’t be disabled. S3
|
969
|
+
# Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects
|
970
|
+
# from general purpose buckets to directory buckets, from directory
|
971
|
+
# buckets to general purpose buckets, or between directory buckets,
|
972
|
+
# through [CopyObject][1], [UploadPartCopy][2], [the Copy operation in
|
973
|
+
# Batch Operations][3], or [the import jobs][4]. In this case, Amazon S3
|
974
|
+
# makes a call to KMS every time a copy request is made for a
|
975
|
+
# KMS-encrypted object.
|
904
976
|
#
|
905
|
-
#
|
977
|
+
#
|
978
|
+
#
|
979
|
+
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
|
980
|
+
# [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
|
981
|
+
# [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops
|
982
|
+
# [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
|
906
983
|
# @option options [String] :request_payer
|
907
984
|
# Confirms that the requester knows that they will be charged for the
|
908
985
|
# request. Bucket owners need not specify this parameter in their
|
@@ -1475,3 +1552,6 @@ module Aws::S3
|
|
1475
1552
|
class Collection < Aws::Resources::Collection; end
|
1476
1553
|
end
|
1477
1554
|
end
|
1555
|
+
|
1556
|
+
# Load customizations if they exist
|
1557
|
+
require 'aws-sdk-s3/customizations/bucket'
|
@@ -40,6 +40,26 @@ module Aws::S3
|
|
40
40
|
data[:rules]
|
41
41
|
end
|
42
42
|
|
43
|
+
# Indicates which default minimum object size behavior is applied to the
|
44
|
+
# lifecycle configuration.
|
45
|
+
#
|
46
|
+
# * `all_storage_classes_128K` - Objects smaller than 128 KB will not
|
47
|
+
# transition to any storage class by default.
|
48
|
+
#
|
49
|
+
# * `varies_by_storage_class` - Objects smaller than 128 KB will
|
50
|
+
# transition to Glacier Flexible Retrieval or Glacier Deep Archive
|
51
|
+
# storage classes. By default, all other storage classes will prevent
|
52
|
+
# transitions smaller than 128 KB.
|
53
|
+
#
|
54
|
+
# To customize the minimum object size for any transition you can add a
|
55
|
+
# filter that specifies a custom `ObjectSizeGreaterThan` or
|
56
|
+
# `ObjectSizeLessThan` in the body of your transition rule. Custom
|
57
|
+
# filters always take precedence over the default transition behavior.
|
58
|
+
# @return [String]
|
59
|
+
def transition_default_minimum_object_size
|
60
|
+
data[:transition_default_minimum_object_size]
|
61
|
+
end
|
62
|
+
|
43
63
|
# @!endgroup
|
44
64
|
|
45
65
|
# @return [Client]
|
@@ -257,6 +277,7 @@ module Aws::S3
|
|
257
277
|
# ],
|
258
278
|
# },
|
259
279
|
# expected_bucket_owner: "AccountId",
|
280
|
+
# transition_default_minimum_object_size: "varies_by_storage_class", # accepts varies_by_storage_class, all_storage_classes_128K
|
260
281
|
# })
|
261
282
|
# @param [Hash] options ({})
|
262
283
|
# @option options [String] :checksum_algorithm
|
@@ -280,7 +301,23 @@ module Aws::S3
|
|
280
301
|
# The account ID of the expected bucket owner. If the account ID that
|
281
302
|
# you provide does not match the actual owner of the bucket, the request
|
282
303
|
# fails with the HTTP status code `403 Forbidden` (access denied).
|
283
|
-
# @
|
304
|
+
# @option options [String] :transition_default_minimum_object_size
|
305
|
+
# Indicates which default minimum object size behavior is applied to the
|
306
|
+
# lifecycle configuration.
|
307
|
+
#
|
308
|
+
# * `all_storage_classes_128K` - Objects smaller than 128 KB will not
|
309
|
+
# transition to any storage class by default.
|
310
|
+
#
|
311
|
+
# * `varies_by_storage_class` - Objects smaller than 128 KB will
|
312
|
+
# transition to Glacier Flexible Retrieval or Glacier Deep Archive
|
313
|
+
# storage classes. By default, all other storage classes will prevent
|
314
|
+
# transitions smaller than 128 KB.
|
315
|
+
#
|
316
|
+
# To customize the minimum object size for any transition you can add a
|
317
|
+
# filter that specifies a custom `ObjectSizeGreaterThan` or
|
318
|
+
# `ObjectSizeLessThan` in the body of your transition rule. Custom
|
319
|
+
# filters always take precedence over the default transition behavior.
|
320
|
+
# @return [Types::PutBucketLifecycleConfigurationOutput]
|
284
321
|
def put(options = {})
|
285
322
|
options = options.merge(bucket: @bucket_name)
|
286
323
|
resp = Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
|
@@ -234,13 +234,13 @@ module Aws::S3
|
|
234
234
|
# For the `x-amz-checksum-algorithm ` header, replace ` algorithm ` with
|
235
235
|
# the supported algorithm from the following list:
|
236
236
|
#
|
237
|
-
# * CRC32
|
237
|
+
# * `CRC32`
|
238
238
|
#
|
239
|
-
# * CRC32C
|
239
|
+
# * `CRC32C`
|
240
240
|
#
|
241
|
-
# * SHA1
|
241
|
+
# * `SHA1`
|
242
242
|
#
|
243
|
-
# * SHA256
|
243
|
+
# * `SHA256`
|
244
244
|
#
|
245
245
|
# For more information, see [Checking object integrity][1] in the
|
246
246
|
# *Amazon S3 User Guide*.
|