aws-sdk-s3 1.220.0 → 1.232.2

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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +89 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-s3/bucket.rb +26 -2
  5. data/lib/aws-sdk-s3/bucket_notification.rb +3 -3
  6. data/lib/aws-sdk-s3/client.rb +869 -62
  7. data/lib/aws-sdk-s3/client_api.rb +301 -0
  8. data/lib/aws-sdk-s3/customizations/object.rb +55 -25
  9. data/lib/aws-sdk-s3/encryptionV2/kms_cipher_provider.rb +14 -1
  10. data/lib/aws-sdk-s3/encryptionV3/kms_cipher_provider.rb +13 -1
  11. data/lib/aws-sdk-s3/endpoint_provider.rb +6 -3
  12. data/lib/aws-sdk-s3/endpoints.rb +68 -0
  13. data/lib/aws-sdk-s3/errors.rb +66 -0
  14. data/lib/aws-sdk-s3/file_downloader.rb +3 -1
  15. data/lib/aws-sdk-s3/multipart_file_uploader.rb +1 -1
  16. data/lib/aws-sdk-s3/object.rb +150 -8
  17. data/lib/aws-sdk-s3/object_copier.rb +11 -22
  18. data/lib/aws-sdk-s3/object_multipart_copier.rb +177 -84
  19. data/lib/aws-sdk-s3/object_summary.rb +117 -8
  20. data/lib/aws-sdk-s3/plugins/http_200_errors.rb +1 -1
  21. data/lib/aws-sdk-s3/transfer_manager.rb +44 -31
  22. data/lib/aws-sdk-s3/types.rb +1162 -46
  23. data/lib/aws-sdk-s3.rb +1 -1
  24. data/sig/bucket.rbs +7 -4
  25. data/sig/bucket_acl.rbs +1 -1
  26. data/sig/bucket_cors.rbs +1 -1
  27. data/sig/bucket_lifecycle.rbs +1 -1
  28. data/sig/bucket_lifecycle_configuration.rbs +4 -4
  29. data/sig/bucket_logging.rbs +1 -1
  30. data/sig/bucket_notification.rbs +9 -9
  31. data/sig/bucket_tagging.rbs +1 -1
  32. data/sig/bucket_website.rbs +1 -1
  33. data/sig/client.rbs +246 -198
  34. data/sig/errors.rbs +12 -0
  35. data/sig/multipart_upload.rbs +2 -2
  36. data/sig/object.rbs +32 -13
  37. data/sig/object_acl.rbs +1 -1
  38. data/sig/object_summary.rbs +22 -12
  39. data/sig/params.rbs +78 -0
  40. data/sig/resource.rbs +1 -1
  41. data/sig/types.rbs +249 -39
  42. metadata +4 -3
data/sig/client.rbs CHANGED
@@ -126,7 +126,7 @@ module Aws
126
126
  def checksum_xxhash3: () -> ::String
127
127
  def checksum_xxhash128: () -> ::String
128
128
  def checksum_type: () -> ("COMPOSITE" | "FULL_OBJECT")
129
- def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse")
129
+ def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse")
130
130
  def version_id: () -> ::String
131
131
  def ssekms_key_id: () -> ::String
132
132
  def bucket_key_enabled: () -> bool
@@ -151,7 +151,7 @@ module Aws
151
151
  checksum_xxhash3: ::String?,
152
152
  checksum_xxhash128: ::String?,
153
153
  part_number: ::Integer?
154
- },
154
+ }
155
155
  ]?
156
156
  },
157
157
  upload_id: ::String,
@@ -183,7 +183,7 @@ module Aws
183
183
  def expiration: () -> ::String
184
184
  def copy_source_version_id: () -> ::String
185
185
  def version_id: () -> ::String
186
- def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse")
186
+ def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse")
187
187
  def sse_customer_algorithm: () -> ::String
188
188
  def sse_customer_key_md5: () -> ::String
189
189
  def ssekms_key_id: () -> ::String
@@ -217,8 +217,9 @@ module Aws
217
217
  ?metadata: Hash[::String, ::String],
218
218
  ?metadata_directive: ("COPY" | "REPLACE"),
219
219
  ?tagging_directive: ("COPY" | "REPLACE"),
220
- ?server_side_encryption: ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse"),
221
- ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP"),
220
+ ?annotation_directive: ("COPY" | "EXCLUDE"),
221
+ ?server_side_encryption: ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse"),
222
+ ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP" | "AWS_BACKUP_WARM" | "AWS_BACKUP_LOW_COST_WARM"),
222
223
  ?website_redirect_location: ::String,
223
224
  ?sse_customer_algorithm: ::String,
224
225
  ?sse_customer_key: ::String,
@@ -234,6 +235,9 @@ module Aws
234
235
  ?object_lock_mode: ("GOVERNANCE" | "COMPLIANCE"),
235
236
  ?object_lock_retain_until_date: ::Time,
236
237
  ?object_lock_legal_hold_status: ("ON" | "OFF"),
238
+ ?object_lock_event_hold: ("ON" | "OFF"),
239
+ ?object_lock_event_hold_duration_days: ::Integer,
240
+ ?object_lock_event_hold_duration_years: ::Integer,
237
241
  ?expected_bucket_owner: ::String,
238
242
  ?expected_source_bucket_owner: ::String
239
243
  ) -> _CopyObjectResponseSuccess
@@ -262,7 +266,7 @@ module Aws
262
266
  {
263
267
  key: ::String,
264
268
  value: ::String
265
- },
269
+ }
266
270
  ]?
267
271
  },
268
272
  ?grant_full_control: ::String,
@@ -298,6 +302,14 @@ module Aws
298
302
  sse_algorithm: ("aws:kms" | "AES256"),
299
303
  kms_key_arn: ::String?
300
304
  }?
305
+ }?,
306
+ annotation_table_configuration: {
307
+ configuration_state: ("ENABLED" | "DISABLED"),
308
+ encryption_configuration: {
309
+ sse_algorithm: ("aws:kms" | "AES256"),
310
+ kms_key_arn: ::String?
311
+ }?,
312
+ role: ::String?
301
313
  }?
