aws-sdk-s3 1.119.2 → 1.120.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -501,14 +501,14 @@ module Aws::S3
501
501
  # name. For more information about access point ARNs, see [Using access
502
502
  # points][1] in the *Amazon S3 User Guide*.
503
503
  #
504
- # When using this action with Amazon S3 on Outposts, you must direct
504
+ # When you use this action with Amazon S3 on Outposts, you must direct
505
505
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
506
506
  # takes the form `
507
507
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
508
- # When using this action with S3 on Outposts through the Amazon Web
509
- # Services SDKs, you provide the Outposts bucket ARN in place of the
510
- # bucket name. For more information about S3 on Outposts ARNs, see
511
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
508
+ # When you use this action with S3 on Outposts through the Amazon Web
509
+ # Services SDKs, you provide the Outposts access point ARN in place of
510
+ # the bucket name. For more information about S3 on Outposts ARNs, see
511
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
512
512
  #
513
513
  #
514
514
  #
@@ -596,10 +596,17 @@ module Aws::S3
596
596
  # minutes to complete. After Amazon S3 begins processing the request, it
597
597
  # sends an HTTP response header that specifies a 200 OK response. While
598
598
  # processing is in progress, Amazon S3 periodically sends white space
599
- # characters to keep the connection from timing out. Because a request
600
- # could fail after the initial 200 OK response has been sent, it is
601
- # important that you check the response body to determine whether the
602
- # request succeeded.
599
+ # characters to keep the connection from timing out. A request could
600
+ # fail after the initial 200 OK response has been sent. This means that
601
+ # a `200 OK` response can contain either a success or an error. If you
602
+ # call the S3 API directly, make sure to design your application to
603
+ # parse the contents of the response and handle it appropriately. If you
604
+ # use Amazon Web Services SDKs, SDKs handle this condition. The SDKs
605
+ # detect the embedded error and apply error handling per your
606
+ # configuration settings (including automatically retrying the request
607
+ # as appropriate). If the condition persists, the SDKs throws an
608
+ # exception (or, for the SDKs that don't use exceptions, they return
609
+ # the error).
603
610
  #
604
611
  # Note that if `CompleteMultipartUpload` fails, applications should be
605
612
  # prepared to retry the failed requests. For more information, see
@@ -683,14 +690,14 @@ module Aws::S3
683
690
  # name. For more information about access point ARNs, see [Using access
684
691
  # points][1] in the *Amazon S3 User Guide*.
685
692
  #
686
- # When using this action with Amazon S3 on Outposts, you must direct
693
+ # When you use this action with Amazon S3 on Outposts, you must direct
687
694
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
688
695
  # takes the form `
689
696
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
690
- # When using this action with S3 on Outposts through the Amazon Web
691
- # Services SDKs, you provide the Outposts bucket ARN in place of the
692
- # bucket name. For more information about S3 on Outposts ARNs, see
693
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
697
+ # When you use this action with S3 on Outposts through the Amazon Web
698
+ # Services SDKs, you provide the Outposts access point ARN in place of
699
+ # the bucket name. For more information about S3 on Outposts ARNs, see
700
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
694
701
  #
695
702
  #
696
703
  #
@@ -922,8 +929,14 @@ module Aws::S3
922
929
  # before the copy action starts, you receive a standard Amazon S3 error.
923
930
  # If the error occurs during the copy operation, the error response is
924
931
  # embedded in the `200 OK` response. This means that a `200 OK` response
925
- # can contain either a success or an error. Design your application to
926
- # parse the contents of the response and handle it appropriately.
932
+ # can contain either a success or an error. If you call the S3 API
933
+ # directly, make sure to design your application to parse the contents
934
+ # of the response and handle it appropriately. If you use Amazon Web
935
+ # Services SDKs, SDKs handle this condition. The SDKs detect the
936
+ # embedded error and apply error handling per your configuration
937
+ # settings (including automatically retrying the request as
938
+ # appropriate). If the condition persists, the SDKs throws an exception
939
+ # (or, for the SDKs that don't use exceptions, they return the error).
927
940
  #
928
941
  # If the copy is successful, you receive a response with information
929
942
  # about the copied object.
@@ -961,6 +974,11 @@ module Aws::S3
961
974
  # condition keys, see [Actions, Resources, and Condition Keys for Amazon
962
975
  # S3][7].
963
976
  #
977
+ # <note markdown="1"> `x-amz-website-redirect-location` is unique to each object and must be
978
+ # specified in the request headers to copy the value.
979
+ #
980
+ # </note>
981
+ #
964
982
  # **x-amz-copy-source-if Headers**
965
983
  #
966
984
  # To only copy an object under certain conditions, such as whether the
@@ -1000,14 +1018,30 @@ module Aws::S3
1000
1018
  #
1001
1019
  # **Server-side encryption**
1002
1020
  #
1003
- # When you perform a CopyObject operation, you can optionally use the
1004
- # appropriate encryption-related headers to encrypt the object using
1005
- # server-side encryption with Amazon Web Services managed encryption
1006
- # keys (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With
1007
- # server-side encryption, Amazon S3 encrypts your data as it writes it
1008
- # to disks in its data centers and decrypts the data when you access it.
1009
- # For more information about server-side encryption, see [Using
1010
- # Server-Side Encryption][8].
1021
+ # Amazon S3 automatically encrypts all new objects that are copied to an
1022
+ # S3 bucket. When copying an object, if you don't specify encryption
1023
+ # information in your copy request, the encryption setting of the target
1024
+ # object is set to the default encryption configuration of the
1025
+ # destination bucket. By default, all buckets have a base level of
1026
+ # encryption configuration that uses server-side encryption with Amazon
1027
+ # S3 managed keys (SSE-S3). If the destination bucket has a default
1028
+ # encryption configuration that uses server-side encryption with an Key
1029
+ # Management Service (KMS) key (SSE-KMS), or a customer-provided
1030
+ # encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a
1031
+ # customer-provided key to encrypt the target object copy. When you
1032
+ # perform a CopyObject operation, if you want to use a different type of
1033
+ # encryption setting for the target object, you can use other
1034
+ # appropriate encryption-related headers to encrypt the target object
1035
+ # with a KMS key, an Amazon S3 managed key, or a customer-provided key.
1036
+ # With server-side encryption, Amazon S3 encrypts your data as it writes
1037
+ # it to disks in its data centers and decrypts the data when you access
1038
+ # it. If the encryption setting in your request is different from the
1039
+ # default encryption configuration of the destination bucket, the
1040
+ # encryption setting in your request takes precedence. If the source
1041
+ # object for the copy is stored in Amazon S3 using SSE-C, you must
1042
+ # provide the necessary encryption information in your request so that
1043
+ # Amazon S3 can decrypt the object for copying. For more information
1044
+ # about server-side encryption, see [Using Server-Side Encryption][8].
1011
1045
  #
1012
1046
  # If a target object uses SSE-KMS, you can enable an S3 Bucket Key for
1013
1047
  # the object. For more information, see [Amazon S3 Bucket Keys][9] in
@@ -1119,14 +1153,14 @@ module Aws::S3
1119
1153
  # name. For more information about access point ARNs, see [Using access
1120
1154
  # points][1] in the *Amazon S3 User Guide*.
1121
1155
  #
1122
- # When using this action with Amazon S3 on Outposts, you must direct
1156
+ # When you use this action with Amazon S3 on Outposts, you must direct
1123
1157
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1124
1158
  # takes the form `
1125
1159
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
1126
- # When using this action with S3 on Outposts through the Amazon Web
1127
- # Services SDKs, you provide the Outposts bucket ARN in place of the
1128
- # bucket name. For more information about S3 on Outposts ARNs, see
1129
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
1160
+ # When you use this action with S3 on Outposts through the Amazon Web
1161
+ # Services SDKs, you provide the Outposts access point ARN in place of
1162
+ # the bucket name. For more information about S3 on Outposts ARNs, see
1163
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
1130
1164
  #
1131
1165
  #
1132
1166
  #
@@ -1260,7 +1294,7 @@ module Aws::S3
1260
1294
  #
1261
1295
  # @option params [String] :server_side_encryption
1262
1296
  # The server-side encryption algorithm used when storing this object in
1263
- # Amazon S3 (for example, AES256, aws:kms).
1297
+ # Amazon S3 (for example, AES256, `aws:kms`).
1264
1298
  #
1265
1299
  # @option params [String] :storage_class
1266
1300
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -1277,7 +1311,10 @@ module Aws::S3
1277
1311
  # @option params [String] :website_redirect_location
1278
1312
  # If the bucket is configured as a website, redirects requests for this
1279
1313
  # object to another object in the same bucket or to an external URL.
1280
- # Amazon S3 stores the value of this header in the object metadata.
1314
+ # Amazon S3 stores the value of this header in the object metadata. This
1315
+ # value is unique to each object and is not copied when using the
1316
+ # `x-amz-metadata-directive` header. Instead, you may opt to provide
1317
+ # this header in combination with the directive.
1281
1318
  #
1282
1319
  # @option params [String] :sse_customer_algorithm
1283
1320
  # Specifies the algorithm to use to when encrypting the object (for
@@ -1774,22 +1811,42 @@ module Aws::S3
1774
1811
  #
1775
1812
  # </note>
1776
1813
  #
1777
- # You can optionally request server-side encryption. For server-side
1778
- # encryption, Amazon S3 encrypts your data as it writes it to disks in
1779
- # its data centers and decrypts it when you access it. You can provide
1780
- # your own encryption key, or use Amazon Web Services KMS keys or Amazon
1781
- # S3-managed encryption keys. If you choose to provide your own
1782
- # encryption key, the request headers you provide in [UploadPart][1] and
1783
- # [UploadPartCopy][6] requests must match the headers you used in the
1784
- # request to initiate the upload by using `CreateMultipartUpload`.
1785
- #
1786
- # To perform a multipart upload with encryption using an Amazon Web
1814
+ # Server-side encryption is for data encryption at rest. Amazon S3
1815
+ # encrypts your data as it writes it to disks in its data centers and
1816
+ # decrypts it when you access it. Amazon S3 automatically encrypts all
1817
+ # new objects that are uploaded to an S3 bucket. When doing a multipart
1818
+ # upload, if you don't specify encryption information in your request,
1819
+ # the encryption setting of the uploaded parts is set to the default
1820
+ # encryption configuration of the destination bucket. By default, all
1821
+ # buckets have a base level of encryption configuration that uses
1822
+ # server-side encryption with Amazon S3 managed keys (SSE-S3). If the
1823
+ # destination bucket has a default encryption configuration that uses
1824
+ # server-side encryption with an Key Management Service (KMS) key
1825
+ # (SSE-KMS), or a customer-provided encryption key (SSE-C), Amazon S3
1826
+ # uses the corresponding KMS key, or a customer-provided key to encrypt
1827
+ # the uploaded parts. When you perform a CreateMultipartUpload
1828
+ # operation, if you want to use a different type of encryption setting
1829
+ # for the uploaded parts, you can request that Amazon S3 encrypts the
1830
+ # object with a KMS key, an Amazon S3 managed key, or a
1831
+ # customer-provided key. If the encryption setting in your request is
1832
+ # different from the default encryption configuration of the destination
1833
+ # bucket, the encryption setting in your request takes precedence. If
1834
+ # you choose to provide your own encryption key, the request headers you
1835
+ # provide in [UploadPart][1] and [UploadPartCopy][6] requests must match
1836
+ # the headers you used in the request to initiate the upload by using
1837
+ # `CreateMultipartUpload`. you can request that Amazon S3 save the
1838
+ # uploaded parts encrypted with server-side encryption with an Amazon S3
1839
+ # managed key (SSE-S3), an Key Management Service (KMS) key (SSE-KMS),
1840
+ # or a customer-provided encryption key (SSE-C).
1841
+ #
1842
+ # To perform a multipart upload with encryption by using an Amazon Web
1787
1843
  # Services KMS key, the requester must have permission to the
1788
1844
  # `kms:Decrypt` and `kms:GenerateDataKey*` actions on the key. These
1789
1845
  # permissions are required because Amazon S3 must decrypt and read data
1790
1846
  # from the encrypted file parts before it completes the multipart
1791
1847
  # upload. For more information, see [Multipart upload API and
1792
- # permissions][7] in the *Amazon S3 User Guide*.
1848
+ # permissions][7] and [Protecting data using server-side encryption with
1849
+ # Amazon Web Services KMS][8] in the *Amazon S3 User Guide*.
1793
1850
  #
1794
1851
  # If your Identity and Access Management (IAM) user or role is in the
1795
1852
  # same Amazon Web Services account as the KMS key, then you must have
@@ -1798,7 +1855,7 @@ module Aws::S3
1798
1855
  # permissions on both the key policy and your IAM user or role.
1799
1856
  #
1800
1857
  # For more information, see [Protecting Data Using Server-Side
1801
- # Encryption][8].
1858
+ # Encryption][9].
1802
1859
  #
1803
1860
  # Access Permissions
1804
1861
  #
@@ -1808,31 +1865,33 @@ module Aws::S3
1808
1865
  # request headers:
1809
1866
  #
1810
1867
  # * Specify a canned ACL with the `x-amz-acl` request header. For more
1811
- # information, see [Canned ACL][9].
1868
+ # information, see [Canned ACL][10].
1812
1869
  #
1813
1870
  # * Specify access permissions explicitly with the `x-amz-grant-read`,
1814
1871
  # `x-amz-grant-read-acp`, `x-amz-grant-write-acp`, and
1815
1872
  # `x-amz-grant-full-control` headers. These parameters map to the
1816
1873
  # set of permissions that Amazon S3 supports in an ACL. For more
1817
- # information, see [Access Control List (ACL) Overview][10].
1874
+ # information, see [Access Control List (ACL) Overview][11].
1818
1875
  #
1819
1876
  # You can use either a canned ACL or specify access permissions
1820
1877
  # explicitly. You cannot do both.
1821
1878
  #
1822
1879
  # Server-Side- Encryption-Specific Request Headers
