aws-sdk-s3 1.203.0 → 1.205.0

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.
@@ -14,6 +14,7 @@ module Aws::S3
14
14
 
15
15
  include Seahorse::Model
16
16
 
17
+ AbacStatus = Shapes::StructureShape.new(name: 'AbacStatus')
17
18
  AbortDate = Shapes::TimestampShape.new(name: 'AbortDate')
18
19
  AbortIncompleteMultipartUpload = Shapes::StructureShape.new(name: 'AbortIncompleteMultipartUpload')
19
20
  AbortMultipartUploadOutput = Shapes::StructureShape.new(name: 'AbortMultipartUploadOutput')
@@ -43,8 +44,10 @@ module Aws::S3
43
44
  AnalyticsS3BucketDestination = Shapes::StructureShape.new(name: 'AnalyticsS3BucketDestination')
44
45
  AnalyticsS3ExportFileFormat = Shapes::StringShape.new(name: 'AnalyticsS3ExportFileFormat')
45
46
  ArchiveStatus = Shapes::StringShape.new(name: 'ArchiveStatus')
47
+ BlockedEncryptionTypes = Shapes::StructureShape.new(name: 'BlockedEncryptionTypes')
46
48
  Body = Shapes::BlobShape.new(name: 'Body')
47
49
  Bucket = Shapes::StructureShape.new(name: 'Bucket')
50
+ BucketAbacStatus = Shapes::StringShape.new(name: 'BucketAbacStatus')
48
51
  BucketAccelerateStatus = Shapes::StringShape.new(name: 'BucketAccelerateStatus')
49
52
  BucketAlreadyExists = Shapes::StructureShape.new(name: 'BucketAlreadyExists')
50
53
  BucketAlreadyOwnedByYou = Shapes::StructureShape.new(name: 'BucketAlreadyOwnedByYou')
@@ -177,6 +180,8 @@ module Aws::S3
177
180
  EncodingType = Shapes::StringShape.new(name: 'EncodingType')
178
181
  Encryption = Shapes::StructureShape.new(name: 'Encryption')
179
182
  EncryptionConfiguration = Shapes::StructureShape.new(name: 'EncryptionConfiguration')
183
+ EncryptionType = Shapes::StringShape.new(name: 'EncryptionType')
184
+ EncryptionTypeList = Shapes::ListShape.new(name: 'EncryptionTypeList', flattened: true)
180
185
  EncryptionTypeMismatch = Shapes::StructureShape.new(name: 'EncryptionTypeMismatch')
181
186
  End = Shapes::IntegerShape.new(name: 'End')
182
187
  EndEvent = Shapes::StructureShape.new(name: 'EndEvent')
@@ -208,6 +213,8 @@ module Aws::S3
208
213
  FilterRuleList = Shapes::ListShape.new(name: 'FilterRuleList', flattened: true)
209
214
  FilterRuleName = Shapes::StringShape.new(name: 'FilterRuleName')
210
215
  FilterRuleValue = Shapes::StringShape.new(name: 'FilterRuleValue')
216
+ GetBucketAbacOutput = Shapes::StructureShape.new(name: 'GetBucketAbacOutput')
217
+ GetBucketAbacRequest = Shapes::StructureShape.new(name: 'GetBucketAbacRequest')
211
218
  GetBucketAccelerateConfigurationOutput = Shapes::StructureShape.new(name: 'GetBucketAccelerateConfigurationOutput')
212
219
  GetBucketAccelerateConfigurationRequest = Shapes::StructureShape.new(name: 'GetBucketAccelerateConfigurationRequest')
213
220
  GetBucketAclOutput = Shapes::StructureShape.new(name: 'GetBucketAclOutput')
@@ -497,6 +504,7 @@ module Aws::S3
497
504
  ProgressEvent = Shapes::StructureShape.new(name: 'ProgressEvent')
498
505
  Protocol = Shapes::StringShape.new(name: 'Protocol')
499
506
  PublicAccessBlockConfiguration = Shapes::StructureShape.new(name: 'PublicAccessBlockConfiguration')
507
+ PutBucketAbacRequest = Shapes::StructureShape.new(name: 'PutBucketAbacRequest')
500
508
  PutBucketAccelerateConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAccelerateConfigurationRequest')
501
509
  PutBucketAclRequest = Shapes::StructureShape.new(name: 'PutBucketAclRequest')
