Skip to content

Commit 2533edc

Browse files
author
awstools
committed
feat(client-s3): Amazon Simple Storage Service / Features: Add conditional writes in CopyObject on destination key to prevent unintended object modifications.
1 parent 87ace5f commit 2533edc

File tree

109 files changed

+630
-263
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+630
-263
lines changed

clients/client-s3/src/commands/AbortMultipartUploadCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,9 @@ export interface AbortMultipartUploadCommandOutput extends AbortMultipartUploadO
112112
* </p>
113113
* </li>
114114
* </ul>
115+
* <important>
116+
* <p>You must URL encode any signed header values that contain spaces. For example, if your header value is <code>my file.txt</code>, containing two spaces after <code>my</code>, you must URL encode this value to <code>my%20%20file.txt</code>.</p>
117+
* </important>
115118
* @example
116119
* Use a bare-bones client and the command you need to make an API call.
117120
* ```javascript

clients/client-s3/src/commands/CompleteMultipartUploadCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,9 @@ export interface CompleteMultipartUploadCommandOutput extends CompleteMultipartU
194194
* </p>
195195
* </li>
196196
* </ul>
197+
* <important>
198+
* <p>You must URL encode any signed header values that contain spaces. For example, if your header value is <code>my file.txt</code>, containing two spaces after <code>my</code>, you must URL encode this value to <code>my%20%20file.txt</code>.</p>
199+
* </important>
197200
* @example
198201
* Use a bare-bones client and the command you need to make an API call.
199202
* ```javascript

clients/client-s3/src/commands/CopyObjectCommand.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,12 @@ export interface CopyObjectCommandInput extends CopyObjectRequest {}
3535
export interface CopyObjectCommandOutput extends CopyObjectOutput, __MetadataBearer {}
3636

