aws-sdk-s3 1.84.0 → 1.86.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -247,6 +247,9 @@ module Aws::S3
247
247
  # not corrupted in transit. For more information, go to [RFC
248
248
  # 1864.>][1]
249
249
  #
250
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
251
+ # SDKs, this field is calculated automatically.
252
+ #
250
253
  #
251
254
  #
252
255
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -302,6 +302,7 @@ module Aws::S3
302
302
  # sse_customer_key_md5: "SSECustomerKeyMD5",
303
303
  # ssekms_key_id: "SSEKMSKeyId",
304
304
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
305
+ # bucket_key_enabled: false,
305
306
  # copy_source_sse_customer_algorithm: "CopySourceSSECustomerAlgorithm",
306
307
  # copy_source_sse_customer_key: "CopySourceSSECustomerKey",
307
308
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
@@ -458,6 +459,14 @@ module Aws::S3
458
459
  # Specifies the AWS KMS Encryption Context to use for object encryption.
459
460
  # The value of this header is a base64-encoded UTF-8 string holding JSON
460
461
  # with the encryption context key-value pairs.
462
+ # @option options [Boolean] :bucket_key_enabled
463
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
464
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
465
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
466
+ # for object encryption with SSE-KMS.
467
+ #
468
+ # Specifying this header with a COPY operation doesn’t affect
469
+ # bucket-level settings for S3 Bucket Key.
461
470
  # @option options [String] :copy_source_sse_customer_algorithm
462
471
  # Specifies the algorithm to use when decrypting the source object (for
463
472
  # example, AES256).
@@ -681,6 +690,7 @@ module Aws::S3
681
690
  # sse_customer_key_md5: "SSECustomerKeyMD5",
682
691
  # ssekms_key_id: "SSEKMSKeyId",
683
692
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
693
+ # bucket_key_enabled: false,
684
694
  # request_payer: "requester", # accepts requester
685
695
  # tagging: "TaggingHeader",
686
696
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -772,6 +782,14 @@ module Aws::S3
772
782
  # Specifies the AWS KMS Encryption Context to use for object encryption.
773
783
  # The value of this header is a base64-encoded UTF-8 string holding JSON
774
784
  # with the encryption context key-value pairs.
785
+ # @option options [Boolean] :bucket_key_enabled
786
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
787
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
788
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
789
+ # for object encryption with SSE-KMS.
790
+ #
791
+ # Specifying this header with an object operation doesn’t affect
792
+ # bucket-level settings for S3 Bucket Key.
775
793
  # @option options [String] :request_payer
776
794
  # Confirms that the requester knows that they will be charged for the
777
795
  # request. Bucket owners need not specify this parameter in their
@@ -840,6 +858,7 @@ module Aws::S3
840
858
  # sse_customer_key_md5: "SSECustomerKeyMD5",
841
859
  # ssekms_key_id: "SSEKMSKeyId",
842
860
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
861
+ # bucket_key_enabled: false,
843
862
  # request_payer: "requester", # accepts requester
844
863
  # tagging: "TaggingHeader",
845
864
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -1009,6 +1028,14 @@ module Aws::S3
1009
1028
  # Specifies the AWS KMS Encryption Context to use for object encryption.
1010
1029
  # The value of this header is a base64-encoded UTF-8 string holding JSON
1011
1030
  # with the encryption context key-value pairs.
1031
+ # @option options [Boolean] :bucket_key_enabled
1032
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1033
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
1034
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket Key
1035
+ # for object encryption with SSE-KMS.
1036
+ #
1037
+ # Specifying this header with a PUT operation doesn’t affect
1038
+ # bucket-level settings for S3 Bucket Key.
1012
1039
  # @option options [String] :request_payer
1013
1040
  # Confirms that the requester knows that they will be charged for the
1014
1041
  # request. Bucket owners need not specify this parameter in their
@@ -82,7 +82,7 @@ module Aws
82
82
 
83
83
  if arn
84
84
  S3Signer.build_v4_signer(
85
- service: arn.respond_to?(:outpost_id) ? 's3-outposts' : 's3',
85
+ service: arn.service,
86
86
  region: resolved_region,
87
87
  credentials: context.config.credentials
88
88
  )
@@ -196,7 +196,7 @@ module Aws
196
196
  req.handlers.remove(Aws::S3::Plugins::S3Signer::V4Handler)
197
197
  req.handlers.remove(Seahorse::Client::Plugins::ContentLength::Handler)
198
198
 
199
- signer = build_signer(req.context.config, unsigned_headers)
199
+ signer = build_signer(req.context, unsigned_headers)
200
200
 
201
201
  req.handle(step: :send) do |context|
202
202
  if scheme != http_req.endpoint.scheme
@@ -240,14 +240,27 @@ module Aws
240
240
  x_amz_headers
