aws-sdk-s3 1.101.0 → 1.105.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.
@@ -327,6 +327,11 @@ module Aws::S3
327
327
  # in the future.
328
328
  #
329
329
  #
330
+ # @option options [Boolean] :s3_disable_multiregion_access_points (false)
331
+ # When set to `false` this will option will raise errors when multi-region
332
+ # access point ARNs are used. Multi-region access points can potentially
333
+ # result in cross region requests.
334
+ #
330
335
  # @option options [String] :s3_us_east_1_regional_endpoint ("legacy")
331
336
  # Pass in `regional` to enable the `us-east-1` regional endpoint.
332
337
  # Defaults to `legacy` mode which uses the global endpoint.
@@ -354,9 +359,14 @@ module Aws::S3
354
359
  # for all object operations. You must first enable accelerate for
355
360
  # each bucket. [Go here for more information](http://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html).
356
361
  #
357
- # @option options [Boolean] :use_dualstack_endpoint (false)
358
- # When set to `true`, IPv6-compatible bucket endpoints will be used
359
- # for all operations.
362
+ # @option options [Boolean] :use_dualstack_endpoint
363
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
364
+ # will be used if available.
365
+ #
366
+ # @option options [Boolean] :use_fips_endpoint
367
+ # When set to `true`, fips compatible endpoints will be used if available.
368
+ # When a `fips` region is used, the region is normalized and this config
369
+ # is set to `true`.
360
370
  #
361
371
  # @option options [Boolean] :validate_params (true)
362
372
  # When `true`, request parameters are validated before
@@ -1460,33 +1470,33 @@ module Aws::S3
1460
1470
  # * {Types::CreateBucketOutput#location #location} => String
1461
1471
  #
1462
1472
  #
1463
- # @example Example: To create a bucket in a specific region
1473
+ # @example Example: To create a bucket
1464
1474
  #
1465
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1475
+ # # The following example creates a bucket.
1466
1476
  #
1467
1477
  # resp = client.create_bucket({
1468
1478
  # bucket: "examplebucket",
1469
- # create_bucket_configuration: {
1470
- # location_constraint: "eu-west-1",
1471
- # },
1472
1479
  # })
1473
1480
  #
1474
1481
  # resp.to_h outputs the following:
1475
1482
  # {
1476
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1483
+ # location: "/examplebucket",
1477
1484
  # }
1478
1485
  #
1479
- # @example Example: To create a bucket
1486
+ # @example Example: To create a bucket in a specific region
1480
1487
  #
1481
- # # The following example creates a bucket.
1488
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1482
1489
  #
1483
1490
  # resp = client.create_bucket({
1484
1491
  # bucket: "examplebucket",
1492
+ # create_bucket_configuration: {
1493
+ # location_constraint: "eu-west-1",
1494
+ # },
1485
1495
  # })
1486
1496
  #
1487
1497
  # resp.to_h outputs the following:
1488
1498
  # {
1489
- # location: "/examplebucket",
1499
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1490
1500
  # }
1491
1501
  #
1492
1502
  # @example Request syntax with placeholder values
@@ -1557,15 +1567,14 @@ module Aws::S3
1557
1567
  # You can optionally request server-side encryption. For server-side
1558
1568
  # encryption, Amazon S3 encrypts your data as it writes it to disks in
1559
1569
  # its data centers and decrypts it when you access it. You can provide
1560
- # your own encryption key, or use Amazon Web Services Key Management
1561
- # Service (Amazon Web Services KMS) customer master keys (CMKs) or
1562
- # Amazon S3-managed encryption keys. If you choose to provide your own
1570
+ # your own encryption key, or use Amazon Web Services KMS keys or Amazon
1571
+ # S3-managed encryption keys. If you choose to provide your own
1563
1572
  # encryption key, the request headers you provide in [UploadPart][1] and
1564
1573
  # [UploadPartCopy][6] requests must match the headers you used in the
1565
1574
  # request to initiate the upload by using `CreateMultipartUpload`.
1566
1575
  #
1567
1576
  # To perform a multipart upload with encryption using an Amazon Web
1568
- # Services KMS CMK, the requester must have permission to the
1577
+ # Services KMS key, the requester must have permission to the
1569
1578
  # `kms:Decrypt` and `kms:GenerateDataKey*` actions on the key. These
1570
1579
  # permissions are required because Amazon S3 must decrypt and read data
1571
1580
  # from the encrypted file parts before it completes the multipart
@@ -1573,11 +1582,10 @@ module Aws::S3
1573
1582
  # permissions][7] in the *Amazon S3 User Guide*.
1574
1583
  #
1575
1584
  # If your Identity and Access Management (IAM) user or role is in the
1576
- # same Amazon Web Services account as the Amazon Web Services KMS CMK,
1577
- # then you must have these permissions on the key policy. If your IAM
1578
- # user or role belongs to a different account than the key, then you
1579
- # must have the permissions on both the key policy and your IAM user or
1580
- # role.
1585
+ # same Amazon Web Services account as the KMS key, then you must have
1586
+ # these permissions on the key policy. If your IAM user or role belongs
1587
+ # to a different account than the key, then you must have the
1588
+ # permissions on both the key policy and your IAM user or role.
1581
1589
  #
1582
1590
  # For more information, see [Protecting Data Using Server-Side
1583
1591
  # Encryption][8].
@@ -1610,11 +1618,11 @@ module Aws::S3
1610
1618
  # option you use depends on whether you want to use Amazon Web
1611
1619
  # Services managed encryption keys or provide your own encryption key.
1612
1620
  #
1613
- # * Use encryption keys managed by Amazon S3 or customer master keys
1614
- # (CMKs) stored in Amazon Web Services Key Management Service
1615
- # (Amazon Web Services KMS) – If you want Amazon Web Services to
1616
- # manage the keys used to encrypt data, specify the following
1617
- # headers in the request.
1621
+ # * Use encryption keys managed by Amazon S3 or customer managed key
1622
+ # stored in Amazon Web Services Key Management Service (Amazon Web
1623
+ # Services KMS) – If you want Amazon Web Services to manage the keys
1624
+ # used to encrypt data, specify the following headers in the
1625
+ # request.
1618
1626
  #
