aws-sdk-s3 1.100.0 → 1.104.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.
@@ -1460,33 +1465,33 @@ module Aws::S3
1460
1465
  # * {Types::CreateBucketOutput#location #location} => String
1461
1466
  #
1462
1467
  #
1463
- # @example Example: To create a bucket in a specific region
1468
+ # @example Example: To create a bucket
1464
1469
  #
1465
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1470
+ # # The following example creates a bucket.
1466
1471
  #
1467
1472
  # resp = client.create_bucket({
1468
1473
  # bucket: "examplebucket",
1469
- # create_bucket_configuration: {
1470
- # location_constraint: "eu-west-1",
1471
- # },
1472
1474
  # })
1473
1475
  #
1474
1476
  # resp.to_h outputs the following:
1475
1477
  # {
1476
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1478
+ # location: "/examplebucket",
1477
1479
  # }
1478
1480
  #
1479
- # @example Example: To create a bucket
1481
+ # @example Example: To create a bucket in a specific region
1480
1482
  #
1481
- # # The following example creates a bucket.
1483
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1482
1484
  #
1483
1485
  # resp = client.create_bucket({
1484
1486
  # bucket: "examplebucket",
1487
+ # create_bucket_configuration: {
1488
+ # location_constraint: "eu-west-1",
1489
+ # },
1485
1490
  # })
1486
1491
  #
1487
1492
  # resp.to_h outputs the following:
1488
1493
  # {
1489
- # location: "/examplebucket",
1494
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1490
1495
  # }
1491
1496
  #
1492
1497
  # @example Request syntax with placeholder values
@@ -1557,15 +1562,14 @@ module Aws::S3
1557
1562
  # You can optionally request server-side encryption. For server-side
1558
1563
  # encryption, Amazon S3 encrypts your data as it writes it to disks in
1559
1564
  # 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
1565
+ # your own encryption key, or use Amazon Web Services KMS keys or Amazon
1566
+ # S3-managed encryption keys. If you choose to provide your own
1563
1567
  # encryption key, the request headers you provide in [UploadPart][1] and
1564
1568
  # [UploadPartCopy][6] requests must match the headers you used in the
1565
1569
  # request to initiate the upload by using `CreateMultipartUpload`.
1566
1570
  #
1567
1571
  # To perform a multipart upload with encryption using an Amazon Web
1568
- # Services KMS CMK, the requester must have permission to the
1572
+ # Services KMS key, the requester must have permission to the
1569
1573
  # `kms:Decrypt` and `kms:GenerateDataKey*` actions on the key. These
1570
1574
  # permissions are required because Amazon S3 must decrypt and read data
1571
1575
  # from the encrypted file parts before it completes the multipart
@@ -1573,11 +1577,10 @@ module Aws::S3
1573
1577
  # permissions][7] in the *Amazon S3 User Guide*.
1574
1578
  #
1575
1579
  # 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.
1580
+ # same Amazon Web Services account as the KMS key, then you must have
1581
+ # these permissions on the key policy. If your IAM user or role belongs
1582
+ # to a different account than the key, then you must have the
1583
+ # permissions on both the key policy and your IAM user or role.
1581
1584
  #
1582
1585
  # For more information, see [Protecting Data Using Server-Side
1583
1586
  # Encryption][8].
@@ -1610,11 +1613,11 @@ module Aws::S3
1610
1613
  # option you use depends on whether you want to use Amazon Web
1611
1614
  # Services managed encryption keys or provide your own encryption key.
1612
1615
  #
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.
1616
+ # * Use encryption keys managed by Amazon S3 or customer managed key
1617
+ # stored in Amazon Web Services Key Management Service (Amazon Web
1618
+ # Services KMS) – If you want Amazon Web Services to manage the keys
1619
+ # used to encrypt data, specify the following headers in the
1620
+ # request.
1618
1621
  #
1619
1622
  # * x-amz-server-side-encryption
1620
1623
  #
@@ -1624,7 +1627,7 @@ module Aws::S3
1624
1627
  #
1625
1628
  # <note markdown="1"> If you specify `x-amz-server-side-encryption:aws:kms`, but don't
1626
1629
  # provide `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3
1627
- # uses the Amazon Web Services managed CMK in Amazon Web Services
1630
+ # uses the Amazon Web Services managed key in Amazon Web Services
1628
1631
  # KMS to protect the data.
1629
1632
  #
1630
1633
  # </note>
@@ -1633,10 +1636,9 @@ module Aws::S3
1633
1636
  # Services KMS fail if you don't make them with SSL or by using
1634
1637
  # SigV4.
1635
1638
  #
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].
1639
+ # For more information about server-side encryption with KMS key
1640
+ # (SSE-KMS), see [Protecting Data Using Server-Side Encryption with
1641
+ # KMS keys][11].
1640
1642
  #
1641
1643
  # * Use customer-provided encryption keys – If you want to manage your
