aws-sdk-s3 1.9.0 → 1.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,6 +21,7 @@ module Aws::S3
21
21
  AccessControlPolicy = Shapes::StructureShape.new(name: 'AccessControlPolicy')
22
22
  AccessControlTranslation = Shapes::StructureShape.new(name: 'AccessControlTranslation')
23
23
  AccountId = Shapes::StringShape.new(name: 'AccountId')
24
+ AllowQuotedRecordDelimiter = Shapes::BooleanShape.new(name: 'AllowQuotedRecordDelimiter')
24
25
  AllowedHeader = Shapes::StringShape.new(name: 'AllowedHeader')
25
26
  AllowedHeaders = Shapes::ListShape.new(name: 'AllowedHeaders', flattened: true)
26
27
  AllowedMethod = Shapes::StringShape.new(name: 'AllowedMethod')
@@ -49,6 +50,7 @@ module Aws::S3
49
50
  BucketVersioningStatus = Shapes::StringShape.new(name: 'BucketVersioningStatus')
50
51
  Buckets = Shapes::ListShape.new(name: 'Buckets')
51
52
  BytesProcessed = Shapes::IntegerShape.new(name: 'BytesProcessed')
53
+ BytesReturned = Shapes::IntegerShape.new(name: 'BytesReturned')
52
54
  BytesScanned = Shapes::IntegerShape.new(name: 'BytesScanned')
53
55
  CORSConfiguration = Shapes::StructureShape.new(name: 'CORSConfiguration')
54
56
  CORSRule = Shapes::StructureShape.new(name: 'CORSRule')
@@ -78,6 +80,7 @@ module Aws::S3
78
80
  ContentMD5 = Shapes::StringShape.new(name: 'ContentMD5')
79
81
  ContentRange = Shapes::StringShape.new(name: 'ContentRange')
80
82
  ContentType = Shapes::StringShape.new(name: 'ContentType')
83
+ ContinuationEvent = Shapes::StructureShape.new(name: 'ContinuationEvent')
81
84
  CopyObjectOutput = Shapes::StructureShape.new(name: 'CopyObjectOutput')
82
85
  CopyObjectRequest = Shapes::StructureShape.new(name: 'CopyObjectRequest')
83
86
  CopyObjectResult = Shapes::StructureShape.new(name: 'CopyObjectResult')
@@ -115,6 +118,8 @@ module Aws::S3
115
118
  DeleteBucketWebsiteRequest = Shapes::StructureShape.new(name: 'DeleteBucketWebsiteRequest')
116
119
  DeleteMarker = Shapes::BooleanShape.new(name: 'DeleteMarker')
117
120
  DeleteMarkerEntry = Shapes::StructureShape.new(name: 'DeleteMarkerEntry')
121
+ DeleteMarkerReplication = Shapes::StructureShape.new(name: 'DeleteMarkerReplication')
122
+ DeleteMarkerReplicationStatus = Shapes::StringShape.new(name: 'DeleteMarkerReplicationStatus')
118
123
  DeleteMarkerVersionId = Shapes::StringShape.new(name: 'DeleteMarkerVersionId')
119
124
  DeleteMarkers = Shapes::ListShape.new(name: 'DeleteMarkers', flattened: true)
120
125
  DeleteObjectOutput = Shapes::StructureShape.new(name: 'DeleteObjectOutput')
@@ -123,6 +128,7 @@ module Aws::S3
123
128
  DeleteObjectTaggingRequest = Shapes::StructureShape.new(name: 'DeleteObjectTaggingRequest')
124
129
  DeleteObjectsOutput = Shapes::StructureShape.new(name: 'DeleteObjectsOutput')
125
130
  DeleteObjectsRequest = Shapes::StructureShape.new(name: 'DeleteObjectsRequest')
131
+ DeletePublicAccessBlockRequest = Shapes::StructureShape.new(name: 'DeletePublicAccessBlockRequest')
126
132
  DeletedObject = Shapes::StructureShape.new(name: 'DeletedObject')
127
133
  DeletedObjects = Shapes::ListShape.new(name: 'DeletedObjects', flattened: true)
128
134
  Delimiter = Shapes::StringShape.new(name: 'Delimiter')
@@ -135,6 +141,7 @@ module Aws::S3
135
141
  EncodingType = Shapes::StringShape.new(name: 'EncodingType')
136
142
  Encryption = Shapes::StructureShape.new(name: 'Encryption')
137
143
  EncryptionConfiguration = Shapes::StructureShape.new(name: 'EncryptionConfiguration')
144
+ EndEvent = Shapes::StructureShape.new(name: 'EndEvent')
138
145
  Error = Shapes::StructureShape.new(name: 'Error')
139
146
  ErrorDocument = Shapes::StructureShape.new(name: 'ErrorDocument')
140
147
  Errors = Shapes::ListShape.new(name: 'Errors', flattened: true)
@@ -181,6 +188,8 @@ module Aws::S3
181
188
  GetBucketNotificationConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketNotificationConfigurationRequest')
182
189
  GetBucketPolicyOutput = Shapes::StructureShape.new(name: 'GetBucketPolicyOutput')
183
190
  GetBucketPolicyRequest = Shapes::StructureShape.new(name: 'GetBucketPolicyRequest')
191
+ GetBucketPolicyStatusOutput = Shapes::StructureShape.new(name: 'GetBucketPolicyStatusOutput')
192
+ GetBucketPolicyStatusRequest = Shapes::StructureShape.new(name: 'GetBucketPolicyStatusRequest')
184
193
  GetBucketReplicationOutput = Shapes::StructureShape.new(name: 'GetBucketReplicationOutput')
185
194
  GetBucketReplicationRequest = Shapes::StructureShape.new(name: 'GetBucketReplicationRequest')
186
195
  GetBucketRequestPaymentOutput = Shapes::StructureShape.new(name: 'GetBucketRequestPaymentOutput')