502
510
  PutBucketAnalyticsConfigurationRequest = Shapes::StructureShape.new(name: 'PutBucketAnalyticsConfigurationRequest')
@@ -686,6 +694,9 @@ module Aws::S3
686
694
  WriteOffsetBytes = Shapes::IntegerShape.new(name: 'WriteOffsetBytes')
687
695
  Years = Shapes::IntegerShape.new(name: 'Years')
688
696
 
697
+ AbacStatus.add_member(:status, Shapes::ShapeRef.new(shape: BucketAbacStatus, location_name: "Status"))
698
+ AbacStatus.struct_class = Types::AbacStatus
699
+
689
700
  AbortIncompleteMultipartUpload.add_member(:days_after_initiation, Shapes::ShapeRef.new(shape: DaysAfterInitiation, location_name: "DaysAfterInitiation"))
690
701
  AbortIncompleteMultipartUpload.struct_class = Types::AbortIncompleteMultipartUpload
691
702
 
@@ -741,6 +752,9 @@ module Aws::S3
741
752
  AnalyticsS3BucketDestination.add_member(:prefix, Shapes::ShapeRef.new(shape: Prefix, location_name: "Prefix"))
742
753
  AnalyticsS3BucketDestination.struct_class = Types::AnalyticsS3BucketDestination
743
754
 
755
+ BlockedEncryptionTypes.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionTypeList, location_name: "EncryptionType"))
756
+ BlockedEncryptionTypes.struct_class = Types::BlockedEncryptionTypes
757
+
744
758
  Bucket.add_member(:name, Shapes::ShapeRef.new(shape: BucketName, location_name: "Name"))
745
759
  Bucket.add_member(:creation_date, Shapes::ShapeRef.new(shape: CreationDate, location_name: "CreationDate"))
746
760
  Bucket.add_member(:bucket_region, Shapes::ShapeRef.new(shape: BucketRegion, location_name: "BucketRegion"))
@@ -1220,6 +1234,8 @@ module Aws::S3
1220
1234
  EncryptionConfiguration.add_member(:replica_kms_key_id, Shapes::ShapeRef.new(shape: ReplicaKmsKeyID, location_name: "ReplicaKmsKeyID"))
1221
1235
  EncryptionConfiguration.struct_class = Types::EncryptionConfiguration
1222
1236
 
1237
+ EncryptionTypeList.member = Shapes::ShapeRef.new(shape: EncryptionType, location_name: "EncryptionType")
1238
+
1223
1239
  EncryptionTypeMismatch.struct_class = Types::EncryptionTypeMismatch
1224
1240
 
1225
1241
  EndEvent.struct_class = Types::EndEvent
@@ -1254,6 +1270,15 @@ module Aws::S3
1254
1270
 
1255
1271
  FilterRuleList.member = Shapes::ShapeRef.new(shape: FilterRule)
1256
1272
 
1273
+ GetBucketAbacOutput.add_member(:abac_status, Shapes::ShapeRef.new(shape: AbacStatus, location_name: "AbacStatus"))
1274
+ GetBucketAbacOutput.struct_class = Types::GetBucketAbacOutput
1275
+ GetBucketAbacOutput[:payload] = :abac_status
1276
+ GetBucketAbacOutput[:payload_member] = GetBucketAbacOutput.member(:abac_status)
1277
+
1278
+ GetBucketAbacRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1279
+ GetBucketAbacRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1280
+ GetBucketAbacRequest.struct_class = Types::GetBucketAbacRequest
1281
+
1257
1282
  GetBucketAccelerateConfigurationOutput.add_member(:status, Shapes::ShapeRef.new(shape: BucketAccelerateStatus, location_name: "Status"))
1258
1283
  GetBucketAccelerateConfigurationOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1259
1284
  GetBucketAccelerateConfigurationOutput.struct_class = Types::GetBucketAccelerateConfigurationOutput
@@ -2294,6 +2319,15 @@ module Aws::S3
2294
2319
  PublicAccessBlockConfiguration.add_member(:restrict_public_buckets, Shapes::ShapeRef.new(shape: Setting, location_name: "RestrictPublicBuckets"))
2295
2320
  PublicAccessBlockConfiguration.struct_class = Types::PublicAccessBlockConfiguration