1642
1644
  # own encryption keys, provide all the following headers in the
@@ -1648,10 +1650,9 @@ module Aws::S3
1648
1650
  #
1649
1651
  # * x-amz-server-side-encryption-customer-key-MD5
1650
1652
  #
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].
1653
+ # For more information about server-side encryption with KMS keys
1654
+ # (SSE-KMS), see [Protecting Data Using Server-Side Encryption with
1655
+ # KMS keys][11].
1655
1656
  #
1656
1657
  # Access-Control-List (ACL)-Specific Request Headers
1657
1658
  #
@@ -1876,13 +1877,13 @@ module Aws::S3
1876
1877
  # ensure that the encryption key was transmitted without error.
1877
1878
  #
1878
1879
  # @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*.
1880
+ # Specifies the ID of the symmetric customer managed key to use for
1881
+ # object encryption. All GET and PUT requests for an object protected by
1882
+ # Amazon Web Services KMS will fail if not made via SSL or using SigV4.
1883
+ # For information about configuring using any of the officially
1884
+ # supported Amazon Web Services SDKs and Amazon Web Services CLI, see
1885
+ # [Specifying the Signature Version in Request Authentication][1] in the
1886
+ # *Amazon S3 User Guide*.
1886
1887
  #
1887
1888
  #
1888
1889
  #
@@ -2252,21 +2253,23 @@ module Aws::S3
2252
2253
  #
2253
2254
  # The S3 Intelligent-Tiering storage class is designed to optimize
2254
2255
  # 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].
2256
+ # storage access tier, without performance impact or operational
2257
+ # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
2258
+ # two low latency and high throughput access tiers. For data that can be
2259
+ # accessed asynchronously, you can choose to activate automatic
2260
+ # archiving capabilities within the S3 Intelligent-Tiering storage
2261
+ # class.
2262
+ #
2263
+ # The S3 Intelligent-Tiering storage class is the ideal storage class
2264
+ # for data with unknown, changing, or unpredictable access patterns,
2265
+ # independent of object size or retention period. If the size of an
2266
+ # object is less than 128 KB, it is not eligible for auto-tiering.
2267
+ # Smaller objects can be stored, but they are always charged at the
2268
+ # Frequent Access tier rates in the S3 Intelligent-Tiering storage
2269
+ # class.
2270
+ #
2271
+ # For more information, see [Storage class for automatically optimizing
2272
+ # frequently and infrequently accessed objects][1].
2270
2273
  #
2271
2274
  # Operations related to `DeleteBucketIntelligentTieringConfiguration`
2272
2275
  # include:
@@ -3716,21 +3719,23 @@ module Aws::S3
3716
3719
  #
3717
3720
  # The S3 Intelligent-Tiering storage class is designed to optimize
3718
3721
  # 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].
3722
+ # storage access tier, without performance impact or operational
3723
+ # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
3724
+ # two low latency and high throughput access tiers. For data that can be
3725
+ # accessed asynchronously, you can choose to activate automatic
3726
+ # archiving capabilities within the S3 Intelligent-Tiering storage
3727
+ # class.
3728
+ #
3729
+ # The S3 Intelligent-Tiering storage class is the ideal storage class
3730
+ # for data with unknown, changing, or unpredictable access patterns,
3731
+ # independent of object size or retention period. If the size of an
3732
+ # object is less than 128 KB, it is not eligible for auto-tiering.
3733
+ # Smaller objects can be stored, but they are always charged at the
3734
+ # Frequent Access tier rates in the S3 Intelligent-Tiering storage
3735
+ # class.
3736
+ #
3737
+ # For more information, see [Storage class for automatically optimizing
3738
+ # frequently and infrequently accessed objects][1].
3734
3739
  #
3735
3740
  # Operations related to `GetBucketIntelligentTieringConfiguration`
3736
3741
  # include:
@@ -4297,10 +4302,12 @@ module Aws::S3
4297
4302
  # resp.metrics_configuration.filter.prefix #=> String
4298
4303
  # resp.metrics_configuration.filter.tag.key #=> String
4299
4304
  # resp.metrics_configuration.filter.tag.value #=> String
4305
+ # resp.metrics_configuration.filter.access_point_arn #=> String
4300
4306
  # resp.metrics_configuration.filter.and.prefix #=> String
4301
4307
  # resp.metrics_configuration.filter.and.tags #=> Array
4302
4308
  # resp.metrics_configuration.filter.and.tags[0].key #=> String
4303
4309
  # resp.metrics_configuration.filter.and.tags[0].value #=> String
4310
+ # resp.metrics_configuration.filter.and.access_point_arn #=> String
4304
4311
  #
4305
4312
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketMetricsConfiguration AWS API Documentation
4306
4313
  #
@@ -5158,10 +5165,9 @@ module Aws::S3
5158
5165
  #
5159
5166
  # Encryption request headers, like `x-amz-server-side-encryption`,
5160
5167
  # 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.