241
241
  end
242
242
 
243
- def build_signer(cfg, unsigned_headers)
244
- Aws::Sigv4::Signer.new(
243
+ def build_signer(context, unsigned_headers)
244
+ signer_opts = {
245
245
  service: 's3',
246
- region: cfg.region,
247
- credentials_provider: cfg.credentials,
246
+ region: context.config.region,
247
+ credentials_provider: context.config.credentials,
248
248
  unsigned_headers: unsigned_headers,
249
249
  uri_escape_path: false
250
+ }
251
+
252
+ resolved_region, arn = Aws::S3::Plugins::ARN.resolve_arn!(
253
+ context.params[:bucket],
254
+ context.config.sigv4_signer.region,
255
+ context.config.s3_use_arn_region
250
256
  )
257
+
258
+ if arn
259
+ signer_opts[:region] = resolved_region
260
+ signer_opts[:service] = arn.service
261
+ end
262
+
263
+ Aws::Sigv4::Signer.new(signer_opts)
251
264
  end
252
265
  end
253
266
  end
@@ -459,7 +459,8 @@ module Aws::S3
459
459
  # @return [String]
460
460
  #
461
461
  # @!attribute [rw] creation_date
462
- # Date the bucket was created.
462
+ # Date the bucket was created. This date can change when making
463
+ # changes to your bucket, such as editing its bucket policy.
463
464
  # @return [Time]
464
465
  #
465
466
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Bucket AWS API Documentation
@@ -973,6 +974,11 @@ module Aws::S3
973
974
  # used for the object.
974
975
  # @return [String]
975
976
  #
977
+ # @!attribute [rw] bucket_key_enabled
978
+ # Indicates whether the multipart upload uses an S3 Bucket Key for
979
+ # server-side encryption with AWS KMS (SSE-KMS).
980
+ # @return [Boolean]
981
+ #
976
982
  # @!attribute [rw] request_charged
977
983
  # If present, indicates that the requester was successfully charged
978
984
  # for the request.
@@ -989,6 +995,7 @@ module Aws::S3
989
995
  :server_side_encryption,
990
996
  :version_id,
991
997
  :ssekms_key_id,
998
+ :bucket_key_enabled,
992
999
  :request_charged)
993
1000
  SENSITIVE = [:ssekms_key_id]
994
1001
  include Aws::Structure
@@ -1213,6 +1220,11 @@ module Aws::S3
1213
1220
  # pairs.
1214
1221
  # @return [String]
1215
1222
  #
1223
+ # @!attribute [rw] bucket_key_enabled
1224
+ # Indicates whether the copied object uses an S3 Bucket Key for
1225
+ # server-side encryption with AWS KMS (SSE-KMS).
1226
+ # @return [Boolean]
1227
+ #
1216
1228
  # @!attribute [rw] request_charged
1217
1229
  # If present, indicates that the requester was successfully charged
1218
1230
  # for the request.
@@ -1230,6 +1242,7 @@ module Aws::S3
1230
1242
  :sse_customer_key_md5,
1231
1243
  :ssekms_key_id,
1232
1244
  :ssekms_encryption_context,
1245
+ :bucket_key_enabled,
1233
1246
  :request_charged)
1234
1247
  SENSITIVE = [:ssekms_key_id, :ssekms_encryption_context]
1235
1248
  include Aws::Structure
@@ -1270,6 +1283,7 @@ module Aws::S3
1270
1283
  # sse_customer_key_md5: "SSECustomerKeyMD5",
1271
1284
  # ssekms_key_id: "SSEKMSKeyId",
1272
1285
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
1286
+ # bucket_key_enabled: false,
1273
1287
  # copy_source_sse_customer_algorithm: "CopySourceSSECustomerAlgorithm",
1274
1288
  # copy_source_sse_customer_key: "CopySourceSSECustomerKey",
1275
1289
  # copy_source_sse_customer_key_md5: "CopySourceSSECustomerKeyMD5",
@@ -1513,6 +1527,16 @@ module Aws::S3
1513
1527
  # string holding JSON with the encryption context key-value pairs.
1514
1528
  # @return [String]
1515
1529
  #
1530
+ # @!attribute [rw] bucket_key_enabled
1531
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
1532
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
1533
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket
1534
+ # Key for object encryption with SSE-KMS.
1535
+ #
1536
+ # Specifying this header with a COPY operation doesn’t affect
1537
+ # bucket-level settings for S3 Bucket Key.
1538
+ # @return [Boolean]
1539
+ #
1516
1540
  # @!attribute [rw] copy_source_sse_customer_algorithm
1517
1541
  # Specifies the algorithm to use when decrypting the source object
1518
1542
  # (for example, AES256).
@@ -1606,6 +1630,7 @@ module Aws::S3
1606
1630
  :sse_customer_key_md5,
