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.
@@ -38,6 +38,7 @@ module Aws::S3
38
38
  AnalyticsId = Shapes::StringShape.new(name: 'AnalyticsId')
39
39
  AnalyticsS3BucketDestination = Shapes::StructureShape.new(name: 'AnalyticsS3BucketDestination')
40
40
  AnalyticsS3ExportFileFormat = Shapes::StringShape.new(name: 'AnalyticsS3ExportFileFormat')
41
+ ArchiveStatus = Shapes::StringShape.new(name: 'ArchiveStatus')
41
42
  Body = Shapes::BlobShape.new(name: 'Body')
42
43
  Bucket = Shapes::StructureShape.new(name: 'Bucket')
43
44
  BucketAccelerateStatus = Shapes::StringShape.new(name: 'BucketAccelerateStatus')
@@ -112,9 +113,11 @@ module Aws::S3
112
113
  DeleteBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketAnalyticsConfigurationRequest')
113
114
  DeleteBucketCorsRequest = Shapes::StructureShape.new(name: 'DeleteBucketCorsRequest')
114
115
  DeleteBucketEncryptionRequest = Shapes::StructureShape.new(name: 'DeleteBucketEncryptionRequest')
116
+ DeleteBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketIntelligentTieringConfigurationRequest')
115
117
  DeleteBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketInventoryConfigurationRequest')
116
118
  DeleteBucketLifecycleRequest = Shapes::StructureShape.new(name: 'DeleteBucketLifecycleRequest')
117
119
  DeleteBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteBucketMetricsConfigurationRequest')
120
+ DeleteBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'DeleteBucketOwnershipControlsRequest')
118
121
  DeleteBucketPolicyRequest = Shapes::StructureShape.new(name: 'DeleteBucketPolicyRequest')
119
122
  DeleteBucketReplicationRequest = Shapes::StructureShape.new(name: 'DeleteBucketReplicationRequest')
120
123
  DeleteBucketRequest = Shapes::StructureShape.new(name: 'DeleteBucketRequest')
@@ -180,6 +183,8 @@ module Aws::S3
180
183
  GetBucketCorsRequest = Shapes::StructureShape.new(name: 'GetBucketCorsRequest')
181
184
  GetBucketEncryptionOutput = Shapes::StructureShape.new(name: 'GetBucketEncryptionOutput')
182
185
  GetBucketEncryptionRequest = Shapes::StructureShape.new(name: 'GetBucketEncryptionRequest')
186
+ GetBucketIntelligentTieringConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketIntelligentTieringConfigurationOutput')
187
+ GetBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketIntelligentTieringConfigurationRequest')
183
188
  GetBucketInventoryConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketInventoryConfigurationOutput')
184
189
  GetBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketInventoryConfigurationRequest')
185
190
  GetBucketLifecycleConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketLifecycleConfigurationOutput')
@@ -193,6 +198,8 @@ module Aws::S3
193
198
  GetBucketMetricsConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationOutput')
194
199
  GetBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketMetricsConfigurationRequest')
195
200
  GetBucketNotificationConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketNotificationConfigurationRequest')
201
+ GetBucketOwnershipControlsOutput = Shapes::StructureShape.new(name: 'GetBucketOwnershipControlsOutput')
202
+ GetBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'GetBucketOwnershipControlsRequest')
196
203
  GetBucketPolicyOutput = Shapes::StructureShape.new(name: 'GetBucketPolicyOutput')
197
204
  GetBucketPolicyRequest = Shapes::StructureShape.new(name: 'GetBucketPolicyRequest')
198
205
  GetBucketPolicyStatusOutput = Shapes::StructureShape.new(name: 'GetBucketPolicyStatusOutput')
@@ -247,6 +254,15 @@ module Aws::S3
247
254
  Initiated = Shapes::TimestampShape.new(name: 'Initiated')
248
255
  Initiator = Shapes::StructureShape.new(name: 'Initiator')
249
256
  InputSerialization = Shapes::StructureShape.new(name: 'InputSerialization')