5168
+ # encryption with KMS keys (SSE-KMS) or server-side encryption with
5169
+ # Amazon S3–managed encryption keys (SSE-S3). If your object does use
5170
+ # these types of keys, you’ll get an HTTP 400 BadRequest error.
5165
5171
  #
5166
5172
  # If you encrypt an object by using server-side encryption with
5167
5173
  # customer-provided encryption keys (SSE-C) when you store the object in
@@ -5296,6 +5302,9 @@ module Aws::S3
5296
5302
  # name. For more information about access point ARNs, see [Using access
5297
5303
  # points][1] in the *Amazon S3 User Guide*.
5298
5304
  #
5305
+ # When using an Object Lambda access point the hostname takes the form
5306
+ # *AccessPointName*-*AccountId*.s3-object-lambda.*Region*.amazonaws.com.
5307
+ #
5299
5308
  # When using this action with Amazon S3 on Outposts, you must direct
5300
5309
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5301
5310
  # takes the form
@@ -5439,49 +5448,49 @@ module Aws::S3
5439
5448
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
5440
5449
  #
5441
5450
  #
5442
- # @example Example: To retrieve a byte range of an object
5451
+ # @example Example: To retrieve an object
5443
5452
  #
5444
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5445
- # # specific byte range.
5453
+ # # The following example retrieves an object for an S3 bucket.
5446
5454
  #
5447
5455
  # resp = client.get_object({
5448
5456
  # bucket: "examplebucket",
5449
- # key: "SampleFile.txt",
5450
- # range: "bytes=0-9",
5457
+ # key: "HappyFace.jpg",
5451
5458
  # })
5452
5459
  #
5453
5460
  # resp.to_h outputs the following:
5454
5461
  # {
5455
5462
  # 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"),
5463
+ # content_length: 3191,
5464
+ # content_type: "image/jpeg",
5465
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5466
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5461
5467
  # metadata: {
5462
5468
  # },
5469
+ # tag_count: 2,
5463
5470
  # version_id: "null",
5464
5471
  # }
5465
5472
  #
5466
- # @example Example: To retrieve an object
5473
+ # @example Example: To retrieve a byte range of an object
5467
5474
  #
5468
- # # The following example retrieves an object for an S3 bucket.
5475
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5476
+ # # specific byte range.
5469
5477
  #
5470
5478
  # resp = client.get_object({
5471
5479
  # bucket: "examplebucket",
5472
- # key: "HappyFace.jpg",
5480
+ # key: "SampleFile.txt",
5481
+ # range: "bytes=0-9",
5473
5482
  # })
5474
5483
  #
5475
5484
  # resp.to_h outputs the following:
5476
5485
  # {
5477
5486
  # 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"),
5487
+ # content_length: 10,
5488
+ # content_range: "bytes 0-9/43",
5489
+ # content_type: "text/plain",
5490
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5491
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5482
5492
  # metadata: {
5483
5493
  # },
5484
- # tag_count: 2,
5485
5494
  # version_id: "null",
5486
5495
  # }
5487
5496
  #
@@ -6029,49 +6038,49 @@ module Aws::S3
6029
6038
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
6030
6039
  #
6031
6040
  #
6032
- # @example Example: To retrieve tag set of an object
6041
+ # @example Example: To retrieve tag set of a specific object version
6033
6042
  #
6034
- # # The following example retrieves tag set of an object.
6043
+ # # The following example retrieves tag set of an object. The request specifies object version.
6035
6044
  #
6036
6045
  # resp = client.get_object_tagging({
6037
6046
  # bucket: "examplebucket",
6038
- # key: "HappyFace.jpg",
6047
+ # key: "exampleobject",
6048
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6039
6049
  # })
6040
6050
  #
6041
6051
  # resp.to_h outputs the following:
6042
6052
  # {
6043
6053
  # tag_set: [
6044
6054
  # {
6045
- # key: "Key4",
6046
- # value: "Value4",
6047
- # },
6048
- # {
6049
- # key: "Key3",
6050
- # value: "Value3",
6055
+ # key: "Key1",
6056
+ # value: "Value1",
6051
6057
  # },
6052
6058
  # ],
6053
- # version_id: "null",
6059
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6054
6060
  # }
6055
6061
  #
6056
- # @example Example: To retrieve tag set of a specific object version
6062
+ # @example Example: To retrieve tag set of an object
6057
6063
  #
6058
- # # The following example retrieves tag set of an object. The request specifies object version.
6064
+ # # The following example retrieves tag set of an object.
6059
6065
  #
6060
6066
  # resp = client.get_object_tagging({
6061
6067
  # bucket: "examplebucket",
6062
- # key: "exampleobject",
6063
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6068
+ # key: "HappyFace.jpg",
6064
6069
  # })
6065
6070
  #
6066
6071
  # resp.to_h outputs the following:
6067
6072
  # {
6068
6073
  # tag_set: [
