aws-sdk-s3 1.81.1 → 1.84.0

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