1619
1627
  # * x-amz-server-side-encryption
1620
1628
  #
@@ -1624,7 +1632,7 @@ module Aws::S3
1624
1632
  #
1625
1633
  # <note markdown="1"> If you specify `x-amz-server-side-encryption:aws:kms`, but don't
1626
1634
  # provide `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3
1627
- # uses the Amazon Web Services managed CMK in Amazon Web Services
1635
+ # uses the Amazon Web Services managed key in Amazon Web Services
1628
1636
  # KMS to protect the data.
1629
1637
  #
1630
1638
  # </note>
@@ -1633,10 +1641,9 @@ module Aws::S3
1633
1641
  # Services KMS fail if you don't make them with SSL or by using
1634
1642
  # SigV4.
1635
1643
  #
1636
- # For more information about server-side encryption with CMKs stored
1637
- # in Amazon Web Services KMS (SSE-KMS), see [Protecting Data Using
1638
- # Server-Side Encryption with CMKs stored in Amazon Web Services
1639
- # KMS][11].
1644
+ # For more information about server-side encryption with KMS key
1645
+ # (SSE-KMS), see [Protecting Data Using Server-Side Encryption with
1646
+ # KMS keys][11].
1640
1647
  #
1641
1648
  # * Use customer-provided encryption keys – If you want to manage your
1642
1649
  # own encryption keys, provide all the following headers in the
@@ -1648,10 +1655,9 @@ module Aws::S3
1648
1655
  #
1649
1656
  # * x-amz-server-side-encryption-customer-key-MD5
1650
1657
  #
1651
- # For more information about server-side encryption with CMKs stored
1652
- # in Amazon Web Services KMS (SSE-KMS), see [Protecting Data Using
1653
- # Server-Side Encryption with CMKs stored in Amazon Web Services
1654
- # KMS][11].
1658
+ # For more information about server-side encryption with KMS keys
1659
+ # (SSE-KMS), see [Protecting Data Using Server-Side Encryption with
1660
+ # KMS keys][11].
1655
1661
  #
1656
1662
  # Access-Control-List (ACL)-Specific Request Headers
1657
1663
  #
@@ -1876,13 +1882,13 @@ module Aws::S3
1876
1882
  # ensure that the encryption key was transmitted without error.
1877
1883
  #
1878
1884
  # @option params [String] :ssekms_key_id
1879
- # Specifies the ID of the symmetric customer managed Amazon Web Services
1880
- # KMS CMK to use for object encryption. All GET and PUT requests for an
1881
- # object protected by Amazon Web Services KMS will fail if not made via
1882
- # SSL or using SigV4. For information about configuring using any of the
1883
- # officially supported Amazon Web Services SDKs and Amazon Web Services
1884
- # CLI, see [Specifying the Signature Version in Request
1885
- # Authentication][1] in the *Amazon S3 User Guide*.
1885
+ # Specifies the ID of the symmetric customer managed key to use for
1886
+ # object encryption. All GET and PUT requests for an object protected by
1887
+ # Amazon Web Services KMS will fail if not made via SSL or using SigV4.
1888
+ # For information about configuring using any of the officially
1889
+ # supported Amazon Web Services SDKs and Amazon Web Services CLI, see
1890
+ # [Specifying the Signature Version in Request Authentication][1] in the
1891
+ # *Amazon S3 User Guide*.
1886
1892
  #
1887
1893
  #
1888
1894
  #
@@ -2252,21 +2258,23 @@ module Aws::S3
2252
2258
  #
2253
2259
  # The S3 Intelligent-Tiering storage class is designed to optimize
2254
2260
  # storage costs by automatically moving data to the most cost-effective
2255
- # storage access tier, without additional operational overhead. S3
2256
- # Intelligent-Tiering delivers automatic cost savings by moving data
2257
- # between access tiers, when access patterns change.
2258
- #
2259
- # The S3 Intelligent-Tiering storage class is suitable for objects
2260
- # larger than 128 KB that you plan to store for at least 30 days. If the
2261
- # size of an object is less than 128 KB, it is not eligible for
2262
- # auto-tiering. Smaller objects can be stored, but they are always
2263
- # charged at the frequent access tier rates in the S3
2264
- # Intelligent-Tiering storage class.
2265
- #
2266
- # If you delete an object before the end of the 30-day minimum storage
2267
- # duration period, you are charged for 30 days. For more information,
2268
- # see [Storage class for automatically optimizing frequently and
2269
- # infrequently accessed objects][1].
2261
+ # storage access tier, without performance impact or operational
2262
+ # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
2263
+ # two low latency and high throughput access tiers. For data that can be
2264
+ # accessed asynchronously, you can choose to activate automatic
2265
+ # archiving capabilities within the S3 Intelligent-Tiering storage
2266
+ # class.
2267
+ #
2268
+ # The S3 Intelligent-Tiering storage class is the ideal storage class
2269
+ # for data with unknown, changing, or unpredictable access patterns,
2270
+ # independent of object size or retention period. If the size of an
2271
+ # object is less than 128 KB, it is not eligible for auto-tiering.
2272
+ # Smaller objects can be stored, but they are always charged at the
2273
+ # Frequent Access tier rates in the S3 Intelligent-Tiering storage
2274
+ # class.
2275
+ #
2276
+ # For more information, see [Storage class for automatically optimizing
2277
+ # frequently and infrequently accessed objects][1].
2270
2278
  #
2271
2279
  # Operations related to `DeleteBucketIntelligentTieringConfiguration`
2272
2280
  # include:
@@ -3716,21 +3724,23 @@ module Aws::S3
3716
3724
  #
3717
3725
  # The S3 Intelligent-Tiering storage class is designed to optimize
3718
3726
  # storage costs by automatically moving data to the most cost-effective