@@ -199,6 +208,8 @@ module Aws::S3
199
208
  GetObjectTaggingRequest = Shapes::StructureShape.new(name: 'GetObjectTaggingRequest')
200
209
  GetObjectTorrentOutput = Shapes::StructureShape.new(name: 'GetObjectTorrentOutput')
201
210
  GetObjectTorrentRequest = Shapes::StructureShape.new(name: 'GetObjectTorrentRequest')
211
+ GetPublicAccessBlockOutput = Shapes::StructureShape.new(name: 'GetPublicAccessBlockOutput')
212
+ GetPublicAccessBlockRequest = Shapes::StructureShape.new(name: 'GetPublicAccessBlockRequest')
202
213
  GlacierJobParameters = Shapes::StructureShape.new(name: 'GlacierJobParameters')
203
214
  Grant = Shapes::StructureShape.new(name: 'Grant')
204
215
  GrantFullControl = Shapes::StringShape.new(name: 'GrantFullControl')
@@ -238,6 +249,7 @@ module Aws::S3
238
249
  InventorySchedule = Shapes::StructureShape.new(name: 'InventorySchedule')
239
250
  IsEnabled = Shapes::BooleanShape.new(name: 'IsEnabled')
240
251
  IsLatest = Shapes::BooleanShape.new(name: 'IsLatest')
252
+ IsPublic = Shapes::BooleanShape.new(name: 'IsPublic')
241
253
  IsTruncated = Shapes::BooleanShape.new(name: 'IsTruncated')
242
254
  JSONInput = Shapes::StructureShape.new(name: 'JSONInput')
243
255
  JSONOutput = Shapes::StructureShape.new(name: 'JSONOutput')
@@ -332,6 +344,7 @@ module Aws::S3
332
344
  OutputSerialization = Shapes::StructureShape.new(name: 'OutputSerialization')
333
345
  Owner = Shapes::StructureShape.new(name: 'Owner')
334
346
  OwnerOverride = Shapes::StringShape.new(name: 'OwnerOverride')
347
+ ParquetInput = Shapes::StructureShape.new(name: 'ParquetInput')
335
348
  Part = Shapes::StructureShape.new(name: 'Part')
336
349
  PartNumber = Shapes::IntegerShape.new(name: 'PartNumber')
337
350
  PartNumberMarker = Shapes::IntegerShape.new(name: 'PartNumberMarker')
@@ -340,9 +353,13 @@ module Aws::S3
340
353
  Payer = Shapes::StringShape.new(name: 'Payer')
341
354
  Permission = Shapes::StringShape.new(name: 'Permission')
342
355
  Policy = Shapes::StringShape.new(name: 'Policy')
356
+ PolicyStatus = Shapes::StructureShape.new(name: 'PolicyStatus')
343
357
  Prefix = Shapes::StringShape.new(name: 'Prefix')
358
+ Priority = Shapes::IntegerShape.new(name: 'Priority')
344
359
  Progress = Shapes::StructureShape.new(name: 'Progress')
360
+ ProgressEvent = Shapes::StructureShape.new(name: 'ProgressEvent')
345
361
  Protocol = Shapes::StringShape.new(name: 'Protocol')
362
+ PublicAccessBlockConfiguration = Shapes::StructureShape.new(name: 'PublicAccessBlockConfiguration')
346
363
  PutBucketAccelerateConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAccelerateConfigurationRequest')
347
364
  PutBucketAclRequest = Shapes::StructureShape.new(name: 'PutBucketAclRequest')
348
365
  PutBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAnalyticsConfigurationRequest')
@@ -367,6 +384,7 @@ module Aws::S3
367
384
  PutObjectRequest = Shapes::StructureShape.new(name: 'PutObjectRequest')
368
385
  PutObjectTaggingOutput = Shapes::StructureShape.new(name: 'PutObjectTaggingOutput')
369
386
  PutObjectTaggingRequest = Shapes::StructureShape.new(name: 'PutObjectTaggingRequest')
387
+ PutPublicAccessBlockRequest = Shapes::StructureShape.new(name: 'PutPublicAccessBlockRequest')
370
388
  QueueArn = Shapes::StringShape.new(name: 'QueueArn')
371
389
  QueueConfiguration = Shapes::StructureShape.new(name: 'QueueConfiguration')
372
390
  QueueConfigurationDeprecated = Shapes::StructureShape.new(name: 'QueueConfigurationDeprecated')
@@ -377,6 +395,7 @@ module Aws::S3
377
395
  QuoteFields = Shapes::StringShape.new(name: 'QuoteFields')
378
396
  Range = Shapes::StringShape.new(name: 'Range')
379
397
  RecordDelimiter = Shapes::StringShape.new(name: 'RecordDelimiter')
398
+ RecordsEvent = Shapes::StructureShape.new(name: 'RecordsEvent')
380
399
  Redirect = Shapes::StructureShape.new(name: 'Redirect')
381
400
  RedirectAllRequestsTo = Shapes::StructureShape.new(name: 'RedirectAllRequestsTo')
382
401
  ReplaceKeyPrefixWith = Shapes::StringShape.new(name: 'ReplaceKeyPrefixWith')
@@ -384,6 +403,8 @@ module Aws::S3
384
403
  ReplicaKmsKeyID = Shapes::StringShape.new(name: 'ReplicaKmsKeyID')
385
404
  ReplicationConfiguration = Shapes::StructureShape.new(name: 'ReplicationConfiguration')
386
405
  ReplicationRule = Shapes::StructureShape.new(name: 'ReplicationRule')
406
+ ReplicationRuleAndOperator = Shapes::StructureShape.new(name: 'ReplicationRuleAndOperator')
407
+ ReplicationRuleFilter = Shapes::StructureShape.new(name: 'ReplicationRuleFilter')
387
408
  ReplicationRuleStatus = Shapes::StringShape.new(name: 'ReplicationRuleStatus')
