aws-sdk-s3 1.189.1 → 1.190.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.
@@ -81,6 +81,7 @@ module Aws::S3
81
81
  ChecksumSHA1 = Shapes::StringShape.new(name: 'ChecksumSHA1')
82
82
  ChecksumSHA256 = Shapes::StringShape.new(name: 'ChecksumSHA256')
83
83
  ChecksumType = Shapes::StringShape.new(name: 'ChecksumType')
84
+ ClientToken = Shapes::StringShape.new(name: 'ClientToken')
84
85
  CloudFunction = Shapes::StringShape.new(name: 'CloudFunction')
85
86
  CloudFunctionConfiguration = Shapes::StructureShape.new(name: 'CloudFunctionConfiguration')
86
87
  CloudFunctionInvocationRole = Shapes::StringShape.new(name: 'CloudFunctionInvocationRole')
@@ -284,6 +285,7 @@ module Aws::S3
284
285
  HttpErrorCodeReturnedEquals = Shapes::StringShape.new(name: 'HttpErrorCodeReturnedEquals')
285
286
  HttpRedirectCode = Shapes::StringShape.new(name: 'HttpRedirectCode')
286
287
  ID = Shapes::StringShape.new(name: 'ID')
288
+ IdempotencyParameterMismatch = Shapes::StructureShape.new(name: 'IdempotencyParameterMismatch')
287
289
  IfMatch = Shapes::StringShape.new(name: 'IfMatch')
288
290
  IfMatchInitiatedTime = Shapes::TimestampShape.new(name: 'IfMatchInitiatedTime', timestampFormat: "rfc822")
289
291
  IfMatchLastModifiedTime = Shapes::TimestampShape.new(name: 'IfMatchLastModifiedTime', timestampFormat: "rfc822")
@@ -525,6 +527,13 @@ module Aws::S3
525
527
  Redirect = Shapes::StructureShape.new(name: 'Redirect')
526
528
  RedirectAllRequestsTo = Shapes::StructureShape.new(name: 'RedirectAllRequestsTo')
527
529
  Region = Shapes::StringShape.new(name: 'Region')
530
+ RenameObjectOutput = Shapes::StructureShape.new(name: 'RenameObjectOutput')
531
+ RenameObjectRequest = Shapes::StructureShape.new(name: 'RenameObjectRequest')
532
+ RenameSource = Shapes::StringShape.new(name: 'RenameSource')
533
+ RenameSourceIfMatch = Shapes::StringShape.new(name: 'RenameSourceIfMatch')
534
+ RenameSourceIfModifiedSince = Shapes::TimestampShape.new(name: 'RenameSourceIfModifiedSince', timestampFormat: "rfc822")
535
+ RenameSourceIfNoneMatch = Shapes::StringShape.new(name: 'RenameSourceIfNoneMatch')
536
+ RenameSourceIfUnmodifiedSince = Shapes::TimestampShape.new(name: 'RenameSourceIfUnmodifiedSince', timestampFormat: "rfc822")
528
537
  ReplaceKeyPrefixWith = Shapes::StringShape.new(name: 'ReplaceKeyPrefixWith')
529
538
  ReplaceKeyWith = Shapes::StringShape.new(name: 'ReplaceKeyWith')
530
539
  ReplicaKmsKeyID = Shapes::StringShape.new(name: 'ReplicaKmsKeyID')
@@ -1035,6 +1044,7 @@ module Aws::S3
1035
1044
 
1036
1045
  DeleteBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1037
1046
  DeleteBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1047
+ DeleteBucketIntelligentTieringConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1038
1048
  DeleteBucketIntelligentTieringConfigurationRequest.struct_class = Types::DeleteBucketIntelligentTieringConfigurationRequest
1039
1049
 
1040
1050
  DeleteBucketInventoryConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
@@ -1246,6 +1256,7 @@ module Aws::S3
1246
1256
 
1247
1257
  GetBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1248
1258
  GetBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
1259
+ GetBucketIntelligentTieringConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1249
1260
  GetBucketIntelligentTieringConfigurationRequest.struct_class = Types::GetBucketIntelligentTieringConfigurationRequest
1250
1261
 
1251
1262
  GetBucketInventoryConfigurationOutput.add_member(:inventory_configuration, Shapes::ShapeRef.new(shape: InventoryConfiguration, location_name: "InventoryConfiguration"))