1607
1631
  :ssekms_key_id,
1608
1632
  :ssekms_encryption_context,
1633
+ :bucket_key_enabled,
1609
1634
  :copy_source_sse_customer_algorithm,
1610
1635
  :copy_source_sse_customer_key,
1611
1636
  :copy_source_sse_customer_key_md5,
@@ -1859,6 +1884,11 @@ module Aws::S3
1859
1884
  # pairs.
1860
1885
  # @return [String]
1861
1886
  #
1887
+ # @!attribute [rw] bucket_key_enabled
1888
+ # Indicates whether the multipart upload uses an S3 Bucket Key for
1889
+ # server-side encryption with AWS KMS (SSE-KMS).
1890
+ # @return [Boolean]
1891
+ #
1862
1892
  # @!attribute [rw] request_charged
1863
1893
  # If present, indicates that the requester was successfully charged
1864
1894
  # for the request.
@@ -1877,6 +1907,7 @@ module Aws::S3
1877
1907
  :sse_customer_key_md5,
1878
1908
  :ssekms_key_id,
1879
1909
  :ssekms_encryption_context,
1910
+ :bucket_key_enabled,
1880
1911
  :request_charged)
1881
1912
  SENSITIVE = [:ssekms_key_id, :ssekms_encryption_context]
1882
1913
  include Aws::Structure
@@ -1910,6 +1941,7 @@ module Aws::S3
1910
1941
  # sse_customer_key_md5: "SSECustomerKeyMD5",
1911
1942
  # ssekms_key_id: "SSEKMSKeyId",
1912
1943
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
1944
+ # bucket_key_enabled: false,
1913
1945
  # request_payer: "requester", # accepts requester
1914
1946
  # tagging: "TaggingHeader",
1915
1947
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -2074,6 +2106,16 @@ module Aws::S3
2074
2106
  # string holding JSON with the encryption context key-value pairs.
2075
2107
  # @return [String]
2076
2108
  #
2109
+ # @!attribute [rw] bucket_key_enabled
2110
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
2111
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
2112
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket
2113
+ # Key for object encryption with SSE-KMS.
2114
+ #
2115
+ # Specifying this header with an object operation doesn’t affect
2116
+ # bucket-level settings for S3 Bucket Key.
2117
+ # @return [Boolean]
2118
+ #
2077
2119
  # @!attribute [rw] request_payer
2078
2120
  # Confirms that the requester knows that they will be charged for the
2079
2121
  # request. Bucket owners need not specify this parameter in their
@@ -2136,6 +2178,7 @@ module Aws::S3
2136
2178
  :sse_customer_key_md5,
2137
2179
  :ssekms_key_id,
2138
2180
  :ssekms_encryption_context,
2181
+ :bucket_key_enabled,
2139
2182
  :request_payer,
2140
2183
  :tagging,
2141
2184
  :object_lock_mode,
@@ -5370,6 +5413,11 @@ module Aws::S3
5370
5413
  # used for the object.
5371
5414
  # @return [String]
5372
5415
  #
5416
+ # @!attribute [rw] bucket_key_enabled
5417
+ # Indicates whether the object uses an S3 Bucket Key for server-side
5418
+ # encryption with AWS KMS (SSE-KMS).
5419
+ # @return [Boolean]
5420
+ #
5373
5421
  # @!attribute [rw] storage_class
5374
5422
  # Provides storage class information of the object. Amazon S3 returns
5375
5423
  # this header for all objects except for S3 Standard storage class
@@ -5435,6 +5483,7 @@ module Aws::S3
5435
5483
  :sse_customer_algorithm,
5436
5484
  :sse_customer_key_md5,
5437
5485
  :ssekms_key_id,
5486
+ :bucket_key_enabled,
5438
5487
  :storage_class,
5439
5488
  :request_charged,
5440
5489
  :replication_status,
@@ -6222,6 +6271,11 @@ module Aws::S3
6222
6271
  # used for the object.
6223
6272
  # @return [String]
6224
6273
  #
6274
+ # @!attribute [rw] bucket_key_enabled
6275
+ # Indicates whether the object uses an S3 Bucket Key for server-side
6276
+ # encryption with AWS KMS (SSE-KMS).
6277
+ # @return [Boolean]
6278
+ #
6225
6279
  # @!attribute [rw] storage_class
6226
6280
  # Provides storage class information of the object. Amazon S3 returns
6227
6281
  # this header for all objects except for S3 Standard storage class
@@ -6241,11 +6295,11 @@ module Aws::S3
6241
6295
  #
6242
6296
  # @!attribute [rw] replication_status
6243
6297
  # Amazon S3 can return this header if your request involves a bucket
6244
- # that is either a source or destination in a replication rule.
6298
+ # that is either a source or a destination in a replication rule.
6245
6299
  #
