aws-sdk-s3 1.81.1 → 1.84.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1383d33fca1cdcc02dcc27f3212520bc5e37fe31fd61c93f8f287762abc946e5
4
- data.tar.gz: 80ade75ea2ee0413a1ada8cf8c0fd288908d75136fba8011153be0ce6d3525a8
3
+ metadata.gz: 6ff4352e5e70697da613eeb5eec4054645a60fd936ca0024764e5b85e0e1b8cc
4
+ data.tar.gz: c557b42a3ba8ab9f83b7d33ff721e018fd00b709bd42c82d1755297374fd4601
5
5
  SHA512:
6
- metadata.gz: 73842a2a7026c2dc54c46bfd96adaaa502db0d377e8b96347468d6213c3fad20dc139c4b7767051233b34c8bc9c5b124948dc05e521981b32eb42b53b7a6ebc1
7
- data.tar.gz: 1c93ff2c76d38e188ad9e6f6a8fa445e9da5ef2bf6df0a6920c7189cd3f4e4d0f3c0c3ce917e1208ac17058e9a6b62edb3c7c82c1aee8a264774ca93089d2660
6
+ metadata.gz: 38c719216cb05f94ec1f238db3a6a79be523eccf8e7e0510acf1dd53f163ac462468d1e0c985579476eed7ebaca9691ab032a11495a92355b40ddf0dee2a2225
7
+ data.tar.gz: 80091bcad3210f6d53656a13a5fb69afd570bc0c6e6c8dc216e92810ba9f3556b9cc67974bdef1545f2421d72ffa2ae4183c55db0a54388d88fb0271e2a9ae99
@@ -69,6 +69,6 @@ require_relative 'aws-sdk-s3/event_streams'
69
69
  # @!group service
70
70
  module Aws::S3
71
71
 
72
- GEM_VERSION = '1.81.1'
72
+ GEM_VERSION = '1.84.0'
73
73
 
74
74
  end
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Aws
4
+ module S3
5
+ # @api private
6
+ class AccessPointARN < Aws::ARN
7
+ def initialize(options)
8
+ super(options)
9
+ @type, @access_point_name, @extra = @resource.split(/[:,\/]/)
10
+ end
11
+
12
+ attr_reader :access_point_name
13
+
14
+ def support_dualstack?
15
+ true
16
+ end
17
+
18
+ def support_fips?
19
+ true
20
+ end
21
+
22
+ def validate_arn!
23
+ unless @service == 's3'
24
+ raise ArgumentError, 'Must provide a valid S3 accesspoint ARN.'
25
+ end
26
+
27
+ if @region.empty? || @account_id.empty?
28
+ raise ArgumentError,
29
+ 'S3 accesspoint ARNs must contain both a region '\
30
+ 'and an account id.'
31
+ end
32
+
33
+ if @type != 'accesspoint'
34
+ raise ArgumentError, 'Invalid ARN, resource format is not correct'
35
+ end
36
+
37
+ if @access_point_name.nil? || @access_point_name.empty?
38
+ raise ArgumentError, 'Missing ARN accesspoint name.'
39
+ end
40
+
41
+ if @extra
42
+ raise ArgumentError,
43
+ 'ARN accesspoint resource must be a single value.'
44
+ end
45
+
46
+ unless Seahorse::Util.host_label?(
47
+ "#{@access_point_name}-#{@account_id}"
48
+ )
49
+ raise ArgumentError,
50
+ "#{@access_point_name}-#{@account_id} is not a valid "\
51
+ 'host label.'
52
+ end
53
+ end
54
+
55
+ def host_url(region, dualstack = false)
56
+ sfx = Aws::Partitions::EndpointProvider.dns_suffix_for(region)
57
+ "#{@access_point_name}-#{@account_id}"\
58
+ ".s3-accesspoint#{'.dualstack' if dualstack}.#{region}.#{sfx}"
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Aws
4
+ module S3
5
+ # @api private
6
+ class OutpostAccessPointARN < Aws::ARN
7
+ def initialize(options)
8
+ super(options)
9
+ @type, @outpost_id, @subtype, @access_point_name, @extra =
10
+ @resource.split(/[:,\/]/)
11
+ end
12
+
13
+ attr_reader :outpost_id, :access_point_name
14
+
15
+ def support_dualstack?
16
+ false
17
+ end
18
+
19
+ def support_fips?
20
+ false
21
+ end
22
+
23
+ def validate_arn!
24
+ unless @service == 's3-outposts'
25
+ raise ArgumentError, 'Must provide a valid S3 outposts ARN.'
26
+ end
27
+
28
+ if @region.empty? || @account_id.empty?
29
+ raise ArgumentError,
30
+ 'S3 accesspoint ARNs must contain both a region '\
31
+ 'and an account id.'
32
+ end
33
+
34
+ if @type != 'outpost' && @subtype != 'accesspoint'
35
+ raise ArgumentError, 'Invalid ARN, resource format is not correct'
36
+ end
37
+
38
+ if @outpost_id.nil? || @outpost_id.empty?
39
+ raise ArgumentError, 'Missing ARN outpost id.'
40
+ end
41
+
42
+ if @access_point_name.nil? || @access_point_name.empty?
43
+ raise ArgumentError, 'Missing ARN accesspoint name.'
44
+ end
45
+
46
+ if @extra
47
+ raise ArgumentError,
48
+ 'ARN accesspoint resource must be a single value.'
49
+ end
50
+
51
+ unless Seahorse::Util.host_label?(
52
+ "#{@access_point_name}-#{@account_id}"
53
+ )
54
+ raise ArgumentError,
55
+ "#{@access_point_name}-#{@account_id} is not a valid "\
56
+ 'host label.'
57
+ end
58
+
59
+ unless Seahorse::Util.host_label?(@outpost_id)
60
+ raise ArgumentError, "#{@outpost_id} is not a valid host label."
61
+ end
62
+ end
63
+
64
+ # Outpost ARNs currently do not support dualstack
65
+ def host_url(region, _dualstack = false)
66
+ "#{@access_point_name}-#{@account_id}.#{@outpost_id}"\
67
+ ".s3-outposts.#{region}.amazonaws.com"
68
+ end
69
+ end
70
+ end
71
+ end
@@ -347,7 +347,7 @@ module Aws::S3
347
347
  # "MetadataKey" => "MetadataValue",
348
348
  # },
349
349
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
350
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
350
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
351
351
  # website_redirect_location: "WebsiteRedirectLocation",
352
352
  # sse_customer_algorithm: "SSECustomerAlgorithm",
353
353
  # sse_customer_key: "SSECustomerKey",
@@ -366,6 +366,8 @@ module Aws::S3
366
366
  # The canned ACL to apply to the object. For more information, see
367
367
  # [Canned ACL][1].
368
368
  #
369
+ # This action is not supported by Amazon S3 on Outposts.
370
+ #
369
371
  #
370
372
  #
371
373
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
@@ -437,12 +439,20 @@ module Aws::S3
437
439
  # @option options [String] :grant_full_control
438
440
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
439
441
  # object.
442
+ #
443
+ # This action is not supported by Amazon S3 on Outposts.
440
444
  # @option options [String] :grant_read
441
445
  # Allows grantee to read the object data and its metadata.
446
+ #
447
+ # This action is not supported by Amazon S3 on Outposts.
442
448
  # @option options [String] :grant_read_acp
443
449
  # Allows grantee to read the object ACL.
450
+ #
451
+ # This action is not supported by Amazon S3 on Outposts.
444
452
  # @option options [String] :grant_write_acp
445
453
  # Allows grantee to write the ACL for the applicable object.
454
+ #
455
+ # This action is not supported by Amazon S3 on Outposts.
446
456
  # @option options [required, String] :key
447
457
  # Object key for which the PUT operation was initiated.
448
458
  # @option options [Hash<String,String>] :metadata
@@ -451,8 +461,16 @@ module Aws::S3
451
461
  # The server-side encryption algorithm used when storing this object in
452
462
  # Amazon S3 (for example, AES256, aws:kms).
453
463
  # @option options [String] :storage_class
454
- # If you don't specify, S3 Standard is the default storage class.
455
- # Amazon S3 supports other storage classes.
464
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
465
+ # created objects. The STANDARD storage class provides high durability
466
+ # and high availability. Depending on performance needs, you can specify
467
+ # a different Storage Class. Amazon S3 on Outposts only uses the
468
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
469
+ # in the *Amazon S3 Service Developer Guide*.
470
+ #
471
+ #
472
+ #
473
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
456
474
  # @option options [String] :website_redirect_location
457
475
  # If the bucket is configured as a website, redirects requests for this
458
476
  # object to another object in the same bucket or to an external URL.
@@ -28,23 +28,23 @@ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/protocols/rest_xml.rb'
31
- require 'aws-sdk-s3/plugins/iad_regional_endpoint.rb'
32
31
  require 'aws-sdk-s3/plugins/accelerate.rb'
33
- require 'aws-sdk-s3/plugins/dualstack.rb'
34
- require 'aws-sdk-s3/plugins/bucket_arn.rb'
32
+ require 'aws-sdk-s3/plugins/arn.rb'
35
33
  require 'aws-sdk-s3/plugins/bucket_dns.rb'
34
+ require 'aws-sdk-s3/plugins/bucket_name_restrictions.rb'
35
+ require 'aws-sdk-s3/plugins/dualstack.rb'
36
36
  require 'aws-sdk-s3/plugins/expect_100_continue.rb'
37
- require 'aws-sdk-s3/plugins/http_200_errors.rb'
38
- require 'aws-sdk-s3/plugins/s3_host_id.rb'
39
37
  require 'aws-sdk-s3/plugins/get_bucket_location_fix.rb'
38
+ require 'aws-sdk-s3/plugins/http_200_errors.rb'
39
+ require 'aws-sdk-s3/plugins/iad_regional_endpoint.rb'
40
40
  require 'aws-sdk-s3/plugins/location_constraint.rb'
41
41
  require 'aws-sdk-s3/plugins/md5s.rb'
42
42
  require 'aws-sdk-s3/plugins/redirects.rb'
43
- require 'aws-sdk-s3/plugins/sse_cpk.rb'
44
- require 'aws-sdk-s3/plugins/url_encoded_keys.rb'
43
+ require 'aws-sdk-s3/plugins/s3_host_id.rb'
45
44
  require 'aws-sdk-s3/plugins/s3_signer.rb'
46
- require 'aws-sdk-s3/plugins/bucket_name_restrictions.rb'
45
+ require 'aws-sdk-s3/plugins/sse_cpk.rb'
47
46
  require 'aws-sdk-s3/plugins/streaming_retry.rb'
47
+ require 'aws-sdk-s3/plugins/url_encoded_keys.rb'
48
48
  require 'aws-sdk-core/plugins/event_stream_configuration.rb'
49
49
 
50
50
  Aws::Plugins::GlobalConfiguration.add_identifier(:s3)
@@ -91,23 +91,23 @@ module Aws::S3
91
91
  add_plugin(Aws::Plugins::TransferEncoding)
92
92
  add_plugin(Aws::Plugins::HttpChecksum)
93
93
  add_plugin(Aws::Plugins::Protocols::RestXml)
94
- add_plugin(Aws::S3::Plugins::IADRegionalEndpoint)
95
94
  add_plugin(Aws::S3::Plugins::Accelerate)
96
- add_plugin(Aws::S3::Plugins::Dualstack)
97
- add_plugin(Aws::S3::Plugins::BucketARN)
95
+ add_plugin(Aws::S3::Plugins::ARN)
98
96
  add_plugin(Aws::S3::Plugins::BucketDns)
97
+ add_plugin(Aws::S3::Plugins::BucketNameRestrictions)
98
+ add_plugin(Aws::S3::Plugins::Dualstack)
99
99
  add_plugin(Aws::S3::Plugins::Expect100Continue)
100
- add_plugin(Aws::S3::Plugins::Http200Errors)
101
- add_plugin(Aws::S3::Plugins::S3HostId)
102
100
  add_plugin(Aws::S3::Plugins::GetBucketLocationFix)
101
+ add_plugin(Aws::S3::Plugins::Http200Errors)
102
+ add_plugin(Aws::S3::Plugins::IADRegionalEndpoint)
103
103
  add_plugin(Aws::S3::Plugins::LocationConstraint)
104
104
  add_plugin(Aws::S3::Plugins::Md5s)
105
105
  add_plugin(Aws::S3::Plugins::Redirects)
106
- add_plugin(Aws::S3::Plugins::SseCpk)
107
- add_plugin(Aws::S3::Plugins::UrlEncodedKeys)
106
+ add_plugin(Aws::S3::Plugins::S3HostId)
108
107
  add_plugin(Aws::S3::Plugins::S3Signer)
109
- add_plugin(Aws::S3::Plugins::BucketNameRestrictions)
108
+ add_plugin(Aws::S3::Plugins::SseCpk)
110
109
  add_plugin(Aws::S3::Plugins::StreamingRetry)
110
+ add_plugin(Aws::S3::Plugins::UrlEncodedKeys)
111
111
  add_plugin(Aws::Plugins::EventStreamConfiguration)
112
112
 
113
113
  # @overload initialize(options)
@@ -330,9 +330,9 @@ module Aws::S3
330
330
  # region. Defaults to `legacy` mode using global endpoint.
331
331
  #
332
332
  # @option options [Boolean] :s3_use_arn_region (true)
333
- # By default, the SDK will use the S3 ARN region, and cross-region
334
- # requests could be made. Set to `false` to not use the region from
335
- # the S3 ARN.
333
+ # For S3 ARNs passed into the `:bucket` parameter, this option will
334
+ # use the region in the ARN, allowing for cross-region requests to
335
+ # be made. Set to `false` to use the client's region instead.
336
336
  #
337
337
  # @option options [String] :secret_access_key
338
338
  #
@@ -450,14 +450,24 @@ module Aws::S3
450
450
  # When using this API with an access point, you must direct requests to
451
451
  # the access point hostname. The access point hostname takes the form
452
452
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
453
- # When using this operation using an access point through the AWS SDKs,
453
+ # When using this operation with an access point through the AWS SDKs,
454
454
  # you provide the access point ARN in place of the bucket name. For more
455
455
  # information about access point ARNs, see [Using Access Points][1] in
456
456
  # the *Amazon Simple Storage Service Developer Guide*.
457
457
  #
458
+ # When using this API with Amazon S3 on Outposts, you must direct
459
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
460
+ # takes the form
461
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
462
+ # When using this operation using S3 on Outposts through the AWS SDKs,
463
+ # you provide the Outposts bucket ARN in place of the bucket name. For
464
+ # more information about S3 on Outposts ARNs, see [Using S3 on
465
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
466
+ #
458
467
  #
459
468
  #
460
469
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
470
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
461
471
  #
462
472
  # @option params [required, String] :key
463
473
  # Key of the object for which the multipart upload was initiated.
@@ -903,9 +913,33 @@ module Aws::S3
903
913
  # @option params [String] :acl
904
914
  # The canned ACL to apply to the object.
905
915
  #
916
+ # This action is not supported by Amazon S3 on Outposts.
917
+ #
906
918
  # @option params [required, String] :bucket
907
919
  # The name of the destination bucket.
908
920
  #
921
+ # When using this API with an access point, you must direct requests to
922
+ # the access point hostname. The access point hostname takes the form
923
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
924
+ # When using this operation with an access point through the AWS SDKs,
925
+ # you provide the access point ARN in place of the bucket name. For more
926
+ # information about access point ARNs, see [Using Access Points][1] in
927
+ # the *Amazon Simple Storage Service Developer Guide*.
928
+ #
929
+ # When using this API with Amazon S3 on Outposts, you must direct
930
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
931
+ # takes the form
932
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
933
+ # When using this operation using S3 on Outposts through the AWS SDKs,
934
+ # you provide the Outposts bucket ARN in place of the bucket name. For
935
+ # more information about S3 on Outposts ARNs, see [Using S3 on
936
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
937
+ #
938
+ #
939
+ #
940
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
941
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
942
+ #
909
943
  # @option params [String] :cache_control
