aws-sdk-s3 1.80.0 → 1.83.1

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: bc75a520a6c1b6340eb521f998e67b87e550ac1f42c9d42e231ed05888b1c6c2
4
- data.tar.gz: 0feaa57eedfcefcbda04ef354e10527bda784dfe6fea4bdbea58a6abc3854c92
3
+ metadata.gz: 06754c5841e3a40c510a9702e1f4de282fc40cf6e1b73cabc97ba25b34b167be
4
+ data.tar.gz: 6cad21e9108cdfbb03ff04dab1954dff05bf3bbee8214f86d04ab9484d75b96b
5
5
  SHA512:
6
- metadata.gz: f50c4622b23112f93d5898b022037cf0150bb5e34760cde431842d556442a582a0a29582c6bd59fd4612b8477ed2a72cb98b334bc3ce1d3628a97585bc5bfe30
7
- data.tar.gz: f10001ae560ef346a37246bd8c514b070e3be9fce9d99156440769f7dc1752534acffbb887945e71aeeb2b3f2c19be76b533f624e2f3e717521d0faaf31f3600
6
+ metadata.gz: f092576cb7a592bc6c5f5b698fef4052356ac37ed583b0688b72edc33f2e6534ed344d18f9c1ca1aeb7ee9f02f239e7fe937ea9d886153ecfeffaac40cc09caf
7
+ data.tar.gz: 572f55dd0322870bdc2ddc3e169e437ea99a87bfbc7c8277145fc15da186a2b9338a3560aa26c102ee856ae505a1a29774ec2683571cfed2f784a80a295c5a19
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-kms'
11
12
  require 'aws-sigv4'
12
13
  require 'aws-sdk-core'
@@ -68,6 +69,6 @@ require_relative 'aws-sdk-s3/event_streams'
68
69
  # @!group service
69
70
  module Aws::S3
70
71
 
71
- GEM_VERSION = '1.80.0'
72
+ GEM_VERSION = '1.83.1'
72
73
 
73
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
  #
@@ -2254,6 +2358,49 @@ module Aws::S3
2254
2358
  req.send_request(options)
2255
2359
  end
2256
2360
 
2361
+ # Removes `OwnershipControls` for an Amazon S3 bucket. To use this
2362
+ # operation, you must have the `s3:PutBucketOwnershipControls`
2363
+ # permission. For more information about Amazon S3 permissions, see
2364
+ # [Specifying Permissions in a Policy][1].
2365
+ #
2366
+ # For information about Amazon S3 Object Ownership, see [Using Object
2367
+ # Ownership][2].
2368
+ #
2369
+ # The following operations are related to
2370
+ # `DeleteBucketOwnershipControls`\:
2371
+ #
2372
+ # * GetBucketOwnershipControls
2373
+ #
2374
+ # * PutBucketOwnershipControls
2375
+ #
2376
+ #
2377
+ #
2378
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
2379
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html
2380
+ #
2381
+ # @option params [required, String] :bucket
2382
+ # The Amazon S3 bucket whose `OwnershipControls` you want to delete.
2383
+ #
2384
+ # @option params [String] :expected_bucket_owner
2385
+ #
2386
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2387
+ #
2388
+ # @example Request syntax with placeholder values
2389
+ #
2390
+ # resp = client.delete_bucket_ownership_controls({
2391
+ # bucket: "BucketName", # required
2392
+ # expected_bucket_owner: "AccountId",
2393
+ # })
2394
+ #
2395
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketOwnershipControls AWS API Documentation
2396
+ #
2397
+ # @overload delete_bucket_ownership_controls(params = {})
2398
+ # @param [Hash] params ({})
2399
+ def delete_bucket_ownership_controls(params = {}, options = {})
2400
+ req = build_request(:delete_bucket_ownership_controls, params)
2401
+ req.send_request(options)
2402
+ end
2403
+
2257
2404
  # This implementation of the DELETE operation uses the policy
2258
2405
  # subresource to delete the policy of a specified bucket. If you are
2259
2406
  # using an identity other than the root user of the AWS account that
@@ -2546,14 +2693,24 @@ module Aws::S3
2546
2693
  # When using this API with an access point, you must direct requests to
2547
2694
  # the access point hostname. The access point hostname takes the form
2548
2695
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
2549
- # When using this operation using an access point through the AWS SDKs,
2696
+ # When using this operation with an access point through the AWS SDKs,
2550
2697
  # you provide the access point ARN in place of the bucket name. For more
2551
2698
  # information about access point ARNs, see [Using Access Points][1] in
2552
2699
  # the *Amazon Simple Storage Service Developer Guide*.
2553
2700
  #
2701
+ # When using this API with Amazon S3 on Outposts, you must direct
2702
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
2703
+ # takes the form
2704
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
2705
+ # When using this operation using S3 on Outposts through the AWS SDKs,
2706
+ # you provide the Outposts bucket ARN in place of the bucket name. For
2707
+ # more information about S3 on Outposts ARNs, see [Using S3 on
2708
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
2709
+ #
2554
2710
  #
2555
2711
  #
2556
2712
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
2713
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2557
2714
  #
2558
2715
  # @option params [required, String] :key
2559
2716
  # Key name of the object to delete.
@@ -2594,6 +2751,15 @@ module Aws::S3
2594
2751
  # * {Types::DeleteObjectOutput#request_charged #request_charged} => String
2595
2752
  #
2596
2753
  #
2754
+ # @example Example: To delete an object (from a non-versioned bucket)
2755
+ #
2756
+ # # The following example deletes an object from a non-versioned bucket.
2757
+ #
2758
+ # resp = client.delete_object({
2759
+ # bucket: "ExampleBucket",
2760
+ # key: "HappyFace.jpg",
2761
+ # })
2762
+ #
2597
2763
  # @example Example: To delete an object
2598
2764
  #
2599
2765
  # # The following example deletes an object from an S3 bucket.
@@ -2607,15 +2773,6 @@ module Aws::S3
2607
2773
  # {
2608
2774
  # }
2609
2775
  #
2610
- # @example Example: To delete an object (from a non-versioned bucket)
2611
- #
2612
- # # The following example deletes an object from a non-versioned bucket.
2613
- #
2614
- # resp = client.delete_object({
2615
- # bucket: "ExampleBucket",
2616
- # key: "HappyFace.jpg",
2617
- # })
2618
- #
2619
2776
  # @example Request syntax with placeholder values
2620
2777
  #
2621
2778
  # resp = client.delete_object({
@@ -2672,14 +2829,24 @@ module Aws::S3
2672
2829
  # When using this API with an access point, you must direct requests to
2673
2830
  # the access point hostname. The access point hostname takes the form
2674
2831
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
2675
- # When using this operation using an access point through the AWS SDKs,
2832
+ # When using this operation with an access point through the AWS SDKs,
2676
2833
  # you provide the access point ARN in place of the bucket name. For more
2677
2834
  # information about access point ARNs, see [Using Access Points][1] in
2678
2835
  # the *Amazon Simple Storage Service Developer Guide*.
2679
2836
  #
2837
+ # When using this API with Amazon S3 on Outposts, you must direct
2838
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
2839
+ # takes the form
2840
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
2841
+ # When using this operation using S3 on Outposts through the AWS SDKs,
2842
+ # you provide the Outposts bucket ARN in place of the bucket name. For
2843
+ # more information about S3 on Outposts ARNs, see [Using S3 on
2844
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
2845
+ #
2680
2846
  #
2681
2847
  #
2682
2848
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
2849
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2683
2850
  #
2684
2851
  # @option params [required, String] :key
2685
2852
  # Name of the object key.
@@ -2697,35 +2864,35 @@ module Aws::S3
2697
2864
  # * {Types::DeleteObjectTaggingOutput#version_id #version_id} => String
2698
2865
  #
2699
2866
  #
2700
- # @example Example: To remove tag set from an object version
2867
+ # @example Example: To remove tag set from an object
2701
2868
  #
2702
- # # The following example removes tag set associated with the specified object version. The request specifies both the
2703
- # # object key and object version.
2869
+ # # The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the
2870
+ # # operation removes tag set from the latest object version.
2704
2871
  #
2705
2872
  # resp = client.delete_object_tagging({
2706
2873
  # bucket: "examplebucket",
2707
2874
  # key: "HappyFace.jpg",
2708
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2709
2875
  # })
2710
2876
  #
2711
2877
  # resp.to_h outputs the following:
2712
2878
  # {
2713
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2879
+ # version_id: "null",
2714
2880
  # }
2715
2881
  #
2716
- # @example Example: To remove tag set from an object
2882
+ # @example Example: To remove tag set from an object version
2717
2883
  #
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.
2884
+ # # The following example removes tag set associated with the specified object version. The request specifies both the
2885
+ # # object key and object version.
2720
2886
  #
2721
2887
  # resp = client.delete_object_tagging({
2722
2888
  # bucket: "examplebucket",
2723
2889
  # key: "HappyFace.jpg",
2890
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2724
2891
  # })
2725
2892
  #
2726
2893
  # resp.to_h outputs the following:
2727
2894
  # {
2728
- # version_id: "null",
2895
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
2729
2896
  # }
2730
2897
  #
2731
2898
  # @example Request syntax with placeholder values
@@ -2809,14 +2976,24 @@ module Aws::S3
2809
2976
  # When using this API with an access point, you must direct requests to
2810
2977
  # the access point hostname. The access point hostname takes the form