6246
6300
  # In replication, you have a source bucket on which you configure
6247
- # replication and destination bucket where Amazon S3 stores object
6248
- # replicas. When you request an object (`GetObject`) or object
6301
+ # replication and destination bucket or buckets where Amazon S3 stores
6302
+ # object replicas. When you request an object (`GetObject`) or object
6249
6303
  # metadata (`HeadObject`) from these buckets, Amazon S3 will return
6250
6304
  # the `x-amz-replication-status` header in the response as follows:
6251
6305
  #
@@ -6262,10 +6316,18 @@ module Aws::S3
6262
6316
  # header with value PENDING, COMPLETED or FAILED indicating object
6263
6317
  # replication status.
6264
6318
  #
6265
- # * If requesting an object from the destination bucket — Amazon S3
6266
- # will return the `x-amz-replication-status` header with value
6267
- # REPLICA if the object in your request is a replica that Amazon S3
6268
- # created.
6319
+ # * If requesting an object from a destination bucket — Amazon S3 will
6320
+ # return the `x-amz-replication-status` header with value REPLICA if
6321
+ # the object in your request is a replica that Amazon S3 created and
6322
+ # there is no replica modification replication in progress.
6323
+ #
6324
+ # * When replicating objects to multiple destination buckets the
6325
+ # `x-amz-replication-status` header acts differently. The header of
6326
+ # the source object will only return a value of COMPLETED when
6327
+ # replication is successful to all destinations. The header will
6328
+ # remain at value PENDING until replication has completed for all
6329
+ # destinations. If one or more destinations fails replication the
6330
+ # header will return FAILED.
6269
6331
  #
6270
6332
  # For more information, see [Replication][1].
6271
6333
  #
@@ -6334,6 +6396,7 @@ module Aws::S3
6334
6396
  :sse_customer_algorithm,
6335
6397
  :sse_customer_key_md5,
6336
6398
  :ssekms_key_id,
6399
+ :bucket_key_enabled,
6337
6400
  :storage_class,
6338
6401
  :request_charged,
6339
6402
  :replication_status,
@@ -9975,6 +10038,9 @@ module Aws::S3
9975
10038
  # was not corrupted in transit. For more information, go to [RFC
9976
10039
  # 1864.][1]
9977
10040
  #
10041
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
10042
+ # SDKs, this field is calculated automatically.
10043
+ #
9978
10044
  #
9979
10045
  #
9980
10046
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -10137,6 +10203,9 @@ module Aws::S3
10137
10203
  # was not corrupted in transit. For more information, go to [RFC
10138
10204
  # 1864.][1]
10139
10205
  #
10206
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
10207
+ # SDKs, this field is calculated automatically.
10208
+ #
10140
10209
  #
10141
10210
  #
10142
10211
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -10172,6 +10241,7 @@ module Aws::S3
10172
10241
  # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
10173
10242
  # kms_master_key_id: "SSEKMSKeyId",
10174
10243
  # },
10244
+ # bucket_key_enabled: false,
10175
10245
  # },
10176
10246
  # ],
10177
10247
  # },
@@ -10193,8 +10263,10 @@ module Aws::S3
10193
10263
  #
10194
10264
  # @!attribute [rw] content_md5
10195
10265
  # The base64-encoded 128-bit MD5 digest of the server-side encryption
10196
- # configuration. This parameter is auto-populated when using the
10197
- # command from the CLI.
10266
+ # configuration.
10267
+ #
10268
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
10269
+ # SDKs, this field is calculated automatically.
10198
10270
  # @return [String]
10199
10271
  #
10200
10272
  # @!attribute [rw] server_side_encryption_configuration
@@ -10464,6 +10536,8 @@ module Aws::S3
10464
10536
  # @return [String]
10465
10537
  #
10466
10538
  # @!attribute [rw] content_md5
10539
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
10540
+ # SDKs, this field is calculated automatically.
10467
10541
  # @return [String]
10468
10542
  #
10469
10543
  # @!attribute [rw] lifecycle_configuration
@@ -10523,6 +10597,9 @@ module Aws::S3
10523
10597
  #
10524
10598
  # @!attribute [rw] content_md5
10525
10599
  # The MD5 hash of the `PutBucketLogging` request body.
10600
+ #
10601
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
10602
+ # SDKs, this field is calculated automatically.
10526
10603
  # @return [String]
10527
10604
  #
10528
10605
  # @!attribute [rw] expected_bucket_owner
@@ -10722,6 +10799,9 @@ module Aws::S3
10722
10799
  #
10723
10800
  # @!attribute [rw] content_md5
10724
10801
  # The MD5 hash of the `PutPublicAccessBlock` request body.
10802
+ #
10803
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
10804
+ # SDKs, this field is calculated automatically.
10725
10805
  # @return [String]
