aws-sdk-s3 1.102.0 → 1.105.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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