@@ -1619,6 +1630,7 @@ module Aws::S3
1619
1630
  HeadObjectOutput.add_member(:request_charged, Shapes::ShapeRef.new(shape: RequestCharged, location: "header", location_name: "x-amz-request-charged"))
1620
1631
  HeadObjectOutput.add_member(:replication_status, Shapes::ShapeRef.new(shape: ReplicationStatus, location: "header", location_name: "x-amz-replication-status"))
1621
1632
  HeadObjectOutput.add_member(:parts_count, Shapes::ShapeRef.new(shape: PartsCount, location: "header", location_name: "x-amz-mp-parts-count"))
1633
+ HeadObjectOutput.add_member(:tag_count, Shapes::ShapeRef.new(shape: TagCount, location: "header", location_name: "x-amz-tagging-count"))
1622
1634
  HeadObjectOutput.add_member(:object_lock_mode, Shapes::ShapeRef.new(shape: ObjectLockMode, location: "header", location_name: "x-amz-object-lock-mode"))
1623
1635
  HeadObjectOutput.add_member(:object_lock_retain_until_date, Shapes::ShapeRef.new(shape: ObjectLockRetainUntilDate, location: "header", location_name: "x-amz-object-lock-retain-until-date"))
1624
1636
  HeadObjectOutput.add_member(:object_lock_legal_hold_status, Shapes::ShapeRef.new(shape: ObjectLockLegalHoldStatus, location: "header", location_name: "x-amz-object-lock-legal-hold"))
@@ -1647,6 +1659,8 @@ module Aws::S3
1647
1659
  HeadObjectRequest.add_member(:checksum_mode, Shapes::ShapeRef.new(shape: ChecksumMode, location: "header", location_name: "x-amz-checksum-mode"))
1648
1660
  HeadObjectRequest.struct_class = Types::HeadObjectRequest
1649
1661
 
1662
+ IdempotencyParameterMismatch.struct_class = Types::IdempotencyParameterMismatch
1663
+
1650
1664
  IndexDocument.add_member(:suffix, Shapes::ShapeRef.new(shape: Suffix, required: true, location_name: "Suffix"))
1651
1665
  IndexDocument.struct_class = Types::IndexDocument
1652
1666
 
@@ -1785,6 +1799,7 @@ module Aws::S3
1785
1799
 
1786
1800
  ListBucketIntelligentTieringConfigurationsRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
1787
1801
  ListBucketIntelligentTieringConfigurationsRequest.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location: "querystring", location_name: "continuation-token"))
1802
+ ListBucketIntelligentTieringConfigurationsRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
1788
1803
  ListBucketIntelligentTieringConfigurationsRequest.struct_class = Types::ListBucketIntelligentTieringConfigurationsRequest
1789
1804
 
1790
1805
  ListBucketInventoryConfigurationsOutput.add_member(:continuation_token, Shapes::ShapeRef.new(shape: Token, location_name: "ContinuationToken"))
@@ -2227,6 +2242,7 @@ module Aws::S3
2227
2242
 
2228
2243
  PutBucketIntelligentTieringConfigurationRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2229
2244
  PutBucketIntelligentTieringConfigurationRequest.add_member(:id, Shapes::ShapeRef.new(shape: IntelligentTieringId, required: true, location: "querystring", location_name: "id"))
2245
+ PutBucketIntelligentTieringConfigurationRequest.add_member(:expected_bucket_owner, Shapes::ShapeRef.new(shape: AccountId, location: "header", location_name: "x-amz-expected-bucket-owner"))
2230
2246
  PutBucketIntelligentTieringConfigurationRequest.add_member(:intelligent_tiering_configuration, Shapes::ShapeRef.new(shape: IntelligentTieringConfiguration, required: true, location_name: "IntelligentTieringConfiguration", metadata: {"xmlNamespace" => {"uri" => "http://s3.amazonaws.com/doc/2006-03-01/"}}))
2231
2247
  PutBucketIntelligentTieringConfigurationRequest.struct_class = Types::PutBucketIntelligentTieringConfigurationRequest
2232
2248
  PutBucketIntelligentTieringConfigurationRequest[:payload] = :intelligent_tiering_configuration
@@ -2543,6 +2559,22 @@ module Aws::S3
2543
2559
  RedirectAllRequestsTo.add_member(:protocol, Shapes::ShapeRef.new(shape: Protocol, location_name: "Protocol"))
2544
2560
  RedirectAllRequestsTo.struct_class = Types::RedirectAllRequestsTo
2545
2561
 