1823
1880
  #
1824
- # : You can optionally tell Amazon S3 to encrypt data at rest using
1825
- # server-side encryption. Server-side encryption is for data
1826
- # encryption at rest. Amazon S3 encrypts your data as it writes it to
1827
- # disks in its data centers and decrypts it when you access it. The
1828
- # option you use depends on whether you want to use Amazon Web
1829
- # Services managed encryption keys or provide your own encryption key.
1830
- #
1831
- # * Use encryption keys managed by Amazon S3 or customer managed key
1832
- # stored in Amazon Web Services Key Management Service (Amazon Web
1833
- # Services KMS) If you want Amazon Web Services to manage the keys
1834
- # used to encrypt data, specify the following headers in the
1835
- # request.
1881
+ # : Amazon S3 encrypts data by using server-side encryption with an
1882
+ # Amazon S3 managed key (SSE-S3) by default. Server-side encryption is
1883
+ # for data encryption at rest. Amazon S3 encrypts your data as it
1884
+ # writes it to disks in its data centers and decrypts it when you
1885
+ # access it. You can request that Amazon S3 encrypts data at rest by
1886
+ # using server-side encryption with other key options. The option you
1887
+ # use depends on whether you want to use KMS keys (SSE-KMS) or provide
1888
+ # your own encryption keys (SSE-C).
1889
+ #
1890
+ # * Use KMS keys (SSE-KMS) that include the Amazon Web Services
1891
+ # managed key (`aws/s3`) and KMS customer managed keys stored in Key
1892
+ # Management Service (KMS) – If you want Amazon Web Services to
1893
+ # manage the keys used to encrypt data, specify the following
1894
+ # headers in the request.
1836
1895
  #
1837
1896
  # * `x-amz-server-side-encryption`
1838
1897
  #
@@ -1842,22 +1901,22 @@ module Aws::S3
1842
1901
  #
1843
1902
  # <note markdown="1"> If you specify `x-amz-server-side-encryption:aws:kms`, but don't
1844
1903
  # provide `x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3
1845
- # uses the Amazon Web Services managed key in Amazon Web Services
1846
- # KMS to protect the data.
1904
+ # uses the Amazon Web Services managed key (`aws/s3` key) in KMS to
1905
+ # protect the data.
1847
1906
  #
1848
1907
  # </note>
1849
1908
  #
1850
- # All GET and PUT requests for an object protected by Amazon Web
1851
- # Services KMS fail if you don't make them with SSL or by using
1852
- # SigV4.
1909
+ # All `GET` and `PUT` requests for an object protected by KMS fail
1910
+ # if you don't make them by using Secure Sockets Layer (SSL),
1911
+ # Transport Layer Security (TLS), or Signature Version 4.
1853
1912
  #
1854
- # For more information about server-side encryption with KMS key
1913
+ # For more information about server-side encryption with KMS keys
1855
1914
  # (SSE-KMS), see [Protecting Data Using Server-Side Encryption with
1856
- # KMS keys][11].
1915
+ # KMS keys][8].
1857
1916
  #
1858
- # * Use customer-provided encryption keys – If you want to manage your
1859
- # own encryption keys, provide all the following headers in the
1860
- # request.
1917
+ # * Use customer-provided encryption keys (SSE-C) – If you want to
1918
+ # manage your own encryption keys, provide all the following headers
1919
+ # in the request.
1861
1920
  #
1862
1921
  # * `x-amz-server-side-encryption-customer-algorithm`
1863
1922
  #
@@ -1865,9 +1924,10 @@ module Aws::S3
1865
1924
  #
1866
1925
  # * `x-amz-server-side-encryption-customer-key-MD5`
1867
1926
  #
1868
- # For more information about server-side encryption with KMS keys
1869
- # (SSE-KMS), see [Protecting Data Using Server-Side Encryption with
1870
- # KMS keys][11].
1927
+ # For more information about server-side encryption with
1928
+ # customer-provided encryption keys (SSE-C), see [ Protecting data
1929
+ # using server-side encryption with customer-provided encryption
1930
+ # keys (SSE-C)][12].
1871
1931
  #
1872
1932
  # Access-Control-List (ACL)-Specific Request Headers
1873
1933
  #
@@ -1877,19 +1937,19 @@ module Aws::S3
1877
1937
  # permissions to individual Amazon Web Services accounts or to
1878
1938
  # predefined groups defined by Amazon S3. These permissions are then
1879
1939
  # added to the access control list (ACL) on the object. For more
1880
- # information, see [Using ACLs][12]. With this operation, you can
1940
+ # information, see [Using ACLs][13]. With this operation, you can
1881
1941
  # grant access permissions using one of the following two methods:
1882
1942
  #
1883
1943
  # * Specify a canned ACL (`x-amz-acl`) — Amazon S3 supports a set of
1884
1944
  # predefined ACLs, known as *canned ACLs*. Each canned ACL has a
1885
1945
  # predefined set of grantees and permissions. For more information,
1886
- # see [Canned ACL][9].
1946
+ # see [Canned ACL][10].
1887
1947
  #
1888
1948
  # * Specify access permissions explicitly — To explicitly grant access
1889
1949
  # permissions to specific Amazon Web Services accounts or groups,
1890
1950
  # use the following headers. Each header maps to specific
1891
1951
  # permissions that Amazon S3 supports in an ACL. For more
1892
- # information, see [Access Control List (ACL) Overview][10]. In the
1952
+ # information, see [Access Control List (ACL) Overview][11]. In the
1893
1953
  # header, you specify a list of grantees who get the specific
1894
1954
  # permission. To grant permissions explicitly, use:
1895
1955
  #
@@ -1934,7 +1994,7 @@ module Aws::S3
1934
1994
  # * South America (São Paulo)
1935
1995
  #
1936
1996
  # For a list of all the Amazon S3 supported Regions and endpoints,
1937
- # see [Regions and Endpoints][13] in the Amazon Web Services
1997
+ # see [Regions and Endpoints][14] in the Amazon Web Services
1938
1998
  # General Reference.
1939
1999
  #
1940
2000
  # </note>
@@ -1949,13 +2009,13 @@ module Aws::S3
1949
2009
  #
1950
2010
  # * [UploadPart][1]
1951
2011
  #
1952
- # * [CompleteMultipartUpload][14]
2012
+ # * [CompleteMultipartUpload][15]
1953
2013
  #
1954
- # * [AbortMultipartUpload][15]
2014
+ # * [AbortMultipartUpload][16]
1955
2015
  #
1956
- # * [ListParts][16]
2016
+ # * [ListParts][17]
1957
2017
  #
1958
- # * [ListMultipartUploads][17]
2018
+ # * [ListMultipartUploads][18]
1959
2019
  #
1960
2020
  #
1961
2021
  #
@@ -1966,16 +2026,17 @@ module Aws::S3
1966
2026
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
1967
2027
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
1968
2028
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
1969
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
1970
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
1971
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
1972
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html
1973
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
1974
- # [13]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
1975
- # [14]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
1976
- # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
1977
- # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
1978
- # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
2029
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
2030
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
2031
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
2032
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
2033
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
2034
+ # [13]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
2035
+ # [14]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
2036
+ # [15]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
2037
+ # [16]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
2038
+ # [17]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
2039
+ # [18]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
1979
2040
  #
1980
2041
  # @option params [String] :acl
1981
2042
  # The canned ACL to apply to the object.
@@ -1993,14 +2054,14 @@ module Aws::S3
1993
2054
  # name. For more information about access point ARNs, see [Using access
1994
2055
  # points][1] in the *Amazon S3 User Guide*.
1995
2056
  #
1996
- # When using this action with Amazon S3 on Outposts, you must direct
2057
+ # When you use this action with Amazon S3 on Outposts, you must direct
1997
2058
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1998
2059
  # takes the form `
1999
2060
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
2000
- # When using this action with S3 on Outposts through the Amazon Web
2001
- # Services SDKs, you provide the Outposts bucket ARN in place of the
2002
- # bucket name. For more information about S3 on Outposts ARNs, see
2003
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
2061
+ # When you use this action with S3 on Outposts through the Amazon Web
2062
+ # Services SDKs, you provide the Outposts access point ARN in place of
2063
+ # the bucket name. For more information about S3 on Outposts ARNs, see
2064
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
2004
2065
  #
2005
2066
  #
2006
2067
  #
@@ -2056,7 +2117,7 @@ module Aws::S3
2056
2117
  #
2057
2118
  # @option params [String] :server_side_encryption
2058
2119
  # The server-side encryption algorithm used when storing this object in
2059
- # Amazon S3 (for example, AES256, aws:kms).
2120
+ # Amazon S3 (for example, AES256, `aws:kms`).
2060
2121
  #
2061
2122
  # @option params [String] :storage_class
2062
2123
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -2092,13 +2153,13 @@ module Aws::S3
2092
2153
  # ensure that the encryption key was transmitted without error.
2093
2154
  #
2094
2155
  # @option params [String] :ssekms_key_id
2095
- # Specifies the ID of the symmetric customer managed key to use for
2096
- # object encryption. All GET and PUT requests for an object protected by
2097
- # Amazon Web Services KMS will fail if not made via SSL or using SigV4.
2098
- # For information about configuring using any of the officially
2099
- # supported Amazon Web Services SDKs and Amazon Web Services CLI, see
2100
- # [Specifying the Signature Version in Request Authentication][1] in the
2101
- # *Amazon S3 User Guide*.
2156
+ # Specifies the ID of the symmetric encryption customer managed key to
2157
+ # use for object encryption. All GET and PUT requests for an object
2158
+ # protected by Amazon Web Services KMS will fail if not made via SSL or
2159
+ # using SigV4. For information about configuring using any of the
2160
+ # officially supported Amazon Web Services SDKs and Amazon Web Services
2161
+ # CLI, see [Specifying the Signature Version in Request
2162
+ # Authentication][1] in the *Amazon S3 User Guide*.
2102
2163
  #
2103
2164
  #
2104
2165
  #
@@ -2421,10 +2482,11 @@ module Aws::S3
2421
2482
  req.send_request(options)
2422
2483
  end
2423
2484
 
2424
- # This implementation of the DELETE action removes default encryption
2425
- # from the bucket. For information about the Amazon S3 default
2426
- # encryption feature, see [Amazon S3 Default Bucket Encryption][1] in
2427
- # the *Amazon S3 User Guide*.
2485
+ # This implementation of the DELETE action resets the default encryption
2486
+ # for the bucket as server-side encryption with Amazon S3 managed keys
2487
+ # (SSE-S3). For information about the bucket default encryption feature,
2488
+ # see [Amazon S3 Bucket Default Encryption][1] in the *Amazon S3 User
2489
+ # Guide*.
2428
2490
  #
2429
2491
  # To use this operation, you must have permissions to perform the
2430
2492
  # `s3:PutEncryptionConfiguration` action. The bucket owner has this
@@ -2701,7 +2763,9 @@ module Aws::S3
2701
2763
  # The name of the bucket containing the metrics configuration to delete.
2702
2764
  #
2703
2765
  # @option params [required, String] :id
2704
- # The ID used to identify the metrics configuration.
2766
+ # The ID used to identify the metrics configuration. The ID has a 64
2767
+ # character limit and can only contain letters, numbers, periods,
2768
+ # dashes, and underscores.
2705
2769
  #
2706
2770
  # @option params [String] :expected_bucket_owner
2707
2771
  # The account ID of the expected bucket owner. If the bucket is owned by
@@ -3027,11 +3091,10 @@ module Aws::S3
3027
3091
  # there isn't a null version, Amazon S3 does not remove any objects but
3028
3092
  # will still respond that the command was successful.
3029
3093
  #
3030
- # To remove a specific version, you must be the bucket owner and you
3031
- # must use the version Id subresource. Using this subresource
3032
- # permanently deletes the version. If the object deleted is a delete
3033
- # marker, Amazon S3 sets the response header, `x-amz-delete-marker`, to
3034
- # true.
3094
+ # To remove a specific version, you must use the version Id subresource.
3095
+ # Using this subresource permanently deletes the version. If the object
3096
+ # deleted is a delete marker, Amazon S3 sets the response header,
3097
+ # `x-amz-delete-marker`, to true.
3035
3098
  #
3036
3099
  # If the object you want to delete is in a bucket where the bucket
3037
3100
  # versioning configuration is MFA Delete enabled, you must include the
@@ -3072,14 +3135,14 @@ module Aws::S3
3072
3135
  # name. For more information about access point ARNs, see [Using access
3073
3136
  # points][1] in the *Amazon S3 User Guide*.
3074
3137
  #
3075
- # When using this action with Amazon S3 on Outposts, you must direct
3138
+ # When you use this action with Amazon S3 on Outposts, you must direct
3076
3139
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3077
3140
  # takes the form `
3078
3141
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
3079
- # When using this action with S3 on Outposts through the Amazon Web
3080
- # Services SDKs, you provide the Outposts bucket ARN in place of the
3081
- # bucket name. For more information about S3 on Outposts ARNs, see
3082
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
3142
+ # When you use this action with S3 on Outposts through the Amazon Web
3143
+ # Services SDKs, you provide the Outposts access point ARN in place of
3144
+ # the bucket name. For more information about S3 on Outposts ARNs, see
3145
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3083
3146
  #
3084
3147
  #
3085
3148
  #
@@ -3185,8 +3248,7 @@ module Aws::S3
3185
3248
  # parameter in the request. You will need permission for the
3186
3249
  # `s3:DeleteObjectVersionTagging` action.
3187
3250
  #
3188
- # The following operations are related to
3189
- # `DeleteBucketMetricsConfiguration`:
3251
+ # The following operations are related to `DeleteObjectTagging`:
3190
3252
  #
3191
3253
  # * [PutObjectTagging][2]
3192
3254
  #
@@ -3209,14 +3271,14 @@ module Aws::S3
3209
3271
  # name. For more information about access point ARNs, see [Using access
3210
3272
  # points][1] in the *Amazon S3 User Guide*.
3211
3273
  #