257
+ IntelligentTieringAccessTier = Shapes::StringShape.new(name: 'IntelligentTieringAccessTier')
258
+ IntelligentTieringAndOperator = Shapes::StructureShape.new(name: 'IntelligentTieringAndOperator')
259
+ IntelligentTieringConfiguration = Shapes::StructureShape.new(name: 'IntelligentTieringConfiguration')
260
+ IntelligentTieringConfigurationList = Shapes::ListShape.new(name: 'IntelligentTieringConfigurationList', flattened: true)
261
+ IntelligentTieringDays = Shapes::IntegerShape.new(name: 'IntelligentTieringDays')
262
+ IntelligentTieringFilter = Shapes::StructureShape.new(name: 'IntelligentTieringFilter')
263
+ IntelligentTieringId = Shapes::StringShape.new(name: 'IntelligentTieringId')
264
+ IntelligentTieringStatus = Shapes::StringShape.new(name: 'IntelligentTieringStatus')
265
+ InvalidObjectState = Shapes::StructureShape.new(name: 'InvalidObjectState')
250
266
  InventoryConfiguration = Shapes::StructureShape.new(name: 'InventoryConfiguration')
251
267
  InventoryConfigurationList = Shapes::ListShape.new(name: 'InventoryConfigurationList', flattened: true)
252
268
  InventoryDestination = Shapes::StructureShape.new(name: 'InventoryDestination')
@@ -283,6 +299,8 @@ module Aws::S3
283
299
  LifecycleRules = Shapes::ListShape.new(name: 'LifecycleRules', flattened: true)
284
300
  ListBucketAnalyticsConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketAnalyticsConfigurationsOutput')
285
301
  ListBucketAnalyticsConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketAnalyticsConfigurationsRequest')
302
+ ListBucketIntelligentTieringConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketIntelligentTieringConfigurationsOutput')
303
+ ListBucketIntelligentTieringConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketIntelligentTieringConfigurationsRequest')
286
304
  ListBucketInventoryConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketInventoryConfigurationsOutput')
287
305
  ListBucketInventoryConfigurationsRequest = Shapes::StructureShape.new(name: 'ListBucketInventoryConfigurationsRequest')
288
306
  ListBucketMetricsConfigurationsOutput = Shapes::StructureShape.new(name: 'ListBucketMetricsConfigurationsOutput')
@@ -362,6 +380,7 @@ module Aws::S3
362
380
  ObjectLockRule = Shapes::StructureShape.new(name: 'ObjectLockRule')
363
381
  ObjectLockToken = Shapes::StringShape.new(name: 'ObjectLockToken')
364
382
  ObjectNotInActiveTierError = Shapes::StructureShape.new(name: 'ObjectNotInActiveTierError')
383
+ ObjectOwnership = Shapes::StringShape.new(name: 'ObjectOwnership')
365
384
  ObjectStorageClass = Shapes::StringShape.new(name: 'ObjectStorageClass')
366
385
  ObjectVersion = Shapes::StructureShape.new(name: 'ObjectVersion')
367
386
  ObjectVersionId = Shapes::StringShape.new(name: 'ObjectVersionId')
@@ -371,6 +390,9 @@ module Aws::S3
371
390
  OutputSerialization = Shapes::StructureShape.new(name: 'OutputSerialization')
372
391
  Owner = Shapes::StructureShape.new(name: 'Owner')
373
392
  OwnerOverride = Shapes::StringShape.new(name: 'OwnerOverride')
393
+ OwnershipControls = Shapes::StructureShape.new(name: 'OwnershipControls')
394
+ OwnershipControlsRule = Shapes::StructureShape.new(name: 'OwnershipControlsRule')
395
+ OwnershipControlsRules = Shapes::ListShape.new(name: 'OwnershipControlsRules', flattened: true)
374
396
  ParquetInput = Shapes::StructureShape.new(name: 'ParquetInput')
375
397
  Part = Shapes::StructureShape.new(name: 'Part')
376
398
  PartNumber = Shapes::IntegerShape.new(name: 'PartNumber')
@@ -392,6 +414,7 @@ module Aws::S3
392
414
  PutBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAnalyticsConfigurationRequest')
393
415
  PutBucketCorsRequest = Shapes::StructureShape.new(name: 'PutBucketCorsRequest')
394
416
  PutBucketEncryptionRequest = Shapes::StructureShape.new(name: 'PutBucketEncryptionRequest')
417
+ PutBucketIntelligentTieringConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketIntelligentTieringConfigurationRequest')
395
418
  PutBucketInventoryConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketInventoryConfigurationRequest')
396
419
  PutBucketLifecycleConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleConfigurationRequest')
397
420
  PutBucketLifecycleRequest = Shapes::StructureShape.new(name: 'PutBucketLifecycleRequest')
@@ -399,6 +422,7 @@ module Aws::S3
399
422
  PutBucketMetricsConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketMetricsConfigurationRequest')
400
423
  PutBucketNotificationConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketNotificationConfigurationRequest')
401
424
  PutBucketNotificationRequest = Shapes::StructureShape.new(name: 'PutBucketNotificationRequest')
425
+ PutBucketOwnershipControlsRequest = Shapes::StructureShape.new(name: 'PutBucketOwnershipControlsRequest')
402
426
  PutBucketPolicyRequest = Shapes::StructureShape.new(name: 'PutBucketPolicyRequest')
403
427
  PutBucketReplicationRequest = Shapes::StructureShape.new(name: 'PutBucketReplicationRequest')
404
428
  PutBucketRequestPaymentRequest = Shapes::StructureShape.new(name: 'PutBucketRequestPaymentRequest')
@@ -509,6 +533,8 @@ module Aws::S3
509
533
  TargetGrants = Shapes::ListShape.new(name: 'TargetGrants')
510
534
  TargetPrefix = Shapes::StringShape.new(name: 'TargetPrefix')
511
535
  Tier = Shapes::StringShape.new(name: 'Tier')
536
+ Tiering = Shapes::StructureShape.new(name: 'Tiering')
537
+ TieringList = Shapes::ListShape.new(name: 'TieringList', flattened: true)
512
538
  Token = Shapes::StringShape.new(name: 'Token')
513
539
  TopicArn = Shapes::StringShape.new(name: 'TopicArn')
514
540
  TopicConfiguration = Shapes::StructureShape.new(name: 'TopicConfiguration')
@@ -825,6 +851,10 @@ module Aws::S3
825
851
  DeleteBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
826
852
  DeleteBucketEncryptionRequest.struct_class = Types::DeleteBucketEncryptionRequest
827
853
 
854
+ DeleteBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
855
+ DeleteBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
856
+ DeleteBucketIntelligentTieringConfigurationRequest.struct_class = Types::DeleteBucketIntelligentTieringConfigurationRequest
857
+
828
858
  DeleteBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
829
859
  DeleteBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
830
860
  DeleteBucketInventoryConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -839,6 +869,10 @@ module Aws::S3
839
869
  DeleteBucketMetricsConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
840
870
  DeleteBucketMetricsConfigurationRequest.struct_class = Types::DeleteBucketMetricsConfigurationRequest
841
871
 
872
+ DeleteBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
873
+ DeleteBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
874
+ DeleteBucketOwnershipControlsRequest.struct_class = Types::DeleteBucketOwnershipControlsRequest
875
+
842
876
  DeleteBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
843
877
  DeleteBucketPolicyRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
844
878
  DeleteBucketPolicyRequest.struct_class = Types::DeleteBucketPolicyRequest
@@ -1005,6 +1039,15 @@ module Aws::S3
1005
1039
  GetBucketEncryptionRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1006
1040
  GetBucketEncryptionRequest.struct_class = Types::GetBucketEncryptionRequest
1007
1041
 
1042
+ GetBucketIntelligentTieringConfigurationOutput.add_member(:intelligent_tiering_configuration, Shapes::ShapeRef.new(shape: IntelligentTieringConfiguration, location_name: "IntelligentTieringConfiguration"))
1043
+ GetBucketIntelligentTieringConfigurationOutput.struct_class = Types::GetBucketIntelligentTieringConfigurationOutput
1044
+ GetBucketIntelligentTieringConfigurationOutput[:payload] = :intelligent_tiering_configuration
1045
+ GetBucketIntelligentTieringConfigurationOutput[:payload_member] = GetBucketIntelligentTieringConfigurationOutput.member(:intelligent_tiering_configuration)
1046
+
1047
+ GetBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1048
+ GetBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1049
+ GetBucketIntelligentTieringConfigurationRequest.struct_class = Types::GetBucketIntelligentTieringConfigurationRequest
1050
+
1008
1051
  GetBucketInventoryConfigurationOutput.add_member(:inventory_configuration, Shapes::ShapeRef.new(shape: InventoryConfiguration, location_name: "InventoryConfiguration"))
1009
1052
  GetBucketInventoryConfigurationOutput.struct_class = Types::GetBucketInventoryConfigurationOutput
1010
1053
  GetBucketInventoryConfigurationOutput[:payload] = :inventory_configuration
@@ -1057,6 +1100,15 @@ module Aws::S3
1057
1100
  GetBucketNotificationConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1058
1101
  GetBucketNotificationConfigurationRequest.struct_class = Types::GetBucketNotificationConfigurationRequest