2811
2978
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
2812
- # When using this operation using an access point through the AWS SDKs,
2979
+ # When using this operation with an access point through the AWS SDKs,
2813
2980
  # you provide the access point ARN in place of the bucket name. For more
2814
2981
  # information about access point ARNs, see [Using Access Points][1] in
2815
2982
  # the *Amazon Simple Storage Service Developer Guide*.
2816
2983
  #
2984
+ # When using this API with Amazon S3 on Outposts, you must direct
2985
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
2986
+ # takes the form
2987
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
2988
+ # When using this operation using S3 on Outposts through the AWS SDKs,
2989
+ # you provide the Outposts bucket ARN in place of the bucket name. For
2990
+ # more information about S3 on Outposts ARNs, see [Using S3 on
2991
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
2992
+ #
2817
2993
  #
2818
2994
  #
2819
2995
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
2996
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2820
2997
  #
2821
2998
  # @option params [required, Types::Delete] :delete
2822
2999
  # Container for the request.
@@ -2855,22 +3032,20 @@ module Aws::S3
2855
3032
  # * {Types::DeleteObjectsOutput#errors #errors} => Array&lt;Types::Error&gt;
2856
3033
  #
2857
3034
  #
2858
- # @example Example: To delete multiple object versions from a versioned bucket
3035
+ # @example Example: To delete multiple objects from a versioned bucket
2859
3036
  #
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.
3037
+ # # The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the
3038
+ # # object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
2862
3039
  #
2863
3040
  # resp = client.delete_objects({
2864
3041
  # bucket: "examplebucket",
2865
3042
  # delete: {
2866
3043
  # objects: [
2867
3044
  # {
2868
- # key: "HappyFace.jpg",
2869
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3045
+ # key: "objectkey1",
2870
3046
  # },
2871
3047
  # {
2872
- # key: "HappyFace.jpg",
2873
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3048
+ # key: "objectkey2",
2874
3049
  # },
2875
3050
  # ],
2876
3051
  # quiet: false,
@@ -2881,30 +3056,34 @@ module Aws::S3
2881
3056
  # {
2882
3057
  # deleted: [
2883
3058
  # {
2884
- # key: "HappyFace.jpg",
2885
- # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
3059
+ # delete_marker: true,
3060
+ # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
3061
+ # key: "objectkey1",
2886
3062
  # },
2887
3063
  # {
2888
- # key: "HappyFace.jpg",
2889
- # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
3064
+ # delete_marker: true,
3065
+ # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
3066
+ # key: "objectkey2",
2890
3067
  # },
2891
3068
  # ],
2892
3069
  # }
2893
3070
  #
2894
- # @example Example: To delete multiple objects from a versioned bucket
3071
+ # @example Example: To delete multiple object versions from a versioned bucket
2895
3072
  #
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.
3073
+ # # The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object
3074
+ # # versions and returns the key and versions of deleted objects in the response.
2898
3075
  #
2899
3076
  # resp = client.delete_objects({
2900
3077
  # bucket: "examplebucket",
2901
3078
  # delete: {
2902
3079
  # objects: [
2903
3080
  # {
2904
- # key: "objectkey1",
3081
+ # key: "HappyFace.jpg",
3082
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2905
3083
  # },
2906
3084
  # {
2907
- # key: "objectkey2",
3085
+ # key: "HappyFace.jpg",
3086
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2908
3087
  # },
2909
3088
  # ],
2910
3089
  # quiet: false,
@@ -2915,14 +3094,12 @@ module Aws::S3
2915
3094
  # {
2916
3095
  # deleted: [
2917
3096
  # {
2918
- # delete_marker: true,
2919
- # delete_marker_version_id: "A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F",
2920
- # key: "objectkey1",
3097
+ # key: "HappyFace.jpg",
3098
+ # version_id: "yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd",
2921
3099
  # },
2922
3100
  # {
2923
- # delete_marker: true,
2924
- # delete_marker_version_id: "iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt",
2925
- # key: "objectkey2",
3101
+ # key: "HappyFace.jpg",
3102
+ # version_id: "2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b",
2926
3103
  # },
2927
3104
  # ],
2928
3105
  # }
@@ -3061,7 +3238,7 @@ module Aws::S3
3061
3238
  # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
3062
3239
  #
3063
3240
  # @option params [required, String] :bucket
3064
- # Name of the bucket for which the accelerate configuration is
3241
+ # The name of the bucket for which the accelerate configuration is
3065
3242
  # retrieved.
3066
3243
  #
3067
3244
  # @option params [String] :expected_bucket_owner
@@ -3578,8 +3755,8 @@ module Aws::S3
3578
3755
  # combination of both. Accordingly, this section describes the latest
3579
3756
  # API. The response describes the new filter element that you can use to
3580
3757
  # 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
3758
+ # applies. If you are using a previous version of the lifecycle
3759
+ # configuration, it still works. For the earlier API description, see
3583
3760
  # [GetBucketLifecycle][1].
3584
3761
  #
3585
3762
  # </note>
@@ -3907,7 +4084,8 @@ module Aws::S3
3907
4084
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
3908
4085
  #
3909
4086
  # @option params [required, String] :bucket
3910
- # Name of the bucket for which to get the notification configuration.
4087
+ # The name of the bucket for which to get the notification
4088
+ # configuration.
3911
4089
  #
3912
4090
  # @option params [String] :expected_bucket_owner
3913
4091
  # The account id of the expected bucket owner. If the bucket is owned by
@@ -4040,7 +4218,8 @@ module Aws::S3
4040
4218
  # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html
4041
4219
  #
4042
4220
  # @option params [required, String] :bucket
4043
- # Name of the bucket for which to get the notification configuration.
4221
+ # The name of the bucket for which to get the notification
4222
+ # configuration.
4044
4223
  #
4045
4224
  # @option params [String] :expected_bucket_owner
4046
4225
  # The account id of the expected bucket owner. If the bucket is owned by
@@ -4096,6 +4275,56 @@ module Aws::S3
4096
4275
  req.send_request(options)
4097
4276
  end
4098
4277
 
4278
+ # Retrieves `OwnershipControls` for an Amazon S3 bucket. To use this
4279
+ # operation, you must have the `s3:GetBucketOwnershipControls`
4280
+ # permission. For more information about Amazon S3 permissions, see
4281
+ # [Specifying Permissions in a Policy][1].
4282
+ #
4283
+ # For information about Amazon S3 Object Ownership, see [Using Object
4284
+ # Ownership][2].
4285
+ #
4286
+ # The following operations are related to `GetBucketOwnershipControls`\:
4287
+ #
4288
+ # * PutBucketOwnershipControls
4289
+ #
4290
+ # * DeleteBucketOwnershipControls
4291
+ #
4292
+ #
4293
+ #
4294
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
4295
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html
4296
+ #
4297
+ # @option params [required, String] :bucket
4298
+ # The name of the Amazon S3 bucket whose `OwnershipControls` you want to
4299
+ # retrieve.
4300
+ #
4301
+ # @option params [String] :expected_bucket_owner
4302
+ #
4303
+ # @return [Types::GetBucketOwnershipControlsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4304
+ #
4305
+ # * {Types::GetBucketOwnershipControlsOutput#ownership_controls #ownership_controls} => Types::OwnershipControls
4306
+ #
4307
+ # @example Request syntax with placeholder values
4308
+ #
4309
+ # resp = client.get_bucket_ownership_controls({
4310
+ # bucket: "BucketName", # required
4311
+ # expected_bucket_owner: "AccountId",
4312
+ # })
4313
+ #
4314
+ # @example Response structure
4315
+ #
4316
+ # resp.ownership_controls.rules #=> Array
4317
+ # resp.ownership_controls.rules[0].object_ownership #=> String, one of "BucketOwnerPreferred", "ObjectWriter"
4318
+ #
4319
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketOwnershipControls AWS API Documentation
4320
+ #
4321
+ # @overload get_bucket_ownership_controls(params = {})
4322
+ # @param [Hash] params ({})
4323
+ def get_bucket_ownership_controls(params = {}, options = {})
4324
+ req = build_request(:get_bucket_ownership_controls, params)
4325
+ req.send_request(options)
4326
+ end
4327
+
4099
4328
  # Returns the policy of a specified bucket. If you are using an identity
4100
4329
  # other than the root user of the AWS account that owns the bucket, the
4101
4330
  # calling identity must have the `GetBucketPolicy` permissions on the
@@ -4332,7 +4561,7 @@ module Aws::S3
4332
4561
  # resp.replication_configuration.rules[0].existing_object_replication.status #=> String, one of "Enabled", "Disabled"
4333
4562
  # resp.replication_configuration.rules[0].destination.bucket #=> String
4334
4563
  # 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"
4564
+ # 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
4565
  # resp.replication_configuration.rules[0].destination.access_control_translation.owner #=> String, one of "Destination"
4337
4566
  # resp.replication_configuration.rules[0].destination.encryption_configuration.replica_kms_key_id #=> String
4338
4567
  # resp.replication_configuration.rules[0].destination.replication_time.status #=> String, one of "Enabled", "Disabled"
@@ -4818,14 +5047,24 @@ module Aws::S3
4818
5047
  # When using this API with an access point, you must direct requests to
4819
5048
  # the access point hostname. The access point hostname takes the form
4820
5049
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
4821
- # When using this operation using an access point through the AWS SDKs,
5050
+ # When using this operation with an access point through the AWS SDKs,
4822
5051
  # you provide the access point ARN in place of the bucket name. For more