910
944
  # Specifies caching behavior along the request/reply chain.
911
945
  #
@@ -950,6 +984,15 @@ module Aws::S3
950
984
  #
951
985
  # </note>
952
986
  #
987
+ # Alternatively, for objects accessed through Amazon S3 on Outposts,
988
+ # specify the ARN of the object as accessed in the format
989
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key>`.
990
+ # For example, to copy the object `reports/january.pdf` through
991
+ # outpost `my-outpost` owned by account `123456789012` in Region
992
+ # `us-west-2`, use the URL encoding of
993
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
994
+ # The value must be URL encoded.
995
+ #
953
996
  # To copy a specific version of an object, append
954
997
  # `?versionId=<version-id>` to the value (for example,
955
998
  # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
@@ -981,15 +1024,23 @@ module Aws::S3
981
1024
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
982
1025
  # object.
983
1026
  #
1027
+ # This action is not supported by Amazon S3 on Outposts.
1028
+ #
984
1029
  # @option params [String] :grant_read
985
1030
  # Allows grantee to read the object data and its metadata.
986
1031
  #
1032
+ # This action is not supported by Amazon S3 on Outposts.
1033
+ #
987
1034
  # @option params [String] :grant_read_acp
988
1035
  # Allows grantee to read the object ACL.
989
1036
  #
1037
+ # This action is not supported by Amazon S3 on Outposts.
1038
+ #
990
1039
  # @option params [String] :grant_write_acp
991
1040
  # Allows grantee to write the ACL for the applicable object.
992
1041
  #
1042
+ # This action is not supported by Amazon S3 on Outposts.
1043
+ #
993
1044
  # @option params [required, String] :key
994
1045
  # The key of the destination object.
995
1046
  #
@@ -1009,7 +1060,16 @@ module Aws::S3
1009
1060
  # Amazon S3 (for example, AES256, aws:kms).
1010
1061
  #
1011
1062
  # @option params [String] :storage_class
1012
- # The type of storage to use for the object. Defaults to 'STANDARD'.
1063
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
1064
+ # created objects. The STANDARD storage class provides high durability
1065
+ # and high availability. Depending on performance needs, you can specify
1066
+ # a different Storage Class. Amazon S3 on Outposts only uses the
1067
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
1068
+ # in the *Amazon S3 Service Developer Guide*.
1069
+ #
1070
+ #
1071
+ #
1072
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
1013
1073
  #
1014
1074
  # @option params [String] :website_redirect_location
1015
1075
  # If the bucket is configured as a website, redirects requests for this
@@ -1158,7 +1218,7 @@ module Aws::S3
1158
1218
  # metadata_directive: "COPY", # accepts COPY, REPLACE
1159
1219
  # tagging_directive: "COPY", # accepts COPY, REPLACE
1160
1220
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
1161
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
1221
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
1162
1222
  # website_redirect_location: "WebsiteRedirectLocation",
1163
1223
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1164
1224
  # sse_customer_key: "SSECustomerKey",
@@ -1200,21 +1260,23 @@ module Aws::S3
1200
1260
  req.send_request(options)
1201
1261
  end
1202
1262
 
1203
- # Creates a new bucket. To create a bucket, you must register with
1263
+ # Creates a new S3 bucket. To create a bucket, you must register with
1204
1264
  # Amazon S3 and have a valid AWS Access Key ID to authenticate requests.
1205
1265
  # Anonymous requests are never allowed to create buckets. By creating
1206
1266
  # the bucket, you become the bucket owner.
1207
1267
  #
1208
- # Not every string is an acceptable bucket name. For information on
1209
- # bucket naming restrictions, see [Working with Amazon S3 Buckets][1].
1268
+ # Not every string is an acceptable bucket name. For information about
1269
+ # bucket naming restrictions, see [Working with Amazon S3 buckets][1].
1270
+ #
1271
+ # If you want to create an Amazon S3 on Outposts bucket, see [Create
1272
+ # Bucket][2].
1210
1273
  #
1211
1274
  # By default, the bucket is created in the US East (N. Virginia) Region.
1212
1275
  # You can optionally specify a Region in the request body. You might
1213
1276
  # choose a Region to optimize latency, minimize costs, or address
1214
1277
  # regulatory requirements. For example, if you reside in Europe, you
1215
1278
  # will probably find it advantageous to create buckets in the Europe
1216
- # (Ireland) Region. For more information, see [How to Select a Region
1217
- # for Your Buckets][2].
1279
+ # (Ireland) Region. For more information, see [Accessing a bucket][3].
1218
1280
  #
1219
1281
  # <note markdown="1"> If you send your create bucket request to the `s3.amazonaws.com`
1220
1282
  # endpoint, the request goes to the us-east-1 Region. Accordingly, the
@@ -1223,7 +1285,7 @@ module Aws::S3
1223
1285
  # another Region where the bucket is to be created. If you create a
1224
1286
  # bucket in a Region other than US East (N. Virginia), your application
1225
1287
  # must be able to handle 307 redirect. For more information, see
1226
- # [Virtual Hosting of Buckets][3].
1288
+ # [Virtual hosting of buckets][4].
1227
1289
  #
1228
1290
  # </note>
1229
1291
  #
@@ -1235,14 +1297,14 @@ module Aws::S3
1235
1297
  # * Specify a canned ACL using the `x-amz-acl` request header. Amazon S3
1236
1298
  # supports a set of predefined ACLs, known as *canned ACLs*. Each
1237
1299
  # canned ACL has a predefined set of grantees and permissions. For
1238
- # more information, see [Canned ACL][4].
1300
+ # more information, see [Canned ACL][5].
1239
1301
  #
1240
1302
  # * Specify access permissions explicitly using the `x-amz-grant-read`,
1241
1303
  # `x-amz-grant-write`, `x-amz-grant-read-acp`,
1242
1304
  # `x-amz-grant-write-acp`, and `x-amz-grant-full-control` headers.
1243
1305
  # These headers map to the set of permissions Amazon S3 supports in an
1244
- # ACL. For more information, see [Access Control List (ACL)
1245
- # Overview][5].
1306
+ # ACL. For more information, see [Access control list (ACL)
1307
+ # overview][6].
1246
1308
  #
1247
1309
  # You specify each grantee as a type=value pair, where the type is one
1248
1310
  # of the following:
@@ -1275,7 +1337,7 @@ module Aws::S3
1275
1337
  # * South America (São Paulo)
1276
1338
  #
1277
1339
  # For a list of all the Amazon S3 supported Regions and endpoints,
1278
- # see [Regions and Endpoints][6] in the AWS General Reference.
1340
+ # see [Regions and Endpoints][7] in the AWS General Reference.
1279
1341
  #
1280
1342
  # </note>
1281
1343
  #
@@ -1292,20 +1354,21 @@ module Aws::S3
1292
1354
  #
1293
1355
  # The following operations are related to `CreateBucket`\:
1294
1356
  #
1295
- # * [PutObject][7]
1357
+ # * [PutObject][8]
1296
1358
  #
1297
- # * [DeleteBucket][8]
1359
+ # * [DeleteBucket][9]
1298
1360
  #
1299
1361
  #
1300
1362
  #
1301
1363
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html
1302
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro
1303
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
1304
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
1305
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
1306
- # [6]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
1307
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1308
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
1364
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html
1365
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro
1366
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
1367
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
1368
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
1369
+ # [7]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
1370
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
1371
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
1309
1372
  #
1310
1373
  # @option params [String] :acl
1311
1374
  # The canned ACL to apply to the bucket.
@@ -1342,33 +1405,33 @@ module Aws::S3
1342
1405
  # * {Types::CreateBucketOutput#location #location} => String
1343
1406
  #
1344
1407
  #
1345
- # @example Example: To create a bucket
1408
+ # @example Example: To create a bucket in a specific region
1346
1409
  #
1347
- # # The following example creates a bucket.
1410
+ # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1348
1411
  #
1349
1412
  # resp = client.create_bucket({
1350
1413
  # bucket: "examplebucket",
1414
+ # create_bucket_configuration: {
1415
+ # location_constraint: "eu-west-1",
1416
+ # },
1351
1417
  # })
1352
1418
  #
1353
1419
  # resp.to_h outputs the following:
1354
1420
  # {
1355
- # location: "/examplebucket",
1421
+ # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1356
1422
  # }
1357
1423
  #
1358
- # @example Example: To create a bucket in a specific region
1424
+ # @example Example: To create a bucket
1359
1425
  #
1360
- # # The following example creates a bucket. The request specifies an AWS region where to create the bucket.
1426
+ # # The following example creates a bucket.
1361
1427
  #
1362
1428
  # resp = client.create_bucket({
1363
1429
  # bucket: "examplebucket",
1364
- # create_bucket_configuration: {
1365
- # location_constraint: "eu-west-1",
1366
- # },
1367
1430
  # })
1368
1431
  #
1369
1432
  # resp.to_h outputs the following:
1370
1433
  # {
1371
- # location: "http://examplebucket.<Region>.s3.amazonaws.com/",
1434
+ # location: "/examplebucket",
1372
1435
  # }
1373
1436
  #
1374
1437
  # @example Request syntax with placeholder values
@@ -1636,9 +1699,33 @@ module Aws::S3
1636
1699
  # @option params [String] :acl
1637
1700
  # The canned ACL to apply to the object.
1638
1701
  #
1702
+ # This action is not supported by Amazon S3 on Outposts.
1703
+ #
1639
1704
  # @option params [required, String] :bucket
1640
1705
  # The name of the bucket to which to initiate the upload
1641
1706
  #
1707
+ # When using this API with an access point, you must direct requests to
1708
+ # the access point hostname. The access point hostname takes the form
1709
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
1710
+ # When using this operation with an access point through the AWS SDKs,
1711
+ # you provide the access point ARN in place of the bucket name. For more
1712
+ # information about access point ARNs, see [Using Access Points][1] in
1713
+ # the *Amazon Simple Storage Service Developer Guide*.
1714
+ #
1715
+ # When using this API with Amazon S3 on Outposts, you must direct
1716
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1717
+ # takes the form
1718
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
1719
+ # When using this operation using S3 on Outposts through the AWS SDKs,
1720
+ # you provide the Outposts bucket ARN in place of the bucket name. For
1721
+ # more information about S3 on Outposts ARNs, see [Using S3 on
1722
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
1723
+ #
1724
+ #
1725
+ #
1726
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
1727
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1728
+ #
1642
1729
  # @option params [String] :cache_control
1643
1730
  # Specifies caching behavior along the request/reply chain.
1644
1731
  #
@@ -1663,15 +1750,23 @@ module Aws::S3
1663
1750
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
1664
1751
  # object.
1665
1752
  #
1753
+ # This action is not supported by Amazon S3 on Outposts.
1754
+ #
1666
1755
  # @option params [String] :grant_read
1667
1756
  # Allows grantee to read the object data and its metadata.
1668
1757
  #
1758
+ # This action is not supported by Amazon S3 on Outposts.
1759
+ #
1669
1760
  # @option params [String] :grant_read_acp
1670
1761
  # Allows grantee to read the object ACL.
1671
1762
  #
1763
+ # This action is not supported by Amazon S3 on Outposts.
1764
+ #
1672
1765
  # @option params [String] :grant_write_acp
1673
1766
  # Allows grantee to write the ACL for the applicable object.
1674
1767
  #
1768
+ # This action is not supported by Amazon S3 on Outposts.
1769
+ #
1675
1770
  # @option params [required, String] :key
1676
1771
  # Object key for which the multipart upload is to be initiated.
1677
1772
  #
@@ -1683,7 +1778,16 @@ module Aws::S3
1683
1778
  # Amazon S3 (for example, AES256, aws:kms).
1684
1779
  #
1685
1780
  # @option params [String] :storage_class
1686
- # The type of storage to use for the object. Defaults to 'STANDARD'.
1781
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
1782
+ # created objects. The STANDARD storage class provides high durability
1783
+ # and high availability. Depending on performance needs, you can specify
1784
+ # a different Storage Class. Amazon S3 on Outposts only uses the
1785
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
1786
+ # in the *Amazon S3 Service Developer Guide*.
1787
+ #
1788
+ #
1789
+ #
1790
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
1687
1791
  #
1688
1792
  # @option params [String] :website_redirect_location
1689
1793
  # If the bucket is configured as a website, redirects requests for this
@@ -1805,7 +1909,7 @@ module Aws::S3
1805
1909
  # "MetadataKey" => "MetadataValue",
1806
1910
  # },
1807
1911
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
1808
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
1912
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
1809
1913
  # website_redirect_location: "WebsiteRedirectLocation",
1810
1914
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1811
1915
  # sse_customer_key: "SSECustomerKey",
@@ -1843,7 +1947,7 @@ module Aws::S3
1843
1947
  req.send_request(options)
1844
1948
  end
1845
1949
 
1846
- # Deletes the bucket. All objects (including all object versions and
1950
+ # Deletes the S3 bucket. All objects (including all object versions and
1847
1951
  # delete markers) in the bucket must be deleted before the bucket itself
1848
1952
  # can be deleted.
1849
1953
  #
@@ -2065,6 +2169,68 @@ module Aws::S3
2065
2169
  req.send_request(options)
2066
2170
  end
2067
2171
 
2172
+ # Deletes the S3 Intelligent-Tiering configuration from the specified
2173
+ # bucket.
2174
+ #
2175
+ # The S3 Intelligent-Tiering storage class is designed to optimize
2176
+ # storage costs by automatically moving data to the most cost-effective
2177
+ # storage access tier, without additional operational overhead. S3
2178
+ # Intelligent-Tiering delivers automatic cost savings by moving data
2179
+ # between access tiers, when access patterns change.
2180
+ #
2181
+ # The S3 Intelligent-Tiering storage class is suitable for objects
2182
+ # larger than 128 KB that you plan to store for at least 30 days. If the
2183
+ # size of an object is less than 128 KB, it is not eligible for
2184
+ # auto-tiering. Smaller objects can be stored, but they are always
2185
+ # charged at the frequent access tier rates in the S3
2186
+ # Intelligent-Tiering storage class.
2187
+ #
2188
+ # If you delete an object before the end of the 30-day minimum storage
2189
+ # duration period, you are charged for 30 days. For more information,
2190
+ # see [Storage class for automatically optimizing frequently and
2191
+ # infrequently accessed objects][1].
2192
+ #
2193
+ # Operations related to `DeleteBucketIntelligentTieringConfiguration`
2194
+ # include:
2195
+ #
2196
+ # * [GetBucketIntelligentTieringConfiguration][2]
2197
+ #
2198
+ # * [PutBucketIntelligentTieringConfiguration][3]
2199
+ #
2200
+ # * [ListBucketIntelligentTieringConfigurations][4]
2201
+ #
2202
+ #
2203
+ #
2204
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
2205
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html
2206
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html
2207
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html
2208
+ #
2209
+ # @option params [required, String] :bucket
2210
+ # The name of the Amazon S3 bucket whose configuration you want to
2211
+ # modify or retrieve.
2212
+ #
2213
+ # @option params [required, String] :id
2214
+ # The ID used to identify the S3 Intelligent-Tiering configuration.
2215
+ #
2216
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2217
+ #
2218
+ # @example Request syntax with placeholder values
2219
+ #
2220
+ # resp = client.delete_bucket_intelligent_tiering_configuration({
2221
+ # bucket: "BucketName", # required
2222
+ # id: "IntelligentTieringId", # required
2223
+ # })
2224
+ #
2225
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfiguration AWS API Documentation
2226
+ #
2227
+ # @overload delete_bucket_intelligent_tiering_configuration(params = {})
2228
+ # @param [Hash] params ({})
2229
+ def delete_bucket_intelligent_tiering_configuration(params = {}, options = {})
2230
+ req = build_request(:delete_bucket_intelligent_tiering_configuration, params)
2231
+ req.send_request(options)
2232
+ end
2233
+
2068
2234
  # Deletes an inventory configuration (identified by the inventory ID)
2069
2235
  # from the bucket.
2070
2236
  #
@@ -2254,6 +2420,52 @@ module Aws::S3
2254
2420
  req.send_request(options)
2255
2421
  end
2256
2422
 
2423
+ # Removes `OwnershipControls` for an Amazon S3 bucket. To use this
2424
+ # operation, you must have the `s3:PutBucketOwnershipControls`
2425
+ # permission. For more information about Amazon S3 permissions, see
2426
+ # [Specifying Permissions in a Policy][1].
2427
+ #
2428
+ # For information about Amazon S3 Object Ownership, see [Using Object
2429
+ # Ownership][2].
2430
+ #
2431
+ # The following operations are related to
2432
+ # `DeleteBucketOwnershipControls`\:
2433
+ #
2434
+ # * GetBucketOwnershipControls
2435
+ #
2436
+ # * PutBucketOwnershipControls
2437
+ #
2438
+ #
2439
+ #
2440
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
2441
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html
2442
+ #
2443
+ # @option params [required, String] :bucket
2444
+ # The Amazon S3 bucket whose `OwnershipControls` you want to delete.
2445
+ #
2446
+ # @option params [String] :expected_bucket_owner
2447
+ # The account id of the expected bucket owner. If the bucket is owned by
2448
+ # a different account, the request will fail with an HTTP `403 (Access
2449
+ # Denied)` error.
2450
+ #
2451
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2452
+ #
2453
+ # @example Request syntax with placeholder values
2454
+ #
2455
+ # resp = client.delete_bucket_ownership_controls({
2456
+ # bucket: "BucketName", # required
2457
+ # expected_bucket_owner: "AccountId",
2458
+ # })
2459
+ #
2460
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketOwnershipControls AWS API Documentation
2461
+ #
2462
+ # @overload delete_bucket_ownership_controls(params = {})
2463
+ # @param [Hash] params ({})
2464
+ def delete_bucket_ownership_controls(params = {}, options = {})
2465
+ req = build_request(:delete_bucket_ownership_controls, params)
2466
+ req.send_request(options)
2467
+ end
2468
+
2257
2469
  # This implementation of the DELETE operation uses the policy
2258
2470
  # subresource to delete the policy of a specified bucket. If you are
2259
2471
  # using an identity other than the root user of the AWS account that
@@ -2546,14 +2758,24 @@ module Aws::S3
2546
2758
  # When using this API with an access point, you must direct requests to
2547
2759
  # the access point hostname. The access point hostname takes the form
2548
2760
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
2549
- # When using this operation using an access point through the AWS SDKs,
2761
+ # When using this operation with an access point through the AWS SDKs,
2550
2762
  # you provide the access point ARN in place of the bucket name. For more
2551
2763
  # information about access point ARNs, see [Using Access Points][1] in
2552
2764
  # the *Amazon Simple Storage Service Developer Guide*.
2553
2765
  #
2766
+ # When using this API with Amazon S3 on Outposts, you must direct
2767
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
2768
+ # takes the form
2769
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
2770
+ # When using this operation using S3 on Outposts through the AWS SDKs,
2771
+ # you provide the Outposts bucket ARN in place of the bucket name. For
2772
+ # more information about S3 on Outposts ARNs, see [Using S3 on
2773
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
2774
+ #
2554
2775
  #
2555
2776
  #
2556
2777
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
2778
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2557
2779
  #
2558
2780
  # @option params [required, String] :key
2559
2781
  # Key name of the object to delete.
@@ -2672,14 +2894,24 @@ module Aws::S3
2672
2894
  # When using this API with an access point, you must direct requests to
2673
2895
  # the access point hostname. The access point hostname takes the form
2674
2896
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
2675
- # When using this operation using an access point through the AWS SDKs,
2897
+ # When using this operation with an access point through the AWS SDKs,
2676
2898
  # you provide the access point ARN in place of the bucket name. For more
2677
2899
  # information about access point ARNs, see [Using Access Points][1] in
2678
2900
  # the *Amazon Simple Storage Service Developer Guide*.
2679
2901
  #
2902
+ # When using this API with Amazon S3 on Outposts, you must direct
2903
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
2904
+ # takes the form
2905
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
2906
+ # When using this operation using S3 on Outposts through the AWS SDKs,
2907
+ # you provide the Outposts bucket ARN in place of the bucket name. For
2908
+ # more information about S3 on Outposts ARNs, see [Using S3 on
2909
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
2910
+ #
2680
2911
  #
2681
2912
  #
2682
2913
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
2914
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2683
2915
  #
2684
2916
  # @option params [required, String] :key
2685
2917
  # Name of the object key.
@@ -2697,35 +2929,35 @@ module Aws::S3
2697
2929
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
2698
2930
  #
2699
2931
  #
2700
- # @example Example: To remove tag set from an object version
2932
+ # @example Example: To remove tag set from an object
2701
2933
  #
2702
- # # The following example removes tag set associated with the specified object version. The request specifies both the
2703
- # # object key and object version.
2934
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
2935
+ # # operation removes tag set from the latest object version.
2704
2936
  #
2705
2937
  # resp = client.delete_object_tagging({
2706
2938
  # bucket: "examplebucket",
2707
2939
  # key: "HappyFace.jpg",
2708
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2709
2940
  # })
2710
2941
  #
2711
2942
  # resp.to_h outputs the following:
2712
2943
  # {
2713
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2944
+ # version_id: "null",
2714
2945
  # }
2715
2946
  #
2716
- # @example Example: To remove tag set from an object
2947
+ # @example Example: To remove tag set from an object version
2717
2948
  #
2718
- # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
2719
- # # operation removes tag set from the latest object version.
2949
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
2950
+ # # object key and object version.
2720
2951
  #
2721
2952
  # resp = client.delete_object_tagging({
2722
2953
  # bucket: "examplebucket",
2723
2954
  # key: "HappyFace.jpg",
2955
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2724
2956
  # })
2725
2957
  #
2726
2958
  # resp.to_h outputs the following:
2727
2959
  # {
2728
- # version_id: "null",
2960
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2729
2961
  # }
2730
2962
  #
2731
2963
  # @example Request syntax with placeholder values
@@ -2809,14 +3041,24 @@ module Aws::S3
2809
3041
  # When using this API with an access point, you must direct requests to
2810
3042
  # the access point hostname. The access point hostname takes the form
2811
3043
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
2812
- # When using this operation using an access point through the AWS SDKs,
3044
+ # When using this operation with an access point through the AWS SDKs,
2813
3045
  # you provide the access point ARN in place of the bucket name. For more
2814
3046
  # information about access point ARNs, see [Using Access Points][1] in
2815
3047
  # the *Amazon Simple Storage Service Developer Guide*.
2816
3048
  #
3049
+ # When using this API with Amazon S3 on Outposts, you must direct
3050
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
3051
+ # takes the form
3052
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
3053
+ # When using this operation using S3 on Outposts through the AWS SDKs,
3054
+ # you provide the Outposts bucket ARN in place of the bucket name. For
3055
+ # more information about S3 on Outposts ARNs, see [Using S3 on
3056
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
3057
+ #
2817
3058
  #
2818
3059
  #
2819
3060
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
3061
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2820
3062
  #
2821
3063
  # @option params [required, Types::Delete] :delete
2822
3064
  # Container for the request.
@@ -2855,22 +3097,20 @@ module Aws::S3
2855
3097
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
2856
3098
  #
2857
3099
  #
2858
- # @example Example: To delete multiple object versions from a versioned bucket
3100
+ # @example Example: To delete multiple objects from a versioned bucket
2859
3101
  #
2860
- # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
2861
- # # versions and returns the key and versions of deleted objects in the response.
3102
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3103
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
2862
3104
  #
2863
3105
  # resp = client.delete_objects({
2864
3106
  # bucket: "examplebucket",
2865
3107
  # delete: {
2866
3108
  # objects: [
2867
3109
  # {
2868
- # key: "HappyFace.jpg",
2869
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3110
+ # key: "objectkey1",
2870
3111
  # },
2871
3112
  # {
2872
- # key: "HappyFace.jpg",
2873
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3113
+ # key: "objectkey2",
2874
3114
  # },
2875
3115
  # ],
2876
3116
  # quiet: false,
@@ -2881,30 +3121,34 @@ module Aws::S3
2881
3121
  # {
2882
3122
  # deleted: [
2883
3123
  # {
2884
- # key: "HappyFace.jpg",
2885
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3124
+ # delete_marker: true,
3125
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3126
+ # key: "objectkey1",
2886
3127
  # },
2887
3128
  # {
2888
- # key: "HappyFace.jpg",
2889
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3129
+ # delete_marker: true,
3130
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3131
+ # key: "objectkey2",
2890
3132
  # },
2891
3133
  # ],
2892
3134
  # }
2893
3135
  #
2894
- # @example Example: To delete multiple objects from a versioned bucket
3136
+ # @example Example: To delete multiple object versions from a versioned bucket
2895
3137
  #
2896
- # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
2897
- # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
3138
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3139
+ # # versions and returns the key and versions of deleted objects in the response.
2898
3140
  #
2899
3141
  # resp = client.delete_objects({
2900
3142
  # bucket: "examplebucket",
2901
3143
  # delete: {
2902
3144
  # objects: [
2903
3145
  # {
2904
- # key: "objectkey1",
3146
+ # key: "HappyFace.jpg",
3147
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2905
3148
  # },
2906
3149
  # {
2907
- # key: "objectkey2",
3150
+ # key: "HappyFace.jpg",
3151
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2908
3152
  # },
2909
3153
  # ],
2910
3154
  # quiet: false,
@@ -2915,14 +3159,12 @@ module Aws::S3
2915
3159
  # {
2916
3160
  # deleted: [
2917
3161
  # {
2918
- # delete_marker: true,
2919
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
2920
- # key: "objectkey1",
3162
+ # key: "HappyFace.jpg",
3163
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2921
3164
  # },
2922
3165
  # {
2923
- # delete_marker: true,
2924
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
2925
- # key: "objectkey2",
3166
+ # key: "HappyFace.jpg",
3167
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2926
3168
  # },
2927
3169
  # ],
2928
3170
  # }
@@ -3061,7 +3303,7 @@ module Aws::S3
3061
3303
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
3062
3304
  #
3063
3305
  # @option params [required, String] :bucket
3064
- # Name of the bucket for which the accelerate configuration is
3306
+ # The name of the bucket for which the accelerate configuration is
3065
3307
  # retrieved.
3066
3308
  #
3067
3309
  # @option params [String] :expected_bucket_owner
@@ -3382,6 +3624,85 @@ module Aws::S3
3382
3624
  req.send_request(options)
3383
3625
  end
3384
3626
 
3627
+ # Gets the S3 Intelligent-Tiering configuration from the specified
3628
+ # bucket.
3629
+ #
3630
+ # The S3 Intelligent-Tiering storage class is designed to optimize
3631
+ # storage costs by automatically moving data to the most cost-effective
3632
+ # storage access tier, without additional operational overhead. S3
3633
+ # Intelligent-Tiering delivers automatic cost savings by moving data
3634
+ # between access tiers, when access patterns change.
3635
+ #
3636
+ # The S3 Intelligent-Tiering storage class is suitable for objects
3637
+ # larger than 128 KB that you plan to store for at least 30 days. If the
3638
+ # size of an object is less than 128 KB, it is not eligible for
3639
+ # auto-tiering. Smaller objects can be stored, but they are always
3640
+ # charged at the frequent access tier rates in the S3
3641
+ # Intelligent-Tiering storage class.
3642
+ #
3643
+ # If you delete an object before the end of the 30-day minimum storage
3644
+ # duration period, you are charged for 30 days. For more information,
3645
+ # see [Storage class for automatically optimizing frequently and
3646
+ # infrequently accessed objects][1].
3647
+ #
3648
+ # Operations related to `GetBucketIntelligentTieringConfiguration`
3649
+ # include:
3650
+ #
3651
+ # * [DeleteBucketIntelligentTieringConfiguration][2]
3652
+ #
3653
+ # * [PutBucketIntelligentTieringConfiguration][3]
3654
+ #
3655
+ # * [ListBucketIntelligentTieringConfigurations][4]
3656
+ #
3657
+ #
3658
+ #
3659
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
3660
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html
3661
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html
3662
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html
3663
+ #
3664
+ # @option params [required, String] :bucket
3665
+ # The name of the Amazon S3 bucket whose configuration you want to
3666
+ # modify or retrieve.
3667
+ #
3668
+ # @option params [required, String] :id
3669
+ # The ID used to identify the S3 Intelligent-Tiering configuration.
3670
+ #
3671
+ # @return [Types::GetBucketIntelligentTieringConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3672
+ #
3673
+ # * {Types::GetBucketIntelligentTieringConfigurationOutput#intelligent_tiering_configuration #intelligent_tiering_configuration} => Types::IntelligentTieringConfiguration
3674
+ #
3675
+ # @example Request syntax with placeholder values
3676
+ #
3677
+ # resp = client.get_bucket_intelligent_tiering_configuration({
3678
+ # bucket: "BucketName", # required
3679
+ # id: "IntelligentTieringId", # required
3680
+ # })
3681
+ #
3682
+ # @example Response structure
3683
+ #
3684
+ # resp.intelligent_tiering_configuration.id #=> String
3685
+ # resp.intelligent_tiering_configuration.filter.prefix #=> String
3686
+ # resp.intelligent_tiering_configuration.filter.tag.key #=> String
3687
+ # resp.intelligent_tiering_configuration.filter.tag.value #=> String
3688
+ # resp.intelligent_tiering_configuration.filter.and.prefix #=> String
3689
+ # resp.intelligent_tiering_configuration.filter.and.tags #=> Array
3690
+ # resp.intelligent_tiering_configuration.filter.and.tags[0].key #=> String
3691
+ # resp.intelligent_tiering_configuration.filter.and.tags[0].value #=> String
3692
+ # resp.intelligent_tiering_configuration.status #=> String, one of "Enabled", "Disabled"
3693
+ # resp.intelligent_tiering_configuration.tierings #=> Array
3694
+ # resp.intelligent_tiering_configuration.tierings[0].days #=> Integer
3695
+ # resp.intelligent_tiering_configuration.tierings[0].access_tier #=> String, one of "ARCHIVE_ACCESS", "DEEP_ARCHIVE_ACCESS"
3696
+ #
3697
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketIntelligentTieringConfiguration AWS API Documentation
3698
+ #
3699
+ # @overload get_bucket_intelligent_tiering_configuration(params = {})
3700
+ # @param [Hash] params ({})
3701
+ def get_bucket_intelligent_tiering_configuration(params = {}, options = {})
3702
+ req = build_request(:get_bucket_intelligent_tiering_configuration, params)
3703
+ req.send_request(options)
3704
+ end
3705
+
3385
3706
  # Returns an inventory configuration (identified by the inventory
3386
3707
  # configuration ID) from the bucket.
3387
3708
  #
@@ -3578,8 +3899,8 @@ module Aws::S3
3578
3899
  # combination of both. Accordingly, this section describes the latest
3579
3900
  # API. The response describes the new filter element that you can use to
3580
3901
  # specify a filter to select a subset of objects to which the rule
3581
- # applies. If you are still using previous version of the lifecycle
3582
- # configuration, it works. For the earlier API description, see
3902
+ # applies. If you are using a previous version of the lifecycle
3903
+ # configuration, it still works. For the earlier API description, see
3583
3904
  # [GetBucketLifecycle][1].
3584
3905
  #
3585
3906
  # </note>
@@ -3907,7 +4228,8 @@ module Aws::S3
3907
4228
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
3908
4229
  #
3909
4230
  # @option params [required, String] :bucket
3910
- # Name of the bucket for which to get the notification configuration.
4231
+ # The name of the bucket for which to get the notification
4232
+ # configuration.
3911
4233
  #
3912
4234
  # @option params [String] :expected_bucket_owner
3913
4235
  # The account id of the expected bucket owner. If the bucket is owned by
@@ -4040,7 +4362,8 @@ module Aws::S3
4040
4362
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html
4041
4363
  #
4042
4364
  # @option params [required, String] :bucket
4043
- # Name of the bucket for which to get the notification configuration.
4365
+ # The name of the bucket for which to get the notification
4366
+ # configuration.
4044
4367
  #
4045
4368
  # @option params [String] :expected_bucket_owner
4046
4369
  # The account id of the expected bucket owner. If the bucket is owned by
@@ -4096,6 +4419,59 @@ module Aws::S3
4096
4419
  req.send_request(options)
4097
4420
  end
4098
4421
 
4422
+ # Retrieves `OwnershipControls` for an Amazon S3 bucket. To use this
4423
+ # operation, you must have the `s3:GetBucketOwnershipControls`
4424
+ # permission. For more information about Amazon S3 permissions, see
4425
+ # [Specifying Permissions in a Policy][1].
4426
+ #
4427
+ # For information about Amazon S3 Object Ownership, see [Using Object
4428
+ # Ownership][2].
4429
+ #
4430
+ # The following operations are related to `GetBucketOwnershipControls`\:
4431
+ #
4432
+ # * PutBucketOwnershipControls
4433
+ #
4434
+ # * DeleteBucketOwnershipControls
4435
+ #
4436
+ #
4437
+ #
4438
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
4439
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html
4440
+ #
4441
+ # @option params [required, String] :bucket
4442
+ # The name of the Amazon S3 bucket whose `OwnershipControls` you want to
4443
+ # retrieve.
4444
+ #
4445
+ # @option params [String] :expected_bucket_owner
4446
+ # The account id of the expected bucket owner. If the bucket is owned by
4447
+ # a different account, the request will fail with an HTTP `403 (Access
4448
+ # Denied)` error.
4449
+ #
4450
+ # @return [Types::GetBucketOwnershipControlsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4451
+ #
4452
+ # * {Types::GetBucketOwnershipControlsOutput#ownership_controls #ownership_controls} => Types::OwnershipControls
4453
+ #
4454
+ # @example Request syntax with placeholder values
4455
+ #
4456
+ # resp = client.get_bucket_ownership_controls({
4457
+ # bucket: "BucketName", # required
4458
+ # expected_bucket_owner: "AccountId",
4459
+ # })
4460
+ #
4461
+ # @example Response structure
4462
+ #
4463
+ # resp.ownership_controls.rules #=> Array
4464
+ # resp.ownership_controls.rules[0].object_ownership #=> String, one of "BucketOwnerPreferred", "ObjectWriter"
4465
+ #
4466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketOwnershipControls AWS API Documentation
4467
+ #
4468
+ # @overload get_bucket_ownership_controls(params = {})
4469
+ # @param [Hash] params ({})
4470
+ def get_bucket_ownership_controls(params = {}, options = {})
4471
+ req = build_request(:get_bucket_ownership_controls, params)
4472
+ req.send_request(options)
4473
+ end
4474
+
4099
4475
  # Returns the policy of a specified bucket. If you are using an identity
4100
4476
  # other than the root user of the AWS account that owns the bucket, the
4101
4477
  # calling identity must have the `GetBucketPolicy` permissions on the
@@ -4332,7 +4708,7 @@ module Aws::S3
4332
4708
  # resp.replication_configuration.rules[0].existing_object_replication.status #=> String, one of "Enabled", "Disabled"
4333
4709
  # resp.replication_configuration.rules[0].destination.bucket #=> String
4334
4710
  # resp.replication_configuration.rules[0].destination.account #=> String
4335
- # resp.replication_configuration.rules[0].destination.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE"
4711
+ # resp.replication_configuration.rules[0].destination.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
4336
4712
  # resp.replication_configuration.rules[0].destination.access_control_translation.owner #=> String, one of "Destination"
4337
4713
  # resp.replication_configuration.rules[0].destination.encryption_configuration.replica_kms_key_id #=> String
4338
4714
  # resp.replication_configuration.rules[0].destination.replication_time.status #=> String, one of "Enabled", "Disabled"
@@ -4680,11 +5056,13 @@ module Aws::S3
4680
5056
  # For more information about returning the ACL of an object, see
4681
5057
  # [GetObjectAcl][3].
4682
5058
  #
4683
- # If the object you are retrieving is stored in the GLACIER or
4684
- # DEEP\_ARCHIVE storage classes, before you can retrieve the object you
4685
- # must first restore a copy using [RestoreObject][4]. Otherwise, this
4686
- # operation returns an `InvalidObjectStateError` error. For information
4687
- # about restoring archived objects, see [Restoring Archived Objects][5].
5059
+ # If the object you are retrieving is stored in the S3 Glacier, S3
5060
+ # Glacier Deep Archive, S3 Intelligent-Tiering Archive, or S3
5061
+ # Intelligent-Tiering Deep Archive storage classes, before you can
5062
+ # retrieve the object you must first restore a copy using
5063
+ # [RestoreObject][4]. Otherwise, this operation returns an
5064
+ # `InvalidObjectStateError` error. For information about restoring
5065
+ # archived objects, see [Restoring Archived Objects][5].
4688
5066
  #
4689
5067
  # Encryption request headers, like `x-amz-server-side-encryption`,
4690
5068
  # should not be sent for GET requests if your object uses server-side
@@ -4818,14 +5196,24 @@ module Aws::S3
4818
5196
  # When using this API with an access point, you must direct requests to
4819
5197
  # the access point hostname. The access point hostname takes the form
4820
5198
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
4821
- # When using this operation using an access point through the AWS SDKs,
5199
+ # When using this operation with an access point through the AWS SDKs,
4822
5200
  # you provide the access point ARN in place of the bucket name. For more
4823
5201
  # information about access point ARNs, see [Using Access Points][1] in
4824
5202
  # the *Amazon Simple Storage Service Developer Guide*.
4825
5203
  #
5204
+ # When using this API with Amazon S3 on Outposts, you must direct
5205
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5206
+ # takes the form
5207
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
5208
+ # When using this operation using S3 on Outposts through the AWS SDKs,
5209
+ # you provide the Outposts bucket ARN in place of the bucket name. For
5210
+ # more information about S3 on Outposts ARNs, see [Using S3 on
5211
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
5212
+ #
4826
5213
  #
4827
5214
  #
4828
5215
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
5216
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
4829
5217
  #
4830
5218
  # @option params [String] :if_match
4831
5219
  # Return the object only if its entity tag (ETag) is the same as the one
@@ -5082,7 +5470,7 @@ module Aws::S3
5082
5470
  # resp.sse_customer_algorithm #=> String
5083
5471
  # resp.sse_customer_key_md5 #=> String
5084
5472
  # resp.ssekms_key_id #=> String
5085
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE"
5473
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
5086
5474
  # resp.request_charged #=> String, one of "requester"
5087
5475
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA"
5088
5476
  # resp.parts_count #=> Integer
@@ -5101,7 +5489,9 @@ module Aws::S3
5101
5489
  end
5102
5490
 
5103
5491
  # Returns the access control list (ACL) of an object. To use this
5104
- # operation, you must have READ\_ACP access to the object.
5492
+ # operation, you must have `READ_ACP` access to the object.
5493
+ #
5494
+ # This action is not supported by Amazon S3 on Outposts.
5105
5495
  #
5106
5496
  # **Versioning**
5107
5497
  #
@@ -5130,7 +5520,7 @@ module Aws::S3
5130
5520
  # When using this API with an access point, you must direct requests to
5131
5521
  # the access point hostname. The access point hostname takes the form
5132
5522
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5133
- # When using this operation using an access point through the AWS SDKs,
5523
+ # When using this operation with an access point through the AWS SDKs,
5134
5524
  # you provide the access point ARN in place of the bucket name. For more
5135
5525
  # information about access point ARNs, see [Using Access Points][1] in
5136
5526
  # the *Amazon Simple Storage Service Developer Guide*.
@@ -5254,6 +5644,8 @@ module Aws::S3
5254
5644
  # Gets an object's current Legal Hold status. For more information, see
5255
5645
  # [Locking Objects][1].
5256
5646
  #
5647
+ # This action is not supported by Amazon S3 on Outposts.
5648
+ #
5257
5649
  #
5258
5650
  #
5259
5651
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -5265,7 +5657,7 @@ module Aws::S3
5265
5657
  # When using this API with an access point, you must direct requests to
5266
5658
  # the access point hostname. The access point hostname takes the form
5267
5659
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5268
- # When using this operation using an access point through the AWS SDKs,
5660
+ # When using this operation with an access point through the AWS SDKs,
5269
5661
  # you provide the access point ARN in place of the bucket name. For more
5270
5662
  # information about access point ARNs, see [Using Access Points][1] in
5271
5663
  # the *Amazon Simple Storage Service Developer Guide*.
@@ -5337,6 +5729,18 @@ module Aws::S3
5337
5729
  # @option params [required, String] :bucket
5338
5730
  # The bucket whose Object Lock configuration you want to retrieve.
5339
5731
  #
5732
+ # When using this API with an access point, you must direct requests to
5733
+ # the access point hostname. The access point hostname takes the form
5734
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5735
+ # When using this operation with an access point through the AWS SDKs,
5736
+ # you provide the access point ARN in place of the bucket name. For more
5737
+ # information about access point ARNs, see [Using Access Points][1] in
5738
+ # the *Amazon Simple Storage Service Developer Guide*.
5739
+ #
5740
+ #
5741
+ #
5742
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
5743
+ #
5340
5744
  # @option params [String] :expected_bucket_owner
5341
5745
  # The account id of the expected bucket owner. If the bucket is owned by
5342
5746
  # a different account, the request will fail with an HTTP `403 (Access
@@ -5372,6 +5776,8 @@ module Aws::S3
5372
5776
  # Retrieves an object's retention settings. For more information, see
5373
5777
  # [Locking Objects][1].
5374
5778
  #
5779
+ # This action is not supported by Amazon S3 on Outposts.
5780
+ #
5375
5781
  #
5376
5782
  #
5377
5783
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -5383,7 +5789,7 @@ module Aws::S3
5383
5789
  # When using this API with an access point, you must direct requests to
5384
5790
  # the access point hostname. The access point hostname takes the form
5385
5791
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5386
- # When using this operation using an access point through the AWS SDKs,
5792
+ # When using this operation with an access point through the AWS SDKs,
5387
5793
  # you provide the access point ARN in place of the bucket name. For more
5388
5794
  # information about access point ARNs, see [Using Access Points][1] in
5389
5795
  # the *Amazon Simple Storage Service Developer Guide*.
@@ -5478,14 +5884,24 @@ module Aws::S3
5478
5884
  # When using this API with an access point, you must direct requests to
5479
5885
  # the access point hostname. The access point hostname takes the form
5480
5886
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5481
- # When using this operation using an access point through the AWS SDKs,
5887
+ # When using this operation with an access point through the AWS SDKs,
5482
5888
  # you provide the access point ARN in place of the bucket name. For more
5483
5889
  # information about access point ARNs, see [Using Access Points][1] in
5484
5890
  # the *Amazon Simple Storage Service Developer Guide*.
5485
5891
  #
5892
+ # When using this API with Amazon S3 on Outposts, you must direct
5893
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5894
+ # takes the form
5895
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
5896
+ # When using this operation using S3 on Outposts through the AWS SDKs,
5897
+ # you provide the Outposts bucket ARN in place of the bucket name. For
5898
+ # more information about S3 on Outposts ARNs, see [Using S3 on
5899
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
5900
+ #
5486
5901
  #
5487
5902
  #
5488
5903
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
5904
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
5489
5905
  #
5490
5906
  # @option params [required, String] :key
5491
5907
  # Object key for which to get the tagging information.
@@ -5574,18 +5990,20 @@ module Aws::S3
5574
5990
  req.send_request(options)
5575
5991
  end
5576
5992
 
5577
- # Return torrent files from a bucket. BitTorrent can save you bandwidth
5993
+ # Returns torrent files from a bucket. BitTorrent can save you bandwidth
5578
5994
  # when you're distributing large files. For more information about
5579
- # BitTorrent, see [Amazon S3 Torrent][1].
5995
+ # BitTorrent, see [Using BitTorrent with Amazon S3][1].
5580
5996
  #
5581
- # <note markdown="1"> You can get torrent only for objects that are less than 5 GB in size
5582
- # and that are not encrypted using server-side encryption with
5997
+ # <note markdown="1"> You can get torrent only for objects that are less than 5 GB in size,
5998
+ # and that are not encrypted using server-side encryption with a
5583
5999
  # customer-provided encryption key.
5584
6000
  #
5585
6001
  # </note>
5586
6002
  #
5587
6003
  # To use GET, you must have READ access to the object.
5588
6004
  #
6005
+ # This action is not supported by Amazon S3 on Outposts.
6006
+ #
5589
6007
  # The following operation is related to `GetObjectTorrent`\:
5590
6008
  #
5591
6009
  # * [GetObject][2]
@@ -5757,6 +6175,28 @@ module Aws::S3
5757
6175
  # @option params [required, String] :bucket
5758
6176
  # The bucket name.
5759
6177
  #
6178
+ # When using this API with an access point, you must direct requests to
6179
+ # the access point hostname. The access point hostname takes the form
6180
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
6181
+ # When using this operation with an access point through the AWS SDKs,
6182
+ # you provide the access point ARN in place of the bucket name. For more
6183
+ # information about access point ARNs, see [Using Access Points][1] in
6184
+ # the *Amazon Simple Storage Service Developer Guide*.
6185
+ #
6186
+ # When using this API with Amazon S3 on Outposts, you must direct
6187
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6188
+ # takes the form
6189
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6190
+ # When using this operation using S3 on Outposts through the AWS SDKs,
6191
+ # you provide the Outposts bucket ARN in place of the bucket name. For
6192
+ # more information about S3 on Outposts ARNs, see [Using S3 on
6193
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
6194
+ #
6195
+ #
6196
+ #
6197
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
6198
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
6199
+ #
5760
6200
  # @option params [String] :expected_bucket_owner
5761
6201
  # The account id of the expected bucket owner. If the bucket is owned by
5762
6202
  # a different account, the request will fail with an HTTP `403 (Access
@@ -5882,6 +6322,28 @@ module Aws::S3
5882
6322
  # @option params [required, String] :bucket
5883
6323
  # The name of the bucket containing the object.
5884
6324
  #
6325
+ # When using this API with an access point, you must direct requests to
6326
+ # the access point hostname. The access point hostname takes the form
6327
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
6328
+ # When using this operation with an access point through the AWS SDKs,
6329
+ # you provide the access point ARN in place of the bucket name. For more
6330
+ # information about access point ARNs, see [Using Access Points][1] in
6331
+ # the *Amazon Simple Storage Service Developer Guide*.
6332
+ #
6333
+ # When using this API with Amazon S3 on Outposts, you must direct
6334
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6335
+ # takes the form
6336
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6337
+ # When using this operation using S3 on Outposts through the AWS SDKs,
6338
+ # you provide the Outposts bucket ARN in place of the bucket name. For
6339
+ # more information about S3 on Outposts ARNs, see [Using S3 on
6340
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
6341
+ #
6342
+ #
6343
+ #
6344
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
6345
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
6346
+ #
5885
6347
  # @option params [String] :if_match
5886
6348
  # Return the object only if its entity tag (ETag) is the same as the one
5887
6349
  # specified, otherwise return a 412 (precondition failed).
@@ -5904,13 +6366,17 @@ module Aws::S3
5904
6366
  # @option params [String] :range
5905
6367
  # Downloads the specified range bytes of an object. For more information
5906
6368
  # about the HTTP Range header, see
5907
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35]().
6369
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
5908
6370
  #