10726
10806
  #
10727
10807
  # @!attribute [rw] notification_configuration
@@ -10768,6 +10848,9 @@ module Aws::S3
10768
10848
  #
10769
10849
  # @!attribute [rw] content_md5
10770
10850
  # The MD5 hash of the `OwnershipControls` request body.
10851
+ #
10852
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
10853
+ # SDKs, this field is calculated automatically.
10771
10854
  # @return [String]
10772
10855
  #
10773
10856
  # @!attribute [rw] expected_bucket_owner
@@ -10809,6 +10892,9 @@ module Aws::S3
10809
10892
  #
10810
10893
  # @!attribute [rw] content_md5
10811
10894
  # The MD5 hash of the request body.
10895
+ #
10896
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
10897
+ # SDKs, this field is calculated automatically.
10812
10898
  # @return [String]
10813
10899
  #
10814
10900
  # @!attribute [rw] confirm_remove_self_bucket_access
@@ -10872,6 +10958,9 @@ module Aws::S3
10872
10958
  # sse_kms_encrypted_objects: {
10873
10959
  # status: "Enabled", # required, accepts Enabled, Disabled
10874
10960
  # },
10961
+ # replica_modifications: {
10962
+ # status: "Enabled", # required, accepts Enabled, Disabled
10963
+ # },
10875
10964
  # },
10876
10965
  # existing_object_replication: {
10877
10966
  # status: "Enabled", # required, accepts Enabled, Disabled
@@ -10919,6 +11008,9 @@ module Aws::S3
10919
11008
  # was not corrupted in transit. For more information, see [RFC
10920
11009
  # 1864][1].
10921
11010
  #
11011
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
11012
+ # SDKs, this field is calculated automatically.
11013
+ #
10922
11014
  #
10923
11015
  #
10924
11016
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -10973,6 +11065,9 @@ module Aws::S3
10973
11065
  # body was not corrupted in transit. For more information, see [RFC
10974
11066
  # 1864][1].
10975
11067
  #
11068
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
11069
+ # SDKs, this field is calculated automatically.
11070
+ #
10976
11071
  #
10977
11072
  #
10978
11073
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -11026,6 +11121,9 @@ module Aws::S3
11026
11121
  # was not corrupted in transit. For more information, see [RFC
11027
11122
  # 1864][1].
11028
11123
  #
11124
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
11125
+ # SDKs, this field is calculated automatically.
11126
+ #
11029
11127
  #
11030
11128
  #
11031
11129
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -11076,6 +11174,9 @@ module Aws::S3
11076
11174
  # body was not corrupted in transit. For more information, see [RFC
11077
11175
  # 1864][1].
11078
11176
  #
11177
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
11178
+ # SDKs, this field is calculated automatically.
11179
+ #
11079
11180
  #
11080
11181
  #
11081
11182
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -11155,6 +11256,9 @@ module Aws::S3
11155
11256
  # was not corrupted in transit. For more information, see [RFC
11156
11257
  # 1864][1].
11157
11258
  #
11259
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
11260
+ # SDKs, this field is calculated automatically.
11261
+ #
11158
11262
  #
11159
11263
  #
11160
11264
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -11268,6 +11372,9 @@ module Aws::S3
11268
11372
  # was not corrupted in transit. For more information, go to [RFC
11269
11373
  # 1864.>][1]
11270
11374
  #
11375
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
11376
+ # SDKs, this field is calculated automatically.
11377
+ #
11271
11378
  #
11272
11379
  #
11273
11380
  # [1]: http://www.ietf.org/rfc/rfc1864.txt
@@ -11445,6 +11552,9 @@ module Aws::S3
11445
11552
  #
11446
11553
  # @!attribute [rw] content_md5
11447
11554
  # The MD5 hash for the request body.
11555
+ #
11556
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
11557
+ # SDKs, this field is calculated automatically.
11448
11558
  # @return [String]
11449
11559
  #
11450
11560
  # @!attribute [rw] expected_bucket_owner
@@ -11529,6 +11639,9 @@ module Aws::S3
11529
11639
  #
11530
11640
  # @!attribute [rw] content_md5
11531
11641
  # The MD5 hash for the request body.
11642
+ #
11643
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
11644
+ # SDKs, this field is calculated automatically.
11532
11645
  # @return [String]
11533
11646
  #
11534
11647
  # @!attribute [rw] expected_bucket_owner
@@ -11604,6 +11717,11 @@ module Aws::S3
11604
11717
  # pairs.
11605
11718
  # @return [String]
11606
11719
  #
11720
+ # @!attribute [rw] bucket_key_enabled
11721
+ # Indicates whether the uploaded object uses an S3 Bucket Key for
11722
+ # server-side encryption with AWS KMS (SSE-KMS).
11723
+ # @return [Boolean]
11724
+ #
11607
11725
  # @!attribute [rw] request_charged