2562
+ RenameObjectOutput.struct_class = Types::RenameObjectOutput
2563
+
2564
+ RenameObjectRequest.add_member(:bucket, Shapes::ShapeRef.new(shape: BucketName, required: true, location: "uri", location_name: "Bucket", metadata: {"contextParam" => {"name" => "Bucket"}}))
2565
+ RenameObjectRequest.add_member(:key, Shapes::ShapeRef.new(shape: ObjectKey, required: true, location: "uri", location_name: "Key", metadata: {"contextParam" => {"name" => "Key"}}))
2566
+ RenameObjectRequest.add_member(:rename_source, Shapes::ShapeRef.new(shape: RenameSource, required: true, location: "header", location_name: "x-amz-rename-source"))
2567
+ RenameObjectRequest.add_member(:destination_if_match, Shapes::ShapeRef.new(shape: IfMatch, location: "header", location_name: "If-Match"))
2568
+ RenameObjectRequest.add_member(:destination_if_none_match, Shapes::ShapeRef.new(shape: IfNoneMatch, location: "header", location_name: "If-None-Match"))
2569
+ RenameObjectRequest.add_member(:destination_if_modified_since, Shapes::ShapeRef.new(shape: IfModifiedSince, location: "header", location_name: "If-Modified-Since"))
2570
+ RenameObjectRequest.add_member(:destination_if_unmodified_since, Shapes::ShapeRef.new(shape: IfUnmodifiedSince, location: "header", location_name: "If-Unmodified-Since"))
2571
+ RenameObjectRequest.add_member(:source_if_match, Shapes::ShapeRef.new(shape: RenameSourceIfMatch, location: "header", location_name: "x-amz-rename-source-if-match"))
2572
+ RenameObjectRequest.add_member(:source_if_none_match, Shapes::ShapeRef.new(shape: RenameSourceIfNoneMatch, location: "header", location_name: "x-amz-rename-source-if-none-match"))
2573
+ RenameObjectRequest.add_member(:source_if_modified_since, Shapes::ShapeRef.new(shape: RenameSourceIfModifiedSince, location: "header", location_name: "x-amz-rename-source-if-modified-since"))
2574
+ RenameObjectRequest.add_member(:source_if_unmodified_since, Shapes::ShapeRef.new(shape: RenameSourceIfUnmodifiedSince, location: "header", location_name: "x-amz-rename-source-if-unmodified-since"))
2575
+ RenameObjectRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location: "header", location_name: "x-amz-client-token", metadata: {"idempotencyToken" => true}))
2576
+ RenameObjectRequest.struct_class = Types::RenameObjectRequest
2577
+
2546
2578
  ReplicaModifications.add_member(:status, Shapes::ShapeRef.new(shape: ReplicaModificationsStatus, required: true, location_name: "Status"))
2547
2579
  ReplicaModifications.struct_class = Types::ReplicaModifications
2548
2580
 
@@ -3978,6 +4010,15 @@ module Aws::S3
3978
4010
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
3979
4011
  end)
3980
4012
 