1059
1102
 
1103
+ GetBucketOwnershipControlsOutput.add_member(:ownership_controls, Shapes::ShapeRef.new(shape: OwnershipControls, location_name: "OwnershipControls"))
1104
+ GetBucketOwnershipControlsOutput.struct_class = Types::GetBucketOwnershipControlsOutput
1105
+ GetBucketOwnershipControlsOutput[:payload] = :ownership_controls
1106
+ GetBucketOwnershipControlsOutput[:payload_member] = GetBucketOwnershipControlsOutput.member(:ownership_controls)
1107
+
1108
+ GetBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1109
+ GetBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1110
+ GetBucketOwnershipControlsRequest.struct_class = Types::GetBucketOwnershipControlsRequest
1111
+
1060
1112
  GetBucketPolicyOutput.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "Policy"))
1061
1113
  GetBucketPolicyOutput.struct_class = Types::GetBucketPolicyOutput
1062
1114
  GetBucketPolicyOutput[:payload] = :policy
@@ -1274,6 +1326,7 @@ module Aws::S3
1274
1326
  HeadObjectOutput.add_member(:accept_ranges, Shapes::ShapeRef.new(shape: AcceptRanges, location: "header", location_name: "accept-ranges"))
1275
1327
  HeadObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
1276
1328
  HeadObjectOutput.add_member(:restore, Shapes::ShapeRef.new(shape: Restore, location: "header", location_name: "x-amz-restore"))
1329
+ HeadObjectOutput.add_member(:archive_status, Shapes::ShapeRef.new(shape: ArchiveStatus, location: "header", location_name: "x-amz-archive-status"))
1277
1330
  HeadObjectOutput.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location: "header", location_name: "Last-Modified"))
1278
1331
  HeadObjectOutput.add_member(:content_length, Shapes::ShapeRef.new(shape: ContentLength, location: "header", location_name: "Content-Length"))
1279
1332
  HeadObjectOutput.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location: "header", location_name: "ETag"))
@@ -1330,6 +1383,27 @@ module Aws::S3
1330
1383
  InputSerialization.add_member(:parquet, Shapes::ShapeRef.new(shape: ParquetInput, location_name: "Parquet"))
1331
1384
  InputSerialization.struct_class = Types::InputSerialization
1332
1385
 
1386
+ IntelligentTieringAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1387
+ IntelligentTieringAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
1388
+ IntelligentTieringAndOperator.struct_class = Types::IntelligentTieringAndOperator
1389
+
1390
+ IntelligentTieringConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location_name: "Id"))
1391
+ IntelligentTieringConfiguration.add_member(:filter, Shapes::ShapeRef.new(shape: IntelligentTieringFilter, location_name: "Filter"))
1392
+ IntelligentTieringConfiguration.add_member(:status, Shapes::ShapeRef.new(shape: IntelligentTieringStatus, required: true, location_name: "Status"))
1393
+ IntelligentTieringConfiguration.add_member(:tierings, Shapes::ShapeRef.new(shape: TieringList, required: true, location_name: "Tiering"))
1394
+ IntelligentTieringConfiguration.struct_class = Types::IntelligentTieringConfiguration
1395
+
1396
+ IntelligentTieringConfigurationList.member = Shapes::ShapeRef.new(shape: IntelligentTieringConfiguration)
1397
+
1398
+ IntelligentTieringFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1399
+ IntelligentTieringFilter.add_member(:tag, Shapes::ShapeRef.new(shape: Tag, location_name: "Tag"))
1400
+ IntelligentTieringFilter.add_member(:and, Shapes::ShapeRef.new(shape: IntelligentTieringAndOperator, location_name: "And"))
1401
+ IntelligentTieringFilter.struct_class = Types::IntelligentTieringFilter
1402
+
1403
+ InvalidObjectState.add_member(:storage_class, Shapes::ShapeRef.new(shape: StorageClass, location_name: "StorageClass"))
1404
+ InvalidObjectState.add_member(:access_tier, Shapes::ShapeRef.new(shape: IntelligentTieringAccessTier, location_name: "AccessTier"))
1405
+ InvalidObjectState.struct_class = Types::InvalidObjectState
1406
+
1333
1407
  InventoryConfiguration.add_member(:destination, Shapes::ShapeRef.new(shape: InventoryDestination, required: true, location_name: "Destination"))
1334
1408
  InventoryConfiguration.add_member(:is_enabled, Shapes::ShapeRef.new(shape: IsEnabled, required: true, location_name: "IsEnabled"))