2296
2321
 
2322
+ PutBucketAbacRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2323
+ PutBucketAbacRequest.add_member(:content_md5, Shapes::ShapeRef.new(shape: ContentMD5, location: "header", location_name: "Content-MD5"))
2324
+ PutBucketAbacRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-sdk-checksum-algorithm"))
2325
+ PutBucketAbacRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2326
+ PutBucketAbacRequest.add_member(:abac_status, Shapes::ShapeRef.new(shape: AbacStatus, required: true, location_name: "AbacStatus", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2327
+ PutBucketAbacRequest.struct_class = Types::PutBucketAbacRequest
2328
+ PutBucketAbacRequest[:payload] = :abac_status
2329
+ PutBucketAbacRequest[:payload_member] = PutBucketAbacRequest.member(:abac_status)
2330
+
2297
2331
  PutBucketAccelerateConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2298
2332
  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/"}}))
2299
2333
  PutBucketAccelerateConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
@@ -2843,6 +2877,7 @@ module Aws::S3
2843
2877
 
2844
2878
  ServerSideEncryptionRule.add_member(:apply_server_side_encryption_by_default, Shapes::ShapeRef.new(shape: ServerSideEncryptionByDefault, location_name: "ApplyServerSideEncryptionByDefault"))
2845
2879
  ServerSideEncryptionRule.add_member(:bucket_key_enabled, Shapes::ShapeRef.new(shape: BucketKeyEnabled, location_name: "BucketKeyEnabled"))
2880
+ ServerSideEncryptionRule.add_member(:blocked_encryption_types, Shapes::ShapeRef.new(shape: BlockedEncryptionTypes, location_name: "BlockedEncryptionTypes"))
2846
2881
  ServerSideEncryptionRule.struct_class = Types::ServerSideEncryptionRule
2847
2882
 
2848
2883
  ServerSideEncryptionRules.member = Shapes::ShapeRef.new(shape: ServerSideEncryptionRule)
@@ -3334,6 +3369,14 @@ module Aws::S3
3334
3369
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3335
3370
  end)
3336
3371
 
3372
+ api.add_operation(:get_bucket_abac, Seahorse::Model::Operation.new.tap do |o|
3373
+ o.name = "GetBucketAbac"
3374
+ o.http_method = "GET"
3375
+ o.http_request_uri = "/?abac"
3376
+ o.input = Shapes::ShapeRef.new(shape: GetBucketAbacRequest)
3377
+ o.output = Shapes::ShapeRef.new(shape: GetBucketAbacOutput)
3378
+ end)
3379
+
3337
3380
  api.add_operation(:get_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
3338
3381
  o.name = "GetBucketAccelerateConfiguration"
3339
3382
  o.http_method = "GET"
@@ -3768,6 +3811,22 @@ module Aws::S3
3768
3811
  )
3769
3812
  end)
3770
3813
 