3719
- # storage access tier, without additional operational overhead. S3
3720
- # Intelligent-Tiering delivers automatic cost savings by moving data
3721
- # between access tiers, when access patterns change.
3722
- #
3723
- # The S3 Intelligent-Tiering storage class is suitable for objects
3724
- # larger than 128 KB that you plan to store for at least 30 days. If the
3725
- # size of an object is less than 128 KB, it is not eligible for
3726
- # auto-tiering. Smaller objects can be stored, but they are always
3727
- # charged at the frequent access tier rates in the S3
3728
- # Intelligent-Tiering storage class.
3729
- #
3730
- # If you delete an object before the end of the 30-day minimum storage
3731
- # duration period, you are charged for 30 days. For more information,
3732
- # see [Storage class for automatically optimizing frequently and
3733
- # infrequently accessed objects][1].
3727
+ # storage access tier, without performance impact or operational
3728
+ # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
3729
+ # two low latency and high throughput access tiers. For data that can be
3730
+ # accessed asynchronously, you can choose to activate automatic
3731
+ # archiving capabilities within the S3 Intelligent-Tiering storage
3732
+ # class.
3733
+ #
3734
+ # The S3 Intelligent-Tiering storage class is the ideal storage class
3735
+ # for data with unknown, changing, or unpredictable access patterns,
3736
+ # independent of object size or retention period. If the size of an
3737
+ # object is less than 128 KB, it is not eligible for auto-tiering.
3738
+ # Smaller objects can be stored, but they are always charged at the
3739
+ # Frequent Access tier rates in the S3 Intelligent-Tiering storage
3740
+ # class.
3741
+ #
3742
+ # For more information, see [Storage class for automatically optimizing
3743
+ # frequently and infrequently accessed objects][1].
3734
3744
  #
3735
3745
  # Operations related to `GetBucketIntelligentTieringConfiguration`
3736
3746
  # include:
@@ -4297,10 +4307,12 @@ module Aws::S3
4297
4307
  # resp.metrics_configuration.filter.prefix #=> String
4298
4308
  # resp.metrics_configuration.filter.tag.key #=> String
4299
4309
  # resp.metrics_configuration.filter.tag.value #=> String
4310
+ # resp.metrics_configuration.filter.access_point_arn #=> String
4300
4311
  # resp.metrics_configuration.filter.and.prefix #=> String
4301
4312
  # resp.metrics_configuration.filter.and.tags #=> Array
4302
4313
  # resp.metrics_configuration.filter.and.tags[0].key #=> String
4303
4314
  # resp.metrics_configuration.filter.and.tags[0].value #=> String
4315
+ # resp.metrics_configuration.filter.and.access_point_arn #=> String
4304
4316
  #
4305
4317
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration AWS API Documentation
4306
4318
  #
@@ -5158,10 +5170,9 @@ module Aws::S3
5158
5170
  #
5159
5171
  # Encryption request headers, like `x-amz-server-side-encryption`,
5160
5172
  # should not be sent for GET requests if your object uses server-side
5161
- # encryption with CMKs stored in Amazon Web Services KMS (SSE-KMS) or
5162
- # server-side encryption with Amazon S3–managed encryption keys
5163
- # (SSE-S3). If your object does use these types of keys, you’ll get an
5164
- # HTTP 400 BadRequest error.
5173
+ # encryption with KMS keys (SSE-KMS) or server-side encryption with
5174
+ # Amazon S3–managed encryption keys (SSE-S3). If your object does use
5175
+ # these types of keys, you’ll get an HTTP 400 BadRequest error.
5165
5176
  #
5166
5177
  # If you encrypt an object by using server-side encryption with
5167
5178
  # customer-provided encryption keys (SSE-C) when you store the object in
@@ -5296,6 +5307,9 @@ module Aws::S3
5296
5307
  # name. For more information about access point ARNs, see [Using access
5297
5308
  # points][1] in the *Amazon S3 User Guide*.
5298
5309
  #
5310
+ # When using an Object Lambda access point the hostname takes the form
5311
+ # *AccessPointName*-*AccountId*.s3-object-lambda.*Region*.amazonaws.com.
5312
+ #
5299
5313
  # When using this action with Amazon S3 on Outposts, you must direct
5300
5314
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5301
5315
  # takes the form
@@ -5439,49 +5453,49 @@ module Aws::S3
5439
5453
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
5440
5454
  #
5441
5455
  #
5442
- # @example Example: To retrieve a byte range of an object
5456
+ # @example Example: To retrieve an object
5443
5457
  #
5444
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5445
- # # specific byte range.
5458
+ # # The following example retrieves an object for an S3 bucket.
5446
5459
  #
5447
5460
  # resp = client.get_object({
5448
5461
  # bucket: "examplebucket",
5449
- # key: "SampleFile.txt",
5450
- # range: "bytes=0-9",
5462
+ # key: "HappyFace.jpg",
5451
5463
  # })
5452
5464
  #
5453
5465
  # resp.to_h outputs the following:
5454
5466
  # {
5455
5467
  # accept_ranges: "bytes",
5456
- # content_length: 10,
5457
- # content_range: "bytes 0-9/43",
5458
- # content_type: "text/plain",
5459
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5460
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5468
+ # content_length: 3191,
5469
+ # content_type: "image/jpeg",
5470
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5471
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5461
5472
  # metadata: {
5462
5473
  # },
5474
+ # tag_count: 2,
5463
5475
  # version_id: "null",
5464
5476
  # }
5465
5477
  #
5466
- # @example Example: To retrieve an object
5478
+ # @example Example: To retrieve a byte range of an object
5467
5479
  #
5468
- # # The following example retrieves an object for an S3 bucket.
5480
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5481
+ # # specific byte range.
5469
5482
  #
5470
5483
  # resp = client.get_object({
5471
5484
  # bucket: "examplebucket",
5472
- # key: "HappyFace.jpg",
5485
+ # key: "SampleFile.txt",
5486
+ # range: "bytes=0-9",
5473
5487
  # })
5474
5488
  #
5475
5489
  # resp.to_h outputs the following:
5476
5490
  # {
5477
5491
  # accept_ranges: "bytes",
5478
- # content_length: 3191,
5479
- # content_type: "image/jpeg",
5480
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5481
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5492
+ # content_length: 10,
5493
+ # content_range: "bytes 0-9/43",
5494
+ # content_type: "text/plain",
5495
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5496
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5482
5497
  # metadata: {
5483
5498
  # },
