@aws-sdk/client-s3 3.830.0 → 3.835.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.
Files changed (44) hide show
  1. package/README.md +8 -0
  2. package/dist-cjs/index.js +141 -25
  3. package/dist-es/S3.js +2 -0
  4. package/dist-es/commands/RenameObjectCommand.js +28 -0
  5. package/dist-es/commands/index.js +1 -0
  6. package/dist-es/models/models_1.js +12 -0
  7. package/dist-es/protocols/Aws_restXml.js +89 -17
  8. package/dist-types/S3.d.ts +7 -0
  9. package/dist-types/S3Client.d.ts +3 -2
  10. package/dist-types/commands/CopyObjectCommand.d.ts +9 -1
  11. package/dist-types/commands/CreateBucketCommand.d.ts +16 -1
  12. package/dist-types/commands/CreateMultipartUploadCommand.d.ts +9 -1
  13. package/dist-types/commands/DeleteBucketIntelligentTieringConfigurationCommand.d.ts +1 -0
  14. package/dist-types/commands/GetBucketAclCommand.d.ts +8 -1
  15. package/dist-types/commands/GetBucketIntelligentTieringConfigurationCommand.d.ts +1 -0
  16. package/dist-types/commands/GetBucketLoggingCommand.d.ts +8 -1
  17. package/dist-types/commands/GetBucketOwnershipControlsCommand.d.ts +12 -0
  18. package/dist-types/commands/HeadObjectCommand.d.ts +1 -0
  19. package/dist-types/commands/ListBucketIntelligentTieringConfigurationsCommand.d.ts +1 -0
  20. package/dist-types/commands/ListBucketsCommand.d.ts +8 -1
  21. package/dist-types/commands/ListMultipartUploadsCommand.d.ts +8 -1
  22. package/dist-types/commands/ListObjectVersionsCommand.d.ts +8 -1
  23. package/dist-types/commands/ListObjectsCommand.d.ts +8 -1
  24. package/dist-types/commands/ListPartsCommand.d.ts +8 -1
  25. package/dist-types/commands/PutBucketAclCommand.d.ts +13 -2
  26. package/dist-types/commands/PutBucketIntelligentTieringConfigurationCommand.d.ts +1 -0
  27. package/dist-types/commands/PutBucketLoggingCommand.d.ts +13 -2
  28. package/dist-types/commands/PutObjectAclCommand.d.ts +4 -1
  29. package/dist-types/commands/PutObjectCommand.d.ts +9 -1
  30. package/dist-types/commands/RenameObjectCommand.d.ts +142 -0
  31. package/dist-types/commands/index.d.ts +1 -0
  32. package/dist-types/endpoint/EndpointParameters.d.ts +1 -1
  33. package/dist-types/models/models_0.d.ts +41 -9
  34. package/dist-types/models/models_1.d.ts +123 -0
  35. package/dist-types/protocols/Aws_restXml.d.ts +9 -0
  36. package/dist-types/ts3.4/S3.d.ts +17 -0
  37. package/dist-types/ts3.4/S3Client.d.ts +6 -0
  38. package/dist-types/ts3.4/commands/RenameObjectCommand.d.ts +47 -0
  39. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  40. package/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +4 -1
  41. package/dist-types/ts3.4/models/models_0.d.ts +4 -0
  42. package/dist-types/ts3.4/models/models_1.d.ts +23 -0
  43. package/dist-types/ts3.4/protocols/Aws_restXml.d.ts +12 -0
  44. package/package.json +18 -16
@@ -27,7 +27,15 @@ declare const PutBucketLoggingCommand_base: {
27
27
  getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
28
  };