6069
6074
  # {
6070
- # key: "Key1",
6071
- # value: "Value1",
6075
+ # key: "Key4",
6076
+ # value: "Value4",
6077
+ # },
6078
+ # {
6079
+ # key: "Key3",
6080
+ # value: "Value3",
6072
6081
  # },
6073
6082
  # ],
6074
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
6083
+ # version_id: "null",
6075
6084
  # }
6076
6085
  #
6077
6086
  # @example Request syntax with placeholder values
@@ -6385,10 +6394,9 @@ module Aws::S3
6385
6394
  #
6386
6395
  # <note markdown="1"> * Encryption request headers, like `x-amz-server-side-encryption`,
6387
6396
  # 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.
6397
+ # encryption with KMS keys (SSE-KMS) or server-side encryption with
6398
+ # Amazon S3–managed encryption keys (SSE-S3). If your object does use
6399
+ # these types of keys, you’ll get an HTTP 400 BadRequest error.
6392
6400
  #
6393
6401
  # * The last modified property in this case is the creation date of the
6394
6402
  # object.
@@ -6774,21 +6782,23 @@ module Aws::S3
6774
6782
  #
6775
6783
  # The S3 Intelligent-Tiering storage class is designed to optimize
6776
6784
  # 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].
6785
+ # storage access tier, without performance impact or operational
6786
+ # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
6787
+ # two low latency and high throughput access tiers. For data that can be
6788
+ # accessed asynchronously, you can choose to activate automatic
6789
+ # archiving capabilities within the S3 Intelligent-Tiering storage
6790
+ # class.
6791
+ #
6792
+ # The S3 Intelligent-Tiering storage class is the ideal storage class
6793
+ # for data with unknown, changing, or unpredictable access patterns,
6794
+ # independent of object size or retention period. If the size of an
6795
+ # object is less than 128 KB, it is not eligible for auto-tiering.
6796
+ # Smaller objects can be stored, but they are always charged at the
6797
+ # Frequent Access tier rates in the S3 Intelligent-Tiering storage
6798
+ # class.
6799
+ #
6800
+ # For more information, see [Storage class for automatically optimizing
6801
+ # frequently and infrequently accessed objects][1].
6792
6802
  #
6793
6803
  # Operations related to `ListBucketIntelligentTieringConfigurations`
6794
6804
  # include:
@@ -7036,10 +7046,12 @@ module Aws::S3
7036
7046
  # resp.metrics_configuration_list[0].filter.prefix #=> String
7037
7047
  # resp.metrics_configuration_list[0].filter.tag.key #=> String
7038
7048
  # resp.metrics_configuration_list[0].filter.tag.value #=> String
7049
+ # resp.metrics_configuration_list[0].filter.access_point_arn #=> String
7039
7050
  # resp.metrics_configuration_list[0].filter.and.prefix #=> String
7040
7051
  # resp.metrics_configuration_list[0].filter.and.tags #=> Array
7041
7052
  # resp.metrics_configuration_list[0].filter.and.tags[0].key #=> String
7042
7053
  # resp.metrics_configuration_list[0].filter.and.tags[0].value #=> String
7054
+ # resp.metrics_configuration_list[0].filter.and.access_point_arn #=> String
7043
7055
  #
7044
7056
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketMetricsConfigurations AWS API Documentation
7045
7057
  #
@@ -7253,97 +7265,97 @@ module Aws::S3
7253
7265
  # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7254
7266
  #
7255
7267
  #
7256
- # @example Example: List next set of multipart uploads when previous result is truncated
7268
+ # @example Example: To list in-progress multipart uploads on a bucket
7257
7269
  #
7258
- # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
7259
- # # setup of multipart uploads.
7270
+ # # The following example lists in-progress multipart uploads on a specific bucket.
7260
7271
  #
7261
7272
  # resp = client.list_multipart_uploads({
7262
7273
  # bucket: "examplebucket",
7263
- # key_marker: "nextkeyfrompreviousresponse",
7264
- # max_uploads: 2,
7265
- # upload_id_marker: "valuefrompreviousresponse",
7266
7274
  # })
7267
7275
  #
7268
7276
  # resp.to_h outputs the following:
7269
7277
  # {
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
7278
  # uploads: [
7278
7279
  # {
7279
7280
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
7280
7281
  # initiator: {
7281
- # display_name: "ownder-display-name",
7282
+ # display_name: "display-name",
7282
7283
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7283
7284
  # },
7284
7285
  # key: "JavaFile",
7285
7286
  # owner: {
7286
- # display_name: "mohanataws",
7287
- # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7287
+ # display_name: "display-name",
7288
+ # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7288
7289
  # },
7289
7290
  # storage_class: "STANDARD",
7290
- # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7291
+ # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7291
7292
  # },
7292
7293
  # {
7293
7294
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
7294
7295
  # initiator: {
