aws-sdk-s3 1.23.1 → 1.24.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -128,6 +128,7 @@ module Aws::S3
128
128
  DeleteObjectTaggingRequest = Shapes::StructureShape.new(name: 'DeleteObjectTaggingRequest')
129
129
  DeleteObjectsOutput = Shapes::StructureShape.new(name: 'DeleteObjectsOutput')
130
130
  DeleteObjectsRequest = Shapes::StructureShape.new(name: 'DeleteObjectsRequest')
131
+ DeletePublicAccessBlockRequest = Shapes::StructureShape.new(name: 'DeletePublicAccessBlockRequest')
131
132
  DeletedObject = Shapes::StructureShape.new(name: 'DeletedObject')
132
133
  DeletedObjects = Shapes::ListShape.new(name: 'DeletedObjects', flattened: true)
133
134
  Delimiter = Shapes::StringShape.new(name: 'Delimiter')
@@ -187,6 +188,8 @@ module Aws::S3
187
188
  GetBucketNotificationConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketNotificationConfigurationRequest')
188
189
  GetBucketPolicyOutput = Shapes::StructureShape.new(name: 'GetBucketPolicyOutput')
189
190
  GetBucketPolicyRequest = Shapes::StructureShape.new(name: 'GetBucketPolicyRequest')
191
+ GetBucketPolicyStatusOutput = Shapes::StructureShape.new(name: 'GetBucketPolicyStatusOutput')
192
+ GetBucketPolicyStatusRequest = Shapes::StructureShape.new(name: 'GetBucketPolicyStatusRequest')
190
193
  GetBucketReplicationOutput = Shapes::StructureShape.new(name: 'GetBucketReplicationOutput')
191
194
  GetBucketReplicationRequest = Shapes::StructureShape.new(name: 'GetBucketReplicationRequest')
192
195
  GetBucketRequestPaymentOutput = Shapes::StructureShape.new(name: 'GetBucketRequestPaymentOutput')
@@ -205,6 +208,8 @@ module Aws::S3
205
208
  GetObjectTaggingRequest = Shapes::StructureShape.new(name: 'GetObjectTaggingRequest')
206
209
  GetObjectTorrentOutput = Shapes::StructureShape.new(name: 'GetObjectTorrentOutput')
207
210
  GetObjectTorrentRequest = Shapes::StructureShape.new(name: 'GetObjectTorrentRequest')
211
+ GetPublicAccessBlockOutput = Shapes::StructureShape.new(name: 'GetPublicAccessBlockOutput')
212
+ GetPublicAccessBlockRequest = Shapes::StructureShape.new(name: 'GetPublicAccessBlockRequest')
208
213
  GlacierJobParameters = Shapes::StructureShape.new(name: 'GlacierJobParameters')
209
214
  Grant = Shapes::StructureShape.new(name: 'Grant')
210
215
  GrantFullControl = Shapes::StringShape.new(name: 'GrantFullControl')
@@ -244,6 +249,7 @@ module Aws::S3
244
249
  InventorySchedule = Shapes::StructureShape.new(name: 'InventorySchedule')
245
250
  IsEnabled = Shapes::BooleanShape.new(name: 'IsEnabled')
246
251
  IsLatest = Shapes::BooleanShape.new(name: 'IsLatest')
252
+ IsPublic = Shapes::BooleanShape.new(name: 'IsPublic')
247
253
  IsTruncated = Shapes::BooleanShape.new(name: 'IsTruncated')
248
254
  JSONInput = Shapes::StructureShape.new(name: 'JSONInput')
249
255
  JSONOutput = Shapes::StructureShape.new(name: 'JSONOutput')
@@ -347,11 +353,13 @@ module Aws::S3
347
353
  Payer = Shapes::StringShape.new(name: 'Payer')
348
354
  Permission = Shapes::StringShape.new(name: 'Permission')
349
355
  Policy = Shapes::StringShape.new(name: 'Policy')
356
+ PolicyStatus = Shapes::StructureShape.new(name: 'PolicyStatus')
350
357
  Prefix = Shapes::StringShape.new(name: 'Prefix')
351
358
  Priority = Shapes::IntegerShape.new(name: 'Priority')
352
359
  Progress = Shapes::StructureShape.new(name: 'Progress')
353
360
  ProgressEvent = Shapes::StructureShape.new(name: 'ProgressEvent')
354
361
  Protocol = Shapes::StringShape.new(name: 'Protocol')
362
+ PublicAccessBlockConfiguration = Shapes::StructureShape.new(name: 'PublicAccessBlockConfiguration')
355
363
  PutBucketAccelerateConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAccelerateConfigurationRequest')
356
364
  PutBucketAclRequest = Shapes::StructureShape.new(name: 'PutBucketAclRequest')
357
365
  PutBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAnalyticsConfigurationRequest')
@@ -376,6 +384,7 @@ module Aws::S3
376
384
  PutObjectRequest = Shapes::StructureShape.new(name: 'PutObjectRequest')
377
385
  PutObjectTaggingOutput = Shapes::StructureShape.new(name: 'PutObjectTaggingOutput')
378
386
  PutObjectTaggingRequest = Shapes::StructureShape.new(name: 'PutObjectTaggingRequest')
387
+ PutPublicAccessBlockRequest = Shapes::StructureShape.new(name: 'PutPublicAccessBlockRequest')
379
388
  QueueArn = Shapes::StringShape.new(name: 'QueueArn')
380
389
  QueueConfiguration = Shapes::StructureShape.new(name: 'QueueConfiguration')
381
390
  QueueConfigurationDeprecated = Shapes::StructureShape.new(name: 'QueueConfigurationDeprecated')
@@ -437,6 +446,7 @@ module Aws::S3
437
446
  ServerSideEncryptionConfiguration = Shapes::StructureShape.new(name: 'ServerSideEncryptionConfiguration')
438
447
  ServerSideEncryptionRule = Shapes::StructureShape.new(name: 'ServerSideEncryptionRule')
439
448
  ServerSideEncryptionRules = Shapes::ListShape.new(name: 'ServerSideEncryptionRules', flattened: true)