4823
5052
  # information about access point ARNs, see [Using Access Points][1] in
4824
5053
  # the *Amazon Simple Storage Service Developer Guide*.
4825
5054
  #
5055
+ # When using this API with Amazon S3 on Outposts, you must direct
5056
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5057
+ # takes the form
5058
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
5059
+ # When using this operation using S3 on Outposts through the AWS SDKs,
5060
+ # you provide the Outposts bucket ARN in place of the bucket name. For
5061
+ # more information about S3 on Outposts ARNs, see [Using S3 on
5062
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
5063
+ #
4826
5064
  #
4827
5065
  #
4828
5066
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
5067
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
4829
5068
  #
4830
5069
  # @option params [String] :if_match
4831
5070
  # Return the object only if its entity tag (ETag) is the same as the one
@@ -4955,49 +5194,49 @@ module Aws::S3
4955
5194
  # * {Types::GetObjectOutput#object_lock_legal_hold_status #object_lock_legal_hold_status} => String
4956
5195
  #
4957
5196
  #
4958
- # @example Example: To retrieve a byte range of an object
5197
+ # @example Example: To retrieve an object
4959
5198
  #
4960
- # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
4961
- # # specific byte range.
5199
+ # # The following example retrieves an object for an S3 bucket.
4962
5200
  #
4963
5201
  # resp = client.get_object({
4964
5202
  # bucket: "examplebucket",
4965
- # key: "SampleFile.txt",
4966
- # range: "bytes=0-9",
5203
+ # key: "HappyFace.jpg",
4967
5204
  # })
4968
5205
  #
4969
5206
  # resp.to_h outputs the following:
4970
5207
  # {
4971
5208
  # accept_ranges: "bytes",
4972
- # content_length: 10,
4973
- # content_range: "bytes 0-9/43",
4974
- # content_type: "text/plain",
4975
- # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
4976
- # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
5209
+ # content_length: 3191,
5210
+ # content_type: "image/jpeg",
5211
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
5212
+ # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
4977
5213
  # metadata: {
4978
5214
  # },
5215
+ # tag_count: 2,
4979
5216
  # version_id: "null",
4980
5217
  # }
4981
5218
  #
4982
- # @example Example: To retrieve an object
5219
+ # @example Example: To retrieve a byte range of an object
4983
5220
  #
4984
- # # The following example retrieves an object for an S3 bucket.
5221
+ # # The following example retrieves an object for an S3 bucket. The request specifies the range header to retrieve a
5222
+ # # specific byte range.
4985
5223
  #
4986
5224
  # resp = client.get_object({
4987
5225
  # bucket: "examplebucket",
4988
- # key: "HappyFace.jpg",
5226
+ # key: "SampleFile.txt",
5227
+ # range: "bytes=0-9",
4989
5228
  # })
4990
5229
  #
4991
5230
  # resp.to_h outputs the following:
4992
5231
  # {
4993
5232
  # accept_ranges: "bytes",
4994
- # content_length: 3191,
4995
- # content_type: "image/jpeg",
4996
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
4997
- # last_modified: Time.parse("Thu, 15 Dec 2016 01:19:41 GMT"),
5233
+ # content_length: 10,
5234
+ # content_range: "bytes 0-9/43",
5235
+ # content_type: "text/plain",
5236
+ # etag: "\"0d94420ffd0bc68cd3d152506b97a9cc\"",
5237
+ # last_modified: Time.parse("Thu, 09 Oct 2014 22:57:28 GMT"),
4998
5238
  # metadata: {
4999
5239
  # },
5000
- # tag_count: 2,
5001
5240
  # version_id: "null",
5002
5241
  # }
5003
5242
  #
@@ -5082,7 +5321,7 @@ module Aws::S3
5082
5321
  # resp.sse_customer_algorithm #=> String
5083
5322
  # resp.sse_customer_key_md5 #=> String
5084
5323
  # resp.ssekms_key_id #=> String
5085
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE"
5324
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
5086
5325
  # resp.request_charged #=> String, one of "requester"
5087
5326
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA"
5088
5327
  # resp.parts_count #=> Integer
@@ -5101,7 +5340,9 @@ module Aws::S3
5101
5340
  end
5102
5341
 
5103
5342
  # Returns the access control list (ACL) of an object. To use this
5104
- # operation, you must have READ\_ACP access to the object.
5343
+ # operation, you must have `READ_ACP` access to the object.
5344
+ #
5345
+ # This action is not supported by Amazon S3 on Outposts.
5105
5346
  #
5106
5347
  # **Versioning**
5107
5348
  #
@@ -5130,7 +5371,7 @@ module Aws::S3
5130
5371
  # When using this API with an access point, you must direct requests to
5131
5372
  # the access point hostname. The access point hostname takes the form
5132
5373
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5133
- # When using this operation using an access point through the AWS SDKs,
5374
+ # When using this operation with an access point through the AWS SDKs,
5134
5375
  # you provide the access point ARN in place of the bucket name. For more
5135
5376
  # information about access point ARNs, see [Using Access Points][1] in
5136
5377
  # the *Amazon Simple Storage Service Developer Guide*.
@@ -5254,6 +5495,8 @@ module Aws::S3
5254
5495
  # Gets an object's current Legal Hold status. For more information, see
5255
5496
  # [Locking Objects][1].
5256
5497
  #
5498
+ # This action is not supported by Amazon S3 on Outposts.
5499
+ #
5257
5500
  #
5258
5501
  #
5259
5502
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -5265,7 +5508,7 @@ module Aws::S3
5265
5508
  # When using this API with an access point, you must direct requests to
5266
5509
  # the access point hostname. The access point hostname takes the form
5267
5510
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5268
- # When using this operation using an access point through the AWS SDKs,
5511
+ # When using this operation with an access point through the AWS SDKs,
5269
5512
  # you provide the access point ARN in place of the bucket name. For more
5270
5513
  # information about access point ARNs, see [Using Access Points][1] in
5271
5514
  # the *Amazon Simple Storage Service Developer Guide*.
@@ -5337,6 +5580,18 @@ module Aws::S3
5337
5580
  # @option params [required, String] :bucket
5338
5581
  # The bucket whose Object Lock configuration you want to retrieve.
5339
5582
  #
5583
+ # When using this API with an access point, you must direct requests to
5584
+ # the access point hostname. The access point hostname takes the form
5585
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5586
+ # When using this operation with an access point through the AWS SDKs,
5587
+ # you provide the access point ARN in place of the bucket name. For more
5588
+ # information about access point ARNs, see [Using Access Points][1] in
5589
+ # the *Amazon Simple Storage Service Developer Guide*.
5590
+ #
5591
+ #
5592
+ #
5593
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
5594
+ #
5340
5595
  # @option params [String] :expected_bucket_owner
5341
5596
  # The account id of the expected bucket owner. If the bucket is owned by
5342
5597
  # a different account, the request will fail with an HTTP `403 (Access
@@ -5372,6 +5627,8 @@ module Aws::S3
5372
5627
  # Retrieves an object's retention settings. For more information, see
5373
5628
  # [Locking Objects][1].
5374
5629
  #
5630
+ # This action is not supported by Amazon S3 on Outposts.
5631
+ #
5375
5632
  #
5376
5633
  #
5377
5634
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
@@ -5383,7 +5640,7 @@ module Aws::S3
5383
5640
  # When using this API with an access point, you must direct requests to
5384
5641
  # the access point hostname. The access point hostname takes the form
5385
5642
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5386
- # When using this operation using an access point through the AWS SDKs,
5643
+ # When using this operation with an access point through the AWS SDKs,
5387
5644
  # you provide the access point ARN in place of the bucket name. For more
5388
5645
  # information about access point ARNs, see [Using Access Points][1] in
5389
5646
  # the *Amazon Simple Storage Service Developer Guide*.
@@ -5478,14 +5735,24 @@ module Aws::S3
5478
5735
  # When using this API with an access point, you must direct requests to
5479
5736
  # the access point hostname. The access point hostname takes the form
5480
5737
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5481
- # When using this operation using an access point through the AWS SDKs,
5738
+ # When using this operation with an access point through the AWS SDKs,
5482
5739
  # you provide the access point ARN in place of the bucket name. For more
5483
5740
  # information about access point ARNs, see [Using Access Points][1] in
5484
5741
  # the *Amazon Simple Storage Service Developer Guide*.
5485
5742
  #
5743
+ # When using this API with Amazon S3 on Outposts, you must direct
5744
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5745
+ # takes the form
5746
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
5747
+ # When using this operation using S3 on Outposts through the AWS SDKs,
5748
+ # you provide the Outposts bucket ARN in place of the bucket name. For
5749
+ # more information about S3 on Outposts ARNs, see [Using S3 on
5750
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
5751
+ #
5486
5752
  #
5487
5753
  #
5488
5754
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
5755
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
5489
5756
  #
5490
5757
  # @option params [required, String] :key
5491
5758
  # Object key for which to get the tagging information.
@@ -5504,49 +5771,49 @@ module Aws::S3
5504
5771
  # * {Types::GetObjectTaggingOutput#tag_set #tag_set} => Array&lt;Types::Tag&gt;
5505
5772
  #
5506
5773
  #
5507
- # @example Example: To retrieve tag set of an object
5774
+ # @example Example: To retrieve tag set of a specific object version
5508
5775
  #
5509
- # # The following example retrieves tag set of an object.
5776
+ # # The following example retrieves tag set of an object. The request specifies object version.
5510
5777
  #