5484
- # tag_count: 2,
5485
5499
  # version_id: "null",
5486
5500
  # }
5487
5501
  #
@@ -6029,49 +6043,49 @@ module Aws::S3
6029
6043
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
6030
6044
  #
6031
6045
  #
6032
- # @example Example: To retrieve tag set of an object
6046
+ # @example Example: To retrieve tag set of a specific object version
6033
6047
  #
6034
- # # The following example retrieves tag set of an object.
6048
+ # # The following example retrieves tag set of an object. The request specifies object version.
6035
6049
  #
6036
6050
  # resp = client.get_object_tagging({
6037
6051
  # bucket: "examplebucket",
6038
- # key: "HappyFace.jpg",
6052
+ # key: "exampleobject",
6053
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6039
6054
  # })
6040
6055
  #
6041
6056
  # resp.to_h outputs the following:
6042
6057
  # {
6043
6058
  # tag_set: [
6044
6059
  # {
6045
- # key: "Key4",
6046
- # value: "Value4",
6047
- # },
6048
- # {
6049
- # key: "Key3",
6050
- # value: "Value3",
6060
+ # key: "Key1",
6061
+ # value: "Value1",
6051
6062
  # },
6052
6063
  # ],
6053
- # version_id: "null",
6064
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6054
6065
  # }
6055
6066
  #
6056
- # @example Example: To retrieve tag set of a specific object version
6067
+ # @example Example: To retrieve tag set of an object
6057
6068
  #
6058
- # # The following example retrieves tag set of an object. The request specifies object version.
6069
+ # # The following example retrieves tag set of an object.
6059
6070
  #
6060
6071
  # resp = client.get_object_tagging({
6061
6072
  # bucket: "examplebucket",
6062
- # key: "exampleobject",
6063
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6073
+ # key: "HappyFace.jpg",
6064
6074
  # })
6065
6075
  #
6066
6076
  # resp.to_h outputs the following:
6067
6077
  # {
6068
6078
  # tag_set: [
6069
6079
  # {
6070
- # key: "Key1",
6071
- # value: "Value1",
6080
+ # key: "Key4",
6081
+ # value: "Value4",
6082
+ # },
6083
+ # {
6084
+ # key: "Key3",
6085
+ # value: "Value3",
6072
6086
  # },
6073
6087
  # ],
6074
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6088
+ # version_id: "null",
6075
6089
  # }
6076
6090
  #
6077
6091
  # @example Request syntax with placeholder values
@@ -6385,10 +6399,9 @@ module Aws::S3
6385
6399
  #
6386
6400
  # <note markdown="1"> * Encryption request headers, like `x-amz-server-side-encryption`,
6387
6401
  # should not be sent for GET requests if your object uses server-side
6388
- # encryption with CMKs stored in Amazon Web Services KMS (SSE-KMS) or
6389
- # server-side encryption with Amazon S3–managed encryption keys
6390
- # (SSE-S3). If your object does use these types of keys, you’ll get an
6391
- # HTTP 400 BadRequest error.
6402
+ # encryption with KMS keys (SSE-KMS) or server-side encryption with
6403
+ # Amazon S3–managed encryption keys (SSE-S3). If your object does use
6404
+ # these types of keys, you’ll get an HTTP 400 BadRequest error.
6392
6405
  #
6393
6406
  # * The last modified property in this case is the creation date of the
6394
6407
  # object.
@@ -6774,21 +6787,23 @@ module Aws::S3
6774
6787
  #
6775
6788
  # The S3 Intelligent-Tiering storage class is designed to optimize
6776
6789
  # storage costs by automatically moving data to the most cost-effective
6777
- # storage access tier, without additional operational overhead. S3
6778
- # Intelligent-Tiering delivers automatic cost savings by moving data
6779
- # between access tiers, when access patterns change.
6780
- #
6781
- # The S3 Intelligent-Tiering storage class is suitable for objects
6782
- # larger than 128 KB that you plan to store for at least 30 days. If the
6783
- # size of an object is less than 128 KB, it is not eligible for
6784
- # auto-tiering. Smaller objects can be stored, but they are always
6785
- # charged at the frequent access tier rates in the S3
6786
- # Intelligent-Tiering storage class.
6787
- #
6788
- # If you delete an object before the end of the 30-day minimum storage
6789
- # duration period, you are charged for 30 days. For more information,
6790
- # see [Storage class for automatically optimizing frequently and
6791
- # infrequently accessed objects][1].
6790
+ # storage access tier, without performance impact or operational
6791
+ # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
6792
+ # two low latency and high throughput access tiers. For data that can be
6793
+ # accessed asynchronously, you can choose to activate automatic
6794
+ # archiving capabilities within the S3 Intelligent-Tiering storage
6795
+ # class.
6796
+ #
6797
+ # The S3 Intelligent-Tiering storage class is the ideal storage class
6798
+ # for data with unknown, changing, or unpredictable access patterns,
6799
+ # independent of object size or retention period. If the size of an
6800
+ # object is less than 128 KB, it is not eligible for auto-tiering.
6801
+ # Smaller objects can be stored, but they are always charged at the
6802
+ # Frequent Access tier rates in the S3 Intelligent-Tiering storage
6803
+ # class.
6804
+ #
6805
+ # For more information, see [Storage class for automatically optimizing
6806
+ # frequently and infrequently accessed objects][1].
6792
6807
  #
6793
6808
  # Operations related to `ListBucketIntelligentTieringConfigurations`
6794
6809
  # include:
@@ -7036,10 +7051,12 @@ module Aws::S3
7036
7051
  # resp.metrics_configuration_list[0].filter.prefix #=> String
7037
7052
  # resp.metrics_configuration_list[0].filter.tag.key #=> String
7038
7053
  # resp.metrics_configuration_list[0].filter.tag.value #=> String
7054
+ # resp.metrics_configuration_list[0].filter.access_point_arn #=> String
7039
7055
  # resp.metrics_configuration_list[0].filter.and.prefix #=> String
7040
7056
  # resp.metrics_configuration_list[0].filter.and.tags #=> Array
7041
7057
  # resp.metrics_configuration_list[0].filter.and.tags[0].key #=> String