449
+ Setting = Shapes::BooleanShape.new(name: 'Setting')
440
450
  Size = Shapes::IntegerShape.new(name: 'Size')
441
451
  SourceSelectionCriteria = Shapes::StructureShape.new(name: 'SourceSelectionCriteria')
442
452
  SseKmsEncryptedObjects = Shapes::StructureShape.new(name: 'SseKmsEncryptedObjects')
@@ -818,6 +828,9 @@ module Aws::S3
818
828
  DeleteObjectsRequest[:payload] = :delete
819
829
  DeleteObjectsRequest[:payload_member] = DeleteObjectsRequest.member(:delete)
820
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
+
821
834
  DeletedObject.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, location_name: "Key"))
822
835
  DeletedObject.add_member(:version_id, Shapes::ShapeRef.new(shape: ObjectVersionId, location_name: "VersionId"))
823
836
  DeletedObject.add_member(:delete_marker, Shapes::ShapeRef.new(shape: DeleteMarker, location_name: "DeleteMarker"))
@@ -953,6 +966,14 @@ module Aws::S3
953
966
  GetBucketPolicyRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
954
967
  GetBucketPolicyRequest.struct_class = Types::GetBucketPolicyRequest
955
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
+
956
977
  GetBucketReplicationOutput.add_member(:replication_configuration, Shapes::ShapeRef.new(shape: ReplicationConfiguration, location_name: "ReplicationConfiguration"))
957
978
  GetBucketReplicationOutput.struct_class = Types::GetBucketReplicationOutput
958
979
  GetBucketReplicationOutput[:payload] = :replication_configuration
@@ -1074,6 +1095,14 @@ module Aws::S3
1074
1095
  GetObjectTorrentRequest.add_member(:request_payer, Shapes::ShapeRef.new(shape: RequestPayer, location: "header", location_name: "x-amz-request-payer"))
1075
1096
  GetObjectTorrentRequest.struct_class = Types::GetObjectTorrentRequest
1076
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
+
1077
1106
  GlacierJobParameters.add_member(:tier, Shapes::ShapeRef.new(shape: Tier, required: true, location_name: "Tier"))
1078
1107
  GlacierJobParameters.struct_class = Types::GlacierJobParameters
1079
1108
 
@@ -1485,6 +1514,9 @@ module Aws::S3
1485
1514
 
1486
1515
  Parts.member = Shapes::ShapeRef.new(shape: Part)
1487
1516
 
1517
+ PolicyStatus.add_member(:is_public, Shapes::ShapeRef.new(shape: IsPublic, location_name: "IsPublic"))
1518
+ PolicyStatus.struct_class = Types::PolicyStatus
1519
+
1488
1520
  Progress.add_member(:bytes_scanned, Shapes::ShapeRef.new(shape: BytesScanned, location_name: "BytesScanned"))
1489
1521
  Progress.add_member(:bytes_processed, Shapes::ShapeRef.new(shape: BytesProcessed, location_name: "BytesProcessed"))
1490
1522
  Progress.add_member(:bytes_returned, Shapes::ShapeRef.new(shape: BytesReturned, location_name: "BytesReturned"))
@@ -1493,6 +1525,12 @@ module Aws::S3
1493
1525
  ProgressEvent.add_member(:details, Shapes::ShapeRef.new(shape: Progress, eventpayload: true, eventpayload_type: 'structure', location_name: "Details", metadata: {"eventpayload"=>true}))
1494
1526
  ProgressEvent.struct_class = Types::ProgressEvent
1495
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
+
1496
1534
  PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket"))
1497
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/"}}))
1498
1536
  PutBucketAccelerateConfigurationRequest.struct_class = Types::PutBucketAccelerateConfigurationRequest
@@ -1695,6 +1733,13 @@ module Aws::S3
1695
1733
  PutObjectTaggingRequest[:payload] = :tagging
1696
1734
  PutObjectTaggingRequest[:payload_member] = PutObjectTaggingRequest.member(:tagging)
1697
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
+
1698
1743
  QueueConfiguration.add_member(:id, Shapes::ShapeRef.new(shape: NotificationId, location_name: "Id"))
1699
1744
  QueueConfiguration.add_member(:queue_arn, Shapes::ShapeRef.new(shape: QueueArn, required: true, location_name: "Queue"))
1700
1745
  QueueConfiguration.add_member(:events, Shapes::ShapeRef.new(shape: EventList, required: true, location_name: "Event"))
@@ -2150,6 +2195,14 @@ module Aws::S3
2150
2195
  o.output = Shapes::ShapeRef.new(shape: DeleteObjectsOutput)
2151
2196
  end)
2152
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
+
2153
2206
  api.add_operation(:get_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
2154
2207
  o.name = "GetBucketAccelerateConfiguration"
2155
2208
  o.http_method = "GET"
@@ -2264,6 +2317,14 @@ module Aws::S3
2264
2317
  o.output = Shapes::ShapeRef.new(shape: GetBucketPolicyOutput)
2265
2318
  end)
2266
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
+
2267
2328
  api.add_operation(:get_bucket_replication, Seahorse::Model::Operation.new.tap do |o|
2268
2329
  o.name = "GetBucketReplication"
2269
2330
  o.http_method = "GET"
@@ -2338,6 +2399,14 @@ module Aws::S3
2338
2399
  o.output = Shapes::ShapeRef.new(shape: GetObjectTorrentOutput)
2339
2400
  end)
2340
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
+
2341
2410
  api.add_operation(:head_bucket, Seahorse::Model::Operation.new.tap do |o|
2342
2411
  o.name = "HeadBucket"
2343
2412
  o.http_method = "HEAD"
@@ -2637,6 +2706,14 @@ module Aws::S3
2637
2706
  o.output = Shapes::ShapeRef.new(shape: PutObjectTaggingOutput)
2638
2707
  end)