388
409
  ReplicationRules = Shapes::ListShape.new(name: 'ReplicationRules', flattened: true)
389
410
  ReplicationStatus = Shapes::StringShape.new(name: 'ReplicationStatus')
@@ -416,18 +437,23 @@ module Aws::S3
416
437
  SSEKMS = Shapes::StructureShape.new(name: 'SSEKMS')
417
438
  SSEKMSKeyId = Shapes::StringShape.new(name: 'SSEKMSKeyId')
418
439
  SSES3 = Shapes::StructureShape.new(name: 'SSES3')
440
+ SelectObjectContentEventStream = Shapes::StructureShape.new(name: 'SelectObjectContentEventStream')
441
+ SelectObjectContentOutput = Shapes::StructureShape.new(name: 'SelectObjectContentOutput')
442
+ SelectObjectContentRequest = Shapes::StructureShape.new(name: 'SelectObjectContentRequest')
419
443
  SelectParameters = Shapes::StructureShape.new(name: 'SelectParameters')
420
444
  ServerSideEncryption = Shapes::StringShape.new(name: 'ServerSideEncryption')
421
445
  ServerSideEncryptionByDefault = Shapes::StructureShape.new(name: 'ServerSideEncryptionByDefault')
422
446
  ServerSideEncryptionConfiguration = Shapes::StructureShape.new(name: 'ServerSideEncryptionConfiguration')
423
447
  ServerSideEncryptionRule = Shapes::StructureShape.new(name: 'ServerSideEncryptionRule')
424
448
  ServerSideEncryptionRules = Shapes::ListShape.new(name: 'ServerSideEncryptionRules', flattened: true)
449
+ Setting = Shapes::BooleanShape.new(name: 'Setting')
425
450
  Size = Shapes::IntegerShape.new(name: 'Size')
426
451
  SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
427
452
  SseKmsEncryptedObjects = Shapes::StructureShape.new(name: 'SseKmsEncryptedObjects')
428
453
  SseKmsEncryptedObjectsStatus = Shapes::StringShape.new(name: 'SseKmsEncryptedObjectsStatus')
429
454
  StartAfter = Shapes::StringShape.new(name: 'StartAfter')
430
455
  Stats = Shapes::StructureShape.new(name: 'Stats')
456
+ StatsEvent = Shapes::StructureShape.new(name: 'StatsEvent')
431
457
  StorageClass = Shapes::StringShape.new(name: 'StorageClass')
432
458
  StorageClassAnalysis = Shapes::StructureShape.new(name: 'StorageClassAnalysis')
433
459
  StorageClassAnalysisDataExport = Shapes::StructureShape.new(name: 'StorageClassAnalysisDataExport')
@@ -549,6 +575,7 @@ module Aws::S3
549
575
  CSVInput.add_member(:record_delimiter, Shapes::ShapeRef.new(shape: RecordDelimiter, location_name: "RecordDelimiter"))
550
576
  CSVInput.add_member(:field_delimiter, Shapes::ShapeRef.new(shape: FieldDelimiter, location_name: "FieldDelimiter"))
551
577
  CSVInput.add_member(:quote_character, Shapes::ShapeRef.new(shape: QuoteCharacter, location_name: "QuoteCharacter"))
578
+ CSVInput.add_member(:allow_quoted_record_delimiter, Shapes::ShapeRef.new(shape: AllowQuotedRecordDelimiter, location_name: "AllowQuotedRecordDelimiter"))
552
579
  CSVInput.struct_class = Types::CSVInput
553
580
 
554
581
  CSVOutput.add_member(:quote_fields, Shapes::ShapeRef.new(shape: QuoteFields, location_name: "QuoteFields"))
@@ -603,6 +630,8 @@ module Aws::S3
603
630
  Condition.add_member(:key_prefix_equals, Shapes::ShapeRef.new(shape: KeyPrefixEquals, location_name: "KeyPrefixEquals"))
604
631
  Condition.struct_class = Types::Condition
605
632
 
633
+ ContinuationEvent.struct_class = Types::ContinuationEvent
634
+
606
635
  CopyObjectOutput.add_member(:copy_object_result, Shapes::ShapeRef.new(shape: CopyObjectResult, location_name: "CopyObjectResult"))
607
636
  CopyObjectOutput.add_member(:expiration, Shapes::ShapeRef.new(shape: Expiration, location: "header", location_name: "x-amz-expiration"))
608
637
  CopyObjectOutput.add_member(:copy_source_version_id, Shapes::ShapeRef.new(shape: CopySourceVersionId, location: "header", location_name: "x-amz-copy-source-version-id"))
@@ -761,6 +790,9 @@ module Aws::S3
761
790
  DeleteMarkerEntry.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
762
791
  DeleteMarkerEntry.struct_class = Types::DeleteMarkerEntry
763
792
 
793
+ DeleteMarkerReplication.add_member(:status, Shapes::ShapeRef.new(shape: DeleteMarkerReplicationStatus, location_name: "Status"))
794
+ DeleteMarkerReplication.struct_class = Types::DeleteMarkerReplication
795
+
764
796
  DeleteMarkers.member = Shapes::ShapeRef.new(shape: DeleteMarkerEntry)
765
797
 
766
798
  DeleteObjectOutput.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location: "header", location_name: "x-amz-delete-marker"))
@@ -796,6 +828,9 @@ module Aws::S3
796
828
  DeleteObjectsRequest[:payload] = :delete
797
829
  DeleteObjectsRequest[:payload_member] = DeleteObjectsRequest.member(:delete)
798
830
 
831
+ DeletePublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
832
+ DeletePublicAccessBlockRequest.struct_class = Types::DeletePublicAccessBlockRequest
833
+
799
834
  DeletedObject.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
800
835
  DeletedObject.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
801
836
  DeletedObject.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location_name: "DeleteMarker"))