7295
- # display_name: "ownder-display-name",
7296
+ # display_name: "display-name",
7296
7297
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7297
7298
  # },
7298
7299
  # key: "JavaFile",
7299
7300
  # owner: {
7300
- # display_name: "ownder-display-name",
7301
+ # display_name: "display-name",
7301
7302
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7302
7303
  # },
7303
7304
  # storage_class: "STANDARD",
7304
- # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7305
+ # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7305
7306
  # },
7306
7307
  # ],
7307
7308
  # }
7308
7309
  #
7309
- # @example Example: To list in-progress multipart uploads on a bucket
7310
+ # @example Example: List next set of multipart uploads when previous result is truncated
7310
7311
  #
7311
- # # The following example lists in-progress multipart uploads on a specific bucket.
7312
+ # # The following example specifies the upload-id-marker and key-marker from previous truncated response to retrieve next
7313
+ # # setup of multipart uploads.
7312
7314
  #
7313
7315
  # resp = client.list_multipart_uploads({
7314
7316
  # bucket: "examplebucket",
7317
+ # key_marker: "nextkeyfrompreviousresponse",
7318
+ # max_uploads: 2,
7319
+ # upload_id_marker: "valuefrompreviousresponse",
7315
7320
  # })
7316
7321
  #
7317
7322
  # resp.to_h outputs the following:
7318
7323
  # {
7324
+ # bucket: "acl1",
7325
+ # is_truncated: true,
7326
+ # key_marker: "",
7327
+ # max_uploads: 2,
7328
+ # next_key_marker: "someobjectkey",
7329
+ # next_upload_id_marker: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7330
+ # upload_id_marker: "",
7319
7331
  # uploads: [
7320
7332
  # {
7321
7333
  # initiated: Time.parse("2014-05-01T05:40:58.000Z"),
7322
7334
  # initiator: {
7323
- # display_name: "display-name",
7335
+ # display_name: "ownder-display-name",
7324
7336
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7325
7337
  # },
7326
7338
  # key: "JavaFile",
7327
7339
  # owner: {
7328
- # display_name: "display-name",
7329
- # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7340
+ # display_name: "mohanataws",
7341
+ # id: "852b113e7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7330
7342
  # },
7331
7343
  # storage_class: "STANDARD",
7332
- # upload_id: "examplelUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7344
+ # upload_id: "gZ30jIqlUa.CInXklLQtSMJITdUnoZ1Y5GACB5UckOtspm5zbDMCkPF_qkfZzMiFZ6dksmcnqxJyIBvQMG9X9Q--",
7333
7345
  # },
7334
7346
  # {
7335
7347
  # initiated: Time.parse("2014-05-01T05:41:27.000Z"),
7336
7348
  # initiator: {
7337
- # display_name: "display-name",
7349
+ # display_name: "ownder-display-name",
7338
7350
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7339
7351
  # },
7340
7352
  # key: "JavaFile",
7341
7353
  # owner: {
7342
- # display_name: "display-name",
7354
+ # display_name: "ownder-display-name",
7343
7355
  # id: "examplee7a2f25102679df27bb0ae12b3f85be6f290b936c4393484be31bebcc",
7344
7356
  # },
7345
7357
  # storage_class: "STANDARD",
7346
- # upload_id: "examplelo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7358
+ # upload_id: "b7tZSqIlo91lv1iwvWpvCiJWugw2xXLPAD7Z8cJyX9.WiIRgNrdG6Ldsn.9FtS63TCl1Uf5faTB.1U5Ckcbmdw--",
7347
7359
  # },
7348
7360
  # ],
7349
7361
  # }
@@ -8817,12 +8829,12 @@ module Aws::S3
8817
8829
  # encryption and Amazon S3 Bucket Key for an existing bucket.
8818
8830
  #
8819
8831
  # 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*.
8832
+ # Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). If
8833
+ # you specify default encryption using SSE-KMS, you can also configure
8834
+ # Amazon S3 Bucket Key. For information about default encryption, see
8835
+ # [Amazon S3 default bucket encryption][1] in the *Amazon S3 User
8836
+ # Guide*. For more information about S3 Bucket Keys, see [Amazon S3
8837
+ # Bucket Keys][2] in the *Amazon S3 User Guide*.
8826
8838
  #
8827
8839
  # This action requires Amazon Web Services Signature Version 4. For more
8828
8840
  # information, see [ Authenticating Requests (Amazon Web Services
@@ -8854,10 +8866,10 @@ module Aws::S3
8854
8866
  #
8855
8867
  # @option params [required, String] :bucket
8856
8868
  # 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*.
8869
+ # with Amazon S3-managed keys (SSE-S3) or customer managed keys
8870
+ # (SSE-KMS). For information about the Amazon S3 default encryption
8871
+ # feature, see [Amazon S3 Default Bucket Encryption][1] in the *Amazon
8872
+ # S3 User Guide*.
8861
8873
  #
8862
8874
  #
8863
8875
  #