3814
+ api.add_operation(:put_bucket_abac, Seahorse::Model::Operation.new.tap do |o|
3815
+ o.name = "PutBucketAbac"
3816
+ o.http_method = "PUT"
3817
+ o.http_request_uri = "/?abac"
3818
+ o.http_checksum = {
3819
+ "requestAlgorithmMember" => "checksum_algorithm",
3820
+ "requestChecksumRequired" => false,
3821
+ }
3822
+ o.http_checksum = {
3823
+ "requestAlgorithmMember" => "checksum_algorithm",
3824
+ "requestChecksumRequired" => false,
3825
+ }
3826
+ o.input = Shapes::ShapeRef.new(shape: PutBucketAbacRequest)
3827
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3828
+ end)
3829
+
3771
3830
  api.add_operation(:put_bucket_accelerate_configuration, Seahorse::Model::Operation.new.tap do |o|
3772
3831
  o.name = "PutBucketAccelerateConfiguration"
3773
3832
  o.http_method = "PUT"
@@ -518,10 +518,9 @@ module Aws
518
518
  # @option options [Integer] :thread_count (10) Customize threads used in the multipart download.
519
519
  #
520
520
  # @option options [String] :checksum_mode ("ENABLED")
521
- # When `"ENABLED"` and the object has a stored checksum, it will be used to validate the download and will
522
- # raise an `Aws::Errors::ChecksumError` if checksum validation fails. You may provide a `on_checksum_validated`
523
- # callback if you need to verify that validation occurred and which algorithm was used.
524
- # To disable checksum validation, set `checksum_mode` to `"DISABLED"`.
521
+ # This option is deprecated. Use `:response_checksum_validation` on your S3 client instead.
522
+ # To disable checksum validation, set `response_checksum_validation: 'when_required'`
523
+ # when creating your S3 client.
525
524
  #
526
525
  # @option options [Callable] :on_checksum_validated
527
526
  # Called each time a request's checksum is validated with the checksum algorithm and the
@@ -337,6 +337,17 @@ module Aws::S3
337
337
  end
338
338
  end
339
339
 
340
+ class GetBucketAbac
341
+ def self.build(context)
342
+ Aws::S3::EndpointParameters.create(
343
+ context.config,
344
+ bucket: context.params[:bucket],
345
+ use_dual_stack: context[:use_dualstack_endpoint],
346
+ accelerate: context[:use_accelerate_endpoint],
347
+ )
348
+ end
349
+ end
350
+
340
351
  class GetBucketAccelerateConfiguration
341
352
  def self.build(context)
342
353
  Aws::S3::EndpointParameters.create(
@@ -878,6 +889,17 @@ module Aws::S3
878
889
  end
879
890
  end
880
891
 
892
+ class PutBucketAbac
893
+ def self.build(context)
894
+ Aws::S3::EndpointParameters.create(
895
+ context.config,
896
+ bucket: context.params[:bucket],
897
+ use_dual_stack: context[:use_dualstack_endpoint],
898
+ accelerate: context[:use_accelerate_endpoint],
899
+ )
900
+ end
901
+ end
902
+
881
903
  class PutBucketAccelerateConfiguration
882
904
  def self.build(context)
883
905
  Aws::S3::EndpointParameters.create(
@@ -1348,6 +1370,8 @@ module Aws::S3
1348
1370
  DeleteObjects.build(context)
1349
1371
  when :delete_public_access_block
1350
1372
  DeletePublicAccessBlock.build(context)
1373
+ when :get_bucket_abac
1374
+ GetBucketAbac.build(context)
1351
1375
  when :get_bucket_accelerate_configuration
1352
1376
  GetBucketAccelerateConfiguration.build(context)
1353
1377
  when :get_bucket_acl
@@ -1440,6 +1464,8 @@ module Aws::S3
1440
1464
  ListObjectsV2.build(context)
1441
1465
  when :list_parts
1442
1466
  ListParts.build(context)
1467
+ when :put_bucket_abac
1468
+ PutBucketAbac.build(context)
1443
1469
  when :put_bucket_accelerate_configuration
1444
1470
  PutBucketAccelerateConfiguration.build(context)
1445
1471
  when :put_bucket_acl
@@ -90,12 +90,29 @@ module Aws
90
90
  raise error unless error.nil?
91
91
  end
92
92
 
93
+ def handle_checksum_mode_option(option_key, opts)
94
+ return false unless option_key == :checksum_mode && opts[:checksum_mode] == 'DISABLED'
95
+
96
+ msg = ':checksum_mode option is deprecated. Checksums will be validated by default. ' \
97
+ 'To disable checksum validation, set :response_checksum_validation to "when_required" on your S3 client.'
98
+ warn(msg)
99
+ true
100
+ end
101
+
93
102
  def get_opts(opts)
94
- GET_OPTIONS.each_with_object({}) { |k, h| h[k] = opts[k] if opts.key?(k) }
103
+ GET_OPTIONS.each_with_object({}) do |k, h|
104
+ next if k == :checksum_mode
105
+
106
+ h[k] = opts[k] if opts.key?(k)
107
+ end
95
108
  end
96
109
 
97
110
  def head_opts(opts)
98
- HEAD_OPTIONS.each_with_object({}) { |k, h| h[k] = opts[k] if opts.key?(k) }
111
+ HEAD_OPTIONS.each_with_object({}) do |k, h|
112
+ next if handle_checksum_mode_option(k, opts)
113
+
114
+ h[k] = opts[k] if opts.key?(k)
115
+ end
99
116
  end
100
117
 
101
118
  def compute_chunk(chunk_size, file_size)
@@ -124,10 +124,9 @@ module Aws
124
124
  # Only used when no custom executor is provided (creates {DefaultExecutor} with given thread count).
125
125
  #
126
126
  # @option options [String] :checksum_mode ("ENABLED")
127
- # When `"ENABLED"` and the object has a stored checksum, it will be used to validate the download and will
128
- # raise an `Aws::Errors::ChecksumError` if checksum validation fails. You may provide a `on_checksum_validated`
129
- # callback if you need to verify that validation occurred and which algorithm was used.
130
- # To disable checksum validation, set `checksum_mode` to `"DISABLED"`.
127
+ # This option is deprecated. Use `:response_checksum_validation` on your S3 client instead.
128
+ # To disable checksum validation, set `response_checksum_validation: 'when_required'`
129
+ # when creating your S3 client.
131
130
  #
132
131
  # @option options [Callable] :on_checksum_validated
133
132
  # Called each time a request's checksum is validated with the checksum algorithm and the
@@ -10,6 +10,29 @@
10
10
  module Aws::S3
11
11
  module Types
12
12
 
13
+ # The ABAC status of the general purpose bucket. When ABAC is enabled
14
+ # for the general purpose bucket, you can use tags to manage access to
15
+ # the general purpose buckets as well as for cost tracking purposes.
16
+ # When ABAC is disabled for the general purpose buckets, you can only
17
+ # use tags for cost tracking purposes. For more information, see [Using
18
+ # tags with S3 general purpose buckets][1].
19
+ #
20
+ #
21
+ #
22
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html
23
+ #
24
+ # @!attribute [rw] status
25
+ # The ABAC status of the general purpose bucket.
26
+ # @return [String]
27
+ #
28
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/AbacStatus AWS API Documentation
29
+ #
30
+ class AbacStatus < Struct.new(
31
+ :status)
32
+ SENSITIVE = []
33
+ include Aws::Structure
34
+ end
35
+
13
36
  # Specifies the days since the initiation of an incomplete multipart
14
37
  # upload that Amazon S3 will wait before permanently removing all parts
15
38
  # of the upload. For more information, see [ Aborting Incomplete
@@ -355,6 +378,63 @@ module Aws::S3
355
378
  include Aws::Structure
356
379
  end
357
380
 
381
+ # A bucket-level setting for Amazon S3 general purpose buckets used to
382
+ # prevent the upload of new objects encrypted with the specified
383
+ # server-side encryption type. For example, blocking an encryption type
384
+ # will block `PutObject`, `CopyObject`, `PostObject`, multipart upload,
385
+ # and replication requests to the bucket for objects with the specified
386
+ # encryption type. However, you can continue to read and list any
387
+ # pre-existing objects already encrypted with the specified encryption
388
+ # type. For more information, see [Blocking an encryption type for a
389
+ # general purpose bucket][1].
390
+ #
391
+ # This data type is used with the following actions:
392
+ #
393
+ # * [PutBucketEncryption][2]
394
+ #
395
+ # * [GetBucketEncryption][3]
396
+ #
397
+ # * [DeleteBucketEncryption][4]
398
+ #
399
+ # Permissions
400
+ #
401
+ # : You must have the `s3:PutEncryptionConfiguration` permission to
402
+ # block or unblock an encryption type for a bucket.
403
+ #
404
+ # You must have the `s3:GetEncryptionConfiguration` permission to view
405
+ # a bucket's encryption type.
406
+ #
407
+ #
408
+ #
409
+ # [1]: https://docs.aws.amazon.com/AmazonS3/userguide/block-encryption-type.html
410
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
411
+ # [3]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
412
+ # [4]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html
413
+ #
414
+ # @!attribute [rw] encryption_type
415
+ # The object encryption type that you want to block or unblock for an
416
+ # Amazon S3 general purpose bucket.
417
+ #
418
+ # <note markdown="1"> Currently, this parameter only supports blocking or unblocking
419
+ # server side encryption with customer-provided keys (SSE-C). For more
420
+ # information about SSE-C, see [Using server-side encryption with
421
+ # customer-provided keys (SSE-C)][1].
422
+ #
423
+ # </note>
424
+ #
425
+ #
426
+ #
427
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
428
+ # @return [Array<String>]
429
+ #
430
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/BlockedEncryptionTypes AWS API Documentation
431
+ #
432
+ class BlockedEncryptionTypes < Struct.new(
433
+ :encryption_type)
434
+ SENSITIVE = []
435
+ include Aws::Structure
436
+ end
437
+
358
438
  # In terms of implementation, a Bucket is a resource.
359
439
  #
360
440
  # @!attribute [rw] name
@@ -2740,11 +2820,11 @@ module Aws::S3
2740
2820
  # creating. Tags are key-value pairs of metadata used to categorize
2741
2821
  # and organize your buckets, track costs, and control access.
2742
2822
  #
2743
- # <note markdown="1"> * This parameter is only supported for S3 directory buckets. For
2744
- # more information, see [Using tags with directory buckets][1].
2823
+ # <note markdown="1"> This parameter is only supported for S3 directory buckets. For more
2824
+ # information, see [Using tags with directory buckets][1].
2745
2825
  #
2746
- # * You must have the `s3express:TagResource` permission to create a
2747
- # directory bucket with tags.
2826
+ # You must have the `s3express:TagResource` permission to create a
2827
+ # directory bucket with tags.
2748
2828
  #
2749
2829
  # </note>
2750
2830
  #
@@ -6365,6 +6445,36 @@ module Aws::S3
6365
6445
  include Aws::Structure
6366
6446
  end
6367
6447
 
6448
+ # @!attribute [rw] abac_status
6449
+ # The ABAC status of the general purpose bucket.
6450
+ # @return [Types::AbacStatus]
6451
+ #
6452
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAbacOutput AWS API Documentation
6453
+ #
6454
+ class GetBucketAbacOutput < Struct.new(
6455
+ :abac_status)
6456
+ SENSITIVE = []
6457
+ include Aws::Structure
6458
+ end
6459
+
6460
+ # @!attribute [rw] bucket
6461
+ # The name of the general purpose bucket.
6462
+ # @return [String]
6463
+ #
6464
+ # @!attribute [rw] expected_bucket_owner
6465
+ # The Amazon Web Services account ID of the general purpose bucket's
6466
+ # owner.
6467
+ # @return [String]
6468
+ #
6469
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketAbacRequest AWS API Documentation
6470
+ #
6471
+ class GetBucketAbacRequest < Struct.new(
6472
+ :bucket,
6473
+ :expected_bucket_owner)
6474
+ SENSITIVE = []
6475
+ include Aws::Structure
6476
+ end
6477
+
6368
6478
  # @!attribute [rw] status
6369
6479
  # The accelerate configuration of the bucket.
6370
6480
  # @return [String]
@@ -14239,6 +14349,58 @@ module Aws::S3
14239
14349
  include Aws::Structure
14240
14350
  end
14241
14351
 
14352
+ # @!attribute [rw] bucket
14353
+ # The name of the general purpose bucket.
14354
+ # @return [String]
14355
+ #
14356
+ # @!attribute [rw] content_md5
14357
+ # The MD5 hash of the `PutBucketAbac` request body.
14358
+ #
14359
+ # For requests made using the Amazon Web Services Command Line
14360
+ # Interface (CLI) or Amazon Web Services SDKs, this field is
14361
+ # calculated automatically.
14362
+ # @return [String]
14363
+ #
14364
+ # @!attribute [rw] checksum_algorithm
14365
+ # Indicates the algorithm that you want Amazon S3 to use to create the
14366
+ # checksum. For more information, see [ Checking object integrity][1]
14367
+ # in the *Amazon S3 User Guide*.
14368
+ #
14369
+ #
14370
+ #
14371
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
14372
+ # @return [String]
14373
+ #
14374
+ # @!attribute [rw] expected_bucket_owner
14375
+ # The Amazon Web Services account ID of the general purpose bucket's
14376
+ # owner.
14377
+ # @return [String]
14378
+ #
14379
+ # @!attribute [rw] abac_status
14380
+ # The ABAC status of the general purpose bucket. When ABAC is enabled
14381
+ # for the general purpose bucket, you can use tags to manage access to
14382
+ # the general purpose buckets as well as for cost tracking purposes.
14383
+ # When ABAC is disabled for the general purpose buckets, you can only
14384
+ # use tags for cost tracking purposes. For more information, see
14385
+ # [Using tags with S3 general purpose buckets][1].
14386
+ #
14387
+ #
14388
+ #
14389
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html
14390
+ # @return [Types::AbacStatus]
14391
+ #
14392
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/PutBucketAbacRequest AWS API Documentation
14393
+ #
14394
+ class PutBucketAbacRequest < Struct.new(
14395
+ :bucket,
14396
+ :content_md5,
14397
+ :checksum_algorithm,
14398
+ :expected_bucket_owner,
14399
+ :abac_status)
14400
+ SENSITIVE = []
14401
+ include Aws::Structure
14402
+ end
14403
+
14242
14404
  # @!attribute [rw] bucket
14243
14405
  # The name of the bucket for which the accelerate configuration is
14244
14406
  # set.
@@ -17253,7 +17415,7 @@ module Aws::S3
17253
17415
  # record frame. To ensure continuous streaming of data, S3 Select
17254
17416
  # might split the same record across multiple record frames instead of
17255
17417
  # aggregating the results in memory. Some S3 clients (for example, the
17256
- # SDKforJava) handle this behavior by creating a `ByteStream` out of
17418
+ # SDK for Java) handle this behavior by creating a `ByteStream` out of
17257
17419
  # the response by default. Other clients might not handle this
17258
17420
  # behavior by default. In those cases, you must aggregate the results
17259
17421
  # on the client side and parse the response.
@@ -18745,11 +18907,36 @@ module Aws::S3
18745
18907
  # [5]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job
18746
18908
  # @return [Boolean]
18747
18909
  #
18910
+ # @!attribute [rw] blocked_encryption_types
18911
+ # A bucket-level setting for Amazon S3 general purpose buckets used to
18912
+ # prevent the upload of new objects encrypted with the specified
18913
+ # server-side encryption type. For example, blocking an encryption
18914
+ # type will block `PutObject`, `CopyObject`, `PostObject`, multipart
18915
+ # upload, and replication requests to the bucket for objects with the
18916
+ # specified encryption type. However, you can continue to read and
18917
+ # list any pre-existing objects already encrypted with the specified
18918
+ # encryption type. For more information, see [Blocking an encryption
18919
+ # type for a general purpose bucket][1].
18920
+ #
18921
+ # <note markdown="1"> Currently, this parameter only supports blocking or unblocking
18922
+ # Server Side Encryption with Customer Provided Keys (SSE-C). For more
18923
+ # information about SSE-C, see [Using server-side encryption with
18924
+ # customer-provided keys (SSE-C)][2].
18925
+ #
18926
+ # </note>
18927
+ #
18928
+ #
18929
+ #
18930
+ # [1]: https://docs.aws.amazon.com/AmazonS3/userguide/block-encryption-type.html
18931
+ # [2]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
18932
+ # @return [Types::BlockedEncryptionTypes]
18933
+ #
18748
18934
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ServerSideEncryptionRule AWS API Documentation
18749
18935
  #
18750
18936
  class ServerSideEncryptionRule < Struct.new(
18751
18937
  :apply_server_side_encryption_by_default,
18752
- :bucket_key_enabled)
18938
+ :bucket_key_enabled,
18939
+ :blocked_encryption_types)
18753
18940
  SENSITIVE = []
18754
18941
  include Aws::Structure
18755
18942
  end
data/lib/aws-sdk-s3.rb CHANGED
@@ -75,7 +75,7 @@ module Aws::S3
75
75
  autoload :ObjectVersion, 'aws-sdk-s3/object_version'
76
76
  autoload :EventStreams, 'aws-sdk-s3/event_streams'
77
77
 
78
- GEM_VERSION = '1.203.0'
78
+ GEM_VERSION = '1.205.0'
79
79
 
80
80
  end
81
81
 
data/sig/client.rbs CHANGED
@@ -554,6 +554,17 @@ module Aws
554
554
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
555
555
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
556
556
 
557
+ interface _GetBucketAbacResponseSuccess
558
+ include ::Seahorse::Client::_ResponseSuccess[Types::GetBucketAbacOutput]
559
+ def abac_status: () -> Types::AbacStatus
560
+ end
561
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#get_bucket_abac-instance_method
562
+ def get_bucket_abac: (
563
+ bucket: ::String,
564
+ ?expected_bucket_owner: ::String
565
+ ) -> _GetBucketAbacResponseSuccess
566
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetBucketAbacResponseSuccess
567
+
557
568
  interface _GetBucketAccelerateConfigurationResponseSuccess
558
569
  include ::Seahorse::Client::_ResponseSuccess[Types::GetBucketAccelerateConfigurationOutput]
559
570
  def status: () -> ("Enabled" | "Suspended")
@@ -1353,6 +1364,18 @@ module Aws
1353
1364
  ) -> _ListPartsResponseSuccess
1354
1365
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListPartsResponseSuccess
1355
1366
 
1367
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#put_bucket_abac-instance_method
1368
+ def put_bucket_abac: (
1369
+ bucket: ::String,
1370
+ ?content_md5: ::String,
1371
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME"),
1372
+ ?expected_bucket_owner: ::String,
1373
+ abac_status: {
1374
+ status: ("Enabled" | "Disabled")?
1375
+ }
1376
+ ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
1377
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
1378
+
1356
1379
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#put_bucket_accelerate_configuration-instance_method
1357
1380
  def put_bucket_accelerate_configuration: (
1358
1381
  bucket: ::String,
@@ -1470,7 +1493,10 @@ module Aws
1470
1493
  sse_algorithm: ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse"),
1471
1494
  kms_master_key_id: ::String?
1472
1495
  }?,
1473
- bucket_key_enabled: bool?
1496
+ bucket_key_enabled: bool?,
1497
+ blocked_encryption_types: {
1498
+ encryption_type: Array[("NONE" | "SSE-C")]?
1499
+ }?
1474
1500
  },
1475
1501
  ]
