aws-sdk-s3 1.81.1 → 1.84.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -403,12 +403,16 @@ module Aws::S3
403
403
  # @option options [String] :range
404
404
  # Downloads the specified range bytes of an object. For more information
405
405
  # about the HTTP Range header, see
406
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35]().
406
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
407
407
  #
408
408
  # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
409
409
  # `GET` request.
410
410
  #
411
411
  # </note>
412
+ #
413
+ #
414
+ #
415
+ # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
412
416
  # @option options [String] :sse_customer_algorithm
413
417
  # Specifies the algorithm to use to when encrypting the object (for
414
418
  # example, AES256).
@@ -0,0 +1,187 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative '../arn/access_point_arn'
4
+ require_relative '../arn/outpost_access_point_arn'
5
+
6
+ module Aws
7
+ module S3
8
+ module Plugins
9
+ # When an accesspoint ARN is provided for :bucket in S3 operations, this
10
+ # plugin resolves the request endpoint from the ARN when possible.
11
+ # @api private
12
+ class ARN < Seahorse::Client::Plugin
13
+ option(
14
+ :s3_use_arn_region,
15
+ default: true,
16
+ doc_type: 'Boolean',
17
+ docstring: <<-DOCS) do |cfg|
18
+ For S3 ARNs passed into the `:bucket` parameter, this option will
19
+ use the region in the ARN, allowing for cross-region requests to
20
+ be made. Set to `false` to use the client's region instead.
21
+ DOCS
22
+ resolve_s3_use_arn_region(cfg)
23
+ end
24
+
25
+ def add_handlers(handlers, _config)
26
+ handlers.add(Handler)
27
+ end
28
+
29
+ class Handler < Seahorse::Client::Handler
30
+ def call(context)
31
+ bucket_member = _bucket_member(context.operation.input.shape)
32
+ if bucket_member && (bucket = context.params[bucket_member])
33
+ resolved_region, arn = ARN.resolve_arn!(
34
+ bucket,
35
+ context.config.region,
36
+ context.config.s3_use_arn_region
37
+ )
38
+ if arn
39
+ validate_config!(context, arn)
40
+
41
+ ARN.resolve_url!(
42
+ context.http_request.endpoint,
43
+ arn,
44
+ resolved_region,
45
+ extract_dualstack_config!(context)
46
+ )
47
+ end
48
+ end
49
+ @handler.call(context)
50
+ end
51
+
52
+ private
53
+
54
+ def _bucket_member(input)
55
+ input.members.each do |member, ref|
56
+ return member if ref.shape.name == 'BucketName'
57
+ end
58
+ nil
59
+ end
60
+
61
+ # other plugins use dualstack so disable it when we're done
62
+ def extract_dualstack_config!(context)
63
+ dualstack = context[:use_dualstack_endpoint]
64
+ context[:use_dualstack_endpoint] = false if dualstack
65
+ dualstack
66
+ end
67
+
68
+ def validate_config!(context, arn)
69
+ unless context.config.regional_endpoint
70
+ raise ArgumentError,
71
+ 'Cannot provide both an Access Point ARN and setting '\
72
+ ':endpoint.'
73
+ end
74
+
75
+ if context.config.force_path_style
76
+ raise ArgumentError,
77
+ 'Cannot provide both an Access Point ARN and setting '\
78
+ ':force_path_style to true.'
79
+ end
80
+
81
+ if context.config.use_accelerate_endpoint
82
+ raise ArgumentError,
83
+ 'Cannot provide both an Access Point ARN and setting '\
84
+ ':use_accelerate_endpoint to true.'
85
+ end
86
+
87
+ if !arn.support_dualstack? && context[:use_dualstack_endpoint]
88
+ raise ArgumentError,
89
+ 'Cannot provide both an Outpost Access Point ARN and '\
90
+ 'setting :use_dualstack_endpoint to true.'
91
+ end
92
+ end
93
+ end
94
+
95
+ class << self
96
+ # @api private
97
+ def resolve_arn!(member_value, region, use_arn_region)
98
+ if Aws::ARNParser.arn?(member_value)
99
+ arn = Aws::ARNParser.parse(member_value)
100
+ if arn.resource.start_with?('accesspoint')
101
+ s3_arn = Aws::S3::AccessPointARN.new(arn.to_h)
102
+ elsif arn.resource.start_with?('outpost')
103
+ s3_arn = Aws::S3::OutpostAccessPointARN.new(arn.to_h)
104
+ else
105
+ raise ArgumentError,
106
+ 'Only Access Point and Outpost Access Point type ARNs '\
107
+ 'are currently supported.'
108
+ end
109
+ s3_arn.validate_arn!
110
+ validate_region_config!(s3_arn, region, use_arn_region)
111
+ region = s3_arn.region if use_arn_region
112
+ [region, s3_arn]
113
+ else
114
+ [region]
115
+ end
116
+ end
117
+
118
+ # @api private
119
+ def resolve_url!(url, arn, region, dualstack = false)
120
+ url.host = arn.host_url(region, dualstack)
121
+ url.path = url_path(url.path, arn)
122
+ url
123
+ end
124
+
125
+ private
126
+
127
+ def resolve_s3_use_arn_region(cfg)
128
+ value = ENV['AWS_S3_USE_ARN_REGION'] ||
129
+ Aws.shared_config.s3_use_arn_region(profile: cfg.profile) ||
130
+ 'true'
131
+ value = Aws::Util.str_2_bool(value)
132
+ # Raise if provided value is not true or false
133
+ if value.nil?
134
+ raise ArgumentError,
135
+ 'Must provide either `true` or `false` for '\
136
+ 's3_use_arn_region profile option or for '\
137
+ "ENV['AWS_S3_USE_ARN_REGION']"
138
+ end
139
+ value
140
+ end
141
+
142
+ # Remove ARN from the path since it was substituted already
143
+ # This only works because accesspoints care about the URL
144
+ def url_path(path, arn)
145
+ path = path.sub("/#{Seahorse::Util.uri_escape(arn.to_s)}", '')
146
+ .sub("/#{arn}", '')
147
+ "/#{path}" unless path =~ /^\//
148
+ path
149
+ end
150
+
151
+ def validate_region_config!(arn, region, use_arn_region)
152
+ fips = arn.support_fips?
153
+
154
+ # s3-external-1 is specific just to s3 and not part of partitions
155
+ # aws-global is a partition region
156
+ unless arn.partition == 'aws' &&
157
+ (region == 's3-external-1' || region == 'aws-global')
158
+ if !fips && arn.region.include?('fips')
159
+ raise ArgumentError,
160
+ 'FIPS region ARNs are not supported for this type of ARN.'
161
+ end
162
+
163
+ if !fips && !use_arn_region && region.include?('fips')
164
+ raise ArgumentError,
165
+ 'FIPS client regions are not supported for this type of '\
166
+ 'ARN without s3_use_arn_region.'
167
+ end
168
+
169
+ # if it's a fips region, attempt to normalize it
170
+ if fips || use_arn_region
171
+ region = region.gsub('fips-', '').gsub('-fips', '')
172
+ end
173
+ if use_arn_region &&
174
+ !Aws::Partitions.partition(arn.partition).region?(region)
175
+ raise Aws::Errors::InvalidARNPartitionError
176
+ end
177
+
178
+ if !use_arn_region && region != arn.region
179
+ raise Aws::Errors::InvalidARNRegionError
180
+ end
181
+ end
182
+ end
183
+ end
184
+ end
185
+ end
186
+ end
187
+ end
@@ -73,8 +73,6 @@ request URI and never moved to the host as a sub-domain.
73
73
  end
74
74
  end
75
75
 
76
- # Checks for a valid RFC-3986 host name
77
- # @see https://tools.ietf.org/html/rfc3986#section-3.2.2
78
76
  # @param [String] bucket_name
79
77
  # @return [Boolean]
80
78
  def valid_subdomain?(bucket_name)
@@ -13,7 +13,7 @@ module Aws
13
13
  def call(context)
14
14
  bucket_member = _bucket_member(context.operation.input.shape)
15
15
  if bucket_member && (bucket = context.params[bucket_member])