3737
/**
38-
* <important>
39-
* <p>End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL).
40-
* 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,
41-
* and REST API. However, you will no longer be able to create new Email Grantee ACLs.
42-
* </p>
43-
* <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,
44-
* Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.</p>
38+
* <p>Creates a copy of an object that is already stored in Amazon S3.</p>
39+
* <important>
40+
* <p>End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025,
41+
* the request will receive an <code>HTTP 405</code> (Method Not Allowed) error.</p>
42+
* <p>This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo).</p>
4543
* </important>
46-
* <p>Creates a copy of an object that is already stored in Amazon S3.</p>
4744
* <note>
4845
* <p>You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5
4946
* GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you
@@ -236,6 +233,9 @@ export interface CopyObjectCommandOutput extends CopyObjectOutput, __MetadataBea
236233
* </p>
237234
* </li>
238235
* </ul>
236+
* <important>
237+
* <p>You must URL encode any signed header values that contain spaces. For example, if your header value is <code>my file.txt</code>, containing two spaces after <code>my</code>, you must URL encode this value to <code>my%20%20file.txt</code>.</p>
238+
* </important>
239239
* @example
240240
* Use a bare-bones client and the command you need to make an API call.
241241
* ```javascript
@@ -263,6 +263,8 @@ export interface CopyObjectCommandOutput extends CopyObjectOutput, __MetadataBea
263263
* GrantRead: "STRING_VALUE",
264264
* GrantReadACP: "STRING_VALUE",
265265
* GrantWriteACP: "STRING_VALUE",
266+
* IfMatch: "STRING_VALUE",
267+
* IfNoneMatch: "STRING_VALUE",
266268
* Key: "STRING_VALUE", // required
267269
* Metadata: { // Metadata
268270
* "<keys>": "STRING_VALUE",

clients/client-s3/src/commands/CreateBucketCommand.ts

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -31,19 +31,9 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat
3131

3232
/**
3333
* <important>
34-
* <p>End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL).
35-
* 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,
36-
* and REST API. However, you will no longer be able to create new Email Grantee ACLs.
37-
* </p>
38-
* <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,
39-
* Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.</p>
40-
* </important>
41-
* <important>
42-
* <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
43-
* 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>.
44-
* </p>
45-
* <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,
46-
* Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.</p>
34+
* <p>End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025,
35+
* the request will receive an <code>HTTP 405</code> (Method Not Allowed) error.</p>
36+
* <p>This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo).</p>
4737
* </important>
4838
* <note>
4939
* <p>This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html">
@@ -182,6 +172,9 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat
182172
* </p>
183173
* </li>
184174
* </ul>
175+
* <important>
176+
* <p>You must URL encode any signed header values that contain spaces. For example, if your header value is <code>my file.txt</code>, containing two spaces after <code>my</code>, you must URL encode this value to <code>my%20%20file.txt</code>.</p>
177+
* </important>
185178
* @example
186179
* Use a bare-bones client and the command you need to make an API call.
187180
* ```javascript

clients/client-s3/src/commands/CreateBucketMetadataConfigurationCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ export interface CreateBucketMetadataConfigurationCommandOutput extends __Metada
123123
* </p>
124124
* </li>
125125
* </ul>
126+
* <important>
127+
* <p>You must URL encode any signed header values that contain spaces. For example, if your header value is <code>my file.txt</code>, containing two spaces after <code>my</code>, you must URL encode this value to <code>my%20%20file.txt</code>.</p>
128+
* </important>
126129
* @example
127130
* Use a bare-bones client and the command you need to make an API call.
128131
* ```javascript

clients/client-s3/src/commands/CreateBucketMetadataTableConfigurationCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,9 @@ export interface CreateBucketMetadataTableConfigurationCommandOutput extends __M
103103
* </p>
104104
* </li>
105105
* </ul>
106+
* <important>
107+
* <p>You must URL encode any signed header values that contain spaces. For example, if your header value is <code>my file.txt</code>, containing two spaces after <code>my</code>, you must URL encode this value to <code>my%20%20file.txt</code>.</p>
108+
* </important>
106109
* @example
107110
* Use a bare-bones client and the command you need to make an API call.
108111
* ```javascript

clients/client-s3/src/commands/CreateMultipartUploadCommand.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,9 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa
3636

3737
/**
3838
* <important>
39-
* <p>End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL).
40-
* 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,
41-
* and REST API. However, you will no longer be able to create new Email Grantee ACLs.
42-
* </p>
43-
* <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,
44-
* Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.</p>
39+
* <p>End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025,
40+
* the request will receive an <code>HTTP 405</code> (Method Not Allowed) error.</p>
41+
* <p>This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo).</p>
4542
* </important>
4643
* <p>This action initiates a multipart upload and returns an upload ID. This upload ID is used to
4744
* associate all of the parts in the specific multipart upload. You specify this upload ID in each of your
@@ -285,6 +282,9 @@ export interface CreateMultipartUploadCommandOutput extends CreateMultipartUploa
285282
* </p>
286283
* </li>
287284
* </ul>
285+
* <important>
286+
* <p>You must URL encode any signed header values that contain spaces. For example, if your header value is <code>my file.txt</code>, containing two spaces after <code>my</code>, you must URL encode this value to <code>my%20%20file.txt</code>.</p>
287+
* </important>
288288
* @example
289289
* Use a bare-bones client and the command you need to make an API call.
290290
* ```javascript

clients/client-s3/src/commands/CreateSessionCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,9 @@ export interface CreateSessionCommandOutput extends CreateSessionOutput, __Metad
138138
* <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>.</p>
139139
* </dd>
140140
* </dl>
141+
* <important>
142+
* <p>You must URL encode any signed header values that contain spaces. For example, if your header value is <code>my file.txt</code>, containing two spaces after <code>my</code>, you must URL encode this value to <code>my%20%20file.txt</code>.</p>
143+
* </important>
141144
* @example
142145
* Use a bare-bones client and the command you need to make an API call.
143146
* ```javascript

clients/client-s3/src/commands/DeleteBucketAnalyticsConfigurationCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,9 @@ export interface DeleteBucketAnalyticsConfigurationCommandOutput extends __Metad
6060
* </p>
6161
* </li>
6262
* </ul>
63+
* <important>
64+
* <p>You must URL encode any signed header values that contain spaces. For example, if your header value is <code>my file.txt</code>, containing two spaces after <code>my</code>, you must URL encode this value to <code>my%20%20file.txt</code>.</p>
65+
* </important>
6366
* @example
6467
* Use a bare-bones client and the command you need to make an API call.
6568
* ```javascript

clients/client-s3/src/commands/DeleteBucketCommand.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,9 @@ export interface DeleteBucketCommandOutput extends __MetadataBearer {}
8484
* </p>
8585
* </li>
8686
* </ul>
87+
* <important>
88+
* <p>You must URL encode any signed header values that contain spaces. For example, if your header value is <code>my file.txt</code>, containing two spaces after <code>my</code>, you must URL encode this value to <code>my%20%20file.txt</code>.</p>
89+
* </important>
8790
* @example
8891
* Use a bare-bones client and the command you need to make an API call.
8992
* ```javascript

0 commit comments

Comments
 (0)