@@ -8915,21 +8927,23 @@ module Aws::S3
8915
8927
  #
8916
8928
  # The S3 Intelligent-Tiering storage class is designed to optimize
8917
8929
  # 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].
8930
+ # storage access tier, without performance impact or operational
8931
+ # overhead. S3 Intelligent-Tiering delivers automatic cost savings in
8932
+ # two low latency and high throughput access tiers. For data that can be
8933
+ # accessed asynchronously, you can choose to activate automatic
8934
+ # archiving capabilities within the S3 Intelligent-Tiering storage
8935
+ # class.
8936
+ #
8937
+ # The S3 Intelligent-Tiering storage class is the ideal storage class
8938
+ # for data with unknown, changing, or unpredictable access patterns,
8939
+ # independent of object size or retention period. If the size of an
8940
+ # object is less than 128 KB, it is not eligible for auto-tiering.
8941
+ # Smaller objects can be stored, but they are always charged at the
8942
+ # Frequent Access tier rates in the S3 Intelligent-Tiering storage
8943
+ # class.
8944
+ #
8945
+ # For more information, see [Storage class for automatically optimizing
8946
+ # frequently and infrequently accessed objects][1].
8933
8947
  #
8934
8948
  # Operations related to `PutBucketIntelligentTieringConfiguration`
8935
8949
  # include:
@@ -9647,7 +9661,7 @@ module Aws::S3
9647
9661
  #
9648
9662
  # * [DeleteBucketMetricsConfiguration][4]
9649
9663
  #
9650
- # * [PutBucketMetricsConfiguration][5]
9664
+ # * [GetBucketMetricsConfiguration][5]
9651
9665
  #
9652
9666
  # * [ListBucketMetricsConfigurations][6]
9653
9667
  #
@@ -9666,7 +9680,7 @@ module Aws::S3
9666
9680
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
9667
9681
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html
9668
9682
  # [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
9683
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html
9670
9684
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html
9671
9685
  #
9672
9686
  # @option params [required, String] :bucket
@@ -9698,6 +9712,7 @@ module Aws::S3
9698
9712
  # key: "ObjectKey", # required
9699
9713
  # value: "Value", # required
9700
9714
  # },
9715
+ # access_point_arn: "AccessPointArn",
9701
9716
  # and: {
9702
9717
  # prefix: "Prefix",
9703
9718
  # tags: [
@@ -9706,6 +9721,7 @@ module Aws::S3
9706
9721
  # value: "Value", # required
9707
9722
  # },
9708
9723
  # ],
9724
+ # access_point_arn: "AccessPointArn",
9709
9725
  # },
9710
9726
  # },
9711
9727
  # },
@@ -10138,13 +10154,12 @@ module Aws::S3
10138
10154
  # **Handling Replication of Encrypted Objects**
10139
10155
  #
10140
10156
  # 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].
10157
+ # rest using server-side encryption with KMS keys. To replicate Amazon
10158
+ # Web Services KMS-encrypted objects, add the following:
10159
+ # `SourceSelectionCriteria`, `SseKmsEncryptedObjects`, `Status`,
10160
+ # `EncryptionConfiguration`, and `ReplicaKmsKeyID`. For information
10161
+ # about replication configuration, see [Replicating Objects Created with
10162
+ # SSE Using KMS keys][4].
10148
10163
  #
10149
10164
  # For information on `PutBucketReplication` errors, see [List of
10150
10165
  # replication-related error codes][5]
@@ -11107,12 +11122,12 @@ module Aws::S3
11107
11122
  # If `x-amz-server-side-encryption` is present and has the value of
11108
11123
  # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
11109
11124
  # 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`
11125
+ # managed key that was used for the object. If you specify
11126
+ # `x-amz-server-side-encryption:aws:kms`, but do not provide`
11112
11127
  # 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.
11128
+ # Amazon Web Services managed key to protect the data. If the KMS key
11129
+ # does not exist in the same account issuing the command, you must use
11130
+ # the full ARN and not just the ID.
11116
11131
  #
11117
11132
  # @option params [String] :ssekms_encryption_context
11118
11133
  # Specifies the Amazon Web Services KMS Encryption Context to use for
@@ -11177,134 +11192,134 @@ module Aws::S3
11177
11192
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
11178
11193
  #
11179
11194
  #
11180
- # @example Example: To upload an object (specify optional headers)
11195
+ # @example Example: To upload an object and specify optional tags
11181
11196
  #
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.
11197
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
11198
+ # # S3 returns version ID of the newly created object.
11184
11199
  #
11185
11200
  # resp = client.put_object({
11186
- # body: "HappyFace.jpg",
11201
+ # body: "c:\\HappyFace.jpg",
11187
11202
  # bucket: "examplebucket",
11188
11203
  # key: "HappyFace.jpg",
11189
- # server_side_encryption: "AES256",
11190
- # storage_class: "STANDARD_IA",
11204
+ # tagging: "key1=value1&key2=value2",
11191
11205
  # })
