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.
@@ -135,7 +135,7 @@ module Aws::S3
135
135
  include Aws::Structure
136
136
  end
137
137
 
138
- # Container for information regarding the access control for replicas.
138
+ # A container for information about access control for replicas.
139
139
  #
140
140
  # @note When making an API call, you may pass AccessControlTranslation
141
141
  # data as a hash:
@@ -549,6 +549,7 @@ module Aws::S3
549
549
  # record_delimiter: "RecordDelimiter",
550
550
  # field_delimiter: "FieldDelimiter",
551
551
  # quote_character: "QuoteCharacter",
552
+ # allow_quoted_record_delimiter: false,
552
553
  # }
553
554
  #
554
555
  # @!attribute [rw] file_header_info
@@ -556,21 +557,21 @@ module Aws::S3
556
557
  # @return [String]
557
558
  #
558
559
  # @!attribute [rw] comments
559
- # Single character used to indicate a row should be ignored when
560
+ # The single character used to indicate a row should be ignored when
560
561
  # present at the start of a row.
561
562
  # @return [String]
562
563
  #
563
564
  # @!attribute [rw] quote_escape_character
564
- # Single character used for escaping the quote character inside an
565
+ # The single character used for escaping the quote character inside an
565
566
  # already escaped value.
566
567
  # @return [String]
567
568
  #
568
569
  # @!attribute [rw] record_delimiter
569
- # Value used to separate individual records.
570
+ # The value used to separate individual records.
570
571
  # @return [String]
571
572
  #
572
573
  # @!attribute [rw] field_delimiter
573
- # Value used to separate individual fields in a record.
574
+ # The value used to separate individual fields in a record.
574
575
  # @return [String]
575
576
  #
576
577
  # @!attribute [rw] quote_character
@@ -578,6 +579,12 @@ module Aws::S3
578
579
  # value.
579
580
  # @return [String]
580
581
  #
582
+ # @!attribute [rw] allow_quoted_record_delimiter
583
+ # Specifies that CSV field values may contain quoted record delimiters
584
+ # and such records should be allowed. Default value is FALSE. Setting
585
+ # this value to TRUE may lower performance.
586
+ # @return [Boolean]
587
+ #
581
588
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/CSVInput AWS API Documentation
582
589
  #
583
590
  class CSVInput < Struct.new(
@@ -586,7 +593,8 @@ module Aws::S3
586
593
  :quote_escape_character,
587
594
  :record_delimiter,
588
595
  :field_delimiter,
589
- :quote_character)
596
+ :quote_character,
597
+ :allow_quoted_record_delimiter)
590
598
  include Aws::Structure
591
599
  end
592
600
 
@@ -608,20 +616,20 @@ module Aws::S3
608
616
  # @return [String]
609
617
  #
610
618
  # @!attribute [rw] quote_escape_character
611
- # Single character used for escaping the quote character inside an
619
+ # Th single character used for escaping the quote character inside an
612
620
  # already escaped value.
613
621
  # @return [String]
614
622
  #
615
623
  # @!attribute [rw] record_delimiter
616
- # Value used to separate individual records.
624
+ # The value used to separate individual records.
617
625
  # @return [String]
618
626
  #
619
627
  # @!attribute [rw] field_delimiter
620
- # Value used to separate individual fields in a record.
628
+ # The value used to separate individual fields in a record.
621
629
  # @return [String]
622
630
  #
623
631
  # @!attribute [rw] quote_character
624
- # Value used for escaping where the field delimiter is part of the
632
+ # The value used for escaping where the field delimiter is part of the
625
633
  # value.
626
634
  # @return [String]
627
635
  #
@@ -648,13 +656,13 @@ module Aws::S3
648
656
  # }
649
657
  #
650
658
  # @!attribute [rw] id
651
- # Optional unique identifier for configurations in a notification
659
+ # An optional unique identifier for configurations in a notification
652
660
  # configuration. If you don't provide one, Amazon S3 will assign an
653
661
  # ID.
654
662
  # @return [String]
655
663
  #
656
664
  # @!attribute [rw] event
657
- # Bucket event for which to send notifications.
665
+ # The bucket event for which to send notifications.
658
666
  # @return [String]
659
667
  #
660
668
  # @!attribute [rw] events
@@ -871,6 +879,13 @@ module Aws::S3
871
879
  include Aws::Structure
872
880
  end
873
881
 
882
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ContinuationEvent AWS API Documentation
883
+ #
884
+ class ContinuationEvent < Struct.new(
885
+ :event_type)
886
+ include Aws::Structure
887
+ end
888
+
874
889
  # @!attribute [rw] copy_object_result
875
890
  # @return [Types::CopyObjectResult]
876
891
  #
@@ -1716,6 +1731,12 @@ module Aws::S3
1716
1731
  # }
1717
1732
  #
1718
1733
  # @!attribute [rw] bucket
1734
+ # The bucket name.
1735
+ #
1736
+ # <note markdown="1"> It can take a while to propagate the deletion of a replication
1737
+ # configuration to all Amazon S3 systems.
1738
+ #
1739
+ # </note>
1719
1740
  # @return [String]
1720
1741
  #
1721
1742
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplicationRequest AWS API Documentation
@@ -1807,6 +1828,31 @@ module Aws::S3
1807
1828
  include Aws::Structure
1808
1829
  end
1809
1830
 
1831
+ # Specifies whether Amazon S3 should replicate delete makers.
1832
+ #
1833
+ # @note When making an API call, you may pass DeleteMarkerReplication
1834
+ # data as a hash:
1835
+ #
1836
+ # {
1837
+ # status: "Enabled", # accepts Enabled, Disabled
1838
+ # }
1839
+ #
1840
+ # @!attribute [rw] status
1841
+ # The status of the delete marker replication.
1842
+ #
1843
+ # <note markdown="1"> In the current implementation, Amazon S3 doesn't replicate the
1844
+ # delete markers. The status must be `Disabled`.
1845
+ #
1846
+ # </note>
1847
+ # @return [String]
1848
+ #
1849
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteMarkerReplication AWS API Documentation
1850
+ #
1851
+ class DeleteMarkerReplication < Struct.new(
1852
+ :status)
1853
+ include Aws::Structure
1854
+ end
1855
+
1810
1856
  # @!attribute [rw] delete_marker
1811
1857
  # Specifies whether the versioned object that was permanently deleted
1812
1858
  # was (true) or was not (false) a delete marker.
@@ -1984,6 +2030,25 @@ module Aws::S3
1984
2030
  include Aws::Structure
1985
2031
  end
1986
2032
 
2033
+ # @note When making an API call, you may pass DeletePublicAccessBlockRequest
2034
+ # data as a hash:
2035
+ #
2036
+ # {
2037
+ # bucket: "BucketName", # required
2038
+ # }
2039
+ #
2040
+ # @!attribute [rw] bucket
2041
+ # The Amazon S3 bucket whose Public Access Block configuration you
2042
+ # want to delete.
2043
+ # @return [String]
2044
+ #
2045
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeletePublicAccessBlockRequest AWS API Documentation
2046
+ #
2047
+ class DeletePublicAccessBlockRequest < Struct.new(
2048
+ :bucket)
2049
+ include Aws::Structure
2050
+ end
2051
+
1987
2052
  # @!attribute [rw] key
1988
2053
  # @return [String]
1989
2054
  #
@@ -2006,7 +2071,7 @@ module Aws::S3
2006
2071
  include Aws::Structure
2007
2072
  end
2008
2073
 
2009
- # Container for replication destination information.
2074
+ # A container for information about the replication destination.
2010
2075
  #
2011
2076
  # @note When making an API call, you may pass Destination
2012
2077
  # data as a hash:
@@ -2024,26 +2089,43 @@ module Aws::S3
2024
2089
  # }
2025
2090
  #
2026
2091
  # @!attribute [rw] bucket
2027
- # Amazon resource name (ARN) of the bucket where you want Amazon S3 to
2028
- # store replicas of the object identified by the rule.
2092
+ # The Amazon Resource Name (ARN) of the bucket where you want Amazon
2093
+ # S3 to store replicas of the object identified by the rule.
2094
+ #
2095
+ # If there are multiple rules in your replication configuration, all
2096
+ # rules must specify the same bucket as the destination. A replication
2097
+ # configuration can replicate objects to only one destination bucket.
2029
2098
  # @return [String]
2030
2099
  #
2031
2100
  # @!attribute [rw] account