2639
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
+
2640
2717
  api.add_operation(:restore_object, Seahorse::Model::Operation.new.tap do |o|
2641
2718
  o.name = "RestoreObject"
2642
2719
  o.http_method = "POST"
@@ -66,7 +66,7 @@ module Aws::S3
66
66
  data[:etag]
67
67
  end
68
68
 
69
- # Size of the uploaded part data.
69
+ # Size in bytes of the uploaded part data.
70
70
  # @return [Integer]
71
71
  def size
72
72
  data[:size]
@@ -866,7 +866,7 @@ module Aws::S3
866
866
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
867
867
  # @option options [String] :tagging
868
868
  # The tag-set for the object. The tag-set must be encoded as URL Query
869
- # parameters
869
+ # parameters. (For example, "Key1=Value1")
870
870
  # @return [Types::PutObjectOutput]
871
871
  def put(options = {})
872
872
  options = options.merge(
@@ -709,7 +709,7 @@ module Aws::S3
709
709
  # http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
710
710
  # @option options [String] :tagging
711
711
  # The tag-set for the object. The tag-set must be encoded as URL Query
712
- # parameters
712
+ # parameters. (For example, "Key1=Value1")
713
713
  # @return [Types::PutObjectOutput]
714
714
  def put(options = {})
715
715
  options = options.merge(
@@ -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:
@@ -557,21 +557,21 @@ module Aws::S3
557
557
  # @return [String]
558
558
  #
559
559
  # @!attribute [rw] comments
560
- # Single character used to indicate a row should be ignored when
560
+ # The single character used to indicate a row should be ignored when
561
561
  # present at the start of a row.
562
562
  # @return [String]
563
563
  #
564
564
  # @!attribute [rw] quote_escape_character
565
- # Single character used for escaping the quote character inside an
565
+ # The single character used for escaping the quote character inside an
566
566
  # already escaped value.
567
567
  # @return [String]
568
568
  #
569
569
  # @!attribute [rw] record_delimiter
570
- # Value used to separate individual records.
570
+ # The value used to separate individual records.
571
571
  # @return [String]
572
572
  #
573
573
  # @!attribute [rw] field_delimiter
574
- # Value used to separate individual fields in a record.
574
+ # The value used to separate individual fields in a record.
575
575
  # @return [String]
576
576
  #
577
577
  # @!attribute [rw] quote_character
@@ -616,20 +616,20 @@ module Aws::S3
616
616
  # @return [String]
617
617
  #
618
618
  # @!attribute [rw] quote_escape_character
619
- # Single character used for escaping the quote character inside an
619
+ # Th single character used for escaping the quote character inside an
620
620
  # already escaped value.
621
621
  # @return [String]
622
622
  #
623
623
  # @!attribute [rw] record_delimiter
624
- # Value used to separate individual records.
624
+ # The value used to separate individual records.
625
625
  # @return [String]
626
626
  #
627
627
  # @!attribute [rw] field_delimiter
628
- # Value used to separate individual fields in a record.
628
+ # The value used to separate individual fields in a record.
629
629
  # @return [String]
630
630
  #
631
631
  # @!attribute [rw] quote_character
632
- # 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
633
633
  # value.
634
634
  # @return [String]
635
635
  #
@@ -656,13 +656,13 @@ module Aws::S3
656
656
  # }
657
657
  #
658
658
  # @!attribute [rw] id
659
- # Optional unique identifier for configurations in a notification
659
+ # An optional unique identifier for configurations in a notification
660
660
  # configuration. If you don't provide one, Amazon S3 will assign an
661
661
  # ID.
662
662
  # @return [String]
663
663
  #
664
664
  # @!attribute [rw] event
665
- # Bucket event for which to send notifications.
665
+ # The bucket event for which to send notifications.
666
666
  # @return [String]
667
667
  #
668
668
  # @!attribute [rw] events
@@ -1731,17 +1731,12 @@ module Aws::S3
1731
1731
  # }
1732
1732
  #
1733
1733
  # @!attribute [rw] bucket
1734
- # Deletes the replication subresource associated with the specified
1735
- # bucket.
1734
+ # The bucket name.
1736
1735
  #
1737
- # <note markdown="1"> There is usually some time lag before replication configuration
1738
- # deletion is fully propagated to all the Amazon S3 systems.
1736
+ # <note markdown="1"> It can take a while to propagate the deletion of a replication
1737
+ # configuration to all Amazon S3 systems.
1739
1738
  #
1740
1739
  # </note>
1741
- #
1742
- # For more information, see [Cross-Region Replication (CRR)](
1743
- # https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) in the
1744
- # Amazon S3 Developer Guide.
1745
1740
  # @return [String]
1746
1741
  #
1747
1742
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketReplicationRequest AWS API Documentation
@@ -1845,8 +1840,8 @@ module Aws::S3
1845
1840
  # @!attribute [rw] status
1846
1841
  # The status of the delete marker replication.
1847
1842
  #
1848
- # <note markdown="1"> In the current implementation, Amazon S3 does not replicate the
1849
- # delete markers. Therefore, the status must be `Disabled`.
1843
+ # <note markdown="1"> In the current implementation, Amazon S3 doesn't replicate the
1844
+ # delete markers. The status must be `Disabled`.
1850
1845
  #
1851
1846
  # </note>
1852
1847
  # @return [String]
@@ -2035,6 +2030,25 @@ module Aws::S3
2035
2030
  include Aws::Structure
2036
2031
  end
2037
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
+
2038
2052
  # @!attribute [rw] key
2039
2053
  # @return [String]
2040
2054
  #
@@ -2057,7 +2071,7 @@ module Aws::S3
2057
2071
  include Aws::Structure
2058
2072
  end
2059
2073
 
2060
- # Container for replication destination information.
2074
+ # A container for information about the replication destination.
2061
2075
  #
2062
2076
  # @note When making an API call, you may pass Destination
2063
2077
  # data as a hash:
@@ -2075,41 +2089,43 @@ module Aws::S3
2075
2089
  # }
2076
2090
  #
2077
2091
  # @!attribute [rw] bucket
2078
- # Amazon resource name (ARN) of the bucket where you want Amazon S3 to
2079
- # 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.
2080
2094
  #
2081
- # If you have multiple rules in your replication configuration, all
2095
+ # If there are multiple rules in your replication configuration, all
2082
2096
  # rules must specify the same bucket as the destination. A replication
2083
- # configuration can replicate objects only to one destination bucket.
2097
+ # configuration can replicate objects to only one destination bucket.
2084
2098
  # @return [String]
2085
2099
  #
2086
2100
  # @!attribute [rw] account
2087
- # Account ID of the destination bucket. Currently Amazon S3 verifies
2088
- # this value only 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.
2089
2103
  #
2090
- # In a cross-account scenario, if you tell Amazon S3 to change replica
2091
- # ownership to the AWS account that owns the destination bucket by
2092
- # adding the `AccessControlTranslation` element, this is the account
2093
- # ID of the destination bucket owner.
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.
2094
2108
  # @return [String]
2095
2109
  #
2096
2110
  # @!attribute [rw] storage_class
2097
- # 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.
2098
2113
  # @return [String]
2099
2114
  #
2100
2115
  # @!attribute [rw] access_control_translation
2101
- # Container for information regarding the access control for replicas.
2116
+ # A container for information about access control for replicas.
2102
2117
  #
2103
- # Use only in a cross-account scenario, where source and destination
2104
- # bucket owners are not the same, when you want to change replica
2118
+ # Use this element only in a cross-account scenario where source and
2119
+ # destination bucket owners are not the same to change replica
2105
2120
  # ownership to the AWS account that owns the destination bucket. If
2106
2121
  # you don't add this element to the replication configuration, the
2107
2122
  # replicas are owned by same AWS account that owns the source object.
2108
2123
  # @return [Types::AccessControlTranslation]
2109
2124
  #
2110
2125
  # @!attribute [rw] encryption_configuration
2111
- # Container that provides encryption-related information. You must
2112
- # specify this element if the `SourceSelectionCriteria` is specified.
2126
+ # A container that provides information about encryption. If
2127
+ # `SourceSelectionCriteria` is specified, you must specify this
2128
+ # element.
2113
2129
  # @return [Types::EncryptionConfiguration]
2114
2130
  #
2115
2131
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Destination AWS API Documentation
@@ -2159,8 +2175,8 @@ module Aws::S3
2159
2175
  include Aws::Structure
2160
2176
  end
2161
2177
 
2162
- # Container for information regarding encryption based configuration for
2163
- # replicas.
2178
+ # A container for information about the encryption-based configuration
2179
+ # for replicas.
2164
2180
  #
2165
2181
  # @note When making an API call, you may pass EncryptionConfiguration
2166
2182
  # data as a hash:
@@ -2170,7 +2186,7 @@ module Aws::S3
2170
2186
  # }
2171
2187
  #
2172
2188
  # @!attribute [rw] replica_kms_key_id
2173
- # The ID of the AWS KMS key for the region where the destination
2189
+ # The ID of the AWS KMS key for the AWS Region where the destination
2174
2190
  # bucket resides. Amazon S3 uses this key to encrypt the replica
2175
2191
  # object.
2176
2192
  # @return [String]
@@ -2229,8 +2245,8 @@ module Aws::S3
2229
2245
  include Aws::Structure
2230
2246
  end
2231
2247
 
2232
- # Container for key value pair that defines the criteria for the filter
2233
- # rule.
2248
+ # A container for a key value pair that defines the criteria for the
2249
+ # filter rule.
2234
2250
  #
2235
2251
  # @note When making an API call, you may pass FilterRule
2236
2252
  # data as a hash:
@@ -2241,12 +2257,12 @@ module Aws::S3
2241
2257
  # }
2242
2258
  #
2243
2259
  # @!attribute [rw] name
2244
- # Object key name prefix or suffix identifying one or more objects to
2245
- # 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
2246
2262
  # 1,024 characters. Overlapping prefixes and suffixes are not
2247
- # supported. For more information, go to [Configuring Event
2248
- # Notifications][1] in the Amazon Simple Storage Service Developer
2249
- # Guide.
2263
+ # supported. For more information, see [Configuring Event
2264
+ # Notifications][1] in the *Amazon Simple Storage Service Developer
2265
+ # Guide*.
2250
2266
  #
2251
2267
  #
2252
2268
  #
@@ -2649,9 +2665,39 @@ module Aws::S3
2649
2665
  include Aws::Structure
2650
2666
  end
2651
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
+
2652
2698
  # @!attribute [rw] replication_configuration
2653
- # Container for replication rules. You can add as many as 1,000 rules.
2654
- # 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.
2655
2701
  # @return [Types::ReplicationConfiguration]
2656
2702
  #
2657
2703
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketReplicationOutput AWS API Documentation
@@ -3271,6 +3317,37 @@ module Aws::S3
3271
3317
  include Aws::Structure
3272
3318
  end
3273
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
+
3274
3351
  # @note When making an API call, you may pass GlacierJobParameters
3275
3352
  # data as a hash:
3276
3353
  #
@@ -3851,12 +3928,11 @@ module Aws::S3
3851
3928
  # }
3852
3929
  #
3853
3930
  # @!attribute [rw] sses3
3854
- # Specifies the use of SSE-S3 to encrypt delievered Inventory reports.
3931
+ # Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
3855
3932
  # @return [Types::SSES3]
3856
3933
  #
3857
3934
  # @!attribute [rw] ssekms
3858
- # Specifies the use of SSE-KMS to encrypt delievered Inventory
3859
- # reports.
3935
+ # Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
3860
3936
  # @return [Types::SSEKMS]
3861
3937
  #
3862
3938
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/InventoryEncryption AWS API Documentation
@@ -3990,7 +4066,8 @@ module Aws::S3
3990
4066
  include Aws::Structure
3991
4067
  end
3992
4068
 
3993
- # Container for specifying the AWS Lambda notification configuration.
4069
+ # A container for specifying the configuration for AWS Lambda
4070
+ # notifications.
3994
4071
  #
3995
4072
  # @note When making an API call, you may pass LambdaFunctionConfiguration
3996
4073
  # data as a hash:
@@ -4012,23 +4089,23 @@ module Aws::S3
4012
4089
  # }
4013
4090
  #
4014
4091
  # @!attribute [rw] id
4015
- # Optional unique identifier for configurations in a notification
4092
+ # An optional unique identifier for configurations in a notification
4016
4093
  # configuration. If you don't provide one, Amazon S3 will assign an
4017
4094
  # ID.
4018
4095
  # @return [String]
4019
4096
  #
4020
4097
  # @!attribute [rw] lambda_function_arn
4021
- # Lambda cloud function ARN that Amazon S3 can invoke when it detects
4022
- # 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.
4023
4100
  # @return [String]
4024
4101
  #
4025
4102
  # @!attribute [rw] events
4026
4103
  # @return [Array<String>]
4027
4104
  #
4028
4105
  # @!attribute [rw] filter
4029
- # Container for object key name filtering rules. For information about
4030
- # key name filtering, go to [Configuring Event Notifications][1] in
4031
- # 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*.
4032
4109
  #
4033
4110
  #
4034
4111
  #
@@ -5436,12 +5513,12 @@ module Aws::S3
5436
5513
  end
5437
5514
 
5438
5515
  # Container for the transition rule that describes when noncurrent
5439
- # objects transition to the STANDARD\_IA, ONEZONE\_IA or GLACIER storage
5440
- # 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
5441
5518
  # suspended), you can set this action to request that Amazon S3
5442
- # transition noncurrent object versions to the STANDARD\_IA, ONEZONE\_IA
5443
- # or GLACIER storage class at a specific period in the object's
5444
- # 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.
5445
5522
  #
5446
5523
  # @note When making an API call, you may pass NoncurrentVersionTransition
5447
5524
  # data as a hash:
@@ -5475,8 +5552,9 @@ module Aws::S3
5475
5552
  include Aws::Structure
5476
5553
  end
5477
5554
 
5478
- # Container for specifying the notification configuration of the bucket.
5479
- # 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.
5480
5558
  #
5481
5559
  # @note When making an API call, you may pass NotificationConfiguration
5482
5560
  # data as a hash:
@@ -5596,9 +5674,9 @@ module Aws::S3
5596
5674
  include Aws::Structure
5597
5675
  end
5598
5676
 
5599
- # Container for object key name filtering rules. For information about
5600
- # key name filtering, go to [Configuring Event Notifications][1] in the
5601
- # 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*.
5602
5680
  #
5603
5681
  #
5604
5682
  #
@@ -5619,7 +5697,7 @@ module Aws::S3
5619
5697
  # }
5620
5698
  #
5621
5699
  # @!attribute [rw] key
5622
- # Container for object key name prefix and suffix filtering rules.
5700
+ # A container for object key name prefix and suffix filtering rules.
5623
5701
  # @return [Types::S3KeyFilter]
5624
5702
  #
5625
5703
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/NotificationConfigurationFilter AWS API Documentation
@@ -5862,7 +5940,7 @@ module Aws::S3
5862
5940
  # @return [String]
5863
5941
  #
5864
5942
  # @!attribute [rw] size
5865
- # Size of the uploaded part data.
5943
+ # Size in bytes of the uploaded part data.
5866
5944
  # @return [Integer]
5867
5945
  #
5868
5946
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Part AWS API Documentation
@@ -5875,16 +5953,30 @@ module Aws::S3
5875
5953
  include Aws::Structure
5876
5954
  end
5877
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
+
5878
5970
  # @!attribute [rw] bytes_scanned
5879
- # Current number of object bytes scanned.
5971
+ # The current number of object bytes scanned.
5880
5972
  # @return [Integer]
5881
5973
  #
5882
5974
  # @!attribute [rw] bytes_processed
5883
- # Current number of uncompressed object bytes processed.
5975
+ # The current number of uncompressed object bytes processed.
5884
5976
  # @return [Integer]
5885
5977
  #
5886
5978
  # @!attribute [rw] bytes_returned
5887
- # Current number of bytes of records payload data returned.
5979
+ # The current number of bytes of records payload data returned.
5888
5980
  # @return [Integer]
5889
5981
  #
5890
5982
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Progress AWS API Documentation
@@ -5908,6 +6000,117 @@ module Aws::S3
5908
6000
  include Aws::Structure
5909
6001
  end
5910
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)
6111
+ include Aws::Structure
6112
+ end
6113
+
5911
6114
  # @note When making an API call, you may pass PutBucketAccelerateConfigurationRequest
5912
6115
  # data as a hash:
5913
6116
  #
@@ -6496,8 +6699,8 @@ module Aws::S3
6496
6699
  # @return [String]
6497
6700
  #
6498
6701
  # @!attribute [rw] notification_configuration
6499
- # Container for specifying the notification configuration of the
6500
- # 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
6501
6704
  # the bucket.
6502
6705
  # @return [Types::NotificationConfiguration]
6503
6706
  #
@@ -6652,8 +6855,8 @@ module Aws::S3
6652
6855
  # @return [String]
6653
6856
  #
6654
6857
  # @!attribute [rw] replication_configuration
6655
- # Container for replication rules. You can add as many as 1,000 rules.
6656
- # 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.
6657
6860
  # @return [Types::ReplicationConfiguration]
6658
6861
  #
6659
6862
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketReplicationRequest AWS API Documentation
@@ -7149,7 +7352,7 @@ module Aws::S3
7149
7352
  #
7150
7353
  # @!attribute [rw] tagging
7151
7354
  # The tag-set for the object. The tag-set must be encoded as URL Query
7152
- # parameters
7355
+ # parameters. (For example, "Key1=Value1")
7153
7356
  # @return [String]
7154
7357
  #
7155
7358
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutObjectRequest AWS API Documentation
@@ -7238,8 +7441,46 @@ module Aws::S3
7238
7441
  include Aws::Structure
7239
7442
  end
7240
7443
 
7241
- # Container for specifying an configuration when you want Amazon S3 to
7242
- # 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.
7243
7484
  #
7244
7485
  # @note When making an API call, you may pass QueueConfiguration
7245
7486
  # data as a hash:
@@ -7261,23 +7502,24 @@ module Aws::S3
7261
7502
  # }
7262
7503
  #
7263
7504
  # @!attribute [rw] id
7264
- # Optional unique identifier for configurations in a notification
7505
+ # An optional unique identifier for configurations in a notification
7265
7506
  # configuration. If you don't provide one, Amazon S3 will assign an
7266
7507
  # ID.
7267
7508
  # @return [String]
7268
7509
  #
7269
7510
  # @!attribute [rw] queue_arn
7270
- # Amazon SQS queue ARN to which Amazon S3 will publish a message when
7271
- # 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.
7272
7514
  # @return [String]
7273
7515
  #
7274
7516
  # @!attribute [rw] events
7275
7517
  # @return [Array<String>]
7276
7518
  #
7277
7519
  # @!attribute [rw] filter
7278
- # Container for object key name filtering rules. For information about
7279
- # key name filtering, go to [Configuring Event Notifications][1] in
7280
- # 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*.
7281
7523
  #
7282
7524
  #
7283
7525
  #
@@ -7305,13 +7547,13 @@ module Aws::S3
7305
7547
  # }
7306
7548
  #
7307
7549
  # @!attribute [rw] id
7308
- # Optional unique identifier for configurations in a notification
7550
+ # An optional unique identifier for configurations in a notification
7309
7551
  # configuration. If you don't provide one, Amazon S3 will assign an
7310
7552
  # ID.
7311
7553
  # @return [String]
7312
7554
  #
7313
7555
  # @!attribute [rw] event
7314
- # Bucket event for which to send notifications.
7556
+ # The bucket event for which to send notifications.
7315
7557
  # @return [String]
7316
7558
  #
7317
7559
  # @!attribute [rw] events
@@ -7420,8 +7662,8 @@ module Aws::S3
7420
7662
  include Aws::Structure
7421
7663
  end
7422
7664
 
7423
- # Container for replication rules. You can add as many as 1,000 rules.
7424
- # 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.
7425
7667
  #
7426
7668
  # @note When making an API call, you may pass ReplicationConfiguration
7427
7669
  # data as a hash:
@@ -7474,14 +7716,15 @@ module Aws::S3
7474
7716
  # }
7475
7717
  #
7476
7718
  # @!attribute [rw] role
7477
- # Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume
7478
- # 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.
7479
7722
  # @return [String]
7480
7723
  #
7481
7724
  # @!attribute [rw] rules
7482
- # Container for one or more replication rules. Replication
7483
- # configuration must have at least one rule and can contain up to
7484
- # 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.
7485
7728
  # @return [Array<Types::ReplicationRule>]
7486
7729
  #
7487
7730
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ReplicationConfiguration AWS API Documentation
@@ -7492,7 +7735,7 @@ module Aws::S3
7492
7735
  include Aws::Structure
7493
7736
  end
7494
7737
 
7495
- # Container for information about a particular replication rule.
7738
+ # A container for information about a specific replication rule.
7496
7739
  #
7497
7740
  # @note When making an API call, you may pass ReplicationRule
7498
7741
  # data as a hash:
@@ -7540,56 +7783,57 @@ module Aws::S3
7540
7783
  # }
7541
7784
  #
7542
7785
  # @!attribute [rw] id
7543
- # Unique identifier for the rule. The value cannot be longer than 255
7786
+ # A unique identifier for the rule. The maximum value is 255
7544
7787
  # characters.
7545
7788
  # @return [String]
7546
7789
  #
7547
7790
  # @!attribute [rw] priority
7548
7791
  # The priority associated with the rule. If you specify multiple rules
7549
- # in a replication configuration, then Amazon S3 applies rule priority
7550
- # in the event there are conflicts (two or more rules identify the
7551
- # same object based on filter specified). The rule with higher
7552
- # priority takes precedence. For example,
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:
7553
7796
  #
7554
7797
  # * Same object quality prefix based filter criteria If prefixes you
7555
- # specified in multiple rules overlap.
7798
+ # specified in multiple rules overlap
7556
7799
  #
7557
7800
  # * Same object qualify tag based filter criteria specified in
7558
7801
  # multiple rules
7559
7802
  #
7560
7803
  # For more information, see [Cross-Region Replication (CRR)](
7561
7804
  # https://docs.aws.amazon.com/AmazonS3/latest/dev/crr.html) in the
7562
- # Amazon S3 Developer Guide.
7805
+ # *Amazon S3 Developer Guide*.
7563
7806
  # @return [Integer]
7564
7807
  #
7565
7808
  # @!attribute [rw] prefix
7566
- # Object keyname prefix identifying one or more objects to which the
7567
- # rule applies. Maximum prefix length can be up to 1,024 characters.
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.
7568
7812
  # @return [String]
7569
7813
  #
7570
7814
  # @!attribute [rw] filter
7571
- # Filter that identifies subset of objects to which the replication
7572
- # rule applies. A `Filter` must specify exactly one `Prefix`, `Tag`,
7573
- # or an `And` child element.
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.
7574
7818
  # @return [Types::ReplicationRuleFilter]
7575
7819
  #
7576
7820
  # @!attribute [rw] status
7577
- # The rule is ignored if status is not Enabled.
7821
+ # If status isn't enabled, the rule is ignored.
7578
7822
  # @return [String]
7579
7823
  #
7580
7824
  # @!attribute [rw] source_selection_criteria
7581
- # Container that describes additional filters in identifying source
7582
- # objects that you want to replicate. Currently, Amazon S3 supports
7583
- # only the filter that you can specify for objects created with
7584
- # server-side encryption using an AWS KMS-managed key. You can choose
7585
- # to enable or disable replication of these objects.
7586
- #
7587
- # if you want Amazon S3 to replicate objects created with server-side
7588
- # encryption using AWS KMS-managed keys.
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.
7589
7833
  # @return [Types::SourceSelectionCriteria]
7590
7834
  #
7591
7835
  # @!attribute [rw] destination
7592
- # Container for replication destination information.
7836
+ # A container for information about the replication destination.
7593
7837
  # @return [Types::Destination]
7594
7838
  #
7595
7839
  # @!attribute [rw] delete_marker_replication
@@ -7637,9 +7881,9 @@ module Aws::S3
7637
7881
  include Aws::Structure
7638
7882
  end
7639
7883
 
7640
- # Filter that identifies subset of objects to which the replication rule
7641
- # applies. A `Filter` must specify exactly one `Prefix`, `Tag`, or an
7642
- # `And` child element.
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.
7643
7887
  #
7644
7888
  # @note When making an API call, you may pass ReplicationRuleFilter
7645
7889
  # data as a hash:
@@ -7662,25 +7906,25 @@ module Aws::S3
7662
7906
  # }
7663
7907
  #
7664
7908
  # @!attribute [rw] prefix
7665
- # Object keyname prefix that identifies subset of objects to which the
7666
- # rule applies.
7909
+ # An object keyname prefix that identifies the subset of objects to
7910
+ # which the rule applies.
7667
7911
  # @return [String]
7668
7912
  #
7669
7913
  # @!attribute [rw] tag
7670
- # Container for specifying a tag key and value.
7914
+ # A container for specifying a tag key and value.
7671
7915
  #
7672
- # The rule applies only to objects having the tag in its tagset.
7916
+ # The rule applies only to objects that have the tag in their tag set.
7673
7917
  # @return [Types::Tag]
7674
7918
  #
7675
7919
  # @!attribute [rw] and
7676
- # Container for specifying rule filters. These filters determine the
7677
- # subset of objects to which the rule applies. The element is required
7678
- # only if you specify more than one filter. For example:
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:
7679
7923
  #
7680
- # * You specify both a `Prefix` and a `Tag` filters. Then you wrap
7681
- # these in an `And` tag.
7924
+ # * If you specify both a `Prefix` and a `Tag` filter, wrap these
7925
+ # filters in an `And` tag.
7682
7926
  #
7683
- # * You specify filter based on multiple tags. Then you wrap the `Tag`
7927
+ # * If you specify a filter based on multiple tags, wrap the `Tag`
7684
7928
  # elements in an `And` tag.
7685
7929
  # @return [Types::ReplicationRuleAndOperator]
7686
7930
  #
@@ -8029,8 +8273,7 @@ module Aws::S3
8029
8273
  # @!attribute [rw] redirect
8030
8274
  # Container for redirect information. You can redirect requests to
8031
8275
  # another host, to another page, or with another protocol. In the
8032
- # event of an error, you can can specify a different error code to
8033
- # return.
8276
+ # event of an error, you can specify a different error code to return.
8034
8277
  # @return [Types::Redirect]
8035
8278
  #
8036
8279
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RoutingRule AWS API Documentation
@@ -8092,11 +8335,11 @@ module Aws::S3
8092
8335
  #
8093
8336
  # @!attribute [rw] noncurrent_version_transition
8094
8337
  # Container for the transition rule that describes when noncurrent
8095
- # objects transition to the STANDARD\_IA, ONEZONE\_IA or GLACIER
8338
+ # objects transition to the STANDARD\_IA, ONEZONE\_IA, or GLACIER
8096
8339
  # storage class. If your bucket is versioning-enabled (or versioning
8097
8340
  # is suspended), you can set this action to request that Amazon S3
8098
8341
  # transition noncurrent object versions to the STANDARD\_IA,
8099
- # 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
8100
8343
  # object's lifetime.
8101
8344
  # @return [Types::NoncurrentVersionTransition]
8102
8345
  #
@@ -8129,7 +8372,7 @@ module Aws::S3
8129
8372
  include Aws::Structure
8130
8373
  end
8131
8374
 
8132
- # Container for object key name prefix and suffix filtering rules.
8375
+ # A container for object key name prefix and suffix filtering rules.
8133
8376
  #
8134
8377
  # @note When making an API call, you may pass S3KeyFilter
8135
8378
  # data as a hash:
@@ -8144,8 +8387,8 @@ module Aws::S3
8144
8387
  # }
8145
8388
  #
8146
8389
  # @!attribute [rw] filter_rules
8147
- # A list of containers for key value pair that defines the criteria
8148
- # for the filter rule.
8390
+ # A list of containers for the key value pair that defines the
8391
+ # criteria for the filter rule.
8149
8392
  # @return [Array<Types::FilterRule>]
8150
8393
  #
8151
8394
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/S3KeyFilter AWS API Documentation
@@ -8247,7 +8490,7 @@ module Aws::S3
8247
8490
  include Aws::Structure
8248
8491
  end
8249
8492
 
8250
- # Specifies the use of SSE-KMS to encrypt delievered Inventory reports.
8493
+ # Specifies the use of SSE-KMS to encrypt delivered Inventory reports.
8251
8494
  #
8252
8495
  # @note When making an API call, you may pass SSEKMS
8253
8496
  # data as a hash:
@@ -8268,7 +8511,7 @@ module Aws::S3
8268
8511
  include Aws::Structure
8269
8512
  end
8270
8513
 
8271
- # Specifies the use of SSE-S3 to encrypt delievered Inventory reports.
8514
+ # Specifies the use of SSE-S3 to encrypt delivered Inventory reports.
8272
8515
  #
8273
8516
  # @api private
8274
8517
  #
@@ -8288,12 +8531,12 @@ module Aws::S3
8288
8531
 
8289
8532
  # Request to filter the contents of an Amazon S3 object based on a
8290
8533
  # simple Structured Query Language (SQL) statement. In the request,
8291
- # along with the SQL expression, you must also specify a data
8292
- # serialization format (JSON or CSV) of the object. Amazon S3 uses this
8293
- # to parse object data into records, and returns only records that match
8294
- # the specified SQL expression. You must also specify the data
8295
- # serialization format for the response. For more information, go to
8296
- # [S3Select API Documentation][1].
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].
8297
8540
  #
8298
8541
  #
8299
8542
  #
@@ -8345,16 +8588,16 @@ module Aws::S3
8345
8588
  # }
8346
8589
  #
8347
8590
  # @!attribute [rw] bucket
8348
- # The S3 Bucket.
8591
+ # The S3 bucket.
8349
8592
  # @return [String]
8350
8593
  #
8351
8594
  # @!attribute [rw] key
8352
- # The Object Key.
8595
+ # The object key.
8353
8596
  # @return [String]
8354
8597
  #
8355
8598
  # @!attribute [rw] sse_customer_algorithm
8356
8599
  # The SSE Algorithm used to encrypt the object. For more information,
8357
- # go to [ Server-Side Encryption (Using Customer-Provided Encryption
8600
+ # see [ Server-Side Encryption (Using Customer-Provided Encryption
8358
8601
  # Keys][1].
8359
8602
  #
8360
8603
  #
@@ -8363,7 +8606,7 @@ module Aws::S3
8363
8606
  # @return [String]
8364
8607
  #
8365
8608
  # @!attribute [rw] sse_customer_key
8366
- # The SSE Customer Key. For more information, go to [ Server-Side
8609
+ # The SSE Customer Key. For more information, see [ Server-Side
8367
8610
  # Encryption (Using Customer-Provided Encryption Keys][1].
8368
8611
  #
8369
8612
  #
@@ -8372,7 +8615,7 @@ module Aws::S3
8372
8615
  # @return [String]
8373
8616
  #
8374
8617
  # @!attribute [rw] sse_customer_key_md5
8375
- # The SSE Customer Key MD5. For more information, go to [ Server-Side
8618
+ # The SSE Customer Key MD5. For more information, see [ Server-Side
8376
8619
  # Encryption (Using Customer-Provided Encryption Keys][1].
8377
8620
  #
8378
8621
  #
@@ -8385,7 +8628,7 @@ module Aws::S3
8385
8628
  # @return [String]
8386
8629
  #
8387
8630
  # @!attribute [rw] expression_type
8388
- # The type of the provided expression (e.g., SQL).
8631
+ # The type of the provided expression (for example., SQL).
8389
8632
  # @return [String]
8390
8633
  #
8391
8634
  # @!attribute [rw] request_progress
@@ -8568,7 +8811,7 @@ module Aws::S3
8568
8811
  include Aws::Structure
8569
8812
  end
8570
8813
 
8571
- # Container for filters that define which source objects should be
8814
+ # A container for filters that define which source objects should be
8572
8815
  # replicated.
8573
8816
  #
8574
8817
  # @note When making an API call, you may pass SourceSelectionCriteria
@@ -8581,9 +8824,9 @@ module Aws::S3
8581
8824
  # }
8582
8825
  #
8583
8826
  # @!attribute [rw] sse_kms_encrypted_objects
8584
- # Container for filter information of selection of KMS Encrypted S3
8585
- # objects. The element is required if you include
8586
- # `SourceSelectionCriteria` in the replication configuration.
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.
8587
8830
  # @return [Types::SseKmsEncryptedObjects]
8588
8831
  #
8589
8832
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SourceSelectionCriteria AWS API Documentation
@@ -8593,8 +8836,8 @@ module Aws::S3
8593
8836
  include Aws::Structure
8594
8837
  end
8595
8838
 
8596
- # Container for filter information of selection of KMS Encrypted S3
8597
- # objects.
8839
+ # A container for filter information for the selection of S3 objects
8840
+ # encrypted with AWS KMS.
8598
8841
  #
8599
8842
  # @note When making an API call, you may pass SseKmsEncryptedObjects
8600
8843
  # data as a hash:
@@ -8604,8 +8847,8 @@ module Aws::S3
8604
8847
  # }
8605
8848
  #
8606
8849
  # @!attribute [rw] status
8607
- # The replication for KMS encrypted S3 objects is disabled if status
8608
- # is not Enabled.
8850
+ # If the status is not `Enabled`, replication for S3 objects encrypted
8851
+ # with AWS KMS is disabled.
8609
8852
  # @return [String]
8610
8853
  #
8611
8854
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/SseKmsEncryptedObjects AWS API Documentation
@@ -8616,15 +8859,15 @@ module Aws::S3
8616
8859
  end
8617
8860
 
8618
8861
  # @!attribute [rw] bytes_scanned
8619
- # Total number of object bytes scanned.
8862
+ # The total number of object bytes scanned.
8620
8863
  # @return [Integer]
8621
8864
  #
8622
8865
  # @!attribute [rw] bytes_processed
8623
- # Total number of uncompressed object bytes processed.
8866
+ # The total number of uncompressed object bytes processed.
8624
8867
  # @return [Integer]
8625
8868
  #
8626
8869
  # @!attribute [rw] bytes_returned
8627
- # Total number of bytes of records payload data returned.
8870
+ # The total number of bytes of records payload data returned.
8628
8871
  # @return [Integer]
8629
8872
  #
8630
8873
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/Stats AWS API Documentation
@@ -8784,9 +9027,9 @@ module Aws::S3
8784
9027
  include Aws::Structure
8785
9028
  end
8786
9029
 
8787
- # Container for specifying the configuration when you want Amazon S3 to
8788
- # publish events to an Amazon Simple Notification Service (Amazon SNS)
8789
- # 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.
8790
9033
  #
8791
9034
  # @note When making an API call, you may pass TopicConfiguration
8792
9035
  # data as a hash:
@@ -8808,23 +9051,24 @@ module Aws::S3
8808
9051
  # }
8809
9052
  #
8810
9053
  # @!attribute [rw] id
8811
- # Optional unique identifier for configurations in a notification
9054
+ # An optional unique identifier for configurations in a notification
8812
9055
  # configuration. If you don't provide one, Amazon S3 will assign an
8813
9056
  # ID.
8814
9057
  # @return [String]
8815
9058
  #
8816
9059
  # @!attribute [rw] topic_arn
8817
- # Amazon SNS topic ARN to which Amazon S3 will publish a message when
8818
- # 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.
8819
9063
  # @return [String]
8820
9064
  #
8821
9065
  # @!attribute [rw] events
8822
9066
  # @return [Array<String>]
8823
9067
  #
8824
9068
  # @!attribute [rw] filter
8825
- # Container for object key name filtering rules. For information about
8826
- # key name filtering, go to [Configuring Event Notifications][1] in
8827
- # 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*.
8828
9072
  #
8829
9073
  #
8830
9074
  #
@@ -8852,7 +9096,7 @@ module Aws::S3
8852
9096
  # }
8853
9097
  #
8854
9098
  # @!attribute [rw] id
8855
- # Optional unique identifier for configurations in a notification
9099
+ # An optional unique identifier for configurations in a notification
8856
9100
  # configuration. If you don't provide one, Amazon S3 will assign an
8857
9101
  # ID.
8858
9102
  # @return [String]