aws-sdk-s3 1.81.1 → 1.84.0

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