2032
- # Account ID of the destination bucket. Currently this is only being
2033
- # verified if Access Control Translation is enabled
2101
+ # The account ID of the destination bucket. Currently, Amazon S3
2102
+ # verifies this value only if Access Control Translation is enabled.
2103
+ #
2104
+ # In a cross-account scenario, if you change replica ownership to the
2105
+ # AWS account that owns the destination bucket by adding the
2106
+ # `AccessControlTranslation` element, this is the account ID of the
2107
+ # owner of the destination bucket.
2034
2108
  # @return [String]
2035
2109
  #
2036
2110
  # @!attribute [rw] storage_class
2037
- # The class of storage used to store the object.
2111
+ # The class of storage used to store the object. By default Amazon S3
2112
+ # uses storage class of the source object when creating a replica.
2038
2113
  # @return [String]
2039
2114
  #
2040
2115
  # @!attribute [rw] access_control_translation
2041
- # Container for information regarding the access control for replicas.
2116
+ # A container for information about access control for replicas.
2117
+ #
2118
+ # Use this element only in a cross-account scenario where source and
2119
+ # destination bucket owners are not the same to change replica
2120
+ # ownership to the AWS account that owns the destination bucket. If
2121
+ # you don't add this element to the replication configuration, the
2122
+ # replicas are owned by same AWS account that owns the source object.
2042
2123
  # @return [Types::AccessControlTranslation]
2043
2124
  #
2044
2125
  # @!attribute [rw] encryption_configuration
2045
- # Container for information regarding encryption based configuration
2046
- # for replicas.
2126
+ # A container that provides information about encryption. If
2127
+ # `SourceSelectionCriteria` is specified, you must specify this
2128
+ # element.
2047
2129
  # @return [Types::EncryptionConfiguration]
2048
2130
  #
2049
2131
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Destination AWS API Documentation
@@ -2093,8 +2175,8 @@ module Aws::S3
2093
2175
  include Aws::Structure
2094
2176
  end
2095
2177
 
2096
- # Container for information regarding encryption based configuration for
2097
- # replicas.
2178
+ # A container for information about the encryption-based configuration
2179
+ # for replicas.
2098
2180
  #
2099
2181
  # @note When making an API call, you may pass EncryptionConfiguration
2100
2182
  # data as a hash:
@@ -2104,7 +2186,9 @@ module Aws::S3
2104
2186
  # }
2105
2187
  #
2106
2188
  # @!attribute [rw] replica_kms_key_id
2107
- # The id of the KMS key used to encrypt the replica object.
2189
+ # The ID of the AWS KMS key for the AWS Region where the destination
2190
+ # bucket resides. Amazon S3 uses this key to encrypt the replica
2191
+ # object.
2108
2192
  # @return [String]
2109
2193
  #
2110
2194
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/EncryptionConfiguration AWS API Documentation
@@ -2114,6 +2198,13 @@ module Aws::S3
2114
2198
  include Aws::Structure
2115
2199
  end
2116
2200
 
2201
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/EndEvent AWS API Documentation
2202
+ #
2203
+ class EndEvent < Struct.new(
2204
+ :event_type)
2205
+ include Aws::Structure
2206
+ end
2207
+
2117
2208
  # @!attribute [rw] key
2118
2209
  # @return [String]
2119
2210
  #
@@ -2154,8 +2245,8 @@ module Aws::S3
2154
2245
  include Aws::Structure
2155
2246
  end
2156
2247
 
2157
- # Container for key value pair that defines the criteria for the filter
2158
- # rule.
2248
+ # A container for a key value pair that defines the criteria for the
2249
+ # filter rule.
2159
2250
  #
2160
2251
  # @note When making an API call, you may pass FilterRule
2161
2252
  # data as a hash:
@@ -2166,12 +2257,12 @@ module Aws::S3
2166
2257
  # }
2167
2258
  #
2168
2259
  # @!attribute [rw] name
2169
- # Object key name prefix or suffix identifying one or more objects to
2170
- # which the filtering rule applies. Maximum prefix length can be up to
2260
+ # The object key name prefix or suffix identifying one or more objects
2261
+ # to which the filtering rule applies. The maximum prefix length is
2171
2262
  # 1,024 characters. Overlapping prefixes and suffixes are not
2172
- # supported. For more information, go to [Configuring Event
2173
- # Notifications][1] in the Amazon Simple Storage Service Developer
2174
- # Guide.
2263
+ # supported. For more information, see [Configuring Event
2264
+ # Notifications][1] in the *Amazon Simple Storage Service Developer
2265
+ # Guide*.
2175
2266
  #
2176
2267
  #
2177
2268
  #
@@ -2574,9 +2665,39 @@ module Aws::S3
2574
2665
  include Aws::Structure
2575
2666
  end
2576
2667
 
2668
+ # @!attribute [rw] policy_status
2669
+ # The public-policy status for this bucket.
2670
+ # @return [Types::PolicyStatus]
2671
+ #
2672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatusOutput AWS API Documentation
2673
+ #
2674
+ class GetBucketPolicyStatusOutput < Struct.new(
2675
+ :policy_status)
2676
+ include Aws::Structure
2677
+ end
2678
+
2679
+ # @note When making an API call, you may pass GetBucketPolicyStatusRequest
2680
+ # data as a hash:
2681
+ #
2682
+ # {
2683
+ # bucket: "BucketName", # required
2684
+ # }
2685
+ #
2686
+ # @!attribute [rw] bucket
2687
+ # The name of the Amazon S3 bucket whose public-policy status you want
2688
+ # to retrieve.
2689
+ # @return [String]
2690
+ #
2691
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketPolicyStatusRequest AWS API Documentation
2692
+ #
2693
+ class GetBucketPolicyStatusRequest < Struct.new(
2694
+ :bucket)
2695
+ include Aws::Structure
2696
+ end
2697
+
2577
2698
  # @!attribute [rw] replication_configuration
2578
- # Container for replication rules. You can add as many as 1,000 rules.
2579
- # Total replication configuration size can be up to 2 MB.
2699
+ # A container for replication rules. You can add up to 1,000 rules.
2700
+ # The maximum size of a replication configuration is 2 MB.
2580
2701
  # @return [Types::ReplicationConfiguration]
2581
2702
  #
2582
2703
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplicationOutput AWS API Documentation
@@ -3196,6 +3317,37 @@ module Aws::S3
3196
3317
  include Aws::Structure
3197
3318
  end
3198
3319
 
3320
+ # @!attribute [rw] public_access_block_configuration
3321
+ # The Public Access Block configuration currently in effect for this
3322
+ # Amazon S3 bucket.
3323
+ # @return [Types::PublicAccessBlockConfiguration]
3324
+ #
3325
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlockOutput AWS API Documentation
3326
+ #
3327
+ class GetPublicAccessBlockOutput < Struct.new(
3328
+ :public_access_block_configuration)
3329
+ include Aws::Structure
3330
+ end
3331
+
3332
+ # @note When making an API call, you may pass GetPublicAccessBlockRequest
3333
+ # data as a hash:
3334
+ #
3335
+ # {
3336
+ # bucket: "BucketName", # required
3337
+ # }
3338
+ #
3339
+ # @!attribute [rw] bucket
3340
+ # The name of the Amazon S3 bucket whose Public Access Block
3341
+ # configuration you want to retrieve.
3342
+ # @return [String]
3343
+ #
3344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetPublicAccessBlockRequest AWS API Documentation
3345
+ #
3346
+ class GetPublicAccessBlockRequest < Struct.new(
3347
+ :bucket)
3348
+ include Aws::Structure
3349
+ end
3350
+
3199
3351
  # @note When making an API call, you may pass GlacierJobParameters
3200
3352
  # data as a hash:
3201
3353
  #
@@ -3618,11 +3770,14 @@ module Aws::S3
3618
3770
  # record_delimiter: "RecordDelimiter",
3619
3771
  # field_delimiter: "FieldDelimiter",
3620
3772
  # quote_character: "QuoteCharacter",
3773
+ # allow_quoted_record_delimiter: false,
3621
3774
  # },
3622
- # compression_type: "NONE", # accepts NONE, GZIP
3775
+ # compression_type: "NONE", # accepts NONE, GZIP, BZIP2
3623
3776
  # json: {
3624
3777
  # type: "DOCUMENT", # accepts DOCUMENT, LINES
3625
3778
  # },
3779
+ # parquet: {
3780
+ # },
3626
3781
  # }
3627
3782
  #
3628
3783
  # @!attribute [rw] csv
@@ -3630,20 +3785,25 @@ module Aws::S3
3630
3785
  # @return [Types::CSVInput]
3631
3786
  #
3632
3787
  # @!attribute [rw] compression_type