3212
- # When using this action with Amazon S3 on Outposts, you must direct
3274
+ # When you use this action with Amazon S3 on Outposts, you must direct
3213
3275
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3214
3276
  # takes the form `
3215
3277
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
3216
- # When using this action with S3 on Outposts through the Amazon Web
3217
- # Services SDKs, you provide the Outposts bucket ARN in place of the
3218
- # bucket name. For more information about S3 on Outposts ARNs, see
3219
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
3278
+ # When you use this action with S3 on Outposts through the Amazon Web
3279
+ # Services SDKs, you provide the Outposts access point ARN in place of
3280
+ # the bucket name. For more information about S3 on Outposts ARNs, see
3281
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3220
3282
  #
3221
3283
  #
3222
3284
  #
@@ -3240,35 +3302,35 @@ module Aws::S3
3240
3302
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
3241
3303
  #
3242
3304
  #
3243
- # @example Example: To remove tag set from an object
3305
+ # @example Example: To remove tag set from an object version
3244
3306
  #
3245
- # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3246
- # # operation removes tag set from the latest object version.
3307
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
3308
+ # # object key and object version.
3247
3309
  #
3248
3310
  # resp = client.delete_object_tagging({
3249
3311
  # bucket: "examplebucket",
3250
3312
  # key: "HappyFace.jpg",
3313
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3251
3314
  # })
3252
3315
  #
3253
3316
  # resp.to_h outputs the following:
3254
3317
  # {
3255
- # version_id: "null",
3318
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3256
3319
  # }
3257
3320
  #
3258
- # @example Example: To remove tag set from an object version
3321
+ # @example Example: To remove tag set from an object
3259
3322
  #
3260
- # # The following example removes tag set associated with the specified object version. The request specifies both the
3261
- # # object key and object version.
3323
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
3324
+ # # operation removes tag set from the latest object version.
3262
3325
  #
3263
3326
  # resp = client.delete_object_tagging({
3264
3327
  # bucket: "examplebucket",
3265
3328
  # key: "HappyFace.jpg",
3266
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3267
3329
  # })
3268
3330
  #
3269
3331
  # resp.to_h outputs the following:
3270
3332
  # {
3271
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
3333
+ # version_id: "null",
3272
3334
  # }
3273
3335
  #
3274
3336
  # @example Request syntax with placeholder values
@@ -3357,14 +3419,14 @@ module Aws::S3
3357
3419
  # name. For more information about access point ARNs, see [Using access
3358
3420
  # points][1] in the *Amazon S3 User Guide*.
3359
3421
  #
3360
- # When using this action with Amazon S3 on Outposts, you must direct
3422
+ # When you use this action with Amazon S3 on Outposts, you must direct
3361
3423
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3362
3424
  # takes the form `
3363
3425
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
3364
- # When using this action with S3 on Outposts through the Amazon Web
3365
- # Services SDKs, you provide the Outposts bucket ARN in place of the
3366
- # bucket name. For more information about S3 on Outposts ARNs, see
3367
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
3426
+ # When you use this action with S3 on Outposts through the Amazon Web
3427
+ # Services SDKs, you provide the Outposts access point ARN in place of
3428
+ # the bucket name. For more information about S3 on Outposts ARNs, see
3429
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
3368
3430
  #
3369
3431
  #
3370
3432
  #
@@ -3673,6 +3735,9 @@ module Aws::S3
3673
3735
  # can return the ACL of the bucket without using an authorization
3674
3736
  # header.
3675
3737
  #
3738
+ # To use this API against an access point, provide the alias of the
3739
+ # access point in place of the bucket name.
3740
+ #
3676
3741
  # <note markdown="1"> If your bucket uses the bucket owner enforced setting for S3 Object
3677
3742
  # Ownership, requests to read ACLs are still supported and return the
3678
3743
  # `bucket-owner-full-control` ACL with the owner being the account that
@@ -3821,6 +3886,9 @@ module Aws::S3
3821
3886
  # `s3:GetBucketCORS` action. By default, the bucket owner has this
3822
3887
  # permission and can grant it to others.
3823
3888
  #
3889
+ # To use this API against an access point, provide the alias of the
3890
+ # access point in place of the bucket name.
3891
+ #
3824
3892
  # For more information about CORS, see [ Enabling Cross-Origin Resource
3825
3893
  # Sharing][1].
3826
3894
  #
@@ -3906,12 +3974,10 @@ module Aws::S3
3906
3974
  end
3907
3975
 
3908
3976
  # Returns the default encryption configuration for an Amazon S3 bucket.
3909
- # If the bucket does not have a default encryption configuration,
3910
- # GetBucketEncryption returns
3911
- # `ServerSideEncryptionConfigurationNotFoundError`.
3912
- #
3913
- # For information about the Amazon S3 default encryption feature, see
3914
- # [Amazon S3 Default Bucket Encryption][1].
3977
+ # By default, all buckets have a default encryption configuration that
3978
+ # uses server-side encryption with Amazon S3 managed keys (SSE-S3). For
3979
+ # information about the bucket default encryption feature, see [Amazon
3980
+ # S3 Bucket Default Encryption][1] in the *Amazon S3 User Guide*.
3915
3981
  #
3916
3982
  # To use this operation, you must have permission to perform the
3917
3983
  # `s3:GetEncryptionConfiguration` action. The bucket owner has this
@@ -4389,16 +4455,23 @@ module Aws::S3
4389
4455
  # To use this API against an access point, provide the alias of the
4390
4456
  # access point in place of the bucket name.
4391
4457
  #
4458
+ # <note markdown="1"> For requests made using Amazon Web Services Signature Version 4
4459
+ # (SigV4), we recommend that you use [HeadBucket][2] to return the
4460
+ # bucket Region instead of GetBucketLocation.
4461
+ #
4462
+ # </note>
4463
+ #
4392
4464
  # The following operations are related to `GetBucketLocation`:
4393
4465
  #
4394
- # * [GetObject][2]
4466
+ # * [GetObject][3]
4395
4467
  #
4396
4468
  # * [CreateBucket][1]
4397
4469
  #
4398
4470
  #
4399
4471
  #
4400
4472
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
4401
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
4473
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
4474
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
4402
4475
  #
4403
4476
  # @option params [required, String] :bucket
4404
4477
  # The name of the bucket for which to get the location.
@@ -4447,8 +4520,7 @@ module Aws::S3
4447
4520
  end
4448
4521
 
4449
4522
  # Returns the logging status of a bucket and the permissions users have
4450
- # to view and modify that status. To use GET, you must be the bucket
4451
- # owner.
4523
+ # to view and modify that status.
4452
4524
  #
4453
4525
  # The following operations are related to `GetBucketLogging`:
4454
4526
  #
@@ -4540,7 +4612,9 @@ module Aws::S3
4540
4612
  # retrieve.
4541
4613
  #
4542
4614
  # @option params [required, String] :id
4543
- # The ID used to identify the metrics configuration.
4615
+ # The ID used to identify the metrics configuration. The ID has a 64
4616
+ # character limit and can only contain letters, numbers, periods,
4617
+ # dashes, and underscores.
4544
4618
  #
4545
4619
  # @option params [String] :expected_bucket_owner
4546
4620
  # The account ID of the expected bucket owner. If the bucket is owned by
@@ -4704,6 +4778,9 @@ module Aws::S3
4704
4778
  # policy to grant permission to other users to read this configuration
4705
4779
  # with the `s3:GetBucketNotification` permission.
4706
4780
  #
4781
+ # To use this API against an access point, provide the alias of the
4782
+ # access point in place of the bucket name.
4783
+ #
4707
4784
  # For more information about setting and reading the notification
4708
4785
  # configuration on a bucket, see [Setting Up Notification of Bucket
4709
4786
  # Events][1]. For more information about bucket policies, see [Using
@@ -4849,6 +4926,9 @@ module Aws::S3
4849
4926
  # policy explicitly denies the root user the ability to perform this
4850
4927
  # action.
4851
4928
  #
4929
+ # To use this API against an access point, provide the alias of the
4930
+ # access point in place of the bucket name.
4931
+ #
4852
4932
  # For more information about bucket policies, see [Using Bucket Policies
4853
4933
  # and User Policies][1].
4854
4934
  #
@@ -5421,7 +5501,7 @@ module Aws::S3
5421
5501
  # Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive
5422
5502
  # or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve
5423
5503
  # the object you must first restore a copy using [RestoreObject][3].
5424
- # Otherwise, this action returns an `InvalidObjectStateError` error. For
5504
+ # Otherwise, this action returns an `InvalidObjectState` error. For
5425
5505
  # information about restoring archived objects, see [Restoring Archived
5426
5506
  # Objects][4].
5427
5507
  #
@@ -5473,7 +5553,9 @@ module Aws::S3
5473
5553
  # <note markdown="1"> * If you supply a `versionId`, you need the `s3:GetObjectVersion`
5474
5554
  # permission to access a specific version of an object. If you request
5475
5555
  # a specific version, you do not need to have the `s3:GetObject`
5476
- # permission.
5556
+ # permission. If you request the current version without a specific
5557
+ # version ID, only `s3:GetObject` permission is required.
5558
+ # `s3:GetObjectVersion` permission won't be required.
5477
5559
  #
5478
5560
  # * If the current version of the object is a delete marker, Amazon S3
5479
5561
  # behaves as if the object was deleted and includes
@@ -5568,14 +5650,14 @@ module Aws::S3
5568
5650
  # When using an Object Lambda access point the hostname takes the form
5569
5651
  # *AccessPointName*-*AccountId*.s3-object-lambda.*Region*.amazonaws.com.
5570
5652
  #
5571
- # When using this action with Amazon S3 on Outposts, you must direct
5653
+ # When you use this action with Amazon S3 on Outposts, you must direct
5572
5654
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5573
5655
  # takes the form `
5574
5656
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
5575
- # When using this action with S3 on Outposts through the Amazon Web
5576
- # Services SDKs, you provide the Outposts bucket ARN in place of the
5577
- # bucket name. For more information about S3 on Outposts ARNs, see
5578
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
5657
+ # When you use this action with S3 on Outposts through the Amazon Web
5658
+ # Services SDKs, you provide the Outposts access point ARN in place of
5659
+ # the bucket name. For more information about S3 on Outposts ARNs, see
5660
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
5579
5661
  #
5580
5662
  #
5581
5663
  #
@@ -5604,7 +5686,7 @@ module Aws::S3
5604
5686
  # @option params [String] :range
5605
5687
  # Downloads the specified range bytes of an object. For more information
5606
5688
  # about the HTTP Range header, see
5607
- # [https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
5689
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-range][1].
5608
5690
  #
5609
5691
  # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
5610
5692
  # `GET` request.
@@ -5613,7 +5695,7 @@ module Aws::S3
5613
5695
  #
5614
5696
  #
5615
5697
  #
5616
- # [1]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
5698
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-range
5617
5699
  #
5618
5700
  # @option params [String] :response_cache_control
5619
5701
  # Sets the `Cache-Control` header of the response.
@@ -5718,49 +5800,49 @@ module Aws::S3
5718
5800
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
5719
5801
  #
5720
5802
  #
5721
- # @example Example: To retrieve a byte range of an object
5803
+ # @example Example: To retrieve an object
5722
5804
  #
5723
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5724
- # # specific byte range.
5805
+ # # The following example retrieves an object for an S3 bucket.
5725
5806
  #
5726
5807
  # resp = client.get_object({
5727
5808
  # bucket: "examplebucket",
5728
- # key: "SampleFile.txt",
5729
- # range: "bytes=0-9",
5809
+ # key: "HappyFace.jpg",
5730
5810
  # })
5731
5811
  #
5732
5812
  # resp.to_h outputs the following:
5733
5813
  # {
5734
5814
  # accept_ranges: "bytes",
5735
- # content_length: 10,
5736
- # content_range: "bytes 0-9/43",
5737
- # content_type: "text/plain",
5738
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5739
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5815
+ # content_length: 3191,
5816
+ # content_type: "image/jpeg",
5817
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5818
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5740
5819
  # metadata: {
5741
5820
  # },
5821
+ # tag_count: 2,
5742
5822
  # version_id: "null",
5743
5823
  # }
5744
5824
  #
5745
- # @example Example: To retrieve an object
5825
+ # @example Example: To retrieve a byte range of an object
5746
5826
  #
5747
- # # The following example retrieves an object for an S3 bucket.
5827
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5828
+ # # specific byte range.
5748
5829
  #
5749
5830
  # resp = client.get_object({
5750
5831
  # bucket: "examplebucket",
5751
- # key: "HappyFace.jpg",
5832
+ # key: "SampleFile.txt",
5833
+ # range: "bytes=0-9",
5752
5834
  # })
5753
5835
  #
5754
5836
  # resp.to_h outputs the following:
5755
5837
  # {
5756
5838
  # accept_ranges: "bytes",
5757
- # content_length: 3191,
5758
- # content_type: "image/jpeg",
5759
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5760
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5839
+ # content_length: 10,
5840
+ # content_range: "bytes 0-9/43",
5841
+ # content_type: "text/plain",
5842
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5843
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5761
5844
  # metadata: {
5762
5845
  # },
5763
- # tag_count: 2,
5764
5846
  # version_id: "null",
5765
5847
  # }
5766
5848
  #
@@ -6043,9 +6125,7 @@ module Aws::S3
6043
6125
  # object's metadata. To use `GetObjectAttributes`, you must have READ
6044
6126
  # access to the object.
6045
6127
  #
6046
- # `GetObjectAttributes` combines the functionality of `GetObjectAcl`,
6047
- # `GetObjectLegalHold`, `GetObjectLockConfiguration`,
6048
- # `GetObjectRetention`, `GetObjectTagging`, `HeadObject`, and
6128
+ # `GetObjectAttributes` combines the functionality of `HeadObject` and
6049
6129
  # `ListParts`. All of the data returned with each of those individual
6050
6130
  # calls can be returned with a single call to `GetObjectAttributes`.
6051
6131
  #