@@ -819,6 +854,8 @@ module Aws::S3
819
854
  EncryptionConfiguration.add_member(:replica_kms_key_id, Shapes::ShapeRef.new(shape: ReplicaKmsKeyID, location_name: "ReplicaKmsKeyID"))
820
855
  EncryptionConfiguration.struct_class = Types::EncryptionConfiguration
821
856
 
857
+ EndEvent.struct_class = Types::EndEvent
858
+
822
859
  Error.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
823
860
  Error.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
824
861
  Error.add_member(:code, Shapes::ShapeRef.new(shape: Code, location_name: "Code"))
@@ -929,6 +966,14 @@ module Aws::S3
929
966
  GetBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
930
967
  GetBucketPolicyRequest.struct_class = Types::GetBucketPolicyRequest
931
968
 
969
+ GetBucketPolicyStatusOutput.add_member(:policy_status, Shapes::ShapeRef.new(shape: PolicyStatus, location_name: "PolicyStatus"))
970
+ GetBucketPolicyStatusOutput.struct_class = Types::GetBucketPolicyStatusOutput
971
+ GetBucketPolicyStatusOutput[:payload] = :policy_status
972
+ GetBucketPolicyStatusOutput[:payload_member] = GetBucketPolicyStatusOutput.member(:policy_status)
973
+
974
+ GetBucketPolicyStatusRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
975
+ GetBucketPolicyStatusRequest.struct_class = Types::GetBucketPolicyStatusRequest
976
+
932
977
  GetBucketReplicationOutput.add_member(:replication_configuration, Shapes::ShapeRef.new(shape: ReplicationConfiguration, location_name: "ReplicationConfiguration"))
933
978
  GetBucketReplicationOutput.struct_class = Types::GetBucketReplicationOutput
934
979
  GetBucketReplicationOutput[:payload] = :replication_configuration
@@ -1050,6 +1095,14 @@ module Aws::S3
1050
1095
  GetObjectTorrentRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1051
1096
  GetObjectTorrentRequest.struct_class = Types::GetObjectTorrentRequest
1052
1097
 
1098
+ GetPublicAccessBlockOutput.add_member(:public_access_block_configuration, Shapes::ShapeRef.new(shape: PublicAccessBlockConfiguration, location_name: "PublicAccessBlockConfiguration"))
1099
+ GetPublicAccessBlockOutput.struct_class = Types::GetPublicAccessBlockOutput
1100
+ GetPublicAccessBlockOutput[:payload] = :public_access_block_configuration
1101
+ GetPublicAccessBlockOutput[:payload_member] = GetPublicAccessBlockOutput.member(:public_access_block_configuration)
1102
+
1103
+ GetPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1104
+ GetPublicAccessBlockRequest.struct_class = Types::GetPublicAccessBlockRequest
1105
+
1053
1106
  GlacierJobParameters.add_member(:tier, Shapes::ShapeRef.new(shape: Tier, required: true, location_name: "Tier"))
1054
1107
  GlacierJobParameters.struct_class = Types::GlacierJobParameters
1055
1108
 
@@ -1122,6 +1175,7 @@ module Aws::S3
1122
1175
  InputSerialization.add_member(:csv, Shapes::ShapeRef.new(shape: CSVInput, location_name: "CSV"))
1123
1176
  InputSerialization.add_member(:compression_type, Shapes::ShapeRef.new(shape: CompressionType, location_name: "CompressionType"))
1124
1177
  InputSerialization.add_member(:json, Shapes::ShapeRef.new(shape: JSONInput, location_name: "JSON"))
1178
+ InputSerialization.add_member(:parquet, Shapes::ShapeRef.new(shape: ParquetInput, location_name: "Parquet"))
1125
1179
  InputSerialization.struct_class = Types::InputSerialization
1126
1180
 
1127
1181
  InventoryConfiguration.add_member(:destination, Shapes::ShapeRef.new(shape: InventoryDestination, required: true, location_name: "Destination"))
@@ -1450,6 +1504,8 @@ module Aws::S3
1450
1504
  Owner.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
1451
1505
  Owner.struct_class = Types::Owner
1452
1506
 
1507
+ ParquetInput.struct_class = Types::ParquetInput
1508
+
1453
1509
  Part.add_member(:part_number, Shapes::ShapeRef.new(shape: PartNumber, location_name: "PartNumber"))
1454
1510
  Part.add_member(:last_modified, Shapes::ShapeRef.new(shape: LastModified, location_name: "LastModified"))
1455
1511
  Part.add_member(:etag, Shapes::ShapeRef.new(shape: ETag, location_name: "ETag"))
@@ -1458,10 +1514,23 @@ module Aws::S3
1458
1514
 
1459
1515
  Parts.member = Shapes::ShapeRef.new(shape: Part)
1460
1516
 
1517
+ PolicyStatus.add_member(:is_public, Shapes::ShapeRef.new(shape: IsPublic, location_name: "IsPublic"))
1518
+ PolicyStatus.struct_class = Types::PolicyStatus
1519
+
1461
1520
  Progress.add_member(:bytes_scanned, Shapes::ShapeRef.new(shape: BytesScanned, location_name: "BytesScanned"))
1462
1521
  Progress.add_member(:bytes_processed, Shapes::ShapeRef.new(shape: BytesProcessed, location_name: "BytesProcessed"))
1522
+ Progress.add_member(:bytes_returned, Shapes::ShapeRef.new(shape: BytesReturned, location_name: "BytesReturned"))
1463
1523
  Progress.struct_class = Types::Progress
1464
1524
 