302
314
  },
303
315
  ?expected_bucket_owner: ::String
@@ -326,7 +338,7 @@ module Aws
326
338
  def bucket: () -> ::String
327
339
  def key: () -> ::String
328
340
  def upload_id: () -> ::String
329
- def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse")
341
+ def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse")
330
342
  def sse_customer_algorithm: () -> ::String
331
343
  def sse_customer_key_md5: () -> ::String
332
344
  def ssekms_key_id: () -> ::String
@@ -352,8 +364,8 @@ module Aws
352
364
  ?grant_write_acp: ::String,
353
365
  key: ::String,
354
366
  ?metadata: Hash[::String, ::String],
355
- ?server_side_encryption: ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse"),
356
- ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP"),
367
+ ?server_side_encryption: ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse"),
368
+ ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP" | "AWS_BACKUP_WARM" | "AWS_BACKUP_LOW_COST_WARM"),
357
369
  ?website_redirect_location: ::String,
358
370
  ?sse_customer_algorithm: ::String,
359
371
  ?sse_customer_key: ::String,
@@ -366,6 +378,9 @@ module Aws
366
378
  ?object_lock_mode: ("GOVERNANCE" | "COMPLIANCE"),
367
379
  ?object_lock_retain_until_date: ::Time,
368
380
  ?object_lock_legal_hold_status: ("ON" | "OFF"),
381
+ ?object_lock_event_hold: ("ON" | "OFF"),
382
+ ?object_lock_event_hold_duration_days: ::Integer,
383
+ ?object_lock_event_hold_duration_years: ::Integer,
369
384
  ?expected_bucket_owner: ::String,
370
385
  ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME" | "SHA512" | "MD5" | "XXHASH64" | "XXHASH3" | "XXHASH128"),
371
386
  ?checksum_type: ("COMPOSITE" | "FULL_OBJECT")
@@ -374,7 +389,7 @@ module Aws
374
389
 
375
390
  interface _CreateSessionResponseSuccess
376
391
  include ::Seahorse::Client::_ResponseSuccess[Types::CreateSessionOutput]
377
- def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse")
392
+ def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse")
378
393
  def ssekms_key_id: () -> ::String
379
394
  def ssekms_encryption_context: () -> ::String
380
395
  def bucket_key_enabled: () -> bool
@@ -384,7 +399,7 @@ module Aws
384
399
  def create_session: (
385
400
  ?session_mode: ("ReadOnly" | "ReadWrite"),
386
401
  bucket: ::String,
387
- ?server_side_encryption: ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse"),
402
+ ?server_side_encryption: ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse"),
388
403
  ?ssekms_key_id: ::String,
389
404
  ?ssekms_encryption_context: ::String,
390
405
  ?bucket_key_enabled: bool
@@ -521,6 +536,23 @@ module Aws
521
536
  ) -> _DeleteObjectResponseSuccess
522
537
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteObjectResponseSuccess
523
538
 
539
+ interface _DeleteObjectAnnotationResponseSuccess
540
+ include ::Seahorse::Client::_ResponseSuccess[Types::DeleteObjectAnnotationOutput]
541
+ def object_version_id: () -> ::String
542
+ def request_charged: () -> ("requester")
543
+ end
544
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#delete_object_annotation-instance_method
545
+ def delete_object_annotation: (
546
+ bucket: ::String,
547
+ key: ::String,
548
+ annotation_name: ::String,
549
+ ?version_id: ::String,
550
+ ?request_payer: ("requester"),
551
+ ?expected_bucket_owner: ::String,
552
+ ?object_if_match: ::String
553
+ ) -> _DeleteObjectAnnotationResponseSuccess
554
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteObjectAnnotationResponseSuccess
555
+
524
556
  interface _DeleteObjectTaggingResponseSuccess
525
557
  include ::Seahorse::Client::_ResponseSuccess[Types::DeleteObjectTaggingOutput]
526
558
  def version_id: () -> ::String
@@ -551,7 +583,7 @@ module Aws
551
583
  etag: ::String?,
552
584
  last_modified_time: ::Time?,
553
585
  size: ::Integer?
554
- },
586
+ }
555
587
  ],
556
588
  quiet: bool?
557
589
  },
@@ -894,13 +926,13 @@ module Aws
894
926
  def expires: () -> ::Time
895
927
  def expires_string: () -> ::String
896
928
  def website_redirect_location: () -> ::String
897
- def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse")
929
+ def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse")
898
930
  def metadata: () -> ::Hash[::String, ::String]
899
931
  def sse_customer_algorithm: () -> ::String
900
932
  def sse_customer_key_md5: () -> ::String
901
933
  def ssekms_key_id: () -> ::String
902
934
  def bucket_key_enabled: () -> bool
903
- def storage_class: () -> ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP")
935
+ def storage_class: () -> ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP" | "AWS_BACKUP_WARM" | "AWS_BACKUP_LOW_COST_WARM")
904
936
  def request_charged: () -> ("requester")
905
937
  def replication_status: () -> ("COMPLETE" | "PENDING" | "FAILED" | "REPLICA" | "COMPLETED")
906
938
  def parts_count: () -> ::Integer
@@ -908,6 +940,9 @@ module Aws
908
940
  def object_lock_mode: () -> ("GOVERNANCE" | "COMPLIANCE")
909
941
  def object_lock_retain_until_date: () -> ::Time
910
942
  def object_lock_legal_hold_status: () -> ("ON" | "OFF")
943
+ def object_lock_event_hold: () -> ("ON" | "OFF")
944
+ def object_lock_event_hold_duration_days: () -> ::Integer
945
+ def object_lock_event_hold_duration_years: () -> ::Integer
911
946
  end
912
947
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#get_object-instance_method
913
948
  def get_object: (
@@ -951,6 +986,40 @@ module Aws
951
986
  ) -> _GetObjectAclResponseSuccess
952
987
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetObjectAclResponseSuccess
953
988
 