@@ -6067,9 +6147,8 @@ module Aws::S3
6067
6147
  # should not be sent for GET requests if your object uses server-side
6068
6148
  # encryption with Amazon Web Services KMS keys stored in Amazon Web
6069
6149
  # Services Key Management Service (SSE-KMS) or server-side encryption
6070
- # with Amazon S3 managed encryption keys (SSE-S3). If your object does
6071
- # use these types of keys, you'll get an HTTP `400 Bad Request`
6072
- # error.
6150
+ # with Amazon S3 managed keys (SSE-S3). If your object does use these
6151
+ # types of keys, you'll get an HTTP `400 Bad Request` error.
6073
6152
  #
6074
6153
  # * The last modified property in this case is the creation date of the
6075
6154
  # object.
@@ -6157,14 +6236,14 @@ module Aws::S3
6157
6236
  # name. For more information about access point ARNs, see [Using access
6158
6237
  # points][1] in the *Amazon S3 User Guide*.
6159
6238
  #
6160
- # When using this action with Amazon S3 on Outposts, you must direct
6239
+ # When you use this action with Amazon S3 on Outposts, you must direct
6161
6240
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6162
6241
  # takes the form `
6163
6242
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
6164
- # When using this action with S3 on Outposts through the Amazon Web
6165
- # Services SDKs, you provide the Outposts bucket ARN in place of the
6166
- # bucket name. For more information about S3 on Outposts ARNs, see
6167
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
6243
+ # When you use this action with S3 on Outposts through the Amazon Web
6244
+ # Services SDKs, you provide the Outposts access point ARN in place of
6245
+ # the bucket name. For more information about S3 on Outposts ARNs, see
6246
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
6168
6247
  #
6169
6248
  #
6170
6249
  #
@@ -6557,14 +6636,14 @@ module Aws::S3
6557
6636
  # name. For more information about access point ARNs, see [Using access
6558
6637
  # points][1] in the *Amazon S3 User Guide*.
6559
6638
  #
6560
- # When using this action with Amazon S3 on Outposts, you must direct
6639
+ # When you use this action with Amazon S3 on Outposts, you must direct
6561
6640
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6562
6641
  # takes the form `
6563
6642
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
6564
- # When using this action with S3 on Outposts through the Amazon Web
6565
- # Services SDKs, you provide the Outposts bucket ARN in place of the
6566
- # bucket name. For more information about S3 on Outposts ARNs, see
6567
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
6643
+ # When you use this action with S3 on Outposts through the Amazon Web
6644
+ # Services SDKs, you provide the Outposts access point ARN in place of
6645
+ # the bucket name. For more information about S3 on Outposts ARNs, see
6646
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
6568
6647
  #
6569
6648
  #
6570
6649
  #
@@ -6671,8 +6750,7 @@ module Aws::S3
6671
6750
  end
6672
6751
 
6673
6752
  # Returns torrent files from a bucket. BitTorrent can save you bandwidth
6674
- # when you're distributing large files. For more information about
6675
- # BitTorrent, see [Using BitTorrent with Amazon S3][1].
6753
+ # when you're distributing large files.
6676
6754
  #
6677
6755
  # <note markdown="1"> You can get torrent only for objects that are less than 5 GB in size,
6678
6756
  # and that are not encrypted using server-side encryption with a
@@ -6686,14 +6764,13 @@ module Aws::S3
6686
6764
  #
6687
6765
  # The following action is related to `GetObjectTorrent`:
6688
6766
  #
6689
- # * [GetObject][2]
6767
+ # * [GetObject][1]
6690
6768
  #
6691
6769
  # ^
6692
6770
  #
6693
6771
  #
6694
6772
  #
6695
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html
6696
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
6773
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
6697
6774
  #
6698
6775
  # @option params [String, IO] :response_target
6699
6776
  # Where to write response data, file path, or IO object.
@@ -6839,9 +6916,9 @@ module Aws::S3
6839
6916
  # exists and you have permission to access it.
6840
6917
  #
6841
6918
  # If the bucket does not exist or you do not have permission to access
6842
- # it, the `HEAD` request returns a generic `404 Not Found` or `403
6843
- # Forbidden` code. A message body is not included, so you cannot
6844
- # determine the exception beyond these error codes.
6919
+ # it, the `HEAD` request returns a generic `400 Bad Request`, `403
6920
+ # Forbidden` or `404 Not Found` code. A message body is not included, so
6921
+ # you cannot determine the exception beyond these error codes.
6845
6922
  #
6846
6923
  # To use this operation, you must have permissions to perform the
6847
6924
  # `s3:ListBucket` action. The bucket owner has this permission by
@@ -6875,14 +6952,14 @@ module Aws::S3
6875
6952
  # name. For more information about access point ARNs, see [Using access
6876
6953
  # points][1] in the *Amazon S3 User Guide*.
6877
6954
  #
6878
- # When using this action with Amazon S3 on Outposts, you must direct
6955
+ # When you use this action with Amazon S3 on Outposts, you must direct
6879
6956
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6880
6957
  # takes the form `
6881
6958
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
6882
- # When using this action with S3 on Outposts through the Amazon Web
6883
- # Services SDKs, you provide the Outposts bucket ARN in place of the
6884
- # bucket name. For more information about S3 on Outposts ARNs, see
6885
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
6959
+ # When you use this action with S3 on Outposts through the Amazon Web
6960
+ # Services SDKs, you provide the Outposts access point ARN in place of
6961
+ # the bucket name. For more information about S3 on Outposts ARNs, see
6962
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
6886
6963
  #
6887
6964
  #
6888
6965
  #
@@ -6935,9 +7012,9 @@ module Aws::S3
6935
7012
  # A `HEAD` request has the same options as a `GET` action on an object.
6936
7013
  # The response is identical to the `GET` response except that there is
6937
7014
  # no response body. Because of this, if the `HEAD` request generates an
6938
- # error, it returns a generic `404 Not Found` or `403 Forbidden` code.
6939
- # It is not possible to retrieve the exact exception beyond these error
6940
- # codes.
7015
+ # error, it returns a generic `400 Bad Request`, `403 Forbidden` or `404
7016
+ # Not Found` code. It is not possible to retrieve the exact exception
7017
+ # beyond these error codes.
6941
7018
  #
6942
7019
  # If you encrypt an object by using server-side encryption with
6943
7020
  # customer-provided encryption keys (SSE-C) when you store the object in
@@ -7029,14 +7106,14 @@ module Aws::S3
7029
7106
  # name. For more information about access point ARNs, see [Using access
7030
7107
  # points][1] in the *Amazon S3 User Guide*.
7031
7108
  #
7032
- # When using this action with Amazon S3 on Outposts, you must direct
7109
+ # When you use this action with Amazon S3 on Outposts, you must direct
7033
7110
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7034
7111
  # takes the form `
7035
7112
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
7036
- # When using this action with S3 on Outposts through the Amazon Web
7037
- # Services SDKs, you provide the Outposts bucket ARN in place of the
7038
- # bucket name. For more information about S3 on Outposts ARNs, see
7039
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
7113
+ # When you use this action with S3 on Outposts through the Amazon Web
7114
+ # Services SDKs, you provide the Outposts access point ARN in place of
7115
+ # the bucket name. For more information about S3 on Outposts ARNs, see
7116
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
7040
7117
  #
7041
7118
  #
7042
7119
  #
@@ -7063,8 +7140,10 @@ module Aws::S3
7063
7140
  # The object key.
7064
7141
  #
7065
7142
  # @option params [String] :range
7066
- # Because `HeadObject` returns only the metadata for an object, this
7067
- # parameter has no effect.
7143
+ # HeadObject returns only the metadata for an object. If the Range is
7144
+ # satisfiable, only the `ContentLength` is affected in the response. If
7145
+ # the Range is not satisfiable, S3 returns a `416 - Requested Range Not
7146
+ # Satisfiable` error.
7068
7147
  #
7069
7148
  # @option params [String] :version_id
7070
7149
  # VersionId used to reference a specific version of the object.
@@ -7634,17 +7713,22 @@ module Aws::S3
7634
7713
  # request. To use this operation, you must have the
7635
7714
  # `s3:ListAllMyBuckets` permission.
7636
7715
  #
7716
+ # For information about Amazon S3 buckets, see [Creating, configuring,
7717
+ # and working with Amazon S3 buckets][1].
7718
+ #
7719
+ #
7720
+ #
7721
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
7722
+ #
7637
7723
  # @return [Types::ListBucketsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7638
7724
  #
7639
7725
  # * {Types::ListBucketsOutput#buckets #buckets} => Array&lt;Types::Bucket&gt;
7640
7726
  # * {Types::ListBucketsOutput#owner #owner} => Types::Owner
7641
7727
  #
7642
7728
  #
7643
- # @example Example: To list object versions
7729
+ # @example Example: To list all buckets
7644
7730
  #
7645
- # # The following example return versions of an object with specific key name prefix. The request limits the number of items
7646
- # # returned to two. If there are are more than two object version, S3 returns NextToken in the response. You can specify
7647
- # # this token value in your next request to fetch next set of object versions.
7731
+ # # The following example returns all the buckets owned by the sender of this request.
7648
7732
  #
7649
7733
  # resp = client.list_buckets({
7650
7734
  # })
@@ -7653,15 +7737,15 @@ module Aws::S3
7653
7737
  # {
7654
7738
  # buckets: [
7655
7739
  # {
7656
- # creation_date: Time.parse("2012-02-15T21: 03: 02.000Z"),
7740
+ # creation_date: Time.parse("2012-02-15T21:03:02.000Z"),
7657
7741
  # name: "examplebucket",
7658
7742
  # },
7659
7743
  # {
7660
- # creation_date: Time.parse("2011-07-24T19: 33: 50.000Z"),
7744
+ # creation_date: Time.parse("2011-07-24T19:33:50.000Z"),
7661
7745
  # name: "examplebucket2",
7662
7746
  # },
7663
7747
  # {
7664
- # creation_date: Time.parse("2010-12-17T00: 56: 49.000Z"),
7748
+ # creation_date: Time.parse("2010-12-17T00:56:49.000Z"),
7665
7749
  # name: "examplebucket3",
7666
7750
  # },
7667
7751
  # ],
@@ -7747,14 +7831,14 @@ module Aws::S3
7747
7831
  # name. For more information about access point ARNs, see [Using access
7748
7832
  # points][1] in the *Amazon S3 User Guide*.
7749
7833
  #
7750
- # When using this action with Amazon S3 on Outposts, you must direct
7834
+ # When you use this action with Amazon S3 on Outposts, you must direct
7751
7835
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7752
7836
  # takes the form `
7753
7837
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
7754
- # When using this action with S3 on Outposts through the Amazon Web
7755
- # Services SDKs, you provide the Outposts bucket ARN in place of the
7756
- # bucket name. For more information about S3 on Outposts ARNs, see
7757
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
7838
+ # When you use this action with S3 on Outposts through the Amazon Web
7839
+ # Services SDKs, you provide the Outposts access point ARN in place of
7840
+ # the bucket name. For more information about S3 on Outposts ARNs, see
7841
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
7758
7842
  #
7759
7843
  #
7760
7844
  #
@@ -8215,14 +8299,14 @@ module Aws::S3
8215
8299
  # name. For more information about access point ARNs, see [Using access
8216
8300
  # points][1] in the *Amazon S3 User Guide*.
8217
8301
  #
8218
- # When using this action with Amazon S3 on Outposts, you must direct
8302
+ # When you use this action with Amazon S3 on Outposts, you must direct
8219
8303
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8220
8304
  # takes the form `
8221
8305
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
8222
- # When using this action with S3 on Outposts through the Amazon Web
8223
- # Services SDKs, you provide the Outposts bucket ARN in place of the
8224
- # bucket name. For more information about S3 on Outposts ARNs, see
8225
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
8306
+ # When you use this action with S3 on Outposts through the Amazon Web
8307
+ # Services SDKs, you provide the Outposts access point ARN in place of
8308
+ # the bucket name. For more information about S3 on Outposts ARNs, see
8309
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8226
8310
  #
8227
8311
  #
8228
8312
  #
@@ -8417,14 +8501,14 @@ module Aws::S3
8417
8501
  # name. For more information about access point ARNs, see [Using access
8418
8502
  # points][1] in the *Amazon S3 User Guide*.
8419
8503
  #
8420
- # When using this action with Amazon S3 on Outposts, you must direct
8504
+ # When you use this action with Amazon S3 on Outposts, you must direct
8421
8505
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8422
8506
  # takes the form `
8423
8507
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
8424
- # When using this action with S3 on Outposts through the Amazon Web
8425
- # Services SDKs, you provide the Outposts bucket ARN in place of the
8426
- # bucket name. For more information about S3 on Outposts ARNs, see
8427
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
8508
+ # When you use this action with S3 on Outposts through the Amazon Web
8509
+ # Services SDKs, you provide the Outposts access point ARN in place of
8510
+ # the bucket name. For more information about S3 on Outposts ARNs, see
8511
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8428
8512
  #
8429
8513
  #
8430
8514
  #
@@ -8494,7 +8578,7 @@ module Aws::S3
8494
8578
  # # keys.
8495
8579
  #
8496
8580
  # resp = client.list_objects_v2({
8497
- # bucket: "examplebucket",
8581
+ # bucket: "DOC-EXAMPLE-BUCKET",
8498
8582
  # max_keys: 2,
8499
8583
  # })
8500
8584
  #
@@ -8519,7 +8603,7 @@ module Aws::S3
8519
8603
  # is_truncated: true,
8520
8604
  # key_count: 2,
8521
8605
  # max_keys: 2,
8522
- # name: "examplebucket",
8606
+ # name: "DOC-EXAMPLE-BUCKET",
8523
8607
  # next_continuation_token: "1w41l63U0xa8q7smH50vCxyTQqdxo69O3EmK28Bi5PcROI4wI/EyIJg==",
8524
8608
  # prefix: "",
8525
8609
  # }
@@ -8632,14 +8716,14 @@ module Aws::S3
8632
8716
  # name. For more information about access point ARNs, see [Using access