1525
+ ProgressEvent.add_member(:details, Shapes::ShapeRef.new(shape: Progress, eventpayload: true, eventpayload_type: 'structure', location_name: "Details", metadata: {"eventpayload"=>true}))
1526
+ ProgressEvent.struct_class = Types::ProgressEvent
1527
+
1528
+ PublicAccessBlockConfiguration.add_member(:block_public_acls, Shapes::ShapeRef.new(shape: Setting, location_name: "BlockPublicAcls"))
1529
+ PublicAccessBlockConfiguration.add_member(:ignore_public_acls, Shapes::ShapeRef.new(shape: Setting, location_name: "IgnorePublicAcls"))
1530
+ PublicAccessBlockConfiguration.add_member(:block_public_policy, Shapes::ShapeRef.new(shape: Setting, location_name: "BlockPublicPolicy"))
1531
+ PublicAccessBlockConfiguration.add_member(:restrict_public_buckets, Shapes::ShapeRef.new(shape: Setting, location_name: "RestrictPublicBuckets"))
1532
+ PublicAccessBlockConfiguration.struct_class = Types::PublicAccessBlockConfiguration
1533
+
1465
1534
  PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1466
1535
  PutBucketAccelerateConfigurationRequest.add_member(:accelerate_configuration, Shapes::ShapeRef.new(shape: AccelerateConfiguration, required: true, location_name: "AccelerateConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1467
1536
  PutBucketAccelerateConfigurationRequest.struct_class = Types::PutBucketAccelerateConfigurationRequest
@@ -1664,6 +1733,13 @@ module Aws::S3
1664
1733
  PutObjectTaggingRequest[:payload] = :tagging
1665
1734
  PutObjectTaggingRequest[:payload_member] = PutObjectTaggingRequest.member(:tagging)
1666
1735
 
1736
+ PutPublicAccessBlockRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1737
+ PutPublicAccessBlockRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
1738
+ PutPublicAccessBlockRequest.add_member(:public_access_block_configuration, Shapes::ShapeRef.new(shape: PublicAccessBlockConfiguration, required: true, location_name: "PublicAccessBlockConfiguration", metadata: {"xmlNamespace"=>{"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}}))
1739
+ PutPublicAccessBlockRequest.struct_class = Types::PutPublicAccessBlockRequest
1740
+ PutPublicAccessBlockRequest[:payload] = :public_access_block_configuration
1741
+ PutPublicAccessBlockRequest[:payload_member] = PutPublicAccessBlockRequest.member(:public_access_block_configuration)
1742
+
1667
1743
  QueueConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
1668
1744
  QueueConfiguration.add_member(:queue_arn, Shapes::ShapeRef.new(shape: QueueArn, required: true, location_name: "Queue"))
1669
1745
  QueueConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, required: true, location_name: "Event"))
@@ -1678,6 +1754,9 @@ module Aws::S3
1678
1754
 
1679
1755
  QueueConfigurationList.member = Shapes::ShapeRef.new(shape: QueueConfiguration)
1680
1756
 
1757
+ RecordsEvent.add_member(:payload, Shapes::ShapeRef.new(shape: Body, eventpayload: true, eventpayload_type: 'blob', location_name: "Payload", metadata: {"eventpayload"=>true}))
1758
+ RecordsEvent.struct_class = Types::RecordsEvent
1759
+
1681
1760
  Redirect.add_member(:host_name, Shapes::ShapeRef.new(shape: HostName, location_name: "HostName"))
1682
1761
  Redirect.add_member(:http_redirect_code, Shapes::ShapeRef.new(shape: HttpRedirectCode, location_name: "HttpRedirectCode"))
1683
1762
  Redirect.add_member(:protocol, Shapes::ShapeRef.new(shape: Protocol, location_name: "Protocol"))
@@ -1694,12 +1773,24 @@ module Aws::S3
1694
1773
  ReplicationConfiguration.struct_class = Types::ReplicationConfiguration
1695
1774
 
1696
1775
  ReplicationRule.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "ID"))
1697
- ReplicationRule.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, required: true, location_name: "Prefix"))
1776
+ ReplicationRule.add_member(:priority, Shapes::ShapeRef.new(shape: Priority, location_name: "Priority"))
1777
+ ReplicationRule.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, deprecated: true, location_name: "Prefix"))
1778
+ ReplicationRule.add_member(:filter, Shapes::ShapeRef.new(shape: ReplicationRuleFilter, location_name: "Filter"))
1698
1779
  ReplicationRule.add_member(:status, Shapes::ShapeRef.new(shape: ReplicationRuleStatus, required: true, location_name: "Status"))
1699
1780
  ReplicationRule.add_member(:source_selection_criteria, Shapes::ShapeRef.new(shape: SourceSelectionCriteria, location_name: "SourceSelectionCriteria"))
1700
1781
  ReplicationRule.add_member(:destination, Shapes::ShapeRef.new(shape: Destination, required: true, location_name: "Destination"))
1782
+ ReplicationRule.add_member(:delete_marker_replication, Shapes::ShapeRef.new(shape: DeleteMarkerReplication, location_name: "DeleteMarkerReplication"))
1701
1783
  ReplicationRule.struct_class = Types::ReplicationRule
1702
1784
 
1785
+ ReplicationRuleAndOperator.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1786
+ ReplicationRuleAndOperator.add_member(:tags, Shapes::ShapeRef.new(shape: TagSet, location_name: "Tag", metadata: {"flattened"=>true}))
1787
+ ReplicationRuleAndOperator.struct_class = Types::ReplicationRuleAndOperator
1788
+
1789
+ ReplicationRuleFilter.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
1790
+ ReplicationRuleFilter.add_member(:tag, Shapes::ShapeRef.new(shape: Tag, location_name: "Tag"))
1791
+ ReplicationRuleFilter.add_member(:and, Shapes::ShapeRef.new(shape: ReplicationRuleAndOperator, location_name: "And"))
1792
+ ReplicationRuleFilter.struct_class = Types::ReplicationRuleFilter
1793
+
1703
1794
  ReplicationRules.member = Shapes::ShapeRef.new(shape: ReplicationRule)
1704
1795
 