3633
- # Specifies object's compression format. Valid values: NONE, GZIP.
3634
- # Default Value: NONE.
3788
+ # Specifies object's compression format. Valid values: NONE, GZIP,
3789
+ # BZIP2. Default Value: NONE.
3635
3790
  # @return [String]
3636
3791
  #
3637
3792
  # @!attribute [rw] json
3638
3793
  # Specifies JSON as object's input serialization format.
3639
3794
  # @return [Types::JSONInput]
3640
3795
  #
3796
+ # @!attribute [rw] parquet
3797
+ # Specifies Parquet as object's input serialization format.
3798
+ # @return [Types::ParquetInput]
3799
+ #
3641
3800
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InputSerialization AWS API Documentation
3642
3801
  #
3643
3802
  class InputSerialization < Struct.new(
3644
3803
  :csv,
3645
3804
  :compression_type,
3646
- :json)
3805
+ :json,
3806
+ :parquet)
3647
3807
  include Aws::Structure
3648
3808
  end
3649
3809
 
@@ -3768,12 +3928,11 @@ module Aws::S3
3768
3928
  # }
3769
3929
  #
3770
3930
  # @!attribute [rw] sses3
3771
- # Specifies the use of SSE-S3 to encrypt delievered Inventory reports.
3931
+ # Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
3772
3932
  # @return [Types::SSES3]
3773
3933
  #
3774
3934
  # @!attribute [rw] ssekms
3775
- # Specifies the use of SSE-KMS to encrypt delievered Inventory
3776
- # reports.
3935
+ # Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
3777
3936
  # @return [Types::SSEKMS]
3778
3937
  #
3779
3938
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryEncryption AWS API Documentation
@@ -3907,7 +4066,8 @@ module Aws::S3
3907
4066
  include Aws::Structure
3908
4067
  end
3909
4068
 
3910
- # Container for specifying the AWS Lambda notification configuration.
4069
+ # A container for specifying the configuration for AWS Lambda
4070
+ # notifications.
3911
4071
  #
3912
4072
  # @note When making an API call, you may pass LambdaFunctionConfiguration
3913
4073
  # data as a hash:
@@ -3929,23 +4089,23 @@ module Aws::S3
3929
4089
  # }
3930
4090
  #
3931
4091
  # @!attribute [rw] id
3932
- # Optional unique identifier for configurations in a notification
4092
+ # An optional unique identifier for configurations in a notification
3933
4093
  # configuration. If you don't provide one, Amazon S3 will assign an
3934
4094
  # ID.
3935
4095
  # @return [String]
3936
4096
  #
3937
4097
  # @!attribute [rw] lambda_function_arn
3938
- # Lambda cloud function ARN that Amazon S3 can invoke when it detects
3939
- # events of the specified type.
4098
+ # The Amazon Resource Name (ARN) of the Lambda cloud function that
4099
+ # Amazon S3 can invoke when it detects events of the specified type.
3940
4100
  # @return [String]
3941
4101
  #
3942
4102
  # @!attribute [rw] events
3943
4103
  # @return [Array<String>]
3944
4104
  #
3945
4105
  # @!attribute [rw] filter
3946
- # Container for object key name filtering rules. For information about
3947
- # key name filtering, go to [Configuring Event Notifications][1] in
3948
- # the Amazon Simple Storage Service Developer Guide.
4106
+ # A container for object key name filtering rules. For information
4107
+ # about key name filtering, see [Configuring Event Notifications][1]
4108
+ # in the *Amazon Simple Storage Service Developer Guide*.
3949
4109
  #
3950
4110
  #
3951
4111
  #
@@ -5353,12 +5513,12 @@ module Aws::S3
5353
5513
  end
5354
5514
 
5355
5515
  # Container for the transition rule that describes when noncurrent
5356
- # objects transition to the STANDARD\_IA, ONEZONE\_IA or GLACIER storage
5357
- # class. If your bucket is versioning-enabled (or versioning is
5516
+ # objects transition to the STANDARD\_IA, ONEZONE\_IA, or GLACIER
5517
+ # storage class. If your bucket is versioning-enabled (or versioning is
5358
5518
  # suspended), you can set this action to request that Amazon S3
5359
- # transition noncurrent object versions to the STANDARD\_IA, ONEZONE\_IA
5360
- # or GLACIER storage class at a specific period in the object's
5361
- # lifetime.
5519
+ # transition noncurrent object versions to the STANDARD\_IA,
5520
+ # ONEZONE\_IA, or GLACIER storage class at a specific period in the
5521
+ # object's lifetime.
5362
5522
  #
5363
5523
  # @note When making an API call, you may pass NoncurrentVersionTransition
5364
5524
  # data as a hash:
@@ -5392,8 +5552,9 @@ module Aws::S3
5392
5552
  include Aws::Structure
5393
5553
  end
5394
5554
 
5395
- # Container for specifying the notification configuration of the bucket.
5396
- # If this element is empty, notifications are turned off on the bucket.
5555
+ # A container for specifying the notification configuration of the
5556
+ # bucket. If this element is empty, notifications are turned off for the
5557
+ # bucket.
5397
5558
  #
5398
5559
  # @note When making an API call, you may pass NotificationConfiguration
5399
5560
  # data as a hash:
@@ -5513,9 +5674,9 @@ module Aws::S3
5513
5674
  include Aws::Structure
5514
5675
  end
5515
5676
 
5516
- # Container for object key name filtering rules. For information about
5517
- # key name filtering, go to [Configuring Event Notifications][1] in the
5518
- # Amazon Simple Storage Service Developer Guide.
5677
+ # A container for object key name filtering rules. For information about
5678
+ # key name filtering, see [Configuring Event Notifications][1] in the
5679
+ # *Amazon Simple Storage Service Developer Guide*.
5519
5680
  #
5520
5681
  #
5521
5682
  #
@@ -5536,7 +5697,7 @@ module Aws::S3
5536
5697
  # }
5537
5698
  #
5538
5699
  # @!attribute [rw] key
5539
- # Container for object key name prefix and suffix filtering rules.
5700
+ # A container for object key name prefix and suffix filtering rules.
5540
5701
  # @return [Types::S3KeyFilter]
5541
5702
  #
5542
5703
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NotificationConfigurationFilter AWS API Documentation
@@ -5759,6 +5920,12 @@ module Aws::S3
5759
5920
  include Aws::Structure
5760
5921
  end
5761
5922
 
5923
+ # @api private
5924
+ #
5925
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ParquetInput AWS API Documentation
5926
+ #
5927
+ class ParquetInput < Aws::EmptyStructure; end
5928
+
5762
5929
  # @!attribute [rw] part_number
5763
5930
  # Part number identifying the part. This is a positive integer between
5764
5931
  # 1 and 10,000.
@@ -5773,7 +5940,7 @@ module Aws::S3
5773
5940
  # @return [String]
5774
5941
  #
5775
5942
  # @!attribute [rw] size
5776
- # Size of the uploaded part data.
5943
+ # Size in bytes of the uploaded part data.
5777
5944
  # @return [Integer]
5778
5945
  #
5779
5946
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Part AWS API Documentation
@@ -5786,19 +5953,161 @@ module Aws::S3
5786
5953
  include Aws::Structure
5787
5954
  end
5788
5955
 
5956
+ # The container element for this bucket's public-policy status.
5957
+ #
5958
+ # @!attribute [rw] is_public
5959
+ # The public-policy status for this bucket. `TRUE` indicates that this
5960
+ # bucket is public. `FALSE` indicates that the bucket is not public.
5961
+ # @return [Boolean]
5962
+ #
5963
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PolicyStatus AWS API Documentation
5964
+ #
5965
+ class PolicyStatus < Struct.new(
5966
+ :is_public)
5967
+ include Aws::Structure
5968
+ end
5969
+
5789
5970
  # @!attribute [rw] bytes_scanned
5790
- # Current number of object bytes scanned.
5971
+ # The current number of object bytes scanned.
5791
5972
  # @return [Integer]
5792
5973
  #
5793
5974
  # @!attribute [rw] bytes_processed
5794
- # Current number of uncompressed object bytes processed.
5975
+ # The current number of uncompressed object bytes processed.
5976
+ # @return [Integer]
5977
+ #
5978
+ # @!attribute [rw] bytes_returned
5979
+ # The current number of bytes of records payload data returned.
5795
5980
  # @return [Integer]
5796
5981
  #
5797
5982
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Progress AWS API Documentation
5798
5983
  #