7042
7058
  # resp.metrics_configuration_list[0].filter.and.tags[0].value #=> String
7059
+ # resp.metrics_configuration_list[0].filter.and.access_point_arn #=> String
7043
7060
  #
7044
7061
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations AWS API Documentation
7045
7062
  #
@@ -7253,97 +7270,97 @@ module Aws::S3
7253
7270
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7254
7271
  #
7255
7272
  #
7256
- # @example Example: List next set of multipart uploads when previous result is truncated
7273
+ # @example Example: To list in-progress multipart uploads on a bucket
7257
7274
  #
7258
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
7259
- # # setup of multipart uploads.
7275
+ # # The following example lists in-progress multipart uploads on a specific bucket.
7260
7276
  #
7261
7277
  # resp = client.list_multipart_uploads({
7262
7278
  # bucket: "examplebucket",
7263
- # key_marker: "nextkeyfrompreviousresponse",
7264
- # max_uploads: 2,
7265
- # upload_id_marker: "valuefrompreviousresponse",
7266
7279
  # })
7267
7280
  #
7268
7281
  # resp.to_h outputs the following:
7269
7282
  # {
7270
- # bucket: "acl1",
7271
- # is_truncated: true,
7272
- # key_marker: "",
7273
- # max_uploads: 2,
7274
- # next_key_marker: "someobjectkey",
7275
- # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7276
- # upload_id_marker: "",
7277
7283
  # uploads: [
7278
7284
  # {
7279
7285
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
7280
7286
  # initiator: {
7281
- # display_name: "ownder-display-name",
7287
+ # display_name: "display-name",
7282
7288
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7283
7289
  # },
7284
7290
  # key: "JavaFile",
7285
7291
  # owner: {
7286
- # display_name: "mohanataws",
7287
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7292
+ # display_name: "display-name",
7293
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7288
7294
  # },
7289
7295
  # storage_class: "STANDARD",
7290
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7296
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7291
7297
  # },
7292
7298
  # {
7293
7299
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
7294
7300
  # initiator: {
7295
- # display_name: "ownder-display-name",
7301
+ # display_name: "display-name",
7296
7302
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7297
7303
  # },
7298
7304
  # key: "JavaFile",
7299
7305
  # owner: {
7300
- # display_name: "ownder-display-name",
7306
+ # display_name: "display-name",
7301
7307
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7302
7308
  # },
7303
7309
  # storage_class: "STANDARD",
7304
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7310
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7305
7311
  # },
7306
7312
  # ],
7307
7313
  # }
7308
7314
  #
7309
- # @example Example: To list in-progress multipart uploads on a bucket
7315
+ # @example Example: List next set of multipart uploads when previous result is truncated
7310
7316
  #
7311
- # # The following example lists in-progress multipart uploads on a specific bucket.
7317
+ # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
7318
+ # # setup of multipart uploads.
7312
7319
  #
7313
7320
  # resp = client.list_multipart_uploads({
7314
7321
  # bucket: "examplebucket",
7322
+ # key_marker: "nextkeyfrompreviousresponse",
7323
+ # max_uploads: 2,
7324
+ # upload_id_marker: "valuefrompreviousresponse",
7315
7325
  # })
7316
7326
  #
7317
7327
  # resp.to_h outputs the following:
7318
7328
  # {
7329
+ # bucket: "acl1",
7330
+ # is_truncated: true,
7331
+ # key_marker: "",
7332
+ # max_uploads: 2,
7333
+ # next_key_marker: "someobjectkey",
7334
+ # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7335
+ # upload_id_marker: "",
7319
7336
  # uploads: [
7320
7337
  # {
7321
7338
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
7322
7339
  # initiator: {
7323
- # display_name: "display-name",
7340
+ # display_name: "ownder-display-name",
7324
7341
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7325
7342
  # },
7326
7343
  # key: "JavaFile",
7327
7344
  # owner: {
7328
- # display_name: "display-name",
7329
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7345
+ # display_name: "mohanataws",
7346
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7330
7347
  # },
7331
7348
  # storage_class: "STANDARD",
7332
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7349
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7333
7350
  # },
7334
7351
  # {
7335
7352
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
7336
7353
  # initiator: {
7337
- # display_name: "display-name",
7354
+ # display_name: "ownder-display-name",
7338
7355
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7339
7356
  # },
7340
7357
  # key: "JavaFile",
7341
7358
  # owner: {
7342
- # display_name: "display-name",
7359
+ # display_name: "ownder-display-name",
7343
7360
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7344
7361
  # },
7345
7362
  # storage_class: "STANDARD",
7346
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7363
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7347
7364
  # },
7348
7365
  # ],
7349
7366
  # }
@@ -8817,12 +8834,12 @@ module Aws::S3
8817
8834
  # encryption and Amazon S3 Bucket Key for an existing bucket.
8818
8835
  #
8819
8836
  # Default encryption for a bucket can use server-side encryption with
8820
- # Amazon S3-managed keys (SSE-S3) or Amazon Web Services KMS customer
8821
- # master keys (SSE-KMS). If you specify default encryption using
8822
- # SSE-KMS, you can also configure Amazon S3 Bucket Key. For information
8823
- # about default encryption, see [Amazon S3 default bucket encryption][1]
8824
- # in the *Amazon S3 User Guide*. For more information about S3 Bucket
8825
- # Keys, see [Amazon S3 Bucket Keys][2] in the *Amazon S3 User Guide*.
8837
+ # Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). If
8838
+ # you specify default encryption using SSE-KMS, you can also configure
8839
+ # Amazon S3 Bucket Key. For information about default encryption, see
8840
+ # [Amazon S3 default bucket encryption][1] in the *Amazon S3 User
8841
+ # Guide*. For more information about S3 Bucket Keys, see [Amazon S3
8842
+ # Bucket Keys][2] in the *Amazon S3 User Guide*.
8826
8843
  #
8827
8844
  # This action requires Amazon Web Services Signature Version 4. For more
8828
8845
  # information, see [ Authenticating Requests (Amazon Web Services
@@ -8854,10 +8871,10 @@ module Aws::S3
8854
8871
  #
8855
8872
  # @option params [required, String] :bucket
