diff --git a/clients/client-s3/src/commands/CompleteMultipartUploadCommand.ts b/clients/client-s3/src/commands/CompleteMultipartUploadCommand.ts index 8c7f4e16c1421..b87bb8230e57a 100644 --- a/clients/client-s3/src/commands/CompleteMultipartUploadCommand.ts +++ b/clients/client-s3/src/commands/CompleteMultipartUploadCommand.ts @@ -46,12 +46,12 @@ export interface CompleteMultipartUploadCommandOutput extends CompleteMultipartU *

Completes a multipart upload by assembling previously uploaded parts.

*

You first initiate the multipart upload and then upload all parts using the UploadPart * operation. After successfully uploading all relevant parts of an upload, you call this - * action to complete the upload. Upon receiving this request, Amazon S3 concatenates all the - * parts in ascending order by part number to create a new object. In the Complete Multipart - * Upload request, you must provide the parts list. You must ensure that the parts list is - * complete. This action concatenates the parts that you provide in the list. For each part in - * the list, you must provide the part number and the ETag value, returned after - * that part was uploaded.

+ * action to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts + * in ascending order by part number to create a new object. In the Complete Multipart Upload + * request, you must provide the parts list. You must ensure that the parts list is complete. + * This action concatenates the parts that you provide in the list. For each part in the list, + * you must provide the part number and the ETag value, returned after that part + * was uploaded.

*

Processing of a Complete Multipart Upload request could take several minutes to * complete. After Amazon S3 begins processing the request, it sends an HTTP response header that * specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white diff --git a/clients/client-s3/src/commands/CopyObjectCommand.ts b/clients/client-s3/src/commands/CopyObjectCommand.ts index ba9c3ec8db3a2..d8853be3fbd2e 100644 --- a/clients/client-s3/src/commands/CopyObjectCommand.ts +++ b/clients/client-s3/src/commands/CopyObjectCommand.ts @@ -87,29 +87,31 @@ export interface CopyObjectCommandOutput extends CopyObjectOutput, __MetadataBea *

*
Metadata
*
- *

When copying an object, you can preserve all metadata (the default) or specify new metadata. - * However, the access control list (ACL) is not preserved and is set to private for the user making the request. To - * override the default ACL setting, specify a new ACL when generating a copy request. For - * more information, see Using ACLs.

- *

To specify whether you want the object metadata copied from the source object or - * replaced with metadata provided in the request, you can optionally add the - * x-amz-metadata-directive header. When you grant permissions, you can use - * the s3:x-amz-metadata-directive condition key to enforce certain metadata - * behavior when objects are uploaded. For more information, see Specifying Conditions in a - * Policy in the Amazon S3 User Guide. For a complete list of - * Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for - * Amazon S3.

+ *

When copying an object, you can preserve all metadata (the default) or specify + * new metadata. However, the access control list (ACL) is not preserved and is set + * to private for the user making the request. To override the default ACL setting, + * specify a new ACL when generating a copy request. For more information, see Using + * ACLs.

+ *

To specify whether you want the object metadata copied from the source object + * or replaced with metadata provided in the request, you can optionally add the + * x-amz-metadata-directive header. When you grant permissions, you + * can use the s3:x-amz-metadata-directive condition key to enforce + * certain metadata behavior when objects are uploaded. For more information, see + * Specifying Conditions in a + * Policy in the Amazon S3 User Guide. For a complete list + * of Amazon S3-specific condition keys, see Actions, Resources, and Condition + * Keys for Amazon S3.

* *

- * x-amz-website-redirect-location is unique to each object and must be - * specified in the request headers to copy the value.

+ * x-amz-website-redirect-location is unique to each object and + * must be specified in the request headers to copy the value.

*
*
*
x-amz-copy-source-if Headers
*
- *

To only copy an object under certain conditions, such as whether the Etag - * matches or whether the object was modified before or after a specified date, use the - * following request parameters:

+ *

To only copy an object under certain conditions, such as whether the + * Etag matches or whether the object was modified before or after a + * specified date, use the following request parameters:

* *

If both the x-amz-copy-source-if-match and - * x-amz-copy-source-if-unmodified-since headers are present in the request - * and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

+ * x-amz-copy-source-if-unmodified-since headers are present in the + * request and evaluate as follows, Amazon S3 returns 200 OK and copies the + * data:

* *

If both the x-amz-copy-source-if-none-match and - * x-amz-copy-source-if-modified-since headers are present in the request and - * evaluate as follows, Amazon S3 returns the 412 Precondition Failed response - * code:

+ * x-amz-copy-source-if-modified-since headers are present in the + * request and evaluate as follows, Amazon S3 returns the 412 Precondition + * Failed response code:

* * *

All headers with the x-amz- prefix, including - * x-amz-copy-source, must be signed.

+ * x-amz-copy-source, must be signed.

*
*
*
Server-side encryption
*
- *