989
+ interface _GetObjectAnnotationResponseSuccess
990
+ include ::Seahorse::Client::_ResponseSuccess[Types::GetObjectAnnotationOutput]
991
+ def annotation_payload: () -> ::IO
992
+ def object_version_id: () -> ::String
993
+ def last_modified: () -> ::Time
994
+ def content_length: () -> ::Integer
995
+ def etag: () -> ::String
996
+ def checksum_crc32: () -> ::String
997
+ def checksum_crc32c: () -> ::String
998
+ def checksum_crc64nvme: () -> ::String
999
+ def checksum_sha1: () -> ::String
1000
+ def checksum_sha256: () -> ::String
1001
+ def checksum_sha512: () -> ::String
1002
+ def checksum_md5: () -> ::String
1003
+ def checksum_xxhash64: () -> ::String
1004
+ def checksum_xxhash3: () -> ::String
1005
+ def checksum_xxhash128: () -> ::String
1006
+ def checksum_type: () -> ("COMPOSITE" | "FULL_OBJECT")
1007
+ def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse")
1008
+ def request_charged: () -> ("requester")
1009
+ def replication_status: () -> ("COMPLETE" | "PENDING" | "FAILED" | "REPLICA" | "COMPLETED")
1010
+ end
1011
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#get_object_annotation-instance_method
1012
+ def get_object_annotation: (
1013
+ bucket: ::String,
1014
+ key: ::String,
1015
+ annotation_name: ::String,
1016
+ ?version_id: ::String,
1017
+ ?request_payer: ("requester"),
1018
+ ?expected_bucket_owner: ::String,
1019
+ ?checksum_mode: ("ENABLED")
1020
+ ) ?{ (*untyped) -> void } -> _GetObjectAnnotationResponseSuccess
1021
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _GetObjectAnnotationResponseSuccess
1022
+
954
1023
  interface _GetObjectAttributesResponseSuccess
955
1024
  include ::Seahorse::Client::_ResponseSuccess[Types::GetObjectAttributesOutput]
956
1025
  def delete_marker: () -> bool
@@ -960,7 +1029,7 @@ module Aws
960
1029
  def etag: () -> ::String
961
1030
  def checksum: () -> Types::Checksum
962
1031
  def object_parts: () -> Types::GetObjectAttributesParts
963
- def storage_class: () -> ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP")
1032
+ def storage_class: () -> ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP" | "AWS_BACKUP_WARM" | "AWS_BACKUP_LOW_COST_WARM")
964
1033
  def object_size: () -> ::Integer
965
1034
  end
966
1035
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#get_object_attributes-instance_method
@@ -1105,13 +1174,13 @@ module Aws
1105
1174
  def expires: () -> ::Time
1106
1175
  def expires_string: () -> ::String
1107
1176
  def website_redirect_location: () -> ::String
1108
- def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse")
1177
+ def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse")
1109
1178
  def metadata: () -> ::Hash[::String, ::String]
1110
1179
  def sse_customer_algorithm: () -> ::String
1111
1180
  def sse_customer_key_md5: () -> ::String
1112
1181
  def ssekms_key_id: () -> ::String
1113
1182
  def bucket_key_enabled: () -> bool
1114
- def storage_class: () -> ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP")
1183
+ def storage_class: () -> ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP" | "AWS_BACKUP_WARM" | "AWS_BACKUP_LOW_COST_WARM")
1115
1184
  def request_charged: () -> ("requester")
1116
1185
  def replication_status: () -> ("COMPLETE" | "PENDING" | "FAILED" | "REPLICA" | "COMPLETED")
1117
1186
  def parts_count: () -> ::Integer
@@ -1119,6 +1188,9 @@ module Aws
1119
1188
  def object_lock_mode: () -> ("GOVERNANCE" | "COMPLIANCE")
1120
1189
  def object_lock_retain_until_date: () -> ::Time
1121
1190
  def object_lock_legal_hold_status: () -> ("ON" | "OFF")
1191
+ def object_lock_event_hold: () -> ("ON" | "OFF")
1192
+ def object_lock_event_hold_duration_days: () -> ::Integer
1193
+ def object_lock_event_hold_duration_years: () -> ::Integer
1122
1194
  end
1123
1195
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#head_object-instance_method
1124
1196
  def head_object: (
@@ -1264,6 +1336,32 @@ module Aws
1264
1336
  ) -> _ListMultipartUploadsResponseSuccess
1265
1337
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListMultipartUploadsResponseSuccess
1266
1338
 
1339
+ interface _ListObjectAnnotationsResponseSuccess
1340
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListObjectAnnotationsOutput]
1341
+ def annotations: () -> ::Array[Types::AnnotationEntry]
1342
+ def bucket: () -> ::String
1343
+ def key: () -> ::String
1344
+ def object_version_id: () -> ::String
1345
+ def annotation_prefix: () -> ::String
1346
+ def max_annotation_results: () -> ::Integer
1347
+ def annotation_count: () -> ::Integer
1348
+ def continuation_token: () -> ::String
1349
+ def next_continuation_token: () -> ::String
1350
+ def request_charged: () -> ("requester")
1351
+ end
1352
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#list_object_annotations-instance_method
1353
+ def list_object_annotations: (
1354
+ bucket: ::String,
1355
+ key: ::String,
1356
+ ?version_id: ::String,
1357
+ ?max_annotation_results: ::Integer,
1358
+ ?annotation_prefix: ::String,
1359
+ ?continuation_token: ::String,
1360
+ ?request_payer: ("requester"),
1361
+ ?expected_bucket_owner: ::String
1362
+ ) -> _ListObjectAnnotationsResponseSuccess
1363
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListObjectAnnotationsResponseSuccess
1364
+
1267
1365
  interface _ListObjectVersionsResponseSuccess
1268
1366
  include ::Seahorse::Client::_ResponseSuccess[Types::ListObjectVersionsOutput]
1269
1367
  def is_truncated: () -> bool
@@ -1370,7 +1468,7 @@ module Aws
1370
1468
  def parts: () -> ::Array[Types::Part]
1371
1469
  def initiator: () -> Types::Initiator
1372
1470
  def owner: () -> Types::Owner
1373
- def storage_class: () -> ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP")
1471
+ def storage_class: () -> ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP" | "AWS_BACKUP_WARM" | "AWS_BACKUP_LOW_COST_WARM")
1374
1472
  def request_charged: () -> ("requester")