1335
1409
  InventoryConfiguration.add_member(:filter, Shapes::ShapeRef.new(shape: InventoryFilter, location_name: "Filter"))
@@ -1418,6 +1492,16 @@ module Aws::S3
1418
1492
  ListBucketAnalyticsConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1419
1493
  ListBucketAnalyticsConfigurationsRequest.struct_class = Types::ListBucketAnalyticsConfigurationsRequest
1420
1494
 
1495
+ ListBucketIntelligentTieringConfigurationsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
1496
+ ListBucketIntelligentTieringConfigurationsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location_name: "ContinuationToken"))
1497
+ ListBucketIntelligentTieringConfigurationsOutput.add_member(:next_continuation_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextContinuationToken"))
1498
+ ListBucketIntelligentTieringConfigurationsOutput.add_member(:intelligent_tiering_configuration_list, Shapes::ShapeRef.new(shape: IntelligentTieringConfigurationList, location_name: "IntelligentTieringConfiguration"))
1499
+ ListBucketIntelligentTieringConfigurationsOutput.struct_class = Types::ListBucketIntelligentTieringConfigurationsOutput
1500
+
1501
+ ListBucketIntelligentTieringConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1502
+ ListBucketIntelligentTieringConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1503
+ ListBucketIntelligentTieringConfigurationsRequest.struct_class = Types::ListBucketIntelligentTieringConfigurationsRequest
1504
+
1421
1505
  ListBucketInventoryConfigurationsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location_name: "ContinuationToken"))
1422
1506
  ListBucketInventoryConfigurationsOutput.add_member(:inventory_configuration_list, Shapes::ShapeRef.new(shape: InventoryConfigurationList, location_name: "InventoryConfiguration"))
1423
1507
  ListBucketInventoryConfigurationsOutput.add_member(:is_truncated, Shapes::ShapeRef.new(shape: IsTruncated, location_name: "IsTruncated"))
@@ -1579,7 +1663,7 @@ module Aws::S3
1579
1663
  MetadataEntry.struct_class = Types::MetadataEntry
1580
1664
 
1581
1665
  Metrics.add_member(:status, Shapes::ShapeRef.new(shape: MetricsStatus, required: true, location_name: "Status"))
1582
- Metrics.add_member(:event_threshold, Shapes::ShapeRef.new(shape: ReplicationTimeValue, required: true, location_name: "EventThreshold"))
1666
+ Metrics.add_member(:event_threshold, Shapes::ShapeRef.new(shape: ReplicationTimeValue, location_name: "EventThreshold"))
1583
1667
  Metrics.struct_class = Types::Metrics
1584
1668
 
1585
1669
  MetricsAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
@@ -1692,6 +1776,14 @@ module Aws::S3
1692
1776
  Owner.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
1693
1777
  Owner.struct_class = Types::Owner
1694
1778
 
1779
+ OwnershipControls.add_member(:rules, Shapes::ShapeRef.new(shape: OwnershipControlsRules, required: true, location_name: "Rule"))
1780
+ OwnershipControls.struct_class = Types::OwnershipControls
1781
+
1782
+ OwnershipControlsRule.add_member(:object_ownership, Shapes::ShapeRef.new(shape: ObjectOwnership, required: true, location_name: "ObjectOwnership"))
1783
+ OwnershipControlsRule.struct_class = Types::OwnershipControlsRule
1784
+
1785
+ OwnershipControlsRules.member = Shapes::ShapeRef.new(shape: OwnershipControlsRule)
1786
+
1695
1787
  ParquetInput.struct_class = Types::ParquetInput
1696
1788
 
1697
1789
  Part.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
@@ -1764,6 +1856,13 @@ module Aws::S3
1764
1856
  PutBucketEncryptionRequest[:payload] = :server_side_encryption_configuration
1765
1857
  PutBucketEncryptionRequest[:payload_member] = PutBucketEncryptionRequest.member(:server_side_encryption_configuration)
1766
1858
 
1859
+ PutBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1860
+ PutBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1861
+ PutBucketIntelligentTieringConfigurationRequest.add_member(:intelligent_tiering_configuration, Shapes::ShapeRef.new(shape: IntelligentTieringConfiguration, required: true, location_name: "IntelligentTieringConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1862
+ PutBucketIntelligentTieringConfigurationRequest.struct_class = Types::PutBucketIntelligentTieringConfigurationRequest
1863
+ PutBucketIntelligentTieringConfigurationRequest[:payload] = :intelligent_tiering_configuration
1864
+ PutBucketIntelligentTieringConfigurationRequest[:payload_member] = PutBucketIntelligentTieringConfigurationRequest.member(:intelligent_tiering_configuration)
1865
+
1767
1866
  PutBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1768
1867
  PutBucketInventoryConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: InventoryId, required: true, location: "querystring", location_name: "id"))