5799
5984
  class Progress < Struct.new(
5800
5985
  :bytes_scanned,
5801
- :bytes_processed)
5986
+ :bytes_processed,
5987
+ :bytes_returned)
5988
+ include Aws::Structure
5989
+ end
5990
+
5991
+ # @!attribute [rw] details
5992
+ # The Progress event details.
5993
+ # @return [Types::Progress]
5994
+ #
5995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ProgressEvent AWS API Documentation
5996
+ #
5997
+ class ProgressEvent < Struct.new(
5998
+ :details,
5999
+ :event_type)
6000
+ include Aws::Structure
6001
+ end
6002
+
6003
+ # The container element for all Public Access Block configuration
6004
+ # options. You can enable the configuration options in any combination.
6005
+ #
6006
+ # Amazon S3 considers a bucket policy public unless at least one of the
6007
+ # following conditions is true:
6008
+ #
6009
+ # 1. The policy limits access to a set of CIDRs using `aws:SourceIp`.
6010
+ # For more information on CIDR, see
6011
+ # [http://www.rfc-editor.org/rfc/rfc4632.txt][1]
6012
+ #
6013
+ # 2. The policy grants permissions, not including any "bad actions,"
6014
+ # to one of the following:
6015
+ #
6016
+ # * A fixed AWS principal, user, role, or service principal
6017
+ #
6018
+ # * A fixed `aws:SourceArn`
6019
+ #
6020
+ # * A fixed `aws:SourceVpc`
6021
+ #
6022
+ # * A fixed `aws:SourceVpce`
6023
+ #
6024
+ # * A fixed `aws:SourceOwner`
6025
+ #
6026
+ # * A fixed `aws:SourceAccount`
6027
+ #
6028
+ # * A fixed value of
6029
+ # `s3:x-amz-server-side-encryption-aws-kms-key-id`
6030
+ #
6031
+ # * A fixed value of `aws:userid` outside the pattern
6032
+ # "`AROLEID:*`"
6033
+ #
6034
+ # "Bad actions" are those that could expose the data inside a bucket
6035
+ # to reads or writes by the public. These actions are `s3:Get*`,
6036
+ # `s3:List*`, `s3:AbortMultipartUpload`, `s3:Delete*`, `s3:Put*`, and
6037
+ # `s3:RestoreObject`.
6038
+ #
6039
+ # The star notation for bad actions indicates that all matching
6040
+ # operations are considered bad actions. For example, because `s3:Get*`
6041
+ # is a bad action, `s3:GetObject`, `s3:GetObjectVersion`, and
6042
+ # `s3:GetObjectAcl` are all bad actions.
6043
+ #
6044
+ #
6045
+ #
6046
+ # [1]: http://www.rfc-editor.org/rfc/rfc4632.txt
6047
+ #
6048
+ # @note When making an API call, you may pass PublicAccessBlockConfiguration
6049
+ # data as a hash:
6050
+ #
6051
+ # {
6052
+ # block_public_acls: false,
6053
+ # ignore_public_acls: false,
6054
+ # block_public_policy: false,
6055
+ # restrict_public_buckets: false,
6056
+ # }
6057
+ #
6058
+ # @!attribute [rw] block_public_acls
6059
+ # Specifies whether Amazon S3 should block public ACLs for this
6060
+ # bucket. Setting this element to `TRUE` causes the following
6061
+ # behavior:
6062
+ #
6063
+ # * PUT Bucket acl and PUT Object acl calls will fail if the specified
6064
+ # ACL allows public access.
6065
+ #
6066
+ # * PUT Object calls will fail if the request includes an object ACL.
6067
+ #
6068
+ # Note that enabling this setting doesn't affect existing policies or
6069
+ # ACLs.
6070
+ # @return [Boolean]
6071
+ #
6072
+ # @!attribute [rw] ignore_public_acls
6073
+ # Specifies whether Amazon S3 should ignore public ACLs for this
6074
+ # bucket. Setting this element to `TRUE` causes Amazon S3 to ignore
6075
+ # all public ACLs on this bucket and any objects that it contains.
6076
+ #
6077
+ # Note that enabling this setting doesn't affect the persistence of
6078
+ # any existing ACLs and doesn't prevent new public ACLs from being
6079
+ # set.
6080
+ # @return [Boolean]
6081
+ #
6082
+ # @!attribute [rw] block_public_policy
6083
+ # Specifies whether Amazon S3 should block public bucket policies for
6084
+ # this bucket. Setting this element to `TRUE` causes Amazon S3 to
6085
+ # reject calls to PUT Bucket policy if the specified bucket policy
6086
+ # allows public access.
6087
+ #
6088
+ # Note that enabling this setting doesn't affect existing bucket
6089
+ # policies.
6090
+ # @return [Boolean]
6091
+ #
6092
+ # @!attribute [rw] restrict_public_buckets
6093
+ # Specifies whether Amazon S3 should restrict public bucket policies
6094
+ # for this bucket. If this element is set to `TRUE`, then only the
6095
+ # bucket owner and AWS Services can access this bucket if it has a
6096
+ # public policy.
6097
+ #
6098
+ # Note that enabling this setting doesn't affect previously stored
6099
+ # bucket policies, except that public and cross-account access within
6100
+ # any public bucket policy, including non-public delegation to
6101
+ # specific accounts, is blocked.
6102
+ # @return [Boolean]
6103
+ #
6104
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PublicAccessBlockConfiguration AWS API Documentation
6105
+ #
6106
+ class PublicAccessBlockConfiguration < Struct.new(
6107
+ :block_public_acls,
6108
+ :ignore_public_acls,
6109
+ :block_public_policy,
6110
+ :restrict_public_buckets)
5802
6111
  include Aws::Structure
5803
6112
  end
5804
6113
 
@@ -6390,8 +6699,8 @@ module Aws::S3
6390
6699
  # @return [String]
6391
6700
  #
6392
6701
  # @!attribute [rw] notification_configuration
6393
- # Container for specifying the notification configuration of the
6394
- # bucket. If this element is empty, notifications are turned off on
6702
+ # A container for specifying the notification configuration of the
6703
+ # bucket. If this element is empty, notifications are turned off for
6395
6704
  # the bucket.
6396
6705
  # @return [Types::NotificationConfiguration]
6397
6706
  #
@@ -6496,7 +6805,24 @@ module Aws::S3
6496
6805
  # rules: [ # required
6497
6806
  # {
6498
6807
  # id: "ID",
6499
- # prefix: "Prefix", # required
6808
+ # priority: 1,
6809
+ # prefix: "Prefix",
6810
+ # filter: {
6811
+ # prefix: "Prefix",
6812
+ # tag: {
6813
+ # key: "ObjectKey", # required
6814
+ # value: "Value", # required
6815
+ # },
6816
+ # and: {
6817
+ # prefix: "Prefix",
6818
+ # tags: [
6819
+ # {
6820
+ # key: "ObjectKey", # required
6821
+ # value: "Value", # required
6822
+ # },
6823
+ # ],
6824
+ # },
6825
+ # },
6500
6826
  # status: "Enabled", # required, accepts Enabled, Disabled
6501
6827
  # source_selection_criteria: {
6502
6828
  # sse_kms_encrypted_objects: {
@@ -6514,6 +6840,9 @@ module Aws::S3
6514
6840
  # replica_kms_key_id: "ReplicaKmsKeyID",
6515
6841
  # },
6516
6842
  # },
6843
+ # delete_marker_replication: {
6844
+ # status: "Enabled", # accepts Enabled, Disabled
6845
+ # },
6517
6846
  # },
6518
6847
  # ],
6519
6848
  # },
@@ -6526,8 +6855,8 @@ module Aws::S3
6526
6855
  # @return [String]
6527
6856
  #
6528
6857
  # @!attribute [rw] replication_configuration
6529
- # Container for replication rules. You can add as many as 1,000 rules.
6530
- # Total replication configuration size can be up to 2 MB.
6858
+ # A container for replication rules. You can add up to 1,000 rules.
6859
+ # The maximum size of a replication configuration is 2 MB.
6531
6860
  # @return [Types::ReplicationConfiguration]
6532
6861
  #
6533
6862
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplicationRequest AWS API Documentation
@@ -7023,7 +7352,7 @@ module Aws::S3
7023
7352
  #
7024
7353
  # @!attribute [rw] tagging
7025
7354
  # The tag-set for the object. The tag-set must be encoded as URL Query
7026
- # parameters
7355
+ # parameters. (For example, "Key1=Value1")
7027
7356
  # @return [String]
7028
7357
  #
7029
7358
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRequest AWS API Documentation
@@ -7112,8 +7441,46 @@ module Aws::S3
7112
7441
  include Aws::Structure
7113
7442
  end
7114
7443
 