1375
1473
  def checksum_algorithm: () -> ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME" | "SHA512" | "MD5" | "XXHASH64" | "XXHASH3" | "XXHASH128")
1376
1474
  def checksum_type: () -> ("COMPOSITE" | "FULL_OBJECT")
@@ -1416,24 +1514,7 @@ module Aws
1416
1514
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#put_bucket_acl-instance_method
1417
1515
  def put_bucket_acl: (
1418
1516
  ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read"),
1419
- ?access_control_policy: {
1420
- grants: Array[
1421
- {
1422
- grantee: {
1423
- display_name: ::String?,
1424
- email_address: ::String?,
1425
- id: ::String?,
1426
- type: ("CanonicalUser" | "AmazonCustomerByEmail" | "Group"),
1427
- uri: ::String?
1428
- }?,
1429
- permission: ("FULL_CONTROL" | "WRITE" | "WRITE_ACP" | "READ" | "READ_ACP")?
1430
- },
1431
- ]?,
1432
- owner: {
1433
- display_name: ::String?,
1434
- id: ::String?
1435
- }?
1436
- },
1517
+ ?access_control_policy: Params::access_control_policy,
1437
1518
  bucket: ::String,
1438
1519
  ?content_md5: ::String,
1439
1520
  ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME" | "SHA512" | "MD5" | "XXHASH64" | "XXHASH3" | "XXHASH128"),
@@ -1464,7 +1545,7 @@ module Aws
1464
1545
  {
1465
1546
  key: ::String,
1466
1547
  value: ::String
1467
- },
1548
+ }
1468
1549
  ]?
1469
1550
  }?
1470
1551
  }?,
@@ -1498,7 +1579,7 @@ module Aws
1498
1579
  allowed_origins: Array[::String],
1499
1580
  expose_headers: Array[::String]?,
1500
1581
  max_age_seconds: ::Integer?
1501
- },
1582
+ }
1502
1583
  ]
1503
1584
  },
1504
1585
  ?content_md5: ::String,
@@ -1516,14 +1597,14 @@ module Aws
1516
1597
  rules: Array[
1517
1598
  {
1518
1599
  apply_server_side_encryption_by_default: {
1519
- sse_algorithm: ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse"),
1600
+ sse_algorithm: ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse"),
1520
1601
  kms_master_key_id: ::String?
1521
1602
  }?,
1522
1603
  bucket_key_enabled: bool?,
1523
1604
  blocked_encryption_types: {
1524
1605
  encryption_type: Array[("NONE" | "SSE-C")]?
1525
1606
  }?
1526
- },
1607
+ }
1527
1608
  ]
1528
1609
  },
1529
1610
  ?expected_bucket_owner: ::String
@@ -1549,7 +1630,7 @@ module Aws
1549
1630
  {
1550
1631
  key: ::String,
1551
1632
  value: ::String
1552
- },
1633
+ }
1553
1634
  ]?
1554
1635
  }?
1555
1636
  }?,
@@ -1558,7 +1639,7 @@ module Aws
1558
1639
  {
1559
1640
  days: ::Integer,
1560
1641
  access_tier: ("ARCHIVE_ACCESS" | "DEEP_ARCHIVE_ACCESS")
1561
- },
1642
+ }
1562
1643
  ]
1563
1644
  }
1564
1645
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
@@ -1590,7 +1671,7 @@ module Aws
1590
1671
  }?,
1591
1672
  id: ::String,
1592
1673
  included_object_versions: ("All" | "Current"),
1593
- optional_fields: Array[("Size" | "LastModifiedDate" | "StorageClass" | "ETag" | "IsMultipartUploaded" | "ReplicationStatus" | "EncryptionStatus" | "ObjectLockRetainUntilDate" | "ObjectLockMode" | "ObjectLockLegalHoldStatus" | "IntelligentTieringAccessTier" | "BucketKeyStatus" | "ChecksumAlgorithm" | "ObjectAccessControlList" | "ObjectOwner" | "LifecycleExpirationDate")]?,
1674
+ optional_fields: Array[("Size" | "LastModifiedDate" | "StorageClass" | "ETag" | "IsMultipartUploaded" | "ReplicationStatus" | "EncryptionStatus" | "ObjectLockRetainUntilDate" | "ObjectLockMode" | "ObjectLockLegalHoldStatus" | "ObjectLockEventHoldStatus" | "ObjectLockEventHoldDuration" | "IntelligentTieringAccessTier" | "BucketKeyStatus" | "ChecksumAlgorithm" | "ObjectAccessControlList" | "ObjectOwner" | "LifecycleExpirationDate")]?,
1594
1675
  schedule: {
1595
1676
  frequency: ("Daily" | "Weekly")
1596
1677
  }
@@ -1632,7 +1713,7 @@ module Aws
1632
1713
  abort_incomplete_multipart_upload: {
1633
1714
  days_after_initiation: ::Integer?
1634
1715
  }?
1635
- },
1716
+ }
1636
1717
  ]
1637
1718
  },
1638
1719
  ?expected_bucket_owner: ::String
@@ -1671,7 +1752,7 @@ module Aws
1671
1752
  {
1672
1753
  key: ::String,
1673
1754
  value: ::String
1674
- },
1755
+ }
1675
1756
  ]?,
1676
1757
  object_size_greater_than: ::Integer?,
1677
1758
  object_size_less_than: ::Integer?
@@ -1683,14 +1764,14 @@ module Aws
1683
1764
  date: ::Time?,
1684
1765
  days: ::Integer?,
1685
1766
  storage_class: ("GLACIER" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "DEEP_ARCHIVE" | "GLACIER_IR")?
1686
- },
1767
+ }
1687
1768
  ]?,
1688
1769
  noncurrent_version_transitions: Array[
1689
1770
  {
1690
1771
  noncurrent_days: ::Integer?,
1691
1772
  storage_class: ("GLACIER" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "DEEP_ARCHIVE" | "GLACIER_IR")?,
1692
1773
  newer_noncurrent_versions: ::Integer?
1693
- },
1774
+ }
1694
1775
  ]?,