5511
5778
  # resp = client.get_object_tagging({
5512
5779
  # bucket: "examplebucket",
5513
- # key: "HappyFace.jpg",
5780
+ # key: "exampleobject",
5781
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5514
5782
  # })
5515
5783
  #
5516
5784
  # resp.to_h outputs the following:
5517
5785
  # {
5518
5786
  # tag_set: [
5519
5787
  # {
5520
- # key: "Key4",
5521
- # value: "Value4",
5522
- # },
5523
- # {
5524
- # key: "Key3",
5525
- # value: "Value3",
5788
+ # key: "Key1",
5789
+ # value: "Value1",
5526
5790
  # },
5527
5791
  # ],
5528
- # version_id: "null",
5792
+ # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5529
5793
  # }
5530
5794
  #
5531
- # @example Example: To retrieve tag set of a specific object version
5795
+ # @example Example: To retrieve tag set of an object
5532
5796
  #
5533
- # # The following example retrieves tag set of an object. The request specifies object version.
5797
+ # # The following example retrieves tag set of an object.
5534
5798
  #
5535
5799
  # resp = client.get_object_tagging({
5536
5800
  # bucket: "examplebucket",
5537
- # key: "exampleobject",
5538
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5801
+ # key: "HappyFace.jpg",
5539
5802
  # })
5540
5803
  #
5541
5804
  # resp.to_h outputs the following:
5542
5805
  # {
5543
5806
  # tag_set: [
5544
5807
  # {
5545
- # key: "Key1",
5546
- # value: "Value1",
5808
+ # key: "Key4",
5809
+ # value: "Value4",
5810
+ # },
5811
+ # {
5812
+ # key: "Key3",
5813
+ # value: "Value3",
5547
5814
  # },
5548
5815
  # ],
5549
- # version_id: "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI",
5816
+ # version_id: "null",
5550
5817
  # }
5551
5818
  #
5552
5819
  # @example Request syntax with placeholder values
@@ -5574,18 +5841,20 @@ module Aws::S3
5574
5841
  req.send_request(options)
5575
5842
  end
5576
5843
 
5577
- # Return torrent files from a bucket. BitTorrent can save you bandwidth
5844
+ # Returns torrent files from a bucket. BitTorrent can save you bandwidth
5578
5845
  # when you're distributing large files. For more information about
5579
- # BitTorrent, see [Amazon S3 Torrent][1].
5846
+ # BitTorrent, see [Using BitTorrent with Amazon S3][1].
5580
5847
  #
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
5848
+ # <note markdown="1"> You can get torrent only for objects that are less than 5 GB in size,
5849
+ # and that are not encrypted using server-side encryption with a
5583
5850
  # customer-provided encryption key.
5584
5851
  #
5585
5852
  # </note>
5586
5853
  #
5587
5854
  # To use GET, you must have READ access to the object.
5588
5855
  #
5856
+ # This action is not supported by Amazon S3 on Outposts.
5857
+ #
5589
5858
  # The following operation is related to `GetObjectTorrent`\:
5590
5859
  #
5591
5860
  # * [GetObject][2]
@@ -5757,6 +6026,28 @@ module Aws::S3
5757
6026
  # @option params [required, String] :bucket
5758
6027
  # The bucket name.
5759
6028
  #
6029
+ # When using this API with an access point, you must direct requests to
6030
+ # the access point hostname. The access point hostname takes the form
6031
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
6032
+ # When using this operation with an access point through the AWS SDKs,
6033
+ # you provide the access point ARN in place of the bucket name. For more
6034
+ # information about access point ARNs, see [Using Access Points][1] in
6035
+ # the *Amazon Simple Storage Service Developer Guide*.
6036
+ #
6037
+ # When using this API with Amazon S3 on Outposts, you must direct
6038
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6039
+ # takes the form
6040
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6041
+ # When using this operation using S3 on Outposts through the AWS SDKs,
6042
+ # you provide the Outposts bucket ARN in place of the bucket name. For
6043
+ # more information about S3 on Outposts ARNs, see [Using S3 on
6044
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
6045
+ #
6046
+ #
6047
+ #
6048
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
6049
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
6050
+ #
5760
6051
  # @option params [String] :expected_bucket_owner
5761
6052
  # The account id of the expected bucket owner. If the bucket is owned by
5762
6053
  # a different account, the request will fail with an HTTP `403 (Access
@@ -5882,6 +6173,28 @@ module Aws::S3
5882
6173
  # @option params [required, String] :bucket
5883
6174
  # The name of the bucket containing the object.
5884
6175
  #
6176
+ # When using this API with an access point, you must direct requests to
6177
+ # the access point hostname. The access point hostname takes the form
6178
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
6179
+ # When using this operation with an access point through the AWS SDKs,
6180
+ # you provide the access point ARN in place of the bucket name. For more
6181
+ # information about access point ARNs, see [Using Access Points][1] in
6182
+ # the *Amazon Simple Storage Service Developer Guide*.
6183
+ #
6184
+ # When using this API with Amazon S3 on Outposts, you must direct
6185
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6186
+ # takes the form
6187
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6188
+ # When using this operation using S3 on Outposts through the AWS SDKs,
6189
+ # you provide the Outposts bucket ARN in place of the bucket name. For
6190
+ # more information about S3 on Outposts ARNs, see [Using S3 on
6191
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
6192
+ #
6193
+ #
6194
+ #
6195
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
6196
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
6197
+ #
5885
6198
  # @option params [String] :if_match
5886
6199
  # Return the object only if its entity tag (ETag) is the same as the one
5887
6200
  # specified, otherwise return a 412 (precondition failed).
@@ -5904,13 +6217,17 @@ module Aws::S3
5904
6217
  # @option params [String] :range
5905
6218
  # Downloads the specified range bytes of an object. For more information
5906
6219
  # about the HTTP Range header, see
5907
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35]().
6220
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
5908
6221
  #
5909
6222
  # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
5910
6223
  # `GET` request.
5911
6224
  #
5912
6225
  # </note>
5913
6226
  #
6227
+ #
6228
+ #
6229
+ # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
6230
+ #
5914
6231
  # @option params [String] :version_id
5915
6232
  # VersionId used to reference a specific version of the object.
5916
6233
  #
@@ -6050,7 +6367,7 @@ module Aws::S3
6050
6367
  # resp.sse_customer_algorithm #=> String
6051
6368
  # resp.sse_customer_key_md5 #=> String
6052
6369
  # resp.ssekms_key_id #=> String
6053
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE"
6370
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
6054
6371
  # resp.request_charged #=> String, one of "requester"
6055
6372
  # resp.replication_status #=> String, one of "COMPLETE", "PENDING", "FAILED", "REPLICA"
6056
6373
  # resp.parts_count #=> Integer
@@ -6472,19 +6789,29 @@ module Aws::S3
6472
6789
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
6473
6790
  #
6474
6791
  # @option params [required, String] :bucket
6475
- # Name of the bucket to which the multipart upload was initiated.
6792
+ # The name of the bucket to which the multipart upload was initiated.
6476
6793
  #
6477
6794
  # When using this API with an access point, you must direct requests to
6478
6795
  # the access point hostname. The access point hostname takes the form
6479
6796
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
6480
- # When using this operation using an access point through the AWS SDKs,
6797
+ # When using this operation with an access point through the AWS SDKs,
6481
6798
  # you provide the access point ARN in place of the bucket name. For more
6482
6799
  # information about access point ARNs, see [Using Access Points][1] in
6483
6800
  # the *Amazon Simple Storage Service Developer Guide*.
6484
6801
  #
6802
+ # When using this API with Amazon S3 on Outposts, you must direct
6803
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6804
+ # takes the form
6805
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6806
+ # When using this operation using S3 on Outposts through the AWS SDKs,
6807
+ # you provide the Outposts bucket ARN in place of the bucket name. For
6808
+ # more information about S3 on Outposts ARNs, see [Using S3 on
6809
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
6810
+ #
6485
6811
  #
6486
6812
  #
6487
6813
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
6814
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
6488
6815
  #
6489
6816
  # @option params [String] :delimiter
6490
6817
  # Character you use to group keys.
@@ -6682,7 +7009,7 @@ module Aws::S3
6682
7009
  # resp.uploads[0].upload_id #=> String
6683
7010
  # resp.uploads[0].key #=> String
6684
7011
  # 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"
7012
+ # resp.uploads[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
6686
7013
  # resp.uploads[0].owner.display_name #=> String
6687
7014
  # resp.uploads[0].owner.id #=> String
6688
7015
  # resp.uploads[0].initiator.id #=> String
@@ -6700,7 +7027,7 @@ module Aws::S3
6700
7027
  req.send_request(options)
6701
7028
  end
6702
7029
 
6703
- # Returns metadata about all of the versions of objects in a bucket. You
7030
+ # Returns metadata about all versions of the objects in a bucket. You
6704
7031
  # can also use request parameters as selection criteria to return
6705
7032
  # metadata about a subset of all the object versions.
6706
7033
  #
@@ -6712,6 +7039,8 @@ module Aws::S3
6712
7039
  #
6713
7040
  # To use this operation, you must have READ access to the bucket.
6714
7041
  #
7042
+ # This action is not supported by Amazon S3 on Outposts.
7043
+ #
6715
7044
  # The following operations are related to `ListObjectVersions`\:
6716
7045
  #
6717
7046
  # * [ListObjectsV2][1]
@@ -6732,18 +7061,6 @@ module Aws::S3
6732
7061
  # @option params [required, String] :bucket