5909
6371
  # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
5910
6372
  # `GET` request.
5911
6373
  #
5912
6374
  # </note>
5913
6375
  #
6376
+ #
6377
+ #
6378
+ # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
6379
+ #
5914
6380
  # @option params [String] :version_id
5915
6381
  # VersionId used to reference a specific version of the object.
5916
6382
  #
@@ -5958,6 +6424,7 @@ module Aws::S3
5958
6424
  # * {Types::HeadObjectOutput#accept_ranges #accept_ranges} => String
5959
6425
  # * {Types::HeadObjectOutput#expiration #expiration} => String
5960
6426
  # * {Types::HeadObjectOutput#restore #restore} => String
6427
+ # * {Types::HeadObjectOutput#archive_status #archive_status} => String
5961
6428
  # * {Types::HeadObjectOutput#last_modified #last_modified} => Time
5962
6429
  # * {Types::HeadObjectOutput#content_length #content_length} => Integer
5963
6430
  # * {Types::HeadObjectOutput#etag #etag} => String
@@ -6031,6 +6498,7 @@ module Aws::S3
6031
6498
  # resp.accept_ranges #=> String
6032
6499
  # resp.expiration #=> String
6033
6500
  # resp.restore #=> String
6501
+ # resp.archive_status #=> String, one of "ARCHIVE_ACCESS", "DEEP_ARCHIVE_ACCESS"
6034
6502
  # resp.last_modified #=> Time