1769
1868
  PutBucketInventoryConfigurationRequest.add_member(:inventory_configuration, Shapes::ShapeRef.new(shape: InventoryConfiguration, required: true, location_name: "InventoryConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
@@ -1818,6 +1917,14 @@ module Aws::S3
1818
1917
  PutBucketNotificationRequest[:payload] = :notification_configuration
1819
1918
  PutBucketNotificationRequest[:payload_member] = PutBucketNotificationRequest.member(:notification_configuration)
1820
1919
 
1920
+ PutBucketOwnershipControlsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1921
+ PutBucketOwnershipControlsRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1922
+ PutBucketOwnershipControlsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1923
+ PutBucketOwnershipControlsRequest.add_member(:ownership_controls, Shapes::ShapeRef.new(shape: OwnershipControls, required: true, location_name: "OwnershipControls", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1924
+ PutBucketOwnershipControlsRequest.struct_class = Types::PutBucketOwnershipControlsRequest
1925
+ PutBucketOwnershipControlsRequest[:payload] = :ownership_controls
1926
+ PutBucketOwnershipControlsRequest[:payload_member] = PutBucketOwnershipControlsRequest.member(:ownership_controls)
1927
+
1821
1928
  PutBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1822
1929
  PutBucketPolicyRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, deprecated: true, location: "header", location_name: "Content-MD5", metadata: {"deprecatedMessage"=>"Content-MD5 header will now be automatically computed and injected in associated operation's Http request."}))
1823
1930
  PutBucketPolicyRequest.add_member(:confirm_remove_self_bucket_access, Shapes::ShapeRef.new(shape: ConfirmRemoveSelfBucketAccess, location: "header", location_name: "x-amz-confirm-remove-self-bucket-access"))
@@ -2208,6 +2315,12 @@ module Aws::S3
2208
2315
 
2209
2316
  TargetGrants.member = Shapes::ShapeRef.new(shape: TargetGrant, location_name: "Grant")
2210
2317
 
2318
+ Tiering.add_member(:days, Shapes::ShapeRef.new(shape: IntelligentTieringDays, required: true, location_name: "Days"))
2319
+ Tiering.add_member(:access_tier, Shapes::ShapeRef.new(shape: IntelligentTieringAccessTier, required: true, location_name: "AccessTier"))
2320
+ Tiering.struct_class = Types::Tiering
2321
+
2322
+ TieringList.member = Shapes::ShapeRef.new(shape: Tiering)
2323
+
2211
2324
  TopicConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
2212
2325
  TopicConfiguration.add_member(:topic_arn, Shapes::ShapeRef.new(shape: TopicArn, required: true, location_name: "Topic"))
2213
2326
  TopicConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, required: true, location_name: "Event"))
@@ -2391,6 +2504,14 @@ module Aws::S3
2391
2504
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2392
2505
  end)
2393
2506
 
2507
+ api.add_operation(:delete_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
2508
+ o.name = "DeleteBucketIntelligentTieringConfiguration"
2509
+ o.http_method = "DELETE"
2510
+ o.http_request_uri = "/{Bucket}?intelligent-tiering"
2511
+ o.input = Shapes::ShapeRef.new(shape: DeleteBucketIntelligentTieringConfigurationRequest)
2512
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2513
+ end)
2514
+
2394
2515
  api.add_operation(:delete_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2395
2516
  o.name = "DeleteBucketInventoryConfiguration"
2396
2517
  o.http_method = "DELETE"
@@ -2415,6 +2536,14 @@ module Aws::S3
2415
2536
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2416
2537
  end)
2417
2538
 
2539
+ api.add_operation(:delete_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2540
+ o.name = "DeleteBucketOwnershipControls"
2541
+ o.http_method = "DELETE"
2542
+ o.http_request_uri = "/{Bucket}?ownershipControls"
2543
+ o.input = Shapes::ShapeRef.new(shape: DeleteBucketOwnershipControlsRequest)
2544
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2545
+ end)
2546
+
2418
2547
  api.add_operation(:delete_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2419
2548
  o.name = "DeleteBucketPolicy"
2420
2549
  o.http_method = "DELETE"
@@ -2520,6 +2649,14 @@ module Aws::S3
2520
2649
  o.output = Shapes::ShapeRef.new(shape: GetBucketEncryptionOutput)
2521
2650
  end)