4013
+ api.add_operation(:rename_object, Seahorse::Model::Operation.new.tap do |o|
4014
+ o.name = "RenameObject"
4015
+ o.http_method = "PUT"
4016
+ o.http_request_uri = "/{Key+}?renameObject"
4017
+ o.input = Shapes::ShapeRef.new(shape: RenameObjectRequest)
4018
+ o.output = Shapes::ShapeRef.new(shape: RenameObjectOutput)
4019
+ o.errors << Shapes::ShapeRef.new(shape: IdempotencyParameterMismatch)
4020
+ end)
4021
+
3981
4022
  api.add_operation(:restore_object, Seahorse::Model::Operation.new.tap do |o|
3982
4023
  o.name = "RestoreObject"
3983
4024
  o.http_method = "POST"
@@ -1162,6 +1162,18 @@ module Aws::S3
1162
1162
  end
1163
1163
  end
1164
1164
 
1165
+ class RenameObject
1166
+ def self.build(context)
1167
+ Aws::S3::EndpointParameters.create(
1168
+ context.config,
1169
+ bucket: context.params[:bucket],
1170
+ use_dual_stack: context[:use_dualstack_endpoint],
1171
+ accelerate: context[:use_accelerate_endpoint],
1172
+ key: context.params[:key],
1173
+ )
1174
+ end
1175
+ end
1176
+
1165
1177
  class RestoreObject
1166
1178
  def self.build(context)
1167
1179
  Aws::S3::EndpointParameters.create(
@@ -1416,6 +1428,8 @@ module Aws::S3
1416
1428
  PutObjectTagging.build(context)
1417
1429
  when :put_public_access_block
1418
1430
  PutPublicAccessBlock.build(context)
1431
+ when :rename_object
1432
+ RenameObject.build(context)
1419
1433
  when :restore_object
1420
1434
  RestoreObject.build(context)
1421
1435
  when :select_object_content
@@ -30,6 +30,7 @@ module Aws::S3
30
30
  # * {BucketAlreadyExists}
31
31
  # * {BucketAlreadyOwnedByYou}
32
32
  # * {EncryptionTypeMismatch}
33
+ # * {IdempotencyParameterMismatch}
33
34
  # * {InvalidObjectState}
34
35
  # * {InvalidRequest}
35
36
  # * {InvalidWriteOffset}
@@ -76,6 +77,16 @@ module Aws::S3
76
77
  end
77
78
  end
78
79
 
80
+ class IdempotencyParameterMismatch < ServiceError
81
+
82
+ # @param [Seahorse::Client::RequestContext] context
83
+ # @param [String] message
84
+ # @param [Aws::S3::Types::IdempotencyParameterMismatch] data
85
+ def initialize(context, message, data = Aws::EmptyStructure.new)
86
+ super(context, message, data)
87
+ end
88
+ end
89
+
79
90
  class InvalidObjectState < ServiceError
80
91
 
81
92
  # @param [Seahorse::Client::RequestContext] context
@@ -470,6 +470,24 @@ module Aws::S3
470
470
  data[:parts_count]
471
471
  end
472
472
 
473
+ # The number of tags, if any, on the object, when you have the relevant
474
+ # permission to read object tags.
475
+ #
476
+ # You can use [GetObjectTagging][1] to retrieve the tag set associated
477
+ # with an object.
478
+ #
479
+ # <note markdown="1"> This functionality is not supported for directory buckets.
480
+ #
481
+ # </note>
482
+ #
483
+ #
484
+ #
485
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
486
+ # @return [Integer]
487
+ def tag_count
488
+ data[:tag_count]
489
+ end
490
+
473
491
  # The Object Lock mode, if any, that's in effect for this object. This
474
492
  # header is only returned if the requester has the
475
493
  # `s3:GetObjectRetention` permission. For more information about S3
@@ -4000,11 +4000,19 @@ module Aws::S3
4000
4000
  # The ID used to identify the S3 Intelligent-Tiering configuration.
4001
4001
  # @return [String]
4002
4002
  #
4003
+ # @!attribute [rw] expected_bucket_owner
4004
+ # The account ID of the expected bucket owner. If the account ID that
4005
+ # you provide does not match the actual owner of the bucket, the
4006
+ # request fails with the HTTP status code `403 Forbidden` (access
4007
+ # denied).
4008
+ # @return [String]
4009
+ #
4003
4010
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/DeleteBucketIntelligentTieringConfigurationRequest AWS API Documentation
4004
4011
  #
4005
4012
  class DeleteBucketIntelligentTieringConfigurationRequest < Struct.new(
4006
4013
  :bucket,
4007
- :id)
4014
+ :id,
4015
+ :expected_bucket_owner)
4008
4016
  SENSITIVE = []
4009
4017
  include Aws::Structure
4010
4018
  end
@@ -6292,11 +6300,19 @@ module Aws::S3
6292
6300
  # The ID used to identify the S3 Intelligent-Tiering configuration.
6293
6301
  # @return [String]
6294
6302
  #
6303
+ # @!attribute [rw] expected_bucket_owner
6304
+ # The account ID of the expected bucket owner. If the account ID that
6305
+ # you provide does not match the actual owner of the bucket, the
6306
+ # request fails with the HTTP status code `403 Forbidden` (access
6307
+ # denied).
6308
+ # @return [String]
6309
+ #
6295
6310
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetBucketIntelligentTieringConfigurationRequest AWS API Documentation
6296
6311
  #
6297
6312
  class GetBucketIntelligentTieringConfigurationRequest < Struct.new(
6298
6313
  :bucket,
6299
- :id)
6314
+ :id,
6315
+ :expected_bucket_owner)
6300
6316
  SENSITIVE = []
6301
6317
  include Aws::Structure
6302
6318
  end
@@ -7222,15 +7238,15 @@ module Aws::S3
7222
7238
  # A container for elements related to a particular part. A response
7223
7239
  # can contain zero or more `Parts` elements.