1705
1796
  RequestPaymentConfiguration.add_member(:payer, Shapes::ShapeRef.new(shape: Payer, required: true, location_name: "Payer"))
@@ -1766,6 +1857,30 @@ module Aws::S3
1766
1857
 
1767
1858
  SSES3.struct_class = Types::SSES3
1768
1859
 
1860
+ SelectObjectContentEventStream.add_member(:records, Shapes::ShapeRef.new(shape: RecordsEvent, event: true, location_name: "Records"))
1861
+ SelectObjectContentEventStream.add_member(:stats, Shapes::ShapeRef.new(shape: StatsEvent, event: true, location_name: "Stats"))
1862
+ SelectObjectContentEventStream.add_member(:progress, Shapes::ShapeRef.new(shape: ProgressEvent, event: true, location_name: "Progress"))
1863
+ SelectObjectContentEventStream.add_member(:cont, Shapes::ShapeRef.new(shape: ContinuationEvent, event: true, location_name: "Cont"))
1864
+ SelectObjectContentEventStream.add_member(:end, Shapes::ShapeRef.new(shape: EndEvent, event: true, location_name: "End"))
1865
+ SelectObjectContentEventStream.struct_class = Types::SelectObjectContentEventStream
1866
+
1867
+ SelectObjectContentOutput.add_member(:payload, Shapes::ShapeRef.new(shape: SelectObjectContentEventStream, eventstream: true, location_name: "Payload"))
1868
+ SelectObjectContentOutput.struct_class = Types::SelectObjectContentOutput
1869
+ SelectObjectContentOutput[:payload] = :payload
1870
+ SelectObjectContentOutput[:payload_member] = SelectObjectContentOutput.member(:payload)
1871
+
1872
+ SelectObjectContentRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1873
+ SelectObjectContentRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key"))
1874
+ SelectObjectContentRequest.add_member(:sse_customer_algorithm, Shapes::ShapeRef.new(shape: SSECustomerAlgorithm, location: "header", location_name: "x-amz-server-side-encryption-customer-algorithm"))
1875
+ SelectObjectContentRequest.add_member(:sse_customer_key, Shapes::ShapeRef.new(shape: SSECustomerKey, location: "header", location_name: "x-amz-server-side-encryption-customer-key"))
1876
+ SelectObjectContentRequest.add_member(:sse_customer_key_md5, Shapes::ShapeRef.new(shape: SSECustomerKeyMD5, location: "header", location_name: "x-amz-server-side-encryption-customer-key-MD5"))
1877
+ SelectObjectContentRequest.add_member(:expression, Shapes::ShapeRef.new(shape: Expression, required: true, location_name: "Expression"))
1878
+ SelectObjectContentRequest.add_member(:expression_type, Shapes::ShapeRef.new(shape: ExpressionType, required: true, location_name: "ExpressionType"))
1879
+ SelectObjectContentRequest.add_member(:request_progress, Shapes::ShapeRef.new(shape: RequestProgress, location_name: "RequestProgress"))
1880
+ SelectObjectContentRequest.add_member(:input_serialization, Shapes::ShapeRef.new(shape: InputSerialization, required: true, location_name: "InputSerialization"))
1881
+ SelectObjectContentRequest.add_member(:output_serialization, Shapes::ShapeRef.new(shape: OutputSerialization, required: true, location_name: "OutputSerialization"))
1882
+ SelectObjectContentRequest.struct_class = Types::SelectObjectContentRequest
1883
+
1769
1884
  SelectParameters.add_member(:input_serialization, Shapes::ShapeRef.new(shape: InputSerialization, required: true, location_name: "InputSerialization"))
1770
1885
  SelectParameters.add_member(:expression_type, Shapes::ShapeRef.new(shape: ExpressionType, required: true, location_name: "ExpressionType"))
1771
1886
  SelectParameters.add_member(:expression, Shapes::ShapeRef.new(shape: Expression, required: true, location_name: "Expression"))
@@ -1792,8 +1907,12 @@ module Aws::S3
1792
1907
 
1793
1908
  Stats.add_member(:bytes_scanned, Shapes::ShapeRef.new(shape: BytesScanned, location_name: "BytesScanned"))
1794
1909
  Stats.add_member(:bytes_processed, Shapes::ShapeRef.new(shape: BytesProcessed, location_name: "BytesProcessed"))
1910
+ Stats.add_member(:bytes_returned, Shapes::ShapeRef.new(shape: BytesReturned, location_name: "BytesReturned"))
1795
1911
  Stats.struct_class = Types::Stats
1796
1912
 
1913
+ StatsEvent.add_member(:details, Shapes::ShapeRef.new(shape: Stats, eventpayload: true, eventpayload_type: 'structure', location_name: "Details", metadata: {"eventpayload"=>true}))
1914
+ StatsEvent.struct_class = Types::StatsEvent
1915
+
1797
1916
  StorageClassAnalysis.add_member(:data_export, Shapes::ShapeRef.new(shape: StorageClassAnalysisDataExport, location_name: "DataExport"))
1798
1917
  StorageClassAnalysis.struct_class = Types::StorageClassAnalysis
1799
1918
 
@@ -1909,10 +2028,15 @@ module Aws::S3
1909
2028
  api.version = "2006-03-01"
1910
2029
 
1911
2030
  api.metadata = {
2031
+ "apiVersion" => "2006-03-01",
2032
+ "checksumFormat" => "md5",
1912
2033
  "endpointPrefix" => "s3",
2034
+ "globalEndpoint" => "s3.amazonaws.com",
1913
2035
  "protocol" => "rest-xml",
2036
+ "serviceAbbreviation" => "Amazon S3",
1914
2037
  "serviceFullName" => "Amazon Simple Storage Service",
1915
- "timestampFormat" => "rfc822",
2038
+ "serviceId" => "S3",
2039
+ "uid" => "s3-2006-03-01",
1916
2040
  }