8633
8717
  # points][1] in the *Amazon S3 User Guide*.
8634
8718
  #
8635
- # When using this action with Amazon S3 on Outposts, you must direct
8719
+ # When you use this action with Amazon S3 on Outposts, you must direct
8636
8720
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8637
8721
  # takes the form `
8638
8722
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
8639
- # When using this action with S3 on Outposts through the Amazon Web
8640
- # Services SDKs, you provide the Outposts bucket ARN in place of the
8641
- # bucket name. For more information about S3 on Outposts ARNs, see
8642
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
8723
+ # When you use this action with S3 on Outposts through the Amazon Web
8724
+ # Services SDKs, you provide the Outposts access point ARN in place of
8725
+ # the bucket name. For more information about S3 on Outposts ARNs, see
8726
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
8643
8727
  #
8644
8728
  #
8645
8729
  #
@@ -9030,7 +9114,7 @@ module Aws::S3
9030
9114
  # * By Email address:
9031
9115
  #
9032
9116
  # `<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
9033
- # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>`
9117
+ # xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>&</Grantee>`
9034
9118
  #
9035
9119
  # The grantee is resolved to the CanonicalUser and, in a response to a
9036
9120
  # GET Object acl request, appears as the CanonicalUser.
@@ -9508,18 +9592,18 @@ module Aws::S3
9508
9592
  end
9509
9593
 
9510
9594
  # This action uses the `encryption` subresource to configure default
9511
- # encryption and Amazon S3 Bucket Key for an existing bucket.
9512
- #
9513
- # Default encryption for a bucket can use server-side encryption with
9514
- # Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). If
9515
- # you specify default encryption using SSE-KMS, you can also configure
9516
- # Amazon S3 Bucket Key. When the default encryption is SSE-KMS, if you
9517
- # upload an object to the bucket and do not specify the KMS key to use
9518
- # for encryption, Amazon S3 uses the default Amazon Web Services managed
9519
- # KMS key for your account. For information about default encryption,
9520
- # see [Amazon S3 default bucket encryption][1] in the *Amazon S3 User
9521
- # Guide*. For more information about S3 Bucket Keys, see [Amazon S3
9522
- # Bucket Keys][2] in the *Amazon S3 User Guide*.
9595
+ # encryption and Amazon S3 Bucket Keys for an existing bucket.
9596
+ #
9597
+ # By default, all buckets have a default encryption configuration that
9598
+ # uses server-side encryption with Amazon S3 managed keys (SSE-S3). You
9599
+ # can optionally configure default encryption for a bucket by using
9600
+ # server-side encryption with an Amazon Web Services KMS key (SSE-KMS)
9601
+ # or a customer-provided key (SSE-C). If you specify default encryption
9602
+ # by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. For
9603
+ # information about bucket default encryption, see [Amazon S3 bucket
9604
+ # default encryption][1] in the *Amazon S3 User Guide*. For more
9605
+ # information about S3 Bucket Keys, see [Amazon S3 Bucket Keys][2] in
9606
+ # the *Amazon S3 User Guide*.
9523
9607
  #
9524
9608
  # This action requires Amazon Web Services Signature Version 4. For more
9525
9609
  # information, see [ Authenticating Requests (Amazon Web Services
@@ -9530,8 +9614,8 @@ module Aws::S3
9530
9614
  # permission by default. The bucket owner can grant this permission to
9531
9615
  # others. For more information about permissions, see [Permissions
9532
9616
  # Related to Bucket Subresource Operations][4] and [Managing Access
9533
- # Permissions to Your Amazon S3 Resources][5] in the Amazon S3 User
9534
- # Guide.
9617
+ # Permissions to Your Amazon S3 Resources][5] in the *Amazon S3 User
9618
+ # Guide*.
9535
9619
  #
9536
9620
  # **Related Resources**
9537
9621
  #
@@ -9551,10 +9635,13 @@ module Aws::S3
9551
9635
  #
9552
9636
  # @option params [required, String] :bucket
9553
9637
  # Specifies default encryption for a bucket using server-side encryption
9554
- # with Amazon S3-managed keys (SSE-S3) or customer managed keys
9555
- # (SSE-KMS). For information about the Amazon S3 default encryption
9556
- # feature, see [Amazon S3 Default Bucket Encryption][1] in the *Amazon
9557
- # S3 User Guide*.
9638
+ # with different key options. By default, all buckets have a default
9639
+ # encryption configuration that uses server-side encryption with Amazon
9640
+ # S3 managed keys (SSE-S3). You can optionally configure default
9641
+ # encryption for a bucket by using server-side encryption with an Amazon
9642
+ # Web Services KMS key (SSE-KMS) or a customer-provided key (SSE-C). For
9643
+ # information about the bucket default encryption feature, see [Amazon
9644
+ # S3 Bucket Default Encryption][1] in the *Amazon S3 User Guide*.
9558
9645
  #
9559
9646
  #
9560
9647
  #
@@ -9768,12 +9855,26 @@ module Aws::S3
9768
9855
  # location. For an example policy, see [ Granting Permissions for Amazon
9769
9856
  # S3 Inventory and Storage Class Analysis][2].
9770
9857
  #
9771
- # To use this operation, you must have permissions to perform the
9858
+ # **Permissions**
9859
+ #
9860
+ # To use this operation, you must have permission to perform the
9772
9861
  # `s3:PutInventoryConfiguration` action. The bucket owner has this
9773
- # permission by default and can grant this permission to others. For
9774
- # more information about permissions, see [Permissions Related to Bucket
9775
- # Subresource Operations][3] and [Managing Access Permissions to Your
9776
- # Amazon S3 Resources][4] in the Amazon S3 User Guide.
9862
+ # permission by default and can grant this permission to others.
9863
+ #
9864
+ # The `s3:PutInventoryConfiguration` permission allows a user to create
9865
+ # an [S3 Inventory][3] report that includes all object metadata fields
9866
+ # available and to specify the destination bucket to store the
9867
+ # inventory. A user with read access to objects in the destination
9868
+ # bucket can also access all object metadata fields that are available
9869
+ # in the inventory report.
9870
+ #
9871
+ # To restrict access to an inventory report, see [Restricting access to
9872
+ # an Amazon S3 Inventory report][4] in the *Amazon S3 User Guide*. For
9873
+ # more information about the metadata fields available in S3 Inventory,
9874
+ # see [Amazon S3 Inventory lists][5] in the *Amazon S3 User Guide*. For
9875
+ # more information about permissions, see [Permissions related to bucket
9876
+ # subresource operations][6] and [Identity and access management in
9877
+ # Amazon S3][7] in the *Amazon S3 User Guide*.
9777
9878
  #
9778
9879
  # **Special Errors**
9779
9880
  #
@@ -9800,21 +9901,24 @@ module Aws::S3
9800
9901
  #
9801
9902
  # **Related Resources**
9802
9903
  #
9803
- # * [GetBucketInventoryConfiguration][5]
9904
+ # * [GetBucketInventoryConfiguration][8]
9804
9905
  #
9805
- # * [DeleteBucketInventoryConfiguration][6]
9906
+ # * [DeleteBucketInventoryConfiguration][9]
9806
9907
  #
9807
- # * [ListBucketInventoryConfigurations][7]
9908
+ # * [ListBucketInventoryConfigurations][10]
9808
9909
  #
9809
9910
  #
9810
9911
  #
9811
9912
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html
9812
9913
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9
9813
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
9814
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
9815
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html
9816
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html
9817
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html
9914
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html
9915
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-use-case-10
9916
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html#storage-inventory-contents
9917
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
9918
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
9919
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html
9920
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html
9921
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html
9818
9922
  #
9819
9923
  # @option params [required, String] :bucket
9820
9924
  # The name of the bucket where the inventory configuration will be
@@ -10459,7 +10563,9 @@ module Aws::S3
10459
10563
  # The name of the bucket for which the metrics configuration is set.
10460
10564
  #
10461
10565
  # @option params [required, String] :id
10462
- # The ID used to identify the metrics configuration.
10566
+ # The ID used to identify the metrics configuration. The ID has a 64
10567
+ # character limit and can only contain letters, numbers, periods,
10568
+ # dashes, and underscores.
10463
10569
  #
10464
10570
  # @option params [required, Types::MetricsConfiguration] :metrics_configuration
10465
10571
  # Specifies the metrics configuration.
@@ -11734,14 +11840,18 @@ module Aws::S3
11734
11840
  # Adds an object to a bucket. You must have WRITE permissions on a
11735
11841
  # bucket to add an object to it.
11736
11842
  #
11737
- # Amazon S3 never adds partial objects; if you receive a success
11738
- # response, Amazon S3 added the entire object to the bucket.
11843
+ # <note markdown="1"> Amazon S3 never adds partial objects; if you receive a success
11844
+ # response, Amazon S3 added the entire object to the bucket. You cannot
11845
+ # use `PutObject` to only update a single piece of metadata for an
11846
+ # existing object. You must put the entire object with updated metadata
11847
+ # if you want to update some values.
11848
+ #
11849
+ # </note>
11739
11850
  #
11740
11851
  # Amazon S3 is a distributed system. If it receives multiple write
11741
11852
  # requests for the same object simultaneously, it overwrites all but the
11742
- # last object written. Amazon S3 does not provide object locking; if you
11743
- # need this, make sure to build it into your application layer or use
11744
- # versioning instead.
11853
+ # last object written. To prevent objects from being deleted or
11854
+ # overwritten, you can use [Amazon S3 Object Lock][1].
11745
11855
  #
11746
11856
  # To ensure that data is not corrupted traversing the network, use the
11747
11857
  # `Content-MD5` header. When you use this header, Amazon S3 checks the
@@ -11756,36 +11866,33 @@ module Aws::S3
11756
11866
  # * To successfully change the objects acl of your `PutObject` request,
11757
11867
  # you must have the `s3:PutObjectAcl` in your IAM permissions.
11758
11868
  #
11869
+ # * To successfully set the tag-set with your `PutObject` request, you
11870
+ # must have the `s3:PutObjectTagging` in your IAM permissions.
11871
+ #
11759
11872
  # * The `Content-MD5` header is required for any request to upload an
11760
11873
  # object with a retention period configured using Amazon S3 Object
11761
11874
  # Lock. For more information about Amazon S3 Object Lock, see [Amazon
11762
- # S3 Object Lock Overview][1] in the *Amazon S3 User Guide*.
11875
+ # S3 Object Lock Overview][2] in the *Amazon S3 User Guide*.
11763
11876
  #
11764
11877
  # </note>
11765
11878
  #
11766
- # **Server-side Encryption**
11767
- #
11768
- # You can optionally request server-side encryption. With server-side
11769
- # encryption, Amazon S3 encrypts your data as it writes it to disks in
11770
- # its data centers and decrypts the data when you access it. You have
11771
- # the option to provide your own encryption key or use Amazon Web
11772
- # Services managed encryption keys (SSE-S3 or SSE-KMS). For more
11773
- # information, see [Using Server-Side Encryption][2].
11774
- #
11775
- # If you request server-side encryption using Amazon Web Services Key
11776
- # Management Service (SSE-KMS), you can enable an S3 Bucket Key at the
11777
- # object-level. For more information, see [Amazon S3 Bucket Keys][3] in
11778
- # the *Amazon S3 User Guide*.
11779
- #
11780
- # **Access Control List (ACL)-Specific Request Headers**
11781
- #
11782
- # You can use headers to grant ACL- based permissions. By default, all
11783
- # objects are private. Only the owner has full access control. When
11784
- # adding a new object, you can grant permissions to individual Amazon
11785
- # Web Services accounts or to predefined groups defined by Amazon S3.
11786
- # These permissions are then added to the ACL on the object. For more
11787
- # information, see [Access Control List (ACL) Overview][4] and [Managing
11788
- # ACLs Using the REST API][5].
11879
+ # You have three mutually exclusive options to protect data using
11880
+ # server-side encryption in Amazon S3, depending on how you choose to
11881
+ # manage the encryption keys. Specifically, the encryption key options
11882
+ # are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys
11883
+ # (SSE-KMS), and customer-provided keys (SSE-C). Amazon S3 encrypts data
11884
+ # with server-side encryption by using Amazon S3 managed keys (SSE-S3)
11885
+ # by default. You can optionally tell Amazon S3 to encrypt data at by
11886
+ # rest using server-side encryption with other key options. For more
11887
+ # information, see [Using Server-Side Encryption][3].
11888
+ #
11889
+ # When adding a new object, you can use headers to grant ACL-based
11890
+ # permissions to individual Amazon Web Services accounts or to
11891
+ # predefined groups defined by Amazon S3. These permissions are then
11892
+ # added to the ACL on the object. By default, all objects are private.
11893
+ # Only the owner has full access control. For more information, see
11894
+ # [Access Control List (ACL) Overview][4] and [Managing ACLs Using the
11895
+ # REST API][5].
11789
11896
  #
11790
11897
  # If the bucket that you're uploading objects to uses the bucket owner
11791
11898
  # enforced setting for S3 Object Ownership, ACLs are disabled and no
@@ -11796,10 +11903,9 @@ module Aws::S3
11796
11903
  # ACL expressed in the XML format. PUT requests that contain other ACLs
11797
11904
  # (for example, custom grants to certain Amazon Web Services accounts)
11798
11905
  # fail and return a `400` error with the error code
11799
- # `AccessControlListNotSupported`.
11800
- #
11801
- # For more information, see [ Controlling ownership of objects and
11802
- # disabling ACLs][6] in the *Amazon S3 User Guide*.
11906
+ # `AccessControlListNotSupported`. For more information, see [
11907
+ # Controlling ownership of objects and disabling ACLs][6] in the *Amazon
11908
+ # S3 User Guide*.
11803
11909
  #
11804
11910
  # <note markdown="1"> If your bucket uses the bucket owner enforced setting for Object
11805
11911
  # Ownership, all objects written to the bucket by any account will be
@@ -11807,8 +11913,6 @@ module Aws::S3
11807
11913
  #