7224
7240
  #
7225
- # <note markdown="1"> * **General purpose buckets** - For `GetObjectAttributes`, if a
7241
+ # <note markdown="1"> * **General purpose buckets** - For `GetObjectAttributes`, if an
7226
7242
  # additional checksum (including `x-amz-checksum-crc32`,
7227
7243
  # `x-amz-checksum-crc32c`, `x-amz-checksum-sha1`, or
7228
7244
  # `x-amz-checksum-sha256`) isn't applied to the object specified in
7229
- # the request, the response doesn't return `Part`.
7245
+ # the request, the response doesn't return the `Part` element.
7230
7246
  #
7231
- # * **Directory buckets** - For `GetObjectAttributes`, no matter
7232
- # whether a additional checksum is applied to the object specified
7233
- # in the request, the response returns `Part`.
7247
+ # * **Directory buckets** - For `GetObjectAttributes`, regardless of
7248
+ # whether an additional checksum is applied to the object specified
7249
+ # in the request, the response returns the `Part` element.
7234
7250
  #
7235
7251
  # </note>
7236
7252
  # @return [Array<Types::ObjectPart>]
@@ -9121,6 +9137,22 @@ module Aws::S3
9121
9137
  # as a multipart upload.
9122
9138
  # @return [Integer]
9123
9139
  #
9140
+ # @!attribute [rw] tag_count
9141
+ # The number of tags, if any, on the object, when you have the
9142
+ # relevant permission to read object tags.
9143
+ #
9144
+ # You can use [GetObjectTagging][1] to retrieve the tag set associated
9145
+ # with an object.
9146
+ #
9147
+ # <note markdown="1"> This functionality is not supported for directory buckets.
9148
+ #
9149
+ # </note>
9150
+ #
9151
+ #
9152
+ #
9153
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
9154
+ # @return [Integer]
9155
+ #
9124
9156
  # @!attribute [rw] object_lock_mode
9125
9157
  # The Object Lock mode, if any, that's in effect for this object.
9126
9158
  # This header is only returned if the requester has the
@@ -9201,6 +9233,7 @@ module Aws::S3
9201
9233
  :request_charged,
9202
9234
  :replication_status,
9203
9235
  :parts_count,
9236
+ :tag_count,
9204
9237
  :object_lock_mode,
9205
9238
  :object_lock_retain_until_date,
9206
9239
  :object_lock_legal_hold_status)
@@ -9489,6 +9522,27 @@ module Aws::S3
9489
9522
  include Aws::Structure
9490
9523
  end
9491
9524
 
9525
+ # Parameters on this idempotent request are inconsistent with parameters
9526
+ # used in previous request(s).
9527
+ #
9528
+ # For a list of error codes and more information on Amazon S3 errors,
9529
+ # see [Error codes][1].
9530
+ #
9531
+ # <note markdown="1"> Idempotency ensures that an API request completes no more than one
9532
+ # time. With an idempotent request, if the original request completes
9533
+ # successfully, any subsequent retries complete successfully without
9534
+ # performing any further actions.
9535
+ #
9536
+ # </note>
9537
+ #
9538
+ #
9539
+ #
9540
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
9541
+ #
9542
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/IdempotencyParameterMismatch AWS API Documentation
9543
+ #
9544
+ class IdempotencyParameterMismatch < Aws::EmptyStructure; end
9545
+
9492
9546
  # Container for the `Suffix` element.
9493
9547
  #
9494
9548
  # @!attribute [rw] suffix
@@ -10344,11 +10398,19 @@ module Aws::S3
10344
10398
  # this request should begin.
10345
10399
  # @return [String]
10346
10400
  #
10401
+ # @!attribute [rw] expected_bucket_owner
10402
+ # The account ID of the expected bucket owner. If the account ID that
10403
+ # you provide does not match the actual owner of the bucket, the
10404
+ # request fails with the HTTP status code `403 Forbidden` (access
10405
+ # denied).
10406
+ # @return [String]
10407
+ #
10347
10408
  # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/ListBucketIntelligentTieringConfigurationsRequest AWS API Documentation
10348
10409
  #
10349
10410
  class ListBucketIntelligentTieringConfigurationsRequest < Struct.new(
10350
10411
  :bucket,
10351
- :continuation_token)
10412
+ :continuation_token,
10413
+ :expected_bucket_owner)
10352
10414
  SENSITIVE = []
10353
10415
  include Aws::Structure
10354
10416
  end