6733
7062
  # The bucket name that contains the objects.
6734
7063
  #
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
7064
  # @option params [String] :delimiter
6748
7065
  # A delimiter is a character that you specify to group keys. All keys
6749
7066
  # that contain the same string between the `prefix` and the first
@@ -6936,6 +7253,28 @@ module Aws::S3
6936
7253
  # @option params [required, String] :bucket
6937
7254
  # The name of the bucket containing the objects.
6938
7255
  #
7256
+ # When using this API with an access point, you must direct requests to
7257
+ # the access point hostname. The access point hostname takes the form
7258
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7259
+ # When using this operation with an access point through the AWS SDKs,
7260
+ # you provide the access point ARN in place of the bucket name. For more
7261
+ # information about access point ARNs, see [Using Access Points][1] in
7262
+ # the *Amazon Simple Storage Service Developer Guide*.
7263
+ #
7264
+ # When using this API with Amazon S3 on Outposts, you must direct
7265
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7266
+ # takes the form
7267
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7268
+ # When using this operation using S3 on Outposts through the AWS SDKs,
7269
+ # you provide the Outposts bucket ARN in place of the bucket name. For
7270
+ # more information about S3 on Outposts ARNs, see [Using S3 on
7271
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
7272
+ #
7273
+ #
7274
+ #
7275
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
7276
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
7277
+ #
6939
7278
  # @option params [String] :delimiter
6940
7279
  # A delimiter is a character you use to group keys.
6941
7280
  #
@@ -7045,7 +7384,7 @@ module Aws::S3
7045
7384
  # resp.contents[0].last_modified #=> Time
7046
7385
  # resp.contents[0].etag #=> String
7047
7386
  # 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"
7387
+ # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS"
7049
7388
  # resp.contents[0].owner.display_name #=> String
7050
7389
  # resp.contents[0].owner.id #=> String
7051
7390
  # resp.name #=> String
@@ -7111,14 +7450,24 @@ module Aws::S3
7111
7450
  # When using this API with an access point, you must direct requests to
7112
7451
  # the access point hostname. The access point hostname takes the form
7113
7452
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7114
- # When using this operation using an access point through the AWS SDKs,
7453
+ # When using this operation with an access point through the AWS SDKs,
7115
7454
  # you provide the access point ARN in place of the bucket name. For more
7116
7455
  # information about access point ARNs, see [Using Access Points][1] in
7117
7456
  # the *Amazon Simple Storage Service Developer Guide*.
7118
7457
  #
7458
+ # When using this API with Amazon S3 on Outposts, you must direct
7459
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7460
+ # takes the form
7461
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7462
+ # When using this operation using S3 on Outposts through the AWS SDKs,
7463
+ # you provide the Outposts bucket ARN in place of the bucket name. For
7464
+ # more information about S3 on Outposts ARNs, see [Using S3 on
7465
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
7466
+ #
7119
7467
  #
7120
7468
  #
7121
7469
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
7470
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
7122
7471
  #
7123
7472
  # @option params [String] :delimiter
7124
7473
  # A delimiter is a character you use to group keys.
@@ -7236,7 +7585,7 @@ module Aws::S3
7236
7585
  # resp.contents[0].last_modified #=> Time
7237
7586
  # resp.contents[0].etag #=> String
7238
7587
  # 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"
7588
+ # resp.contents[0].storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "GLACIER", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", "OUTPOSTS"
7240
7589
  # resp.contents[0].owner.display_name #=> String
7241
7590
  # resp.contents[0].owner.id #=> String
7242
7591
  # resp.name #=> String
@@ -7302,19 +7651,29 @@ module Aws::S3
7302
7651
  # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
7303
7652
  #
7304
7653
  # @option params [required, String] :bucket
7305
- # Name of the bucket to which the parts are being uploaded.
7654
+ # The name of the bucket to which the parts are being uploaded.
7306
7655
  #
7307
7656
  # When using this API with an access point, you must direct requests to
7308
7657
  # the access point hostname. The access point hostname takes the form
7309
7658
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7310
- # When using this operation using an access point through the AWS SDKs,
7659
+ # When using this operation with an access point through the AWS SDKs,
7311
7660
  # you provide the access point ARN in place of the bucket name. For more
7312
7661
  # information about access point ARNs, see [Using Access Points][1] in
7313
7662
  # the *Amazon Simple Storage Service Developer Guide*.
7314
7663
  #
7664
+ # When using this API with Amazon S3 on Outposts, you must direct
7665
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7666
+ # takes the form
7667
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7668
+ # When using this operation using S3 on Outposts through the AWS SDKs,
7669
+ # you provide the Outposts bucket ARN in place of the bucket name. For
7670
+ # more information about S3 on Outposts ARNs, see [Using S3 on
7671
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
7672
+ #
7315
7673
  #
7316
7674
  #
7317
7675
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
7676
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
7318
7677
  #
7319
7678
  # @option params [required, String] :key
7320
7679
  # Object key for which the multipart upload was initiated.
@@ -7435,7 +7794,7 @@ module Aws::S3
7435
7794
  # resp.initiator.display_name #=> String
7436
7795
  # resp.owner.display_name #=> String
7437
7796
  # resp.owner.id #=> String
7438
- # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE"
7797
+ # resp.storage_class #=> String, one of "STANDARD", "REDUCED_REDUNDANCY", "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", "OUTPOSTS"
7439
7798
  # resp.request_charged #=> String, one of "requester"
7440
7799
  #
7441
7800
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListParts AWS API Documentation
@@ -7494,7 +7853,7 @@ module Aws::S3
7494
7853
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
7495
7854
  #
7496
7855
  # @option params [required, String] :bucket
7497
- # Name of the bucket for which the accelerate configuration is set.
7856
+ # The name of the bucket for which the accelerate configuration is set.
7498
7857
  #
7499
7858
  # @option params [required, Types::AccelerateConfiguration] :accelerate_configuration
7500
7859
  # Container for setting the transfer acceleration state.
@@ -9071,6 +9430,64 @@ module Aws::S3
9071
9430
  req.send_request(options)
9072
9431
  end
9073
9432
 
9433
+ # Creates or modifies `OwnershipControls` for an Amazon S3 bucket. To
9434
+ # use this operation, you must have the `s3:GetBucketOwnershipControls`
9435
+ # permission. For more information about Amazon S3 permissions, see
9436
+ # [Specifying Permissions in a Policy][1].
9437
+ #
9438
+ # For information about Amazon S3 Object Ownership, see [Using Object
9439
+ # Ownership][2].
9440
+ #
9441
+ # The following operations are related to `GetBucketOwnershipControls`\:
9442
+ #
9443
+ # * GetBucketOwnershipControls
9444
+ #
9445
+ # * DeleteBucketOwnershipControls
9446
+ #
9447
+ #
9448
+ #
9449
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
9450
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html
9451
+ #
9452
+ # @option params [required, String] :bucket
9453
+ # The name of the Amazon S3 bucket whose `OwnershipControls` you want to
9454
+ # set.
9455
+ #
9456
+ # @option params [String] :content_md5
9457
+ # The MD5 hash of the `OwnershipControls` request body.
9458
+ #
9459
+ # @option params [String] :expected_bucket_owner
9460
+ #
9461
+ # @option params [required, Types::OwnershipControls] :ownership_controls
9462
+ # The `OwnershipControls` (BucketOwnerPreferred or ObjectWriter) that
9463
+ # you want to apply to this Amazon S3 bucket.
9464
+ #
9465
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
9466
+ #
9467
+ # @example Request syntax with placeholder values
9468
+ #
9469
+ # resp = client.put_bucket_ownership_controls({
9470
+ # bucket: "BucketName", # required
9471
+ # content_md5: "ContentMD5",
9472
+ # expected_bucket_owner: "AccountId",
9473
+ # ownership_controls: { # required
9474
+ # rules: [ # required
9475
+ # {
9476
+ # object_ownership: "BucketOwnerPreferred", # required, accepts BucketOwnerPreferred, ObjectWriter
9477
+ # },
9478
+ # ],
9479
+ # },
9480
+ # })
9481
+ #
9482
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketOwnershipControls AWS API Documentation
9483
+ #
9484
+ # @overload put_bucket_ownership_controls(params = {})
9485
+ # @param [Hash] params ({})
9486
+ def put_bucket_ownership_controls(params = {}, options = {})
9487
+ req = build_request(:put_bucket_ownership_controls, params)
9488
+ req.send_request(options)
9489
+ end
9490
+
9074
9491
  # Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are
9075
9492
  # using an identity other than the root user of the AWS account that
9076
9493
  # owns the bucket, the calling identity must have the `PutBucketPolicy`
@@ -9317,7 +9734,7 @@ module Aws::S3
9317
9734
  # destination: { # required
9318
9735
  # bucket: "BucketName", # required
9319
9736
  # account: "AccountId",
9320
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
9737
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
9321
9738
  # access_control_translation: {
9322
9739
  # owner: "Destination", # required, accepts Destination
9323
9740
  # },
@@ -9880,11 +10297,12 @@ module Aws::S3
9880
10297
  #
9881
10298
  # **Storage Class Options**
9882
10299
  #
9883
- # By default, Amazon S3 uses the STANDARD storage class to store newly
10300
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
9884
10301
  # created objects. The STANDARD storage class provides high durability
9885
10302
  # 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*.
10303
+ # a different Storage Class. Amazon S3 on Outposts only uses the
10304
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][5]
10305
+ # in the *Amazon S3 Service Developer Guide*.
9888
10306
  #