6035
6503
  # resp.content_length #=> Integer
6036
6504
  # resp.etag #=> String
@@ -6050,7 +6518,7 @@ module Aws::S3
6050
6518
  # resp.sse_customer_algorithm #=> String
6051
6519
  # resp.sse_customer_key_md5 #=> String
6052
6520
  # resp.ssekms_key_id #=> String
6053
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE"
6521
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
6054
6522
  # resp.request_charged #=> String, one of "requester"
6055
6523
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA"
6056
6524
  # resp.parts_count #=> Integer
@@ -6164,10 +6632,97 @@ module Aws::S3
6164
6632
  #
6165
6633
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurations AWS API Documentation
6166
6634
  #
6167
- # @overload list_bucket_analytics_configurations(params = {})
6635
+ # @overload list_bucket_analytics_configurations(params = {})
6636
+ # @param [Hash] params ({})
6637
+ def list_bucket_analytics_configurations(params = {}, options = {})
6638
+ req = build_request(:list_bucket_analytics_configurations, params)
6639
+ req.send_request(options)
6640
+ end
6641
+
6642
+ # Lists the S3 Intelligent-Tiering configuration from the specified
6643
+ # bucket.
6644
+ #
6645
+ # The S3 Intelligent-Tiering storage class is designed to optimize
6646
+ # storage costs by automatically moving data to the most cost-effective
6647
+ # storage access tier, without additional operational overhead. S3
6648
+ # Intelligent-Tiering delivers automatic cost savings by moving data
6649
+ # between access tiers, when access patterns change.
6650
+ #
6651
+ # The S3 Intelligent-Tiering storage class is suitable for objects
6652
+ # larger than 128 KB that you plan to store for at least 30 days. If the
6653
+ # size of an object is less than 128 KB, it is not eligible for
6654
+ # auto-tiering. Smaller objects can be stored, but they are always
6655
+ # charged at the frequent access tier rates in the S3
6656
+ # Intelligent-Tiering storage class.
6657
+ #
6658
+ # If you delete an object before the end of the 30-day minimum storage
6659
+ # duration period, you are charged for 30 days. For more information,
6660
+ # see [Storage class for automatically optimizing frequently and
6661
+ # infrequently accessed objects][1].
6662
+ #
6663
+ # Operations related to `ListBucketIntelligentTieringConfigurations`
6664
+ # include:
6665
+ #
6666
+ # * [DeleteBucketIntelligentTieringConfiguration][2]
6667
+ #
6668
+ # * [PutBucketIntelligentTieringConfiguration][3]
6669
+ #
6670
+ # * [GetBucketIntelligentTieringConfiguration][4]
6671
+ #
6672
+ #
6673
+ #
6674
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
6675
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html
6676
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html
6677
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html
6678
+ #
6679
+ # @option params [required, String] :bucket
6680
+ # The name of the Amazon S3 bucket whose configuration you want to
6681
+ # modify or retrieve.
6682
+ #
6683
+ # @option params [String] :continuation_token
6684
+ # The ContinuationToken that represents a placeholder from where this
6685
+ # request should begin.
6686
+ #
6687
+ # @return [Types::ListBucketIntelligentTieringConfigurationsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6688
+ #
6689
+ # * {Types::ListBucketIntelligentTieringConfigurationsOutput#is_truncated #is_truncated} => Boolean
6690
+ # * {Types::ListBucketIntelligentTieringConfigurationsOutput#continuation_token #continuation_token} => String
6691
+ # * {Types::ListBucketIntelligentTieringConfigurationsOutput#next_continuation_token #next_continuation_token} => String
6692
+ # * {Types::ListBucketIntelligentTieringConfigurationsOutput#intelligent_tiering_configuration_list #intelligent_tiering_configuration_list} => Array&lt;Types::IntelligentTieringConfiguration&gt;
6693
+ #
6694
+ # @example Request syntax with placeholder values
6695
+ #
6696
+ # resp = client.list_bucket_intelligent_tiering_configurations({
6697
+ # bucket: "BucketName", # required
6698
+ # continuation_token: "Token",
6699
+ # })
6700
+ #
6701
+ # @example Response structure
6702
+ #
6703
+ # resp.is_truncated #=> Boolean
6704
+ # resp.continuation_token #=> String
6705
+ # resp.next_continuation_token #=> String
6706
+ # resp.intelligent_tiering_configuration_list #=> Array
6707
+ # resp.intelligent_tiering_configuration_list[0].id #=> String
6708
+ # resp.intelligent_tiering_configuration_list[0].filter.prefix #=> String
6709
+ # resp.intelligent_tiering_configuration_list[0].filter.tag.key #=> String
6710
+ # resp.intelligent_tiering_configuration_list[0].filter.tag.value #=> String
6711
+ # resp.intelligent_tiering_configuration_list[0].filter.and.prefix #=> String
6712
+ # resp.intelligent_tiering_configuration_list[0].filter.and.tags #=> Array
6713
+ # resp.intelligent_tiering_configuration_list[0].filter.and.tags[0].key #=> String
6714
+ # resp.intelligent_tiering_configuration_list[0].filter.and.tags[0].value #=> String
6715
+ # resp.intelligent_tiering_configuration_list[0].status #=> String, one of "Enabled", "Disabled"
6716
+ # resp.intelligent_tiering_configuration_list[0].tierings #=> Array
6717
+ # resp.intelligent_tiering_configuration_list[0].tierings[0].days #=> Integer
6718
+ # resp.intelligent_tiering_configuration_list[0].tierings[0].access_tier #=> String, one of "ARCHIVE_ACCESS", "DEEP_ARCHIVE_ACCESS"
6719
+ #
6720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketIntelligentTieringConfigurations AWS API Documentation
6721
+ #
6722
+ # @overload list_bucket_intelligent_tiering_configurations(params = {})
6168
6723
  # @param [Hash] params ({})