7115
- # Container for specifying an configuration when you want Amazon S3 to
7116
- # publish events to an Amazon Simple Queue Service (Amazon SQS) queue.
7444
+ # @note When making an API call, you may pass PutPublicAccessBlockRequest
7445
+ # data as a hash:
7446
+ #
7447
+ # {
7448
+ # bucket: "BucketName", # required
7449
+ # content_md5: "ContentMD5",
7450
+ # public_access_block_configuration: { # required
7451
+ # block_public_acls: false,
7452
+ # ignore_public_acls: false,
7453
+ # block_public_policy: false,
7454
+ # restrict_public_buckets: false,
7455
+ # },
7456
+ # }
7457
+ #
7458
+ # @!attribute [rw] bucket
7459
+ # The name of the Amazon S3 bucket whose Public Access Block
7460
+ # configuration you want to set.
7461
+ # @return [String]
7462
+ #
7463
+ # @!attribute [rw] content_md5
7464
+ # The MD5 hash of the `PutPublicBlock` request body.
7465
+ # @return [String]
7466
+ #
7467
+ # @!attribute [rw] public_access_block_configuration
7468
+ # The Public Access Block configuration that you want to apply to this
7469
+ # Amazon S3 bucket.
7470
+ # @return [Types::PublicAccessBlockConfiguration]
7471
+ #
7472
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutPublicAccessBlockRequest AWS API Documentation
7473
+ #
7474
+ class PutPublicAccessBlockRequest < Struct.new(
7475
+ :bucket,
7476
+ :content_md5,
7477
+ :public_access_block_configuration)
7478
+ include Aws::Structure
7479
+ end
7480
+
7481
+ # A container for specifying the configuration for publication of
7482
+ # messages to an Amazon Simple Queue Service (Amazon SQS) queue.when
7483
+ # Amazon S3 detects specified events.
7117
7484
  #
7118
7485
  # @note When making an API call, you may pass QueueConfiguration
7119
7486
  # data as a hash:
@@ -7135,23 +7502,24 @@ module Aws::S3
7135
7502
  # }
7136
7503
  #
7137
7504
  # @!attribute [rw] id
7138
- # Optional unique identifier for configurations in a notification
7505
+ # An optional unique identifier for configurations in a notification
7139
7506
  # configuration. If you don't provide one, Amazon S3 will assign an
7140
7507
  # ID.
7141
7508
  # @return [String]
7142
7509
  #
7143
7510
  # @!attribute [rw] queue_arn
7144
- # Amazon SQS queue ARN to which Amazon S3 will publish a message when
7145
- # it detects events of specified type.
7511
+ # The Amazon Resource Name (ARN) of the Amazon SQS queue to which
7512
+ # Amazon S3 will publish a message when it detects events of the
7513
+ # specified type.
7146
7514
  # @return [String]
7147
7515
  #
7148
7516
  # @!attribute [rw] events
7149
7517
  # @return [Array<String>]
7150
7518
  #
7151
7519
  # @!attribute [rw] filter
7152
- # Container for object key name filtering rules. For information about
7153
- # key name filtering, go to [Configuring Event Notifications][1] in
7154
- # the Amazon Simple Storage Service Developer Guide.
7520
+ # A container for object key name filtering rules. For information
7521
+ # about key name filtering, see [Configuring Event Notifications][1]
7522
+ # in the *Amazon Simple Storage Service Developer Guide*.
7155
7523
  #
7156
7524
  #
7157
7525
  #
@@ -7179,13 +7547,13 @@ module Aws::S3
7179
7547
  # }
7180
7548
  #
7181
7549
  # @!attribute [rw] id
7182
- # Optional unique identifier for configurations in a notification
7550
+ # An optional unique identifier for configurations in a notification
7183
7551
  # configuration. If you don't provide one, Amazon S3 will assign an
7184
7552
  # ID.
7185
7553
  # @return [String]
7186
7554
  #
7187
7555
  # @!attribute [rw] event
7188
- # Bucket event for which to send notifications.
7556
+ # The bucket event for which to send notifications.
7189
7557
  # @return [String]
7190
7558
  #
7191
7559
  # @!attribute [rw] events
@@ -7204,6 +7572,18 @@ module Aws::S3
7204
7572
  include Aws::Structure
7205
7573
  end
7206
7574
 
7575
+ # @!attribute [rw] payload
7576
+ # The byte array of partial, one or more result records.
7577
+ # @return [String]
7578
+ #
7579
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RecordsEvent AWS API Documentation
7580
+ #
7581
+ class RecordsEvent < Struct.new(
7582
+ :payload,
7583
+ :event_type)
7584
+ include Aws::Structure
7585
+ end
7586
+
7207
7587
  # @note When making an API call, you may pass Redirect
7208
7588
  # data as a hash:
7209
7589
  #
@@ -7282,8 +7662,8 @@ module Aws::S3
7282
7662
  include Aws::Structure
7283
7663
  end
7284
7664
 
7285
- # Container for replication rules. You can add as many as 1,000 rules.
7286
- # Total replication configuration size can be up to 2 MB.
7665
+ # A container for replication rules. You can add up to 1,000 rules. The
7666
+ # maximum size of a replication configuration is 2 MB.
7287
7667
  #
7288
7668
  # @note When making an API call, you may pass ReplicationConfiguration
7289
7669
  # data as a hash:
@@ -7293,7 +7673,24 @@ module Aws::S3
7293
7673
  # rules: [ # required
7294
7674
  # {
7295
7675
  # id: "ID",
7296
- # prefix: "Prefix", # required
7676
+ # priority: 1,
7677
+ # prefix: "Prefix",
7678
+ # filter: {
7679
+ # prefix: "Prefix",
7680
+ # tag: {
7681
+ # key: "ObjectKey", # required
7682
+ # value: "Value", # required
7683
+ # },
7684
+ # and: {
7685
+ # prefix: "Prefix",
7686
+ # tags: [
7687
+ # {
7688
+ # key: "ObjectKey", # required
7689
+ # value: "Value", # required
7690
+ # },
7691
+ # ],
7692
+ # },
7693
+ # },
7297
7694
  # status: "Enabled", # required, accepts Enabled, Disabled
7298
7695
  # source_selection_criteria: {
7299
7696
  # sse_kms_encrypted_objects: {
@@ -7311,19 +7708,23 @@ module Aws::S3
7311
7708
  # replica_kms_key_id: "ReplicaKmsKeyID",
7312
7709
  # },
7313
7710
  # },
7711
+ # delete_marker_replication: {
7712
+ # status: "Enabled", # accepts Enabled, Disabled
7713
+ # },
7314
7714
  # },
7315
7715
  # ],
7316
7716
  # }
7317
7717
  #
7318
7718
  # @!attribute [rw] role
7319
- # Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume
7320
- # when replicating the objects.
7719
+ # The Amazon Resource Name (ARN) of the AWS Identity and Access
7720
+ # Management (IAM) role that Amazon S3 can assume when replicating the
7721
+ # objects.
7321
7722
  # @return [String]
7322
7723
  #
7323
7724
  # @!attribute [rw] rules
7324
- # Container for information about a particular replication rule.
7325
- # Replication configuration must have at least one rule and can
7326
- # contain up to 1,000 rules.
7725
+ # A container for one or more replication rules. A replication
7726
+ # configuration must have at least one rule and can contain a maximum
7727
+ # of 1,000 rules.
7327
7728
  # @return [Array<Types::ReplicationRule>]
7328
7729
  #
7329
7730
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationConfiguration AWS API Documentation
@@ -7334,14 +7735,31 @@ module Aws::S3
7334
7735
  include Aws::Structure
7335
7736
  end
7336
7737
 
7337
- # Container for information about a particular replication rule.
7738
+ # A container for information about a specific replication rule.
7338
7739
  #
7339
7740
  # @note When making an API call, you may pass ReplicationRule
7340
7741
  # data as a hash:
7341
7742
  #
7342
7743
  # {
7343
7744
  # id: "ID",
7344
- # prefix: "Prefix", # required
7745
+ # priority: 1,
7746
+ # prefix: "Prefix",
7747
+ # filter: {
7748
+ # prefix: "Prefix",
7749
+ # tag: {
7750
+ # key: "ObjectKey", # required
7751
+ # value: "Value", # required
7752
+ # },
7753
+ # and: {
7754
+ # prefix: "Prefix",
7755
+ # tags: [
7756
+ # {
7757
+ # key: "ObjectKey", # required
7758
+ # value: "Value", # required
7759
+ # },
7760
+ # ],
7761
+ # },
7762
+ # },
7345
7763
  # status: "Enabled", # required, accepts Enabled, Disabled
7346
7764
  # source_selection_criteria: {