11808
11914
  # </note>
11809
11915
  #
11810
- # **Storage Class Options**
11811
- #
11812
11916
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
11813
11917
  # created objects. The STANDARD storage class provides high durability
11814
11918
  # and high availability. Depending on performance needs, you can specify
@@ -11816,19 +11920,16 @@ module Aws::S3
11816
11920
  # OUTPOSTS Storage Class. For more information, see [Storage Classes][7]
11817
11921
  # in the *Amazon S3 User Guide*.
11818
11922
  #
11819
- # **Versioning**
11820
- #
11821
11923
  # If you enable versioning for a bucket, Amazon S3 automatically
11822
11924
  # generates a unique version ID for the object being stored. Amazon S3
11823
11925
  # returns this ID in the response. When you enable versioning for a
11824
11926
  # bucket, if Amazon S3 receives multiple write requests for the same
11825
- # object simultaneously, it stores all of the objects.
11826
- #
11827
- # For more information about versioning, see [Adding Objects to
11828
- # Versioning Enabled Buckets][8]. For information about returning the
11829
- # versioning state of a bucket, see [GetBucketVersioning][9].
11927
+ # object simultaneously, it stores all of the objects. For more
11928
+ # information about versioning, see [Adding Objects to Versioning
11929
+ # Enabled Buckets][8]. For information about returning the versioning
11930
+ # state of a bucket, see [GetBucketVersioning][9].
11830
11931
  #
11831
- # **Related Resources**
11932
+ # For more information about related Amazon S3 APIs, see the following:
11832
11933
  #
11833
11934
  # * [CopyObject][10]
11834
11935
  #
@@ -11836,9 +11937,9 @@ module Aws::S3
11836
11937
  #
11837
11938
  #
11838
11939
  #
11839
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
11840
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
11841
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
11940
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html
11941
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html
11942
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
11842
11943
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
11843
11944
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html
11844
11945
  # [6]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
@@ -11872,14 +11973,14 @@ module Aws::S3
11872
11973
  # name. For more information about access point ARNs, see [Using access
11873
11974
  # points][1] in the *Amazon S3 User Guide*.
11874
11975
  #
11875
- # When using this action with Amazon S3 on Outposts, you must direct
11976
+ # When you use this action with Amazon S3 on Outposts, you must direct
11876
11977
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11877
11978
  # takes the form `
11878
11979
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
11879
- # When using this action with S3 on Outposts through the Amazon Web
11880
- # Services SDKs, you provide the Outposts bucket ARN in place of the
11881
- # bucket name. For more information about S3 on Outposts ARNs, see
11882
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
11980
+ # When you use this action with S3 on Outposts through the Amazon Web
11981
+ # Services SDKs, you provide the Outposts access point ARN in place of
11982
+ # the bucket name. For more information about S3 on Outposts ARNs, see
11983
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
11883
11984
  #
11884
11985
  #
11885
11986
  #
@@ -11898,21 +11999,21 @@ module Aws::S3
11898
11999
  # @option params [String] :content_disposition
11899
12000
  # Specifies presentational information for the object. For more
11900
12001
  # information, see
11901
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1][1].
12002
+ # [https://www.rfc-editor.org/rfc/rfc6266#section-4][1].
11902
12003
  #
11903
12004
  #
11904
12005
  #
11905
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1
12006
+ # [1]: https://www.rfc-editor.org/rfc/rfc6266#section-4
11906
12007
  #
11907
12008
  # @option params [String] :content_encoding
11908
12009
  # Specifies what content encodings have been applied to the object and
11909
12010
  # thus what decoding mechanisms must be applied to obtain the media-type
11910
12011
  # referenced by the Content-Type header field. For more information, see
11911
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11][1].
12012
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding][1].
11912
12013
  #
11913
12014
  #
11914
12015
  #
11915
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11
12016
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
11916
12017
  #
11917
12018
  # @option params [String] :content_language
11918
12019
  # The language the content is in.
@@ -11920,11 +12021,11 @@ module Aws::S3
11920
12021
  # @option params [Integer] :content_length
11921
12022
  # Size of the body in bytes. This parameter is useful when the size of
11922
12023
  # the body cannot be determined automatically. For more information, see
11923
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13][1].
12024
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length][1].
11924
12025
  #
11925
12026
  #
11926
12027
  #
11927
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
12028
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
11928
12029
  #
11929
12030
  # @option params [String] :content_md5
11930
12031
  # The base64-encoded 128-bit MD5 digest of the message (without the
@@ -11942,11 +12043,11 @@ module Aws::S3
11942
12043
  # @option params [String] :content_type
11943
12044
  # A standard MIME type describing the format of the contents. For more
11944
12045
  # information, see
11945
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17][1].
12046
+ # [https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type][1].
11946
12047
  #
11947
12048
  #
11948
12049
  #
11949
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17
12050
+ # [1]: https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
11950
12051
  #
11951
12052
  # @option params [String] :checksum_algorithm
11952
12053
  # Indicates the algorithm used to create the checksum for the object
@@ -12011,11 +12112,11 @@ module Aws::S3
12011
12112
  # @option params [Time,DateTime,Date,Integer,String] :expires
12012
12113
  # The date and time at which the object is no longer cacheable. For more
12013
12114
  # information, see
12014
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21][1].
12115
+ # [https://www.rfc-editor.org/rfc/rfc7234#section-5.3][1].
12015
12116
  #
12016
12117
  #
12017
12118
  #
12018
- # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21
12119
+ # [1]: https://www.rfc-editor.org/rfc/rfc7234#section-5.3
12019
12120
  #
12020
12121
  # @option params [String] :grant_full_control
12021
12122
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
@@ -12046,7 +12147,7 @@ module Aws::S3
12046
12147
  #
12047
12148
  # @option params [String] :server_side_encryption
12048
12149
  # The server-side encryption algorithm used when storing this object in
12049
- # Amazon S3 (for example, AES256, aws:kms).
12150
+ # Amazon S3 (for example, AES256, `aws:kms`).
12050
12151
  #
12051
12152
  # @option params [String] :storage_class
12052
12153
  # By default, Amazon S3 uses the STANDARD Storage Class to store newly
@@ -12103,9 +12204,9 @@ module Aws::S3
12103
12204
  # ensure that the encryption key was transmitted without error.
12104
12205
  #
12105
12206
  # @option params [String] :ssekms_key_id
12106
- # If `x-amz-server-side-encryption` is present and has the value of
12107
- # `aws:kms`, this header specifies the ID of the Amazon Web Services Key
12108
- # Management Service (Amazon Web Services KMS) symmetrical customer
12207
+ # If `x-amz-server-side-encryption` has a valid value of `aws:kms`, this
12208
+ # header specifies the ID of the Amazon Web Services Key Management
12209
+ # Service (Amazon Web Services KMS) symmetric encryption customer
12109
12210
  # managed key that was used for the object. If you specify
12110
12211
  # `x-amz-server-side-encryption:aws:kms`, but do not provide`
12111
12212
  # x-amz-server-side-encryption-aws-kms-key-id`, Amazon S3 uses the
@@ -12116,7 +12217,10 @@ module Aws::S3
12116
12217
  # @option params [String] :ssekms_encryption_context
12117
12218
  # Specifies the Amazon Web Services KMS Encryption Context to use for
12118
12219
  # object encryption. The value of this header is a base64-encoded UTF-8
12119
- # string holding JSON with the encryption context key-value pairs.
12220
+ # string holding JSON with the encryption context key-value pairs. This
12221
+ # value is stored as object metadata and automatically gets passed on to
12222
+ # Amazon Web Services KMS for future `GetObject` or `CopyObject`
12223
+ # operations on this object.
12120
12224
  #
12121
12225
  # @option params [Boolean] :bucket_key_enabled
12122
12226
  # Specifies whether Amazon S3 should use an S3 Bucket Key for object
@@ -12180,23 +12284,6 @@ module Aws::S3
12180
12284
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
12181
12285
  #
12182
12286
  #
12183
- # @example Example: To upload an object
12184
- #
12185
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12186
- # # syntax. S3 returns VersionId of the newly created object.
12187
- #
12188
- # resp = client.put_object({
12189
- # body: "HappyFace.jpg",
12190
- # bucket: "examplebucket",
12191
- # key: "HappyFace.jpg",
12192
- # })
12193
- #
12194
- # resp.to_h outputs the following:
12195
- # {
12196
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12197
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12198
- # }
12199
- #
12200
12287
  # @example Example: To upload object and specify user-defined metadata
12201
12288
  #
12202
12289
  # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
@@ -12218,24 +12305,40 @@ module Aws::S3
12218
12305
  # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
12219
12306
  # }
12220
12307
  #
12221
- # @example Example: To upload an object (specify optional headers)
12308
+ # @example Example: To upload an object and specify optional tags
12222
12309
  #
12223
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12224
- # # storage class and use server-side encryption.
12310
+ # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
12311
+ # # S3 returns version ID of the newly created object.
12225
12312
  #
12226
12313
  # resp = client.put_object({
12227
- # body: "HappyFace.jpg",
12314
+ # body: "c:\\HappyFace.jpg",
12228
12315
  # bucket: "examplebucket",
12229
12316
  # key: "HappyFace.jpg",
12230
- # server_side_encryption: "AES256",
12231
- # storage_class: "STANDARD_IA",
12317
+ # tagging: "key1=value1&key2=value2",
12232
12318
  # })
12233
12319
  #
12234
12320
  # resp.to_h outputs the following:
12235
12321
  # {
12236
12322
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12237
- # server_side_encryption: "AES256",
12238
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12323
+ # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12324
+ # }
12325
+ #
12326
+ # @example Example: To upload an object and specify canned ACL.
12327
+ #
12328
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
12329
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
12330
+ #
12331
+ # resp = client.put_object({
12332
+ # acl: "authenticated-read",
12333
+ # body: "filetoupload",
12334
+ # bucket: "examplebucket",
12335
+ # key: "exampleobject",
12336
+ # })
12337
+ #
12338
+ # resp.to_h outputs the following:
12339
+ # {
12340
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12341
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12239
12342
  # }
12240
12343
  #
12241
12344
  # @example Example: To create an object.
@@ -12254,60 +12357,61 @@ module Aws::S3
12254
12357
  # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
12255
12358
  # }
12256
12359
  #
12257
- # @example Example: To upload an object and specify server-side encryption and object tags
12360
+ # @example Example: To upload an object
12258
12361
  #
12259
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
12260
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
12362
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
12363
+ # # syntax. S3 returns VersionId of the newly created object.
12261
12364
  #
12262
12365
  # resp = client.put_object({
12263
- # body: "filetoupload",
12366
+ # body: "HappyFace.jpg",
12264
12367
  # bucket: "examplebucket",
12265
- # key: "exampleobject",
12266
- # server_side_encryption: "AES256",
12267
- # tagging: "key1=value1&key2=value2",
12368
+ # key: "HappyFace.jpg",
12268
12369
  # })
12269
12370
  #
12270
12371
  # resp.to_h outputs the following:
12271
12372
  # {
12272
12373
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12273
- # server_side_encryption: "AES256",
12274
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12374
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
12275
12375
  # }
12276
12376
  #
12277
- # @example Example: To upload an object and specify optional tags
12377
+ # @example Example: To upload an object (specify optional headers)
12278
12378
  #
12279
- # # The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore
12280
- # # S3 returns version ID of the newly created object.
12379
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
12380
+ # # storage class and use server-side encryption.
12281
12381
  #
12282
12382
  # resp = client.put_object({
12283
- # body: "c:\\HappyFace.jpg",
12383
+ # body: "HappyFace.jpg",
12284
12384
  # bucket: "examplebucket",
12285
12385
  # key: "HappyFace.jpg",
12286
- # tagging: "key1=value1&key2=value2",
12386
+ # server_side_encryption: "AES256",
12387
+ # storage_class: "STANDARD_IA",
12287
12388
  # })
12288
12389
  #
12289
12390
  # resp.to_h outputs the following:
12290
12391
  # {
12291
12392
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12292
- # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
12393
+ # server_side_encryption: "AES256",
12394
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
12293
12395
  # }
12294
12396
  #
12295
- # @example Example: To upload an object and specify canned ACL.
12397
+ # @example Example: To upload an object and specify server-side encryption and object tags
12296
12398
  #
12297
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
12298
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
12399
+ # # The following example uploads an object. The request specifies the optional server-side encryption option. The request
12400
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
12299
12401
  #
12300
12402
  # resp = client.put_object({
12301
- # acl: "authenticated-read",
12302
12403
  # body: "filetoupload",
12303
12404
  # bucket: "examplebucket",
12304
12405
  # key: "exampleobject",
12406
+ # server_side_encryption: "AES256",
12407
+ # tagging: "key1=value1&key2=value2",
12305
12408
  # })
12306
12409
  #
12307
12410
  # resp.to_h outputs the following:
12308
12411
  # {
12309
12412
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
12310
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
12413
+ # server_side_encryption: "AES256",
12414
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
12311
12415
  # }
12312
12416
  #
12313
12417
  # @example Streaming a file from disk
@@ -12645,14 +12749,14 @@ module Aws::S3
12645
12749
  # name. For more information about access point ARNs, see [Using access
12646
12750
  # points][1] in the *Amazon S3 User Guide*.
12647
12751
  #
12648
- # When using this action with Amazon S3 on Outposts, you must direct
12752
+ # When you use this action with Amazon S3 on Outposts, you must direct
12649
12753
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
12650
12754
  # takes the form `
12651
12755
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
12652
- # When using this action with S3 on Outposts through the Amazon Web
12653
- # Services SDKs, you provide the Outposts bucket ARN in place of the
12654
- # bucket name. For more information about S3 on Outposts ARNs, see
12655
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
12756
+ # When you use this action with S3 on Outposts through the Amazon Web
12757
+ # Services SDKs, you provide the Outposts access point ARN in place of
12758
+ # the bucket name. For more information about S3 on Outposts ARNs, see
12759
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
12656
12760
  #