1476
1502
  },
data/sig/types.rbs CHANGED
@@ -8,6 +8,11 @@
8
8
  module Aws::S3
9
9
  module Types
10
10
 
11
+ class AbacStatus
12
+ attr_accessor status: ("Enabled" | "Disabled")
13
+ SENSITIVE: []
14
+ end
15
+
11
16
  class AbortIncompleteMultipartUpload
12
17
  attr_accessor days_after_initiation: ::Integer
13
18
  SENSITIVE: []
@@ -77,6 +82,11 @@ module Aws::S3
77
82
  SENSITIVE: []
78
83
  end
79
84
 
85
+ class BlockedEncryptionTypes
86
+ attr_accessor encryption_type: ::Array[("NONE" | "SSE-C")]
87
+ SENSITIVE: []
88
+ end
89
+
80
90
  class Bucket
81
91
  attr_accessor name: ::String
82
92
  attr_accessor creation_date: ::Time
@@ -696,6 +706,17 @@ module Aws::S3
696
706
  SENSITIVE: []
697
707
  end
698
708
 
709
+ class GetBucketAbacOutput
710
+ attr_accessor abac_status: Types::AbacStatus
711
+ SENSITIVE: []
712
+ end
713
+
714
+ class GetBucketAbacRequest
715
+ attr_accessor bucket: ::String
716
+ attr_accessor expected_bucket_owner: ::String
717
+ SENSITIVE: []
718
+ end
719
+
699
720
  class GetBucketAccelerateConfigurationOutput