11192
11206
  #
11193
11207
  # resp.to_h outputs the following:
11194
11208
  # {
11195
11209
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11196
- # server_side_encryption: "AES256",
11197
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11210
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11198
11211
  # }
11199
11212
  #
11200
- # @example Example: To upload an object and specify server-side encryption and object tags
11213
+ # @example Example: To upload an object and specify canned ACL.
11201
11214
  #
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.
11215
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
11216
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
11204
11217
  #
11205
11218
  # resp = client.put_object({
11219
+ # acl: "authenticated-read",
11206
11220
  # body: "filetoupload",
11207
11221
  # bucket: "examplebucket",
11208
11222
  # key: "exampleobject",
11209
- # server_side_encryption: "AES256",
11210
- # tagging: "key1=value1&key2=value2",
11211
11223
  # })
11212
11224
  #
11213
11225
  # resp.to_h outputs the following:
11214
11226
  # {
11215
11227
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11216
- # server_side_encryption: "AES256",
11217
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11228
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
11218
11229
  # }
11219
11230
  #
11220
- # @example Example: To create an object.
11231
+ # @example Example: To upload an object and specify server-side encryption and object tags
11221
11232
  #
11222
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
11233
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
11234
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
11223
11235
  #
11224
11236
  # resp = client.put_object({
11225
11237
  # body: "filetoupload",
11226
11238
  # bucket: "examplebucket",
11227
- # key: "objectkey",
11239
+ # key: "exampleobject",
11240
+ # server_side_encryption: "AES256",
11241
+ # tagging: "key1=value1&key2=value2",
11228
11242
  # })
11229
11243
  #
11230
11244
  # resp.to_h outputs the following:
11231
11245
  # {
11232
11246
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11233
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11247
+ # server_side_encryption: "AES256",
11248
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
11234
11249
  # }
11235
11250
  #
11236
- # @example Example: To upload object and specify user-defined metadata
11251
+ # @example Example: To create an object.
11237
11252
  #
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.
11253
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
11240
11254
  #
11241
11255
  # resp = client.put_object({
11242
11256
  # body: "filetoupload",
11243
11257
  # bucket: "examplebucket",
11244
- # key: "exampleobject",
11245
- # metadata: {
11246
- # "metadata1" => "value1",
11247
- # "metadata2" => "value2",
11248
- # },
11258
+ # key: "objectkey",
11249
11259
  # })
11250
11260
  #
11251
11261
  # resp.to_h outputs the following:
11252
11262
  # {
11253
11263
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11254
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11264
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
11255
11265
  # }
11256
11266
  #
11257
- # @example Example: To upload an object and specify canned ACL.
11267
+ # @example Example: To upload an object
11258
11268
  #
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.
11269
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
11270
+ # # syntax. S3 returns VersionId of the newly created object.
11261
11271
  #
11262
11272
  # resp = client.put_object({
11263
- # acl: "authenticated-read",
11264
- # body: "filetoupload",
11273
+ # body: "HappyFace.jpg",
11265
11274
  # bucket: "examplebucket",
11266
- # key: "exampleobject",
11275
+ # key: "HappyFace.jpg",
11267
11276
  # })
11268
11277
  #
11269
11278
  # resp.to_h outputs the following:
11270
11279
  # {
11271
11280
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11272
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
11281
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11273
11282
  # }
11274
11283
  #
11275
- # @example Example: To upload an object
11284
+ # @example Example: To upload an object (specify optional headers)
11276
11285
  #
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.
11286
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
11287
+ # # storage class and use server-side encryption.
11279
11288
  #
11280
11289
  # resp = client.put_object({
11281
11290
  # body: "HappyFace.jpg",
11282
11291
  # bucket: "examplebucket",
11283
11292
  # key: "HappyFace.jpg",
11293
+ # server_side_encryption: "AES256",
11294
+ # storage_class: "STANDARD_IA",
11284
11295
  # })
11285
11296
  #
11286
11297
  # resp.to_h outputs the following:
11287
11298
  # {
11288
11299
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11289
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
11300
+ # server_side_encryption: "AES256",
11301
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11290
11302
  # }
11291
11303
  #
11292
- # @example Example: To upload an object and specify optional tags
11304
+ # @example Example: To upload object and specify user-defined metadata
11293
11305
  #
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.
11306
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
11307
+ # # enabled, S3 returns version ID in response.
11296
11308
  #
11297
11309
  # resp = client.put_object({
11298
- # body: "c:\\HappyFace.jpg",
11310
+ # body: "filetoupload",
11299
11311
  # bucket: "examplebucket",
11300
- # key: "HappyFace.jpg",
11301
- # tagging: "key1=value1&key2=value2",
11312
+ # key: "exampleobject",
11313
+ # metadata: {
11314
+ # "metadata1" => "value1",
11315
+ # "metadata2" => "value2",
11316
+ # },
11302
11317
  # })