12657
12761
  #
12658
12762
  #
@@ -13149,14 +13253,14 @@ module Aws::S3
13149
13253
  # name. For more information about access point ARNs, see [Using access
13150
13254
  # points][1] in the *Amazon S3 User Guide*.
13151
13255
  #
13152
- # When using this action with Amazon S3 on Outposts, you must direct
13256
+ # When you use this action with Amazon S3 on Outposts, you must direct
13153
13257
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
13154
13258
  # takes the form `
13155
13259
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
13156
- # When using this action with S3 on Outposts through the Amazon Web
13157
- # Services SDKs, you provide the Outposts bucket ARN in place of the
13158
- # bucket name. For more information about S3 on Outposts ARNs, see
13159
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
13260
+ # When you use this action with S3 on Outposts through the Amazon Web
13261
+ # Services SDKs, you provide the Outposts access point ARN in place of
13262
+ # the bucket name. For more information about S3 on Outposts ARNs, see
13263
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
13160
13264
  #
13161
13265
  #
13162
13266
  #
@@ -13396,35 +13500,14 @@ module Aws::S3
13396
13500
  # Operations][1] and [Managing Access Permissions to Your Amazon S3
13397
13501
  # Resources][2] in the *Amazon S3 User Guide*.
13398
13502
  #
13399
- # **Querying Archives with Select Requests**
13400
- #
13401
- # You use a select type of request to perform SQL queries on archived
13402
- # objects. The archived objects that are being queried by the select
13403
- # request must be formatted as uncompressed comma-separated values (CSV)
13404
- # files. You can run queries and custom analytics on your archived data
13405
- # without having to restore your data to a hotter Amazon S3 tier. For an
13406
- # overview about select requests, see [Querying Archived Objects][3] in
13407
- # the *Amazon S3 User Guide*.
13408
- #
13409
- # When making a select request, do the following:
13410
- #
13411
- # * Define an output location for the select query's output. This must
13412
- # be an Amazon S3 bucket in the same Amazon Web Services Region as the
13413
- # bucket that contains the archive object that is being queried. The
13414
- # Amazon Web Services account that initiates the job must have
13415
- # permissions to write to the S3 bucket. You can specify the storage
13416
- # class and encryption for the output objects stored in the bucket.
13417
- # For more information about output, see [Querying Archived
13418
- # Objects][3] in the *Amazon S3 User Guide*.
13419
- #
13420
- # For more information about the `S3` structure in the request body,
13421
- # see the following:
13503
+ # For more information about the `S3` structure in the request body, see
13504
+ # the following:
13422
13505
  #
13423
- # * [PutObject][4]
13506
+ # * * [PutObject][3]
13424
13507
  #
13425
- # * [Managing Access with ACLs][5] in the *Amazon S3 User Guide*
13508
+ # * [Managing Access with ACLs][4] in the *Amazon S3 User Guide*
13426
13509
  #
13427
- # * [Protecting Data Using Server-Side Encryption][6] in the *Amazon
13510
+ # * [Protecting Data Using Server-Side Encryption][5] in the *Amazon
13428
13511
  # S3 User Guide*
13429
13512
  #
13430
13513
  # * Define the SQL expression for the `SELECT` type of restoration for
@@ -13449,10 +13532,6 @@ module Aws::S3
13449
13532
  #
13450
13533
  # `SELECT s.Id, s.FirstName, s.SSN FROM S3Object s`
13451
13534
  #
13452
- # For more information about using SQL with S3 Glacier Select restore,
13453
- # see [SQL Reference for Amazon S3 Select and S3 Glacier Select][7] in
13454
- # the *Amazon S3 User Guide*.
13455
- #
13456
13535
  # When making a select request, you can also do the following:
13457
13536
  #
13458
13537
  # * To expedite your queries, specify the `Expedited` tier. For more
@@ -13470,7 +13549,7 @@ module Aws::S3
13470
13549
  # through a lifecycle policy.
13471
13550
  #
13472
13551
  # * You can issue more than one select request on the same Amazon S3
13473
- # object. Amazon S3 doesn't deduplicate requests, so avoid issuing
13552
+ # object. Amazon S3 doesn't duplicate requests, so avoid issuing
13474
13553
  # duplicate requests.
13475
13554
  #
13476
13555
  # * Amazon S3 accepts a select request even if the object has already
@@ -13478,27 +13557,30 @@ module Aws::S3
13478
13557
  #
13479
13558
  # **Restoring objects**
13480
13559
  #
13481
- # Objects that you archive to the S3 Glacier or S3 Glacier Deep Archive
13482
- # storage class, and S3 Intelligent-Tiering Archive or S3
13483
- # Intelligent-Tiering Deep Archive tiers are not accessible in real
13484
- # time. For objects in Archive Access or Deep Archive Access tiers you
13485
- # must first initiate a restore request, and then wait until the object
13486
- # is moved into the Frequent Access tier. For objects in S3 Glacier or
13487
- # S3 Glacier Deep Archive storage classes you must first initiate a
13560
+ # Objects that you archive to the S3 Glacier Flexible Retrieval or S3
13561
+ # Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive
13562
+ # or S3 Intelligent-Tiering Deep Archive tiers, are not accessible in
13563
+ # real time. For objects in the S3 Glacier Flexible Retrieval or S3
13564
+ # Glacier Deep Archive storage classes, you must first initiate a
13488
13565
  # restore request, and then wait until a temporary copy of the object is
13489
- # available. To access an archived object, you must restore the object
13490
- # for the duration (number of days) that you specify.
13566
+ # available. If you want a permanent copy of the object, create a copy
13567
+ # of it in the Amazon S3 Standard storage class in your S3 bucket. To
13568
+ # access an archived object, you must restore the object for the
13569
+ # duration (number of days) that you specify. For objects in the Archive
13570
+ # Access or Deep Archive Access tiers of S3 Intelligent-Tiering, you
13571
+ # must first initiate a restore request, and then wait until the object
13572
+ # is moved into the Frequent Access tier.
13491
13573
  #
13492
13574
  # To restore a specific object version, you can provide a version ID. If
13493
13575
  # you don't provide a version ID, Amazon S3 restores the current
13494
13576
  # version.
13495
13577
  #
13496
- # When restoring an archived object (or using a select request), you can
13497
- # specify one of the following data access tier options in the `Tier`
13498
- # element of the request body:
13578
+ # When restoring an archived object, you can specify one of the
13579
+ # following data access tier options in the `Tier` element of the
13580
+ # request body:
13499
13581
  #
13500
13582
  # * `Expedited` - Expedited retrievals allow you to quickly access your
13501
- # data stored in the S3 Glacier storage class or S3
13583
+ # data stored in the S3 Glacier Flexible Retrieval storage class or S3
13502
13584
  # Intelligent-Tiering Archive tier when occasional urgent requests for
13503
13585
  # a subset of archives are required. For all but the largest archived
13504
13586
  # objects (250 MB+), data accessed using Expedited retrievals is
@@ -13512,28 +13594,30 @@ module Aws::S3
13512
13594
  # archived objects within several hours. This is the default option
13513
13595
  # for retrieval requests that do not specify the retrieval option.
13514
13596
  # Standard retrievals typically finish within 3–5 hours for objects
13515
- # stored in the S3 Glacier storage class or S3 Intelligent-Tiering
13516
- # Archive tier. They typically finish within 12 hours for objects
13517
- # stored in the S3 Glacier Deep Archive storage class or S3
13518
- # Intelligent-Tiering Deep Archive tier. Standard retrievals are free
13519
- # for objects stored in S3 Intelligent-Tiering.
13520
- #
13521
- # * `Bulk` - Bulk retrievals are the lowest-cost retrieval option in S3
13522
- # Glacier, enabling you to retrieve large amounts, even petabytes, of
13523
- # data inexpensively. Bulk retrievals typically finish within 5–12
13524
- # hours for objects stored in the S3 Glacier storage class or S3
13525
- # Intelligent-Tiering Archive tier. They typically finish within 48
13597
+ # stored in the S3 Glacier Flexible Retrieval storage class or S3
13598
+ # Intelligent-Tiering Archive tier. They typically finish within 12
13526
13599
  # hours for objects stored in the S3 Glacier Deep Archive storage
13527
- # class or S3 Intelligent-Tiering Deep Archive tier. Bulk retrievals
13528
- # are free for objects stored in S3 Intelligent-Tiering.
13600
+ # class or S3 Intelligent-Tiering Deep Archive tier. Standard
13601
+ # retrievals are free for objects stored in S3 Intelligent-Tiering.
13602
+ #
13603
+ # * `Bulk` - Bulk retrievals free for objects stored in the S3 Glacier
13604
+ # Flexible Retrieval and S3 Intelligent-Tiering storage classes,
13605
+ # enabling you to retrieve large amounts, even petabytes, of data at
13606
+ # no cost. Bulk retrievals typically finish within 5–12 hours for
13607
+ # objects stored in the S3 Glacier Flexible Retrieval storage class or
13608
+ # S3 Intelligent-Tiering Archive tier. Bulk retrievals are also the
13609
+ # lowest-cost retrieval option when restoring objects from S3 Glacier
13610
+ # Deep Archive. They typically finish within 48 hours for objects
13611
+ # stored in the S3 Glacier Deep Archive storage class or S3
13612
+ # Intelligent-Tiering Deep Archive tier.
13529
13613
  #
13530
13614
  # For more information about archive retrieval options and provisioned
13531
13615
  # capacity for `Expedited` data access, see [Restoring Archived
13532
- # Objects][8] in the *Amazon S3 User Guide*.
13616
+ # Objects][6] in the *Amazon S3 User Guide*.
13533
13617
  #
13534
13618
  # You can use Amazon S3 restore speed upgrade to change the restore
13535
13619
  # speed to a faster speed while it is in progress. For more information,
13536
- # see [ Upgrading the speed of an in-progress restore][9] in the *Amazon
13620
+ # see [ Upgrading the speed of an in-progress restore][7] in the *Amazon
13537
13621
  # S3 User Guide*.
13538
13622
  #
13539
13623
  # To get the status of object restoration, you can send a `HEAD`
@@ -13541,7 +13625,7 @@ module Aws::S3
13541
13625
  # information about the restoration status, in the response. You can use
13542
13626
  # Amazon S3 event notifications to notify you when a restore is
13543
13627
  # initiated or completed. For more information, see [Configuring Amazon
13544
- # S3 Event Notifications][10] in the *Amazon S3 User Guide*.
13628
+ # S3 Event Notifications][8] in the *Amazon S3 User Guide*.
13545
13629
  #
13546
13630
  # After restoring an archived object, you can update the restoration
13547
13631
  # period by reissuing the request with a new period. Amazon S3 updates
@@ -13556,8 +13640,8 @@ module Aws::S3
13556
13640
  # object copy for 10 days, but the object is scheduled to expire in 3
13557
13641
  # days, Amazon S3 deletes the object in 3 days. For more information
13558
13642
  # about lifecycle configuration, see
13559
- # [PutBucketLifecycleConfiguration][11] and [Object Lifecycle
13560
- # Management][12] in *Amazon S3 User Guide*.
13643
+ # [PutBucketLifecycleConfiguration][9] and [Object Lifecycle
13644
+ # Management][10] in *Amazon S3 User Guide*.
13561
13645
  #
13562
13646
  # **Responses**
13563
13647
  #
@@ -13594,28 +13678,23 @@ module Aws::S3
13594
13678
  #
13595
13679
  # **Related Resources**
13596
13680
  #
13597
- # * [PutBucketLifecycleConfiguration][11]
13598
- #
13599
- # * [GetBucketNotificationConfiguration][13]
13681
+ # * [PutBucketLifecycleConfiguration][9]
13600
13682
  #
13601
- # * [SQL Reference for Amazon S3 Select and S3 Glacier Select ][7] in
13602
- # the *Amazon S3 User Guide*
13683
+ # * [GetBucketNotificationConfiguration][11]
13603
13684
  #
13604
13685
  #
13605
13686
  #
13606
13687
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
13607
13688
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
13608
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html
13609
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
13610
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
13611
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
13612
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html
13613
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
13614
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
13615
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
13616
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
13617
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
13618
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
13689
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
13690
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
13691
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
13692
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
13693
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html
13694
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
13695
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
13696
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
13697
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
13619
13698
  #
13620
13699
  # @option params [required, String] :bucket
13621
13700
  # The bucket name containing the object to restore.
@@ -13628,14 +13707,14 @@ module Aws::S3
13628
13707
  # name. For more information about access point ARNs, see [Using access
13629
13708
  # points][1] in the *Amazon S3 User Guide*.
13630
13709
  #
13631
- # When using this action with Amazon S3 on Outposts, you must direct
13710
+ # When you use this action with Amazon S3 on Outposts, you must direct
13632
13711
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
13633
13712
  # takes the form `
13634
13713
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
13635
- # When using this action with S3 on Outposts through the Amazon Web
13636
- # Services SDKs, you provide the Outposts bucket ARN in place of the
13637
- # bucket name. For more information about S3 on Outposts ARNs, see
13638
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
13714
+ # When you use this action with S3 on Outposts through the Amazon Web
13715
+ # Services SDKs, you provide the Outposts access point ARN in place of
13716
+ # the bucket name. For more information about S3 on Outposts ARNs, see
13717
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
13639
13718
  #
13640
13719
  #
13641
13720
  #
@@ -13828,17 +13907,13 @@ module Aws::S3
13828
13907
  # from Objects][1] and [SELECT Command][2] in the *Amazon S3 User
13829
13908
  # Guide*.
13830
13909
  #
13831
- # For more information about using SQL with Amazon S3 Select, see [ SQL
13832
- # Reference for Amazon S3 Select and S3 Glacier Select][3] in the
13833
- # *Amazon S3 User Guide*.
13834
- #
13835
13910
  #
13836
13911
  #
13837
13912
  # **Permissions**
13838
13913
  #
13839
13914
  # You must have `s3:GetObject` permission for this operation. Amazon S3
13840
13915
  # Select does not support anonymous access. For more information about