@@ -11517,8 +11579,7 @@ module Aws::S3
11517
11579
  # @!attribute [rw] continuation_token
11518
11580
  # If `ContinuationToken` was sent with the request, it is included in
11519
11581
  # the response. You can use the returned `ContinuationToken` for
11520
- # pagination of the list response. You can use this
11521
- # `ContinuationToken` for pagination of the list results.
11582
+ # pagination of the list response.
11522
11583
  # @return [String]
11523
11584
  #
11524
11585
  # @!attribute [rw] next_continuation_token
@@ -13055,6 +13116,19 @@ module Aws::S3
13055
13116
  include Aws::Structure
13056
13117
  end
13057
13118
 
13119
+ # End of support notice: Beginning October 1, 2025, Amazon S3 will stop
13120
+ # returning `DisplayName`. Update your applications to use canonical IDs
13121
+ # (unique identifier for Amazon Web Services accounts), Amazon Web
13122
+ # Services account ID (12 digit identifier) or IAM ARNs (full resource
13123
+ # naming) as a direct replacement of `DisplayName`.
13124
+ #
13125
+ # This change affects the following Amazon Web Services Regions: US
13126
+ # East
13127
+ # (N. Virginia) Region, US West (N. California) Region, US West (Oregon)
13128
+ # Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
13129
+ # Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South
13130
+ # America (São Paulo) Region.
13131
+ #
13058
13132
  # Container for the owner's display name and ID.
13059
13133
  #
13060
13134
  # @!attribute [rw] display_name
@@ -13736,6 +13810,13 @@ module Aws::S3
13736
13810
  # The ID used to identify the S3 Intelligent-Tiering configuration.
13737
13811
  # @return [String]
13738
13812
  #
13813
+ # @!attribute [rw] expected_bucket_owner
13814
+ # The account ID of the expected bucket owner. If the account ID that
13815
+ # you provide does not match the actual owner of the bucket, the
13816
+ # request fails with the HTTP status code `403 Forbidden` (access
13817
+ # denied).
13818
+ # @return [String]
13819
+ #
13739
13820
  # @!attribute [rw] intelligent_tiering_configuration
13740
13821
  # Container for S3 Intelligent-Tiering configuration.
13741
13822
  # @return [Types::IntelligentTieringConfiguration]
@@ -13745,6 +13826,7 @@ module Aws::S3
13745
13826
  class PutBucketIntelligentTieringConfigurationRequest < Struct.new(
13746
13827
  :bucket,
13747
13828
  :id,
13829
+ :expected_bucket_owner,
13748
13830
  :intelligent_tiering_configuration)
13749
13831
  SENSITIVE = []
13750
13832
  include Aws::Structure
@@ -16474,6 +16556,125 @@ module Aws::S3
16474
16556
  include Aws::Structure
16475
16557
  end
16476
16558
 