9889
10307
  # **Versioning**
9890
10308
  #
@@ -9920,6 +10338,8 @@ module Aws::S3
9920
10338
  # The canned ACL to apply to the object. For more information, see
9921
10339
  # [Canned ACL][1].
9922
10340
  #
10341
+ # This action is not supported by Amazon S3 on Outposts.
10342
+ #
9923
10343
  #
9924
10344
  #
9925
10345
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
@@ -9928,19 +10348,29 @@ module Aws::S3
9928
10348
  # Object data.
9929
10349
  #
9930
10350
  # @option params [required, String] :bucket
9931
- # Bucket name to which the PUT operation was initiated.
10351
+ # The bucket name to which the PUT operation was initiated.
9932
10352
  #
9933
10353
  # When using this API with an access point, you must direct requests to
9934
10354
  # the access point hostname. The access point hostname takes the form
9935
10355
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
9936
- # When using this operation using an access point through the AWS SDKs,
10356
+ # When using this operation with an access point through the AWS SDKs,
9937
10357
  # you provide the access point ARN in place of the bucket name. For more
9938
10358
  # information about access point ARNs, see [Using Access Points][1] in
9939
10359
  # the *Amazon Simple Storage Service Developer Guide*.
9940
10360
  #
10361
+ # When using this API with Amazon S3 on Outposts, you must direct
10362
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
10363
+ # takes the form
10364
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
10365
+ # When using this operation using S3 on Outposts through the AWS SDKs,
10366
+ # you provide the Outposts bucket ARN in place of the bucket name. For
10367
+ # more information about S3 on Outposts ARNs, see [Using S3 on
10368
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
10369
+ #
9941
10370
  #
9942
10371
  #
9943
10372
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
10373
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
9944
10374
  #
9945
10375
  # @option params [String] :cache_control
9946
10376
  # Can be used to specify caching behavior along the request/reply chain.
@@ -10017,15 +10447,23 @@ module Aws::S3
10017
10447
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
10018
10448
  # object.
10019
10449
  #
10450
+ # This action is not supported by Amazon S3 on Outposts.
10451
+ #
10020
10452
  # @option params [String] :grant_read
10021
10453
  # Allows grantee to read the object data and its metadata.
10022
10454
  #
10455
+ # This action is not supported by Amazon S3 on Outposts.
10456
+ #
10023
10457
  # @option params [String] :grant_read_acp
10024
10458
  # Allows grantee to read the object ACL.
10025
10459
  #
10460
+ # This action is not supported by Amazon S3 on Outposts.
10461
+ #
10026
10462
  # @option params [String] :grant_write_acp
10027
10463
  # Allows grantee to write the ACL for the applicable object.
10028
10464
  #
10465
+ # This action is not supported by Amazon S3 on Outposts.
10466
+ #
10029
10467
  # @option params [required, String] :key
10030
10468
  # Object key for which the PUT operation was initiated.
10031
10469
  #
@@ -10037,8 +10475,16 @@ module Aws::S3
10037
10475
  # Amazon S3 (for example, AES256, aws:kms).
10038
10476
  #
10039
10477
  # @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.
10478
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
10479
+ # created objects. The STANDARD storage class provides high durability
10480
+ # and high availability. Depending on performance needs, you can specify
10481
+ # a different Storage Class. Amazon S3 on Outposts only uses the
10482
+ # OUTPOSTS Storage Class. For more information, see [Storage Classes][1]
10483
+ # in the *Amazon S3 Service Developer Guide*.
10484
+ #
10485
+ #
10486
+ #
10487
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
10042
10488
  #
10043
10489
  # @option params [String] :website_redirect_location
10044
10490
  # If the bucket is configured as a website, redirects requests for this
@@ -10147,40 +10593,62 @@ module Aws::S3
10147
10593
  # * {Types::PutObjectOutput#request_charged #request_charged} => String
10148
10594
  #
10149
10595
  #
10150
- # @example Example: To upload an object and specify server-side encryption and object tags
10596
+ # @example Example: To upload an object
10151
10597
  #
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.
10598
+ # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
10599
+ # # syntax. S3 returns VersionId of the newly created object.
10600
+ #
10601
+ # resp = client.put_object({
10602
+ # body: "HappyFace.jpg",
10603
+ # bucket: "examplebucket",
10604
+ # key: "HappyFace.jpg",
10605
+ # })
10606
+ #
10607
+ # resp.to_h outputs the following:
10608
+ # {
10609
+ # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10610
+ # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
10611
+ # }
10612
+ #
10613
+ # @example Example: To upload object and specify user-defined metadata
10614
+ #
10615
+ # # The following example creates an object. The request also specifies optional metadata. If the bucket is versioning
10616
+ # # enabled, S3 returns version ID in response.
10154
10617
  #
10155
10618
  # resp = client.put_object({
10156
10619
  # body: "filetoupload",
10157
10620
  # bucket: "examplebucket",
10158
10621
  # key: "exampleobject",
10159
- # server_side_encryption: "AES256",
10160
- # tagging: "key1=value1&key2=value2",
10622
+ # metadata: {
10623
+ # "metadata1" => "value1",
10624
+ # "metadata2" => "value2",
10625
+ # },
10161
10626
  # })
10162
10627
  #
10163
10628
  # resp.to_h outputs the following:
10164
10629
  # {
10165
10630
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10166
- # server_side_encryption: "AES256",
10167
- # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
10631
+ # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
10168
10632
  # }
10169
10633
  #
10170
- # @example Example: To create an object.
10634
+ # @example Example: To upload an object and specify server-side encryption and object tags
10171
10635
  #
10172
- # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
10636
+ # # The following example uploads and object. The request specifies the optional server-side encryption option. The request
10637
+ # # also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.
10173
10638
  #
10174
10639
  # resp = client.put_object({
10175
10640
  # body: "filetoupload",
10176
10641
  # bucket: "examplebucket",
10177
- # key: "objectkey",
10642
+ # key: "exampleobject",
10643
+ # server_side_encryption: "AES256",
10644
+ # tagging: "key1=value1&key2=value2",
10178
10645
  # })
10179
10646
  #
10180
10647
  # resp.to_h outputs the following:
10181
10648
  # {
10182
10649
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10183
- # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
10650
+ # server_side_encryption: "AES256",
10651
+ # version_id: "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt",
10184
10652
  # }
10185
10653
  #
10186
10654
  # @example Example: To upload an object and specify optional tags
@@ -10221,27 +10689,6 @@ module Aws::S3
10221
10689
  # version_id: "CG612hodqujkf8FaaNfp8U..FIhLROcp",
10222
10690
  # }
10223
10691
  #
10224
- # @example Example: To upload object and specify user-defined metadata
10225
- #
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.
10228
- #
10229
- # resp = client.put_object({
10230
- # body: "filetoupload",
10231
- # bucket: "examplebucket",
10232
- # key: "exampleobject",
10233
- # metadata: {
10234
- # "metadata1" => "value1",
10235
- # "metadata2" => "value2",
10236
- # },
10237
- # })
10238
- #
10239
- # resp.to_h outputs the following:
10240
- # {
10241
- # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10242
- # version_id: "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0",
10243
- # }
10244
- #
10245
10692
  # @example Example: To upload an object and specify canned ACL.
10246
10693
  #
10247
10694
  # # The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ
@@ -10260,21 +10707,20 @@ module Aws::S3
10260
10707
  # version_id: "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr",
10261
10708
  # }
10262
10709
  #
10263
- # @example Example: To upload an object
10710
+ # @example Example: To create an object.
10264
10711
  #
10265
- # # The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file
10266
- # # syntax. S3 returns VersionId of the newly created object.
10712
+ # # The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.
10267
10713
  #
10268
10714
  # resp = client.put_object({
10269
- # body: "HappyFace.jpg",
10715
+ # body: "filetoupload",
10270
10716
  # bucket: "examplebucket",
10271
- # key: "HappyFace.jpg",
10717
+ # key: "objectkey",
10272
10718
  # })
10273
10719
  #
10274
10720
  # resp.to_h outputs the following:
10275
10721
  # {
10276
10722
  # etag: "\"6805f2cfc46c0f04559748bb039d69ae\"",
10277
- # version_id: "tpf3zF08nBplQK1XLOefGskR7mGDwcDk",
10723
+ # version_id: "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ",
10278
10724
  # }
10279
10725
  #
10280
10726
  # @example Streaming a file from disk
@@ -10306,7 +10752,7 @@ module Aws::S3
10306
10752
  # "MetadataKey" => "MetadataValue",
10307
10753
  # },
10308
10754
  # 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
10755
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
10310
10756
  # website_redirect_location: "WebsiteRedirectLocation",
10311
10757
  # sse_customer_algorithm: "SSECustomerAlgorithm",
10312
10758
  # sse_customer_key: "SSECustomerKey",
@@ -10343,11 +10789,13 @@ module Aws::S3
10343
10789
  end
10344
10790
 
10345
10791
  # 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
10792
+ # permissions for a new or existing object in an S3 bucket. You must
10793
+ # have `WRITE_ACP` permission to set the ACL of an object. For more
10348
10794
  # information, see [What permissions can I grant?][1] in the *Amazon
10349
10795
  # Simple Storage Service Developer Guide*.
10350
10796
  #
10797
+ # This action is not supported by Amazon S3 on Outposts.
10798
+ #
10351
10799
  # Depending on your application needs, you can choose to set the ACL on