6169
- def list_bucket_analytics_configurations(params = {}, options = {})
6170
- req = build_request(:list_bucket_analytics_configurations, params)
6724
+ def list_bucket_intelligent_tiering_configurations(params = {}, options = {})
6725
+ req = build_request(:list_bucket_intelligent_tiering_configurations, params)
6171
6726
  req.send_request(options)
6172
6727
  end
6173
6728
 
@@ -6472,19 +7027,29 @@ module Aws::S3
6472
7027
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
6473
7028
  #
6474
7029
  # @option params [required, String] :bucket
6475
- # Name of the bucket to which the multipart upload was initiated.
7030
+ # The name of the bucket to which the multipart upload was initiated.
6476
7031
  #
6477
7032
  # When using this API with an access point, you must direct requests to
6478
7033
  # the access point hostname. The access point hostname takes the form
6479
7034
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
6480
- # When using this operation using an access point through the AWS SDKs,
7035
+ # When using this operation with an access point through the AWS SDKs,
6481
7036
  # you provide the access point ARN in place of the bucket name. For more
6482
7037
  # information about access point ARNs, see [Using Access Points][1] in
6483
7038
  # the *Amazon Simple Storage Service Developer Guide*.
6484
7039
  #
7040
+ # When using this API with Amazon S3 on Outposts, you must direct
7041
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7042
+ # takes the form
7043
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7044
+ # When using this operation using S3 on Outposts through the AWS SDKs,
7045
+ # you provide the Outposts bucket ARN in place of the bucket name. For
7046
+ # more information about S3 on Outposts ARNs, see [Using S3 on
7047
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
7048
+ #
6485
7049
  #
6486
7050
  #
6487
7051
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
7052
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
6488
7053
  #
6489
7054
  # @option params [String] :delimiter
6490
7055
  # Character you use to group keys.
@@ -6682,7 +7247,7 @@ module Aws::S3
6682
7247
  # resp.uploads[0].upload_id #=> String
6683
7248
  # resp.uploads[0].key #=> String
6684
7249
  # resp.uploads[0].initiated #=> Time
6685
- # resp.uploads[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE"
7250
+ # resp.uploads[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
6686
7251
  # resp.uploads[0].owner.display_name #=> String
6687
7252
  # resp.uploads[0].owner.id #=> String
6688
7253
  # resp.uploads[0].initiator.id #=> String
@@ -6700,7 +7265,7 @@ module Aws::S3
6700
7265
  req.send_request(options)
6701
7266
  end
6702
7267
 
6703
- # Returns metadata about all of the versions of objects in a bucket. You
7268
+ # Returns metadata about all versions of the objects in a bucket. You
6704
7269
  # can also use request parameters as selection criteria to return
6705
7270
  # metadata about a subset of all the object versions.
6706
7271
  #
@@ -6712,6 +7277,8 @@ module Aws::S3
6712
7277
  #
6713
7278
  # To use this operation, you must have READ access to the bucket.
6714
7279
  #
7280
+ # This action is not supported by Amazon S3 on Outposts.
7281
+ #
6715
7282
  # The following operations are related to `ListObjectVersions`\:
6716
7283
  #
6717
7284
  # * [ListObjectsV2][1]
@@ -6732,18 +7299,6 @@ module Aws::S3
6732
7299
  # @option params [required, String] :bucket
6733
7300
  # The bucket name that contains the objects.
6734
7301
  #
6735
- # When using this API with an access point, you must direct requests to
6736
- # the access point hostname. The access point hostname takes the form
6737
- # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
6738
- # When using this operation using an access point through the AWS SDKs,
6739
- # you provide the access point ARN in place of the bucket name. For more
6740
- # information about access point ARNs, see [Using Access Points][1] in
6741
- # the *Amazon Simple Storage Service Developer Guide*.
6742
- #
6743
- #
6744
- #
6745
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
6746
- #
6747
7302
  # @option params [String] :delimiter
6748
7303
  # A delimiter is a character that you specify to group keys. All keys
6749
7304
  # that contain the same string between the `prefix` and the first
@@ -6936,6 +7491,28 @@ module Aws::S3
6936
7491
  # @option params [required, String] :bucket
6937
7492
  # The name of the bucket containing the objects.
6938
7493
  #
7494
+ # When using this API with an access point, you must direct requests to
7495
+ # the access point hostname. The access point hostname takes the form
7496
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7497
+ # When using this operation with an access point through the AWS SDKs,
7498
+ # you provide the access point ARN in place of the bucket name. For more
7499
+ # information about access point ARNs, see [Using Access Points][1] in
7500
+ # the *Amazon Simple Storage Service Developer Guide*.
7501
+ #
7502
+ # When using this API with Amazon S3 on Outposts, you must direct
7503
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7504
+ # takes the form
7505
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7506
+ # When using this operation using S3 on Outposts through the AWS SDKs,
7507
+ # you provide the Outposts bucket ARN in place of the bucket name. For
7508
+ # more information about S3 on Outposts ARNs, see [Using S3 on
7509
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
7510
+ #
7511
+ #
7512
+ #
7513
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
7514
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
7515
+ #
6939
7516
  # @option params [String] :delimiter
6940
7517
  # A delimiter is a character you use to group keys.
6941
7518
  #
@@ -7045,7 +7622,7 @@ module Aws::S3
7045
7622
  # resp.contents[0].last_modified #=> Time
7046
7623
  # resp.contents[0].etag #=> String
7047
7624
  # resp.contents[0].size #=> Integer
7048
- # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE"
7625
+ # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS"
7049
7626
  # resp.contents[0].owner.display_name #=> String
7050
7627
  # resp.contents[0].owner.id #=> String
7051
7628
  # resp.name #=> String
@@ -7111,14 +7688,24 @@ module Aws::S3
7111
7688
  # When using this API with an access point, you must direct requests to
7112
7689
  # the access point hostname. The access point hostname takes the form
7113
7690
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7114
- # When using this operation using an access point through the AWS SDKs,
7691
+ # When using this operation with an access point through the AWS SDKs,
7115
7692
  # you provide the access point ARN in place of the bucket name. For more
7116
7693
  # information about access point ARNs, see [Using Access Points][1] in
7117
7694
  # the *Amazon Simple Storage Service Developer Guide*.
7118
7695
  #
7696
+ # When using this API with Amazon S3 on Outposts, you must direct
7697
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7698
+ # takes the form
7699
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7700
+ # When using this operation using S3 on Outposts through the AWS SDKs,
7701
+ # you provide the Outposts bucket ARN in place of the bucket name. For
7702
+ # more information about S3 on Outposts ARNs, see [Using S3 on
7703
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
7704
+ #
7119
7705
  #
7120
7706
  #
7121
7707
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
7708
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
7122
7709
  #
7123
7710
  # @option params [String] :delimiter
7124
7711
  # A delimiter is a character you use to group keys.
@@ -7236,7 +7823,7 @@ module Aws::S3
7236
7823
  # resp.contents[0].last_modified #=> Time
7237
7824
  # resp.contents[0].etag #=> String
7238
7825
  # resp.contents[0].size #=> Integer
7239
- # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE"
7826
+ # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS"
7240
7827
  # resp.contents[0].owner.display_name #=> String
7241
7828
  # resp.contents[0].owner.id #=> String
7242
7829
  # resp.name #=> String
@@ -7302,19 +7889,29 @@ module Aws::S3
7302
7889
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
7303
7890
  #
7304
7891
  # @option params [required, String] :bucket