16559
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RenameObjectOutput AWS API Documentation
16560
+ #
16561
+ class RenameObjectOutput < Aws::EmptyStructure; end
16562
+
16563
+ # @!attribute [rw] bucket
16564
+ # The bucket name of the directory bucket containing the object.
16565
+ #
16566
+ # You must use virtual-hosted-style requests in the format
16567
+ # `Bucket-name.s3express-zone-id.region-code.amazonaws.com`.
16568
+ # Path-style requests are not supported. Directory bucket names must
16569
+ # be unique in the chosen Availability Zone. Bucket names must follow
16570
+ # the format `bucket-base-name--zone-id--x-s3 ` (for example,
16571
+ # `amzn-s3-demo-bucket--usw2-az1--x-s3`). For information about bucket
16572
+ # naming restrictions, see [Directory bucket naming rules][1] in the
16573
+ # *Amazon S3 User Guide*.
16574
+ #
16575
+ #
16576
+ #
16577
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
16578
+ # @return [String]
16579
+ #
16580
+ # @!attribute [rw] key
16581
+ # Key name of the object to rename.
16582
+ # @return [String]
16583
+ #
16584
+ # @!attribute [rw] rename_source
16585
+ # Specifies the source for the rename operation. The value must be URL
16586
+ # encoded.
16587
+ # @return [String]
16588
+ #
16589
+ # @!attribute [rw] destination_if_match
16590
+ # Renames the object only if the ETag (entity tag) value provided
16591
+ # during the operation matches the ETag of the object in S3. The
16592
+ # `If-Match` header field makes the request method conditional on
16593
+ # ETags. If the ETag values do not match, the operation returns a `412
16594
+ # Precondition Failed` error.
16595
+ #
16596
+ # Expects the ETag value as a string.
16597
+ # @return [String]
16598
+ #
16599
+ # @!attribute [rw] destination_if_none_match
16600
+ # Renames the object only if the destination does not already exist in
16601
+ # the specified directory bucket. If the object does exist when you
16602
+ # send a request with `If-None-Match:*`, the S3 API will return a `412
16603
+ # Precondition Failed` error, preventing an overwrite. The
16604
+ # `If-None-Match` header prevents overwrites of existing data by
16605
+ # validating that there's not an object with the same key name
16606
+ # already in your directory bucket.
16607
+ #
16608
+ # Expects the `*` character (asterisk).
16609
+ # @return [String]
16610
+ #
16611
+ # @!attribute [rw] destination_if_modified_since
16612
+ # Renames the object if the destination exists and if it has been
16613
+ # modified since the specified time.
16614
+ # @return [Time]
16615
+ #
16616
+ # @!attribute [rw] destination_if_unmodified_since
16617
+ # Renames the object if it hasn't been modified since the specified
16618
+ # time.
16619
+ # @return [Time]
16620
+ #
16621
+ # @!attribute [rw] source_if_match
16622
+ # Renames the object if the source exists and if its entity tag (ETag)
16623
+ # matches the specified ETag.
16624
+ # @return [String]
16625
+ #
16626
+ # @!attribute [rw] source_if_none_match
16627
+ # Renames the object if the source exists and if its entity tag (ETag)
16628
+ # is different than the specified ETag. If an asterisk (`*`) character
16629
+ # is provided, the operation will fail and return a `412 Precondition
16630
+ # Failed` error.
16631
+ # @return [String]
16632
+ #
16633
+ # @!attribute [rw] source_if_modified_since
16634
+ # Renames the object if the source exists and if it has been modified
16635
+ # since the specified time.
16636
+ # @return [Time]
16637
+ #
16638
+ # @!attribute [rw] source_if_unmodified_since
16639
+ # Renames the object if the source exists and hasn't been modified
16640
+ # since the specified time.
16641
+ # @return [Time]
16642
+ #
16643
+ # @!attribute [rw] client_token
16644
+ # A unique string with a max of 64 ASCII characters in the ASCII range
16645
+ # of 33 - 126. `RenameObject` supports idempotency using a client
16646
+ # token. To make an idempotent API request using `RenameObject`,
16647
+ # specify a client token in the request. You should not reuse the same
16648
+ # client token for other API requests. If you retry a request that
16649
+ # completed successfully using the same client token and the same
16650
+ # parameters, the retry succeeds without performing any further
16651
+ # actions. If you retry a successful request using the same client
16652
+ # token, but one or more of the parameters are different, the retry
16653
+ # fails and an `IdempotentParameterMismatch` error is returned.
16654
+ #
16655
+ # **A suitable default value is auto-generated.** You should normally
16656
+ # not need to pass this option.
16657
+ # @return [String]
16658
+ #
16659
+ # @see http://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/RenameObjectRequest AWS API Documentation
16660
+ #
16661
+ class RenameObjectRequest < Struct.new(
16662
+ :bucket,
16663
+ :key,
16664
+ :rename_source,
16665
+ :destination_if_match,
16666
+ :destination_if_none_match,
16667
+ :destination_if_modified_since,
16668
+ :destination_if_unmodified_since,
16669
+ :source_if_match,
16670
+ :source_if_none_match,
16671
+ :source_if_modified_since,
16672
+ :source_if_unmodified_since,
16673
+ :client_token)
16674
+ SENSITIVE = []
16675
+ include Aws::Structure
16676
+ end
16677
+
16477
16678
  # A filter that you can specify for selection for modifications on
16478
16679
  # replicas. Amazon S3 doesn't replicate replica modifications by
16479
16680
  # default. In the latest version of replication configuration (when
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.189.1'
78
+ GEM_VERSION = '1.190.0'
79
79
 
80
80
  end
81
81
 