1917
2041
 
1918
2042
  api.add_operation(:abort_multipart_upload, Seahorse::Model::Operation.new.tap do |o|
@@ -2071,6 +2195,14 @@ module Aws::S3
2071
2195
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectsOutput)
2072
2196
  end)
2073
2197
 
2198
+ api.add_operation(:delete_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2199
+ o.name = "DeletePublicAccessBlock"
2200
+ o.http_method = "DELETE"
2201
+ o.http_request_uri = "/{Bucket}?publicAccessBlock"
2202
+ o.input = Shapes::ShapeRef.new(shape: DeletePublicAccessBlockRequest)
2203
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2204
+ end)
2205
+
2074
2206
  api.add_operation(:get_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
2075
2207
  o.name = "GetBucketAccelerateConfiguration"
2076
2208
  o.http_method = "GET"
@@ -2185,6 +2317,14 @@ module Aws::S3
2185
2317
  o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyOutput)
2186
2318
  end)
2187
2319
 
2320
+ api.add_operation(:get_bucket_policy_status, Seahorse::Model::Operation.new.tap do |o|
2321
+ o.name = "GetBucketPolicyStatus"
2322
+ o.http_method = "GET"
2323
+ o.http_request_uri = "/{Bucket}?policyStatus"
2324
+ o.input = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusRequest)
2325
+ o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyStatusOutput)
2326
+ end)
2327
+
2188
2328
  api.add_operation(:get_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2189
2329
  o.name = "GetBucketReplication"
2190
2330
  o.http_method = "GET"
@@ -2259,6 +2399,14 @@ module Aws::S3
2259
2399
  o.output = Shapes::ShapeRef.new(shape: GetObjectTorrentOutput)
2260
2400
  end)
2261
2401
 
2402
+ api.add_operation(:get_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2403
+ o.name = "GetPublicAccessBlock"
2404
+ o.http_method = "GET"
2405
+ o.http_request_uri = "/{Bucket}?publicAccessBlock"
2406
+ o.input = Shapes::ShapeRef.new(shape: GetPublicAccessBlockRequest)
2407
+ o.output = Shapes::ShapeRef.new(shape: GetPublicAccessBlockOutput)
2408
+ end)
2409
+
2262
2410
  api.add_operation(:head_bucket, Seahorse::Model::Operation.new.tap do |o|
2263
2411
  o.name = "HeadBucket"
2264
2412
  o.http_method = "HEAD"
@@ -2558,6 +2706,14 @@ module Aws::S3
2558
2706
  o.output = Shapes::ShapeRef.new(shape: PutObjectTaggingOutput)
2559
2707
  end)
2560
2708
 
2709
+ api.add_operation(:put_public_access_block, Seahorse::Model::Operation.new.tap do |o|
2710
+ o.name = "PutPublicAccessBlock"
2711
+ o.http_method = "PUT"
2712
+ o.http_request_uri = "/{Bucket}?publicAccessBlock"
2713
+ o.input = Shapes::ShapeRef.new(shape: PutPublicAccessBlockRequest)
2714
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
2715
+ end)
2716
+
2561
2717
  api.add_operation(:restore_object, Seahorse::Model::Operation.new.tap do |o|
2562
2718
  o.name = "RestoreObject"
2563
2719
  o.http_method = "POST"
@@ -2567,6 +2723,19 @@ module Aws::S3
2567
2723
  o.errors << Shapes::ShapeRef.new(shape: ObjectAlreadyInActiveTierError)
2568
2724
  end)
2569
2725
 