11608
11726
  # If present, indicates that the requester was successfully charged
11609
11727
  # for the request.
@@ -11620,6 +11738,7 @@ module Aws::S3
11620
11738
  :sse_customer_key_md5,
11621
11739
  :ssekms_key_id,
11622
11740
  :ssekms_encryption_context,
11741
+ :bucket_key_enabled,
11623
11742
  :request_charged)
11624
11743
  SENSITIVE = [:ssekms_key_id, :ssekms_encryption_context]
11625
11744
  include Aws::Structure
@@ -11656,6 +11775,7 @@ module Aws::S3
11656
11775
  # sse_customer_key_md5: "SSECustomerKeyMD5",
11657
11776
  # ssekms_key_id: "SSEKMSKeyId",
11658
11777
  # ssekms_encryption_context: "SSEKMSEncryptionContext",
11778
+ # bucket_key_enabled: false,
11659
11779
  # request_payer: "requester", # accepts requester
11660
11780
  # tagging: "TaggingHeader",
11661
11781
  # object_lock_mode: "GOVERNANCE", # accepts GOVERNANCE, COMPLIANCE
@@ -11905,6 +12025,16 @@ module Aws::S3
11905
12025
  # string holding JSON with the encryption context key-value pairs.
11906
12026
  # @return [String]
11907
12027
  #
12028
+ # @!attribute [rw] bucket_key_enabled
12029
+ # Specifies whether Amazon S3 should use an S3 Bucket Key for object
12030
+ # encryption with server-side encryption using AWS KMS (SSE-KMS).
12031
+ # Setting this header to `true` causes Amazon S3 to use an S3 Bucket
12032
+ # Key for object encryption with SSE-KMS.
12033
+ #
12034
+ # Specifying this header with a PUT operation doesn’t affect
12035
+ # bucket-level settings for S3 Bucket Key.
12036
+ # @return [Boolean]
12037
+ #
11908
12038
  # @!attribute [rw] request_payer
11909
12039
  # Confirms that the requester knows that they will be charged for the
11910
12040
  # request. Bucket owners need not specify this parameter in their
@@ -11974,6 +12104,7 @@ module Aws::S3
11974
12104
  :sse_customer_key_md5,
11975
12105
  :ssekms_key_id,
11976
12106
  :ssekms_encryption_context,
12107
+ :bucket_key_enabled,
11977
12108
  :request_payer,
11978
12109
  :tagging,
11979
12110
  :object_lock_mode,
@@ -12065,6 +12196,9 @@ module Aws::S3
12065
12196
  #
12066
12197
  # @!attribute [rw] content_md5
12067
12198
  # The MD5 hash for the request body.
12199
+ #
12200
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
12201
+ # SDKs, this field is calculated automatically.
12068
12202
  # @return [String]
12069
12203
  #
12070
12204
  # @!attribute [rw] expected_bucket_owner
@@ -12156,6 +12290,9 @@ module Aws::S3
12156
12290
  #
12157
12291
  # @!attribute [rw] content_md5
12158
12292
  # The MD5 hash for the request body.
12293
+ #
12294
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
12295
+ # SDKs, this field is calculated automatically.
12159
12296
  # @return [String]
12160
12297
  #
12161
12298
  # @!attribute [rw] tagging
@@ -12203,6 +12340,9 @@ module Aws::S3
12203
12340
  #
12204
12341
  # @!attribute [rw] content_md5
12205
12342
  # The MD5 hash of the `PutPublicAccessBlock` request body.
12343
+ #
12344
+ # For requests made using the AWS Command Line Interface (CLI) or AWS
12345
+ # SDKs, this field is calculated automatically.
12206
12346
  # @return [String]
12207
12347
  #
12208
12348
  # @!attribute [rw] public_access_block_configuration
@@ -12445,6 +12585,37 @@ module Aws::S3
12445
12585
  include Aws::Structure
12446
12586
  end
12447
12587
 
12588
+ # A filter that you can specify for selection for modifications on
12589
+ # replicas. Amazon S3 doesn't replicate replica modifications by
12590
+ # default. In the latest version of replication configuration (when
12591
+ # `Filter` is specified), you can specify this element and set the
12592
+ # status to `Enabled` to replicate modifications on replicas.
12593
+ #
12594
+ # <note markdown="1"> If you don't specify the `Filter` element, Amazon S3 assumes that the
12595
+ # replication configuration is the earlier version, V1. In the earlier
12596
+ # version, this element is not allowed.
12597
+ #
12598
+ # </note>
12599
+ #
12600
+ # @note When making an API call, you may pass ReplicaModifications
12601
+ # data as a hash:
12602
+ #
12603
+ # {
12604
+ # status: "Enabled", # required, accepts Enabled, Disabled
12605
+ # }
12606
+ #
12607
+ # @!attribute [rw] status
12608
+ # Specifies whether Amazon S3 replicates modifications on replicas.
12609
+ # @return [String]
12610
+ #
12611
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicaModifications AWS API Documentation
12612
+ #
12613
+ class ReplicaModifications < Struct.new(
12614
+ :status)
12615
+ SENSITIVE = []
12616
+ include Aws::Structure
12617
+ end
12618
+
12448
12619
  # A container for replication rules. You can add up to 1,000 rules. The