1695
1776
  noncurrent_version_expiration: {
1696
1777
  noncurrent_days: ::Integer?,
@@ -1699,7 +1780,7 @@ module Aws
1699
1780
  abort_incomplete_multipart_upload: {
1700
1781
  days_after_initiation: ::Integer?
1701
1782
  }?
1702
- },
1783
+ }
1703
1784
  ]
1704
1785
  },
1705
1786
  ?expected_bucket_owner: ::String,
@@ -1723,7 +1804,7 @@ module Aws
1723
1804
  uri: ::String?
1724
1805
  }?,
1725
1806
  permission: ("FULL_CONTROL" | "READ" | "WRITE")?
1726
- },
1807
+ }
1727
1808
  ]?,
1728
1809
  target_prefix: ::String,
1729
1810
  target_object_key_format: {
@@ -1760,7 +1841,7 @@ module Aws
1760
1841
  {
1761
1842
  key: ::String,
1762
1843
  value: ::String
1763
- },
1844
+ }
1764
1845
  ]?,
1765
1846
  access_point_arn: ::String?
1766
1847
  }?
@@ -1778,20 +1859,20 @@ module Aws
1778
1859
  notification_configuration: {
1779
1860
  topic_configuration: {
1780
1861
  id: ::String?,
1781
- events: Array[("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete")]?,
1782
- event: ("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete")?,
1862
+ events: Array[("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete" | "s3:ObjectAnnotation:*" | "s3:ObjectAnnotation:Put" | "s3:ObjectAnnotation:Delete" | "s3:ObjectRetention:Put")]?,
1863
+ event: ("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete" | "s3:ObjectAnnotation:*" | "s3:ObjectAnnotation:Put" | "s3:ObjectAnnotation:Delete" | "s3:ObjectRetention:Put")?,
1783
1864
  topic: ::String?
1784
1865
  }?,
1785
1866
  queue_configuration: {
1786
1867
  id: ::String?,
1787
- event: ("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete")?,
1788
- events: Array[("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete")]?,
1868
+ event: ("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete" | "s3:ObjectAnnotation:*" | "s3:ObjectAnnotation:Put" | "s3:ObjectAnnotation:Delete" | "s3:ObjectRetention:Put")?,
1869
+ events: Array[("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete" | "s3:ObjectAnnotation:*" | "s3:ObjectAnnotation:Put" | "s3:ObjectAnnotation:Delete" | "s3:ObjectRetention:Put")]?,
1789
1870
  queue: ::String?
1790
1871
  }?,
1791
1872
  cloud_function_configuration: {
1792
1873
  id: ::String?,
1793
- event: ("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete")?,
1794
- events: Array[("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete")]?,
1874
+ event: ("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete" | "s3:ObjectAnnotation:*" | "s3:ObjectAnnotation:Put" | "s3:ObjectAnnotation:Delete" | "s3:ObjectRetention:Put")?,
1875
+ events: Array[("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete" | "s3:ObjectAnnotation:*" | "s3:ObjectAnnotation:Put" | "s3:ObjectAnnotation:Delete" | "s3:ObjectRetention:Put")]?,
1795
1876
  cloud_function: ::String?,
1796
1877
  invocation_role: ::String?
1797
1878
  }?
@@ -1808,52 +1889,25 @@ module Aws
1808
1889
  {
1809
1890
  id: ::String?,
1810
1891
  topic_arn: ::String,
1811
- events: Array[("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete")],
1812
- filter: {
1813
- key: {
1814
- filter_rules: Array[
1815
- {
1816
- name: ("prefix" | "suffix")?,
1817
- value: ::String?
1818
- },
1819
- ]?
1820
- }?
1821
- }?
1822
- },
1892
+ events: Array[("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete" | "s3:ObjectAnnotation:*" | "s3:ObjectAnnotation:Put" | "s3:ObjectAnnotation:Delete" | "s3:ObjectRetention:Put")],
1893
+ filter: Params::notification_configuration_filter?
1894
+ }
1823
1895
  ]?,
1824
1896
  queue_configurations: Array[
1825
1897
  {
1826
1898
  id: ::String?,
1827
1899
  queue_arn: ::String,
1828
- events: Array[("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete")],
1829
- filter: {
1830
- key: {
1831
- filter_rules: Array[
1832
- {
1833
- name: ("prefix" | "suffix")?,
1834
- value: ::String?
1835
- },
1836
- ]?
1837
- }?
1838
- }?
1839
- },
1900
+ events: Array[("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete" | "s3:ObjectAnnotation:*" | "s3:ObjectAnnotation:Put" | "s3:ObjectAnnotation:Delete" | "s3:ObjectRetention:Put")],
1901
+ filter: Params::notification_configuration_filter?
1902
+ }
1840
1903
  ]?,
1841
1904
  lambda_function_configurations: Array[
1842
1905
  {
1843
1906
  id: ::String?,
1844
1907
  lambda_function_arn: ::String,
1845
- events: Array[("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete")],
1846
- filter: {
1847
- key: {
1848
- filter_rules: Array[
1849
- {
1850
- name: ("prefix" | "suffix")?,
1851
- value: ::String?
1852
- },
1853
- ]?
1854
- }?
1855
- }?
1856
- },
1908
+ events: Array[("s3:ReducedRedundancyLostObject" | "s3:ObjectCreated:*" | "s3:ObjectCreated:Put" | "s3:ObjectCreated:Post" | "s3:ObjectCreated:Copy" | "s3:ObjectCreated:CompleteMultipartUpload" | "s3:ObjectRemoved:*" | "s3:ObjectRemoved:Delete" | "s3:ObjectRemoved:DeleteMarkerCreated" | "s3:ObjectRestore:*" | "s3:ObjectRestore:Post" | "s3:ObjectRestore:Completed" | "s3:Replication:*" | "s3:Replication:OperationFailedReplication" | "s3:Replication:OperationNotTracked" | "s3:Replication:OperationMissedThreshold" | "s3:Replication:OperationReplicatedAfterThreshold" | "s3:ObjectRestore:Delete" | "s3:LifecycleTransition" | "s3:IntelligentTiering" | "s3:ObjectAcl:Put" | "s3:LifecycleExpiration:*" | "s3:LifecycleExpiration:Delete" | "s3:LifecycleExpiration:DeleteMarkerCreated" | "s3:ObjectTagging:*" | "s3:ObjectTagging:Put" | "s3:ObjectTagging:Delete" | "s3:ObjectAnnotation:*" | "s3:ObjectAnnotation:Put" | "s3:ObjectAnnotation:Delete" | "s3:ObjectRetention:Put")],
1909
+ filter: Params::notification_configuration_filter?
1910
+ }
1857
1911
  ]?,
