aws-sdk-s3 1.119.2 → 1.120.0

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