29
29
  /**
30
- * <note>
30
+ * <important>
31
+ * <p>End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL).
32
+ * Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs,
33
+ * and REST API. However, you will no longer be able to create new Email Grantee ACLs.
34
+ * </p>
35
+ * <p>This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
36
+ * Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.</p>
37
+ * </important>
38
+ * <note>
31
39
  * <p>This operation is not supported for directory buckets.</p>
32
40
  * </note>
33
41
  * <p>Set the logging parameters for a bucket and to specify permissions for who can view and
@@ -49,7 +57,10 @@ declare const PutBucketLoggingCommand_base: {
49
57
  * <dt>Grantee Values</dt>
50
58
  * <dd>
51
59
  * <p>You can specify the person (grantee) to whom you're assigning access rights (by
52
- * using request elements) in the following ways:</p>
60
+ * using request elements) in the following ways. For examples of how to specify these
61
+ * grantee values in JSON format, see the Amazon Web Services CLI example in <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html">
62
+ * Enabling Amazon S3 server access logging</a> in the
63
+ * <i>Amazon S3 User Guide</i>.</p>
53
64
  * <ul>
54
65
  * <li>
55
66
  * <p>By the person's ID:</p>
@@ -137,7 +137,10 @@ declare const PutObjectAclCommand_base: {
137
137
  * <dt>Grantee Values</dt>
138
138
  * <dd>
139
139
  * <p>You can specify the person (grantee) to whom you're assigning access rights
140
- * (using request elements) in the following ways:</p>
140
+ * (using request elements) in the following ways. For examples of how to specify these
141
+ * grantee values in JSON format, see the Amazon Web Services CLI example in <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html">
142
+ * Enabling Amazon S3 server access logging</a> in the
143
+ * <i>Amazon S3 User Guide</i>.</p>
141
144
  * <ul>
142
145
  * <li>
143
146
  * <p>By the person's ID:</p>
@@ -28,7 +28,15 @@ declare const PutObjectCommand_base: {
28
28
  getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
29
29
  };
30
30
  /**
31
- * <p>Adds an object to a bucket.</p>
31
+ * <important>
32
+ * <p>End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL).
33
+ * Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs,
34
+ * and REST API. However, you will no longer be able to create new Email Grantee ACLs.
35
+ * </p>
36
+ * <p>This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
37
+ * Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.</p>
38
+ * </important>
39
+ * <p>Adds an object to a bucket.</p>
32
40
  * <note>
33
41
  * <ul>
34
42
  * <li>
@@ -0,0 +1,142 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import { RenameObjectOutput, RenameObjectRequest } from "../models/models_1";
4
+ import { S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../S3Client";
5
+ /**
6
+ * @public
7
+ */
8
+ export type { __MetadataBearer };
9
+ export { $Command };
10
+ /**
11
+ * @public
12
+ *
13
+ * The input for {@link RenameObjectCommand}.
14
+ */
15
+ export interface RenameObjectCommandInput extends RenameObjectRequest {
16
+ }
17
+ /**
18
+ * @public
19
+ *
20
+ * The output of {@link RenameObjectCommand}.
21
+ */
22
+ export interface RenameObjectCommandOutput extends RenameObjectOutput, __MetadataBearer {
23
+ }
24
+ declare const RenameObjectCommand_base: {
25
+ new (input: RenameObjectCommandInput): import("@smithy/smithy-client").CommandImpl<RenameObjectCommandInput, RenameObjectCommandOutput, S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
26
+ new (input: RenameObjectCommandInput): import("@smithy/smithy-client").CommandImpl<RenameObjectCommandInput, RenameObjectCommandOutput, S3ClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes>;
27
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
28
+ };
29
+ /**
30
+ * <p>Renames an existing object in a directory bucket that uses the S3 Express One Zone
31
+ * storage class. You can use <code>RenameObject</code> by specifying an existing object’s
32
+ * name as the source and the new name of the object as the destination within the same
33
+ * directory bucket.</p>
34
+ * <note>
35
+ * <p>
36
+ * <code>RenameObject</code> is only supported for objects stored in the S3 Express One Zone
37
+ * storage class.</p>
38
+ * </note>
39
+ * <p> To prevent overwriting an object, you can use the <code>If-None-Match</code> conditional header.</p>
40
+ * <ul>
41
+ * <li>
42
+ * <p>
43
+ * <b>If-None-Match</b> - Renames the object only if
44
+ * an object with the specified name does not already exist in the directory bucket. If
45
+ * you don't want to overwrite an existing object, you can add the
46
+ * <code>If-None-Match</code> conditional header with the value <code>‘*’</code> in
47
+ * the <code>RenameObject</code> request. Amazon S3 then returns a <code>412 Precondition
48
+ * Failed</code> error if the object with the specified name already exists.
49
+ * For more information, see <a href="https://datatracker.ietf.org/doc/rfc7232/">RFC 7232</a>.</p>
50
+ * </li>
51
+ * </ul>
52
+ * <dl>
53
+ * <dt>Permissions</dt>
54
+ * <dd>
55
+ * <p> To grant access to the <code>RenameObject</code> operation on a directory bucket, we recommend that you
56
+ * use the <code>CreateSession</code> operation for session-based authorization.
57
+ * Specifically, you grant the <code>s3express:CreateSession</code> permission to the
58
+ * directory bucket in a bucket policy or an IAM identity-based policy. Then, you
59
+ * make the <code>CreateSession</code> API call on the directory bucket to obtain a
60
+ * session token. With the session token in your request header, you can make API
61
+ * requests to this operation. After the session token expires, you make another
62
+ * <code>CreateSession</code> API call to generate a new session token for use.
63
+ * The Amazon Web Services CLI and SDKs will create and manage your session including refreshing
64
+ * the session token automatically to avoid service interruptions when a session
65
+ * expires. In your bucket policy, you can specify the
66
+ * <code>s3express:SessionMode</code> condition key to control who can create a
67
+ * <code>ReadWrite</code> or <code>ReadOnly</code> session. A
68
+ * <code>ReadWrite</code> session is required for executing all the Zonal endpoint
69
+ * API operations, including <code>RenameObject</code>. For more information about
70
+ * authorization, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html">
71
+ * <code>CreateSession</code>
72
+ * </a>. To learn more about Zonal endpoint APT operations, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-create-session.html">Authorizing Zonal endpoint API
73
+ * operations with CreateSession</a> in the <i>Amazon S3 User
74
+ * Guide</i>. </p>
75
+ * </dd>
76
+ * <dt>HTTP Host header syntax</dt>
77
+ * <dd>
78
+ * <p>
79
+ * <b>Directory buckets </b> - The HTTP Host header syntax is <code>
80
+ * <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>.</p>
81
+ * </dd>
82
+ * </dl>
83
+ * @example
84
+ * Use a bare-bones client and the command you need to make an API call.
85
+ * ```javascript
86
+ * import { S3Client, RenameObjectCommand } from "@aws-sdk/client-s3"; // ES Modules import
87
+ * // const { S3Client, RenameObjectCommand } = require("@aws-sdk/client-s3"); // CommonJS import
88
+ * const client = new S3Client(config);
89
+ * const input = { // RenameObjectRequest
90
+ * Bucket: "STRING_VALUE", // required
91
+ * Key: "STRING_VALUE", // required
92
+ * RenameSource: "STRING_VALUE", // required
93
+ * DestinationIfMatch: "STRING_VALUE",
94
+ * DestinationIfNoneMatch: "STRING_VALUE",
95
+ * DestinationIfModifiedSince: new Date("TIMESTAMP"),
96
+ * DestinationIfUnmodifiedSince: new Date("TIMESTAMP"),
97
+ * SourceIfMatch: "STRING_VALUE",
98
+ * SourceIfNoneMatch: "STRING_VALUE",
99
+ * SourceIfModifiedSince: new Date("TIMESTAMP"),
100
+ * SourceIfUnmodifiedSince: new Date("TIMESTAMP"),
101
+ * ClientToken: "STRING_VALUE",
102
+ * };
103
+ * const command = new RenameObjectCommand(input);
104
+ * const response = await client.send(command);
105
+ * // {};
106
+ *
107
+ * ```
108
+ *
109
+ * @param RenameObjectCommandInput - {@link RenameObjectCommandInput}
110
+ * @returns {@link RenameObjectCommandOutput}
111
+ * @see {@link RenameObjectCommandInput} for command's `input` shape.
112
+ * @see {@link RenameObjectCommandOutput} for command's `response` shape.
113
+ * @see {@link S3ClientResolvedConfig | config} for S3Client's `config` shape.
114
+ *
115
+ * @throws {@link IdempotencyParameterMismatch} (client fault)
116
+ * <p>Parameters on this idempotent request are inconsistent with parameters used in previous request(s).
117
+ * </p>
118
+ * <p>For a list of error codes and more information on Amazon S3 errors, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList">Error
119
+ * codes</a>.</p>
120
+ * <note>
121
+ * <p>Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.</p>
122
+ * </note>
123
+ *
124
+ * @throws {@link S3ServiceException}
125
+ * <p>Base exception class for all service exceptions from S3 service.</p>
126
+ *
127
+ *
128
+ * @public
129
+ */
130
+ export declare class RenameObjectCommand extends RenameObjectCommand_base {
131
+ /** @internal type navigation helper, not in runtime. */
132
+ protected static __types: {
133
+ api: {
134
+ input: RenameObjectRequest;
135
+ output: {};
136
+ };
137
+ sdk: {
138
+ input: RenameObjectCommandInput;
139
+ output: RenameObjectCommandOutput;
140
+ };
141
+ };
142
+ }
@@ -91,6 +91,7 @@ export * from "./PutObjectLockConfigurationCommand";
91
91
  export * from "./PutObjectRetentionCommand";