7305
- # Name of the bucket to which the parts are being uploaded.
7892
+ # The name of the bucket to which the parts are being uploaded.
7306
7893
  #
7307
7894
  # When using this API with an access point, you must direct requests to
7308
7895
  # the access point hostname. The access point hostname takes the form
7309
7896
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7310
- # When using this operation using an access point through the AWS SDKs,
7897
+ # When using this operation with an access point through the AWS SDKs,
7311
7898
  # you provide the access point ARN in place of the bucket name. For more
7312
7899
  # information about access point ARNs, see [Using Access Points][1] in
7313
7900
  # the *Amazon Simple Storage Service Developer Guide*.
7314
7901
  #
7902
+ # When using this API with Amazon S3 on Outposts, you must direct
7903
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7904
+ # takes the form
7905
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7906
+ # When using this operation using S3 on Outposts through the AWS SDKs,
7907
+ # you provide the Outposts bucket ARN in place of the bucket name. For
7908
+ # more information about S3 on Outposts ARNs, see [Using S3 on
7909
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
7910
+ #
7315
7911
  #
7316
7912
  #
7317
7913
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
7914
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
7318
7915
  #
7319
7916
  # @option params [required, String] :key
7320
7917
  # Object key for which the multipart upload was initiated.
@@ -7435,7 +8032,7 @@ module Aws::S3
7435
8032
  # resp.initiator.display_name #=> String
7436
8033
  # resp.owner.display_name #=> String
7437
8034
  # resp.owner.id #=> String
7438
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE"
8035
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
7439
8036
  # resp.request_charged #=> String, one of "requester"
7440
8037
  #
7441
8038
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts AWS API Documentation
@@ -7494,7 +8091,7 @@ module Aws::S3
7494
8091
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
7495
8092
  #
7496
8093
  # @option params [required, String] :bucket
7497
- # Name of the bucket for which the accelerate configuration is set.
8094
+ # The name of the bucket for which the accelerate configuration is set.
7498
8095
  #
7499
8096
  # @option params [required, Types::AccelerateConfiguration] :accelerate_configuration
7500
8097
  # Container for setting the transfer acceleration state.
@@ -8154,6 +8751,96 @@ module Aws::S3
8154
8751
  req.send_request(options)
8155
8752
  end
8156
8753
 
8754
+ # Puts a S3 Intelligent-Tiering configuration to the specified bucket.
8755
+ #
8756
+ # The S3 Intelligent-Tiering storage class is designed to optimize
8757
+ # storage costs by automatically moving data to the most cost-effective
8758
+ # storage access tier, without additional operational overhead. S3
8759
+ # Intelligent-Tiering delivers automatic cost savings by moving data
8760
+ # between access tiers, when access patterns change.
8761
+ #
8762
+ # The S3 Intelligent-Tiering storage class is suitable for objects
8763
+ # larger than 128 KB that you plan to store for at least 30 days. If the
8764
+ # size of an object is less than 128 KB, it is not eligible for
8765
+ # auto-tiering. Smaller objects can be stored, but they are always
8766
+ # charged at the frequent access tier rates in the S3
8767
+ # Intelligent-Tiering storage class.
8768
+ #
8769
+ # If you delete an object before the end of the 30-day minimum storage
8770
+ # duration period, you are charged for 30 days. For more information,
8771
+ # see [Storage class for automatically optimizing frequently and
8772
+ # infrequently accessed objects][1].
8773
+ #
8774
+ # Operations related to `PutBucketIntelligentTieringConfiguration`
8775
+ # include:
8776
+ #
8777
+ # * [DeleteBucketIntelligentTieringConfiguration][2]
8778
+ #
8779
+ # * [GetBucketIntelligentTieringConfiguration][3]
8780
+ #
8781
+ # * [ListBucketIntelligentTieringConfigurations][4]
8782
+ #
8783
+ #
8784
+ #
8785
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
8786
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html
8787
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html
8788
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html
8789
+ #
8790
+ # @option params [required, String] :bucket
8791
+ # The name of the Amazon S3 bucket whose configuration you want to
8792
+ # modify or retrieve.
8793
+ #
8794
+ # @option params [required, String] :id
8795
+ # The ID used to identify the S3 Intelligent-Tiering configuration.
8796
+ #
8797
+ # @option params [required, Types::IntelligentTieringConfiguration] :intelligent_tiering_configuration
8798
+ # Container for S3 Intelligent-Tiering configuration.
8799
+ #
8800
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8801
+ #
8802
+ # @example Request syntax with placeholder values
8803
+ #
8804
+ # resp = client.put_bucket_intelligent_tiering_configuration({
8805
+ # bucket: "BucketName", # required
8806
+ # id: "IntelligentTieringId", # required
8807
+ # intelligent_tiering_configuration: { # required
8808
+ # id: "IntelligentTieringId", # required
8809
+ # filter: {
8810
+ # prefix: "Prefix",
8811
+ # tag: {
8812
+ # key: "ObjectKey", # required
8813
+ # value: "Value", # required
8814
+ # },
8815
+ # and: {
8816
+ # prefix: "Prefix",
8817
+ # tags: [
8818
+ # {
8819
+ # key: "ObjectKey", # required
8820
+ # value: "Value", # required
8821
+ # },
8822
+ # ],
8823
+ # },
8824
+ # },
8825
+ # status: "Enabled", # required, accepts Enabled, Disabled
8826
+ # tierings: [ # required
8827
+ # {
8828
+ # days: 1, # required
8829
+ # access_tier: "ARCHIVE_ACCESS", # required, accepts ARCHIVE_ACCESS, DEEP_ARCHIVE_ACCESS
8830
+ # },
8831
+ # ],
8832
+ # },
8833
+ # })
8834
+ #
8835
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketIntelligentTieringConfiguration AWS API Documentation
8836
+ #
8837
+ # @overload put_bucket_intelligent_tiering_configuration(params = {})
8838
+ # @param [Hash] params ({})
8839
+ def put_bucket_intelligent_tiering_configuration(params = {}, options = {})
8840
+ req = build_request(:put_bucket_intelligent_tiering_configuration, params)
8841
+ req.send_request(options)
8842
+ end
8843
+
8157
8844
  # This implementation of the `PUT` operation adds an inventory
8158
8845
  # configuration (identified by the inventory ID) to the bucket. You can
8159
8846
  # have up to 1,000 inventory configurations per bucket.
@@ -9071,6 +9758,67 @@ module Aws::S3
9071
9758
  req.send_request(options)
9072
9759
  end
9073
9760
 
9761
+ # Creates or modifies `OwnershipControls` for an Amazon S3 bucket. To
9762
+ # use this operation, you must have the `s3:PutBucketOwnershipControls`
9763
+ # permission. For more information about Amazon S3 permissions, see
9764
+ # [Specifying Permissions in a Policy][1].
9765
+ #
9766
+ # For information about Amazon S3 Object Ownership, see [Using Object
9767
+ # Ownership][2].
9768
+ #
9769
+ # The following operations are related to `PutBucketOwnershipControls`\:
9770
+ #
9771
+ # * GetBucketOwnershipControls
9772
+ #
9773
+ # * DeleteBucketOwnershipControls
9774
+ #
9775
+ #
9776
+ #
9777
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
9778
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html
9779
+ #
9780
+ # @option params [required, String] :bucket
9781
+ # The name of the Amazon S3 bucket whose `OwnershipControls` you want to
9782
+ # set.
9783
+ #
9784
+ # @option params [String] :content_md5
9785
+ # The MD5 hash of the `OwnershipControls` request body.
9786
+ #
9787
+ # @option params [String] :expected_bucket_owner
9788
+ # The account id of the expected bucket owner. If the bucket is owned by
9789
+ # a different account, the request will fail with an HTTP `403 (Access
9790
+ # Denied)` error.
9791
+ #
9792
+ # @option params [required, Types::OwnershipControls] :ownership_controls
9793
+ # The `OwnershipControls` (BucketOwnerPreferred or ObjectWriter) that
9794
+ # you want to apply to this Amazon S3 bucket.
9795
+ #
9796
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9797
+ #
9798
+ # @example Request syntax with placeholder values
9799
+ #
9800
+ # resp = client.put_bucket_ownership_controls({
9801
+ # bucket: "BucketName", # required
9802
+ # content_md5: "ContentMD5",
9803
+ # expected_bucket_owner: "AccountId",
9804
+ # ownership_controls: { # required
9805
+ # rules: [ # required
9806
+ # {
9807
+ # object_ownership: "BucketOwnerPreferred", # required, accepts BucketOwnerPreferred, ObjectWriter
9808
+ # },
9809
+ # ],
9810
+ # },
9811
+ # })
9812
+ #
9813
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketOwnershipControls AWS API Documentation
9814
+ #
9815
+ # @overload put_bucket_ownership_controls(params = {})
9816
+ # @param [Hash] params ({})
9817
+ def put_bucket_ownership_controls(params = {}, options = {})
9818
+ req = build_request(:put_bucket_ownership_controls, params)
9819
+ req.send_request(options)
9820
+ end
9821
+
9074
9822
  # Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are
9075
9823
  # using an identity other than the root user of the AWS account that
9076
9824
  # owns the bucket, the calling identity must have the `PutBucketPolicy`
@@ -9247,6 +9995,7 @@ module Aws::S3
9247
9995
  # maximum size of a replication configuration is 2 MB.
9248
9996
  #
9249
9997
  # @option params [String] :token
9998
+ # A token to allow Object Lock to be enabled for an existing bucket.
9250
9999
  #
9251
10000
  # @option params [String] :expected_bucket_owner
9252
10001
  # The account id of the expected bucket owner. If the bucket is owned by
@@ -9317,7 +10066,7 @@ module Aws::S3
9317
10066
  # destination: { # required
9318
10067
  # bucket: "BucketName", # required
9319
10068
  # account: "AccountId",
9320
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
10069
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
9321
10070
  # access_control_translation: {
9322
10071
  # owner: "Destination", # required, accepts Destination
9323
10072
  # },
@@ -9332,7 +10081,7 @@ module Aws::S3
9332
10081
  # },
9333
10082
  # metrics: {
9334
10083
  # status: "Enabled", # required, accepts Enabled, Disabled
9335
- # event_threshold: { # required
10084
+ # event_threshold: {
9336
10085
  # minutes: 1,
9337
10086
  # },
9338
10087
  # },
@@ -9880,11 +10629,12 @@ module Aws::S3
9880
10629
  #
9881
10630
  # **Storage Class Options**
9882
10631
  #
9883
- # By default, Amazon S3 uses the STANDARD storage class to store newly
10632
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
9884
10633
  # created objects. The STANDARD storage class provides high durability
9885
10634
  # and high availability. Depending on performance needs, you can specify
9886
- # a different storage class. For more information, see [Storage
9887
- # Classes][5] in the *Amazon S3 Service Developer Guide*.
10635
+ # a different Storage Class. Amazon S3 on Outposts only uses the
10636
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][5]
10637
+ # in the *Amazon S3 Service Developer Guide*.
9888
10638
  #
9889
10639
  # **Versioning**
9890
10640
  #
@@ -9920,6 +10670,8 @@ module Aws::S3
9920
10670
  # The canned ACL to apply to the object. For more information, see
9921
10671
  # [Canned ACL][1].
9922
10672
  #
10673
+ # This action is not supported by Amazon S3 on Outposts.
10674
+ #
9923
10675
  #
9924
10676
  #
9925
10677
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
@@ -9928,19 +10680,29 @@ module Aws::S3
9928
10680
  # Object data.
9929
10681
  #
9930
10682
  # @option params [required, String] :bucket
9931
- # Bucket name to which the PUT operation was initiated.
10683
+ # The bucket name to which the PUT operation was initiated.
9932
10684
  #
9933
10685
  # When using this API with an access point, you must direct requests to
9934
10686
  # the access point hostname. The access point hostname takes the form
9935
10687
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
9936
- # When using this operation using an access point through the AWS SDKs,
10688
+ # When using this operation with an access point through the AWS SDKs,
9937
10689
  # you provide the access point ARN in place of the bucket name. For more
9938
10690
  # information about access point ARNs, see [Using Access Points][1] in
9939
10691
  # the *Amazon Simple Storage Service Developer Guide*.
9940
10692
  #
10693
+ # When using this API with Amazon S3 on Outposts, you must direct
10694
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
10695
+ # takes the form
10696
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
10697
+ # When using this operation using S3 on Outposts through the AWS SDKs,
10698
+ # you provide the Outposts bucket ARN in place of the bucket name. For
10699
+ # more information about S3 on Outposts ARNs, see [Using S3 on
10700
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
10701
+ #
9941
10702
  #
9942
10703
  #
9943
10704
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
10705
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
9944
10706
  #
9945
10707
  # @option params [String] :cache_control
9946
10708
  # Can be used to specify caching behavior along the request/reply chain.
@@ -10017,15 +10779,23 @@ module Aws::S3
10017
10779
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
10018
10780
  # object.
10019
10781
  #
10782
+ # This action is not supported by Amazon S3 on Outposts.
10783
+ #
10020
10784
  # @option params [String] :grant_read
10021
10785
  # Allows grantee to read the object data and its metadata.
10022
10786
  #
10787
+ # This action is not supported by Amazon S3 on Outposts.
10788
+ #
10023
10789
  # @option params [String] :grant_read_acp
10024
10790
  # Allows grantee to read the object ACL.
10025
10791
  #
10792
+ # This action is not supported by Amazon S3 on Outposts.
10793
+ #
10026
10794
  # @option params [String] :grant_write_acp
10027
10795
  # Allows grantee to write the ACL for the applicable object.
10028
10796
  #
10797
+ # This action is not supported by Amazon S3 on Outposts.
10798
+ #
10029
10799
  # @option params [required, String] :key
10030
10800
  # Object key for which the PUT operation was initiated.
10031
10801
  #
@@ -10037,8 +10807,16 @@ module Aws::S3
10037
10807
  # Amazon S3 (for example, AES256, aws:kms).
10038
10808
  #
10039
10809
  # @option params [String] :storage_class
10040
- # If you don't specify, S3 Standard is the default storage class.
10041
- # Amazon S3 supports other storage classes.
10810
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
10811
+ # created objects. The STANDARD storage class provides high durability
10812
+ # and high availability. Depending on performance needs, you can specify
10813
+ # a different Storage Class. Amazon S3 on Outposts only uses the
10814
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
10815
+ # in the *Amazon S3 Service Developer Guide*.
10816
+ #
10817
+ #
10818
+ #
10819
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
10042
10820
  #
10043
10821
  # @option params [String] :website_redirect_location
10044
10822
  # If the bucket is configured as a website, redirects requests for this
@@ -10147,24 +10925,25 @@ module Aws::S3
10147
10925
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
10148
10926
  #
10149
10927
  #
10150
- # @example Example: To upload an object and specify server-side encryption and object tags
10928
+ # @example Example: To upload object and specify user-defined metadata
10151
10929
  #
10152
- # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
10153
- # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
10930
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
10931
+ # # enabled, S3 returns version ID in response.
10154
10932
  #
10155
10933
  # resp = client.put_object({
10156
10934
  # body: "filetoupload",
10157
10935
  # bucket: "examplebucket",
10158
10936
  # key: "exampleobject",
10159
- # server_side_encryption: "AES256",
10160
- # tagging: "key1=value1&key2=value2",
10937
+ # metadata: {
10938
+ # "metadata1" => "value1",
10939
+ # "metadata2" => "value2",
10940
+ # },
10161
10941
  # })
10162
10942
  #
10163
10943
  # resp.to_h outputs the following:
10164
10944
  # {
10165
10945
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10166
- # server_side_encryption: "AES256",
10167
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
10946
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
10168
10947
  # }