8856
8873
  # Specifies default encryption for a bucket using server-side encryption
8857
- # with Amazon S3-managed keys (SSE-S3) or customer master keys stored in
8858
- # Amazon Web Services KMS (SSE-KMS). For information about the Amazon S3
8859
- # default encryption feature, see [Amazon S3 Default Bucket
8860
- # Encryption][1] in the *Amazon S3 User Guide*.
8874
+ # with Amazon S3-managed keys (SSE-S3) or customer managed keys
8875
+ # (SSE-KMS). For information about the Amazon S3 default encryption
8876
+ # feature, see [Amazon S3 Default Bucket Encryption][1] in the *Amazon
8877
+ # S3 User Guide*.
8861
8878
  #
8862
8879
  #
8863
8880
  #
@@ -8915,21 +8932,23 @@ module Aws::S3
8915
8932
  #
8916
8933
  # The S3 Intelligent-Tiering storage class is designed to optimize
8917
8934
  # storage costs by automatically moving data to the most cost-effective
8918
- # storage access tier, without additional operational overhead. S3
8919
- # Intelligent-Tiering delivers automatic cost savings by moving data
8920
- # between access tiers, when access patterns change.
8921
- #
8922
- # The S3 Intelligent-Tiering storage class is suitable for objects
8923
- # larger than 128 KB that you plan to store for at least 30 days. If the
8924
- # size of an object is less than 128 KB, it is not eligible for
8925
- # auto-tiering. Smaller objects can be stored, but they are always
8926
- # charged at the frequent access tier rates in the S3
8927
- # Intelligent-Tiering storage class.
8928
- #
8929
- # If you delete an object before the end of the 30-day minimum storage
8930
- # duration period, you are charged for 30 days. For more information,
8931
- # see [Storage class for automatically optimizing frequently and
8932
- # infrequently accessed objects][1].
8935
+ # storage access tier, without performance impact or operational
8936
+ # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
8937
+ # two low latency and high throughput access tiers. For data that can be
8938
+ # accessed asynchronously, you can choose to activate automatic
8939
+ # archiving capabilities within the S3 Intelligent-Tiering storage
8940
+ # class.
8941
+ #
8942
+ # The S3 Intelligent-Tiering storage class is the ideal storage class
8943
+ # for data with unknown, changing, or unpredictable access patterns,
8944
+ # independent of object size or retention period. If the size of an
8945
+ # object is less than 128 KB, it is not eligible for auto-tiering.
8946
+ # Smaller objects can be stored, but they are always charged at the
8947
+ # Frequent Access tier rates in the S3 Intelligent-Tiering storage
8948
+ # class.
8949
+ #
8950
+ # For more information, see [Storage class for automatically optimizing
8951
+ # frequently and infrequently accessed objects][1].
8933
8952
  #
8934
8953
  # Operations related to `PutBucketIntelligentTieringConfiguration`
8935
8954
  # include:
@@ -9647,7 +9666,7 @@ module Aws::S3
9647
9666
  #
9648
9667
  # * [DeleteBucketMetricsConfiguration][4]
9649
9668
  #
9650
- # * [PutBucketMetricsConfiguration][5]
9669
+ # * [GetBucketMetricsConfiguration][5]
9651
9670
  #
9652
9671
  # * [ListBucketMetricsConfigurations][6]
9653
9672
  #
@@ -9666,7 +9685,7 @@ module Aws::S3
9666
9685
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
9667
9686
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html
9668
9687
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html
9669
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html
9688
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html
9670
9689
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html
9671
9690
  #
9672
9691
  # @option params [required, String] :bucket
@@ -9698,6 +9717,7 @@ module Aws::S3
9698
9717
  # key: "ObjectKey", # required
9699
9718
  # value: "Value", # required
9700
9719
  # },
9720
+ # access_point_arn: "AccessPointArn",
9701
9721
  # and: {
9702
9722
  # prefix: "Prefix",
9703
9723
  # tags: [
@@ -9706,6 +9726,7 @@ module Aws::S3
9706
9726
  # value: "Value", # required
9707
9727
  # },
9708
9728
  # ],
9729
+ # access_point_arn: "AccessPointArn",
9709
9730
  # },
9710
9731
  # },
9711
9732
  # },
@@ -10138,13 +10159,12 @@ module Aws::S3
10138
10159
  # **Handling Replication of Encrypted Objects**
10139
10160
  #
10140
10161
  # By default, Amazon S3 doesn't replicate objects that are stored at
10141
- # rest using server-side encryption with CMKs stored in Amazon Web
10142
- # Services KMS. To replicate Amazon Web Services KMS-encrypted objects,
10143
- # add the following: `SourceSelectionCriteria`,
10144
- # `SseKmsEncryptedObjects`, `Status`, `EncryptionConfiguration`, and
10145
- # `ReplicaKmsKeyID`. For information about replication configuration,
10146
- # see [Replicating Objects Created with SSE Using CMKs stored in Amazon
10147
- # Web Services KMS][4].
10162
+ # rest using server-side encryption with KMS keys. To replicate Amazon
10163
+ # Web Services KMS-encrypted objects, add the following:
10164
+ # `SourceSelectionCriteria`, `SseKmsEncryptedObjects`, `Status`,
10165
+ # `EncryptionConfiguration`, and `ReplicaKmsKeyID`. For information
10166
+ # about replication configuration, see [Replicating Objects Created with
10167
+ # SSE Using KMS keys][4].
10148
10168
  #
10149
10169
  # For information on `PutBucketReplication` errors, see [List of
10150
10170
  # replication-related error codes][5]
@@ -11107,12 +11127,12 @@ module Aws::S3
11107
11127
  # If `x-amz-server-side-encryption` is present and has the value of
11108
11128
  # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
11109
11129
  # Management Service (Amazon Web Services KMS) symmetrical customer
11110
- # managed customer master key (CMK) that was used for the object. If you
11111
- # specify `x-amz-server-side-encryption:aws:kms`, but do not provide`
11130
+ # managed key that was used for the object. If you specify
11131
+ # `x-amz-server-side-encryption:aws:kms`, but do not provide`
11112
11132
  # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
