aws-sdk-s3 1.102.0 → 1.105.1

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