10169
10948
  #
10170
10949
  # @example Example: To create an object.
@@ -10201,63 +10980,62 @@ module Aws::S3
10201
10980
  # version_id: "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a",
10202
10981
  # }
10203
10982
  #
10204
- # @example Example: To upload an object (specify optional headers)
10983
+ # @example Example: To upload an object and specify server-side encryption and object tags
10205
10984
  #
10206
- # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
10207
- # # storage class and use server-side encryption.
10985
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
10986
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
10208
10987
  #
10209
10988
  # resp = client.put_object({
10210
- # body: "HappyFace.jpg",
10989
+ # body: "filetoupload",
10211
10990
  # bucket: "examplebucket",
10212
- # key: "HappyFace.jpg",
10991
+ # key: "exampleobject",
10213
10992
  # server_side_encryption: "AES256",
10214
- # storage_class: "STANDARD_IA",
10993
+ # tagging: "key1=value1&key2=value2",
10215
10994
  # })
10216
10995
  #
10217
10996
  # resp.to_h outputs the following:
10218
10997
  # {
10219
10998
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10220
10999
  # server_side_encryption: "AES256",
10221
- # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
11000
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
10222
11001
  # }
10223
11002
  #
10224
- # @example Example: To upload object and specify user-defined metadata
11003
+ # @example Example: To upload an object and specify canned ACL.
10225
11004
  #
10226
- # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
10227
- # # enabled, S3 returns version ID in response.
11005
+ # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
11006
+ # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
10228
11007
  #
10229
11008
  # resp = client.put_object({
11009
+ # acl: "authenticated-read",
10230
11010
  # body: "filetoupload",
10231
11011
  # bucket: "examplebucket",
10232
11012
  # key: "exampleobject",
10233
- # metadata: {
10234
- # "metadata1" => "value1",
10235
- # "metadata2" => "value2",
10236
- # },
10237
11013
  # })
10238
11014
  #
10239
11015
  # resp.to_h outputs the following:
10240
11016
  # {
10241
11017
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10242
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
11018
+ # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
10243
11019
  # }
10244
11020
  #
10245
- # @example Example: To upload an object and specify canned ACL.
11021
+ # @example Example: To upload an object (specify optional headers)
10246
11022
  #
10247
- # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
10248
- # # access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.
11023
+ # # The following example uploads an object. The request specifies optional request headers to directs S3 to use specific
11024
+ # # storage class and use server-side encryption.
10249
11025
  #
10250
11026
  # resp = client.put_object({
10251
- # acl: "authenticated-read",
10252
- # body: "filetoupload",
11027
+ # body: "HappyFace.jpg",
10253
11028
  # bucket: "examplebucket",
10254
- # key: "exampleobject",
11029
+ # key: "HappyFace.jpg",
11030
+ # server_side_encryption: "AES256",
11031
+ # storage_class: "STANDARD_IA",
10255
11032
  # })
10256
11033
  #
10257
11034
  # resp.to_h outputs the following:
10258
11035
  # {
10259
11036
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10260
- # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
11037
+ # server_side_encryption: "AES256",
11038
+ # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
10261
11039
  # }
10262
11040
  #
10263
11041
  # @example Example: To upload an object
@@ -10306,7 +11084,7 @@ module Aws::S3
10306
11084
  # "MetadataKey" => "MetadataValue",
10307
11085
  # },
10308
11086
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
10309
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
11087
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
10310
11088
  # website_redirect_location: "WebsiteRedirectLocation",
10311
11089
  # sse_customer_algorithm: "SSECustomerAlgorithm",
10312
11090
  # sse_customer_key: "SSECustomerKey",
@@ -10343,11 +11121,13 @@ module Aws::S3
10343
11121
  end
10344
11122
 
10345
11123
  # Uses the `acl` subresource to set the access control list (ACL)
10346
- # permissions for an object that already exists in an S3 bucket. You
10347
- # must have `WRITE_ACP` permission to set the ACL of an object. For more
11124
+ # permissions for a new or existing object in an S3 bucket. You must
11125
+ # have `WRITE_ACP` permission to set the ACL of an object. For more
10348
11126
  # information, see [What permissions can I grant?][1] in the *Amazon
10349
11127
  # Simple Storage Service Developer Guide*.
10350
11128
  #
11129
+ # This action is not supported by Amazon S3 on Outposts.
11130
+ #
10351
11131
  # Depending on your application needs, you can choose to set the ACL on
10352
11132
  # an object using either the request body or the headers. For example,
10353
11133
  # if you have an existing application that updates a bucket ACL using
@@ -10511,7 +11291,7 @@ module Aws::S3
10511
11291
  # When using this API with an access point, you must direct requests to
10512
11292
  # the access point hostname. The access point hostname takes the form
10513
11293
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10514
- # When using this operation using an access point through the AWS SDKs,
11294
+ # When using this operation with an access point through the AWS SDKs,
10515
11295
  # you provide the access point ARN in place of the bucket name. For more
10516
11296
  # information about access point ARNs, see [Using Access Points][1] in
10517
11297
  # the *Amazon Simple Storage Service Developer Guide*.
@@ -10534,12 +11314,18 @@ module Aws::S3
10534
11314
  # Allows grantee the read, write, read ACP, and write ACP permissions on
10535
11315
  # the bucket.
10536
11316
  #
11317
+ # This action is not supported by Amazon S3 on Outposts.
11318
+ #
10537
11319
  # @option params [String] :grant_read
10538
11320
  # Allows grantee to list the objects in the bucket.
10539
11321
  #
11322
+ # This action is not supported by Amazon S3 on Outposts.
11323
+ #
10540
11324
  # @option params [String] :grant_read_acp
10541
11325
  # Allows grantee to read the bucket ACL.
10542
11326
  #
11327
+ # This action is not supported by Amazon S3 on Outposts.
11328
+ #
10543
11329
  # @option params [String] :grant_write
10544
11330
  # Allows grantee to create, overwrite, and delete any object in the
10545
11331
  # bucket.
@@ -10547,9 +11333,33 @@ module Aws::S3
10547
11333
  # @option params [String] :grant_write_acp
10548
11334
  # Allows grantee to write the ACL for the applicable bucket.
10549
11335
  #
11336
+ # This action is not supported by Amazon S3 on Outposts.
11337
+ #
10550
11338
  # @option params [required, String] :key
10551
11339
  # Key for which the PUT operation was initiated.
10552
11340
  #
11341
+ # When using this API with an access point, you must direct requests to
11342
+ # the access point hostname. The access point hostname takes the form
11343
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
11344
+ # When using this operation with an access point through the AWS SDKs,
11345
+ # you provide the access point ARN in place of the bucket name. For more
11346
+ # information about access point ARNs, see [Using Access Points][1] in
11347
+ # the *Amazon Simple Storage Service Developer Guide*.
11348
+ #
11349
+ # When using this API with Amazon S3 on Outposts, you must direct
11350
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11351
+ # takes the form
11352
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
11353
+ # When using this operation using S3 on Outposts through the AWS SDKs,
11354
+ # you provide the Outposts bucket ARN in place of the bucket name. For
11355
+ # more information about S3 on Outposts ARNs, see [Using S3 on
11356
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
11357
+ #
11358
+ #
11359
+ #
11360
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
11361
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
11362
+ #
10553
11363
  # @option params [String] :request_payer
10554
11364
  # Confirms that the requester knows that they will be charged for the
10555
11365
  # request. Bucket owners need not specify this parameter in their
@@ -10642,6 +11452,8 @@ module Aws::S3
10642
11452
 
10643
11453
  # Applies a Legal Hold configuration to the specified object.
10644
11454
  #
11455
+ # This action is not supported by Amazon S3 on Outposts.
11456
+ #
10645
11457
  # **Related Resources**
10646
11458
  #
10647
11459
  # * [Locking Objects][1]
@@ -10659,7 +11471,7 @@ module Aws::S3
10659
11471
  # When using this API with an access point, you must direct requests to
10660
11472
  # the access point hostname. The access point hostname takes the form
10661
11473
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10662
- # When using this operation using an access point through the AWS SDKs,
11474
+ # When using this operation with an access point through the AWS SDKs,
10663
11475
  # you provide the access point ARN in place of the bucket name. For more
10664
11476
  # information about access point ARNs, see [Using Access Points][1] in
10665
11477
  # the *Amazon Simple Storage Service Developer Guide*.
@@ -10816,6 +11628,8 @@ module Aws::S3
10816
11628
 
10817
11629
  # Places an Object Retention configuration on an object.
10818
11630
  #
11631
+ # This action is not supported by Amazon S3 on Outposts.
11632
+ #
10819
11633
  # **Related Resources**
10820
11634
  #
10821
11635
  # * [Locking Objects][1]
@@ -10833,7 +11647,7 @@ module Aws::S3
10833
11647
  # When using this API with an access point, you must direct requests to
10834
11648
  # the access point hostname. The access point hostname takes the form
10835
11649
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10836
- # When using this operation using an access point through the AWS SDKs,
11650
+ # When using this operation with an access point through the AWS SDKs,
10837
11651
  # you provide the access point ARN in place of the bucket name. For more
10838
11652
  # information about access point ARNs, see [Using Access Points][1] in
10839
11653
  # the *Amazon Simple Storage Service Developer Guide*.
@@ -10933,17 +11747,13 @@ module Aws::S3
10933
11747
  #
10934
11748
  # **Special Errors**
10935
11749
  #
10936
- # * ****
10937
- #
10938
- # * <i>Code: InvalidTagError </i>
11750
+ # * * <i>Code: InvalidTagError </i>
10939
11751
  #
10940
11752
  # * *Cause: The tag provided was not a valid tag. This error can occur
10941
11753
  # if the tag did not pass input validation. For more information,
10942
11754
  # see [Object Tagging][3].*
10943
11755
  #
10944
- # * ****
10945
- #
10946
- # * <i>Code: MalformedXMLError </i>
11756
+ # * * <i>Code: MalformedXMLError </i>
10947
11757
  #
10948
11758
  # * *Cause: The XML provided does not match the schema.*
10949
11759
  #
@@ -10975,14 +11785,24 @@ module Aws::S3
10975
11785
  # When using this API with an access point, you must direct requests to
10976
11786
  # the access point hostname. The access point hostname takes the form
10977
11787
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10978
- # When using this operation using an access point through the AWS SDKs,
11788
+ # When using this operation with an access point through the AWS SDKs,
10979
11789
  # you provide the access point ARN in place of the bucket name. For more
10980
11790
  # information about access point ARNs, see [Using Access Points][1] in
10981
11791
  # the *Amazon Simple Storage Service Developer Guide*.
10982
11792
  #
11793
+ # When using this API with Amazon S3 on Outposts, you must direct
11794
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11795
+ # takes the form
11796
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
11797
+ # When using this operation using S3 on Outposts through the AWS SDKs,
11798
+ # you provide the Outposts bucket ARN in place of the bucket name. For
11799
+ # more information about S3 on Outposts ARNs, see [Using S3 on
11800
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
11801
+ #
10983
11802
  #
10984
11803
  #
10985
11804
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
11805
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
10986
11806
  #
10987
11807
  # @option params [required, String] :key
10988
11808
  # Name of the object key.
@@ -11148,7 +11968,9 @@ module Aws::S3
11148
11968
 
11149
11969
  # Restores an archived copy of an object back into Amazon S3
11150
11970
  #
11151
- # This operation performs the following types of requests:
11971
+ # This action is not supported by Amazon S3 on Outposts.
11972
+ #
11973
+ # This action performs the following types of requests:
11152
11974
  #
11153
11975
  # * `select` - Perform a select query on an archived object
11154
11976
  #
@@ -11244,64 +12066,65 @@ module Aws::S3
11244
12066
  #
11245
12067
  # **Restoring Archives**
11246
12068
  #
11247
- # Objects in the GLACIER and DEEP\_ARCHIVE storage classes are archived.
11248
- # To access an archived object, you must first initiate a restore
11249
- # request. This restores a temporary copy of the archived object. In a
11250
- # restore request, you specify the number of days that you want the
11251
- # restored copy to exist. After the specified period, Amazon S3 deletes
11252
- # the temporary copy but the object remains archived in the GLACIER or
11253
- # DEEP\_ARCHIVE storage class that object was restored from.
12069
+ # Objects that you archive to the S3 Glacier, S3 Glacier Deep Archive,
12070
+ # S3 Intelligent-Tiering Archive, or S3 Intelligent-Tiering Deep Archive
12071
+ # storage classes are not accessible in real time. For objects in
12072
+ # Archive Access tier or Deep Archive Access tier you must first
12073
+ # initiate a restore request, and then wait until the object is moved
12074
+ # into the Frequent Access tier. For objects in S3 Glacier or S3 Glacier
12075
+ # Deep Archive you must first initiate a restore request, and then wait
12076
+ # until a temporary copy of the object is available. To access an
12077
+ # archived object, you must restore the object for the duration (number
12078
+ # of days) that you specify.
11254
12079
  #
11255
12080
  # To restore a specific object version, you can provide a version ID. If
11256
12081
  # you don't provide a version ID, Amazon S3 restores the current
11257
12082
  # version.
11258
12083
  #
11259
- # The time it takes restore jobs to finish depends on which storage
11260
- # class the object is being restored from and which data access tier you
11261
- # specify.
11262
- #
11263
12084
  # When restoring an archived object (or using a select request), you can
11264
12085
  # specify one of the following data access tier options in the `Tier`
11265
12086
  # element of the request body:
11266
12087
  #
11267
12088
  # * <b> <code>Expedited</code> </b> - Expedited retrievals allow you to
11268
- # quickly access your data stored in the GLACIER storage class when
11269
- # occasional urgent requests for a subset of archives are required.
11270
- # For all but the largest archived objects (250 MB+), data accessed
11271
- # using Expedited retrievals are typically made available within 1–5
11272
- # minutes. Provisioned capacity ensures that retrieval capacity for
11273
- # Expedited retrievals is available when you need it. Expedited
11274
- # retrievals and provisioned capacity are not available for the
11275
- # DEEP\_ARCHIVE storage class.
11276
- #
11277
- # * <b> <code>Standard</code> </b> - S3 Standard retrievals allow you to
12089
+ # quickly access your data stored in the S3 Glacier or S3
12090
+ # Intelligent-Tiering Archive storage class when occasional urgent
12091
+ # requests for a subset of archives are required. For all but the
12092
+ # largest archived objects (250 MB+), data accessed using Expedited
12093
+ # retrievals is typically made available within 1–5 minutes.
12094
+ # Provisioned capacity ensures that retrieval capacity for Expedited
12095
+ # retrievals is available when you need it. Expedited retrievals and
12096
+ # provisioned capacity are not available for objects stored in the S3
12097
+ # Glacier Deep Archive or S3 Intelligent-Tiering Deep Archive storage
12098
+ # class.
12099
+ #
12100
+ # * <b> <code>Standard</code> </b> - Standard retrievals allow you to
11278
12101
  # access any of your archived objects within several hours. This is