11113
- # Amazon Web Services managed CMK in Amazon Web Services to protect the
11114
- # data. If the KMS key does not exist in the same account issuing the
11115
- # command, you must use the full ARN and not just the ID.
11133
+ # Amazon Web Services managed key to protect the data. If the KMS key
11134
+ # does not exist in the same account issuing the command, you must use
11135
+ # the full ARN and not just the ID.
11116
11136
  #
11117
11137
  # @option params [String] :ssekms_encryption_context
11118
11138
  # Specifies the Amazon Web Services KMS Encryption Context to use for
@@ -11177,134 +11197,134 @@ module Aws::S3
11177
11197
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
11178
11198
  #
11179
11199
  #
11180
- # @example Example: To upload an object (specify optional headers)
11200
+ # @example Example: To upload an object and specify optional tags
11181
11201
  #
11182
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
11183
- # # storage class and use server-side encryption.
11202
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
11203
+ # # S3 returns version ID of the newly created object.
11184
11204
  #
11185
11205
  # resp = client.put_object({
11186
- # body: "HappyFace.jpg",
11206
+ # body: "c:\\HappyFace.jpg",
11187
11207
  # bucket: "examplebucket",
11188
11208
  # key: "HappyFace.jpg",
11189
- # server_side_encryption: "AES256",
11190
- # storage_class: "STANDARD_IA",
11209
+ # tagging: "key1=value1&key2=value2",
11191
11210
  # })
11192
11211
  #
11193
11212
  # resp.to_h outputs the following:
11194
11213
  # {
11195
11214
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11196
- # server_side_encryption: "AES256",
11197
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11215
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11198
11216
  # }
11199
11217
  #
11200
- # @example Example: To upload an object and specify server-side encryption and object tags
11218
+ # @example Example: To upload an object and specify canned ACL.
11201
11219
  #
11202
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
11203
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
11220
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
11221
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
11204
11222
  #
11205
11223
  # resp = client.put_object({
11224
+ # acl: "authenticated-read",
11206
11225
  # body: "filetoupload",
11207
11226
  # bucket: "examplebucket",
11208
11227
  # key: "exampleobject",
11209
- # server_side_encryption: "AES256",
11210
- # tagging: "key1=value1&key2=value2",
11211
11228
  # })
11212
11229
  #
11213
11230
  # resp.to_h outputs the following:
11214
11231
  # {
11215
11232
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11216
- # server_side_encryption: "AES256",
11217
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11233
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
11218
11234
  # }
11219
11235
  #
11220
- # @example Example: To create an object.
11236
+ # @example Example: To upload an object and specify server-side encryption and object tags
11221
11237
  #
11222
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
11238
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
11239
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
11223
11240
  #
11224
11241
  # resp = client.put_object({
11225
11242
  # body: "filetoupload",
11226
11243
  # bucket: "examplebucket",
11227
- # key: "objectkey",
11244
+ # key: "exampleobject",
11245
+ # server_side_encryption: "AES256",
11246
+ # tagging: "key1=value1&key2=value2",
11228
11247
  # })
11229
11248
  #
11230
11249
  # resp.to_h outputs the following:
11231
11250
  # {
11232
11251
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11233
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11252
+ # server_side_encryption: "AES256",
11253
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11234
11254
  # }
11235
11255
  #
11236
- # @example Example: To upload object and specify user-defined metadata
11256
+ # @example Example: To create an object.
11237
11257
  #
11238
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
11239
- # # enabled, S3 returns version ID in response.
11258
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
11240
11259
  #
11241
11260
  # resp = client.put_object({
11242
11261
  # body: "filetoupload",
11243
11262
  # bucket: "examplebucket",
11244
- # key: "exampleobject",
11245
- # metadata: {
11246
- # "metadata1" => "value1",
11247
- # "metadata2" => "value2",
11248
- # },
11263
+ # key: "objectkey",
11249
11264
  # })
11250
11265
  #
11251
11266
  # resp.to_h outputs the following:
11252
11267
  # {
11253
11268
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11254
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11269
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11255
11270
  # }
11256
11271
  #
11257
- # @example Example: To upload an object and specify canned ACL.
11272
+ # @example Example: To upload an object
11258
11273
  #
11259
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
11260
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
11274
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11275
+ # # syntax. S3 returns VersionId of the newly created object.
11261
11276
  #
11262
11277
  # resp = client.put_object({
11263
- # acl: "authenticated-read",
11264
- # body: "filetoupload",
11278
+ # body: "HappyFace.jpg",
11265
11279
  # bucket: "examplebucket",
11266
- # key: "exampleobject",
11280
+ # key: "HappyFace.jpg",
11267
11281
  # })
11268
11282
  #
11269
11283
  # resp.to_h outputs the following:
11270
11284
  # {
11271
11285
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11272
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
11286
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11273
11287
  # }
11274
11288
  #
11275
- # @example Example: To upload an object
11289
+ # @example Example: To upload an object (specify optional headers)
11276
11290
  #
11277
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11278
- # # syntax. S3 returns VersionId of the newly created object.
11291
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
11292
+ # # storage class and use server-side encryption.
11279
11293
  #
11280
11294
  # resp = client.put_object({
11281
11295
  # body: "HappyFace.jpg",
11282
11296
  # bucket: "examplebucket",
11283
11297
  # key: "HappyFace.jpg",
11298
+ # server_side_encryption: "AES256",
11299
+ # storage_class: "STANDARD_IA",
11284
11300
  # })
11285
11301
  #
11286
11302
  # resp.to_h outputs the following:
11287
11303
  # {
11288
11304
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11289
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11305
+ # server_side_encryption: "AES256",
11306
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11290
11307
  # }
11291
11308
  #
11292
- # @example Example: To upload an object and specify optional tags
11309
+ # @example Example: To upload object and specify user-defined metadata
11293
11310
  #
11294
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
11295
- # # S3 returns version ID of the newly created object.
11311
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
11312
+ # # enabled, S3 returns version ID in response.
11296
11313
  #
11297
11314
  # resp = client.put_object({
11298
- # body: "c:\\HappyFace.jpg",
11315
+ # body: "filetoupload",
11299
11316
  # bucket: "examplebucket",