10352
10800
  # an object using either the request body or the headers. For example,
10353
10801
  # if you have an existing application that updates a bucket ACL using
@@ -10511,7 +10959,7 @@ module Aws::S3
10511
10959
  # When using this API with an access point, you must direct requests to
10512
10960
  # the access point hostname. The access point hostname takes the form
10513
10961
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10514
- # When using this operation using an access point through the AWS SDKs,
10962
+ # When using this operation with an access point through the AWS SDKs,
10515
10963
  # you provide the access point ARN in place of the bucket name. For more
10516
10964
  # information about access point ARNs, see [Using Access Points][1] in
10517
10965
  # the *Amazon Simple Storage Service Developer Guide*.
@@ -10534,12 +10982,18 @@ module Aws::S3
10534
10982
  # Allows grantee the read, write, read ACP, and write ACP permissions on
10535
10983
  # the bucket.
10536
10984
  #
10985
+ # This action is not supported by Amazon S3 on Outposts.
10986
+ #
10537
10987
  # @option params [String] :grant_read
10538
10988
  # Allows grantee to list the objects in the bucket.
10539
10989
  #
10990
+ # This action is not supported by Amazon S3 on Outposts.
10991
+ #
10540
10992
  # @option params [String] :grant_read_acp
10541
10993
  # Allows grantee to read the bucket ACL.
10542
10994
  #
10995
+ # This action is not supported by Amazon S3 on Outposts.
10996
+ #
10543
10997
  # @option params [String] :grant_write
10544
10998
  # Allows grantee to create, overwrite, and delete any object in the
10545
10999
  # bucket.
@@ -10547,9 +11001,33 @@ module Aws::S3
10547
11001
  # @option params [String] :grant_write_acp
10548
11002
  # Allows grantee to write the ACL for the applicable bucket.
10549
11003
  #
11004
+ # This action is not supported by Amazon S3 on Outposts.
11005
+ #
10550
11006
  # @option params [required, String] :key
10551
11007
  # Key for which the PUT operation was initiated.
10552
11008
  #
11009
+ # When using this API with an access point, you must direct requests to
11010
+ # the access point hostname. The access point hostname takes the form
11011
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
11012
+ # When using this operation with an access point through the AWS SDKs,
11013
+ # you provide the access point ARN in place of the bucket name. For more
11014
+ # information about access point ARNs, see [Using Access Points][1] in
11015
+ # the *Amazon Simple Storage Service Developer Guide*.
11016
+ #
11017
+ # When using this API with Amazon S3 on Outposts, you must direct
11018
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11019
+ # takes the form
11020
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
11021
+ # When using this operation using S3 on Outposts through the AWS SDKs,
11022
+ # you provide the Outposts bucket ARN in place of the bucket name. For
11023
+ # more information about S3 on Outposts ARNs, see [Using S3 on
11024
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
11025
+ #
11026
+ #
11027
+ #
11028
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
11029
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
11030
+ #
10553
11031
  # @option params [String] :request_payer
10554
11032
  # Confirms that the requester knows that they will be charged for the
10555
11033
  # request. Bucket owners need not specify this parameter in their
@@ -10642,6 +11120,8 @@ module Aws::S3
10642
11120
 
10643
11121
  # Applies a Legal Hold configuration to the specified object.
10644
11122
  #
11123
+ # This action is not supported by Amazon S3 on Outposts.
11124
+ #
10645
11125
  # **Related Resources**
10646
11126
  #
10647
11127
  # * [Locking Objects][1]
@@ -10659,7 +11139,7 @@ module Aws::S3
10659
11139
  # When using this API with an access point, you must direct requests to
10660
11140
  # the access point hostname. The access point hostname takes the form
10661
11141
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10662
- # When using this operation using an access point through the AWS SDKs,
11142
+ # When using this operation with an access point through the AWS SDKs,
10663
11143
  # you provide the access point ARN in place of the bucket name. For more
10664
11144
  # information about access point ARNs, see [Using Access Points][1] in
10665
11145
  # the *Amazon Simple Storage Service Developer Guide*.
@@ -10816,6 +11296,8 @@ module Aws::S3
10816
11296
 
10817
11297
  # Places an Object Retention configuration on an object.
10818
11298
  #
11299
+ # This action is not supported by Amazon S3 on Outposts.
11300
+ #
10819
11301
  # **Related Resources**
10820
11302
  #
10821
11303
  # * [Locking Objects][1]
@@ -10833,7 +11315,7 @@ module Aws::S3
10833
11315
  # When using this API with an access point, you must direct requests to
10834
11316
  # the access point hostname. The access point hostname takes the form
10835
11317
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10836
- # When using this operation using an access point through the AWS SDKs,
11318
+ # When using this operation with an access point through the AWS SDKs,
10837
11319
  # you provide the access point ARN in place of the bucket name. For more
10838
11320
  # information about access point ARNs, see [Using Access Points][1] in
10839
11321
  # the *Amazon Simple Storage Service Developer Guide*.
@@ -10933,17 +11415,13 @@ module Aws::S3
10933
11415
  #
10934
11416
  # **Special Errors**
10935
11417
  #
10936
- # * ****
10937
- #
10938
- # * <i>Code: InvalidTagError </i>
11418
+ # * * <i>Code: InvalidTagError </i>
10939
11419
  #
10940
11420
  # * *Cause: The tag provided was not a valid tag. This error can occur
10941
11421
  # if the tag did not pass input validation. For more information,
10942
11422
  # see [Object Tagging][3].*
10943
11423
  #
10944
- # * ****
10945
- #
10946
- # * <i>Code: MalformedXMLError </i>
11424
+ # * * <i>Code: MalformedXMLError </i>
10947
11425
  #
10948
11426
  # * *Cause: The XML provided does not match the schema.*
10949
11427
  #
@@ -10975,14 +11453,24 @@ module Aws::S3
10975
11453
  # When using this API with an access point, you must direct requests to
10976
11454
  # the access point hostname. The access point hostname takes the form
10977
11455
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10978
- # When using this operation using an access point through the AWS SDKs,
11456
+ # When using this operation with an access point through the AWS SDKs,
10979
11457
  # you provide the access point ARN in place of the bucket name. For more
10980
11458
  # information about access point ARNs, see [Using Access Points][1] in
10981
11459
  # the *Amazon Simple Storage Service Developer Guide*.
10982
11460
  #
11461
+ # When using this API with Amazon S3 on Outposts, you must direct
11462
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11463
+ # takes the form
11464
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
11465
+ # When using this operation using S3 on Outposts through the AWS SDKs,
11466
+ # you provide the Outposts bucket ARN in place of the bucket name. For
11467
+ # more information about S3 on Outposts ARNs, see [Using S3 on
11468
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
11469
+ #
10983
11470
  #
10984
11471
  #
10985
11472
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
11473
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
10986
11474
  #
10987
11475
  # @option params [required, String] :key
10988
11476
  # Name of the object key.
@@ -11148,7 +11636,9 @@ module Aws::S3
11148
11636
 
11149
11637
  # Restores an archived copy of an object back into Amazon S3
11150
11638
  #
11151
- # This operation performs the following types of requests:
11639
+ # This action is not supported by Amazon S3 on Outposts.
11640
+ #
11641
+ # This action performs the following types of requests:
11152
11642
  #
11153
11643
  # * `select` - Perform a select query on an archived object
11154
11644
  #
@@ -11340,9 +11830,7 @@ module Aws::S3
11340
11830
  #
11341
11831
  # **Special Errors**
11342
11832
  #
11343
- # * ****
11344
- #
11345
- # * *Code: RestoreAlreadyInProgress*
11833
+ # * * *Code: RestoreAlreadyInProgress*
11346
11834
  #
11347
11835
  # * *Cause: Object restore is already in progress. (This error does
11348
11836
  # not apply to SELECT type requests.)*
@@ -11351,9 +11839,7 @@ module Aws::S3
11351
11839
  #
11352
11840
  # * *SOAP Fault Code Prefix: Client*
11353
11841
  #
11354
- # * ****
11355
- #
11356
- # * *Code: GlacierExpeditedRetrievalNotAvailable*
11842
+ # * * *Code: GlacierExpeditedRetrievalNotAvailable*
11357
11843
  #
11358
11844
  # * *Cause: S3 Glacier expedited retrievals are currently not
11359
11845
  # available. Try again later. (Returned if there is insufficient
@@ -11396,14 +11882,24 @@ module Aws::S3
11396
11882
  # When using this API with an access point, you must direct requests to
11397
11883
  # the access point hostname. The access point hostname takes the form
11398
11884
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
11399
- # When using this operation using an access point through the AWS SDKs,
11885
+ # When using this operation with an access point through the AWS SDKs,
11400
11886
  # you provide the access point ARN in place of the bucket name. For more
11401
11887
  # information about access point ARNs, see [Using Access Points][1] in
11402
11888
  # the *Amazon Simple Storage Service Developer Guide*.
11403
11889
  #
11890
+ # When using this API with Amazon S3 on Outposts, you must direct
11891
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11892
+ # takes the form
11893
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
11894
+ # When using this operation using S3 on Outposts through the AWS SDKs,
11895
+ # you provide the Outposts bucket ARN in place of the bucket name. For
11896
+ # more information about S3 on Outposts ARNs, see [Using S3 on
11897
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
11898
+ #
11404
11899
  #
11405
11900
  #
11406
11901
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
11902
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
11407
11903
  #
11408
11904
  # @option params [required, String] :key