2726
+ api.add_operation(:select_object_content, Seahorse::Model::Operation.new.tap do |o|
2727
+ o.name = "SelectObjectContent"
2728
+ o.http_method = "POST"
2729
+ o.http_request_uri = "/{Bucket}/{Key+}?select&select-type=2"
2730
+ o.input = Shapes::ShapeRef.new(shape: SelectObjectContentRequest,
2731
+ location_name: "SelectObjectContentRequest",
2732
+ metadata: {
2733
+ "xmlNamespace" => {"uri"=>"http://s3.amazonaws.com/doc/2006-03-01/"}
2734
+ }
2735
+ )
2736
+ o.output = Shapes::ShapeRef.new(shape: SelectObjectContentOutput)
2737
+ end)
2738
+
2570
2739
  api.add_operation(:upload_part, Seahorse::Model::Operation.new.tap do |o|
2571
2740
  o.name = "UploadPart"
2572
2741
  o.http_method = "PUT"
@@ -61,8 +61,8 @@ module Aws
61
61
  # You can pass `virtual_host: true` to use the bucket name as the
62
62
  # host name.
63
63
  #
64
- # bucket = s3.bucket('my.bucket.com', virtual_host: true)
65
- # bucket.url
64
+ # bucket = s3.bucket('my.bucket.com')
65
+ # bucket.url(virtual_host: true)
66
66
  # #=> "http://my.bucket.com"
67
67
  #
68
68
  # @option options [Boolean] :virtual_host (false) When `true`,
@@ -214,6 +214,62 @@ module Aws
214
214
  url.to_s
215
215
  end
216
216
 
217
+ # Uploads a stream in a streaming fashion to the current object in S3.
218
+ #
219
+ # # Passed chunks automatically split into multipart upload parts
220
+ # # and the parts are uploaded in parallel. This allows for streaming uploads
221
+ # # that never touch the disk.
222
+ #
223
+ # Note that this is known to have issues in JRuby until jruby-9.1.15.0, so avoid using this with older versions of JRuby.
224
+ #
225
+ # @example Streaming chunks of data
226
+ # obj.upload_stream do |write_stream|
227
+ # 10.times { write_stream << 'foo' }
228
+ # end
229
+ # @example Streaming chunks of data
230
+ # obj.upload_stream do |write_stream|
231
+ # IO.copy_stream(IO.popen('ls'), write_stream)
232
+ # end
233
+ # @example Streaming chunks of data
234
+ # obj.upload_stream do |write_stream|
235
+ # IO.copy_stream(STDIN, write_stream)
236
+ # end
237
+ #
238
+ # @option options [Integer] :thread_count
239
+ # The number of parallel multipart uploads
240
+ # Default `:thread_count` is `10`.
241
+ #
242
+ # @option options [Boolean] :tempfile
243
+ # Normally read data is stored in memory when building the parts in order to complete
244
+ # the underlying multipart upload. By passing `:tempfile => true` data read will be
245
+ # temporarily stored on disk reducing the memory footprint vastly.
246
+ # Default `:tempfile` is `false`.
247
+ #
248
+ # @option options [Integer] :part_size
249
+ # Define how big each part size but the last should be.
250
+ # Default `:part_size` is `5 * 1024 * 1024`.
251
+ #
252
+ # @raise [MultipartUploadError] If an object is being uploaded in
253
+ # parts, and the upload can not be completed, then the upload is
254
+ # aborted and this error is raised. The raised error has a `#errors`
255
+ # method that returns the failures that caused the upload to be
256
+ # aborted.
257
+ #
258
+ # @return [Boolean] Returns `true` when the object is uploaded
259
+ # without any errors.
260
+ #
261
+ def upload_stream(options = {}, &block)
262
+ uploading_options = options.dup
263
+ uploader = MultipartStreamUploader.new(
264
+ client: client,
265
+ thread_count: uploading_options.delete(:thread_count),
266
+ tempfile: uploading_options.delete(:tempfile),
267
+ part_size: uploading_options.delete(:part_size),
268
+ )
269
+ uploader.upload(uploading_options.merge(bucket: bucket_name, key: key), &block)
270
+ true
271
+ end
272
+
217
273
  # Uploads a file from disk to the current object in S3.
218
274
  #
219
275
  # # small files are uploaded in a single API call
@@ -277,6 +333,10 @@ module Aws
277
333
  # @option options [String] thread_count Customize threads used in multipart
278
334
  # download, if not provided, 10 is default value
279
335
  #
336
+ # @option options [String] version_id The object version id used to retrieve
337
+ # the object, to know more about object versioning, see:
338
+ # https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectVersioning.html
339
+ #
280
340
  # @return [Boolean] Returns `true` when the file is downloaded
281
341
  # without any errors.
282
342
  def download_file(destination, options = {})
@@ -60,6 +60,13 @@ module Aws
60
60
  object.upload_file(source, options)
61
61
  end
62
62
 
63
+ # @options (see Object#upload_stream)
64
+ # @return (see Object#upload_stream)
65
+ # @see Object#upload_stream
66
+ def upload_stream(options = {}, &block)
67
+ object.upload_stream(options, &block)
68
+ end
69
+
63
70
  # @param (see Object#download_file)
64
71
  # @options (see Object#download_file)
65
72
  # @return (see Object#download_file)
@@ -6,6 +6,7 @@ require 'aws-sdk-s3/file_uploader'
6
6
  require 'aws-sdk-s3/file_downloader'
7
7
  require 'aws-sdk-s3/legacy_signer'
8
8
  require 'aws-sdk-s3/multipart_file_uploader'
9
+ require 'aws-sdk-s3/multipart_stream_uploader'
9
10
  require 'aws-sdk-s3/multipart_upload_error'
10
11
  require 'aws-sdk-s3/object_copier'
11
12
  require 'aws-sdk-s3/object_multipart_copier'
@@ -22,8 +22,10 @@ module Aws
22
22
 
23
23
  def write(chunk)
24
24
  chunk = truncate_chunk(chunk)
25
- @bytes_written += chunk.bytesize
26
- @decrypter.write(chunk)
25
+ if chunk.bytesize > 0
26
+ @bytes_written += chunk.bytesize
27
+ @decrypter.write(chunk)
28
+ end
27
29
  end
28
30
 
29
31
  def finalize
@@ -39,8 +41,12 @@ module Aws
39
41
  def truncate_chunk(chunk)
40
42
  if chunk.bytesize + @bytes_written <= @max_bytes
41
43
  chunk
42
- else
44
+ elsif @bytes_written < @max_bytes
43
45
  chunk[0..(@max_bytes - @bytes_written - 1)]
46
+ else
47
+ # If the tag was sent over after the full body has been read,
48
+ # we don't want to accidentally append it.
49
+ ""
44
50
  end
45
51
  end
46
52
 
@@ -0,0 +1,56 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::S3
9
+ module EventStreams
10
+ class SelectObjectContentEventStream
11
+
12
+ def initialize
13
+ @event_emitter = Aws::EventEmitter.new
14
+ end
15
+
16
+ def on_records_event(&block)
17
+ @event_emitter.on(:records, Proc.new)
18
+ end
19
+
20
+ def on_stats_event(&block)
21
+ @event_emitter.on(:stats, Proc.new)
22
+ end
23
+
24
+ def on_progress_event(&block)
25
+ @event_emitter.on(:progress, Proc.new)
26
+ end
27
+
28
+ def on_cont_event(&block)
29
+ @event_emitter.on(:cont, Proc.new)
30
+ end
31
+
32
+ def on_end_event(&block)
33
+ @event_emitter.on(:end, Proc.new)
34
+ end
35
+
36
+ def on_error_event(&block)
37
+ @event_emitter.on(:error, Proc.new)
38
+ end
39
+
40
+ def on_event(&block)
41
+ on_records_event(&block)
42
+ on_stats_event(&block)
43
+ on_progress_event(&block)
44
+ on_cont_event(&block)
45
+ on_end_event(&block)
46
+ end
47
+
48
+ # @api private
49
+ # @return Aws::EventEmitter
50
+ attr_reader :event_emitter
51
+
52
+ end
53
+
54
+ end
55
+ end
56
+