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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a0ce7e262a85e038bd67e567d9f401002997d4627ea64c1441ba581dc1f163ae
4
- data.tar.gz: 37b2a93cfc3fbfd9dbbbeb68278f24d05f2f7505b630c66716162c0436ad8e67
3
+ metadata.gz: 34111791125eda0be63a2a63a184b7a25278393369edb85c750f343fb8e8e896
4
+ data.tar.gz: cf4c34ecd77b3c61781dc530646b9a93935d3b9500d690b9f6316f5b4ca6ea6a
5
5
  SHA512:
6
- metadata.gz: ef83c564ee123d7ea47a7210771774f5bd875a08580f38938c9f0cc92cf44d10adfc1444a8868bccfe4d0dc8fbc26ea1abe344da539250693e3cd9083635770e
7
- data.tar.gz: e8b5a3ac07acd57a137c9fa974091c885c6f816243f165d8ad6a8746ac56096726456b9776bdc91ab8f919ad0016590acfbe75c79a0f307e41cad9f3bdc1cc3c
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.162.0
1
+ 1.167.0
@@ -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 CRC32 checksum of the object. For
672
- # more information, see [Checking object integrity][1] in the *Amazon S3
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 CRC32C checksum of the object.
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
- # 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 by
784
- # 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, only the
789
- # server-side encryption with Amazon S3 managed keys (SSE-S3) (`AES256`)
790
- # value is supported.
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
- # If `x-amz-server-side-encryption` has a valid value of `aws:kms` or
869
- # `aws:kms:dsse`, this header specifies the ID (Key ID, Key ARN, or Key
870
- # Alias) of the Key Management Service (KMS) symmetric encryption
871
- # customer managed key that was used for the object. If you specify
872
- # `x-amz-server-side-encryption:aws:kms` or
873
- # `x-amz-server-side-encryption:aws:kms:dsse`, but do not provide`
874
- # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
875
- # Amazon Web Services managed key (`aws/s3`) to protect the data. If the
876
- # KMS key does not exist in the same account that's issuing the
877
- # command, you must use the full ARN and not just the ID.
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
- # <note markdown="1"> This functionality is not supported for directory buckets.
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
- # </note>
882
- # @option options [String] :ssekms_encryption_context
883
- # Specifies the Amazon Web Services KMS Encryption Context to use for
884
- # object encryption. The value of this header is a base64-encoded UTF-8
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
- # </note>
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). Setting this header to `true` causes Amazon S3
898
- # to use an S3 Bucket Key for object encryption with SSE-KMS.
960
+ # (KMS) keys (SSE-KMS).
899
961
  #
900
- # Specifying this header with a PUT action doesn’t affect bucket-level
901
- # settings for S3 Bucket Key.
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
- # <note markdown="1"> This functionality is not supported for directory buckets.
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
- # </note>
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
- # @return [EmptyStructure]
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*.