12449
12620
  # maximum size of a replication configuration is 2 MB.
12450
12621
  #
@@ -12479,6 +12650,9 @@ module Aws::S3
12479
12650
  # sse_kms_encrypted_objects: {
12480
12651
  # status: "Enabled", # required, accepts Enabled, Disabled
12481
12652
  # },
12653
+ # replica_modifications: {
12654
+ # status: "Enabled", # required, accepts Enabled, Disabled
12655
+ # },
12482
12656
  # },
12483
12657
  # existing_object_replication: {
12484
12658
  # status: "Enabled", # required, accepts Enabled, Disabled
@@ -12570,6 +12744,9 @@ module Aws::S3
12570
12744
  # sse_kms_encrypted_objects: {
12571
12745
  # status: "Enabled", # required, accepts Enabled, Disabled
12572
12746
  # },
12747
+ # replica_modifications: {
12748
+ # status: "Enabled", # required, accepts Enabled, Disabled
12749
+ # },
12573
12750
  # },
12574
12751
  # existing_object_replication: {
12575
12752
  # status: "Enabled", # required, accepts Enabled, Disabled
@@ -12608,17 +12785,12 @@ module Aws::S3
12608
12785
  # @return [String]
12609
12786
  #
12610
12787
  # @!attribute [rw] priority
12611
- # The priority associated with the rule. If you specify multiple rules
12612
- # in a replication configuration, Amazon S3 prioritizes the rules to
12613
- # prevent conflicts when filtering. If two or more rules identify the
12614
- # same object based on a specified filter, the rule with higher
12615
- # priority takes precedence. For example:
12616
- #
12617
- # * Same object quality prefix-based filter criteria if prefixes you
12618
- # specified in multiple rules overlap
12619
- #
12620
- # * Same object qualify tag-based filter criteria specified in
12621
- # multiple rules
12788
+ # The priority indicates which rule has precedence whenever two or
12789
+ # more replication rules conflict. Amazon S3 will attempt to replicate
12790
+ # objects according to all replication rules. However, if there are
12791
+ # two or more rules with the same destination bucket, then objects
12792
+ # will be replicated according to the rule with the highest priority.
12793
+ # The higher the number, the higher the priority.
12622
12794
  #
12623
12795
  # For more information, see [Replication][1] in the *Amazon Simple
12624
12796
  # Storage Service Developer Guide*.
@@ -13890,6 +14062,7 @@ module Aws::S3
13890
14062
  # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
13891
14063
  # kms_master_key_id: "SSEKMSKeyId",
13892
14064
  # },
14065
+ # bucket_key_enabled: false,
13893
14066
  # },
13894
14067
  # ],
13895
14068
  # }
@@ -13917,6 +14090,7 @@ module Aws::S3
13917
14090
  # sse_algorithm: "AES256", # required, accepts AES256, aws:kms
13918
14091
  # kms_master_key_id: "SSEKMSKeyId",
13919
14092
  # },
14093
+ # bucket_key_enabled: false,
13920
14094
  # }
13921
14095
  #
13922
14096
  # @!attribute [rw] apply_server_side_encryption_by_default
@@ -13925,10 +14099,26 @@ module Aws::S3
13925
14099
  # server-side encryption, this default encryption will be applied.
13926
14100
  # @return [Types::ServerSideEncryptionByDefault]
13927
14101
  #
14102
+ # @!attribute [rw] bucket_key_enabled
14103
+ # Specifies whether Amazon S3 should use an S3 Bucket Key with
14104
+ # server-side encryption using KMS (SSE-KMS) for new objects in the
14105
+ # bucket. Existing objects are not affected. Setting the
14106
+ # `BucketKeyEnabled` element to `true` causes Amazon S3 to use an S3
14107
+ # Bucket Key. By default, S3 Bucket Key is not enabled.
14108
+ #
14109
+ # For more information, see [Amazon S3 Bucket Keys][1] in the *Amazon
14110
+ # Simple Storage Service Developer Guide*.
14111
+ #
14112
+ #
14113
+ #
14114
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
14115
+ # @return [Boolean]
14116
+ #
13928
14117
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionRule AWS API Documentation
13929
14118
  #