data/sig/client.rbs CHANGED
@@ -369,7 +369,8 @@ module Aws
369
369
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#delete_bucket_intelligent_tiering_configuration-instance_method
370
370
  def delete_bucket_intelligent_tiering_configuration: (
371
371
  bucket: ::String,
372
- id: ::String
372
+ id: ::String,
373
+ ?expected_bucket_owner: ::String
373
374
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
374
375
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
375
376
 
@@ -574,7 +575,8 @@ module Aws
574
575
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#get_bucket_intelligent_tiering_configuration-instance_method
575
576
  def get_bucket_intelligent_tiering_configuration: (
576
577
  bucket: ::String,
577
- id: ::String
578
+ id: ::String,
579
+ ?expected_bucket_owner: ::String
578
580
  ) -> _GetBucketIntelligentTieringConfigurationResponseSuccess
579
581
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetBucketIntelligentTieringConfigurationResponseSuccess
580
582
 
@@ -1019,6 +1021,7 @@ module Aws
1019
1021
  def request_charged: () -> ("requester")
1020
1022
  def replication_status: () -> ("COMPLETE" | "PENDING" | "FAILED" | "REPLICA" | "COMPLETED")
1021
1023
  def parts_count: () -> ::Integer
1024
+ def tag_count: () -> ::Integer
1022
1025
  def object_lock_mode: () -> ("GOVERNANCE" | "COMPLIANCE")
1023
1026
  def object_lock_retain_until_date: () -> ::Time
1024
1027
  def object_lock_legal_hold_status: () -> ("ON" | "OFF")
@@ -1074,7 +1077,8 @@ module Aws
1074
1077
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#list_bucket_intelligent_tiering_configurations-instance_method
1075
1078
  def list_bucket_intelligent_tiering_configurations: (
1076
1079
  bucket: ::String,
1077
- ?continuation_token: ::String
1080
+ ?continuation_token: ::String,
1081
+ ?expected_bucket_owner: ::String
1078
1082
  ) -> _ListBucketIntelligentTieringConfigurationsResponseSuccess
1079
1083
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListBucketIntelligentTieringConfigurationsResponseSuccess
1080
1084
 
@@ -1421,6 +1425,7 @@ module Aws
1421
1425
  def put_bucket_intelligent_tiering_configuration: (
1422
1426
  bucket: ::String,
1423
1427
  id: ::String,
1428
+ ?expected_bucket_owner: ::String,
1424
1429
  intelligent_tiering_configuration: {
1425
1430
  id: ::String,
1426
1431
  filter: {
@@ -2139,6 +2144,26 @@ module Aws
2139
2144
  ) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
2140
2145
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> ::Seahorse::Client::_ResponseSuccess[::Aws::EmptyStructure]
2141
2146
 
2147
+ interface _RenameObjectResponseSuccess
2148
+ include ::Seahorse::Client::_ResponseSuccess[Types::RenameObjectOutput]
2149
+ end
2150
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Client.html#rename_object-instance_method
2151
+ def rename_object: (
2152
+ bucket: ::String,
2153
+ key: ::String,
2154
+ rename_source: ::String,
2155
+ ?destination_if_match: ::String,
2156
+ ?destination_if_none_match: ::String,
2157
+ ?destination_if_modified_since: ::Time,
2158
+ ?destination_if_unmodified_since: ::Time,
2159
+ ?source_if_match: ::String,
2160
+ ?source_if_none_match: ::String,
2161
+ ?source_if_modified_since: ::Time,
2162
+ ?source_if_unmodified_since: ::Time,
2163
+ ?client_token: ::String
2164
+ ) -> _RenameObjectResponseSuccess
2165
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _RenameObjectResponseSuccess
2166
+
2142
2167
  interface _RestoreObjectResponseSuccess
2143
2168
  include ::Seahorse::Client::_ResponseSuccess[Types::RestoreObjectOutput]
2144
2169
  def request_charged: () -> ("requester")
data/sig/errors.rbs CHANGED
@@ -17,6 +17,8 @@ module Aws
17
17
  end
18
18
  class EncryptionTypeMismatch < ::Aws::Errors::ServiceError
19
19
  end
20
+ class IdempotencyParameterMismatch < ::Aws::Errors::ServiceError
21
+ end
20
22
  class InvalidObjectState < ::Aws::Errors::ServiceError
21
23
  def storage_class: () -> ::String
22
24
  def access_tier: () -> ::String
data/sig/object.rbs CHANGED
@@ -125,6 +125,9 @@ module Aws
125
125
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#parts_count-instance_method
126
126
  def parts_count: () -> ::Integer
127
127
 
128
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#tag_count-instance_method
129
+ def tag_count: () -> ::Integer
130
+
128
131
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Object.html#object_lock_mode-instance_method
129
132
  def object_lock_mode: () -> ("GOVERNANCE" | "COMPLIANCE")
130
133