11279
- # the default option for the GLACIER and DEEP\_ARCHIVE retrieval
11280
- # requests that do not specify the retrieval option. S3 Standard
11281
- # retrievals typically complete within 3-5 hours from the GLACIER
11282
- # storage class and typically complete within 12 hours from the
11283
- # DEEP\_ARCHIVE storage class.
11284
- #
11285
- # * <b> <code>Bulk</code> </b> - Bulk retrievals are Amazon S3 Glacier’s
11286
- # lowest-cost retrieval option, enabling you to retrieve large
11287
- # amounts, even petabytes, of data inexpensively in a day. Bulk
11288
- # retrievals typically complete within 5-12 hours from the GLACIER
11289
- # storage class and typically complete within 48 hours from the
11290
- # DEEP\_ARCHIVE storage class.
12102
+ # the default option for retrieval requests that do not specify the
12103
+ # retrieval option. Standard retrievals typically finish within 3–5
12104
+ # hours for objects stored in the S3 Glacier or S3 Intelligent-Tiering
12105
+ # Archive storage class. They typically finish within 12 hours for
12106
+ # objects stored in the S3 Glacier Deep Archive or S3
12107
+ # Intelligent-Tiering Deep Archive storage class. Standard retrievals
12108
+ # are free for objects stored in S3 Intelligent-Tiering.
12109
+ #
12110
+ # * <b> <code>Bulk</code> </b> - Bulk retrievals are the lowest-cost
12111
+ # retrieval option in S3 Glacier, enabling you to retrieve large
12112
+ # amounts, even petabytes, of data inexpensively. Bulk retrievals
12113
+ # typically finish within 5–12 hours for objects stored in the S3
12114
+ # Glacier or S3 Intelligent-Tiering Archive storage class. They
12115
+ # typically finish within 48 hours for objects stored in the S3
12116
+ # Glacier Deep Archive or S3 Intelligent-Tiering Deep Archive storage
12117
+ # class. Bulk retrievals are free for objects stored in S3
12118
+ # Intelligent-Tiering.
11291
12119
  #
11292
12120
  # For more information about archive retrieval options and provisioned
11293
12121
  # capacity for `Expedited` data access, see [Restoring Archived
11294
12122
  # Objects][8] in the *Amazon Simple Storage Service Developer Guide*.
11295
12123
  #
11296
12124
  # You can use Amazon S3 restore speed upgrade to change the restore
11297
- # speed to a faster speed while it is in progress. You upgrade the speed
11298
- # of an in-progress restoration by issuing another restore request to
11299
- # the same object, setting a new `Tier` request element. When issuing a
11300
- # request to upgrade the restore tier, you must choose a tier that is
11301
- # faster than the tier that the in-progress restore is using. You must
11302
- # not change any other parameters, such as the `Days` request element.
11303
- # For more information, see [ Upgrading the Speed of an In-Progress
11304
- # Restore][9] in the *Amazon Simple Storage Service Developer Guide*.
12125
+ # speed to a faster speed while it is in progress. For more information,
12126
+ # see [ Upgrading the speed of an in-progress restore][9] in the *Amazon
12127
+ # Simple Storage Service Developer Guide*.
11305
12128
  #
11306
12129
  # To get the status of object restoration, you can send a `HEAD`
11307
12130
  # request. Operations return the `x-amz-restore` header, which provides
@@ -11332,17 +12155,15 @@ module Aws::S3
11332
12155
  # A successful operation returns either the `200 OK` or `202 Accepted`
11333
12156
  # status code.
11334
12157
  #
11335
- # * If the object copy is not previously restored, then Amazon S3
11336
- # returns `202 Accepted` in the response.
12158
+ # * If the object is not previously restored, then Amazon S3 returns
12159
+ # `202 Accepted` in the response.
11337
12160
  #
11338
- # * If the object copy is previously restored, Amazon S3 returns `200
11339
- # OK` in the response.
12161
+ # * If the object is previously restored, Amazon S3 returns `200 OK` in
12162
+ # the response.
11340
12163
  #
11341
12164
  # **Special Errors**
11342
12165
  #
11343
- # * ****
11344
- #
11345
- # * *Code: RestoreAlreadyInProgress*
12166
+ # * * *Code: RestoreAlreadyInProgress*
11346
12167
  #
11347
12168
  # * *Cause: Object restore is already in progress. (This error does
11348
12169
  # not apply to SELECT type requests.)*
@@ -11351,15 +12172,12 @@ module Aws::S3
11351
12172
  #
11352
12173
  # * *SOAP Fault Code Prefix: Client*
11353
12174
  #
11354
- # * ****
11355
- #
11356
- # * *Code: GlacierExpeditedRetrievalNotAvailable*
12175
+ # * * *Code: GlacierExpeditedRetrievalNotAvailable*
11357
12176
  #
11358
- # * *Cause: S3 Glacier expedited retrievals are currently not
11359
- # available. Try again later. (Returned if there is insufficient
11360
- # capacity to process the Expedited request. This error applies only
11361
- # to Expedited retrievals and not to S3 Standard or Bulk
11362
- # retrievals.)*
12177
+ # * *Cause: expedited retrievals are currently not available. Try
12178
+ # again later. (Returned if there is insufficient capacity to
12179
+ # process the Expedited request. This error applies only to
12180
+ # Expedited retrievals and not to S3 Standard or Bulk retrievals.)*
11363
12181
  #
11364
12182
  # * *HTTP Status Code: 503*
11365
12183
  #
@@ -11391,19 +12209,29 @@ module Aws::S3
11391
12209
  # [13]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
11392
12210
  #
11393
12211
  # @option params [required, String] :bucket
11394
- # The bucket name or containing the object to restore.
12212
+ # The bucket name containing the object to restore.
11395
12213
  #
11396
12214
  # When using this API with an access point, you must direct requests to
11397
12215
  # the access point hostname. The access point hostname takes the form
11398
12216
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
11399
- # When using this operation using an access point through the AWS SDKs,
12217
+ # When using this operation with an access point through the AWS SDKs,
11400
12218
  # you provide the access point ARN in place of the bucket name. For more
11401
12219
  # information about access point ARNs, see [Using Access Points][1] in
11402
12220
  # the *Amazon Simple Storage Service Developer Guide*.
11403
12221
  #
12222
+ # When using this API with Amazon S3 on Outposts, you must direct
12223
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
12224
+ # takes the form
12225
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
12226
+ # When using this operation using S3 on Outposts through the AWS SDKs,
12227
+ # you provide the Outposts bucket ARN in place of the bucket name. For
12228
+ # more information about S3 on Outposts ARNs, see [Using S3 on
12229
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
12230
+ #
11404
12231
  #
11405
12232
  #
11406
12233
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
12234
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
11407
12235
  #
11408
12236
  # @option params [required, String] :key
11409
12237
  # Object key for which the operation was initiated.
@@ -11538,7 +12366,7 @@ module Aws::S3
11538
12366
  # value: "MetadataValue",
11539
12367
  # },
11540
12368
  # ],
11541
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
12369
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
11542
12370
  # },
11543
12371
  # },
11544
12372
  # },
@@ -11568,6 +12396,8 @@ module Aws::S3
11568
12396
  # returns only records that match the specified SQL expression. You must
11569
12397
  # also specify the data serialization format for the response.
11570
12398
  #
12399
+ # This action is not supported by Amazon S3 on Outposts.
12400
+ #
11571
12401
  # For more information about Amazon S3 Select, see [Selecting Content
11572
12402
  # from Objects][1] in the *Amazon Simple Storage Service Developer
11573
12403
  # Guide*.
@@ -11999,6 +12829,11 @@ module Aws::S3
11999
12829
  # checks the part data against the provided MD5 value. If they do not
12000
12830
  # match, Amazon S3 returns an error.
12001
12831
  #
12832
+ # If the upload request is signed with Signature Version 4, then AWS S3
12833
+ # uses the `x-amz-content-sha256` header as a checksum instead of
12834
+ # `Content-MD5`. For more information see [Authenticating Requests:
12835
+ # Using the Authorization Header (AWS Signature Version 4)][3].
12836
+ #
12002
12837
  # **Note:** After you initiate multipart upload and upload one or more
12003
12838
  # parts, you must either complete or abort multipart upload in order to
12004
12839
  # stop getting charged for storage of the uploaded parts. Only after you
@@ -12006,11 +12841,11 @@ module Aws::S3
12006
12841
  # parts storage and stops charging you for the parts storage.
12007
12842
  #
12008
12843
  # For more information on multipart uploads, go to [Multipart Upload
12009
- # Overview][3] in the <i>Amazon Simple Storage Service Developer Guide
12844
+ # Overview][4] in the <i>Amazon Simple Storage Service Developer Guide
12010
12845
  # </i>.
12011
12846
  #
12012
12847
  # For information on the permissions required to use the multipart
12013
- # upload API, go to [Multipart Upload API and Permissions][4] in the
12848
+ # upload API, go to [Multipart Upload API and Permissions][5] in the
12014
12849
  # *Amazon Simple Storage Service Developer Guide*.
12015
12850
  #
12016
12851
  # You can optionally request server-side encryption where Amazon S3
@@ -12021,7 +12856,7 @@ module Aws::S3
12021
12856
  # request headers you provide in the request must match the headers you
12022
12857
  # used in the request to initiate the upload by using
12023
12858
  # [CreateMultipartUpload][2]. For more information, go to [Using
12024
- # Server-Side Encryption][5] in the *Amazon Simple Storage Service
12859
+ # Server-Side Encryption][6] in the *Amazon Simple Storage Service
12025
12860
  # Developer Guide*.
12026
12861
  #
12027
12862
  # Server-side encryption is supported by the S3 Multipart Upload
@@ -12044,9 +12879,7 @@ module Aws::S3
12044
12879
  #
12045
12880
  # **Special Errors**
12046
12881
  #
12047
- # * ****
12048
- #
12049
- # * *Code: NoSuchUpload*
12882
+ # * * *Code: NoSuchUpload*
12050
12883
  #
12051
12884
  # * *Cause: The specified multipart upload does not exist. The upload
12052
12885
  # ID might be invalid, or the multipart upload might have been
@@ -12060,31 +12893,54 @@ module Aws::S3
12060
12893
  #
12061
12894
  # * [CreateMultipartUpload][2]
12062
12895
  #
12063
- # * [CompleteMultipartUpload][6]
12896
+ # * [CompleteMultipartUpload][7]
12064
12897
  #
12065
- # * [AbortMultipartUpload][7]
12898
+ # * [AbortMultipartUpload][8]
12066
12899
  #
12067
- # * [ListParts][8]
12900
+ # * [ListParts][9]
12068
12901
  #
12069
- # * [ListMultipartUploads][9]
12902
+ # * [ListMultipartUploads][10]
12070
12903
  #
12071
12904
  #
12072
12905
  #
12073
12906
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
12074
12907
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
12075
- # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
12076
- # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
12077
- # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
12078
- # [6]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
12079
- # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
12080
- # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
12081
- # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
12908
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
12909
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
12910
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
12911
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
12912
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
12913
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
12914
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
12915
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
12082
12916
  #
12083
12917
  # @option params [String, StringIO, File] :body
12084
12918
  # Object data.
12085
12919
  #
12086
12920
  # @option params [required, String] :bucket
12087
- # Name of the bucket to which the multipart upload was initiated.
12921
+ # The name of the bucket to which the multipart upload was initiated.
12922
+ #
12923
+ # When using this API with an access point, you must direct requests to
12924
+ # the access point hostname. The access point hostname takes the form
12925
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
12926
+ # When using this operation with an access point through the AWS SDKs,
12927
+ # you provide the access point ARN in place of the bucket name. For more
12928
+ # information about access point ARNs, see [Using Access Points][1] in
12929
+ # the *Amazon Simple Storage Service Developer Guide*.
12930
+ #
12931
+ # When using this API with Amazon S3 on Outposts, you must direct
12932
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
12933
+ # takes the form
12934
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
12935
+ # When using this operation using S3 on Outposts through the AWS SDKs,
12936
+ # you provide the Outposts bucket ARN in place of the bucket name. For
12937
+ # more information about S3 on Outposts ARNs, see [Using S3 on
12938
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
12939
+ #
12940
+ #
12941
+ #
12942
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
12943
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
12088
12944
  #
12089
12945
  # @option params [Integer] :content_length
12090
12946
  # Size of the body in bytes. This parameter is useful when the size of
@@ -12291,9 +13147,7 @@ module Aws::S3
12291
13147
  #
12292
13148
  # **Special Errors**
12293
13149
  #
12294
- # * ****
12295
- #
12296
- # * *Code: NoSuchUpload*
13150
+ # * * *Code: NoSuchUpload*
12297
13151
  #
12298
13152
  # * *Cause: The specified multipart upload does not exist. The upload
12299
13153
  # ID might be invalid, or the multipart upload might have been
@@ -12301,9 +13155,7 @@ module Aws::S3
12301
13155
  #
12302
13156
  # * *HTTP Status Code: 404 Not Found*
12303
13157
  #
12304
- # * ****
12305
- #
12306
- # * *Code: InvalidRequest*
13158
+ # * * *Code: InvalidRequest*
12307
13159
  #
12308
13160
  # * *Cause: The specified copy source is not supported as a byte-range
12309
13161
  # copy source.*
@@ -12341,6 +13193,28 @@ module Aws::S3
12341
13193
  # @option params [required, String] :bucket
12342
13194
  # The bucket name.
12343
13195
  #
13196
+ # When using this API with an access point, you must direct requests to
13197
+ # the access point hostname. The access point hostname takes the form
13198
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
13199
+ # When using this operation with an access point through the AWS SDKs,
13200
+ # you provide the access point ARN in place of the bucket name. For more
13201
+ # information about access point ARNs, see [Using Access Points][1] in
13202
+ # the *Amazon Simple Storage Service Developer Guide*.
13203
+ #
13204
+ # When using this API with Amazon S3 on Outposts, you must direct
13205
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
13206
+ # takes the form
13207
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
13208
+ # When using this operation using S3 on Outposts through the AWS SDKs,
13209
+ # you provide the Outposts bucket ARN in place of the bucket name. For
13210
+ # more information about S3 on Outposts ARNs, see [Using S3 on
13211
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
13212
+ #
13213
+ #
13214
+ #
13215
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
13216
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
13217
+ #
12344
13218
  # @option params [required, String] :copy_source
12345
13219
  # Specifies the source object for the copy operation. You specify the
12346
13220
  # value in one of two formats, depending on whether you want to access
@@ -12357,9 +13231,9 @@ module Aws::S3
12357
13231
  # Resource Name (ARN) of the object as accessed through the access
12358
13232
  # point, in the format
12359
13233
  # `arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>`.
12360
- # For example, to copy the object `reports/january.pdf` through the
12361
- # access point `my-access-point` owned by account `123456789012` in
12362
- # Region `us-west-2`, use the URL encoding of
13234
+ # For example, to copy the object `reports/january.pdf` through access
13235
+ # point `my-access-point` owned by account `123456789012` in Region
13236
+ # `us-west-2`, use the URL encoding of
12363
13237
  # `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
12364
13238
  # The value must be URL encoded.
12365
13239
  #
@@ -12368,6 +13242,15 @@ module Aws::S3
12368
13242
  #
12369
13243
  # </note>
12370
13244
  #
13245
+ # Alternatively, for objects accessed through Amazon S3 on Outposts,
13246
+ # specify the ARN of the object as accessed in the format
13247
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key>`.
13248
+ # For example, to copy the object `reports/january.pdf` through
13249
+ # outpost `my-outpost` owned by account `123456789012` in Region
13250
+ # `us-west-2`, use the URL encoding of
13251
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
13252
+ # The value must be URL encoded.
13253
+ #
12371
13254
  # To copy a specific version of an object, append
12372
13255
  # `?versionId=<version-id>` to the value (for example,
12373
13256
  # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
@@ -12572,7 +13455,7 @@ module Aws::S3
12572
13455
  params: params,
12573
13456
  config: config)
12574
13457
  context[:gem_name] = 'aws-sdk-s3'
12575
- context[:gem_version] = '1.81.1'
13458
+ context[:gem_version] = '1.84.0'
12576
13459
  Seahorse::Client::Request.new(handlers, context)
12577
13460
  end
12578
13461