11300
- # key: "HappyFace.jpg",
11301
- # tagging: "key1=value1&key2=value2",
11317
+ # key: "exampleobject",
11318
+ # metadata: {
11319
+ # "metadata1" => "value1",
11320
+ # "metadata2" => "value2",
11321
+ # },
11302
11322
  # })
11303
11323
  #
11304
11324
  # resp.to_h outputs the following:
11305
11325
  # {
11306
11326
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11307
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11327
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11308
11328
  # }
11309
11329
  #
11310
11330
  # @example Streaming a file from disk
@@ -12737,12 +12757,11 @@ module Aws::S3
12737
12757
  # Encryption Keys)][5] in the *Amazon S3 User Guide*.
12738
12758
  #
12739
12759
  # For objects that are encrypted with Amazon S3 managed encryption
12740
- # keys (SSE-S3) and customer master keys (CMKs) stored in Amazon Web
12741
- # Services Key Management Service (SSE-KMS), server-side encryption is
12742
- # handled transparently, so you don't need to specify anything. For
12743
- # more information about server-side encryption, including SSE-S3 and
12744
- # SSE-KMS, see [Protecting Data Using Server-Side Encryption][6] in
12745
- # the *Amazon S3 User Guide*.
12760
+ # keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS),
12761
+ # server-side encryption is handled transparently, so you don't need
12762
+ # to specify anything. For more information about server-side
12763
+ # encryption, including SSE-S3 and SSE-KMS, see [Protecting Data Using
12764
+ # Server-Side Encryption][6] in the *Amazon S3 User Guide*.
12746
12765
  #
12747
12766
  # **Working with the Response Body**
12748
12767
  #
@@ -13649,45 +13668,45 @@ module Aws::S3
13649
13668
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
13650
13669
  #
13651
13670
  #
13652
- # @example Example: To upload a part by copying byte range from an existing object as data source
13671
+ # @example Example: To upload a part by copying data from an existing object as data source
13653
13672
  #
13654
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
13655
- # # data source.
13673
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
13656
13674
  #
13657
13675
  # resp = client.upload_part_copy({
13658
13676
  # bucket: "examplebucket",
13659
13677
  # copy_source: "/bucketname/sourceobjectkey",
13660
- # copy_source_range: "bytes=1-100000",
13661
13678
  # key: "examplelargeobject",
13662
- # part_number: 2,
13679
+ # part_number: 1,
13663
13680
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
13664
13681
  # })
13665
13682
  #
13666
13683
  # resp.to_h outputs the following:
13667
13684
  # {
13668
13685
  # copy_part_result: {
13669
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
13670
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
13686
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
13687
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
13671
13688
  # },
13672
13689
  # }
13673
13690
  #
13674
- # @example Example: To upload a part by copying data from an existing object as data source
13691
+ # @example Example: To upload a part by copying byte range from an existing object as data source
13675
13692
  #
13676
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
13693
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
13694
+ # # data source.
13677
13695
  #
13678
13696
  # resp = client.upload_part_copy({
13679
13697
  # bucket: "examplebucket",
13680
13698
  # copy_source: "/bucketname/sourceobjectkey",
13699
+ # copy_source_range: "bytes=1-100000",
13681
13700
  # key: "examplelargeobject",
13682
- # part_number: 1,
13701
+ # part_number: 2,
13683
13702
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
13684
13703
  # })
13685
13704
  #
13686
13705
  # resp.to_h outputs the following:
13687
13706
  # {
13688
13707
  # copy_part_result: {
13689
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
13690
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
13708
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
13709
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
13691
13710
  # },
13692
13711
  # }
13693
13712
  #
@@ -13737,9 +13756,9 @@ module Aws::S3
13737
13756
  end
13738
13757
 
13739
13758
  # Passes transformed objects to a `GetObject` operation when using
13740
- # Object Lambda Access Points. For information about Object Lambda
13741
- # Access Points, see [Transforming objects with Object Lambda Access
13742
- # Points][1] in the *Amazon S3 User Guide*.
13759
+ # Object Lambda access points. For information about Object Lambda
13760
+ # access points, see [Transforming objects with Object Lambda access
13761
+ # points][1] in the *Amazon S3 User Guide*.
13743
13762
  #
13744
13763
  # This operation supports metadata that can be returned by
13745
13764
  # [GetObject][2], in addition to `RequestRoute`, `RequestToken`,
@@ -13761,8 +13780,8 @@ module Aws::S3
13761
13780
  # identifiable information (PII) and decompress S3 objects. These Lambda
13762
13781
  # functions are available in the Amazon Web Services Serverless
13763
13782
  # Application Repository, and can be selected through the Amazon Web
13764
- # Services Management Console when you create your Object Lambda Access
13765
- # Point.
13783
+ # Services Management Console when you create your Object Lambda access
13784
+ # point.
13766
13785
  #
13767
13786
  # Example 1: PII Access Control - This Lambda function uses Amazon
13768
13787
  # Comprehend, a natural language processing (NLP) service using machine
@@ -13954,8 +13973,8 @@ module Aws::S3
13954
13973
  #
13955
13974
  # @option params [String] :ssekms_key_id
13956
13975
  # If present, specifies the ID of the Amazon Web Services Key Management
13957
- # Service (Amazon Web Services KMS) symmetric customer managed customer
13958
- # master key (CMK) that was used for stored in Amazon S3 object.
13976
+ # Service (Amazon Web Services KMS) symmetric customer managed key that
13977
+ # was used for stored in Amazon S3 object.
13959
13978
  #
13960
13979
  # @option params [String] :sse_customer_key_md5
13961
13980
  # 128-bit MD5 digest of customer-provided encryption key used in Amazon
@@ -14047,7 +14066,7 @@ module Aws::S3
14047
14066
  params: params,
14048
14067
  config: config)
14049
14068
  context[:gem_name] = 'aws-sdk-s3'
14050
- context[:gem_version] = '1.101.0'
14069
+ context[:gem_version] = '1.105.0'
14051
14070
  Seahorse::Client::Request.new(handlers, context)
14052
14071
  end
14053
14072