aws-sdk-s3 1.162.0 → 1.167.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 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*.