13930
14119
  class ServerSideEncryptionRule < Struct.new(
13931
- :apply_server_side_encryption_by_default)
14120
+ :apply_server_side_encryption_by_default,
14121
+ :bucket_key_enabled)
13932
14122
  SENSITIVE = []
13933
14123
  include Aws::Structure
13934
14124
  end
@@ -13947,6 +14137,9 @@ module Aws::S3
13947
14137
  # sse_kms_encrypted_objects: {
13948
14138
  # status: "Enabled", # required, accepts Enabled, Disabled
13949
14139
  # },
14140
+ # replica_modifications: {
14141
+ # status: "Enabled", # required, accepts Enabled, Disabled
14142
+ # },
13950
14143
  # }
13951
14144
  #
13952
14145
  # @!attribute [rw] sse_kms_encrypted_objects
@@ -13956,10 +14149,25 @@ module Aws::S3
13956
14149
  # element is required.
13957
14150
  # @return [Types::SseKmsEncryptedObjects]
13958
14151
  #
14152
+ # @!attribute [rw] replica_modifications
14153
+ # A filter that you can specify for selections for modifications on
14154
+ # replicas. Amazon S3 doesn't replicate replica modifications by
14155
+ # default. In the latest version of replication configuration (when
14156
+ # `Filter` is specified), you can specify this element and set the
14157
+ # status to `Enabled` to replicate modifications on replicas.
14158
+ #
14159
+ # <note markdown="1"> If you don't specify the `Filter` element, Amazon S3 assumes that
14160
+ # the replication configuration is the earlier version, V1. In the
14161
+ # earlier version, this element is not allowed
14162
+ #
14163
+ # </note>
14164
+ # @return [Types::ReplicaModifications]
14165
+ #
13959
14166
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SourceSelectionCriteria AWS API Documentation
13960
14167
  #
13961
14168
  class SourceSelectionCriteria < Struct.new(
13962
- :sse_kms_encrypted_objects)
14169
+ :sse_kms_encrypted_objects,
14170
+ :replica_modifications)
13963
14171
  SENSITIVE = []
13964
14172
  include Aws::Structure
13965
14173
  end
@@ -14196,10 +14404,11 @@ module Aws::S3
14196
14404
  # }
14197
14405
  #
14198
14406
  # @!attribute [rw] days
14199
- # The number of days that you want your archived data to be
14200
- # accessible. The minimum number of days specified in the restore
14201
- # request must be at least 90 days. If a smaller value is specifed it
14202
- # will be ignored.
14407
+ # The number of consecutive days of no access after which an object
14408
+ # will be eligible to be transitioned to the corresponding tier. The
14409
+ # minimum number of days specified for Archive Access tier must be at
14410
+ # least 90 days and Deep Archive Access tier must be at least 180
14411
+ # days. The maximum can be up to 2 years (730 days).
14203
14412
  # @return [Integer]
14204
14413
  #
14205
14414
  # @!attribute [rw] access_tier
@@ -14414,6 +14623,11 @@ module Aws::S3
14414
14623
  # used for the object.
14415
14624
  # @return [String]
14416
14625
  #
14626
+ # @!attribute [rw] bucket_key_enabled
14627
+ # Indicates whether the multipart upload uses an S3 Bucket Key for
14628
+ # server-side encryption with AWS KMS (SSE-KMS).
14629
+ # @return [Boolean]
14630
+ #
14417
14631
  # @!attribute [rw] request_charged
14418
14632
  # If present, indicates that the requester was successfully charged
14419
14633
  # for the request.
@@ -14428,6 +14642,7 @@ module Aws::S3
14428
14642
  :sse_customer_algorithm,
14429
14643
  :sse_customer_key_md5,
14430
14644
  :ssekms_key_id,
14645
+ :bucket_key_enabled,
14431
14646
  :request_charged)
14432
14647
  SENSITIVE = [:ssekms_key_id]
14433
14648
  include Aws::Structure
@@ -14689,6 +14904,11 @@ module Aws::S3
14689
14904
  # for the object.
14690
14905
  # @return [String]
14691
14906
  #
14907
+ # @!attribute [rw] bucket_key_enabled
14908
+ # Indicates whether the multipart upload uses an S3 Bucket Key for
14909
+ # server-side encryption with AWS KMS (SSE-KMS).
14910
+ # @return [Boolean]
14911
+ #
14692
14912
  # @!attribute [rw] request_charged
14693
14913
  # If present, indicates that the requester was successfully charged
14694
14914
  # for the request.
@@ -14702,6 +14922,7 @@ module Aws::S3
14702
14922
  :sse_customer_algorithm,
14703
14923
  :sse_customer_key_md5,
14704
14924
  :ssekms_key_id,
14925
+ :bucket_key_enabled,
14705
14926
  :request_charged)
14706
14927
  SENSITIVE = [:ssekms_key_id]
14707
14928
  include Aws::Structure