2522
2651
 
2652
+ api.add_operation(:get_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
2653
+ o.name = "GetBucketIntelligentTieringConfiguration"
2654
+ o.http_method = "GET"
2655
+ o.http_request_uri = "/{Bucket}?intelligent-tiering"
2656
+ o.input = Shapes::ShapeRef.new(shape: GetBucketIntelligentTieringConfigurationRequest)
2657
+ o.output = Shapes::ShapeRef.new(shape: GetBucketIntelligentTieringConfigurationOutput)
2658
+ end)
2659
+
2523
2660
  api.add_operation(:get_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2524
2661
  o.name = "GetBucketInventoryConfiguration"
2525
2662
  o.http_method = "GET"
@@ -2586,6 +2723,14 @@ module Aws::S3
2586
2723
  o.output = Shapes::ShapeRef.new(shape: NotificationConfiguration)
2587
2724
  end)
2588
2725
 
2726
+ api.add_operation(:get_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
2727
+ o.name = "GetBucketOwnershipControls"
2728
+ o.http_method = "GET"
2729
+ o.http_request_uri = "/{Bucket}?ownershipControls"
2730
+ o.input = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsRequest)
2731
+ o.output = Shapes::ShapeRef.new(shape: GetBucketOwnershipControlsOutput)
2732
+ end)
2733
+
2589
2734
  api.add_operation(:get_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2590
2735
  o.name = "GetBucketPolicy"
2591
2736
  o.http_method = "GET"
@@ -2649,6 +2794,7 @@ module Aws::S3
2649
2794
  o.input = Shapes::ShapeRef.new(shape: GetObjectRequest)
2650
2795
  o.output = Shapes::ShapeRef.new(shape: GetObjectOutput)
2651
2796
  o.errors << Shapes::ShapeRef.new(shape: NoSuchKey)
2797
+ o.errors << Shapes::ShapeRef.new(shape: InvalidObjectState)
2652
2798
  end)
2653
2799
 
2654
2800
  api.add_operation(:get_object_acl, Seahorse::Model::Operation.new.tap do |o|
@@ -2734,6 +2880,14 @@ module Aws::S3
2734
2880
  o.output = Shapes::ShapeRef.new(shape: ListBucketAnalyticsConfigurationsOutput)
2735
2881
  end)
2736
2882
 
2883
+ api.add_operation(:list_bucket_intelligent_tiering_configurations, Seahorse::Model::Operation.new.tap do |o|
2884
+ o.name = "ListBucketIntelligentTieringConfigurations"
2885
+ o.http_method = "GET"
2886
+ o.http_request_uri = "/{Bucket}?intelligent-tiering"
2887
+ o.input = Shapes::ShapeRef.new(shape: ListBucketIntelligentTieringConfigurationsRequest)
2888
+ o.output = Shapes::ShapeRef.new(shape: ListBucketIntelligentTieringConfigurationsOutput)
2889
+ end)
2890
+
2737
2891
  api.add_operation(:list_bucket_inventory_configurations, Seahorse::Model::Operation.new.tap do |o|
2738
2892
  o.name = "ListBucketInventoryConfigurations"
2739
2893
  o.http_method = "GET"
@@ -2879,6 +3033,14 @@ module Aws::S3
2879
3033
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2880
3034
  end)
2881
3035
 
3036
+ api.add_operation(:put_bucket_intelligent_tiering_configuration, Seahorse::Model::Operation.new.tap do |o|
3037
+ o.name = "PutBucketIntelligentTieringConfiguration"
3038
+ o.http_method = "PUT"
3039
+ o.http_request_uri = "/{Bucket}?intelligent-tiering"
3040
+ o.input = Shapes::ShapeRef.new(shape: PutBucketIntelligentTieringConfigurationRequest)
3041
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3042
+ end)
3043
+
2882
3044
  api.add_operation(:put_bucket_inventory_configuration, Seahorse::Model::Operation.new.tap do |o|
2883
3045
  o.name = "PutBucketInventoryConfiguration"
2884
3046
  o.http_method = "PUT"
@@ -2941,6 +3103,14 @@ module Aws::S3
2941
3103
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2942
3104
  end)
2943
3105
 