1858
1912
  event_bridge_configuration: {
1859
1913
  }?
@@ -1872,7 +1926,7 @@ module Aws
1872
1926
  rules: Array[
1873
1927
  {
1874
1928
  object_ownership: ("BucketOwnerPreferred" | "ObjectWriter" | "BucketOwnerEnforced")
1875
- },
1929
+ }
1876
1930
  ]
1877
1931
  },
1878
1932
  ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME" | "SHA512" | "MD5" | "XXHASH64" | "XXHASH3" | "XXHASH128")
@@ -1914,7 +1968,7 @@ module Aws
1914
1968
  {
1915
1969
  key: ::String,
1916
1970
  value: ::String
1917
- },
1971
+ }
1918
1972
  ]?
1919
1973
  }?
1920
1974
  }?,
@@ -1933,7 +1987,7 @@ module Aws
1933
1987
  destination: {
1934
1988
  bucket: ::String,
1935
1989
  account: ::String?,
1936
- storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP")?,
1990
+ storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP" | "AWS_BACKUP_WARM" | "AWS_BACKUP_LOW_COST_WARM")?,
1937
1991
  access_control_translation: {
1938
1992
  owner: ("Destination")
1939
1993
  }?,
@@ -1956,7 +2010,7 @@ module Aws
1956
2010
  delete_marker_replication: {
1957
2011
  status: ("Enabled" | "Disabled")?
1958
2012
  }?
1959
- },
2013
+ }
1960
2014
  ]
1961
2015
  },
1962
2016
  ?token: ::String,
@@ -1986,7 +2040,7 @@ module Aws
1986
2040
  {
1987
2041
  key: ::String,
1988
2042
  value: ::String
1989
- },
2043
+ }
1990
2044
  ]
1991
2045
  },
1992
2046
  ?expected_bucket_owner: ::String
@@ -2036,7 +2090,7 @@ module Aws
2036
2090
  replace_key_prefix_with: ::String?,
2037
2091
  replace_key_with: ::String?
2038
2092
  }
2039
- },
2093
+ }
2040
2094
  ]?
2041
2095
  },
2042
2096
  ?expected_bucket_owner: ::String
@@ -2058,7 +2112,7 @@ module Aws
2058
2112
  def checksum_xxhash3: () -> ::String
2059
2113
  def checksum_xxhash128: () -> ::String
2060
2114
  def checksum_type: () -> ("COMPOSITE" | "FULL_OBJECT")
2061
- def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse")
2115
+ def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse")
2062
2116
  def version_id: () -> ::String
2063
2117
  def sse_customer_algorithm: () -> ::String
2064
2118
  def sse_customer_key_md5: () -> ::String
@@ -2101,8 +2155,8 @@ module Aws
2101
2155
  key: ::String,
2102
2156
  ?write_offset_bytes: ::Integer,
2103
2157
  ?metadata: Hash[::String, ::String],
2104
- ?server_side_encryption: ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse"),
2105
- ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP"),
2158
+ ?server_side_encryption: ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse"),
2159
+ ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP" | "AWS_BACKUP_WARM" | "AWS_BACKUP_LOW_COST_WARM"),
2106
2160
  ?website_redirect_location: ::String,
2107
2161
  ?sse_customer_algorithm: ::String,
2108
2162
  ?sse_customer_key: ::String,
@@ -2115,6 +2169,9 @@ module Aws
2115
2169
  ?object_lock_mode: ("GOVERNANCE" | "COMPLIANCE"),
2116
2170
  ?object_lock_retain_until_date: ::Time,
2117
2171
  ?object_lock_legal_hold_status: ("ON" | "OFF"),
2172
+ ?object_lock_event_hold: ("ON" | "OFF"),
2173
+ ?object_lock_event_hold_duration_days: ::Integer,
2174
+ ?object_lock_event_hold_duration_years: ::Integer,
2118
2175
  ?expected_bucket_owner: ::String
2119
2176
  ) -> _PutObjectResponseSuccess
2120
2177
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _PutObjectResponseSuccess
@@ -2126,24 +2183,7 @@ module Aws
2126
2183
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#put_object_acl-instance_method
2127
2184
  def put_object_acl: (
2128
2185
  ?acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control"),
2129
- ?access_control_policy: {
2130
- grants: Array[
2131
- {
2132
- grantee: {
2133
- display_name: ::String?,
2134
- email_address: ::String?,
2135
- id: ::String?,
2136
- type: ("CanonicalUser" | "AmazonCustomerByEmail" | "Group"),
2137
- uri: ::String?
2138
- }?,
2139
- permission: ("FULL_CONTROL" | "WRITE" | "WRITE_ACP" | "READ" | "READ_ACP")?
2140
- },
2141
- ]?,
2142
- owner: {
2143
- display_name: ::String?,
2144
- id: ::String?
2145
- }?
2146
- },
2186
+ ?access_control_policy: Params::access_control_policy,
2147
2187
  bucket: ::String,
2148
2188
  ?content_md5: ::String,
2149
2189
  ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME" | "SHA512" | "MD5" | "XXHASH64" | "XXHASH3" | "XXHASH128"),
@@ -2159,6 +2199,51 @@ module Aws
2159
2199
  ) -> _PutObjectAclResponseSuccess
2160
2200
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _PutObjectAclResponseSuccess
2161
2201
 