13841
- # permissions, see [Specifying Permissions in a Policy][4] in the
13916
+ # permissions, see [Specifying Permissions in a Policy][3] in the
13842
13917
  # *Amazon S3 User Guide*.
13843
13918
  #
13844
13919
  #
@@ -13865,71 +13940,70 @@ module Aws::S3
13865
13940
  #
13866
13941
  # For objects that are encrypted with customer-provided encryption
13867
13942
  # keys (SSE-C), you must use HTTPS, and you must use the headers that
13868
- # are documented in the [GetObject][5]. For more information about
13943
+ # are documented in the [GetObject][4]. For more information about
13869
13944
  # SSE-C, see [Server-Side Encryption (Using Customer-Provided
13870
- # Encryption Keys)][6] in the *Amazon S3 User Guide*.
13945
+ # Encryption Keys)][5] in the *Amazon S3 User Guide*.
13871
13946
  #
13872
- # For objects that are encrypted with Amazon S3 managed encryption
13873
- # keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS),
13874
- # server-side encryption is handled transparently, so you don't need
13875
- # to specify anything. For more information about server-side
13876
- # encryption, including SSE-S3 and SSE-KMS, see [Protecting Data Using
13877
- # Server-Side Encryption][7] in the *Amazon S3 User Guide*.
13947
+ # For objects that are encrypted with Amazon S3 managed keys (SSE-S3)
13948
+ # and Amazon Web Services KMS keys (SSE-KMS), server-side encryption
13949
+ # is handled transparently, so you don't need to specify anything.
13950
+ # For more information about server-side encryption, including SSE-S3
13951
+ # and SSE-KMS, see [Protecting Data Using Server-Side Encryption][6]
13952
+ # in the *Amazon S3 User Guide*.
13878
13953
  #
13879
13954
  # **Working with the Response Body**
13880
13955
  #
13881
13956
  # Given the response size is unknown, Amazon S3 Select streams the
13882
13957
  # response as a series of messages and includes a `Transfer-Encoding`
13883
13958
  # header with `chunked` as its value in the response. For more
13884
- # information, see [Appendix: SelectObjectContent Response][8].
13959
+ # information, see [Appendix: SelectObjectContent Response][7].
13885
13960
  #
13886
13961
  #
13887
13962
  #
13888
13963
  # **GetObject Support**
13889
13964
  #
13890
13965
  # The `SelectObjectContent` action does not support the following
13891
- # `GetObject` functionality. For more information, see [GetObject][5].
13966
+ # `GetObject` functionality. For more information, see [GetObject][4].
13892
13967
  #
13893
13968
  # * `Range`: Although you can specify a scan range for an Amazon S3
13894
- # Select request (see [SelectObjectContentRequest - ScanRange][9] in
13969
+ # Select request (see [SelectObjectContentRequest - ScanRange][8] in
13895
13970
  # the request parameters), you cannot specify the range of bytes of an
13896
13971
  # object to return.
13897
13972
  #
13898
13973
  # * GLACIER, DEEP\_ARCHIVE and REDUCED\_REDUNDANCY storage classes: You
13899
13974
  # cannot specify the GLACIER, DEEP\_ARCHIVE, or `REDUCED_REDUNDANCY`
13900
13975
  # storage classes. For more information, about storage classes see
13901
- # [Storage Classes][10] in the *Amazon S3 User Guide*.
13976
+ # [Storage Classes][9] in the *Amazon S3 User Guide*.
13902
13977
  #
13903
13978
  #
13904
13979
  #
13905
13980
  # **Special Errors**
13906
13981
  #
13907
13982
  # For a list of special errors for this operation, see [List of SELECT
13908
- # Object Content Error Codes][11]
13983
+ # Object Content Error Codes][10]
13909
13984
  #
13910
13985
  # **Related Resources**
13911
13986
  #
13912
- # * [GetObject][5]
13987
+ # * [GetObject][4]
13913
13988
  #
13914
- # * [GetBucketLifecycleConfiguration][12]
13989
+ # * [GetBucketLifecycleConfiguration][11]
13915
13990
  #
13916
- # * [PutBucketLifecycleConfiguration][13]
13991
+ # * [PutBucketLifecycleConfiguration][12]
13917
13992
  #
13918
13993
  #
13919
13994
  #
13920
13995
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html
13921
13996
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html
13922
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html
13923
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
13924
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
13925
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
13926
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
13927
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
13928
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
13929
- # [10]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro
13930
- # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
13931
- # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
13932
- # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
13997
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
13998
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
13999
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
14000
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
14001
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html
14002
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange
14003
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro
14004
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList
14005
+ # [11]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
14006
+ # [12]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
13933
14007
  #
13934
14008
  # @option params [required, String] :bucket
13935
14009
  # The S3 bucket.
@@ -14279,27 +14353,35 @@ module Aws::S3
14279
14353
  # upload API, go to [Multipart Upload and Permissions][6] in the *Amazon
14280
14354
  # S3 User Guide*.
14281
14355
  #
14282
- # You can optionally request server-side encryption where Amazon S3
14356
+ # Server-side encryption is for data encryption at rest. Amazon S3
14283
14357
  # encrypts your data as it writes it to disks in its data centers and
14284
- # decrypts it for you when you access it. You have the option of
14285
- # providing your own encryption key, or you can use the Amazon Web
14286
- # Services managed encryption keys. If you choose to provide your own
14358
+ # decrypts it when you access it. You have three mutually exclusive
14359
+ # options to protect data using server-side encryption in Amazon S3,
14360
+ # depending on how you choose to manage the encryption keys.
14361
+ # Specifically, the encryption key options are Amazon S3 managed keys
14362
+ # (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and
14363
+ # Customer-Provided Keys (SSE-C). Amazon S3 encrypts data with
14364
+ # server-side encryption using Amazon S3 managed keys (SSE-S3) by
14365
+ # default. You can optionally tell Amazon S3 to encrypt data at rest
14366
+ # using server-side encryption with other key options. The option you
14367
+ # use depends on whether you want to use KMS keys (SSE-KMS) or provide
14368
+ # your own encryption key (SSE-C). If you choose to provide your own
14287
14369
  # encryption key, the request headers you provide in the request must
14288
14370
  # match the headers you used in the request to initiate the upload by
14289
14371
  # using [CreateMultipartUpload][2]. For more information, go to [Using
14290
14372
  # Server-Side Encryption][7] in the *Amazon S3 User Guide*.
14291
14373
  #
14292
14374
  # Server-side encryption is supported by the S3 Multipart Upload
14293
- # actions. Unless you are using a customer-provided encryption key, you
14294
- # don't need to specify the encryption parameters in each UploadPart
14295
- # request. Instead, you only need to specify the server-side encryption
14296
- # parameters in the initial Initiate Multipart request. For more
14297
- # information, see [CreateMultipartUpload][2].
14375
+ # actions. Unless you are using a customer-provided encryption key
14376
+ # (SSE-C), you don't need to specify the encryption parameters in each
14377
+ # UploadPart request. Instead, you only need to specify the server-side
14378
+ # encryption parameters in the initial Initiate Multipart request. For
14379
+ # more information, see [CreateMultipartUpload][2].
14298
14380
  #
14299
14381
  # If you requested server-side encryption using a customer-provided
14300
- # encryption key in your initiate multipart upload request, you must
14301
- # provide identical encryption information in each part upload using the
14302
- # following headers.
14382
+ # encryption key (SSE-C) in your initiate multipart upload request, you
14383
+ # must provide identical encryption information in each part upload
14384
+ # using the following headers.
14303
14385
  #
14304
14386
  # * x-amz-server-side-encryption-customer-algorithm
14305
14387
  #
@@ -14359,14 +14441,14 @@ module Aws::S3
14359
14441
  # name. For more information about access point ARNs, see [Using access
14360
14442
  # points][1] in the *Amazon S3 User Guide*.
14361
14443
  #
14362
- # When using this action with Amazon S3 on Outposts, you must direct
14444
+ # When you use this action with Amazon S3 on Outposts, you must direct
14363
14445
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
14364
14446
  # takes the form `
14365
14447
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
14366
- # When using this action with S3 on Outposts through the Amazon Web
14367
- # Services SDKs, you provide the Outposts bucket ARN in place of the
14368
- # bucket name. For more information about S3 on Outposts ARNs, see
14369
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
14448
+ # When you use this action with S3 on Outposts through the Amazon Web
14449
+ # Services SDKs, you provide the Outposts access point ARN in place of
14450
+ # the bucket name. For more information about S3 on Outposts ARNs, see
14451
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
14370
14452
  #
14371
14453
  #
14372
14454
  #
@@ -14709,14 +14791,14 @@ module Aws::S3
14709
14791
  # name. For more information about access point ARNs, see [Using access
14710
14792
  # points][1] in the *Amazon S3 User Guide*.
14711
14793
  #
14712
- # When using this action with Amazon S3 on Outposts, you must direct
14794
+ # When you use this action with Amazon S3 on Outposts, you must direct
14713
14795
  # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
14714
14796
  # takes the form `
14715
14797
  # AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com`.
14716
- # When using this action with S3 on Outposts through the Amazon Web
14717
- # Services SDKs, you provide the Outposts bucket ARN in place of the
14718
- # bucket name. For more information about S3 on Outposts ARNs, see
14719
- # [Using Amazon S3 on Outposts][2] in the *Amazon S3 User Guide*.
14798
+ # When you use this action with S3 on Outposts through the Amazon Web
14799
+ # Services SDKs, you provide the Outposts access point ARN in place of
14800
+ # the bucket name. For more information about S3 on Outposts ARNs, see
14801
+ # [What is S3 on Outposts][2] in the *Amazon S3 User Guide*.
14720
14802
  #
14721
14803
  #
14722
14804
  #
@@ -14866,45 +14948,45 @@ module Aws::S3
14866
14948
  # * {Types::UploadPartCopyOutput#request_charged #request_charged} => String
14867
14949
  #
14868
14950
  #
14869
- # @example Example: To upload a part by copying byte range from an existing object as data source
14951
+ # @example Example: To upload a part by copying data from an existing object as data source
14870
14952
  #
14871
- # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
14872
- # # data source.
14953
+ # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
14873
14954
  #
14874
14955
  # resp = client.upload_part_copy({
14875
14956
  # bucket: "examplebucket",
14876
14957
  # copy_source: "/bucketname/sourceobjectkey",
14877
- # copy_source_range: "bytes=1-100000",
14878
14958
  # key: "examplelargeobject",
14879
- # part_number: 2,
14959
+ # part_number: 1,
14880
14960
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
14881
14961
  # })
14882
14962
  #
14883
14963
  # resp.to_h outputs the following:
14884
14964
  # {
14885
14965
  # copy_part_result: {
14886
- # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
14887
- # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
14966
+ # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
14967
+ # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
14888
14968
  # },
14889
14969
  # }
14890
14970
  #
14891
- # @example Example: To upload a part by copying data from an existing object as data source
14971
+ # @example Example: To upload a part by copying byte range from an existing object as data source
14892
14972
  #
14893
- # # The following example uploads a part of a multipart upload by copying data from an existing object as data source.
14973
+ # # The following example uploads a part of a multipart upload by copying a specified byte range from an existing object as
14974
+ # # data source.
14894
14975
  #
14895
14976
  # resp = client.upload_part_copy({
14896
14977
  # bucket: "examplebucket",
14897
14978
  # copy_source: "/bucketname/sourceobjectkey",
14979
+ # copy_source_range: "bytes=1-100000",
14898
14980
  # key: "examplelargeobject",
14899
- # part_number: 1,
14981
+ # part_number: 2,
14900
14982
  # upload_id: "exampleuoh_10OhKhT7YukE9bjzTPRiuaCotmZM_pFngJFir9OZNrSr5cWa3cq3LZSUsfjI4FI7PkP91We7Nrw--",
14901
14983
  # })
14902
14984
  #
14903
14985
  # resp.to_h outputs the following:
14904
14986
  # {
14905
14987
  # copy_part_result: {
14906
- # etag: "\"b0c6f0e7e054ab8fa2536a2677f8734d\"",
14907
- # last_modified: Time.parse("2016-12-29T21:24:43.000Z"),
14988
+ # etag: "\"65d16d19e65a7508a51f043180edcc36\"",
14989
+ # last_modified: Time.parse("2016-12-29T21:44:28.000Z"),
14908
14990
  # },
14909
14991
  # }
14910
14992
  #
@@ -15240,7 +15322,7 @@ module Aws::S3
15240
15322
  #
15241
15323
  # @option params [String] :server_side_encryption
15242
15324
  # The server-side encryption algorithm used when storing requested
15243
- # object in Amazon S3 (for example, AES256, aws:kms).
15325
+ # object in Amazon S3 (for example, AES256, `aws:kms`).
15244
15326
  #
15245
15327
  # @option params [String] :sse_customer_algorithm
15246
15328
  # Encryption algorithm used if server-side encryption with a
@@ -15249,8 +15331,8 @@ module Aws::S3
15249
15331
  #
15250
15332
  # @option params [String] :ssekms_key_id
15251
15333
  # If present, specifies the ID of the Amazon Web Services Key Management
15252
- # Service (Amazon Web Services KMS) symmetric customer managed key that
15253
- # was used for stored in Amazon S3 object.
15334
+ # Service (Amazon Web Services KMS) symmetric encryption customer
15335
+ # managed key that was used for stored in Amazon S3 object.
15254
15336
  #
15255
15337
  # @option params [String] :sse_customer_key_md5
15256
15338
  # 128-bit MD5 digest of customer-provided encryption key used in Amazon
@@ -15354,7 +15436,7 @@ module Aws::S3
15354
15436
  params: params,
15355
15437
  config: config)
15356
15438
  context[:gem_name] = 'aws-sdk-s3'
15357
- context[:gem_version] = '1.119.2'
15439
+ context[:gem_version] = '1.120.0'
15358
15440
  Seahorse::Client::Request.new(handlers, context)
15359
15441
  end
15360
15442