3106
+ api.add_operation(:put_bucket_ownership_controls, Seahorse::Model::Operation.new.tap do |o|
3107
+ o.name = "PutBucketOwnershipControls"
3108
+ o.http_method = "PUT"
3109
+ o.http_request_uri = "/{Bucket}?ownershipControls"
3110
+ o.input = Shapes::ShapeRef.new(shape: PutBucketOwnershipControlsRequest)
3111
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3112
+ end)
3113
+
2944
3114
  api.add_operation(:put_bucket_policy, Seahorse::Model::Operation.new.tap do |o|
2945
3115
  o.name = "PutBucketPolicy"
2946
3116
  o.http_method = "PUT"
@@ -29,6 +29,6 @@ require 'aws-sdk-s3/customizations/types/list_object_versions_output'
29
29
  Aws::S3::ObjectVersion::Collection,
30
30
  ].each do |klass|
31
31
  klass.send(:alias_method, :delete, :batch_delete!)
32
- klass.send(:extend, Aws::Deprecations)
32
+ klass.extend Aws::Deprecations
33
33
  klass.send(:deprecated, :delete, use: :batch_delete!)
34
34
  end
@@ -12,13 +12,12 @@ module Aws
12
12
  # Define a new initialize method that extracts out a bucket ARN.
13
13
  define_method(:initialize) do |*args|
14
14
  old_initialize.bind(self).call(*args)
15
- bucket_name, region, arn = Plugins::BucketARN.resolve_arn!(
15
+ resolved_region, arn = Plugins::ARN.resolve_arn!(
16
16
  name,
17
17
  client.config.region,
18
18
  client.config.s3_use_arn_region
19
19
  )
20
- @name = bucket_name
21
- @client.config.region = region
20
+ @resolved_region = resolved_region
22
21
  @arn = arn
23
22
  end
24
23
 
@@ -102,7 +101,11 @@ module Aws
102
101
  if options[:virtual_host]
103
102
  "http://#{name}"
104
103
  elsif @arn
105
- Plugins::BucketARN.resolve_url!(URI.parse(s3_bucket_url), @arn).to_s
104
+ Plugins::ARN.resolve_url!(
105
+ client.config.endpoint.dup,
106
+ @arn,
107
+ @resolved_region
108
+ ).to_s
106
109
  else
107
110
  s3_bucket_url
108
111
  end
@@ -282,8 +282,8 @@ module Aws
282
282
  # # small files are uploaded in a single API call
283
283
  # obj.upload_file('/path/to/file')
284
284
  #
285
- # Files larger than `:multipart_threshold` are uploaded using the
286
- # Amazon S3 multipart upload APIs.
285
+ # Files larger than or equal to `:multipart_threshold` are uploaded
286
+ # using the Amazon S3 multipart upload APIs.
287
287
  #
288
288
  # # large files are automatically split into parts
289
289
  # # and the parts are uploaded in parallel
@@ -313,7 +313,8 @@ module Aws
313
313
  # will be empty.
314
314
  #
315
315
  # @option options [Integer] :multipart_threshold (15728640) Files larger
316
- # than `:multipart_threshold` are uploaded using the S3 multipart APIs.
316
+ # than or equal to `:multipart_threshold` are uploaded using the S3
317
+ # multipart APIs.
317
318
  # Default threshold is 15MB.
318
319
  #
319
320
  # @option options [Integer] :thread_count (10) The number of parallel
@@ -29,6 +29,7 @@ module Aws::S3
29
29
  # ## Error Classes
30
30
  # * {BucketAlreadyExists}
31
31
  # * {BucketAlreadyOwnedByYou}
32
+ # * {InvalidObjectState}
32
33
  # * {NoSuchBucket}
33
34
  # * {NoSuchKey}
34
35
  # * {NoSuchUpload}
@@ -61,6 +62,26 @@ module Aws::S3
61
62
  end
62
63
  end
63
64
 
65
+ class InvalidObjectState < ServiceError
66
+
67
+ # @param [Seahorse::Client::RequestContext] context
68
+ # @param [String] message
69
+ # @param [Aws::S3::Types::InvalidObjectState] data
70
+ def initialize(context, message, data = Aws::EmptyStructure.new)
71
+ super(context, message, data)
72
+ end
73
+
74
+ # @return [String]
75
+ def storage_class
76
+ @data[:storage_class]
77
+ end
78
+
79
+ # @return [String]
80
+ def access_tier
81
+ @data[:access_tier]
82
+ end
83
+ end
84
+
64
85
  class NoSuchBucket < ServiceError
65
86
 
66
87
  # @param [Seahorse::Client::RequestContext] context