2202
+ interface _PutObjectAnnotationResponseSuccess
2203
+ include ::Seahorse::Client::_ResponseSuccess[Types::PutObjectAnnotationOutput]
2204
+ def key: () -> ::String
2205
+ def annotation_name: () -> ::String
2206
+ def object_version_id: () -> ::String
2207
+ def etag: () -> ::String
2208
+ def checksum_crc32: () -> ::String
2209
+ def checksum_crc32c: () -> ::String
2210
+ def checksum_crc64nvme: () -> ::String
2211
+ def checksum_sha1: () -> ::String
2212
+ def checksum_sha256: () -> ::String
2213
+ def checksum_sha512: () -> ::String
2214
+ def checksum_md5: () -> ::String
2215
+ def checksum_xxhash64: () -> ::String
2216
+ def checksum_xxhash3: () -> ::String
2217
+ def checksum_xxhash128: () -> ::String
2218
+ def checksum_type: () -> ("COMPOSITE" | "FULL_OBJECT")
2219
+ def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse")
2220
+ def request_charged: () -> ("requester")
2221
+ end
2222
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#put_object_annotation-instance_method
2223
+ def put_object_annotation: (
2224
+ bucket: ::String,
2225
+ key: ::String,
2226
+ ?version_id: ::String,
2227
+ annotation_name: ::String,
2228
+ annotation_payload: ::String | ::StringIO | ::File,
2229
+ ?object_if_match: ::String,
2230
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME" | "SHA512" | "MD5" | "XXHASH64" | "XXHASH3" | "XXHASH128"),
2231
+ ?checksum_crc32: ::String,
2232
+ ?checksum_crc32c: ::String,
2233
+ ?checksum_crc64nvme: ::String,
2234
+ ?checksum_sha1: ::String,
2235
+ ?checksum_sha256: ::String,
2236
+ ?checksum_sha512: ::String,
2237
+ ?checksum_md5: ::String,
2238
+ ?checksum_xxhash64: ::String,
2239
+ ?checksum_xxhash3: ::String,
2240
+ ?checksum_xxhash128: ::String,
2241
+ ?content_md5: ::String,
2242
+ ?request_payer: ("requester"),
2243
+ ?expected_bucket_owner: ::String
2244
+ ) -> _PutObjectAnnotationResponseSuccess
2245
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _PutObjectAnnotationResponseSuccess
2246
+
2162
2247
  interface _PutObjectLegalHoldResponseSuccess
2163
2248
  include ::Seahorse::Client::_ResponseSuccess[Types::PutObjectLegalHoldOutput]
2164
2249
  def request_charged: () -> ("requester")
@@ -2191,7 +2276,11 @@ module Aws
2191
2276
  default_retention: {
2192
2277
  mode: ("GOVERNANCE" | "COMPLIANCE")?,
2193
2278
  days: ::Integer?,
2194
- years: ::Integer?
2279
+ years: ::Integer?,
2280
+ default_event_hold: {
2281
+ days: ::Integer?,
2282
+ years: ::Integer?
2283
+ }?
2195
2284
  }?
2196
2285
  }?
2197
2286
  },
@@ -2213,7 +2302,12 @@ module Aws
2213
2302
  key: ::String,
2214
2303
  ?retention: {
2215
2304
  mode: ("GOVERNANCE" | "COMPLIANCE")?,
2216
- retain_until_date: ::Time?
2305
+ retain_until_date: ::Time?,
2306
+ event_hold: ("ON" | "OFF")?,
2307
+ event_hold_duration: {
2308
+ days: ::Integer?,
2309
+ years: ::Integer?
2310
+ }?
2217
2311
  },
2218
2312
  ?request_payer: ("requester"),
2219
2313
  ?version_id: ::String,
@@ -2240,7 +2334,7 @@ module Aws
2240
2334
  {
2241
2335
  key: ::String,
2242
2336
  value: ::String
2243
- },
2337
+ }
2244
2338
  ]
2245
2339
  },
2246
2340
  ?expected_bucket_owner: ::String,
@@ -2302,75 +2396,39 @@ module Aws
2302
2396
  tier: ("Standard" | "Bulk" | "Expedited")?,
2303
2397
  description: ::String?,
2304
2398
  select_parameters: {
2305
- input_serialization: {
2306
- csv: {
2307
- file_header_info: ("USE" | "IGNORE" | "NONE")?,
2308
- comments: ::String?,
2309
- quote_escape_character: ::String?,
2310
- record_delimiter: ::String?,
2311
- field_delimiter: ::String?,
2312
- quote_character: ::String?,
2313
- allow_quoted_record_delimiter: bool?
2314
- }?,
2315
- compression_type: ("NONE" | "GZIP" | "BZIP2")?,
2316
- json: {
2317
- type: ("DOCUMENT" | "LINES")?
2318
- }?,
2319
- parquet: {
2320
- }?
2321
- },
2399
+ input_serialization: Params::input_serialization,
2322
2400
  expression_type: ("SQL"),
2323
2401
  expression: ::String,
2324
- output_serialization: {
2325
- csv: {
2326
- quote_fields: ("ALWAYS" | "ASNEEDED")?,
2327
- quote_escape_character: ::String?,
2328
- record_delimiter: ::String?,
2329
- field_delimiter: ::String?,
2330
- quote_character: ::String?
2331
- }?,
2332
- json: {
2333
- record_delimiter: ::String?
2334
- }?
2335
- }
2402
+ output_serialization: Params::output_serialization
2336
2403
  }?,
2337
2404
  output_location: {
2338
2405
  s3: {
2339
2406
  bucket_name: ::String,
2340
2407
  prefix: ::String,
2341
2408
  encryption: {
2342
- encryption_type: ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse"),
2409
+ encryption_type: ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse"),
2343
2410
  kms_key_id: ::String?,
2344
2411
  kms_context: ::String?
2345
2412
  }?,
2346
2413
  canned_acl: ("private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control")?,
2347
2414
  access_control_list: Array[
2348
- {
2349
- grantee: {
2350
- display_name: ::String?,
2351
- email_address: ::String?,
2352
- id: ::String?,
2353
- type: ("CanonicalUser" | "AmazonCustomerByEmail" | "Group"),
2354
- uri: ::String?
2355
- }?,
2356
- permission: ("FULL_CONTROL" | "WRITE" | "WRITE_ACP" | "READ" | "READ_ACP")?
2357
- },
2415
+ Params::grant
2358
2416
  ]?,
2359
2417
  tagging: {
2360
2418
  tag_set: Array[
2361
2419
  {
2362
2420
  key: ::String,
2363
2421
  value: ::String
2364
- },
2422
+ }
2365
2423
  ]
2366
2424
  }?,
2367
2425
  user_metadata: Array[
2368
2426
  {
2369
2427
  name: ::String?,
2370
2428
  value: ::String?
2371
- },
2429
+ }
2372
2430
  ]?,