700
721
  attr_accessor status: ("Enabled" | "Suspended")
701
722
  attr_accessor request_charged: ("requester")
@@ -1993,6 +2014,15 @@ module Aws::S3
1993
2014
  SENSITIVE: []
1994
2015
  end
1995
2016
 
2017
+ class PutBucketAbacRequest
2018
+ attr_accessor bucket: ::String
2019
+ attr_accessor content_md5: ::String
2020
+ attr_accessor checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME")
2021
+ attr_accessor expected_bucket_owner: ::String
2022
+ attr_accessor abac_status: Types::AbacStatus
2023
+ SENSITIVE: []
2024
+ end
2025
+
1996
2026
  class PutBucketAccelerateConfigurationRequest
1997
2027
  attr_accessor bucket: ::String
1998
2028
  attr_accessor accelerate_configuration: Types::AccelerateConfiguration
@@ -2607,6 +2637,7 @@ module Aws::S3
2607
2637
  class ServerSideEncryptionRule
2608
2638
  attr_accessor apply_server_side_encryption_by_default: Types::ServerSideEncryptionByDefault
2609
2639
  attr_accessor bucket_key_enabled: bool
2640
+ attr_accessor blocked_encryption_types: Types::BlockedEncryptionTypes
2610
2641
  SENSITIVE: []
2611
2642
  end
2612
2643
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-s3
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.203.0
4
+ version: 1.205.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services