11303
11318
  #
11304
11319
  # resp.to_h outputs the following:
11305
11320
  # {
11306
11321
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
11307
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
11322
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11308
11323
  # }
11309
11324
  #
11310
11325
  # @example Streaming a file from disk
@@ -12737,12 +12752,11 @@ module Aws::S3
12737
12752
  # Encryption Keys)][5] in the *Amazon S3 User Guide*.
12738
12753
  #
12739
12754
  # 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*.
12755
+ # keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS),
12756
+ # server-side encryption is handled transparently, so you don't need
12757
+ # to specify anything. For more information about server-side
12758
+ # encryption, including SSE-S3 and SSE-KMS, see [Protecting Data Using
12759
+ # Server-Side Encryption][6] in the *Amazon S3 User Guide*.
12746
12760
  #
12747
12761
  # **Working with the Response Body**
12748
12762
  #
@@ -13649,45 +13663,45 @@ module Aws::S3
13649
13663
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
13650
13664
  #
13651
13665
  #
13652
- # @example Example: To upload a part by copying byte range from an existing object as data source
13666
+ # @example Example: To upload a part by copying data from an existing object as data source
13653
13667
  #
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.
13668
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
13656
13669
  #
13657
13670
  # resp = client.upload_part_copy({
13658
13671
  # bucket: "examplebucket",
13659
13672
  # copy_source: "/bucketname/sourceobjectkey",
13660
- # copy_source_range: "bytes=1-100000",
13661
13673
  # key: "examplelargeobject",
13662
- # part_number: 2,
13674
+ # part_number: 1,
13663
13675
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
13664
13676
  # })
13665
13677
  #
13666
13678
  # resp.to_h outputs the following:
13667
13679
  # {
13668
13680
  # copy_part_result: {
13669
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
13670
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
13681
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
13682
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
13671
13683
  # },
13672
13684
  # }
13673
13685
  #
13674
- # @example Example: To upload a part by copying data from an existing object as data source
13686
+ # @example Example: To upload a part by copying byte range from an existing object as data source
13675
13687
  #
13676
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
13688
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
13689
+ # # data source.
13677
13690
  #
13678
13691
  # resp = client.upload_part_copy({
13679
13692
  # bucket: "examplebucket",
13680
13693
  # copy_source: "/bucketname/sourceobjectkey",
13694
+ # copy_source_range: "bytes=1-100000",
13681
13695
  # key: "examplelargeobject",
13682
- # part_number: 1,
13696
+ # part_number: 2,
13683
13697
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
13684
13698
  # })
13685
13699
  #
13686
13700
  # resp.to_h outputs the following:
13687
13701
  # {
13688
13702
  # copy_part_result: {
13689
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
13690
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
13703
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
13704
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
13691
13705
  # },
13692
13706
  # }
13693
13707
  #
@@ -13737,9 +13751,9 @@ module Aws::S3
13737
13751
  end
13738
13752
 
13739
13753
  # 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*.
13754
+ # Object Lambda access points. For information about Object Lambda
13755
+ # access points, see [Transforming objects with Object Lambda access
13756
+ # points][1] in the *Amazon S3 User Guide*.
13743
13757
  #
13744
13758
  # This operation supports metadata that can be returned by
13745
13759
  # [GetObject][2], in addition to `RequestRoute`, `RequestToken`,
@@ -13761,8 +13775,8 @@ module Aws::S3
13761
13775
  # identifiable information (PII) and decompress S3 objects. These Lambda
13762
13776
  # functions are available in the Amazon Web Services Serverless
13763
13777
  # Application Repository, and can be selected through the Amazon Web
13764
- # Services Management Console when you create your Object Lambda Access
13765
- # Point.
13778
+ # Services Management Console when you create your Object Lambda access
13779
+ # point.
13766
13780
  #
13767
13781
  # Example 1: PII Access Control - This Lambda function uses Amazon
13768
13782
  # Comprehend, a natural language processing (NLP) service using machine
@@ -13954,8 +13968,8 @@ module Aws::S3
13954
13968
  #
13955
13969
  # @option params [String] :ssekms_key_id
13956
13970
  # 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.
13971
+ # Service (Amazon Web Services KMS) symmetric customer managed key that
13972
+ # was used for stored in Amazon S3 object.
13959
13973
  #
13960
13974
  # @option params [String] :sse_customer_key_md5
13961
13975
  # 128-bit MD5 digest of customer-provided encryption key used in Amazon
@@ -14047,7 +14061,7 @@ module Aws::S3
14047
14061
  params: params,
14048
14062
  config: config)
14049
14063
  context[:gem_name] = 'aws-sdk-s3'
14050
- context[:gem_version] = '1.100.0'
14064
+ context[:gem_version] = '1.104.0'
14051
14065
  Seahorse::Client::Request.new(handlers, context)
14052
14066
  end
14053
14067