16
- _resolved_bucket, _resolved_region, arn = BucketARN.resolve_arn!(
16
+ _resolved_region, arn = ARN.resolve_arn!(
17
17
  bucket,
18
18
  context.config.region,
19
19
  context.config.s3_use_arn_region
@@ -28,8 +28,13 @@ region. Defaults to `legacy` mode using global endpoint.
28
28
  def call(context)
29
29
  # keep legacy global endpoint pattern by default
30
30
  if context.config.s3_us_east_1_regional_endpoint == 'legacy'
31
- context.http_request.endpoint.host = IADRegionalEndpoint.legacy_host(
32
- context.http_request.endpoint.host)
31
+ host = context.http_request.endpoint.host
32
+ # if it's an ARN, don't touch the endpoint at all
33
+ # TODO this should use context.metadata[:s3_arn] later
34
+ unless host.include?('.s3-outposts.') || host.include?('.s3-accesspoint.')
35
+ legacy_host = IADRegionalEndpoint.legacy_host(host)
36
+ context.http_request.endpoint.host = legacy_host
37
+ end
33
38
  end
34
39
  @handler.call(context)
35
40
  end
@@ -12,12 +12,14 @@ module Aws
12
12
 
13
13
  option(:sigv4_signer) do |cfg|
14
14
  S3Signer.build_v4_signer(
15
+ service: 's3',
15
16
  region: cfg.sigv4_region,
16
17
  credentials: cfg.credentials
17
18
  )
18
19
  end
19
20
 
20
21
  option(:sigv4_region) do |cfg|
22
+ # S3 removes core's signature_v4 plugin that checks for this
21
23
  raise Aws::Errors::MissingRegionError if cfg.region.nil?
22
24
 
23
25
  Aws::Partitions::EndpointProvider.signing_region(cfg.region, 's3')
@@ -67,11 +69,26 @@ module Aws
67
69
  if context[:cached_sigv4_region] &&
68
70
  context[:cached_sigv4_region] != context.config.sigv4_signer.region
69
71
  S3Signer.build_v4_signer(
72
+ service: 's3',
70
73
  region: context[:cached_sigv4_region],
71
74
  credentials: context.config.credentials
72
75
  )
73
76
  else
74
- context.config.sigv4_signer
77
+ resolved_region, arn = ARN.resolve_arn!(
78
+ context.params[:bucket],
79
+ context.config.sigv4_signer.region,
80
+ context.config.s3_use_arn_region
81
+ )
82
+
83
+ if arn
84
+ S3Signer.build_v4_signer(
85
+ service: arn.respond_to?(:outpost_id) ? 's3-outposts' : 's3',
86
+ region: resolved_region,
87
+ credentials: context.config.credentials
88
+ )
89
+ else
90
+ context.config.sigv4_signer
91
+ end
75
92
  end
76
93
  end
77
94
  end
@@ -90,7 +107,9 @@ module Aws
90
107
  def check_for_cached_region(context, bucket)
91
108
  cached_region = S3::BUCKET_REGIONS[bucket]
92
109
  if cached_region && cached_region != context.config.region
93
- context.http_request.endpoint.host = S3Signer.new_hostname(context, cached_region)
110
+ context.http_request.endpoint.host = S3Signer.new_hostname(
111
+ context, cached_region
112
+ )
94
113
  context[:cached_sigv4_region] = cached_region
95
114
  end
96
115
  end
@@ -150,11 +169,14 @@ module Aws
150
169
 
151
170
  def resign_with_new_region(context, actual_region)
152
171
  context.http_response.body.truncate(0)
153
- context.http_request.endpoint.host = S3Signer.new_hostname(context, actual_region)
172
+ context.http_request.endpoint.host = S3Signer.new_hostname(
173
+ context, actual_region
174
+ )
154
175
  context.metadata[:redirect_region] = actual_region
155
176
  Aws::Plugins::SignatureV4.apply_signature(
156
177
  context: context,
157
178
  signer: S3Signer.build_v4_signer(
179
+ service: 's3',
158
180
  region: actual_region,
159
181
  credentials: context.config.credentials
160
182
  )
@@ -189,7 +211,7 @@ module Aws
189
211
  # @api private
190
212
  def build_v4_signer(options = {})
191
213
  Aws::Sigv4::Signer.new(
192
- service: 's3',
214
+ service: options[:service],
193
215
  region: options[:region],
194
216
  credentials_provider: options[:credentials],
195
217
  uri_escape_path: false,
@@ -200,7 +222,7 @@ module Aws
200
222
  def new_hostname(context, region)
201
223
  # Check to see if the bucket is actually an ARN and resolve it
202
224
  # Otherwise it will retry with the ARN as the bucket name.
203
- resolved_bucket, resolved_region, arn = BucketARN.resolve_arn!(
225
+ resolved_region, arn = ARN.resolve_arn!(
204
226
  context.params[:bucket],
205
227
  region,
206
228
  context.config.s3_use_arn_region
@@ -210,9 +232,9 @@ module Aws
210
232
  )
211
233
 
212
234
  if arn
213
- BucketARN.resolve_url!(uri, arn).host
235
+ ARN.resolve_url!(uri, arn).host
214
236
  else
215
- resolved_bucket + '.' + uri.host
237
+ "#{context.params[:bucket]}.#{uri.host}"
216
238
  end
217
239
  end
218
240
  end
@@ -71,14 +71,24 @@ module Aws::S3
71
71
  # to the access point hostname. The access point hostname takes the
72
72
  # form
73
73
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
74
- # When using this operation using an access point through the AWS
75
- # SDKs, you provide the access point ARN in place of the bucket name.
76
- # For more information about access point ARNs, see [Using Access
74
+ # When using this operation with an access point through the AWS SDKs,
75
+ # you provide the access point ARN in place of the bucket name. For
76
+ # more information about access point ARNs, see [Using Access
77
77
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
78
78
  #
79
+ # When using this API with Amazon S3 on Outposts, you must direct
80
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
81
+ # takes the form
82
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
83
+ # When using this operation using S3 on Outposts through the AWS SDKs,
84
+ # you provide the Outposts bucket ARN in place of the bucket name. For
85
+ # more information about S3 on Outposts ARNs, see [Using S3 on
86
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
87
+ #
79
88
  #
80
89
  #
81
90
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
91
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
82
92
  # @return [String]
83
93
  #
84
94
  # @!attribute [rw] key
@@ -462,8 +472,8 @@ module Aws::S3
462
472
  end
463
473
 
464
474
  # The requested bucket name is not available. The bucket namespace is
465
- # shared by all users of the system. Please select a different name and
466
- # try again.
475
+ # shared by all users of the system. Select a different name and try
476
+ # again.
467
477
  #
468
478
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BucketAlreadyExists AWS API Documentation
469
479
  #
@@ -899,6 +909,29 @@ module Aws::S3
899
909
  #
900
910
  # @!attribute [rw] bucket
901
911
  # The name of the bucket that contains the newly created object.
912
+ #
913
+ # When using this API with an access point, you must direct requests
914
+ # to the access point hostname. The access point hostname takes the
915
+ # form
916
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
917
+ # When using this operation with an access point through the AWS SDKs,
918
+ # you provide the access point ARN in place of the bucket name. For
919
+ # more information about access point ARNs, see [Using Access
920
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
921
+ #
922
+ # When using this API with Amazon S3 on Outposts, you must direct
923
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
924
+ # takes the form
925
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
926
+ # When using this operation using S3 on Outposts through the AWS SDKs,
927
+ # you provide the Outposts bucket ARN in place of the bucket name. For
928
+ # more information about S3 on Outposts ARNs, see [Using S3 on
929
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
930
+ #
931
+ #
932
+ #
933
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
934
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
902
935
  # @return [String]
903
936
  #
904
937
  # @!attribute [rw] key
@@ -1230,7 +1263,7 @@ module Aws::S3
1230
1263
  # metadata_directive: "COPY", # accepts COPY, REPLACE
1231
1264
  # tagging_directive: "COPY", # accepts COPY, REPLACE
1232
1265
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
1233
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
1266
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
1234
1267
  # website_redirect_location: "WebsiteRedirectLocation",
1235
1268
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1236
1269
  # sse_customer_key: "SSECustomerKey",
@@ -1251,10 +1284,35 @@ module Aws::S3
1251
1284
  #
1252
1285
  # @!attribute [rw] acl
1253
1286
  # The canned ACL to apply to the object.
1287
+ #
1288
+ # This action is not supported by Amazon S3 on Outposts.
1254
1289
  # @return [String]
1255
1290
  #
1256
1291
  # @!attribute [rw] bucket
1257
1292
  # The name of the destination bucket.
1293
+ #
1294
+ # When using this API with an access point, you must direct requests
1295
+ # to the access point hostname. The access point hostname takes the
1296
+ # form
1297
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
1298
+ # When using this operation with an access point through the AWS SDKs,
1299
+ # you provide the access point ARN in place of the bucket name. For
1300
+ # more information about access point ARNs, see [Using Access
1301
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
1302
+ #
1303
+ # When using this API with Amazon S3 on Outposts, you must direct
1304
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1305
+ # takes the form
1306
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
1307
+ # When using this operation using S3 on Outposts through the AWS SDKs,
1308
+ # you provide the Outposts bucket ARN in place of the bucket name. For
1309
+ # more information about S3 on Outposts ARNs, see [Using S3 on
1310
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
1311
+ #
1312
+ #
1313
+ #
1314
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
1315
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1258
1316
  # @return [String]
1259
1317
  #
1260
1318
  # @!attribute [rw] cache_control
@@ -1306,6 +1364,15 @@ module Aws::S3
1306
1364
  #
1307
1365
  # </note>
1308
1366
  #
1367
+ # Alternatively, for objects accessed through Amazon S3 on Outposts,
1368
+ # specify the ARN of the object as accessed in the format
1369
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key>`.
1370
+ # For example, to copy the object `reports/january.pdf` through
1371
+ # outpost `my-outpost` owned by account `123456789012` in Region
1372
+ # `us-west-2`, use the URL encoding of
1373
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
1374
+ # The value must be URL encoded.
1375
+ #
1309
1376
  # To copy a specific version of an object, append
1310
1377
  # `?versionId=<version-id>` to the value (for example,
1311
1378
  # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
@@ -1343,18 +1410,26 @@ module Aws::S3
1343
1410
  # @!attribute [rw] grant_full_control
1344
1411
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
1345
1412
  # object.
1413
+ #
1414
+ # This action is not supported by Amazon S3 on Outposts.
1346
1415
  # @return [String]
1347
1416
  #
1348
1417
  # @!attribute [rw] grant_read
1349
1418
  # Allows grantee to read the object data and its metadata.
1419
+ #
1420
+ # This action is not supported by Amazon S3 on Outposts.
1350
1421
  # @return [String]
1351
1422
  #
1352
1423
  # @!attribute [rw] grant_read_acp
1353
1424
  # Allows grantee to read the object ACL.
1425
+ #
1426
+ # This action is not supported by Amazon S3 on Outposts.
1354
1427
  # @return [String]
1355
1428
  #
1356
1429
  # @!attribute [rw] grant_write_acp
1357
1430
  # Allows grantee to write the ACL for the applicable object.
1431
+ #
1432
+ # This action is not supported by Amazon S3 on Outposts.
1358
1433
  # @return [String]
1359
1434
  #
1360
1435
  # @!attribute [rw] key
@@ -1381,7 +1456,16 @@ module Aws::S3
1381
1456
  # @return [String]
1382
1457
  #
1383
1458
  # @!attribute [rw] storage_class
1384
- # The type of storage to use for the object. Defaults to 'STANDARD'.
1459
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
1460
+ # created objects. The STANDARD storage class provides high durability
1461
+ # and high availability. Depending on performance needs, you can
1462
+ # specify a different Storage Class. Amazon S3 on Outposts only uses
1463
+ # the OUTPOSTS Storage Class. For more information, see [Storage
1464
+ # Classes][1] in the *Amazon S3 Service Developer Guide*.
1465
+ #
1466
+ #
1467
+ #
1468
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
1385
1469
  # @return [String]
1386
1470
  #
1387
1471
  # @!attribute [rw] website_redirect_location
@@ -1710,20 +1794,30 @@ module Aws::S3
1710
1794
  # @return [String]
1711
1795
  #
1712
1796
  # @!attribute [rw] bucket
1713
- # Name of the bucket to which the multipart upload was initiated.
1797
+ # The name of the bucket to which the multipart upload was initiated.
1714
1798
  #
1715
1799
  # When using this API with an access point, you must direct requests
1716
1800
  # to the access point hostname. The access point hostname takes the
1717
1801
  # form
1718
1802
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
1719
- # When using this operation using an access point through the AWS
1720
- # SDKs, you provide the access point ARN in place of the bucket name.
1721
- # For more information about access point ARNs, see [Using Access
1803
+ # When using this operation with an access point through the AWS SDKs,
1804
+ # you provide the access point ARN in place of the bucket name. For
1805
+ # more information about access point ARNs, see [Using Access
1722
1806
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
1723
1807
  #
1808
+ # When using this API with Amazon S3 on Outposts, you must direct
1809
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1810
+ # takes the form
1811
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
1812
+ # When using this operation using S3 on Outposts through the AWS SDKs,
1813
+ # you provide the Outposts bucket ARN in place of the bucket name. For
1814
+ # more information about S3 on Outposts ARNs, see [Using S3 on
1815
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
1816
+ #
1724
1817
  #
1725
1818
  #
1726
1819
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
1820
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1727
1821
  # @return [String]
1728
1822
  #
1729
1823
  # @!attribute [rw] key
@@ -1809,7 +1903,7 @@ module Aws::S3
1809
1903
  # "MetadataKey" => "MetadataValue",
1810
1904
  # },
1811
1905
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
1812
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
1906
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
1813
1907
  # website_redirect_location: "WebsiteRedirectLocation",
1814
1908
  # sse_customer_algorithm: "SSECustomerAlgorithm",
1815
1909
  # sse_customer_key: "SSECustomerKey",
@@ -1826,10 +1920,35 @@ module Aws::S3
1826
1920
  #
1827
1921
  # @!attribute [rw] acl
1828
1922
  # The canned ACL to apply to the object.
1923
+ #
1924
+ # This action is not supported by Amazon S3 on Outposts.
1829
1925
  # @return [String]
1830
1926
  #
1831
1927
  # @!attribute [rw] bucket
1832
1928
  # The name of the bucket to which to initiate the upload
1929
+ #
1930
+ # When using this API with an access point, you must direct requests
1931
+ # to the access point hostname. The access point hostname takes the
1932
+ # form
1933
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
1934
+ # When using this operation with an access point through the AWS SDKs,
1935
+ # you provide the access point ARN in place of the bucket name. For
1936
+ # more information about access point ARNs, see [Using Access
1937
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
1938
+ #
1939
+ # When using this API with Amazon S3 on Outposts, you must direct
1940
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
1941
+ # takes the form
1942
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
1943
+ # When using this operation using S3 on Outposts through the AWS SDKs,
1944
+ # you provide the Outposts bucket ARN in place of the bucket name. For
1945
+ # more information about S3 on Outposts ARNs, see [Using S3 on
1946
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
1947
+ #
1948
+ #
1949
+ #
1950
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
1951
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
1833
1952
  # @return [String]
1834
1953
  #
1835
1954
  # @!attribute [rw] cache_control
@@ -1861,18 +1980,26 @@ module Aws::S3
1861
1980
  # @!attribute [rw] grant_full_control
1862
1981
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
1863
1982
  # object.
1983
+ #
1984
+ # This action is not supported by Amazon S3 on Outposts.
1864
1985
  # @return [String]
1865
1986
  #
1866
1987
  # @!attribute [rw] grant_read
1867
1988
  # Allows grantee to read the object data and its metadata.
1989
+ #
1990
+ # This action is not supported by Amazon S3 on Outposts.
1868
1991
  # @return [String]
1869
1992
  #
1870
1993
  # @!attribute [rw] grant_read_acp
1871
1994
  # Allows grantee to read the object ACL.
1995
+ #
1996
+ # This action is not supported by Amazon S3 on Outposts.
1872
1997
  # @return [String]
1873
1998
  #
1874
1999
  # @!attribute [rw] grant_write_acp
1875
2000
  # Allows grantee to write the ACL for the applicable object.
2001
+ #
2002
+ # This action is not supported by Amazon S3 on Outposts.
1876
2003
  # @return [String]
1877
2004
  #
1878
2005
  # @!attribute [rw] key
@@ -1889,7 +2016,16 @@ module Aws::S3
1889
2016
  # @return [String]
1890
2017
  #
1891
2018
  # @!attribute [rw] storage_class
1892
- # The type of storage to use for the object. Defaults to 'STANDARD'.
2019
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
2020
+ # created objects. The STANDARD storage class provides high durability
2021
+ # and high availability. Depending on performance needs, you can
2022
+ # specify a different Storage Class. Amazon S3 on Outposts only uses
2023
+ # the OUTPOSTS Storage Class. For more information, see [Storage
2024
+ # Classes][1] in the *Amazon S3 Service Developer Guide*.
2025
+ #
2026
+ #
2027
+ #
2028
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
1893
2029
  # @return [String]
1894
2030
  #
1895
2031
  # @!attribute [rw] website_redirect_location
@@ -2169,6 +2305,32 @@ module Aws::S3
2169
2305
  include Aws::Structure
2170
2306
  end
2171
2307
 
2308
+ # @note When making an API call, you may pass DeleteBucketIntelligentTieringConfigurationRequest
2309
+ # data as a hash:
2310
+ #
2311
+ # {
2312
+ # bucket: "BucketName", # required
2313
+ # id: "IntelligentTieringId", # required
2314
+ # }
2315
+ #
2316
+ # @!attribute [rw] bucket
2317
+ # The name of the Amazon S3 bucket whose configuration you want to
2318
+ # modify or retrieve.
2319
+ # @return [String]
2320
+ #
2321
+ # @!attribute [rw] id
2322
+ # The ID used to identify the S3 Intelligent-Tiering configuration.
2323
+ # @return [String]
2324
+ #
2325
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfigurationRequest AWS API Documentation
2326
+ #
2327
+ class DeleteBucketIntelligentTieringConfigurationRequest < Struct.new(
2328
+ :bucket,
2329
+ :id)
2330
+ SENSITIVE = []
2331
+ include Aws::Structure
2332
+ end
2333
+
2172
2334
  # @note When making an API call, you may pass DeleteBucketInventoryConfigurationRequest
2173
2335
  # data as a hash:
2174
2336
  #
@@ -2264,6 +2426,33 @@ module Aws::S3
2264
2426
  include Aws::Structure
2265
2427
  end
2266
2428
 
2429
+ # @note When making an API call, you may pass DeleteBucketOwnershipControlsRequest
2430
+ # data as a hash:
2431
+ #
2432
+ # {
2433
+ # bucket: "BucketName", # required
2434
+ # expected_bucket_owner: "AccountId",
2435
+ # }
2436
+ #
2437
+ # @!attribute [rw] bucket
2438
+ # The Amazon S3 bucket whose `OwnershipControls` you want to delete.
2439
+ # @return [String]
2440
+ #
2441
+ # @!attribute [rw] expected_bucket_owner
2442
+ # The account id of the expected bucket owner. If the bucket is owned
2443
+ # by a different account, the request will fail with an HTTP `403
2444
+ # (Access Denied)` error.
2445
+ # @return [String]
2446
+ #
2447
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketOwnershipControlsRequest AWS API Documentation
2448
+ #
2449
+ class DeleteBucketOwnershipControlsRequest < Struct.new(
2450
+ :bucket,
2451
+ :expected_bucket_owner)
2452
+ SENSITIVE = []
2453
+ include Aws::Structure
2454
+ end
2455
+
2267
2456
  # @note When making an API call, you may pass DeleteBucketPolicyRequest
2268
2457
  # data as a hash:
2269
2458
  #
@@ -2435,25 +2624,28 @@ module Aws::S3
2435
2624
  include Aws::Structure
2436
2625
  end
2437
2626
 
2438
- # Specifies whether Amazon S3 replicates the delete markers. If you
2439
- # specify a `Filter`, you must specify this element. However, in the
2440
- # latest version of replication configuration (when `Filter` is
2441
- # specified), Amazon S3 doesn't replicate delete markers. Therefore,
2442
- # the `DeleteMarkerReplication` element can contain only
2443
- # &lt;Status&gt;Disabled&lt;/Status&gt;. For an example configuration,
2444
- # see [Basic Rule Configuration][1].
2627
+ # Specifies whether Amazon S3 replicates delete markers. If you specify
2628
+ # a `Filter` in your replication configuration, you must also include a
2629
+ # `DeleteMarkerReplication` element. If your `Filter` includes a `Tag`
2630
+ # element, the `DeleteMarkerReplication` `Status` must be set to
2631
+ # Disabled, because Amazon S3 does not support replicating delete
2632
+ # markers for tag-based rules. For an example configuration, see [Basic
2633
+ # Rule Configuration][1].
2634
+ #
2635
+ # For more information about delete marker replication, see [Basic Rule
2636
+ # Configuration][2].
2445
2637
  #
2446
- # <note markdown="1"> If you don't specify the `Filter` element, Amazon S3 assumes that the
2447
- # replication configuration is the earlier version, V1. In the earlier
2448
- # version, Amazon S3 handled replication of delete markers differently.
2449
- # For more information, see [Backward Compatibility][2].
2638
+ # <note markdown="1"> If you are using an earlier version of the replication configuration,
2639
+ # Amazon S3 handles replication of delete markers differently. For more
2640
+ # information, see [Backward Compatibility][3].
2450
2641
  #
2451
2642
  # </note>
2452
2643
  #
2453
2644
  #
2454
2645
  #
2455
2646
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config
2456
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations
2647
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html
2648
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations
2457
2649
  #
2458
2650
  # @note When making an API call, you may pass DeleteMarkerReplication
2459
2651
  # data as a hash:
@@ -2465,8 +2657,7 @@ module Aws::S3
2465
2657
  # @!attribute [rw] status
2466
2658
  # Indicates whether to replicate delete markers.
2467
2659
  #
2468
- # <note markdown="1"> In the current implementation, Amazon S3 doesn't replicate the
2469
- # delete markers. The status must be `Disabled`.
2660
+ # <note markdown="1"> Indicates whether to replicate delete markers.
2470
2661
  #
2471
2662
  # </note>
2472
2663
  # @return [String]
@@ -2524,14 +2715,24 @@ module Aws::S3
2524
2715
  # to the access point hostname. The access point hostname takes the
2525
2716
  # form
2526
2717
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
2527
- # When using this operation using an access point through the AWS
2528
- # SDKs, you provide the access point ARN in place of the bucket name.
2529
- # For more information about access point ARNs, see [Using Access
2718
+ # When using this operation with an access point through the AWS SDKs,
2719
+ # you provide the access point ARN in place of the bucket name. For
2720
+ # more information about access point ARNs, see [Using Access
2530
2721
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
2531
2722
  #
2723
+ # When using this API with Amazon S3 on Outposts, you must direct
2724
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
2725
+ # takes the form
2726
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
2727
+ # When using this operation using S3 on Outposts through the AWS SDKs,
2728
+ # you provide the Outposts bucket ARN in place of the bucket name. For
2729
+ # more information about S3 on Outposts ARNs, see [Using S3 on
2730
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
2731
+ #
2532
2732
  #
2533
2733
  #
2534
2734
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
2735
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2535
2736
  # @return [String]
2536
2737
  #
2537
2738
  # @!attribute [rw] key
@@ -2616,14 +2817,24 @@ module Aws::S3
2616
2817
  # to the access point hostname. The access point hostname takes the
2617
2818
  # form
2618
2819
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
2619
- # When using this operation using an access point through the AWS
2620
- # SDKs, you provide the access point ARN in place of the bucket name.
2621
- # For more information about access point ARNs, see [Using Access
2820
+ # When using this operation with an access point through the AWS SDKs,
2821
+ # you provide the access point ARN in place of the bucket name. For
2822
+ # more information about access point ARNs, see [Using Access
2622
2823
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
2623
2824
  #
2825
+ # When using this API with Amazon S3 on Outposts, you must direct
2826
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
2827
+ # takes the form
2828
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
2829
+ # When using this operation using S3 on Outposts through the AWS SDKs,
2830
+ # you provide the Outposts bucket ARN in place of the bucket name. For
2831
+ # more information about S3 on Outposts ARNs, see [Using S3 on
2832
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
2833
+ #
2624
2834
  #
2625
2835
  #
2626
2836
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
2837
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2627
2838
  # @return [String]
2628
2839
  #
2629
2840
  # @!attribute [rw] key
@@ -2703,14 +2914,24 @@ module Aws::S3
2703
2914
  # to the access point hostname. The access point hostname takes the
2704
2915
  # form
2705
2916
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
2706
- # When using this operation using an access point through the AWS
2707
- # SDKs, you provide the access point ARN in place of the bucket name.
2708
- # For more information about access point ARNs, see [Using Access
2917
+ # When using this operation with an access point through the AWS SDKs,
2918
+ # you provide the access point ARN in place of the bucket name. For
2919
+ # more information about access point ARNs, see [Using Access
2709
2920
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
2710
2921
  #
2922
+ # When using this API with Amazon S3 on Outposts, you must direct
2923
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
2924
+ # takes the form
2925
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
2926
+ # When using this operation using S3 on Outposts through the AWS SDKs,
2927
+ # you provide the Outposts bucket ARN in place of the bucket name. For
2928
+ # more information about S3 on Outposts ARNs, see [Using S3 on
2929
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
2930
+ #
2711
2931
  #
2712
2932
  #
2713
2933
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
2934
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
2714
2935
  # @return [String]
2715
2936
  #
2716
2937
  # @!attribute [rw] delete
@@ -2834,7 +3055,7 @@ module Aws::S3
2834
3055
  # {
2835
3056
  # bucket: "BucketName", # required
2836
3057
  # account: "AccountId",
2837
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
3058
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
2838
3059
  # access_control_translation: {
2839
3060
  # owner: "Destination", # required, accepts Destination
2840
3061
  # },
@@ -2849,7 +3070,7 @@ module Aws::S3
2849
3070
  # },
2850
3071
  # metrics: {
2851
3072
  # status: "Enabled", # required, accepts Enabled, Disabled
2852
- # event_threshold: { # required
3073
+ # event_threshold: {
2853
3074
  # minutes: 1,
2854
3075
  # },
2855
3076
  # },
@@ -2912,8 +3133,7 @@ module Aws::S3
2912
3133
  #
2913
3134
  # @!attribute [rw] metrics
2914
3135
  # A container specifying replication metrics-related settings enabling
2915
- # metrics and Amazon S3 events for S3 Replication Time Control (S3
2916
- # RTC). Must be specified together with a `ReplicationTime` block.
3136
+ # replication metrics and events.
2917
3137
  # @return [Types::Metrics]
2918
3138
  #
2919
3139
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Destination AWS API Documentation
@@ -3947,7 +4167,7 @@ module Aws::S3
3947
4167
  # }
3948
4168
  #
3949
4169
  # @!attribute [rw] bucket
3950
- # Name of the bucket for which the accelerate configuration is
4170
+ # The name of the bucket for which the accelerate configuration is
3951
4171
  # retrieved.
3952
4172
  # @return [String]
3953
4173
  #
@@ -4136,6 +4356,44 @@ module Aws::S3
4136
4356
  include Aws::Structure
4137
4357
  end
4138
4358
 
4359
+ # @!attribute [rw] intelligent_tiering_configuration
4360
+ # Container for S3 Intelligent-Tiering configuration.
4361
+ # @return [Types::IntelligentTieringConfiguration]
4362
+ #
4363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketIntelligentTieringConfigurationOutput AWS API Documentation
4364
+ #
4365
+ class GetBucketIntelligentTieringConfigurationOutput < Struct.new(
4366
+ :intelligent_tiering_configuration)
4367
+ SENSITIVE = []
4368
+ include Aws::Structure
4369
+ end
4370
+
4371
+ # @note When making an API call, you may pass GetBucketIntelligentTieringConfigurationRequest
4372
+ # data as a hash:
4373
+ #
4374
+ # {
4375
+ # bucket: "BucketName", # required
4376
+ # id: "IntelligentTieringId", # required
4377
+ # }
4378
+ #
4379
+ # @!attribute [rw] bucket
4380
+ # The name of the Amazon S3 bucket whose configuration you want to
4381
+ # modify or retrieve.
4382
+ # @return [String]
4383
+ #
4384
+ # @!attribute [rw] id
4385
+ # The ID used to identify the S3 Intelligent-Tiering configuration.
4386
+ # @return [String]
4387
+ #
4388
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketIntelligentTieringConfigurationRequest AWS API Documentation
4389
+ #
4390
+ class GetBucketIntelligentTieringConfigurationRequest < Struct.new(
4391
+ :bucket,
4392
+ :id)
4393
+ SENSITIVE = []
4394
+ include Aws::Structure
4395
+ end
4396
+
4139
4397
  # @!attribute [rw] inventory_configuration
4140
4398
  # Specifies the inventory configuration.
4141
4399
  # @return [Types::InventoryConfiguration]
@@ -4407,7 +4665,8 @@ module Aws::S3
4407
4665
  # }
4408
4666
  #
4409
4667
  # @!attribute [rw] bucket
4410
- # Name of the bucket for which to get the notification configuration.
4668
+ # The name of the bucket for which to get the notification
4669
+ # configuration.
4411
4670
  # @return [String]
4412
4671
  #
4413
4672
  # @!attribute [rw] expected_bucket_owner
@@ -4425,6 +4684,47 @@ module Aws::S3
4425
4684
  include Aws::Structure
4426
4685
  end
4427
4686
 
4687
+ # @!attribute [rw] ownership_controls
4688
+ # The `OwnershipControls` (BucketOwnerPreferred or ObjectWriter)
4689
+ # currently in effect for this Amazon S3 bucket.
4690
+ # @return [Types::OwnershipControls]
4691
+ #
4692
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketOwnershipControlsOutput AWS API Documentation
4693
+ #
4694
+ class GetBucketOwnershipControlsOutput < Struct.new(
4695
+ :ownership_controls)
4696
+ SENSITIVE = []
4697
+ include Aws::Structure
4698
+ end
4699
+
4700
+ # @note When making an API call, you may pass GetBucketOwnershipControlsRequest
4701
+ # data as a hash:
4702
+ #
4703
+ # {
4704
+ # bucket: "BucketName", # required
4705
+ # expected_bucket_owner: "AccountId",
4706
+ # }
4707
+ #
4708
+ # @!attribute [rw] bucket
4709
+ # The name of the Amazon S3 bucket whose `OwnershipControls` you want
4710
+ # to retrieve.
4711
+ # @return [String]
4712
+ #
4713
+ # @!attribute [rw] expected_bucket_owner
4714
+ # The account id of the expected bucket owner. If the bucket is owned
4715
+ # by a different account, the request will fail with an HTTP `403
4716
+ # (Access Denied)` error.
4717
+ # @return [String]
4718
+ #
4719
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketOwnershipControlsRequest AWS API Documentation
4720
+ #
4721
+ class GetBucketOwnershipControlsRequest < Struct.new(
4722
+ :bucket,
4723
+ :expected_bucket_owner)
4724
+ SENSITIVE = []
4725
+ include Aws::Structure
4726
+ end
4727
+
4428
4728
  # @!attribute [rw] policy
4429
4729
  # The bucket policy as a JSON document.
4430
4730
  # @return [String]
@@ -4770,9 +5070,9 @@ module Aws::S3
4770
5070
  # to the access point hostname. The access point hostname takes the
4771
5071
  # form
4772
5072
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
4773
- # When using this operation using an access point through the AWS
4774
- # SDKs, you provide the access point ARN in place of the bucket name.
4775
- # For more information about access point ARNs, see [Using Access
5073
+ # When using this operation with an access point through the AWS SDKs,
5074
+ # you provide the access point ARN in place of the bucket name. For
5075
+ # more information about access point ARNs, see [Using Access
4776
5076
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
4777
5077
  #
4778
5078
  #
@@ -4849,9 +5149,9 @@ module Aws::S3
4849
5149
  # to the access point hostname. The access point hostname takes the
4850
5150
  # form
4851
5151
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
4852
- # When using this operation using an access point through the AWS
4853
- # SDKs, you provide the access point ARN in place of the bucket name.
4854
- # For more information about access point ARNs, see [Using Access
5152
+ # When using this operation with an access point through the AWS SDKs,
5153
+ # you provide the access point ARN in place of the bucket name. For
5154
+ # more information about access point ARNs, see [Using Access
4855
5155
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
4856
5156
  #
4857
5157
  #
@@ -4921,6 +5221,19 @@ module Aws::S3
4921
5221
  #
4922
5222
  # @!attribute [rw] bucket
4923
5223
  # The bucket whose Object Lock configuration you want to retrieve.
5224
+ #
5225
+ # When using this API with an access point, you must direct requests
5226
+ # to the access point hostname. The access point hostname takes the
5227
+ # form
5228
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5229
+ # When using this operation with an access point through the AWS SDKs,
5230
+ # you provide the access point ARN in place of the bucket name. For
5231
+ # more information about access point ARNs, see [Using Access
5232
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
5233
+ #
5234
+ #
5235
+ #
5236
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
4924
5237
  # @return [String]
4925
5238
  #
4926
5239
  # @!attribute [rw] expected_bucket_owner
@@ -5167,14 +5480,24 @@ module Aws::S3
5167
5480
  # to the access point hostname. The access point hostname takes the
5168
5481
  # form
5169
5482
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5170
- # When using this operation using an access point through the AWS
5171
- # SDKs, you provide the access point ARN in place of the bucket name.
5172
- # For more information about access point ARNs, see [Using Access
5483
+ # When using this operation with an access point through the AWS SDKs,
5484
+ # you provide the access point ARN in place of the bucket name. For
5485
+ # more information about access point ARNs, see [Using Access
5173
5486
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
5174
5487
  #
5488
+ # When using this API with Amazon S3 on Outposts, you must direct
5489
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5490
+ # takes the form
5491
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
5492
+ # When using this operation using S3 on Outposts through the AWS SDKs,
5493
+ # you provide the Outposts bucket ARN in place of the bucket name. For
5494
+ # more information about S3 on Outposts ARNs, see [Using S3 on
5495
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
5496
+ #
5175
5497
  #
5176
5498
  #
5177
5499
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
5500
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
5178
5501
  # @return [String]
5179
5502
  #
5180
5503
  # @!attribute [rw] if_match
@@ -5346,9 +5669,9 @@ module Aws::S3
5346
5669
  # to the access point hostname. The access point hostname takes the
5347
5670
  # form
5348
5671
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5349
- # When using this operation using an access point through the AWS
5350
- # SDKs, you provide the access point ARN in place of the bucket name.
5351
- # For more information about access point ARNs, see [Using Access
5672
+ # When using this operation with an access point through the AWS SDKs,
5673
+ # you provide the access point ARN in place of the bucket name. For
5674
+ # more information about access point ARNs, see [Using Access
5352
5675
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
5353
5676
  #
5354
5677
  #
@@ -5432,14 +5755,24 @@ module Aws::S3
5432
5755
  # to the access point hostname. The access point hostname takes the
5433
5756
  # form
5434
5757
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
5435
- # When using this operation using an access point through the AWS
5436
- # SDKs, you provide the access point ARN in place of the bucket name.
5437
- # For more information about access point ARNs, see [Using Access
5758
+ # When using this operation with an access point through the AWS SDKs,
5759
+ # you provide the access point ARN in place of the bucket name. For
5760
+ # more information about access point ARNs, see [Using Access
5438
5761
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
5439
5762
  #
5763
+ # When using this API with Amazon S3 on Outposts, you must direct
5764
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
5765
+ # takes the form
5766
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
5767
+ # When using this operation using S3 on Outposts through the AWS SDKs,
5768
+ # you provide the Outposts bucket ARN in place of the bucket name. For
5769
+ # more information about S3 on Outposts ARNs, see [Using S3 on
5770
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
5771
+ #
5440
5772
  #
5441
5773
  #
5442
5774
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
5775
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
5443
5776
  # @return [String]
5444
5777
  #
5445
5778
  # @!attribute [rw] key
@@ -5585,7 +5918,7 @@ module Aws::S3
5585
5918
  # }
5586
5919
  #
5587
5920
  # @!attribute [rw] tier
5588
- # S3 Glacier retrieval tier at which the restore will be processed.
5921
+ # Retrieval tier at which the restore will be processed.
5589
5922
  # @return [String]
5590
5923
  #
5591
5924
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GlacierJobParameters AWS API Documentation
@@ -5712,6 +6045,29 @@ module Aws::S3
5712
6045
  #
5713
6046
  # @!attribute [rw] bucket
5714
6047
  # The bucket name.
6048
+ #
6049
+ # When using this API with an access point, you must direct requests
6050
+ # to the access point hostname. The access point hostname takes the
6051
+ # form
6052
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
6053
+ # When using this operation with an access point through the AWS SDKs,
6054
+ # you provide the access point ARN in place of the bucket name. For
6055
+ # more information about access point ARNs, see [Using Access
6056
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
6057
+ #
6058
+ # When using this API with Amazon S3 on Outposts, you must direct
6059
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6060
+ # takes the form
6061
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6062
+ # When using this operation using S3 on Outposts through the AWS SDKs,
6063
+ # you provide the Outposts bucket ARN in place of the bucket name. For
6064
+ # more information about S3 on Outposts ARNs, see [Using S3 on
6065
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
6066
+ #
6067
+ #
6068
+ #
6069
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
6070
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
5715
6071
  # @return [String]
5716
6072
  #
5717
6073
  # @!attribute [rw] expected_bucket_owner
@@ -5770,6 +6126,10 @@ module Aws::S3
5770
6126
  # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations
5771
6127
  # @return [String]
5772
6128
  #
6129
+ # @!attribute [rw] archive_status
6130
+ # The archive state of the head object.
6131
+ # @return [String]
6132
+ #
5773
6133
  # @!attribute [rw] last_modified
5774
6134
  # Last modified date of the object
5775
6135
  # @return [Time]
@@ -5955,6 +6315,7 @@ module Aws::S3
5955
6315
  :accept_ranges,
5956
6316
  :expiration,
5957
6317
  :restore,
6318
+ :archive_status,
5958
6319
  :last_modified,
5959
6320
  :content_length,
5960
6321
  :etag,
@@ -6006,6 +6367,29 @@ module Aws::S3
6006
6367
  #
6007
6368
  # @!attribute [rw] bucket
6008
6369
  # The name of the bucket containing the object.
6370
+ #
6371
+ # When using this API with an access point, you must direct requests
6372
+ # to the access point hostname. The access point hostname takes the
6373
+ # form
6374
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
6375
+ # When using this operation with an access point through the AWS SDKs,
6376
+ # you provide the access point ARN in place of the bucket name. For
6377
+ # more information about access point ARNs, see [Using Access
6378
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
6379
+ #
6380
+ # When using this API with Amazon S3 on Outposts, you must direct
6381
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
6382
+ # takes the form
6383
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
6384
+ # When using this operation using S3 on Outposts through the AWS SDKs,
6385
+ # you provide the Outposts bucket ARN in place of the bucket name. For
6386
+ # more information about S3 on Outposts ARNs, see [Using S3 on
6387
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
6388
+ #
6389
+ #
6390
+ #
6391
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
6392
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
6009
6393
  # @return [String]
6010
6394
  #
6011
6395
  # @!attribute [rw] if_match
@@ -6035,12 +6419,16 @@ module Aws::S3
6035
6419
  # @!attribute [rw] range
6036
6420
  # Downloads the specified range bytes of an object. For more
6037
6421
  # information about the HTTP Range header, see
6038
- # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35]().
6422
+ # [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35][1].
6039
6423
  #
6040
6424
  # <note markdown="1"> Amazon S3 doesn't support retrieving multiple ranges of data per
6041
6425
  # `GET` request.
6042
6426
  #
6043
6427
  # </note>
6428
+ #
6429
+ #
6430
+ #
6431
+ # [1]: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
6044
6432
  # @return [String]
6045
6433
  #
6046
6434
  # @!attribute [rw] version_id
@@ -6208,6 +6596,177 @@ module Aws::S3
6208
6596
  include Aws::Structure
6209
6597
  end
6210
6598
 
6599
+ # A container for specifying S3 Intelligent-Tiering filters. The filters
6600
+ # determine the subset of objects to which the rule applies.
6601
+ #
6602
+ # @note When making an API call, you may pass IntelligentTieringAndOperator
6603
+ # data as a hash:
6604
+ #
6605
+ # {
6606
+ # prefix: "Prefix",
6607
+ # tags: [
6608
+ # {
6609
+ # key: "ObjectKey", # required
6610
+ # value: "Value", # required
6611
+ # },
6612
+ # ],
6613
+ # }
6614
+ #
6615
+ # @!attribute [rw] prefix
6616
+ # An object key name prefix that identifies the subset of objects to
6617
+ # which the configuration applies.
6618
+ # @return [String]
6619
+ #
6620
+ # @!attribute [rw] tags
6621
+ # All of these tags must exist in the object's tag set in order for
6622
+ # the configuration to apply.
6623
+ # @return [Array<Types::Tag>]
6624
+ #
6625
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IntelligentTieringAndOperator AWS API Documentation
6626
+ #
6627
+ class IntelligentTieringAndOperator < Struct.new(
6628
+ :prefix,
6629
+ :tags)
6630
+ SENSITIVE = []
6631
+ include Aws::Structure
6632
+ end
6633
+
6634
+ # Specifies the S3 Intelligent-Tiering configuration for an Amazon S3
6635
+ # bucket.
6636
+ #
6637
+ # For information about the S3 Intelligent-Tiering storage class, see
6638
+ # [Storage class for automatically optimizing frequently and
6639
+ # infrequently accessed objects][1].
6640
+ #
6641
+ #
6642
+ #
6643
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
6644
+ #
6645
+ # @note When making an API call, you may pass IntelligentTieringConfiguration
6646
+ # data as a hash:
6647
+ #
6648
+ # {
6649
+ # id: "IntelligentTieringId", # required
6650
+ # filter: {
6651
+ # prefix: "Prefix",
6652
+ # tag: {
6653
+ # key: "ObjectKey", # required
6654
+ # value: "Value", # required
6655
+ # },
6656
+ # and: {
6657
+ # prefix: "Prefix",
6658
+ # tags: [
6659
+ # {
6660
+ # key: "ObjectKey", # required
6661
+ # value: "Value", # required
6662
+ # },
6663
+ # ],
6664
+ # },
6665
+ # },
6666
+ # status: "Enabled", # required, accepts Enabled, Disabled
6667
+ # tierings: [ # required
6668
+ # {
6669
+ # days: 1, # required
6670
+ # access_tier: "ARCHIVE_ACCESS", # required, accepts ARCHIVE_ACCESS, DEEP_ARCHIVE_ACCESS
6671
+ # },
6672
+ # ],
6673
+ # }
6674
+ #
6675
+ # @!attribute [rw] id
6676
+ # The ID used to identify the S3 Intelligent-Tiering configuration.
6677
+ # @return [String]
6678
+ #
6679
+ # @!attribute [rw] filter
6680
+ # Specifies a bucket filter. The configuration only includes objects
6681
+ # that meet the filter's criteria.
6682
+ # @return [Types::IntelligentTieringFilter]
6683
+ #
6684
+ # @!attribute [rw] status
6685
+ # Specifies the status of the configuration.
6686
+ # @return [String]
6687
+ #
6688
+ # @!attribute [rw] tierings
6689
+ # Specifies the S3 Intelligent-Tiering storage class tier of the
6690
+ # configuration.
6691
+ # @return [Array<Types::Tiering>]
6692
+ #
6693
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IntelligentTieringConfiguration AWS API Documentation
6694
+ #
6695
+ class IntelligentTieringConfiguration < Struct.new(
6696
+ :id,
6697
+ :filter,
6698
+ :status,
6699
+ :tierings)
6700
+ SENSITIVE = []
6701
+ include Aws::Structure
6702
+ end
6703
+
6704
+ # The `Filter` is used to identify objects that the S3
6705
+ # Intelligent-Tiering configuration applies to.
6706
+ #
6707
+ # @note When making an API call, you may pass IntelligentTieringFilter
6708
+ # data as a hash:
6709
+ #
6710
+ # {
6711
+ # prefix: "Prefix",
6712
+ # tag: {
6713
+ # key: "ObjectKey", # required
6714
+ # value: "Value", # required
6715
+ # },
6716
+ # and: {
6717
+ # prefix: "Prefix",
6718
+ # tags: [
6719
+ # {
6720
+ # key: "ObjectKey", # required
6721
+ # value: "Value", # required
6722
+ # },
6723
+ # ],
6724
+ # },
6725
+ # }
6726
+ #
6727
+ # @!attribute [rw] prefix
6728
+ # An object key name prefix that identifies the subset of objects to
6729
+ # which the rule applies.
6730
+ # @return [String]
6731
+ #
6732
+ # @!attribute [rw] tag
6733
+ # A container of a key value name pair.
6734
+ # @return [Types::Tag]
6735
+ #
6736
+ # @!attribute [rw] and
6737
+ # A conjunction (logical AND) of predicates, which is used in
6738
+ # evaluating a metrics filter. The operator must have at least two
6739
+ # predicates, and an object must match all of the predicates in order
6740
+ # for the filter to apply.
6741
+ # @return [Types::IntelligentTieringAndOperator]
6742
+ #
6743
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IntelligentTieringFilter AWS API Documentation
6744
+ #
6745
+ class IntelligentTieringFilter < Struct.new(
6746
+ :prefix,
6747
+ :tag,
6748
+ :and)
6749
+ SENSITIVE = []
6750
+ include Aws::Structure
6751
+ end
6752
+
6753
+ # Object is archived and inaccessible until restored.
6754
+ #
6755
+ # @!attribute [rw] storage_class
6756
+ # @return [String]
6757
+ #
6758
+ # @!attribute [rw] access_tier
6759
+ # @return [String]
6760
+ #
6761
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InvalidObjectState AWS API Documentation
6762
+ #
6763
+ class InvalidObjectState < Struct.new(
6764
+ :storage_class,
6765
+ :access_tier)
6766
+ SENSITIVE = []
6767
+ include Aws::Structure
6768
+ end
6769
+
6211
6770
  # Specifies the inventory configuration for an Amazon S3 bucket. For
6212
6771
  # more information, see [GET Bucket inventory][1] in the *Amazon Simple
6213
6772
  # Storage Service API Reference*.
@@ -6879,45 +7438,113 @@ module Aws::S3
6879
7438
  # @return [Boolean]
6880
7439
  #
6881
7440
  # @!attribute [rw] continuation_token
6882
- # The marker that is used as a starting point for this analytics
6883
- # configuration list response. This value is present if it was sent in
6884
- # the request.
7441
+ # The marker that is used as a starting point for this analytics
7442
+ # configuration list response. This value is present if it was sent in
7443
+ # the request.
7444
+ # @return [String]
7445
+ #
7446
+ # @!attribute [rw] next_continuation_token
7447
+ # `NextContinuationToken` is sent when `isTruncated` is true, which
7448
+ # indicates that there are more analytics configurations to list. The
7449
+ # next request must include this `NextContinuationToken`. The token is
7450
+ # obfuscated and is not a usable value.
7451
+ # @return [String]
7452
+ #
7453
+ # @!attribute [rw] analytics_configuration_list
7454
+ # The list of analytics configurations for a bucket.
7455
+ # @return [Array<Types::AnalyticsConfiguration>]
7456
+ #
7457
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurationsOutput AWS API Documentation
7458
+ #
7459
+ class ListBucketAnalyticsConfigurationsOutput < Struct.new(
7460
+ :is_truncated,
7461
+ :continuation_token,
7462
+ :next_continuation_token,
7463
+ :analytics_configuration_list)
7464
+ SENSITIVE = []
7465
+ include Aws::Structure
7466
+ end
7467
+
7468
+ # @note When making an API call, you may pass ListBucketAnalyticsConfigurationsRequest
7469
+ # data as a hash:
7470
+ #
7471
+ # {
7472
+ # bucket: "BucketName", # required
7473
+ # continuation_token: "Token",
7474
+ # expected_bucket_owner: "AccountId",
7475
+ # }
7476
+ #
7477
+ # @!attribute [rw] bucket
7478
+ # The name of the bucket from which analytics configurations are
7479
+ # retrieved.
7480
+ # @return [String]
7481
+ #
7482
+ # @!attribute [rw] continuation_token
7483
+ # The ContinuationToken that represents a placeholder from where this
7484
+ # request should begin.
7485
+ # @return [String]
7486
+ #
7487
+ # @!attribute [rw] expected_bucket_owner
7488
+ # The account id of the expected bucket owner. If the bucket is owned
7489
+ # by a different account, the request will fail with an HTTP `403
7490
+ # (Access Denied)` error.
7491
+ # @return [String]
7492
+ #
7493
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurationsRequest AWS API Documentation
7494
+ #
7495
+ class ListBucketAnalyticsConfigurationsRequest < Struct.new(
7496
+ :bucket,
7497
+ :continuation_token,
7498
+ :expected_bucket_owner)
7499
+ SENSITIVE = []
7500
+ include Aws::Structure
7501
+ end
7502
+
7503
+ # @!attribute [rw] is_truncated
7504
+ # Indicates whether the returned list of analytics configurations is
7505
+ # complete. A value of true indicates that the list is not complete
7506
+ # and the NextContinuationToken will be provided for a subsequent
7507
+ # request.
7508
+ # @return [Boolean]
7509
+ #
7510
+ # @!attribute [rw] continuation_token
7511
+ # The ContinuationToken that represents a placeholder from where this
7512
+ # request should begin.
6885
7513
  # @return [String]
6886
7514
  #
6887
7515
  # @!attribute [rw] next_continuation_token
6888
- # `NextContinuationToken` is sent when `isTruncated` is true, which
6889
- # indicates that there are more analytics configurations to list. The
6890
- # next request must include this `NextContinuationToken`. The token is
6891
- # obfuscated and is not a usable value.
7516
+ # The marker used to continue this inventory configuration listing.
7517
+ # Use the `NextContinuationToken` from this response to continue the
7518
+ # listing in a subsequent request. The continuation token is an opaque
7519
+ # value that Amazon S3 understands.
6892
7520
  # @return [String]
6893
7521
  #
6894
- # @!attribute [rw] analytics_configuration_list
6895
- # The list of analytics configurations for a bucket.
6896
- # @return [Array<Types::AnalyticsConfiguration>]
7522
+ # @!attribute [rw] intelligent_tiering_configuration_list
7523
+ # The list of S3 Intelligent-Tiering configurations for a bucket.
7524
+ # @return [Array<Types::IntelligentTieringConfiguration>]
6897
7525
  #
6898
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurationsOutput AWS API Documentation
7526
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketIntelligentTieringConfigurationsOutput AWS API Documentation
6899
7527
  #
6900
- class ListBucketAnalyticsConfigurationsOutput < Struct.new(
7528
+ class ListBucketIntelligentTieringConfigurationsOutput < Struct.new(
6901
7529
  :is_truncated,
6902
7530
  :continuation_token,
6903
7531
  :next_continuation_token,
6904
- :analytics_configuration_list)
7532
+ :intelligent_tiering_configuration_list)
6905
7533
  SENSITIVE = []
6906
7534
  include Aws::Structure
6907
7535
  end
6908
7536
 
6909
- # @note When making an API call, you may pass ListBucketAnalyticsConfigurationsRequest
7537
+ # @note When making an API call, you may pass ListBucketIntelligentTieringConfigurationsRequest
6910
7538
  # data as a hash:
6911
7539
  #
6912
7540
  # {
6913
7541
  # bucket: "BucketName", # required
6914
7542
  # continuation_token: "Token",
6915
- # expected_bucket_owner: "AccountId",
6916
7543
  # }
6917
7544
  #
6918
7545
  # @!attribute [rw] bucket
6919
- # The name of the bucket from which analytics configurations are
6920
- # retrieved.
7546
+ # The name of the Amazon S3 bucket whose configuration you want to
7547
+ # modify or retrieve.
6921
7548
  # @return [String]
6922
7549
  #
6923
7550
  # @!attribute [rw] continuation_token
@@ -6925,18 +7552,11 @@ module Aws::S3
6925
7552
  # request should begin.
6926
7553
  # @return [String]
6927
7554
  #
6928
- # @!attribute [rw] expected_bucket_owner
6929
- # The account id of the expected bucket owner. If the bucket is owned
6930
- # by a different account, the request will fail with an HTTP `403
6931
- # (Access Denied)` error.
6932
- # @return [String]
6933
- #
6934
- # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketAnalyticsConfigurationsRequest AWS API Documentation
7555
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketIntelligentTieringConfigurationsRequest AWS API Documentation
6935
7556
  #
6936
- class ListBucketAnalyticsConfigurationsRequest < Struct.new(
7557
+ class ListBucketIntelligentTieringConfigurationsRequest < Struct.new(
6937
7558
  :bucket,
6938
- :continuation_token,
6939
- :expected_bucket_owner)
7559
+ :continuation_token)
6940
7560
  SENSITIVE = []
6941
7561
  include Aws::Structure
6942
7562
  end
@@ -7101,7 +7721,7 @@ module Aws::S3
7101
7721
  end
7102
7722
 
7103
7723
  # @!attribute [rw] bucket
7104
- # Name of the bucket to which the multipart upload was initiated.
7724
+ # The name of the bucket to which the multipart upload was initiated.
7105
7725
  # @return [String]
7106
7726
  #
7107
7727
  # @!attribute [rw] key_marker
@@ -7205,20 +7825,30 @@ module Aws::S3
7205
7825
  # }
7206
7826
  #
7207
7827
  # @!attribute [rw] bucket
7208
- # Name of the bucket to which the multipart upload was initiated.
7828
+ # The name of the bucket to which the multipart upload was initiated.
7209
7829
  #
7210
7830
  # When using this API with an access point, you must direct requests
7211
7831
  # to the access point hostname. The access point hostname takes the
7212
7832
  # form
7213
7833
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7214
- # When using this operation using an access point through the AWS
7215
- # SDKs, you provide the access point ARN in place of the bucket name.
7216
- # For more information about access point ARNs, see [Using Access
7834
+ # When using this operation with an access point through the AWS SDKs,
7835
+ # you provide the access point ARN in place of the bucket name. For
7836
+ # more information about access point ARNs, see [Using Access
7217
7837
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
7218
7838
  #
7839
+ # When using this API with Amazon S3 on Outposts, you must direct
7840
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
7841
+ # takes the form
7842
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
7843
+ # When using this operation using S3 on Outposts through the AWS SDKs,
7844
+ # you provide the Outposts bucket ARN in place of the bucket name. For
7845
+ # more information about S3 on Outposts ARNs, see [Using S3 on
7846
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
7847
+ #
7219
7848
  #
7220
7849
  #
7221
7850
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
7851
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
7222
7852
  # @return [String]
7223
7853
  #
7224
7854
  # @!attribute [rw] delimiter
@@ -7338,7 +7968,7 @@ module Aws::S3
7338
7968
  # @return [Array<Types::DeleteMarkerEntry>]
7339
7969
  #
7340
7970
  # @!attribute [rw] name
7341
- # Bucket name.
7971
+ # The bucket name.
7342
7972
  # @return [String]
7343
7973
  #
7344
7974
  # @!attribute [rw] prefix
@@ -7411,19 +8041,6 @@ module Aws::S3
7411
8041
  #
7412
8042
  # @!attribute [rw] bucket
7413
8043
  # The bucket name that contains the objects.
7414
- #
7415
- # When using this API with an access point, you must direct requests
7416
- # to the access point hostname. The access point hostname takes the
7417
- # form
7418
- # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7419
- # When using this operation using an access point through the AWS
7420
- # SDKs, you provide the access point ARN in place of the bucket name.
7421
- # For more information about access point ARNs, see [Using Access
7422
- # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
7423
- #
7424
- #
7425
- #
7426
- # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
7427
8044
  # @return [String]
7428
8045
  #
7429
8046
  # @!attribute [rw] delimiter
@@ -7518,7 +8135,7 @@ module Aws::S3
7518
8135
  # @return [Array<Types::Object>]
7519
8136
  #
7520
8137
  # @!attribute [rw] name
7521
- # Bucket name.
8138
+ # The bucket name.
7522
8139
  # @return [String]
7523
8140
  #
7524
8141
  # @!attribute [rw] prefix
@@ -7594,6 +8211,29 @@ module Aws::S3
7594
8211
  #
7595
8212
  # @!attribute [rw] bucket
7596
8213
  # The name of the bucket containing the objects.
8214
+ #
8215
+ # When using this API with an access point, you must direct requests
8216
+ # to the access point hostname. The access point hostname takes the
8217
+ # form
8218
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
8219
+ # When using this operation with an access point through the AWS SDKs,
8220
+ # you provide the access point ARN in place of the bucket name. For
8221
+ # more information about access point ARNs, see [Using Access
8222
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
8223
+ #
8224
+ # When using this API with Amazon S3 on Outposts, you must direct
8225
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8226
+ # takes the form
8227
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
8228
+ # When using this operation using S3 on Outposts through the AWS SDKs,
8229
+ # you provide the Outposts bucket ARN in place of the bucket name. For
8230
+ # more information about S3 on Outposts ARNs, see [Using S3 on
8231
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
8232
+ #
8233
+ #
8234
+ #
8235
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
8236
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
7597
8237
  # @return [String]
7598
8238
  #
7599
8239
  # @!attribute [rw] delimiter
@@ -7661,20 +8301,30 @@ module Aws::S3
7661
8301
  # @return [Array<Types::Object>]
7662
8302
  #
7663
8303
  # @!attribute [rw] name
7664
- # Bucket name.
8304
+ # The bucket name.
7665
8305
  #
7666
8306
  # When using this API with an access point, you must direct requests
7667
8307
  # to the access point hostname. The access point hostname takes the
7668
8308
  # form
7669
8309
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7670
- # When using this operation using an access point through the AWS
7671
- # SDKs, you provide the access point ARN in place of the bucket name.
7672
- # For more information about access point ARNs, see [Using Access
8310
+ # When using this operation with an access point through the AWS SDKs,
8311
+ # you provide the access point ARN in place of the bucket name. For
8312
+ # more information about access point ARNs, see [Using Access
7673
8313
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
7674
8314
  #
8315
+ # When using this API with Amazon S3 on Outposts, you must direct
8316
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8317
+ # takes the form
8318
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
8319
+ # When using this operation using S3 on Outposts through the AWS SDKs,
8320
+ # you provide the Outposts bucket ARN in place of the bucket name. For
8321
+ # more information about S3 on Outposts ARNs, see [Using S3 on
8322
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
8323
+ #
7675
8324
  #
7676
8325
  #
7677
8326
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
8327
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
7678
8328
  # @return [String]
7679
8329
  #
7680
8330
  # @!attribute [rw] prefix
@@ -7792,14 +8442,24 @@ module Aws::S3
7792
8442
  # to the access point hostname. The access point hostname takes the
7793
8443
  # form
7794
8444
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
7795
- # When using this operation using an access point through the AWS
7796
- # SDKs, you provide the access point ARN in place of the bucket name.
7797
- # For more information about access point ARNs, see [Using Access
8445
+ # When using this operation with an access point through the AWS SDKs,
8446
+ # you provide the access point ARN in place of the bucket name. For
8447
+ # more information about access point ARNs, see [Using Access
7798
8448
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
7799
8449
  #
8450
+ # When using this API with Amazon S3 on Outposts, you must direct
8451
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8452
+ # takes the form
8453
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
8454
+ # When using this operation using S3 on Outposts through the AWS SDKs,
8455
+ # you provide the Outposts bucket ARN in place of the bucket name. For
8456
+ # more information about S3 on Outposts ARNs, see [Using S3 on
8457
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
8458
+ #
7800
8459
  #
7801
8460
  #
7802
8461
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
8462
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
7803
8463
  # @return [String]
7804
8464
  #
7805
8465
  # @!attribute [rw] delimiter
@@ -7893,7 +8553,7 @@ module Aws::S3
7893
8553
  # @return [String]
7894
8554
  #
7895
8555
  # @!attribute [rw] bucket
7896
- # Name of the bucket to which the multipart upload was initiated.
8556
+ # The name of the bucket to which the multipart upload was initiated.
7897
8557
  # @return [String]
7898
8558
  #
7899
8559
  # @!attribute [rw] key
@@ -7991,20 +8651,30 @@ module Aws::S3
7991
8651
  # }
7992
8652
  #
7993
8653
  # @!attribute [rw] bucket
7994
- # Name of the bucket to which the parts are being uploaded.
8654
+ # The name of the bucket to which the parts are being uploaded.
7995
8655
  #
7996
8656
  # When using this API with an access point, you must direct requests
7997
8657
  # to the access point hostname. The access point hostname takes the
7998
8658
  # form
7999
8659
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
8000
- # When using this operation using an access point through the AWS
8001
- # SDKs, you provide the access point ARN in place of the bucket name.
8002
- # For more information about access point ARNs, see [Using Access
8660
+ # When using this operation with an access point through the AWS SDKs,
8661
+ # you provide the access point ARN in place of the bucket name. For
8662
+ # more information about access point ARNs, see [Using Access
8003
8663
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
8004
8664
  #
8665
+ # When using this API with Amazon S3 on Outposts, you must direct
8666
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
8667
+ # takes the form
8668
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
8669
+ # When using this operation using S3 on Outposts through the AWS SDKs,
8670
+ # you provide the Outposts bucket ARN in place of the bucket name. For
8671
+ # more information about S3 on Outposts ARNs, see [Using S3 on
8672
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
8673
+ #
8005
8674
  #
8006
8675
  #
8007
8676
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
8677
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
8008
8678
  # @return [String]
8009
8679
  #
8010
8680
  # @!attribute [rw] key
@@ -8144,15 +8814,14 @@ module Aws::S3
8144
8814
  end
8145
8815
 
8146
8816
  # A container specifying replication metrics-related settings enabling
8147
- # metrics and Amazon S3 events for S3 Replication Time Control (S3 RTC).
8148
- # Must be specified together with a `ReplicationTime` block.
8817
+ # replication metrics and events.
8149
8818
  #
8150
8819
  # @note When making an API call, you may pass Metrics
8151
8820
  # data as a hash:
8152
8821
  #
8153
8822
  # {
8154
8823
  # status: "Enabled", # required, accepts Enabled, Disabled
8155
- # event_threshold: { # required
8824
+ # event_threshold: {
8156
8825
  # minutes: 1,
8157
8826
  # },
8158
8827
  # }
@@ -8915,7 +9584,7 @@ module Aws::S3
8915
9584
  # value: "MetadataValue",
8916
9585
  # },
8917
9586
  # ],
8918
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
9587
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
8919
9588
  # },
8920
9589
  # }
8921
9590
  #
@@ -8994,6 +9663,60 @@ module Aws::S3
8994
9663
  include Aws::Structure
8995
9664
  end
8996
9665
 
9666
+ # The container element for a bucket's ownership controls.
9667
+ #
9668
+ # @note When making an API call, you may pass OwnershipControls
9669
+ # data as a hash:
9670
+ #
9671
+ # {
9672
+ # rules: [ # required
9673
+ # {
9674
+ # object_ownership: "BucketOwnerPreferred", # required, accepts BucketOwnerPreferred, ObjectWriter
9675
+ # },
9676
+ # ],
9677
+ # }
9678
+ #
9679
+ # @!attribute [rw] rules
9680
+ # The container element for an ownership control rule.
9681
+ # @return [Array<Types::OwnershipControlsRule>]
9682
+ #
9683
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OwnershipControls AWS API Documentation
9684
+ #
9685
+ class OwnershipControls < Struct.new(
9686
+ :rules)
9687
+ SENSITIVE = []
9688
+ include Aws::Structure
9689
+ end
9690
+
9691
+ # The container element for an ownership control rule.
9692
+ #
9693
+ # @note When making an API call, you may pass OwnershipControlsRule
9694
+ # data as a hash:
9695
+ #
9696
+ # {
9697
+ # object_ownership: "BucketOwnerPreferred", # required, accepts BucketOwnerPreferred, ObjectWriter
9698
+ # }
9699
+ #
9700
+ # @!attribute [rw] object_ownership
9701
+ # The container element for object ownership for a bucket's ownership
9702
+ # controls.
9703
+ #
9704
+ # BucketOwnerPreferred - Objects uploaded to the bucket change
9705
+ # ownership to the bucket owner if the objects are uploaded with the
9706
+ # `bucket-owner-full-control` canned ACL.
9707
+ #
9708
+ # ObjectWriter - The uploading account will own the object if the
9709
+ # object is uploaded with the `bucket-owner-full-control` canned ACL.
9710
+ # @return [String]
9711
+ #
9712
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/OwnershipControlsRule AWS API Documentation
9713
+ #
9714
+ class OwnershipControlsRule < Struct.new(
9715
+ :object_ownership)
9716
+ SENSITIVE = []
9717
+ include Aws::Structure
9718
+ end
9719
+
8997
9720
  # Container for Parquet.
8998
9721
  #
8999
9722
  # @api private
@@ -9144,8 +9867,8 @@ module Aws::S3
9144
9867
  # @!attribute [rw] restrict_public_buckets
9145
9868
  # Specifies whether Amazon S3 should restrict public bucket policies
9146
9869
  # for this bucket. Setting this element to `TRUE` restricts access to
9147
- # this bucket to only AWS services and authorized users within this
9148
- # account if the bucket has a public policy.
9870
+ # this bucket to only AWS service principals and authorized users
9871
+ # within this account if the bucket has a public policy.
9149
9872
  #
9150
9873
  # Enabling this setting doesn't affect previously stored bucket
9151
9874
  # policies, except that public and cross-account access within any
@@ -9176,7 +9899,8 @@ module Aws::S3
9176
9899
  # }
9177
9900
  #
9178
9901
  # @!attribute [rw] bucket
9179
- # Name of the bucket for which the accelerate configuration is set.
9902
+ # The name of the bucket for which the accelerate configuration is
9903
+ # set.
9180
9904
  # @return [String]
9181
9905
  #
9182
9906
  # @!attribute [rw] accelerate_configuration
@@ -9494,6 +10218,63 @@ module Aws::S3
9494
10218
  include Aws::Structure
9495
10219
  end
9496
10220
 
10221
+ # @note When making an API call, you may pass PutBucketIntelligentTieringConfigurationRequest
10222
+ # data as a hash:
10223
+ #
10224
+ # {
10225
+ # bucket: "BucketName", # required
10226
+ # id: "IntelligentTieringId", # required
10227
+ # intelligent_tiering_configuration: { # required
10228
+ # id: "IntelligentTieringId", # required
10229
+ # filter: {
10230
+ # prefix: "Prefix",
10231
+ # tag: {
10232
+ # key: "ObjectKey", # required
10233
+ # value: "Value", # required
10234
+ # },
10235
+ # and: {
10236
+ # prefix: "Prefix",
10237
+ # tags: [
10238
+ # {
10239
+ # key: "ObjectKey", # required
10240
+ # value: "Value", # required
10241
+ # },
10242
+ # ],
10243
+ # },
10244
+ # },
10245
+ # status: "Enabled", # required, accepts Enabled, Disabled
10246
+ # tierings: [ # required
10247
+ # {
10248
+ # days: 1, # required
10249
+ # access_tier: "ARCHIVE_ACCESS", # required, accepts ARCHIVE_ACCESS, DEEP_ARCHIVE_ACCESS
10250
+ # },
10251
+ # ],
10252
+ # },
10253
+ # }
10254
+ #
10255
+ # @!attribute [rw] bucket
10256
+ # The name of the Amazon S3 bucket whose configuration you want to
10257
+ # modify or retrieve.
10258
+ # @return [String]
10259
+ #
10260
+ # @!attribute [rw] id
10261
+ # The ID used to identify the S3 Intelligent-Tiering configuration.
10262
+ # @return [String]
10263
+ #
10264
+ # @!attribute [rw] intelligent_tiering_configuration
10265
+ # Container for S3 Intelligent-Tiering configuration.
10266
+ # @return [Types::IntelligentTieringConfiguration]
10267
+ #
10268
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketIntelligentTieringConfigurationRequest AWS API Documentation
10269
+ #
10270
+ class PutBucketIntelligentTieringConfigurationRequest < Struct.new(
10271
+ :bucket,
10272
+ :id,
10273
+ :intelligent_tiering_configuration)
10274
+ SENSITIVE = []
10275
+ include Aws::Structure
10276
+ end
10277
+
9497
10278
  # @note When making an API call, you may pass PutBucketInventoryConfigurationRequest
9498
10279
  # data as a hash:
9499
10280
  #
@@ -9964,6 +10745,53 @@ module Aws::S3
9964
10745
  include Aws::Structure
9965
10746
  end
9966
10747
 
10748
+ # @note When making an API call, you may pass PutBucketOwnershipControlsRequest
10749
+ # data as a hash:
10750
+ #
10751
+ # {
10752
+ # bucket: "BucketName", # required
10753
+ # content_md5: "ContentMD5",
10754
+ # expected_bucket_owner: "AccountId",
10755
+ # ownership_controls: { # required
10756
+ # rules: [ # required
10757
+ # {
10758
+ # object_ownership: "BucketOwnerPreferred", # required, accepts BucketOwnerPreferred, ObjectWriter
10759
+ # },
10760
+ # ],
10761
+ # },
10762
+ # }
10763
+ #
10764
+ # @!attribute [rw] bucket
10765
+ # The name of the Amazon S3 bucket whose `OwnershipControls` you want
10766
+ # to set.
10767
+ # @return [String]
10768
+ #
10769
+ # @!attribute [rw] content_md5
10770
+ # The MD5 hash of the `OwnershipControls` request body.
10771
+ # @return [String]
10772
+ #
10773
+ # @!attribute [rw] expected_bucket_owner
10774
+ # The account id of the expected bucket owner. If the bucket is owned
10775
+ # by a different account, the request will fail with an HTTP `403
10776
+ # (Access Denied)` error.
10777
+ # @return [String]
10778
+ #
10779
+ # @!attribute [rw] ownership_controls
10780
+ # The `OwnershipControls` (BucketOwnerPreferred or ObjectWriter) that
10781
+ # you want to apply to this Amazon S3 bucket.
10782
+ # @return [Types::OwnershipControls]
10783
+ #
10784
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketOwnershipControlsRequest AWS API Documentation
10785
+ #
10786
+ class PutBucketOwnershipControlsRequest < Struct.new(
10787
+ :bucket,
10788
+ :content_md5,
10789
+ :expected_bucket_owner,
10790
+ :ownership_controls)
10791
+ SENSITIVE = []
10792
+ include Aws::Structure
10793
+ end
10794
+
9967
10795
  # @note When making an API call, you may pass PutBucketPolicyRequest
9968
10796
  # data as a hash:
9969
10797
  #
@@ -10051,7 +10879,7 @@ module Aws::S3
10051
10879
  # destination: { # required
10052
10880
  # bucket: "BucketName", # required
10053
10881
  # account: "AccountId",
10054
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
10882
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
10055
10883
  # access_control_translation: {
10056
10884
  # owner: "Destination", # required, accepts Destination
10057
10885
  # },
@@ -10066,7 +10894,7 @@ module Aws::S3
10066
10894
  # },
10067
10895
  # metrics: {
10068
10896
  # status: "Enabled", # required, accepts Enabled, Disabled
10069
- # event_threshold: { # required
10897
+ # event_threshold: {
10070
10898
  # minutes: 1,
10071
10899
  # },
10072
10900
  # },
@@ -10102,6 +10930,7 @@ module Aws::S3
10102
10930
  # @return [Types::ReplicationConfiguration]
10103
10931
  #
10104
10932
  # @!attribute [rw] token
10933
+ # A token to allow Object Lock to be enabled for an existing bucket.
10105
10934
  # @return [String]
10106
10935
  #
10107
10936
  # @!attribute [rw] expected_bucket_owner
@@ -10423,9 +11252,9 @@ module Aws::S3
10423
11252
  # to the access point hostname. The access point hostname takes the
10424
11253
  # form
10425
11254
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10426
- # When using this operation using an access point through the AWS
10427
- # SDKs, you provide the access point ARN in place of the bucket name.
10428
- # For more information about access point ARNs, see [Using Access
11255
+ # When using this operation with an access point through the AWS SDKs,
11256
+ # you provide the access point ARN in place of the bucket name. For
11257
+ # more information about access point ARNs, see [Using Access
10429
11258
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
10430
11259
  #
10431
11260
  #
@@ -10447,14 +11276,20 @@ module Aws::S3
10447
11276
  # @!attribute [rw] grant_full_control
10448
11277
  # Allows grantee the read, write, read ACP, and write ACP permissions
10449
11278
  # on the bucket.
11279
+ #
11280
+ # This action is not supported by Amazon S3 on Outposts.
10450
11281
  # @return [String]
10451
11282
  #
10452
11283
  # @!attribute [rw] grant_read
10453
11284
  # Allows grantee to list the objects in the bucket.
11285
+ #
11286
+ # This action is not supported by Amazon S3 on Outposts.
10454
11287
  # @return [String]
10455
11288
  #
10456
11289
  # @!attribute [rw] grant_read_acp
10457
11290
  # Allows grantee to read the bucket ACL.
11291
+ #
11292
+ # This action is not supported by Amazon S3 on Outposts.
10458
11293
  # @return [String]
10459
11294
  #
10460
11295
  # @!attribute [rw] grant_write
@@ -10464,10 +11299,35 @@ module Aws::S3
10464
11299
  #
10465
11300
  # @!attribute [rw] grant_write_acp
10466
11301
  # Allows grantee to write the ACL for the applicable bucket.
11302
+ #
11303
+ # This action is not supported by Amazon S3 on Outposts.
10467
11304
  # @return [String]
10468
11305
  #
10469
11306
  # @!attribute [rw] key
10470
11307
  # Key for which the PUT operation was initiated.
11308
+ #
11309
+ # When using this API with an access point, you must direct requests
11310
+ # to the access point hostname. The access point hostname takes the
11311
+ # form
11312
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
11313
+ # When using this operation with an access point through the AWS SDKs,
11314
+ # you provide the access point ARN in place of the bucket name. For
11315
+ # more information about access point ARNs, see [Using Access
11316
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
11317
+ #
11318
+ # When using this API with Amazon S3 on Outposts, you must direct
11319
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11320
+ # takes the form
11321
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
11322
+ # When using this operation using S3 on Outposts through the AWS SDKs,
11323
+ # you provide the Outposts bucket ARN in place of the bucket name. For
11324
+ # more information about S3 on Outposts ARNs, see [Using S3 on
11325
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
11326
+ #
11327
+ #
11328
+ #
11329
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
11330
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
10471
11331
  # @return [String]
10472
11332
  #
10473
11333
  # @!attribute [rw] request_payer
@@ -10548,9 +11408,9 @@ module Aws::S3
10548
11408
  # to the access point hostname. The access point hostname takes the
10549
11409
  # form
10550
11410
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10551
- # When using this operation using an access point through the AWS
10552
- # SDKs, you provide the access point ARN in place of the bucket name.
10553
- # For more information about access point ARNs, see [Using Access
11411
+ # When using this operation with an access point through the AWS SDKs,
11412
+ # you provide the access point ARN in place of the bucket name. For
11413
+ # more information about access point ARNs, see [Using Access
10554
11414
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
10555
11415
  #
10556
11416
  #
@@ -10789,7 +11649,7 @@ module Aws::S3
10789
11649
  # "MetadataKey" => "MetadataValue",
10790
11650
  # },
10791
11651
  # server_side_encryption: "AES256", # accepts AES256, aws:kms
10792
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
11652
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
10793
11653
  # website_redirect_location: "WebsiteRedirectLocation",
10794
11654
  # sse_customer_algorithm: "SSECustomerAlgorithm",
10795
11655
  # sse_customer_key: "SSECustomerKey",
@@ -10808,6 +11668,8 @@ module Aws::S3
10808
11668
  # The canned ACL to apply to the object. For more information, see
10809
11669
  # [Canned ACL][1].
10810
11670
  #
11671
+ # This action is not supported by Amazon S3 on Outposts.
11672
+ #
10811
11673
  #
10812
11674
  #
10813
11675
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
@@ -10818,20 +11680,30 @@ module Aws::S3
10818
11680
  # @return [IO]
10819
11681
  #
10820
11682
  # @!attribute [rw] bucket
10821
- # Bucket name to which the PUT operation was initiated.
11683
+ # The bucket name to which the PUT operation was initiated.
10822
11684
  #
10823
11685
  # When using this API with an access point, you must direct requests
10824
11686
  # to the access point hostname. The access point hostname takes the
10825
11687
  # form
10826
11688
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
10827
- # When using this operation using an access point through the AWS
10828
- # SDKs, you provide the access point ARN in place of the bucket name.
10829
- # For more information about access point ARNs, see [Using Access
11689
+ # When using this operation with an access point through the AWS SDKs,
11690
+ # you provide the access point ARN in place of the bucket name. For
11691
+ # more information about access point ARNs, see [Using Access
10830
11692
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
10831
11693
  #
11694
+ # When using this API with Amazon S3 on Outposts, you must direct
11695
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
11696
+ # takes the form
11697
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
11698
+ # When using this operation using S3 on Outposts through the AWS SDKs,
11699
+ # you provide the Outposts bucket ARN in place of the bucket name. For
11700
+ # more information about S3 on Outposts ARNs, see [Using S3 on
11701
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
11702
+ #
10832
11703
  #
10833
11704
  #
10834
11705
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
11706
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
10835
11707
  # @return [String]
10836
11708
  #
10837
11709
  # @!attribute [rw] cache_control
@@ -10918,18 +11790,26 @@ module Aws::S3
10918
11790
  # @!attribute [rw] grant_full_control
10919
11791
  # Gives the grantee READ, READ\_ACP, and WRITE\_ACP permissions on the
10920
11792
  # object.
11793
+ #
11794
+ # This action is not supported by Amazon S3 on Outposts.
10921
11795
  # @return [String]
10922
11796
  #
10923
11797
  # @!attribute [rw] grant_read
10924
11798
  # Allows grantee to read the object data and its metadata.
11799
+ #
11800
+ # This action is not supported by Amazon S3 on Outposts.
10925
11801
  # @return [String]
10926
11802
  #
10927
11803
  # @!attribute [rw] grant_read_acp
10928
11804
  # Allows grantee to read the object ACL.
11805
+ #
11806
+ # This action is not supported by Amazon S3 on Outposts.
10929
11807
  # @return [String]
10930
11808
  #
10931
11809
  # @!attribute [rw] grant_write_acp
10932
11810
  # Allows grantee to write the ACL for the applicable object.
11811
+ #
11812
+ # This action is not supported by Amazon S3 on Outposts.
10933
11813
  # @return [String]
10934
11814
  #
10935
11815
  # @!attribute [rw] key
@@ -10946,8 +11826,16 @@ module Aws::S3
10946
11826
  # @return [String]
10947
11827
  #
10948
11828
  # @!attribute [rw] storage_class
10949
- # If you don't specify, S3 Standard is the default storage class.
10950
- # Amazon S3 supports other storage classes.
11829
+ # By default, Amazon S3 uses the STANDARD Storage Class to store newly
11830
+ # created objects. The STANDARD storage class provides high durability
11831
+ # and high availability. Depending on performance needs, you can
11832
+ # specify a different Storage Class. Amazon S3 on Outposts only uses
11833
+ # the OUTPOSTS Storage Class. For more information, see [Storage
11834
+ # Classes][1] in the *Amazon S3 Service Developer Guide*.
11835
+ #
11836
+ #
11837
+ #
11838
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
10951
11839
  # @return [String]
10952
11840
  #
10953
11841
  # @!attribute [rw] website_redirect_location
@@ -11134,9 +12022,9 @@ module Aws::S3
11134
12022
  # to the access point hostname. The access point hostname takes the
11135
12023
  # form
11136
12024
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
11137
- # When using this operation using an access point through the AWS
11138
- # SDKs, you provide the access point ARN in place of the bucket name.
11139
- # For more information about access point ARNs, see [Using Access
12025
+ # When using this operation with an access point through the AWS SDKs,
12026
+ # you provide the access point ARN in place of the bucket name. For
12027
+ # more information about access point ARNs, see [Using Access
11140
12028
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
11141
12029
  #
11142
12030
  #
@@ -11238,14 +12126,24 @@ module Aws::S3
11238
12126
  # to the access point hostname. The access point hostname takes the
11239
12127
  # form
11240
12128
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
11241
- # When using this operation using an access point through the AWS
11242
- # SDKs, you provide the access point ARN in place of the bucket name.
11243
- # For more information about access point ARNs, see [Using Access
12129
+ # When using this operation with an access point through the AWS SDKs,
12130
+ # you provide the access point ARN in place of the bucket name. For
12131
+ # more information about access point ARNs, see [Using Access
11244
12132
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
11245
12133
  #
12134
+ # When using this API with Amazon S3 on Outposts, you must direct
12135
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
12136
+ # takes the form
12137
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
12138
+ # When using this operation using S3 on Outposts through the AWS SDKs,
12139
+ # you provide the Outposts bucket ARN in place of the bucket name. For
12140
+ # more information about S3 on Outposts ARNs, see [Using S3 on
12141
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
12142
+ #
11246
12143
  #
11247
12144
  #
11248
12145
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
12146
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
11249
12147
  # @return [String]
11250
12148
  #
11251
12149
  # @!attribute [rw] key
@@ -11588,7 +12486,7 @@ module Aws::S3
11588
12486
  # destination: { # required
11589
12487
  # bucket: "BucketName", # required
11590
12488
  # account: "AccountId",
11591
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
12489
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
11592
12490
  # access_control_translation: {
11593
12491
  # owner: "Destination", # required, accepts Destination
11594
12492
  # },
@@ -11603,7 +12501,7 @@ module Aws::S3
11603
12501
  # },
11604
12502
  # metrics: {
11605
12503
  # status: "Enabled", # required, accepts Enabled, Disabled
11606
- # event_threshold: { # required
12504
+ # event_threshold: {
11607
12505
  # minutes: 1,
11608
12506
  # },
11609
12507
  # },
@@ -11679,7 +12577,7 @@ module Aws::S3
11679
12577
  # destination: { # required
11680
12578
  # bucket: "BucketName", # required
11681
12579
  # account: "AccountId",
11682
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
12580
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
11683
12581
  # access_control_translation: {
11684
12582
  # owner: "Destination", # required, accepts Destination
11685
12583
  # },
@@ -11694,7 +12592,7 @@ module Aws::S3
11694
12592
  # },
11695
12593
  # metrics: {
11696
12594
  # status: "Enabled", # required, accepts Enabled, Disabled
11697
- # event_threshold: { # required
12595
+ # event_threshold: {
11698
12596
  # minutes: 1,
11699
12597
  # },
11700
12598
  # },
@@ -11722,9 +12620,12 @@ module Aws::S3
11722
12620
  # * Same object qualify tag-based filter criteria specified in
11723
12621
  # multiple rules
11724
12622
  #
11725
- # For more information, see [Replication](
11726
- # https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) in
11727
- # the *Amazon Simple Storage Service Developer Guide*.
12623
+ # For more information, see [Replication][1] in the *Amazon Simple
12624
+ # Storage Service Developer Guide*.
12625
+ #
12626
+ #
12627
+ #
12628
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html
11728
12629
  # @return [Integer]
11729
12630
  #
11730
12631
  # @!attribute [rw] prefix
@@ -11763,25 +12664,28 @@ module Aws::S3
11763
12664
  # @return [Types::Destination]
11764
12665
  #
11765
12666
  # @!attribute [rw] delete_marker_replication
11766
- # Specifies whether Amazon S3 replicates the delete markers. If you
11767
- # specify a `Filter`, you must specify this element. However, in the
11768
- # latest version of replication configuration (when `Filter` is
11769
- # specified), Amazon S3 doesn't replicate delete markers. Therefore,
11770
- # the `DeleteMarkerReplication` element can contain only
11771
- # &lt;Status&gt;Disabled&lt;/Status&gt;. For an example configuration,
11772
- # see [Basic Rule Configuration][1].
11773
- #
11774
- # <note markdown="1"> If you don't specify the `Filter` element, Amazon S3 assumes that
11775
- # the replication configuration is the earlier version, V1. In the
11776
- # earlier version, Amazon S3 handled replication of delete markers
11777
- # differently. For more information, see [Backward Compatibility][2].
12667
+ # Specifies whether Amazon S3 replicates delete markers. If you
12668
+ # specify a `Filter` in your replication configuration, you must also
12669
+ # include a `DeleteMarkerReplication` element. If your `Filter`
12670
+ # includes a `Tag` element, the `DeleteMarkerReplication` `Status`
12671
+ # must be set to Disabled, because Amazon S3 does not support
12672
+ # replicating delete markers for tag-based rules. For an example
12673
+ # configuration, see [Basic Rule Configuration][1].
12674
+ #
12675
+ # For more information about delete marker replication, see [Basic
12676
+ # Rule Configuration][2].
12677
+ #
12678
+ # <note markdown="1"> If you are using an earlier version of the replication
12679
+ # configuration, Amazon S3 handles replication of delete markers
12680
+ # differently. For more information, see [Backward Compatibility][3].
11778
12681
  #
11779
12682
  # </note>
11780
12683
  #
11781
12684
  #
11782
12685
  #
11783
12686
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config
11784
- # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations
12687
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html
12688
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations
11785
12689
  # @return [Types::DeleteMarkerReplication]
11786
12690
  #
11787
12691
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationRule AWS API Documentation
@@ -12104,7 +13008,7 @@ module Aws::S3
12104
13008
  # value: "MetadataValue",
12105
13009
  # },
12106
13010
  # ],
12107
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
13011
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
12108
13012
  # },
12109
13013
  # },
12110
13014
  # },
@@ -12113,20 +13017,30 @@ module Aws::S3
12113
13017
  # }
12114
13018
  #
12115
13019
  # @!attribute [rw] bucket
12116
- # The bucket name or containing the object to restore.
13020
+ # The bucket name containing the object to restore.
12117
13021
  #
12118
13022
  # When using this API with an access point, you must direct requests
12119
13023
  # to the access point hostname. The access point hostname takes the
12120
13024
  # form
12121
13025
  # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
12122
- # When using this operation using an access point through the AWS
12123
- # SDKs, you provide the access point ARN in place of the bucket name.
12124
- # For more information about access point ARNs, see [Using Access
13026
+ # When using this operation with an access point through the AWS SDKs,
13027
+ # you provide the access point ARN in place of the bucket name. For
13028
+ # more information about access point ARNs, see [Using Access
12125
13029
  # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
12126
13030
  #
13031
+ # When using this API with Amazon S3 on Outposts, you must direct
13032
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
13033
+ # takes the form
13034
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
13035
+ # When using this operation using S3 on Outposts through the AWS SDKs,
13036
+ # you provide the Outposts bucket ARN in place of the bucket name. For
13037
+ # more information about S3 on Outposts ARNs, see [Using S3 on
13038
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
13039
+ #
12127
13040
  #
12128
13041
  #
12129
13042
  # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
13043
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
12130
13044
  # @return [String]
12131
13045
  #
12132
13046
  # @!attribute [rw] key
@@ -12254,7 +13168,7 @@ module Aws::S3
12254
13168
  # value: "MetadataValue",
12255
13169
  # },
12256
13170
  # ],
12257
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
13171
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
12258
13172
  # },
12259
13173
  # },
12260
13174
  # }
@@ -12262,6 +13176,9 @@ module Aws::S3
12262
13176
  # @!attribute [rw] days
12263
13177
  # Lifetime of the active copy in days. Do not use with restores that
12264
13178
  # specify `OutputLocation`.
13179
+ #
13180
+ # The Days element is required for regular restores, and must not be
13181
+ # provided for select requests.
12265
13182
  # @return [Integer]
12266
13183
  #
12267
13184
  # @!attribute [rw] glacier_job_parameters
@@ -12274,7 +13191,7 @@ module Aws::S3
12274
13191
  # @return [String]
12275
13192
  #
12276
13193
  # @!attribute [rw] tier
12277
- # S3 Glacier retrieval tier at which the restore will be processed.
13194
+ # Retrieval tier at which the restore will be processed.
12278
13195
  # @return [String]
12279
13196
  #
12280
13197
  # @!attribute [rw] description
@@ -12536,7 +13453,7 @@ module Aws::S3
12536
13453
  # value: "MetadataValue",
12537
13454
  # },
12538
13455
  # ],
12539
- # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE
13456
+ # storage_class: "STANDARD", # accepts STANDARD, REDUCED_REDUNDANCY, STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, DEEP_ARCHIVE, OUTPOSTS
12540
13457
  # }
12541
13458
  #
12542
13459
  # @!attribute [rw] bucket_name
@@ -13254,7 +14171,7 @@ module Aws::S3
13254
14171
  # @return [Types::Grantee]
13255
14172
  #
13256
14173
  # @!attribute [rw] permission
13257
- # Logging permissions assigned to the Grantee for the bucket.
14174
+ # Logging permissions assigned to the grantee for the bucket.
13258
14175
  # @return [String]
13259
14176
  #
13260
14177
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/TargetGrant AWS API Documentation
@@ -13266,6 +14183,45 @@ module Aws::S3
13266
14183
  include Aws::Structure
13267
14184
  end
13268
14185
 
14186
+ # The S3 Intelligent-Tiering storage class is designed to optimize
14187
+ # storage costs by automatically moving data to the most cost-effective
14188
+ # storage access tier, without additional operational overhead.
14189
+ #
14190
+ # @note When making an API call, you may pass Tiering
14191
+ # data as a hash:
14192
+ #
14193
+ # {
14194
+ # days: 1, # required
14195
+ # access_tier: "ARCHIVE_ACCESS", # required, accepts ARCHIVE_ACCESS, DEEP_ARCHIVE_ACCESS
14196
+ # }
14197
+ #
14198
+ # @!attribute [rw] days
14199
+ # The number of days that you want your archived data to be
14200
+ # accessible. The minimum number of days specified in the restore
14201
+ # request must be at least 90 days. If a smaller value is specifed it
14202
+ # will be ignored.
14203
+ # @return [Integer]
14204
+ #
14205
+ # @!attribute [rw] access_tier
14206
+ # S3 Intelligent-Tiering access tier. See [Storage class for
14207
+ # automatically optimizing frequently and infrequently accessed
14208
+ # objects][1] for a list of access tiers in the S3 Intelligent-Tiering
14209
+ # storage class.
14210
+ #
14211
+ #
14212
+ #
14213
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
14214
+ # @return [String]
14215
+ #
14216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Tiering AWS API Documentation
14217
+ #
14218
+ class Tiering < Struct.new(
14219
+ :days,
14220
+ :access_tier)
14221
+ SENSITIVE = []
14222
+ include Aws::Structure
14223
+ end
14224
+
13269
14225
  # A container for specifying the configuration for publication of
13270
14226
  # messages to an Amazon Simple Notification Service (Amazon SNS) topic
13271
14227
  # when Amazon S3 detects specified events.
@@ -13504,6 +14460,29 @@ module Aws::S3
13504
14460
  #
13505
14461
  # @!attribute [rw] bucket
13506
14462
  # The bucket name.
14463
+ #
14464
+ # When using this API with an access point, you must direct requests
14465
+ # to the access point hostname. The access point hostname takes the
14466
+ # form
14467
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
14468
+ # When using this operation with an access point through the AWS SDKs,
14469
+ # you provide the access point ARN in place of the bucket name. For
14470
+ # more information about access point ARNs, see [Using Access
14471
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
14472
+ #
14473
+ # When using this API with Amazon S3 on Outposts, you must direct
14474
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
14475
+ # takes the form
14476
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
14477
+ # When using this operation using S3 on Outposts through the AWS SDKs,
14478
+ # you provide the Outposts bucket ARN in place of the bucket name. For
14479
+ # more information about S3 on Outposts ARNs, see [Using S3 on
14480
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
14481
+ #
14482
+ #
14483
+ #
14484
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
14485
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
13507
14486
  # @return [String]
13508
14487
  #
13509
14488
  # @!attribute [rw] copy_source
@@ -13522,7 +14501,7 @@ module Aws::S3
13522
14501
  # Resource Name (ARN) of the object as accessed through the access
13523
14502
  # point, in the format
13524
14503
  # `arn:aws:s3:<Region>:<account-id>:accesspoint/<access-point-name>/object/<key>`.
13525
- # For example, to copy the object `reports/january.pdf` through the
14504
+ # For example, to copy the object `reports/january.pdf` through
13526
14505
  # access point `my-access-point` owned by account `123456789012` in
13527
14506
  # Region `us-west-2`, use the URL encoding of
13528
14507
  # `arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf`.
@@ -13533,6 +14512,15 @@ module Aws::S3
13533
14512
  #
13534
14513
  # </note>
13535
14514
  #
14515
+ # Alternatively, for objects accessed through Amazon S3 on Outposts,
14516
+ # specify the ARN of the object as accessed in the format
14517
+ # `arn:aws:s3-outposts:<Region>:<account-id>:outpost/<outpost-id>/object/<key>`.
14518
+ # For example, to copy the object `reports/january.pdf` through
14519
+ # outpost `my-outpost` owned by account `123456789012` in Region
14520
+ # `us-west-2`, use the URL encoding of
14521
+ # `arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf`.
14522
+ # The value must be URL encoded.
14523
+ #
13536
14524
  # To copy a specific version of an object, append
13537
14525
  # `?versionId=<version-id>` to the value (for example,
13538
14526
  # `awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893`).
@@ -13742,7 +14730,30 @@ module Aws::S3
13742
14730
  # @return [IO]
13743
14731
  #
13744
14732
  # @!attribute [rw] bucket
13745
- # Name of the bucket to which the multipart upload was initiated.
14733
+ # The name of the bucket to which the multipart upload was initiated.
14734
+ #
14735
+ # When using this API with an access point, you must direct requests
14736
+ # to the access point hostname. The access point hostname takes the
14737
+ # form
14738
+ # *AccessPointName*-*AccountId*.s3-accesspoint.*Region*.amazonaws.com.
14739
+ # When using this operation with an access point through the AWS SDKs,
14740
+ # you provide the access point ARN in place of the bucket name. For
14741
+ # more information about access point ARNs, see [Using Access
14742
+ # Points][1] in the *Amazon Simple Storage Service Developer Guide*.
14743
+ #
14744
+ # When using this API with Amazon S3 on Outposts, you must direct
14745
+ # requests to the S3 on Outposts hostname. The S3 on Outposts hostname
14746
+ # takes the form
14747
+ # *AccessPointName*-*AccountId*.*outpostID*.s3-outposts.*Region*.amazonaws.com.
14748
+ # When using this operation using S3 on Outposts through the AWS SDKs,
14749
+ # you provide the Outposts bucket ARN in place of the bucket name. For
14750
+ # more information about S3 on Outposts ARNs, see [Using S3 on
14751
+ # Outposts][2] in the *Amazon Simple Storage Service Developer Guide*.
14752
+ #
14753
+ #
14754
+ #
14755
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-access-points.html
14756
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3onOutposts.html
13746
14757
  # @return [String]
13747
14758
  #
13748
14759
  # @!attribute [rw] content_length