92
92
  export * from "./PutObjectTaggingCommand";
93
93
  export * from "./PutPublicAccessBlockCommand";
94
+ export * from "./RenameObjectCommand";
94
95
  export * from "./RestoreObjectCommand";
95
96
  export * from "./SelectObjectContentCommand";
96
97
  export * from "./UploadPartCommand";
@@ -14,7 +14,7 @@ export interface ClientInputEndpointParameters {
14
14
  useArnRegion?: boolean | undefined | Provider<boolean | undefined>;
15
15
  disableS3ExpressSessionAuth?: boolean | undefined | Provider<boolean | undefined>;
16
16
  }
17
- export type ClientResolvedEndpointParameters = ClientInputEndpointParameters & {
17
+ export type ClientResolvedEndpointParameters = Omit<ClientInputEndpointParameters, "endpoint"> & {
18
18
  defaultSigningName: string;
19
19
  };
20
20
  export declare const resolveClientEndpointParameters: <T>(options: T & ClientInputEndpointParameters) => T & ClientResolvedEndpointParameters;
@@ -263,7 +263,14 @@ export interface Grant {
263
263
  Permission?: Permission | undefined;
264
264
  }
265
265
  /**
266
- * <p>Container for the owner's display name and ID.</p>
266
+ * <important>
267
+ * <p>End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning <code>DisplayName</code>. Update your applications to use canonical IDs (unique identifier for
268
+ * Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of <code>DisplayName</code>.
269
+ * </p>
270
+ * <p>This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region,
271
+ * Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.</p>
272
+ * </important>
273
+ * <p>Container for the owner's display name and ID.</p>
267
274
  * @public
268
275
  */
269
276
  export interface Owner {
@@ -3137,6 +3144,11 @@ export interface DeleteBucketIntelligentTieringConfigurationRequest {
3137
3144
  * @public
3138
3145
  */
3139
3146
  Id: string | undefined;
3147
+ /**
3148
+ * <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
3149
+ * @public
3150
+ */
3151
+ ExpectedBucketOwner?: string | undefined;
3140
3152
  }
3141
3153
  /**
3142
3154
  * @public
@@ -6461,6 +6473,11 @@ export interface GetBucketIntelligentTieringConfigurationRequest {
6461
6473
  * @public
6462
6474
  */
6463
6475
  Id: string | undefined;
6476
+ /**
6477
+ * <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
6478
+ * @public
6479
+ */
6480
+ ExpectedBucketOwner?: string | undefined;
6464
6481
  }
6465
6482
  /**
6466
6483
  * <p>Specifies the use of SSE-KMS to encrypt delivered inventory reports.</p>
@@ -9882,18 +9899,18 @@ export interface GetObjectAttributesParts {
9882
9899
  * <li>
9883
9900
  * <p>
9884
9901
  * <b>General purpose buckets</b> - For
9885
- * <code>GetObjectAttributes</code>, if a additional checksum (including
9886
- * <code>x-amz-checksum-crc32</code>, <code>x-amz-checksum-crc32c</code>,
9887
- * <code>x-amz-checksum-sha1</code>, or <code>x-amz-checksum-sha256</code>) isn't
9902
+ * <code>GetObjectAttributes</code>, if an additional checksum (including
9903
+ * <code>x-amz-checksum-crc32</code>, <code>x-amz-checksum-crc32c</code>,
9904
+ * <code>x-amz-checksum-sha1</code>, or <code>x-amz-checksum-sha256</code>) isn't
9888
9905
  * applied to the object specified in the request, the response doesn't return
9889
- * <code>Part</code>.</p>
9906
+ * the <code>Part</code> element.</p>
9890
9907
  * </li>
9891
9908
  * <li>
9892
9909
  * <p>
9893
9910
  * <b>Directory buckets</b> - For
9894
- * <code>GetObjectAttributes</code>, no matter whether a additional checksum is
9911
+ * <code>GetObjectAttributes</code>, regardless of whether an additional checksum is
9895
9912
  * applied to the object specified in the request, the response returns
9896
- * <code>Part</code>.</p>
9913
+ * the <code>Part</code> element.</p>
9897
9914
  * </li>
9898
9915
  * </ul>
9899
9916
  * </note>
@@ -10958,6 +10975,17 @@ export interface HeadObjectOutput {
10958
10975
  * @public
10959
10976
  */
10960
10977
  PartsCount?: number | undefined;
10978
+ /**
10979
+ * <p>The number of tags, if any, on the object, when you have the relevant permission to read
10980
+ * object tags.</p>
10981
+ * <p>You can use <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> to retrieve
10982
+ * the tag set associated with an object.</p>
10983
+ * <note>
10984
+ * <p>This functionality is not supported for directory buckets.</p>
10985
+ * </note>
10986
+ * @public
10987
+ */
10988
+ TagCount?: number | undefined;
10961
10989
  /**
10962
10990
  * <p>The Object Lock mode, if any, that's in effect for this object. This header is only
10963
10991
  * returned if the requester has the <code>s3:GetObjectRetention</code> permission. For more
@@ -11321,6 +11349,11 @@ export interface ListBucketIntelligentTieringConfigurationsRequest {
11321
11349
  * @public
11322
11350
  */
11323
11351
  ContinuationToken?: string | undefined;
11352
+ /**
11353
+ * <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
11354
+ * @public
11355
+ */
11356
+ ExpectedBucketOwner?: string | undefined;
11324
11357
  }