Amazon S3 automatically encrypts all new objects that are copied to an S3 bucket. When - * copying an object, if you don't specify encryption information in your copy + *

Amazon S3 automatically encrypts all new objects that are copied to an S3 bucket. + * When copying an object, if you don't specify encryption information in your copy * request, the encryption setting of the target object is set to the default * encryption configuration of the destination bucket. By default, all buckets have a * base level of encryption configuration that uses server-side encryption with Amazon S3 @@ -179,71 +184,80 @@ export interface CopyObjectCommandOutput extends CopyObjectOutput, __MetadataBea * server-side encryption with customer-provided encryption keys (SSE-C), Amazon S3 uses * the corresponding KMS key, or a customer-provided key to encrypt the target * object copy.

- *

When you perform a CopyObject operation, if you want to use a different type - * of encryption setting for the target object, you can use other appropriate - * encryption-related headers to encrypt the target object with a KMS key, an Amazon S3 managed - * key, or a customer-provided key. With server-side encryption, Amazon S3 encrypts your data as it - * writes your data to disks in its data centers and decrypts the data when you access it. If the - * encryption setting in your request is different from the default encryption configuration - * of the destination bucket, the encryption setting in your request takes precedence. If the - * source object for the copy is stored in Amazon S3 using SSE-C, you must provide the necessary - * encryption information in your request so that Amazon S3 can decrypt the object for copying. For - * more information about server-side encryption, see Using Server-Side - * Encryption.

+ *

When you perform a CopyObject operation, if you want to use a + * different type of encryption setting for the target object, you can use other + * appropriate encryption-related headers to encrypt the target object with a + * KMS key, an Amazon S3 managed key, or a customer-provided key. With server-side + * encryption, Amazon S3 encrypts your data as it writes your data to disks in its data + * centers and decrypts the data when you access it. If the encryption setting in + * your request is different from the default encryption configuration of the + * destination bucket, the encryption setting in your request takes precedence. If + * the source object for the copy is stored in Amazon S3 using SSE-C, you must provide the + * necessary encryption information in your request so that Amazon S3 can decrypt the + * object for copying. For more information about server-side encryption, see Using + * Server-Side Encryption.

*

If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the * object. For more information, see Amazon S3 Bucket Keys in the * Amazon S3 User Guide.

*
- *
Access Control List (ACL)-Specific Request - * Headers
+ *
Access Control List (ACL)-Specific Request Headers
*
- *

When copying an object, you can optionally use headers to grant ACL-based permissions. - * By default, all objects are private. Only the owner has full access control. When adding a - * new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups - * that are defined by Amazon S3. These permissions are then added to the ACL on the object. For more - * information, see Access Control List (ACL) Overview and Managing ACLs Using the REST - * API.

- *

If the bucket that you're copying objects to uses the bucket owner enforced setting for - * S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use - * this setting only accept PUT requests that don't specify an ACL or PUT requests that - * specify bucket owner full control ACLs, such as the bucket-owner-full-control - * canned ACL or an equivalent form of this ACL expressed in the XML format.

- *

For more information, see Controlling ownership of - * objects and disabling ACLs in the Amazon S3 User Guide.

+ *

When copying an object, you can optionally use headers to grant ACL-based + * permissions. By default, all objects are private. Only the owner has full access + * control. When adding a new object, you can grant permissions to individual + * Amazon Web Services accounts or to predefined groups that are defined by Amazon S3. These permissions + * are then added to the ACL on the object. For more information, see Access Control + * List (ACL) Overview and Managing ACLs Using the REST + * API.

+ *

If the bucket that you're copying objects to uses the bucket owner enforced + * setting for S3 Object Ownership, ACLs are disabled and no longer affect + * permissions. Buckets that use this setting only accept PUT requests + * that don't specify an ACL or PUT requests that specify bucket owner + * full control ACLs, such as the bucket-owner-full-control canned ACL + * or an equivalent form of this ACL expressed in the XML format.

+ *

For more information, see Controlling + * ownership of objects and disabling ACLs in the + * Amazon S3 User Guide.

* - *

If your bucket uses the bucket owner enforced setting for Object Ownership, all - * objects written to the bucket by any account will be owned by the bucket owner.

+ *

If your bucket uses the bucket owner enforced setting for Object Ownership, + * all objects written to the bucket by any account will be owned by the bucket + * owner.

*
*
*
Checksums
*
- *

When copying an object, if it has a checksum, that checksum will be copied to the new - * object by default. When you copy the object over, you can optionally specify a different - * checksum algorithm to use with the x-amz-checksum-algorithm header.

+ *

When copying an object, if it has a checksum, that checksum will be copied to + * the new object by default. When you copy the object over, you can optionally + * specify a different checksum algorithm to use with the + * x-amz-checksum-algorithm header.

*
*
Storage Class Options
*
- *

You can use the CopyObject action to change the storage class of an object - * that is already stored in Amazon S3 by using the StorageClass parameter. For more - * information, see Storage Classes in the - * Amazon S3 User Guide.