7347
7765
  # sse_kms_encrypted_objects: {
@@ -7359,40 +7777,163 @@ module Aws::S3
7359
7777
  # replica_kms_key_id: "ReplicaKmsKeyID",
7360
7778
  # },
7361
7779
  # },
7780
+ # delete_marker_replication: {
7781
+ # status: "Enabled", # accepts Enabled, Disabled
7782
+ # },
7362
7783
  # }
7363
7784
  #
7364
7785
  # @!attribute [rw] id
7365
- # Unique identifier for the rule. The value cannot be longer than 255
7786
+ # A unique identifier for the rule. The maximum value is 255
7366
7787
  # characters.
7367
7788
  # @return [String]
7368
7789
  #
7790
+ # @!attribute [rw] priority
7791
+ # The priority associated with the rule. If you specify multiple rules
7792
+ # in a replication configuration, Amazon S3 prioritizes the rules to
7793
+ # prevent conflicts when filtering. If two or more rules identify the
7794
+ # same object based on a specified filter, the rule with higher
7795
+ # priority takes precedence. For example:
7796
+ #
7797
+ # * Same object quality prefix based filter criteria If prefixes you
7798
+ # specified in multiple rules overlap
7799
+ #
7800
+ # * Same object qualify tag based filter criteria specified in
7801
+ # multiple rules
7802
+ #
7803
+ # For more information, see [Cross-Region Replication (CRR)](
7804
+ # https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) in the
7805
+ # *Amazon S3 Developer Guide*.
7806
+ # @return [Integer]
7807
+ #
7369
7808
  # @!attribute [rw] prefix
7370
- # Object keyname prefix identifying one or more objects to which the
7371
- # rule applies. Maximum prefix length can be up to 1,024 characters.
7372
- # Overlapping prefixes are not supported.
7809
+ # An object keyname prefix that identifies the object or objects to
7810
+ # which the rule applies. The maximum prefix length is 1,024
7811
+ # characters.
7373
7812
  # @return [String]
7374
7813
  #
7814
+ # @!attribute [rw] filter
7815
+ # A filter that identifies the subset of objects to which the
7816
+ # replication rule applies. A `Filter` must specify exactly one
7817
+ # `Prefix`, `Tag`, or an `And` child element.
7818
+ # @return [Types::ReplicationRuleFilter]
7819
+ #
7375
7820
  # @!attribute [rw] status
7376
- # The rule is ignored if status is not Enabled.
7821
+ # If status isn't enabled, the rule is ignored.
7377
7822
  # @return [String]
7378
7823
  #
7379
7824
  # @!attribute [rw] source_selection_criteria
7380
- # Container for filters that define which source objects should be
7381
- # replicated.
7825
+ # A container that describes additional filters for identifying the
7826
+ # source objects that you want to replicate. You can choose to enable
7827
+ # or disable the replication of these objects. Currently, Amazon S3
7828
+ # supports only the filter that you can specify for objects created
7829
+ # with server-side encryption using an AWS KMS-Managed Key (SSE-KMS).
7830
+ #
7831
+ # If you want Amazon S3 to replicate objects created with server-side
7832
+ # encryption using AWS KMS-Managed Keys.
7382
7833
  # @return [Types::SourceSelectionCriteria]
7383
7834
  #
7384
7835
  # @!attribute [rw] destination
7385
- # Container for replication destination information.
7836
+ # A container for information about the replication destination.
7386
7837
  # @return [Types::Destination]
7387
7838
  #
7839
+ # @!attribute [rw] delete_marker_replication
7840
+ # Specifies whether Amazon S3 should replicate delete makers.
7841
+ # @return [Types::DeleteMarkerReplication]
7842
+ #
7388
7843
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationRule AWS API Documentation
7389
7844
  #
7390
7845
  class ReplicationRule < Struct.new(
7391
7846
  :id,
7847
+ :priority,
7392
7848
  :prefix,
7849
+ :filter,
7393
7850
  :status,
7394
7851
  :source_selection_criteria,
7395
- :destination)
7852
+ :destination,
7853
+ :delete_marker_replication)
7854
+ include Aws::Structure
7855
+ end
7856
+
7857
+ # @note When making an API call, you may pass ReplicationRuleAndOperator
7858
+ # data as a hash:
7859
+ #
7860
+ # {
7861
+ # prefix: "Prefix",
7862
+ # tags: [
7863
+ # {
7864
+ # key: "ObjectKey", # required
7865
+ # value: "Value", # required
7866
+ # },
7867
+ # ],
7868
+ # }
7869
+ #
7870
+ # @!attribute [rw] prefix
7871
+ # @return [String]
7872
+ #
7873
+ # @!attribute [rw] tags
7874
+ # @return [Array<Types::Tag>]
7875
+ #
7876
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationRuleAndOperator AWS API Documentation
7877
+ #
7878
+ class ReplicationRuleAndOperator < Struct.new(
7879
+ :prefix,
7880
+ :tags)
7881
+ include Aws::Structure
7882
+ end
7883
+
7884
+ # A filter that identifies the subset of objects to which the
7885
+ # replication rule applies. A `Filter` must specify exactly one
7886
+ # `Prefix`, `Tag`, or an `And` child element.
7887
+ #
7888
+ # @note When making an API call, you may pass ReplicationRuleFilter
7889
+ # data as a hash:
7890
+ #
7891
+ # {
7892
+ # prefix: "Prefix",
7893
+ # tag: {
7894
+ # key: "ObjectKey", # required
7895
+ # value: "Value", # required
7896
+ # },
7897
+ # and: {
7898
+ # prefix: "Prefix",
7899
+ # tags: [
7900
+ # {
7901
+ # key: "ObjectKey", # required
7902
+ # value: "Value", # required
7903
+ # },
7904
+ # ],
7905
+ # },
7906
+ # }
7907
+ #
7908
+ # @!attribute [rw] prefix
7909
+ # An object keyname prefix that identifies the subset of objects to
7910
+ # which the rule applies.
7911
+ # @return [String]
7912
+ #
7913
+ # @!attribute [rw] tag
7914
+ # A container for specifying a tag key and value.
7915
+ #
7916
+ # The rule applies only to objects that have the tag in their tag set.
7917
+ # @return [Types::Tag]
7918
+ #
7919
+ # @!attribute [rw] and
7920
+ # A container for specifying rule filters. The filters determine the
7921
+ # subset of objects to which the rule applies. This element is
7922
+ # required only if you specify more than one filter. For example:
7923
+ #
7924
+ # * If you specify both a `Prefix` and a `Tag` filter, wrap these
7925
+ # filters in an `And` tag.
7926
+ #
7927
+ # * If you specify a filter based on multiple tags, wrap the `Tag`
7928
+ # elements in an `And` tag.
7929
+ # @return [Types::ReplicationRuleAndOperator]
7930
+ #
7931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationRuleFilter AWS API Documentation
7932
+ #
7933
+ class ReplicationRuleFilter < Struct.new(
7934
+ :prefix,
7935
+ :tag,
7936
+ :and)
7396
7937
  include Aws::Structure
7397
7938
  end
7398
7939
 
@@ -7414,6 +7955,13 @@ module Aws::S3
7414
7955
  include Aws::Structure
7415
7956
  end
7416
7957
 
7958
+ # @note When making an API call, you may pass RequestProgress
7959
+ # data as a hash:
7960
+ #
7961
+ # {
7962
+ # enabled: false,
7963
+ # }
7964
+ #
7417
7965
  # @!attribute [rw] enabled
7418
7966
  # Specifies whether periodic QueryProgress frames should be sent.
7419
7967
  # Valid values: TRUE, FALSE. Default value: FALSE.
@@ -7468,11 +8016,14 @@ module Aws::S3
7468
8016
  # record_delimiter: "RecordDelimiter",
7469
8017
  # field_delimiter: "FieldDelimiter",
7470
8018
  # quote_character: "QuoteCharacter",
8019
+ # allow_quoted_record_delimiter: false,
7471
8020
  # },
7472
- # compression_type: "NONE", # accepts NONE, GZIP
8021
+ # compression_type: "NONE", # accepts NONE, GZIP, BZIP2
7473
8022
  # json: {
7474
8023
  # type: "DOCUMENT", # accepts DOCUMENT, LINES
7475
8024
  # },
8025
+ # parquet: {
8026
+ # },
7476
8027
  # },
7477
8028
  # expression_type: "SQL", # required, accepts SQL
7478
8029
  # expression: "Expression", # required
@@ -7586,11 +8137,14 @@ module Aws::S3
7586
8137
  # record_delimiter: "RecordDelimiter",