2373
- storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP")?
2431
+ storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP" | "AWS_BACKUP_WARM" | "AWS_BACKUP_LOW_COST_WARM")?
2374
2432
  }?
2375
2433
  }?
2376
2434
  },
@@ -2396,35 +2454,8 @@ module Aws
2396
2454
  ?request_progress: {
2397
2455
  enabled: bool?
2398
2456
  },
2399
- input_serialization: {
2400
- csv: {
2401
- file_header_info: ("USE" | "IGNORE" | "NONE")?,
2402
- comments: ::String?,
2403
- quote_escape_character: ::String?,
2404
- record_delimiter: ::String?,
2405
- field_delimiter: ::String?,
2406
- quote_character: ::String?,
2407
- allow_quoted_record_delimiter: bool?
2408
- }?,
2409
- compression_type: ("NONE" | "GZIP" | "BZIP2")?,
2410
- json: {
2411
- type: ("DOCUMENT" | "LINES")?
2412
- }?,
2413
- parquet: {
2414
- }?
2415
- },
2416
- output_serialization: {
2417
- csv: {
2418
- quote_fields: ("ALWAYS" | "ASNEEDED")?,
2419
- quote_escape_character: ::String?,
2420
- record_delimiter: ::String?,
2421
- field_delimiter: ::String?,
2422
- quote_character: ::String?
2423
- }?,
2424
- json: {
2425
- record_delimiter: ::String?
2426
- }?
2427
- },
2457
+ input_serialization: Params::input_serialization,
2458
+ output_serialization: Params::output_serialization,
2428
2459
  ?scan_range: {
2429
2460
  start: ::Integer?,
2430
2461
  end: ::Integer?
@@ -2433,6 +2464,23 @@ module Aws
2433
2464
  ) ?{ (*untyped) -> void } -> _SelectObjectContentResponseSuccess
2434
2465
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) ?{ (*untyped) -> void } -> _SelectObjectContentResponseSuccess
2435
2466
 
2467
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#update_bucket_metadata_annotation_table_configuration-instance_method
2468
+ def update_bucket_metadata_annotation_table_configuration: (
2469
+ bucket: ::String,
2470
+ ?content_md5: ::String,
2471
+ ?checksum_algorithm: ("CRC32" | "CRC32C" | "SHA1" | "SHA256" | "CRC64NVME" | "SHA512" | "MD5" | "XXHASH64" | "XXHASH3" | "XXHASH128"),
2472
+ annotation_table_configuration: {
2473
+ configuration_state: ("ENABLED" | "DISABLED"),
2474
+ encryption_configuration: {
2475
+ sse_algorithm: ("aws:kms" | "AES256"),
2476
+ kms_key_arn: ::String?
2477
+ }?,
2478
+ role: ::String?
2479
+ },
2480
+ ?expected_bucket_owner: ::String
2481
+ ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
2482
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
2483
+
2436
2484
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#update_bucket_metadata_inventory_table_configuration-instance_method
2437
2485
  def update_bucket_metadata_inventory_table_configuration: (
2438
2486
  bucket: ::String,
@@ -2488,7 +2536,7 @@ module Aws
2488
2536
 
2489
2537
  interface _UploadPartResponseSuccess
2490
2538
  include ::Seahorse::Client::_ResponseSuccess[Types::UploadPartOutput]
2491
- def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse")
2539
+ def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse")
2492
2540
  def etag: () -> ::String
2493
2541
  def checksum_crc32: () -> ::String
2494
2542
  def checksum_crc32c: () -> ::String
@@ -2538,7 +2586,7 @@ module Aws
2538
2586
  include ::Seahorse::Client::_ResponseSuccess[Types::UploadPartCopyOutput]
2539
2587
  def copy_source_version_id: () -> ::String
2540
2588
  def copy_part_result: () -> Types::CopyPartResult
2541
- def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse")
2589
+ def server_side_encryption: () -> ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse")
2542
2590
  def sse_customer_algorithm: () -> ::String
2543
2591
  def sse_customer_key_md5: () -> ::String
2544
2592
  def ssekms_key_id: () -> ::String
@@ -2609,11 +2657,11 @@ module Aws
2609
2657
  ?replication_status: ("COMPLETE" | "PENDING" | "FAILED" | "REPLICA" | "COMPLETED"),
2610
2658
  ?request_charged: ("requester"),
2611
2659
  ?restore: ::String,
2612
- ?server_side_encryption: ("AES256" | "aws:fsx" | "aws:kms" | "aws:kms:dsse"),
2660
+ ?server_side_encryption: ("AES256" | "aws:fsx" | "aws:backup" | "aws:kms" | "aws:kms:dsse"),
2613
2661
  ?sse_customer_algorithm: ::String,
2614
2662
  ?ssekms_key_id: ::String,
2615
2663
  ?sse_customer_key_md5: ::String,
2616
- ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP"),
2664
+ ?storage_class: ("STANDARD" | "REDUCED_REDUNDANCY" | "STANDARD_IA" | "ONEZONE_IA" | "INTELLIGENT_TIERING" | "GLACIER" | "DEEP_ARCHIVE" | "OUTPOSTS" | "GLACIER_IR" | "SNOW" | "EXPRESS_ONEZONE" | "FSX_OPENZFS" | "FSX_ONTAP" | "AWS_BACKUP_WARM" | "AWS_BACKUP_LOW_COST_WARM"),
2617
2665
  ?tag_count: ::Integer,
2618
2666
  ?version_id: ::String,
2619
2667
  ?bucket_key_enabled: bool