- *

If the source object's storage class is GLACIER, you must restore a copy of - * this object before you can use it as a source object for the copy operation. For - * more information, see RestoreObject. For - * more information, see Copying - * Objects.

+ *

You can use the CopyObject action to change the storage class of + * an object that is already stored in Amazon S3 by using the StorageClass + * parameter. For more information, see Storage Classes in + * the Amazon S3 User Guide.

+ *

If the source object's storage class is GLACIER or + * DEEP_ARCHIVE, or the object's storage class is + * INTELLIGENT_TIERING and it's S3 Intelligent-Tiering access tier is + * Archive Access or Deep Archive Access, you must restore a copy of this object + * before you can use it as a source object for the copy operation. For more + * information, see RestoreObject. For + * more information, see Copying + * Objects.

*
*
Versioning
*
- *

By default, x-amz-copy-source header identifies the current version of an object - * to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was - * deleted. To copy a different version, use the versionId subresource.

- *

If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for - * the object being copied. This version ID is different from the version ID of the source - * object. Amazon S3 returns the version ID of the copied object in the - * x-amz-version-id response header in the response.

- *

If you do not enable versioning or suspend it on the target bucket, the version ID that - * Amazon S3 generates is always null.

+ *

By default, x-amz-copy-source header identifies the current + * version of an object to copy. If the current version is a delete marker, Amazon S3 + * behaves as if the object was deleted. To copy a different version, use the + * versionId subresource.

+ *

If you enable versioning on the target bucket, Amazon S3 generates a unique version + * ID for the object being copied. This version ID is different from the version ID + * of the source object. Amazon S3 returns the version ID of the copied object in the + * x-amz-version-id response header in the response.

+ *

If you do not enable versioning or suspend it on the target bucket, the version + * ID that Amazon S3 generates is always null.

*
*
*

The following operations are related to CopyObject:

diff --git a/clients/client-s3/src/commands/CreateBucketCommand.ts b/clients/client-s3/src/commands/CreateBucketCommand.ts index d5e5e88fb2607..29e47845603f3 100644 --- a/clients/client-s3/src/commands/CreateBucketCommand.ts +++ b/clients/client-s3/src/commands/CreateBucketCommand.ts @@ -45,69 +45,95 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat * rules.

*

If you want to create an Amazon S3 on Outposts bucket, see Create Bucket.

*

By default, the bucket is created in the US East (N. Virginia) Region. You can - * optionally specify a Region in the request body. You might choose a Region to optimize - * latency, minimize costs, or address regulatory requirements. For example, if you reside in - * Europe, you will probably find it advantageous to create buckets in the Europe (Ireland) - * Region. For more information, see Accessing a + * optionally specify a Region in the request body. To constrain the bucket creation to a + * specific Region, you can use + * LocationConstraint + * condition key. You might choose a Region to + * optimize latency, minimize costs, or address regulatory requirements. For example, if you + * reside in Europe, you will probably find it advantageous to create buckets in the Europe + * (Ireland) Region. For more information, see Accessing a * bucket.

* *

If you send your create bucket request to the s3.amazonaws.com endpoint, - * the request goes to the us-east-1 Region. Accordingly, the signature calculations in - * Signature Version 4 must use us-east-1 as the Region, even if the location constraint in - * the request specifies another Region where the bucket is to be created. If you create a - * bucket in a Region other than US East (N. Virginia), your application must be able to - * handle 307 redirect. For more information, see Virtual hosting of - * buckets.

+ * the request goes to the us-east-1 Region. Accordingly, the signature + * calculations in Signature Version 4 must use us-east-1 as the Region, even + * if the location constraint in the request specifies another Region where the bucket is + * to be created. If you create a bucket in a Region other than US East (N. Virginia), your + * application must be able to handle 307 redirect. For more information, see Virtual hosting of + * buckets.

*
*
*
Permissions
*
- *

In addition to s3:CreateBucket, the following permissions are required when - * your CreateBucket request includes specific headers:

+ *

In addition to s3:CreateBucket, the following permissions are + * required when your CreateBucket request includes specific + * headers:

* *
*
* - *

If your CreateBucket request sets BucketOwnerEnforced for Amazon S3 Object Ownership - * and specifies a bucket ACL that provides access to an external Amazon Web Services account, your request fails with a 400 error and returns the InvalidBucketAcLWithObjectOwnership error code. For more information, - * see Setting Object - * Ownership on an existing bucket in the Amazon S3 User Guide.

+ *

If your CreateBucket request sets BucketOwnerEnforced for + * Amazon S3 Object Ownership and specifies a bucket ACL that provides access to an external + * Amazon Web Services account, your request fails with a 400 error and returns the + * InvalidBucketAcLWithObjectOwnership error code. For more information, + * see Setting Object + * Ownership on an existing bucket in the Amazon S3 User Guide. + *

*
*

The following operations are related to CreateBucket:

*