7587
8138
  # field_delimiter: "FieldDelimiter",
7588
8139
  # quote_character: "QuoteCharacter",
8140
+ # allow_quoted_record_delimiter: false,
7589
8141
  # },
7590
- # compression_type: "NONE", # accepts NONE, GZIP
8142
+ # compression_type: "NONE", # accepts NONE, GZIP, BZIP2
7591
8143
  # json: {
7592
8144
  # type: "DOCUMENT", # accepts DOCUMENT, LINES
7593
8145
  # },
8146
+ # parquet: {
8147
+ # },
7594
8148
  # },
7595
8149
  # expression_type: "SQL", # required, accepts SQL
7596
8150
  # expression: "Expression", # required
@@ -7719,8 +8273,7 @@ module Aws::S3
7719
8273
  # @!attribute [rw] redirect
7720
8274
  # Container for redirect information. You can redirect requests to
7721
8275
  # another host, to another page, or with another protocol. In the
7722
- # event of an error, you can can specify a different error code to
7723
- # return.
8276
+ # event of an error, you can specify a different error code to return.
7724
8277
  # @return [Types::Redirect]
7725
8278
  #
7726
8279
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RoutingRule AWS API Documentation
@@ -7782,11 +8335,11 @@ module Aws::S3
7782
8335
  #
7783
8336
  # @!attribute [rw] noncurrent_version_transition
7784
8337
  # Container for the transition rule that describes when noncurrent
7785
- # objects transition to the STANDARD\_IA, ONEZONE\_IA or GLACIER
8338
+ # objects transition to the STANDARD\_IA, ONEZONE\_IA, or GLACIER
7786
8339
  # storage class. If your bucket is versioning-enabled (or versioning
7787
8340
  # is suspended), you can set this action to request that Amazon S3
7788
8341
  # transition noncurrent object versions to the STANDARD\_IA,
7789
- # ONEZONE\_IA or GLACIER storage class at a specific period in the
8342
+ # ONEZONE\_IA, or GLACIER storage class at a specific period in the
7790
8343
  # object's lifetime.
7791
8344
  # @return [Types::NoncurrentVersionTransition]
7792
8345
  #
@@ -7819,7 +8372,7 @@ module Aws::S3
7819
8372
  include Aws::Structure
7820
8373
  end
7821
8374
 
7822
- # Container for object key name prefix and suffix filtering rules.
8375
+ # A container for object key name prefix and suffix filtering rules.
7823
8376
  #
7824
8377
  # @note When making an API call, you may pass S3KeyFilter
7825
8378
  # data as a hash:
@@ -7834,8 +8387,8 @@ module Aws::S3
7834
8387
  # }
7835
8388
  #
7836
8389
  # @!attribute [rw] filter_rules
7837
- # A list of containers for key value pair that defines the criteria
7838
- # for the filter rule.
8390
+ # A list of containers for the key value pair that defines the
8391
+ # criteria for the filter rule.
7839
8392
  # @return [Array<Types::FilterRule>]
7840
8393
  #
7841
8394
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/S3KeyFilter AWS API Documentation
@@ -7937,7 +8490,7 @@ module Aws::S3
7937
8490
  include Aws::Structure
7938
8491
  end
7939
8492
 
7940
- # Specifies the use of SSE-KMS to encrypt delievered Inventory reports.
8493
+ # Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
7941
8494
  #
7942
8495
  # @note When making an API call, you may pass SSEKMS
7943
8496
  # data as a hash:
@@ -7958,7 +8511,7 @@ module Aws::S3
7958
8511
  include Aws::Structure
7959
8512
  end
7960
8513
 
7961
- # Specifies the use of SSE-S3 to encrypt delievered Inventory reports.
8514
+ # Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
7962
8515
  #
7963
8516
  # @api private
7964
8517
  #
@@ -7966,6 +8519,149 @@ module Aws::S3
7966
8519
  #
7967
8520
  class SSES3 < Aws::EmptyStructure; end
7968
8521
 
8522
+ # @!attribute [rw] payload
8523
+ # @return [Types::SelectObjectContentEventStream]
8524
+ #
8525
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContentOutput AWS API Documentation
8526
+ #
8527
+ class SelectObjectContentOutput < Struct.new(
8528
+ :payload)
8529
+ include Aws::Structure
8530
+ end
8531
+
8532
+ # Request to filter the contents of an Amazon S3 object based on a
8533
+ # simple Structured Query Language (SQL) statement. In the request,
8534
+ # along with the SQL expression, you must specify a data serialization
8535
+ # format (JSON or CSV) of the object. Amazon S3 uses this to parse
8536
+ # object data into records. It returns only records that match the
8537
+ # specified SQL expression. You must also specify the data serialization
8538
+ # format for the response. For more information, see [S3Select API
8539
+ # Documentation][1].
8540
+ #
8541
+ #
8542
+ #
8543
+ # [1]: http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html
8544
+ #
8545
+ # @note When making an API call, you may pass SelectObjectContentRequest
8546
+ # data as a hash:
8547
+ #
8548
+ # {
8549
+ # bucket: "BucketName", # required
8550
+ # key: "ObjectKey", # required
8551
+ # sse_customer_algorithm: "SSECustomerAlgorithm",
8552
+ # sse_customer_key: "SSECustomerKey",
8553
+ # sse_customer_key_md5: "SSECustomerKeyMD5",
8554
+ # expression: "Expression", # required
8555
+ # expression_type: "SQL", # required, accepts SQL
8556
+ # request_progress: {
8557
+ # enabled: false,
8558
+ # },
8559
+ # input_serialization: { # required
8560
+ # csv: {
8561
+ # file_header_info: "USE", # accepts USE, IGNORE, NONE
8562
+ # comments: "Comments",
8563
+ # quote_escape_character: "QuoteEscapeCharacter",
8564
+ # record_delimiter: "RecordDelimiter",
8565
+ # field_delimiter: "FieldDelimiter",
8566
+ # quote_character: "QuoteCharacter",
8567
+ # allow_quoted_record_delimiter: false,
8568
+ # },
8569
+ # compression_type: "NONE", # accepts NONE, GZIP, BZIP2
8570
+ # json: {
8571
+ # type: "DOCUMENT", # accepts DOCUMENT, LINES
8572
+ # },
8573
+ # parquet: {
8574
+ # },
8575
+ # },
8576
+ # output_serialization: { # required
8577
+ # csv: {
8578
+ # quote_fields: "ALWAYS", # accepts ALWAYS, ASNEEDED
8579
+ # quote_escape_character: "QuoteEscapeCharacter",
8580
+ # record_delimiter: "RecordDelimiter",
8581
+ # field_delimiter: "FieldDelimiter",
8582
+ # quote_character: "QuoteCharacter",
8583
+ # },
8584
+ # json: {
8585
+ # record_delimiter: "RecordDelimiter",
8586
+ # },
8587
+ # },
8588
+ # }
8589
+ #
8590
+ # @!attribute [rw] bucket
8591
+ # The S3 bucket.
8592
+ # @return [String]
8593
+ #
8594
+ # @!attribute [rw] key
8595
+ # The object key.
8596
+ # @return [String]
8597
+ #
8598
+ # @!attribute [rw] sse_customer_algorithm
8599
+ # The SSE Algorithm used to encrypt the object. For more information,
8600
+ # see [ Server-Side Encryption (Using Customer-Provided Encryption
8601
+ # Keys][1].
8602
+ #
8603
+ #
8604
+ #
8605
+ # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
8606
+ # @return [String]
8607
+ #
8608
+ # @!attribute [rw] sse_customer_key
8609
+ # The SSE Customer Key. For more information, see [ Server-Side
8610
+ # Encryption (Using Customer-Provided Encryption Keys][1].
8611
+ #
8612
+ #
8613
+ #
8614
+ # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
8615
+ # @return [String]
8616
+ #
8617
+ # @!attribute [rw] sse_customer_key_md5
8618
+ # The SSE Customer Key MD5. For more information, see [ Server-Side
8619
+ # Encryption (Using Customer-Provided Encryption Keys][1].
8620
+ #
8621
+ #
8622
+ #
8623
+ # [1]: http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
8624
+ # @return [String]
8625
+ #
8626
+ # @!attribute [rw] expression
8627
+ # The expression that is used to query the object.
8628
+ # @return [String]
8629
+ #
8630
+ # @!attribute [rw] expression_type
8631
+ # The type of the provided expression (for example., SQL).
8632
+ # @return [String]
8633
+ #
8634
+ # @!attribute [rw] request_progress
8635
+ # Specifies if periodic request progress information should be
8636
+ # enabled.
8637
+ # @return [Types::RequestProgress]
8638
+ #
8639
+ # @!attribute [rw] input_serialization
8640
+ # Describes the format of the data in the object that is being
8641
+ # queried.
8642
+ # @return [Types::InputSerialization]
8643
+ #
8644
+ # @!attribute [rw] output_serialization
8645
+ # Describes the format of the data that you want Amazon S3 to return
8646
+ # in response.
8647
+ # @return [Types::OutputSerialization]
8648
+ #
8649
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContentRequest AWS API Documentation
8650
+ #
8651
+ class SelectObjectContentRequest < Struct.new(
8652
+ :bucket,
8653
+ :key,
8654
+ :sse_customer_algorithm,
8655
+ :sse_customer_key,
8656
+ :sse_customer_key_md5,
8657
+ :expression,
8658
+ :expression_type,
8659
+ :request_progress,
8660
+ :input_serialization,
8661
+ :output_serialization)
8662
+ include Aws::Structure
8663
+ end
8664
+
7969
8665
  # Describes the parameters for Select job types.
