aws-sdk-s3 1.100.0 → 1.104.0

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