11325
11358
  /**
11326
11359
  * @public
@@ -12405,8 +12438,7 @@ export interface ListObjectsV2Output {
12405
12438
  /**
12406
12439
  * <p> If <code>ContinuationToken</code> was sent with the request, it is included in the
12407
12440
  * response. You can use the returned <code>ContinuationToken</code> for pagination of the
12408
- * list response. You can use this <code>ContinuationToken</code> for pagination of the list
12409
- * results. </p>
12441
+ * list response.</p>
12410
12442
  * @public
12411
12443
  */
12412
12444
  ContinuationToken?: string | undefined;
@@ -136,6 +136,11 @@ export interface PutBucketIntelligentTieringConfigurationRequest {
136
136
  * @public
137
137
  */
138
138
  Id: string | undefined;
139
+ /**
140
+ * <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
141
+ * @public
142
+ */
143
+ ExpectedBucketOwner?: string | undefined;
139
144
  /**
140
145
  * <p>Container for S3 Intelligent-Tiering configuration.</p>
141
146
  * @public
@@ -2074,6 +2079,124 @@ export interface PutPublicAccessBlockRequest {
2074
2079
  */
2075
2080
  ExpectedBucketOwner?: string | undefined;
2076
2081
  }
2082
+ /**
2083
+ * <p>Parameters on this idempotent request are inconsistent with parameters used in previous request(s).
2084
+ * </p>
2085
+ * <p>For a list of error codes and more information on Amazon S3 errors, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList">Error
2086
+ * codes</a>.</p>
2087
+ * <note>
2088
+ * <p>Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.</p>
2089
+ * </note>
2090
+ * @public
2091
+ */
2092
+ export declare class IdempotencyParameterMismatch extends __BaseException {
2093
+ readonly name: "IdempotencyParameterMismatch";
2094
+ readonly $fault: "client";
2095
+ /**
2096
+ * @internal
2097
+ */
2098
+ constructor(opts: __ExceptionOptionType<IdempotencyParameterMismatch, __BaseException>);
2099
+ }
2100
+ /**
2101
+ * @public
2102
+ */
2103
+ export interface RenameObjectOutput {
2104
+ }
2105
+ /**
2106
+ * @public
2107
+ */
2108
+ export interface RenameObjectRequest {
2109
+ /**
2110
+ * <p>The bucket name of the directory bucket containing the object.</p>
2111
+ * <p> You must use virtual-hosted-style requests in the format
2112
+ * <code>Bucket-name.s3express-zone-id.region-code.amazonaws.com</code>. Path-style requests are not supported.
2113
+ * Directory bucket names must be unique in the chosen
2114
+ * Availability Zone. Bucket names must follow the format <code>bucket-base-name--zone-id--x-s3 </code> (for example,
2115
+ * <code>amzn-s3-demo-bucket--usw2-az1--x-s3</code>). For information about bucket naming
2116
+ * restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket
2117
+ * naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
2118
+ * <p>Note: To supply the Multi-region Access Point (MRAP) to Bucket, you need to install the "@aws-sdk/signature-v4-crt" package to your project dependencies.
2119
+ * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues</p>
2120
+ * @public
2121
+ */
2122
+ Bucket: string | undefined;
2123
+ /**
2124
+ * <p>Key name of the object to rename.</p>
2125
+ * @public
2126
+ */
2127
+ Key: string | undefined;
2128
+ /**
2129
+ * <p>Specifies the source for the rename operation. The value must be URL encoded.</p>
2130
+ * @public
2131
+ */
2132
+ RenameSource: string | undefined;
2133
+ /**
2134
+ * <p>Renames the object only if the ETag (entity tag) value provided during the operation
2135
+ * matches the ETag of the object in S3. The <code>If-Match</code> header field makes the
2136
+ * request method conditional on ETags. If the ETag values do not match, the operation returns
2137
+ * a <code>412 Precondition Failed</code> error.</p>
2138
+ * <p>Expects the ETag value as a string.</p>
2139
+ * @public
2140
+ */
2141
+ DestinationIfMatch?: string | undefined;
2142
+ /**
2143
+ * <p> Renames the object only if the destination does not already exist in the specified
2144
+ * directory bucket. If the object does exist when you send a request with
2145
+ * <code>If-None-Match:*</code>, the S3 API will return a <code>412 Precondition
2146
+ * Failed</code> error, preventing an overwrite. The <code>If-None-Match</code> header
2147
+ * prevents overwrites of existing data by validating that there's not an object with the same
2148
+ * key name already in your directory bucket.</p>
2149
+ * <p> Expects the <code>*</code> character (asterisk).</p>
2150
+ * @public
2151
+ */
2152
+ DestinationIfNoneMatch?: string | undefined;
2153
+ /**
2154
+ * <p>Renames the object if the destination exists and if it has been modified since the
2155
+ * specified time.</p>
2156
+ * @public
2157
+ */
2158
+ DestinationIfModifiedSince?: Date | undefined;
2159
+ /**
2160
+ * <p>Renames the object if it hasn't been modified since the specified time.</p>
2161
+ * @public
2162
+ */
2163
+ DestinationIfUnmodifiedSince?: Date | undefined;
2164
+ /**
2165
+ * <p>Renames the object if the source exists and if its entity tag (ETag) matches the
2166
+ * specified ETag. </p>
2167
+ * @public
2168
+ */
2169
+ SourceIfMatch?: string | undefined;
2170
+ /**
2171
+ * <p>Renames the object if the source exists and if its entity tag (ETag) is different than
2172
+ * the specified ETag. If an asterisk (<code>*</code>) character is provided, the operation
2173
+ * will fail and return a <code>412 Precondition Failed</code> error. </p>
2174
+ * @public
2175
+ */
2176
+ SourceIfNoneMatch?: string | undefined;
2177
+ /**
2178
+ * <p>Renames the object if the source exists and if it has been modified since the specified time.</p>
2179
+ * @public
2180
+ */
2181
+ SourceIfModifiedSince?: Date | undefined;
2182
+ /**
2183
+ * <p>Renames the object if the source exists and hasn't been modified since the specified time.</p>
2184
+ * @public
2185
+ */
2186
+ SourceIfUnmodifiedSince?: Date | undefined;
2187
+ /**
2188
+ * <p> A unique string with a max of 64 ASCII characters in the ASCII range of 33 - 126.
2189
+ * <code>RenameObject</code> supports idempotency using a client token. To make an
2190
+ * idempotent API request using <code>RenameObject</code>, specify a client token in the
2191
+ * request. You should not reuse the same client token for other API requests. If you retry a
2192
+ * request that completed successfully using the same client token and the same parameters,
2193
+ * the retry succeeds without performing any further actions. If you retry a successful
2194
+ * request using the same client token, but one or more of the parameters are different, the
2195
+ * retry fails and an <code>IdempotentParameterMismatch</code> error is returned. </p>
2196
+ * @public
2197
+ */
2198
+ ClientToken?: string | undefined;
2199
+ }
2077
2200
  /**
2078
2201
  * <p>This action is not allowed against this storage tier.</p>
2079
2202
  * @public
@@ -93,6 +93,7 @@ import { PutObjectLockConfigurationCommandInput, PutObjectLockConfigurationComma
93
93
  import { PutObjectRetentionCommandInput, PutObjectRetentionCommandOutput } from "../commands/PutObjectRetentionCommand";
94
94
  import { PutObjectTaggingCommandInput, PutObjectTaggingCommandOutput } from "../commands/PutObjectTaggingCommand";
95
95
  import { PutPublicAccessBlockCommandInput, PutPublicAccessBlockCommandOutput } from "../commands/PutPublicAccessBlockCommand";
96
+ import { RenameObjectCommandInput, RenameObjectCommandOutput } from "../commands/RenameObjectCommand";
96
97
  import { RestoreObjectCommandInput, RestoreObjectCommandOutput } from "../commands/RestoreObjectCommand";
97
98
  import { SelectObjectContentCommandInput, SelectObjectContentCommandOutput } from "../commands/SelectObjectContentCommand";
98
99
  import { UploadPartCommandInput, UploadPartCommandOutput } from "../commands/UploadPartCommand";
@@ -470,6 +471,10 @@ export declare const se_PutObjectTaggingCommand: (input: PutObjectTaggingCommand
470
471
  * serializeAws_restXmlPutPublicAccessBlockCommand
471
472
  */