7970
8666
  #
7971
8667
  # @note When making an API call, you may pass SelectParameters
@@ -7980,11 +8676,14 @@ module Aws::S3
7980
8676
  # record_delimiter: "RecordDelimiter",
7981
8677
  # field_delimiter: "FieldDelimiter",
7982
8678
  # quote_character: "QuoteCharacter",
8679
+ # allow_quoted_record_delimiter: false,
7983
8680
  # },
7984
- # compression_type: "NONE", # accepts NONE, GZIP
8681
+ # compression_type: "NONE", # accepts NONE, GZIP, BZIP2
7985
8682
  # json: {
7986
8683
  # type: "DOCUMENT", # accepts DOCUMENT, LINES
7987
8684
  # },
8685
+ # parquet: {
8686
+ # },
7988
8687
  # },
7989
8688
  # expression_type: "SQL", # required, accepts SQL
7990
8689
  # expression: "Expression", # required
@@ -8112,7 +8811,7 @@ module Aws::S3
8112
8811
  include Aws::Structure
8113
8812
  end
8114
8813
 
8115
- # Container for filters that define which source objects should be
8814
+ # A container for filters that define which source objects should be
8116
8815
  # replicated.
8117
8816
  #
8118
8817
  # @note When making an API call, you may pass SourceSelectionCriteria
@@ -8125,8 +8824,9 @@ module Aws::S3
8125
8824
  # }
8126
8825
  #
8127
8826
  # @!attribute [rw] sse_kms_encrypted_objects
8128
- # Container for filter information of selection of KMS Encrypted S3
8129
- # objects.
8827
+ # A container for filter information for the selection of S3 objects
8828
+ # encrypted with AWS KMS. If you include `SourceSelectionCriteria` in
8829
+ # the replication configuration, this element is required.
8130
8830
  # @return [Types::SseKmsEncryptedObjects]
8131
8831
  #
8132
8832
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SourceSelectionCriteria AWS API Documentation
@@ -8136,8 +8836,8 @@ module Aws::S3
8136
8836
  include Aws::Structure
8137
8837
  end
8138
8838
 
8139
- # Container for filter information of selection of KMS Encrypted S3
8140
- # objects.
8839
+ # A container for filter information for the selection of S3 objects
8840
+ # encrypted with AWS KMS.
8141
8841
  #
8142
8842
  # @note When making an API call, you may pass SseKmsEncryptedObjects
8143
8843
  # data as a hash:
@@ -8147,8 +8847,8 @@ module Aws::S3
8147
8847
  # }
8148
8848
  #
8149
8849
  # @!attribute [rw] status
8150
- # The replication for KMS encrypted S3 objects is disabled if status
8151
- # is not Enabled.
8850
+ # If the status is not `Enabled`, replication for S3 objects encrypted
8851
+ # with AWS KMS is disabled.
8152
8852
  # @return [String]
8153
8853
  #
8154
8854
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SseKmsEncryptedObjects AWS API Documentation
@@ -8159,18 +8859,35 @@ module Aws::S3
8159
8859
  end
8160
8860
 
8161
8861
  # @!attribute [rw] bytes_scanned
8162
- # Total number of object bytes scanned.
8862
+ # The total number of object bytes scanned.
8163
8863
  # @return [Integer]
8164
8864
  #
8165
8865
  # @!attribute [rw] bytes_processed
8166
- # Total number of uncompressed object bytes processed.
8866
+ # The total number of uncompressed object bytes processed.
8867
+ # @return [Integer]
8868
+ #
8869
+ # @!attribute [rw] bytes_returned
8870
+ # The total number of bytes of records payload data returned.
8167
8871
  # @return [Integer]
8168
8872
  #
8169
8873
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Stats AWS API Documentation
8170
8874
  #
8171
8875
  class Stats < Struct.new(
8172
8876
  :bytes_scanned,
8173
- :bytes_processed)
8877
+ :bytes_processed,
8878
+ :bytes_returned)
8879
+ include Aws::Structure
8880
+ end
8881
+
8882
+ # @!attribute [rw] details
8883
+ # The Stats event details.
8884
+ # @return [Types::Stats]
8885
+ #
8886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/StatsEvent AWS API Documentation
8887
+ #
8888
+ class StatsEvent < Struct.new(
8889
+ :details,
8890
+ :event_type)
8174
8891
  include Aws::Structure
8175
8892
  end
8176
8893
 
@@ -8310,9 +9027,9 @@ module Aws::S3
8310
9027
  include Aws::Structure
8311
9028
  end
8312
9029
 
8313
- # Container for specifying the configuration when you want Amazon S3 to
8314
- # publish events to an Amazon Simple Notification Service (Amazon SNS)
8315
- # topic.
9030
+ # A container for specifying the configuration for publication of
9031
+ # messages to an Amazon Simple Notification Service (Amazon SNS)
9032
+ # topic.when Amazon S3 detects specified events.
8316
9033
  #
8317
9034
  # @note When making an API call, you may pass TopicConfiguration
8318
9035
  # data as a hash:
@@ -8334,23 +9051,24 @@ module Aws::S3
8334
9051
  # }
8335
9052
  #
8336
9053
  # @!attribute [rw] id
8337
- # Optional unique identifier for configurations in a notification
9054
+ # An optional unique identifier for configurations in a notification
8338
9055
  # configuration. If you don't provide one, Amazon S3 will assign an
8339
9056
  # ID.
8340
9057
  # @return [String]
8341
9058
  #
8342
9059
  # @!attribute [rw] topic_arn
8343
- # Amazon SNS topic ARN to which Amazon S3 will publish a message when
8344
- # it detects events of specified type.
9060
+ # The Amazon Resource Name (ARN) of the Amazon SNS topic to which
9061
+ # Amazon S3 will publish a message when it detects events of the
9062
+ # specified type.
8345
9063
  # @return [String]
8346
9064
  #
8347
9065
  # @!attribute [rw] events
8348
9066
  # @return [Array<String>]
8349
9067
  #
8350
9068
  # @!attribute [rw] filter
8351
- # Container for object key name filtering rules. For information about
8352
- # key name filtering, go to [Configuring Event Notifications][1] in
8353
- # the Amazon Simple Storage Service Developer Guide.
9069
+ # A container for object key name filtering rules. For information
9070
+ # about key name filtering, see [Configuring Event Notifications][1]
9071
+ # in the *Amazon Simple Storage Service Developer Guide*.
8354
9072
  #
8355
9073
  #
8356
9074
  #
@@ -8378,7 +9096,7 @@ module Aws::S3
8378
9096
  # }
8379
9097
  #
8380
9098
  # @!attribute [rw] id
8381
- # Optional unique identifier for configurations in a notification
9099
+ # An optional unique identifier for configurations in a notification
8382
9100
  # configuration. If you don't provide one, Amazon S3 will assign an
8383
9101
  # ID.
8384
9102
  # @return [String]
@@ -8844,5 +9562,24 @@ module Aws::S3
8844
9562
  include Aws::Structure
8845
9563
  end
8846
9564
 
9565
+ # EventStream is an Enumerator of Events.
9566
+ # #event_types #=> Array, returns all modeled event types in the stream
9567
+ #
9568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SelectObjectContentEventStream AWS API Documentation
9569
+ #
9570
+ class SelectObjectContentEventStream < Enumerator
9571
+
9572
+ def event_types
9573
+ [
9574
+ :records,
9575
+ :stats,
9576
+ :progress,
9577
+ :cont,
9578
+ :end
9579
+ ]
9580
+ end
9581
+
9582
+ end
9583
+
8847
9584
  end
8848
9585
  end