11409
11905
  # Object key for which the operation was initiated.
@@ -11538,7 +12034,7 @@ module Aws::S3
11538
12034
  # value: "MetadataValue",
11539
12035
  # },
11540
12036
  # ],
11541
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
12037
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
11542
12038
  # },
11543
12039
  # },
11544
12040
  # },
@@ -11568,6 +12064,8 @@ module Aws::S3
11568
12064
  # returns only records that match the specified SQL expression. You must
11569
12065
  # also specify the data serialization format for the response.
11570
12066
  #
12067
+ # This action is not supported by Amazon S3 on Outposts.
12068
+ #
11571
12069
  # For more information about Amazon S3 Select, see [Selecting Content
11572
12070
  # from Objects][1] in the *Amazon Simple Storage Service Developer
11573
12071
  # Guide*.
@@ -11999,6 +12497,11 @@ module Aws::S3
11999
12497
  # checks the part data against the provided MD5 value. If they do not
12000
12498
  # match, Amazon S3 returns an error.
12001
12499
  #
12500
+ # If the upload request is signed with Signature Version 4, then AWS S3
12501
+ # uses the `x-amz-content-sha256` header as a checksum instead of
12502
+ # `Content-MD5`. For more information see [Authenticating Requests:
12503
+ # Using the Authorization Header (AWS Signature Version 4)][3].
12504
+ #
12002
12505
  # **Note:** After you initiate multipart upload and upload one or more
12003
12506
  # parts, you must either complete or abort multipart upload in order to
12004
12507
  # stop getting charged for storage of the uploaded parts. Only after you
@@ -12006,11 +12509,11 @@ module Aws::S3
12006
12509
  # parts storage and stops charging you for the parts storage.
12007
12510
  #
12008
12511
  # For more information on multipart uploads, go to [Multipart Upload
12009
- # Overview][3] in the <i>Amazon Simple Storage Service Developer Guide
12512
+ # Overview][4] in the <i>Amazon Simple Storage Service Developer Guide
12010
12513
  # </i>.
12011
12514
  #
12012
12515
  # For information on the permissions required to use the multipart
12013
- # upload API, go to [Multipart Upload API and Permissions][4] in the
12516
+ # upload API, go to [Multipart Upload API and Permissions][5] in the
12014
12517
  # *Amazon Simple Storage Service Developer Guide*.
12015
12518
  #
12016
12519
  # You can optionally request server-side encryption where Amazon S3
@@ -12021,7 +12524,7 @@ module Aws::S3
12021
12524
  # request headers you provide in the request must match the headers you
12022
12525
  # used in the request to initiate the upload by using
12023
12526
  # [CreateMultipartUpload][2]. For more information, go to [Using
12024
- # Server-Side Encryption][5] in the *Amazon Simple Storage Service
12527
+ # Server-Side Encryption][6] in the *Amazon Simple Storage Service
12025
12528
  # Developer Guide*.
12026
12529
  #
12027
12530
  # Server-side encryption is supported by the S3 Multipart Upload
@@ -12044,9 +12547,7 @@ module Aws::S3
12044
12547
  #
12045
12548
  # **Special Errors**
12046
12549
  #
12047
- # * ****
12048
- #
12049
- # * *Code: NoSuchUpload*
12550
+ # * * *Code: NoSuchUpload*
12050
12551
  #
12051
12552
  # * *Cause: The specified multipart upload does not exist. The upload
12052
12553
  # ID might be invalid, or the multipart upload might have been
@@ -12060,31 +12561,54 @@ module Aws::S3
12060
12561
  #
12061
12562
  # * [CreateMultipartUpload][2]
12062
12563
  #
12063
- # * [CompleteMultipartUpload][6]
12564
+ # * [CompleteMultipartUpload][7]
12064
12565
  #
12065
- # * [AbortMultipartUpload][7]
12566
+ # * [AbortMultipartUpload][8]
12066
12567
  #
12067
- # * [ListParts][8]
12568
+ # * [ListParts][9]
12068
12569
  #
12069
- # * [ListMultipartUploads][9]
12570
+ # * [ListMultipartUploads][10]
12070
12571
  #
12071
12572
  #
12072
12573
  #
12073
12574
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
12074
12575
  # [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
12576
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html
12577
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
12578
+ # [5]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
12579
+ # [6]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html
12580
+ # [7]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
12581
+ # [8]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
12582
+ # [9]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
12583
+ # [10]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
12082
12584
  #
12083
12585
  # @option params [String, StringIO, File] :body
12084
12586
  # Object data.
12085
12587
  #
12086
12588
  # @option params [required, String] :bucket
12087
- # Name of the bucket to which the multipart upload was initiated.
12589
+ # The name of the bucket to which the multipart upload was initiated.
12590
+ #
12591
+ # When using this API with an access point, you must direct requests to
12592
+ # the access point hostname. The access point hostname takes the form
12593
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
12594
+ # When using this operation with an access point through the AWS SDKs,
12595
+ # you provide the access point ARN in place of the bucket name. For more
12596
+ # information about access point ARNs, see [Using Access Points][1] in
12597
+ # the *Amazon Simple Storage Service Developer Guide*.
12598
+ #
12599
+ # When using this API with Amazon S3 on Outposts, you must direct
12600
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
12601
+ # takes the form
12602
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
12603
+ # When using this operation using S3 on Outposts through the AWS SDKs,
12604
+ # you provide the Outposts bucket ARN in place of the bucket name. For
12605
+ # more information about S3 on Outposts ARNs, see [Using S3 on
12606
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
12607
+ #
12608
+ #
12609
+ #
12610
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
12611
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
12088
12612
  #
12089
12613
  # @option params [Integer] :content_length
12090
12614
  # Size of the body in bytes. This parameter is useful when the size of
@@ -12291,9 +12815,7 @@ module Aws::S3
12291
12815
  #
12292
12816
  # **Special Errors**
12293
12817
  #
12294
- # * ****
12295
- #
12296
- # * *Code: NoSuchUpload*
12818
+ # * * *Code: NoSuchUpload*
12297
12819
  #
12298
12820
  # * *Cause: The specified multipart upload does not exist. The upload
12299
12821
  # ID might be invalid, or the multipart upload might have been
@@ -12301,9 +12823,7 @@ module Aws::S3
12301
12823
  #
12302
12824
  # * *HTTP Status Code: 404 Not Found*
12303
12825
  #
12304
- # * ****
12305
- #
12306
- # * *Code: InvalidRequest*
12826
+ # * * *Code: InvalidRequest*
12307
12827
  #
12308
12828
  # * *Cause: The specified copy source is not supported as a byte-range
12309
12829
  # copy source.*
@@ -12341,6 +12861,28 @@ module Aws::S3
12341
12861
  # @option params [required, String] :bucket
12342
12862
  # The bucket name.
12343
12863
  #
12864
+ # When using this API with an access point, you must direct requests to
12865
+ # the access point hostname. The access point hostname takes the form
12866
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
12867
+ # When using this operation with an access point through the AWS SDKs,
12868
+ # you provide the access point ARN in place of the bucket name. For more
12869
+ # information about access point ARNs, see [Using Access Points][1] in
12870
+ # the *Amazon Simple Storage Service Developer Guide*.
12871
+ #
12872
+ # When using this API with Amazon S3 on Outposts, you must direct
12873
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
12874
+ # takes the form
12875
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
12876
+ # When using this operation using S3 on Outposts through the AWS SDKs,
12877
+ # you provide the Outposts bucket ARN in place of the bucket name. For
12878
+ # more information about S3 on Outposts ARNs, see [Using S3 on
12879
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
12880
+ #
12881
+ #
12882
+ #
12883
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
12884
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
12885
+ #
12344
12886
  # @option params [required, String] :copy_source
12345
12887
  # Specifies the source object for the copy operation. You specify the
12346
12888
  # value in one of two formats, depending on whether you want to access
@@ -12357,9 +12899,9 @@ module Aws::S3
12357
12899
  # Resource Name (ARN) of the object as accessed through the access
12358
12900
  # point, in the format
12359
12901
  # `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
12902
+ # For example, to copy the object `reports/january.pdf` through access
12903
+ # point `my-access-point` owned by account `123456789012` in Region
12904
+ # `us-west-2`, use the URL encoding of
12363
12905
  # `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
12364
12906
  # The value must be URL encoded.
12365
12907
  #
@@ -12368,6 +12910,15 @@ module Aws::S3
12368
12910
  #
12369
12911
  # </note>
12370
12912
  #
12913
+ # Alternatively, for objects accessed through Amazon S3 on Outposts,
12914
+ # specify the ARN of the object as accessed in the format
12915
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key>`.
12916
+ # For example, to copy the object `reports/january.pdf` through
12917
+ # outpost `my-outpost` owned by account `123456789012` in Region
12918
+ # `us-west-2`, use the URL encoding of
12919
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
12920
+ # The value must be URL encoded.
12921
+ #
12371
12922
  # To copy a specific version of an object, append
12372
12923
  # `?versionId=<version-id>` to the value (for example,
12373
12924
  # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
@@ -12572,7 +13123,7 @@ module Aws::S3
12572
13123
  params: params,
12573
13124
  config: config)
12574
13125
  context[:gem_name] = 'aws-sdk-s3'
12575
- context[:gem_version] = '1.80.0'
13126
+ context[:gem_version] = '1.83.1'
12576
13127
  Seahorse::Client::Request.new(handlers, context)
12577
13128
  end
12578
13129