472
473
  export declare const se_PutPublicAccessBlockCommand: (input: PutPublicAccessBlockCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
474
+ /**
475
+ * serializeAws_restXmlRenameObjectCommand
476
+ */
477
+ export declare const se_RenameObjectCommand: (input: RenameObjectCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
473
478
  /**
474
479
  * serializeAws_restXmlRestoreObjectCommand
475
480
  */
@@ -862,6 +867,10 @@ export declare const de_PutObjectTaggingCommand: (output: __HttpResponse, contex
862
867
  * deserializeAws_restXmlPutPublicAccessBlockCommand
863
868
  */
864
869
  export declare const de_PutPublicAccessBlockCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<PutPublicAccessBlockCommandOutput>;
870
+ /**
871
+ * deserializeAws_restXmlRenameObjectCommand
872
+ */
873
+ export declare const de_RenameObjectCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<RenameObjectCommandOutput>;
865
874
  /**
866
875
  * deserializeAws_restXmlRestoreObjectCommand
867
876
  */
@@ -371,6 +371,10 @@ import {
371
371
  PutPublicAccessBlockCommandInput,
372
372
  PutPublicAccessBlockCommandOutput,
373
373
  } from "./commands/PutPublicAccessBlockCommand";
374
+ import {
375
+ RenameObjectCommandInput,
376
+ RenameObjectCommandOutput,
377
+ } from "./commands/RenameObjectCommand";
374
378
  import {
375
379
  RestoreObjectCommandInput,
376
380
  RestoreObjectCommandOutput,
@@ -1682,6 +1686,19 @@ export interface S3 {
1682
1686
  options: __HttpHandlerOptions,
1683
1687
  cb: (err: any, data?: PutPublicAccessBlockCommandOutput) => void
1684
1688
  ): void;
1689
+ renameObject(
1690
+ args: RenameObjectCommandInput,
1691
+ options?: __HttpHandlerOptions
1692
+ ): Promise<RenameObjectCommandOutput>;
1693
+ renameObject(
1694
+ args: RenameObjectCommandInput,
1695
+ cb: (err: any, data?: RenameObjectCommandOutput) => void
1696
+ ): void;
1697
+ renameObject(
1698
+ args: RenameObjectCommandInput,
1699
+ options: __HttpHandlerOptions,
1700
+ cb: (err: any, data?: RenameObjectCommandOutput) => void
1701
+ ): void;
1685
1702
  restoreObject(
1686
1703
  args: RestoreObjectCommandInput,
1687
1704
  options?: __HttpHandlerOptions
@@ -431,6 +431,10 @@ import {
431
431
  PutPublicAccessBlockCommandInput,
432
432
  PutPublicAccessBlockCommandOutput,
433
433
  } from "./commands/PutPublicAccessBlockCommand";
434
+ import {
435
+ RenameObjectCommandInput,
436
+ RenameObjectCommandOutput,
437
+ } from "./commands/RenameObjectCommand";
434
438
  import {
435
439
  RestoreObjectCommandInput,
436
440
  RestoreObjectCommandOutput,
@@ -552,6 +556,7 @@ export type ServiceInputTypes =
552
556
  | PutObjectRetentionCommandInput
553
557
  | PutObjectTaggingCommandInput
554
558
  | PutPublicAccessBlockCommandInput
559
+ | RenameObjectCommandInput
555
560
  | RestoreObjectCommandInput
556
561
  | SelectObjectContentCommandInput
557
562
  | UploadPartCommandInput
@@ -651,6 +656,7 @@ export type ServiceOutputTypes =
651
656
  | PutObjectRetentionCommandOutput
652
657
  | PutObjectTaggingCommandOutput
653
658
  | PutPublicAccessBlockCommandOutput
659
+ | RenameObjectCommandOutput
654
660
  | RestoreObjectCommandOutput
655
661
  | SelectObjectContentCommandOutput
656
662
  | UploadPartCommandOutput
@@ -0,0 +1,47 @@
1
+ import { Command as $Command } from "@smithy/smithy-client";
2
+ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
3
+ import { RenameObjectOutput, RenameObjectRequest } from "../models/models_1";
4
+ import {
5
+ S3ClientResolvedConfig,
6
+ ServiceInputTypes,
7
+ ServiceOutputTypes,
8
+ } from "../S3Client";
9
+ export { __MetadataBearer };
10
+ export { $Command };
11
+ export interface RenameObjectCommandInput extends RenameObjectRequest {}
12
+ export interface RenameObjectCommandOutput
13
+ extends RenameObjectOutput,
14
+ __MetadataBearer {}
15
+ declare const RenameObjectCommand_base: {
16
+ new (
17
+ input: RenameObjectCommandInput
18
+ ): import("@smithy/smithy-client").CommandImpl<
19
+ RenameObjectCommandInput,
20
+ RenameObjectCommandOutput,
21
+ S3ClientResolvedConfig,
22
+ ServiceInputTypes,
23
+ ServiceOutputTypes
24
+ >;
25
+ new (
26
+ input: RenameObjectCommandInput
27
+ ): import("@smithy/smithy-client").CommandImpl<
28
+ RenameObjectCommandInput,
29
+ RenameObjectCommandOutput,
30
+ S3ClientResolvedConfig,
31
+ ServiceInputTypes,
32
+ ServiceOutputTypes
33
+ >;
34
+ getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions;
35
+ };
36
+ export declare class RenameObjectCommand extends RenameObjectCommand_base {
37
+ protected static __types: {
38
+ api: {
39
+ input: RenameObjectRequest;
40
+ output: {};
41
+ };
42
+ sdk: {
43
+ input: RenameObjectCommandInput;
44
+ output: RenameObjectCommandOutput;
45
+ };
46
+ };
47
+ }
@@ -91,6 +91,7 @@ export * from "./PutObjectLockConfigurationCommand";
91
91
  export * from "./PutObjectRetentionCommand";
92
92
  export * from "./PutObjectTaggingCommand";
93
93
  export * from "./PutPublicAccessBlockCommand";
94
+ export * from "./RenameObjectCommand";
94
95
  export * from "./RestoreObjectCommand";
95
96
  export * from "./SelectObjectContentCommand";
96
97
  export * from "./UploadPartCommand";
@@ -28,7 +28,10 @@ export interface ClientInputEndpointParameters {
28
28
  | undefined
29
29
  | Provider<boolean | undefined>;
30
30
  }
31
- export type ClientResolvedEndpointParameters = ClientInputEndpointParameters & {
31
+ export type ClientResolvedEndpointParameters = Pick<
32
+ ClientInputEndpointParameters,
33
+ Exclude<keyof ClientInputEndpointParameters, "endpoint">
34
+ > & {
32
35
  defaultSigningName: string;
33
36
  };
34
37
  export declare const resolveClientEndpointParameters: <T>(
@@ -494,6 +494,7 @@ export interface DeleteBucketEncryptionRequest {
494
494
  export interface DeleteBucketIntelligentTieringConfigurationRequest {
495
495
  Bucket: string | undefined;
496
496
  Id: string | undefined;
497
+ ExpectedBucketOwner?: string | undefined;
497
498
  }
498
499
  export interface DeleteBucketInventoryConfigurationRequest {
499
500
  Bucket: string | undefined;
@@ -776,6 +777,7 @@ export interface GetBucketIntelligentTieringConfigurationOutput {
776
777
  export interface GetBucketIntelligentTieringConfigurationRequest {
777
778
  Bucket: string | undefined;
778
779
  Id: string | undefined;
780
+ ExpectedBucketOwner?: string | undefined;
779
781
  }
780
782
  export interface SSEKMS {
781
783
  KeyId: string | undefined;
@@ -1674,6 +1676,7 @@ export interface HeadObjectOutput {
1674
1676
  RequestCharged?: RequestCharged | undefined;
1675
1677
  ReplicationStatus?: ReplicationStatus | undefined;
1676
1678
  PartsCount?: number | undefined;
1679
+ TagCount?: number | undefined;
1677
1680
  ObjectLockMode?: ObjectLockMode | undefined;
1678
1681
  ObjectLockRetainUntilDate?: Date | undefined;
1679
1682
  ObjectLockLegalHoldStatus?: ObjectLockLegalHoldStatus | undefined;
@@ -1723,6 +1726,7 @@ export interface ListBucketIntelligentTieringConfigurationsOutput {
1723
1726
  export interface ListBucketIntelligentTieringConfigurationsRequest {
1724
1727
  Bucket: string | undefined;
1725
1728
  ContinuationToken?: string | undefined;
1729
+ ExpectedBucketOwner?: string | undefined;
1726
1730
  }
1727
1731
  export interface ListBucketInventoryConfigurationsOutput {
1728
1732
  ContinuationToken?: string | undefined;