diff --git a/clients/client-s3/src/commands/CompleteMultipartUploadCommand.ts b/clients/client-s3/src/commands/CompleteMultipartUploadCommand.ts index 91dac0ead817..b0527d3f9efa 100644 --- a/clients/client-s3/src/commands/CompleteMultipartUploadCommand.ts +++ b/clients/client-s3/src/commands/CompleteMultipartUploadCommand.ts @@ -57,7 +57,7 @@ export interface CompleteMultipartUploadCommandOutput extends CompleteMultipartU * request as appropriate). If the condition persists, the SDKs throw an exception (or, for * the SDKs that don't use exceptions, they return an error).

*

Note that if CompleteMultipartUpload fails, applications should be prepared - * to retry the failed requests. For more information, see Amazon S3 Error Best + * to retry any failed requests (including 500 error responses). For more information, see Amazon S3 Error Best * Practices.

* *

You can't use Content-Type: application/x-www-form-urlencoded for the diff --git a/clients/client-s3/src/commands/CopyObjectCommand.ts b/clients/client-s3/src/commands/CopyObjectCommand.ts index 885b63195092..789b0443eeb0 100644 --- a/clients/client-s3/src/commands/CopyObjectCommand.ts +++ b/clients/client-s3/src/commands/CopyObjectCommand.ts @@ -52,7 +52,9 @@ export interface CopyObjectCommandOutput extends CopyObjectOutput, __MetadataBea * *

Both the * Region that you want to copy the object from and the Region that you want to copy the - * object to must be enabled for your account.

+ * object to must be enabled for your account. For more information about how to enable a Region for your account, see Enable + * or disable a Region for standalone accounts in the + * Amazon Web Services Account Management Guide.

* *

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a * cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad @@ -91,7 +93,7 @@ export interface CopyObjectCommandOutput extends CopyObjectOutput, __MetadataBea *

  • *

    If the destination bucket is a general purpose bucket, you must have * - * s3:PubObject + * s3:PutObject * * permission to write the object copy to the destination bucket.

    *
  • @@ -147,7 +149,7 @@ export interface CopyObjectCommandOutput extends CopyObjectOutput, __MetadataBea *

    If the error occurs during the copy operation, the error response is * embedded in the 200 OK response. For example, in a cross-region copy, you * may encounter throttling and receive a 200 OK response. - * For more information, see Resolve + * For more information, see Resolve * the Error 200 response when copying objects to Amazon S3. * The 200 OK status code means the copy was accepted, but * it doesn't mean the copy is complete. Another example is @@ -169,7 +171,7 @@ export interface CopyObjectCommandOutput extends CopyObjectOutput, __MetadataBea *

    *

    The copy request charge is based on the storage class and Region that you specify for * the destination object. The request can also result in a data retrieval charge for the - * source if the source storage class bills for data retrieval. For pricing information, see + * source if the source storage class bills for data retrieval. If the copy source is in a different region, the data transfer is billed to the copy source account. For pricing information, see * Amazon S3 pricing.

    *
    *
    HTTP Host header syntax
    diff --git a/clients/client-s3/src/commands/CreateBucketCommand.ts b/clients/client-s3/src/commands/CreateBucketCommand.ts index 9b79845f1075..c57c52e28123 100644 --- a/clients/client-s3/src/commands/CreateBucketCommand.ts +++ b/clients/client-s3/src/commands/CreateBucketCommand.ts @@ -94,13 +94,22 @@ export interface CreateBucketCommandOutput extends CreateBucketOutput, __Metadat * x-amz-object-ownership header, then the * s3:PutBucketOwnershipControls permission is required.

    * - *

    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. - *

    + *

    To set an ACL on a bucket as part of a + * CreateBucket request, you must explicitly set S3 + * Object Ownership for the bucket to a different value than the + * default, BucketOwnerEnforced. Additionally, if your + * desired bucket ACL grants public access, you must first create the + * bucket (without the bucket ACL) and then explicitly disable Block + * Public Access on the bucket before using PutBucketAcl + * to set the ACL. If you try to create a bucket with a public ACL, + * the request will fail.

    + *

    For the majority of modern use cases in S3, we recommend + * that you keep all Block Public Access settings enabled and keep + * ACLs disabled. If you would like to share data with users outside + * of your account, you can use bucket policies as needed. For more + * information, see Controlling ownership of objects and disabling ACLs for your + * bucket and Blocking public access to your Amazon S3 storage in + * the Amazon S3 User Guide.

    *
    * *
  • diff --git a/clients/client-s3/src/commands/DeleteObjectCommand.ts b/clients/client-s3/src/commands/DeleteObjectCommand.ts index 1daf33b30b56..5a7e01fe010e 100644 --- a/clients/client-s3/src/commands/DeleteObjectCommand.ts +++ b/clients/client-s3/src/commands/DeleteObjectCommand.ts @@ -30,12 +30,13 @@ export interface DeleteObjectCommandOutput extends DeleteObjectOutput, __Metadat *

    Removes an object from a bucket. The behavior depends on the bucket's versioning state:

    *
      *
    • - *

      If versioning is enabled, the operation removes the null version (if there is one) of an object and inserts a delete marker, - * which becomes the latest version of the object. If there isn't a null version, Amazon S3 does - * not remove any objects but will still respond that the command was successful.

      + *

      If bucket versioning is not enabled, the operation permanently deletes the object.

      *
    • *
    • - *

      If versioning is suspended or not enabled, the operation permanently deletes the object.

      + *

      If bucket versioning is enabled, the operation inserts a delete marker, which becomes the current version of the object. To permanently delete an object in a versioned bucket, you must include the object’s versionId in the request. For more information about versioning-enabled buckets, see Deleting object versions from a versioning-enabled bucket.

      + *
    • + *
    • + *

      If bucket versioning is suspended, the operation removes the object that has a null versionId, if there is one, and inserts a delete marker that becomes the current version of the object. If there isn't an object with a null versionId, and all versions of the object have a versionId, Amazon S3 does not remove the object and only inserts a delete marker. To permanently delete an object that has a versionId, you must include the object’s versionId in the request. For more information about versioning-suspended buckets, see Deleting objects from versioning-suspended buckets.

      *
    • *
    * @@ -95,7 +96,7 @@ export interface DeleteObjectCommandOutput extends DeleteObjectOutput, __Metadat *

    * * s3:DeleteObjectVersion - * - To delete a specific version of an object from a versiong-enabled bucket, you must have the s3:DeleteObjectVersion permission.

    + * - To delete a specific version of an object from a versioning-enabled bucket, you must have the s3:DeleteObjectVersion permission.

    *
  • * * diff --git a/clients/client-s3/src/commands/GetBucketLifecycleConfigurationCommand.ts b/clients/client-s3/src/commands/GetBucketLifecycleConfigurationCommand.ts index 690ed64a57e2..e1d8b7d7b41a 100644 --- a/clients/client-s3/src/commands/GetBucketLifecycleConfigurationCommand.ts +++ b/clients/client-s3/src/commands/GetBucketLifecycleConfigurationCommand.ts @@ -36,12 +36,12 @@ export interface GetBucketLifecycleConfigurationCommandOutput *

    This operation is not supported by directory buckets.

    * * - *

    Bucket lifecycle configuration now supports specifying a lifecycle rule using an - * object key name prefix, one or more object tags, or a combination of both. Accordingly, + *

    Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, object size, or any combination of these. Accordingly, this section describes the latest API. The previous version of the API supported filtering based only on an object key name prefix, which is supported for backward compatibility. + * For the related API description, see GetBucketLifecycle. Accordingly, * this section describes the latest API. The response describes the new filter element * that you can use to specify a filter to select a subset of objects to which the rule * applies. If you are using a previous version of the lifecycle configuration, it still - * works. For the earlier action, see GetBucketLifecycle.

    + * works. For the earlier action,

    *
    *

    Returns the lifecycle configuration information set on the bucket. For information about * lifecycle configuration, see Object Lifecycle diff --git a/clients/client-s3/src/commands/HeadBucketCommand.ts b/clients/client-s3/src/commands/HeadBucketCommand.ts index dda467ea22ec..969b0fbb7ebb 100644 --- a/clients/client-s3/src/commands/HeadBucketCommand.ts +++ b/clients/client-s3/src/commands/HeadBucketCommand.ts @@ -32,7 +32,7 @@ export interface HeadBucketCommandOutput extends HeadBucketOutput, __MetadataBea *

    If the bucket does not exist or you do not have permission to access it, the * HEAD request returns a generic 400 Bad Request, 403 * Forbidden or 404 Not Found code. A message body is not included, so - * you cannot determine the exception beyond these error codes.

    + * you cannot determine the exception beyond these HTTP response codes.

    * *

    * Directory buckets - You must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the diff --git a/clients/client-s3/src/commands/PutBucketLifecycleConfigurationCommand.ts b/clients/client-s3/src/commands/PutBucketLifecycleConfigurationCommand.ts index 2b9f286f0d81..f068a91ee056 100644 --- a/clients/client-s3/src/commands/PutBucketLifecycleConfigurationCommand.ts +++ b/clients/client-s3/src/commands/PutBucketLifecycleConfigurationCommand.ts @@ -40,11 +40,8 @@ export interface PutBucketLifecycleConfigurationCommandOutput extends __Metadata * lifecycle configuration. For information about lifecycle configuration, see Managing * your storage lifecycle.

    * - *

    Bucket lifecycle configuration now supports specifying a lifecycle rule using an - * object key name prefix, one or more object tags, or a combination of both. Accordingly, - * this section describes the latest API. The previous version of the API supported - * filtering based only on an object key name prefix, which is supported for backward - * compatibility. For the related API description, see PutBucketLifecycle.

    + *

    Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, object size, or any combination of these. Accordingly, this section describes the latest API. The previous version of the API supported filtering based only on an object key name prefix, which is supported for backward compatibility. + * For the related API description, see PutBucketLifecycle.

    *
    *
    *
    Rules
    @@ -55,9 +52,7 @@ export interface PutBucketLifecycleConfigurationCommandOutput extends __Metadata * Each rule consists of the following:

    *
      *
    • - *

      A filter identifying a subset of objects to which the rule applies. The - * filter can be based on a key name prefix, object tags, or a combination of - * both.

      + *

      A filter identifying a subset of objects to which the rule applies. The filter can be based on a key name prefix, object tags, object size, or any combination of these.

      *
    • *
    • *

      A status indicating whether the rule is in effect.

      diff --git a/clients/client-s3/src/commands/RestoreObjectCommand.ts b/clients/client-s3/src/commands/RestoreObjectCommand.ts index 1cd2cc711c23..03c20d5df5b1 100644 --- a/clients/client-s3/src/commands/RestoreObjectCommand.ts +++ b/clients/client-s3/src/commands/RestoreObjectCommand.ts @@ -37,10 +37,6 @@ export interface RestoreObjectCommandOutput extends RestoreObjectOutput, __Metad *
        *
      • *

        - * select - Perform a select query on an archived object

        - *
      • - *
      • - *

        * restore an archive - Restore an archived object

        *
      • *
      @@ -65,60 +61,6 @@ export interface RestoreObjectCommandOutput extends RestoreObjectOutput, __Metad *

      *
    • *
    - *

    Define the SQL expression for the SELECT type of restoration for your query - * in the request body's SelectParameters structure. You can use expressions like - * the following examples.

    - *
      - *
    • - *

      The following expression returns all records from the specified object.

      - *

      - * SELECT * FROM Object - *

      - *
    • - *
    • - *

      Assuming that you are not using any headers for data stored in the object, you can - * specify columns with positional headers.

      - *

      - * SELECT s._1, s._2 FROM Object s WHERE s._3 > 100 - *

      - *
    • - *
    • - *

      If you have headers and you set the fileHeaderInfo in the - * CSV structure in the request body to USE, you can - * specify headers in the query. (If you set the fileHeaderInfo field to - * IGNORE, the first row is skipped for the query.) You cannot mix - * ordinal positions with header column names.

      - *

      - * SELECT s.Id, s.FirstName, s.SSN FROM S3Object s - *

      - *
    • - *
    - *

    When making a select request, you can also do the following:

    - *
      - *
    • - *

      To expedite your queries, specify the Expedited tier. For more - * information about tiers, see "Restoring Archives," later in this topic.

      - *
    • - *
    • - *

      Specify details about the data serialization format of both the input object that - * is being queried and the serialization of the CSV-encoded query results.

      - *
    • - *
    - *

    The following are additional important facts about the select feature:

    - *
      - *
    • - *

      The output results are new Amazon S3 objects. Unlike archive retrievals, they are - * stored until explicitly deleted-manually or through a lifecycle configuration.

      - *
    • - *
    • - *

      You can issue more than one select request on the same Amazon S3 object. Amazon S3 doesn't - * duplicate requests, so avoid issuing duplicate requests.

      - *
    • - *
    • - *

      Amazon S3 accepts a select request even if the object has already been restored. A - * select request doesn’t return error response 409.

      - *
    • - *
    *
    *
    Permissions
    *
    @@ -234,8 +176,7 @@ export interface RestoreObjectCommandOutput extends RestoreObjectOutput, __Metad * *
  • *

    - * Cause: Object restore is already in progress. (This error - * does not apply to SELECT type requests.) + * Cause: Object restore is already in progress. *

    *
  • *
  • diff --git a/clients/client-s3/src/commands/UploadPartCopyCommand.ts b/clients/client-s3/src/commands/UploadPartCopyCommand.ts index a3f83e8fb2c1..667775299d19 100644 --- a/clients/client-s3/src/commands/UploadPartCopyCommand.ts +++ b/clients/client-s3/src/commands/UploadPartCopyCommand.ts @@ -84,7 +84,7 @@ export interface UploadPartCopyCommandOutput extends UploadPartCopyOutput, __Met *
  • *
  • *

    If the destination bucket is a general purpose bucket, you must have the - * s3:PubObject + * s3:PutObject * permission to write the object copy to the destination bucket. *

    *
  • diff --git a/clients/client-s3/src/models/models_0.ts b/clients/client-s3/src/models/models_0.ts index a2d7f1f86033..b0f9951abf6e 100644 --- a/clients/client-s3/src/models/models_0.ts +++ b/clients/client-s3/src/models/models_0.ts @@ -72,7 +72,7 @@ export interface AbortMultipartUploadRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3
    ). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

    *

    @@ -623,7 +623,7 @@ export interface CompleteMultipartUploadRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

    *

    @@ -1070,7 +1070,7 @@ export interface CopyObjectRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

    *

    @@ -1901,7 +1901,7 @@ export interface LocationInfo { /** *

    The name of the location where the bucket will be created.

    - *

    For directory buckets, the AZ ID of the Availability Zone where the bucket will be created. An example AZ ID value is usw2-az2.

    + *

    For directory buckets, the name of the location is the AZ ID of the Availability Zone where the bucket will be created. An example AZ ID value is usw2-az1.

    * @public */ Name?: string; @@ -2025,7 +2025,7 @@ export interface CreateBucketRequest { * Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format * bucket_base_name--az_id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide *

    * @public */ @@ -2289,7 +2289,7 @@ export interface CreateMultipartUploadRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

    *

    @@ -2949,7 +2949,7 @@ export interface DeleteBucketRequest { * Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format * bucket_base_name--az_id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide *

    * @public */ @@ -3148,7 +3148,7 @@ export interface DeleteBucketPolicyRequest { * Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format * bucket_base_name--az_id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide *

    *

    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. * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues

    @@ -3270,7 +3270,7 @@ export interface DeleteObjectRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

    *

    @@ -5378,7 +5378,7 @@ export interface DeleteObjectsRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

    *

    @@ -6039,7 +6039,7 @@ export interface ServerSideEncryptionByDefault { /** *

    Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default * encryption. This parameter is allowed if and only if SSEAlgorithm is set to - * aws:kms.

    + * aws:kms or aws:kms:dsse.

    *

    You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS * key.

    *
      @@ -6658,8 +6658,8 @@ export interface LifecycleRuleAndOperator { /** *

      The Filter is used to identify objects that a Lifecycle Rule applies to. A - * Filter must have exactly one of Prefix, Tag, or - * And specified.

      + * Filter can have exactly one of Prefix, Tag, ObjectSizeGreaterThan, ObjectSizeLessThan, or + * And specified. If the Filter element is left empty, the Lifecycle Rule applies to all objects in the bucket.

      * @public */ export type LifecycleRuleFilter = @@ -7489,8 +7489,7 @@ export const FilterRuleName = { export type FilterRuleName = (typeof FilterRuleName)[keyof typeof FilterRuleName]; /** - *

      Specifies the Amazon S3 object key name to filter on and whether to filter on the suffix or - * prefix of the key name.

      + *

      Specifies the Amazon S3 object key name to filter on. An object key name is the name assigned to an object in your Amazon S3 bucket. You specify whether to filter on the suffix or prefix of the object key name. A prefix is a specific string of characters at the beginning of an object key name, which you can use to organize objects. For example, you can start the key names of related objects with a prefix, such as 2023- or engineering/. Then, you can use FilterRule to find objects in a bucket with key names that have the same prefix. A suffix is similar to a prefix, but it is at the end of the object key name instead of at the beginning.

      * @public */ export interface FilterRule { @@ -7780,7 +7779,7 @@ export interface GetBucketPolicyRequest { * Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format * bucket_base_name--az_id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide *

      *

      * Access points - When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

      @@ -9219,7 +9218,7 @@ export interface GetObjectRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

      *

      @@ -9884,7 +9883,7 @@ export interface GetObjectAttributesRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

      *

      @@ -10508,7 +10507,7 @@ export interface HeadBucketOutput { /** *

      The name of the location where the bucket will be created.

      - *

      For directory buckets, the AZ ID of the Availability Zone where the bucket is created. An example AZ ID value is usw2-az2.

      + *

      For directory buckets, the AZ ID of the Availability Zone where the bucket is created. An example AZ ID value is usw2-az1.

      * *

      This functionality is only supported by directory buckets.

      *
      @@ -10545,7 +10544,7 @@ export interface HeadBucketRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

      *

      @@ -10981,7 +10980,7 @@ export interface HeadObjectRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

      *

      @@ -11630,7 +11629,11 @@ export interface ListMultipartUploadsOutput { KeyMarker?: string; /** - *

      Upload ID after which listing began.

      + *

      Together with key-marker, specifies the multipart upload after which listing should + * begin. If key-marker is not specified, the upload-id-marker parameter is ignored. + * Otherwise, any multipart uploads for a key equal to the key-marker might be included in the + * list only if they have an upload ID lexicographically greater than the specified + * upload-id-marker.

      * *

      This functionality is not supported for directory buckets.

      *
      @@ -11744,7 +11747,7 @@ export interface ListMultipartUploadsRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

      *

      @@ -12120,7 +12123,9 @@ export interface ListObjectsOutput { CommonPrefixes?: CommonPrefix[]; /** - *

      Encoding type used by Amazon S3 to encode object keys in the response.

      + *

      Encoding type used by Amazon S3 to encode object keys in the response. If using + * url, non-ASCII characters used in an object's key name will be URL encoded. + * For example, the object test_file(3).png will appear as test_file%283%29.png.

      * @public */ EncodingType?: EncodingType; @@ -12159,7 +12164,7 @@ export interface ListObjectsRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

      *

      @@ -12391,7 +12396,7 @@ export interface ListObjectsV2Request { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

      *

      @@ -12429,7 +12434,9 @@ export interface ListObjectsV2Request { Delimiter?: string; /** - *

      Encoding type used by Amazon S3 to encode object keys in the response.

      + *

      Encoding type used by Amazon S3 to encode object keys in the response. If using + * url, non-ASCII characters used in an object's key name will be URL encoded. + * For example, the object test_file(3).png will appear as test_file%283%29.png.

      * @public */ EncodingType?: EncodingType; @@ -12954,9 +12961,8 @@ export interface ListPartsOutput { UploadId?: string; /** - *

      When a list is truncated, this element specifies the last part in the list, as well as - * the value to use for the part-number-marker request parameter in a subsequent - * request.

      + *

      Specifies the part after which listing should begin. Only parts with higher part numbers + * will be listed.

      * @public */ PartNumberMarker?: string; @@ -13049,7 +13055,7 @@ export interface ListPartsRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

      *

      @@ -13694,7 +13700,7 @@ export interface PutBucketPolicyRequest { * Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name * . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format * bucket_base_name--az_id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide *

      *

      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. * For more information, please go to https://github.com/aws/aws-sdk-js-v3#known-issues

      diff --git a/clients/client-s3/src/models/models_1.ts b/clients/client-s3/src/models/models_1.ts index 50442ac5f04f..b66d7727cacd 100644 --- a/clients/client-s3/src/models/models_1.ts +++ b/clients/client-s3/src/models/models_1.ts @@ -574,7 +574,7 @@ export interface PutObjectRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

      *

      @@ -2681,7 +2681,7 @@ export interface UploadPartRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

      *

      @@ -2986,7 +2986,7 @@ export interface UploadPartCopyRequest { * Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format * Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format * bucket_base_name--az-id--x-s3 (for example, - * DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming + * DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming * restrictions, see Directory bucket naming * rules in the Amazon S3 User Guide.

      *

      diff --git a/codegen/sdk-codegen/aws-models/s3.json b/codegen/sdk-codegen/aws-models/s3.json index 3bc2b63799c5..a79b3ba2fda1 100644 --- a/codegen/sdk-codegen/aws-models/s3.json +++ b/codegen/sdk-codegen/aws-models/s3.json @@ -100,7 +100,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The bucket name to which the upload was taking place.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      The bucket name to which the upload was taking place.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -18252,7 +18252,7 @@ "target": "com.amazonaws.s3#CompleteMultipartUploadOutput" }, "traits": { - "smithy.api#documentation": "

      Completes a multipart upload by assembling previously uploaded parts.

      \n

      You first initiate the multipart upload and then upload all parts using the UploadPart\n operation or the UploadPartCopy\n operation. After successfully uploading all relevant parts of an upload, you call this\n CompleteMultipartUpload operation to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts\n in ascending order by part number to create a new object. In the CompleteMultipartUpload \n request, you must provide the parts list and ensure that the parts list is complete.\n The CompleteMultipartUpload API operation concatenates the parts that you provide in the list. For each part in the list,\n you must provide the PartNumber value and the ETag value that are returned after that part\n was uploaded.

      \n

      The processing of a CompleteMultipartUpload request could take several minutes to\n finalize. After Amazon S3 begins processing the request, it sends an HTTP response header that\n specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white\n space characters to keep the connection from timing out. A request could fail after the\n initial 200 OK response has been sent. This means that a 200 OK response can\n contain either a success or an error. The error response might be embedded in the 200 OK response. \n If you call this API operation directly, make sure to design\n your application to parse the contents of the response and handle it appropriately. If you\n use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply\n error handling per your configuration settings (including automatically retrying the\n request as appropriate). If the condition persists, the SDKs throw an exception (or, for\n the SDKs that don't use exceptions, they return an error).

      \n

      Note that if CompleteMultipartUpload fails, applications should be prepared\n to retry the failed requests. For more information, see Amazon S3 Error Best\n Practices.

      \n \n

      You can't use Content-Type: application/x-www-form-urlencoded for the \n CompleteMultipartUpload requests. Also, if you don't provide a\n Content-Type header, CompleteMultipartUpload can still return a 200\n OK response.

      \n
      \n

      For more information about multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3\n User Guide.

      \n \n

      \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

      \n
      \n
      \n
      Permissions
      \n
      \n
        \n
      • \n

        \n General purpose bucket permissions - For information about permissions required to use the multipart upload API, see Multipart Upload\n and Permissions in the Amazon S3\n User Guide.

        \n
      • \n
      • \n

        \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

        \n
      • \n
      \n
      \n
      Special errors
      \n
      \n
        \n
      • \n

        Error Code: EntityTooSmall\n

        \n
          \n
        • \n

          Description: Your proposed upload is smaller than the minimum allowed object\n size. Each part must be at least 5 MB in size, except the last part.

          \n
        • \n
        • \n

          HTTP Status Code: 400 Bad Request

          \n
        • \n
        \n
      • \n
      • \n

        Error Code: InvalidPart\n

        \n
          \n
        • \n

          Description: One or more of the specified parts could not be found. The part\n might not have been uploaded, or the specified ETag might not have\n matched the uploaded part's ETag.

          \n
        • \n
        • \n

          HTTP Status Code: 400 Bad Request

          \n
        • \n
        \n
      • \n
      • \n

        Error Code: InvalidPartOrder\n

        \n
          \n
        • \n

          Description: The list of parts was not in ascending order. The parts list\n must be specified in order by part number.

          \n
        • \n
        • \n

          HTTP Status Code: 400 Bad Request

          \n
        • \n
        \n
      • \n
      • \n

        Error Code: NoSuchUpload\n

        \n
          \n
        • \n

          Description: The specified multipart upload does not exist. The upload ID\n might be invalid, or the multipart upload might have been aborted or\n completed.

          \n
        • \n
        • \n

          HTTP Status Code: 404 Not Found

          \n
        • \n
        \n
      • \n
      \n
      \n
      HTTP Host header syntax
      \n
      \n

      \n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

      \n
      \n
      \n

      The following operations are related to CompleteMultipartUpload:

      \n ", + "smithy.api#documentation": "

      Completes a multipart upload by assembling previously uploaded parts.

      \n

      You first initiate the multipart upload and then upload all parts using the UploadPart\n operation or the UploadPartCopy\n operation. After successfully uploading all relevant parts of an upload, you call this\n CompleteMultipartUpload operation to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts\n in ascending order by part number to create a new object. In the CompleteMultipartUpload \n request, you must provide the parts list and ensure that the parts list is complete.\n The CompleteMultipartUpload API operation concatenates the parts that you provide in the list. For each part in the list,\n you must provide the PartNumber value and the ETag value that are returned after that part\n was uploaded.

      \n

      The processing of a CompleteMultipartUpload request could take several minutes to\n finalize. After Amazon S3 begins processing the request, it sends an HTTP response header that\n specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white\n space characters to keep the connection from timing out. A request could fail after the\n initial 200 OK response has been sent. This means that a 200 OK response can\n contain either a success or an error. The error response might be embedded in the 200 OK response. \n If you call this API operation directly, make sure to design\n your application to parse the contents of the response and handle it appropriately. If you\n use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply\n error handling per your configuration settings (including automatically retrying the\n request as appropriate). If the condition persists, the SDKs throw an exception (or, for\n the SDKs that don't use exceptions, they return an error).

      \n

      Note that if CompleteMultipartUpload fails, applications should be prepared\n to retry any failed requests (including 500 error responses). For more information, see Amazon S3 Error Best\n Practices.

      \n \n

      You can't use Content-Type: application/x-www-form-urlencoded for the \n CompleteMultipartUpload requests. Also, if you don't provide a\n Content-Type header, CompleteMultipartUpload can still return a 200\n OK response.

      \n
      \n

      For more information about multipart uploads, see Uploading Objects Using Multipart\n Upload in the Amazon S3\n User Guide.

      \n \n

      \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

      \n
      \n
      \n
      Permissions
      \n
      \n
        \n
      • \n

        \n General purpose bucket permissions - For information about permissions required to use the multipart upload API, see Multipart Upload\n and Permissions in the Amazon S3\n User Guide.

        \n
      • \n
      • \n

        \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

        \n
      • \n
      \n
      \n
      Special errors
      \n
      \n
        \n
      • \n

        Error Code: EntityTooSmall\n

        \n
          \n
        • \n

          Description: Your proposed upload is smaller than the minimum allowed object\n size. Each part must be at least 5 MB in size, except the last part.

          \n
        • \n
        • \n

          HTTP Status Code: 400 Bad Request

          \n
        • \n
        \n
      • \n
      • \n

        Error Code: InvalidPart\n

        \n
          \n
        • \n

          Description: One or more of the specified parts could not be found. The part\n might not have been uploaded, or the specified ETag might not have\n matched the uploaded part's ETag.

          \n
        • \n
        • \n

          HTTP Status Code: 400 Bad Request

          \n
        • \n
        \n
      • \n
      • \n

        Error Code: InvalidPartOrder\n

        \n
          \n
        • \n

          Description: The list of parts was not in ascending order. The parts list\n must be specified in order by part number.

          \n
        • \n
        • \n

          HTTP Status Code: 400 Bad Request

          \n
        • \n
        \n
      • \n
      • \n

        Error Code: NoSuchUpload\n

        \n
          \n
        • \n

          Description: The specified multipart upload does not exist. The upload ID\n might be invalid, or the multipart upload might have been aborted or\n completed.

          \n
        • \n
        • \n

          HTTP Status Code: 404 Not Found

          \n
        • \n
        \n
      • \n
      \n
      \n
      HTTP Host header syntax
      \n
      \n

      \n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

      \n
      \n
      \n

      The following operations are related to CompleteMultipartUpload:

      \n ", "smithy.api#http": { "method": "POST", "uri": "/{Bucket}/{Key+}?x-id=CompleteMultipartUpload", @@ -18364,7 +18364,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      Name of the bucket to which the multipart upload was initiated.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      Name of the bucket to which the multipart upload was initiated.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -18620,7 +18620,7 @@ } ], "traits": { - "smithy.api#documentation": "

      Creates a copy of an object that is already stored in Amazon S3.

      \n \n

      You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your\n object up to 5 GB in size in a single atomic action using this API. However, to copy an\n object greater than 5 GB, you must use the multipart upload Upload Part - Copy\n (UploadPartCopy) API. For more information, see Copy Object Using the\n REST Multipart Upload API.

      \n
      \n

      You can copy individual objects between general purpose buckets, between directory buckets, and \n between general purpose buckets and directory buckets.

      \n \n

      \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

      \n
      \n

      Both the\n Region that you want to copy the object from and the Region that you want to copy the\n object to must be enabled for your account.

      \n \n

      Amazon S3 transfer acceleration does not support cross-Region copies. If you request a\n cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad\n Request error. For more information, see Transfer\n Acceleration.

      \n
      \n
      \n
      Authentication and authorization
      \n
      \n

      All CopyObject requests must be authenticated and signed by using IAM credentials (access key ID and secret access key for the IAM identities). All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see REST Authentication.

      \n

      \n Directory buckets - You must use the IAM credentials to authenticate and authorize your access to the CopyObject API operation, instead of using the \n temporary security credentials through the CreateSession API operation.

      \n

      Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

      \n
      \n
      Permissions
      \n
      \n

      You must have\n read access to the source object and write\n access to the destination bucket.

      \n
        \n
      • \n

        \n General purpose bucket permissions -\n You must have permissions in an IAM policy based on the source and destination\n bucket types in a CopyObject operation.

        \n
          \n
        • \n

          If the source object is in a general purpose bucket, you must have\n \n s3:GetObject\n \n permission to read the source object that is being copied.

          \n
        • \n
        • \n

          If the destination bucket is a general purpose bucket, you must have\n \n s3:PubObject\n \n permission to write the object copy to the destination bucket.

          \n
        • \n
        \n
      • \n
      • \n

        \n Directory bucket permissions -\n You must have permissions in a bucket policy or an IAM identity-based policy based on the source and destination\n bucket types in a CopyObject operation.

        \n
          \n
        • \n

          If the source object that you want to copy is in a\n directory bucket, you must have the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object. By default, the session is in the ReadWrite mode. If you want to restrict the access, you can explicitly set the s3express:SessionMode condition key to ReadOnly on the copy source bucket.

          \n
        • \n
        • \n

          If the copy destination is a directory bucket, you must have the \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object\n to the destination. The s3express:SessionMode condition\n key can't be set to ReadOnly on the copy destination bucket.

          \n
        • \n
        \n

        For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the\n Amazon S3 User Guide.

        \n
      • \n
      \n
      \n
      Response and special errors
      \n
      \n

      When the request is an HTTP 1.1 request, the response is chunk encoded. \n When the request is not an HTTP 1.1 request, the response would not contain the Content-Length. \n You always need to read the entire response body to check if the copy succeeds. \n to keep the connection alive while we copy the data.

      \n
        \n
      • \n

        If the copy is successful, you receive a response with information about the copied\n object.

        \n
      • \n
      • \n

        A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3\n is copying the files. A 200 OK response can contain either a success or an error.

        \n
          \n
        • \n

          If the error occurs before the copy action starts, you receive a\n standard Amazon S3 error.

          \n
        • \n
        • \n

          If the error occurs during the copy operation, the error response is\n embedded in the 200 OK response. For example, in a cross-region copy, you \n may encounter throttling and receive a 200 OK response. \n For more information, see Resolve \n the Error 200 response when copying objects to Amazon S3. \n The 200 OK status code means the copy was accepted, but \n it doesn't mean the copy is complete. Another example is \n when you disconnect from Amazon S3 before the copy is complete, Amazon S3 might cancel the copy and you may receive a 200 OK response. \n You must stay connected to Amazon S3 until the entire response is successfully received and processed.

          \n

          If you call this API operation directly, make\n sure to design your application to parse the content of the response and handle it\n appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the\n embedded error and apply error handling per your configuration settings (including\n automatically retrying the request as appropriate). If the condition persists, the SDKs\n throw an exception (or, for the SDKs that don't use exceptions, they return an \n error).

          \n
        • \n
        \n
      • \n
      \n
      \n
      Charge
      \n
      \n

      The copy request charge is based on the storage class and Region that you specify for\n the destination object. The request can also result in a data retrieval charge for the\n source if the source storage class bills for data retrieval. For pricing information, see\n Amazon S3 pricing.

      \n
      \n
      HTTP Host header syntax
      \n
      \n

      \n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

      \n
      \n
      \n

      The following operations are related to CopyObject:

      \n ", + "smithy.api#documentation": "

      Creates a copy of an object that is already stored in Amazon S3.

      \n \n

      You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your\n object up to 5 GB in size in a single atomic action using this API. However, to copy an\n object greater than 5 GB, you must use the multipart upload Upload Part - Copy\n (UploadPartCopy) API. For more information, see Copy Object Using the\n REST Multipart Upload API.

      \n
      \n

      You can copy individual objects between general purpose buckets, between directory buckets, and \n between general purpose buckets and directory buckets.

      \n \n

      \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

      \n
      \n

      Both the\n Region that you want to copy the object from and the Region that you want to copy the\n object to must be enabled for your account. For more information about how to enable a Region for your account, see Enable \n or disable a Region for standalone accounts in the\n Amazon Web Services Account Management Guide.

      \n \n

      Amazon S3 transfer acceleration does not support cross-Region copies. If you request a\n cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad\n Request error. For more information, see Transfer\n Acceleration.

      \n
      \n
      \n
      Authentication and authorization
      \n
      \n

      All CopyObject requests must be authenticated and signed by using IAM credentials (access key ID and secret access key for the IAM identities). All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see REST Authentication.

      \n

      \n Directory buckets - You must use the IAM credentials to authenticate and authorize your access to the CopyObject API operation, instead of using the \n temporary security credentials through the CreateSession API operation.

      \n

      Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

      \n
      \n
      Permissions
      \n
      \n

      You must have\n read access to the source object and write\n access to the destination bucket.

      \n
        \n
      • \n

        \n General purpose bucket permissions -\n You must have permissions in an IAM policy based on the source and destination\n bucket types in a CopyObject operation.

        \n
          \n
        • \n

          If the source object is in a general purpose bucket, you must have\n \n s3:GetObject\n \n permission to read the source object that is being copied.

          \n
        • \n
        • \n

          If the destination bucket is a general purpose bucket, you must have\n \n s3:PutObject\n \n permission to write the object copy to the destination bucket.

          \n
        • \n
        \n
      • \n
      • \n

        \n Directory bucket permissions -\n You must have permissions in a bucket policy or an IAM identity-based policy based on the source and destination\n bucket types in a CopyObject operation.

        \n
          \n
        • \n

          If the source object that you want to copy is in a\n directory bucket, you must have the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object. By default, the session is in the ReadWrite mode. If you want to restrict the access, you can explicitly set the s3express:SessionMode condition key to ReadOnly on the copy source bucket.

          \n
        • \n
        • \n

          If the copy destination is a directory bucket, you must have the \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object\n to the destination. The s3express:SessionMode condition\n key can't be set to ReadOnly on the copy destination bucket.

          \n
        • \n
        \n

        For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the\n Amazon S3 User Guide.

        \n
      • \n
      \n
      \n
      Response and special errors
      \n
      \n

      When the request is an HTTP 1.1 request, the response is chunk encoded. \n When the request is not an HTTP 1.1 request, the response would not contain the Content-Length. \n You always need to read the entire response body to check if the copy succeeds. \n to keep the connection alive while we copy the data.

      \n
        \n
      • \n

        If the copy is successful, you receive a response with information about the copied\n object.

        \n
      • \n
      • \n

        A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3\n is copying the files. A 200 OK response can contain either a success or an error.

        \n
          \n
        • \n

          If the error occurs before the copy action starts, you receive a\n standard Amazon S3 error.

          \n
        • \n
        • \n

          If the error occurs during the copy operation, the error response is\n embedded in the 200 OK response. For example, in a cross-region copy, you \n may encounter throttling and receive a 200 OK response. \n For more information, see Resolve \n the Error 200 response when copying objects to Amazon S3. \n The 200 OK status code means the copy was accepted, but \n it doesn't mean the copy is complete. Another example is \n when you disconnect from Amazon S3 before the copy is complete, Amazon S3 might cancel the copy and you may receive a 200 OK response. \n You must stay connected to Amazon S3 until the entire response is successfully received and processed.

          \n

          If you call this API operation directly, make\n sure to design your application to parse the content of the response and handle it\n appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the\n embedded error and apply error handling per your configuration settings (including\n automatically retrying the request as appropriate). If the condition persists, the SDKs\n throw an exception (or, for the SDKs that don't use exceptions, they return an \n error).

          \n
        • \n
        \n
      • \n
      \n
      \n
      Charge
      \n
      \n

      The copy request charge is based on the storage class and Region that you specify for\n the destination object. The request can also result in a data retrieval charge for the\n source if the source storage class bills for data retrieval. If the copy source is in a different region, the data transfer is billed to the copy source account. For pricing information, see\n Amazon S3 pricing.

      \n
      \n
      HTTP Host header syntax
      \n
      \n

      \n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

      \n
      \n
      \n

      The following operations are related to CopyObject:

      \n ", "smithy.api#examples": [ { "title": "To copy an object", @@ -18747,7 +18747,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The name of the destination bucket.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      The name of the destination bucket.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -19175,7 +19175,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

      This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see \n CreateBucket\n .

      \n
      \n

      Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a\n valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to\n create buckets. By creating the bucket, you become the bucket owner.

      \n

      There are two types of buckets: general purpose buckets and directory buckets. For more\n information about these bucket types, see Creating, configuring, and\n working with Amazon S3 buckets in the Amazon S3 User Guide.

      \n \n
        \n
      • \n

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

        \n
      • \n
      • \n

        \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

        \n
      • \n
      \n
      \n
      \n
      Permissions
      \n
      \n
        \n
      • \n

        \n General purpose bucket permissions - In addition to the s3:CreateBucket permission, the following permissions are\n required in a policy when your CreateBucket request includes specific\n headers:

        \n
          \n
        • \n

          \n Access control lists (ACLs) - In your CreateBucket request, if you specify an access control list (ACL) \n and set it to public-read, public-read-write,\n authenticated-read, or if you explicitly specify any other custom ACLs, both s3:CreateBucket and\n s3:PutBucketAcl permissions are required. In your CreateBucket request, if you set the ACL to private, \n or if you don't specify any ACLs, only the s3:CreateBucket permission is required.\n

          \n
        • \n
        • \n

          \n Object Lock - In your\n CreateBucket request, if you set \n x-amz-bucket-object-lock-enabled to true, the \n s3:PutBucketObjectLockConfiguration and\n s3:PutBucketVersioning permissions are required.

          \n
        • \n
        • \n

          \n S3 Object Ownership - If your\n CreateBucket request includes the\n x-amz-object-ownership header, then the\n s3:PutBucketOwnershipControls permission is required.

          \n \n

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

          \n
          \n
        • \n
        • \n

          \n S3 Block Public Access - If your\n specific use case requires granting public access to your S3 resources, you\n can disable Block Public Access. Specifically, you can create a new bucket with Block\n Public Access enabled, then separately call the \n DeletePublicAccessBlock\n API. To use this operation, you must have the\n s3:PutBucketPublicAccessBlock permission. For more information about S3 Block Public\n Access, see Blocking\n public access to your Amazon S3 storage in the\n Amazon S3 User Guide.

          \n
        • \n
        \n
      • \n
      • \n

        \n Directory bucket permissions - You must have the s3express:CreateBucket permission in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource. For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

        \n \n

        The permissions for ACLs, Object Lock, S3 Object Ownership, and S3 Block Public Access are not supported for directory buckets. \n For directory buckets, all Block Public Access settings are enabled at the bucket level and S3 \n Object Ownership is set to Bucket owner enforced (ACLs disabled). These settings can't be modified.\n

        \n

        For more information about permissions for creating and working with \n directory buckets, see Directory buckets in the Amazon S3 User Guide. \n For more information about supported S3 features for directory buckets, see Features of S3 Express One Zone in the Amazon S3 User Guide.

        \n
        \n
      • \n
      \n
      \n
      HTTP Host header syntax
      \n
      \n

      \n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

      \n
      \n
      \n

      The following operations are related to CreateBucket:

      \n ", + "smithy.api#documentation": "\n

      This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see \n CreateBucket\n .

      \n
      \n

      Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a\n valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to\n create buckets. By creating the bucket, you become the bucket owner.

      \n

      There are two types of buckets: general purpose buckets and directory buckets. For more\n information about these bucket types, see Creating, configuring, and\n working with Amazon S3 buckets in the Amazon S3 User Guide.

      \n \n
        \n
      • \n

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

        \n
      • \n
      • \n

        \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

        \n
      • \n
      \n
      \n
      \n
      Permissions
      \n
      \n
        \n
      • \n

        \n General purpose bucket permissions - In addition to the s3:CreateBucket permission, the following permissions are\n required in a policy when your CreateBucket request includes specific\n headers:

        \n
          \n
        • \n

          \n Access control lists (ACLs) - In your CreateBucket request, if you specify an access control list (ACL) \n and set it to public-read, public-read-write,\n authenticated-read, or if you explicitly specify any other custom ACLs, both s3:CreateBucket and\n s3:PutBucketAcl permissions are required. In your CreateBucket request, if you set the ACL to private, \n or if you don't specify any ACLs, only the s3:CreateBucket permission is required.\n

          \n
        • \n
        • \n

          \n Object Lock - In your\n CreateBucket request, if you set \n x-amz-bucket-object-lock-enabled to true, the \n s3:PutBucketObjectLockConfiguration and\n s3:PutBucketVersioning permissions are required.

          \n
        • \n
        • \n

          \n S3 Object Ownership - If your\n CreateBucket request includes the\n x-amz-object-ownership header, then the\n s3:PutBucketOwnershipControls permission is required.

          \n \n

          To set an ACL on a bucket as part of a\n CreateBucket request, you must explicitly set S3\n Object Ownership for the bucket to a different value than the\n default, BucketOwnerEnforced. Additionally, if your\n desired bucket ACL grants public access, you must first create the\n bucket (without the bucket ACL) and then explicitly disable Block\n Public Access on the bucket before using PutBucketAcl\n to set the ACL. If you try to create a bucket with a public ACL,\n the request will fail.

          \n

          For the majority of modern use cases in S3, we recommend\n that you keep all Block Public Access settings enabled and keep\n ACLs disabled. If you would like to share data with users outside\n of your account, you can use bucket policies as needed. For more\n information, see Controlling ownership of objects and disabling ACLs for your\n bucket and Blocking public access to your Amazon S3 storage in\n the Amazon S3 User Guide.

          \n
          \n
        • \n
        • \n

          \n S3 Block Public Access - If your\n specific use case requires granting public access to your S3 resources, you\n can disable Block Public Access. Specifically, you can create a new bucket with Block\n Public Access enabled, then separately call the \n DeletePublicAccessBlock\n API. To use this operation, you must have the\n s3:PutBucketPublicAccessBlock permission. For more information about S3 Block Public\n Access, see Blocking\n public access to your Amazon S3 storage in the\n Amazon S3 User Guide.

          \n
        • \n
        \n
      • \n
      • \n

        \n Directory bucket permissions - You must have the s3express:CreateBucket permission in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource. For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

        \n \n

        The permissions for ACLs, Object Lock, S3 Object Ownership, and S3 Block Public Access are not supported for directory buckets. \n For directory buckets, all Block Public Access settings are enabled at the bucket level and S3 \n Object Ownership is set to Bucket owner enforced (ACLs disabled). These settings can't be modified.\n

        \n

        For more information about permissions for creating and working with \n directory buckets, see Directory buckets in the Amazon S3 User Guide. \n For more information about supported S3 features for directory buckets, see Features of S3 Express One Zone in the Amazon S3 User Guide.

        \n
        \n
      • \n
      \n
      \n
      HTTP Host header syntax
      \n
      \n

      \n Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com.

      \n
      \n
      \n

      The following operations are related to CreateBucket:

      \n ", "smithy.api#examples": [ { "title": "To create a bucket in a specific region", @@ -19270,7 +19270,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The name of the bucket to create.

      \n

      \n General purpose buckets - For information about bucket naming\n restrictions, see Bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

      ", + "smithy.api#documentation": "

      The name of the bucket to create.

      \n

      \n General purpose buckets - For information about bucket naming\n restrictions, see Bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -19481,7 +19481,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The name of the bucket where the multipart upload is initiated and where the object is uploaded.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      The name of the bucket where the multipart upload is initiated and where the object is uploaded.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -20332,7 +20332,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The bucket name.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

      ", + "smithy.api#documentation": "

      The bucket name.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -20415,7 +20415,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      Specifies the bucket being deleted.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

      ", + "smithy.api#documentation": "

      Specifies the bucket being deleted.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -20639,7 +20639,7 @@ "target": "com.amazonaws.s3#DeleteObjectOutput" }, "traits": { - "smithy.api#documentation": "

      Removes an object from a bucket. The behavior depends on the bucket's versioning state:

      \n
        \n
      • \n

        If versioning is enabled, the operation removes the null version (if there is one) of an object and inserts a delete marker,\n which becomes the latest version of the object. If there isn't a null version, Amazon S3 does\n not remove any objects but will still respond that the command was successful.

        \n
      • \n
      • \n

        If versioning is suspended or not enabled, the operation permanently deletes the object.

        \n
      • \n
      \n \n
        \n
      • \n

        \n Directory buckets - S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the null value of the version ID is supported by directory buckets. You can only specify null \n to the versionId query parameter in the request.

        \n
      • \n
      • \n

        \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

        \n
      • \n
      \n
      \n

      To remove a specific version, you must use the versionId query parameter. Using this\n query parameter permanently deletes the version. If the object deleted is a delete marker, Amazon S3\n sets the response header x-amz-delete-marker to true.

      \n

      If the object you want to delete is in a bucket where the bucket versioning\n configuration is MFA Delete enabled, you must include the x-amz-mfa request\n header in the DELETE versionId request. Requests that include\n x-amz-mfa must use HTTPS. For more information about MFA Delete, see Using MFA Delete in the Amazon S3\n User Guide. To see sample\n requests that use versioning, see Sample\n Request.

      \n \n

      \n Directory buckets - MFA delete is not supported by directory buckets.

      \n
      \n

      You can delete objects by explicitly calling DELETE Object or calling \n (PutBucketLifecycle) to enable Amazon S3 to remove them for you. If you want to block\n users or accounts from removing or deleting objects from your bucket, you must deny them\n the s3:DeleteObject, s3:DeleteObjectVersion, and\n s3:PutLifeCycleConfiguration actions.

      \n \n

      \n Directory buckets - S3 Lifecycle is not supported by directory buckets.

      \n
      \n
      \n
      Permissions
      \n
      \n
        \n
      • \n

        \n General purpose bucket permissions - The following permissions are required in your policies when your \n DeleteObjects request includes specific headers.

        \n
          \n
        • \n

          \n \n s3:DeleteObject\n - To delete an object from a bucket, you must always have the s3:DeleteObject permission.

          \n
        • \n
        • \n

          \n \n s3:DeleteObjectVersion\n - To delete a specific version of an object from a versiong-enabled bucket, you must have the s3:DeleteObjectVersion permission.

          \n
        • \n
        \n
      • \n
      • \n

        \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

        \n
      • \n
      \n
      \n
      HTTP Host header syntax
      \n
      \n

      \n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

      \n
      \n
      \n

      The following action is related to DeleteObject:

      \n ", + "smithy.api#documentation": "

      Removes an object from a bucket. The behavior depends on the bucket's versioning state:

      \n
        \n
      • \n

        If bucket versioning is not enabled, the operation permanently deletes the object.

        \n
      • \n
      • \n

        If bucket versioning is enabled, the operation inserts a delete marker, which becomes the current version of the object. To permanently delete an object in a versioned bucket, you must include the object’s versionId in the request. For more information about versioning-enabled buckets, see Deleting object versions from a versioning-enabled bucket.

        \n
      • \n
      • \n

        If bucket versioning is suspended, the operation removes the object that has a null versionId, if there is one, and inserts a delete marker that becomes the current version of the object. If there isn't an object with a null versionId, and all versions of the object have a versionId, Amazon S3 does not remove the object and only inserts a delete marker. To permanently delete an object that has a versionId, you must include the object’s versionId in the request. For more information about versioning-suspended buckets, see Deleting objects from versioning-suspended buckets.

        \n
      • \n
      \n \n
        \n
      • \n

        \n Directory buckets - S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the null value of the version ID is supported by directory buckets. You can only specify null \n to the versionId query parameter in the request.

        \n
      • \n
      • \n

        \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

        \n
      • \n
      \n
      \n

      To remove a specific version, you must use the versionId query parameter. Using this\n query parameter permanently deletes the version. If the object deleted is a delete marker, Amazon S3\n sets the response header x-amz-delete-marker to true.

      \n

      If the object you want to delete is in a bucket where the bucket versioning\n configuration is MFA Delete enabled, you must include the x-amz-mfa request\n header in the DELETE versionId request. Requests that include\n x-amz-mfa must use HTTPS. For more information about MFA Delete, see Using MFA Delete in the Amazon S3\n User Guide. To see sample\n requests that use versioning, see Sample\n Request.

      \n \n

      \n Directory buckets - MFA delete is not supported by directory buckets.

      \n
      \n

      You can delete objects by explicitly calling DELETE Object or calling \n (PutBucketLifecycle) to enable Amazon S3 to remove them for you. If you want to block\n users or accounts from removing or deleting objects from your bucket, you must deny them\n the s3:DeleteObject, s3:DeleteObjectVersion, and\n s3:PutLifeCycleConfiguration actions.

      \n \n

      \n Directory buckets - S3 Lifecycle is not supported by directory buckets.

      \n
      \n
      \n
      Permissions
      \n
      \n
        \n
      • \n

        \n General purpose bucket permissions - The following permissions are required in your policies when your \n DeleteObjects request includes specific headers.

        \n
          \n
        • \n

          \n \n s3:DeleteObject\n - To delete an object from a bucket, you must always have the s3:DeleteObject permission.

          \n
        • \n
        • \n

          \n \n s3:DeleteObjectVersion\n - To delete a specific version of an object from a versioning-enabled bucket, you must have the s3:DeleteObjectVersion permission.

          \n
        • \n
        \n
      • \n
      • \n

        \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

        \n
      • \n
      \n
      \n
      HTTP Host header syntax
      \n
      \n

      \n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

      \n
      \n
      \n

      The following action is related to DeleteObject:

      \n ", "smithy.api#examples": [ { "title": "To delete an object (from a non-versioned bucket)", @@ -20700,7 +20700,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The bucket name of the bucket containing the object.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      The bucket name of the bucket containing the object.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -20770,26 +20770,26 @@ "smithy.api#documentation": "\n

      This operation is not supported by directory buckets.

      \n
      \n

      Removes the entire tag set from the specified object. For more information about\n managing object tags, see Object Tagging.

      \n

      To use this operation, you must have permission to perform the\n s3:DeleteObjectTagging action.

      \n

      To delete tags of a specific object version, add the versionId query\n parameter in the request. You will need permission for the\n s3:DeleteObjectVersionTagging action.

      \n

      The following operations are related to DeleteObjectTagging:

      \n ", "smithy.api#examples": [ { - "title": "To remove tag set from an object", - "documentation": "The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.", + "title": "To remove tag set from an object version", + "documentation": "The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.", "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "HappyFace.jpg", + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" }, "output": { - "VersionId": "null" + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" } }, { - "title": "To remove tag set from an object version", - "documentation": "The following example removes tag set associated with the specified object version. The request specifies both the object key and object version.", + "title": "To remove tag set from an object", + "documentation": "The following example removes tag set associated with the specified object. If the bucket is versioning enabled, the operation removes tag set from the latest object version.", "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg", - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "Key": "HappyFace.jpg" }, "output": { - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "VersionId": "null" } } ], @@ -20947,7 +20947,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The bucket name containing the objects to delete.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      The bucket name containing the objects to delete.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -21601,7 +21601,7 @@ } }, "traits": { - "smithy.api#documentation": "

      Specifies the Amazon S3 object key name to filter on and whether to filter on the suffix or\n prefix of the key name.

      " + "smithy.api#documentation": "

      Specifies the Amazon S3 object key name to filter on. An object key name is the name assigned to an object in your Amazon S3 bucket. You specify whether to filter on the suffix or prefix of the object key name. A prefix is a specific string of characters at the beginning of an object key name, which you can use to organize objects. For example, you can start the key names of related objects with a prefix, such as 2023- or engineering/. Then, you can use FilterRule to find objects in a bucket with key names that have the same prefix. A suffix is similar to a prefix, but it is at the end of the object key name instead of at the beginning.

      " } }, "com.amazonaws.s3#FilterRuleList": { @@ -22139,7 +22139,7 @@ "target": "com.amazonaws.s3#GetBucketLifecycleConfigurationOutput" }, "traits": { - "smithy.api#documentation": "\n

      This operation is not supported by directory buckets.

      \n
      \n \n

      Bucket lifecycle configuration now supports specifying a lifecycle rule using an\n object key name prefix, one or more object tags, or a combination of both. Accordingly,\n this section describes the latest API. The response describes the new filter element\n that you can use to specify a filter to select a subset of objects to which the rule\n applies. If you are using a previous version of the lifecycle configuration, it still\n works. For the earlier action, see GetBucketLifecycle.

      \n
      \n

      Returns the lifecycle configuration information set on the bucket. For information about\n lifecycle configuration, see Object Lifecycle\n Management.

      \n

      To use this operation, you must have permission to perform the\n s3:GetLifecycleConfiguration action. The bucket owner has this permission,\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing\n Access Permissions to Your Amazon S3 Resources.

      \n

      \n GetBucketLifecycleConfiguration has the following special error:

      \n
        \n
      • \n

        Error code: NoSuchLifecycleConfiguration\n

        \n
          \n
        • \n

          Description: The lifecycle configuration does not exist.

          \n
        • \n
        • \n

          HTTP Status Code: 404 Not Found

          \n
        • \n
        • \n

          SOAP Fault Code Prefix: Client

          \n
        • \n
        \n
      • \n
      \n

      The following operations are related to\n GetBucketLifecycleConfiguration:

      \n ", + "smithy.api#documentation": "\n

      This operation is not supported by directory buckets.

      \n
      \n \n

      Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, object size, or any combination of these. Accordingly, this section describes the latest API. The previous version of the API supported filtering based only on an object key name prefix, which is supported for backward compatibility.\n For the related API description, see GetBucketLifecycle. Accordingly,\n this section describes the latest API. The response describes the new filter element\n that you can use to specify a filter to select a subset of objects to which the rule\n applies. If you are using a previous version of the lifecycle configuration, it still\n works. For the earlier action,

      \n
      \n

      Returns the lifecycle configuration information set on the bucket. For information about\n lifecycle configuration, see Object Lifecycle\n Management.

      \n

      To use this operation, you must have permission to perform the\n s3:GetLifecycleConfiguration action. The bucket owner has this permission,\n by default. The bucket owner can grant this permission to others. For more information\n about permissions, see Permissions Related to Bucket Subresource Operations and Managing\n Access Permissions to Your Amazon S3 Resources.

      \n

      \n GetBucketLifecycleConfiguration has the following special error:

      \n
        \n
      • \n

        Error code: NoSuchLifecycleConfiguration\n

        \n
          \n
        • \n

          Description: The lifecycle configuration does not exist.

          \n
        • \n
        • \n

          HTTP Status Code: 404 Not Found

          \n
        • \n
        • \n

          SOAP Fault Code Prefix: Client

          \n
        • \n
        \n
      • \n
      \n

      The following operations are related to\n GetBucketLifecycleConfiguration:

      \n ", "smithy.api#examples": [ { "title": "To get lifecycle configuration on a bucket", @@ -22592,7 +22592,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The bucket name to get the bucket policy for.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

      \n

      \n Access points - When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

      \n

      \n Object Lambda access points - When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      ", + "smithy.api#documentation": "

      The bucket name to get the bucket policy for.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

      \n

      \n Access points - When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

      \n

      \n Object Lambda access points - When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -23421,7 +23421,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The name of the bucket that contains the object.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      The name of the bucket that contains the object.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -23908,7 +23908,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The bucket name containing the object.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n

      \n Object Lambda access points - When you use this action with an Object Lambda access point, you must direct requests to the Object Lambda access point hostname. The Object Lambda access point hostname takes the form AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      The bucket name containing the object.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n

      \n Object Lambda access points - When you use this action with an Object Lambda access point, you must direct requests to the Object Lambda access point hostname. The Object Lambda access point hostname takes the form AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -24158,40 +24158,40 @@ "smithy.api#documentation": "\n

      This operation is not supported by directory buckets.

      \n
      \n

      Returns the tag-set of an object. You send the GET request against the tagging\n subresource associated with the object.

      \n

      To use this operation, you must have permission to perform the\n s3:GetObjectTagging action. By default, the GET action returns information\n about current version of an object. For a versioned bucket, you can have multiple versions\n of an object in your bucket. To retrieve tags of any other version, use the versionId query\n parameter. You also need permission for the s3:GetObjectVersionTagging\n action.

      \n

      By default, the bucket owner has this permission and can grant this permission to\n others.

      \n

      For information about the Amazon S3 object tagging feature, see Object Tagging.

      \n

      The following actions are related to GetObjectTagging:

      \n ", "smithy.api#examples": [ { - "title": "To retrieve tag set of a specific object version", - "documentation": "The following example retrieves tag set of an object. The request specifies object version.", + "title": "To retrieve tag set of an object", + "documentation": "The following example retrieves tag set of an object.", "input": { "Bucket": "examplebucket", - "Key": "exampleobject", - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" + "Key": "HappyFace.jpg" }, "output": { - "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI", + "VersionId": "null", "TagSet": [ { - "Value": "Value1", - "Key": "Key1" + "Value": "Value4", + "Key": "Key4" + }, + { + "Value": "Value3", + "Key": "Key3" } ] } }, { - "title": "To retrieve tag set of an object", - "documentation": "The following example retrieves tag set of an object.", + "title": "To retrieve tag set of a specific object version", + "documentation": "The following example retrieves tag set of an object. The request specifies object version.", "input": { "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "exampleobject", + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI" }, "output": { - "VersionId": "null", + "VersionId": "ydlaNkwWm0SfKJR.T1b1fIdPRbldTYRI", "TagSet": [ { - "Value": "Value4", - "Key": "Key4" - }, - { - "Value": "Value3", - "Key": "Key3" + "Value": "Value1", + "Key": "Key1" } ] } @@ -24545,7 +24545,7 @@ } ], "traits": { - "smithy.api#documentation": "

      You can use this operation to determine if a bucket exists and if you have permission to access it. The action returns a 200 OK if the bucket exists and you have permission\n to access it.

      \n

      If the bucket does not exist or you do not have permission to access it, the\n HEAD request returns a generic 400 Bad Request, 403\n Forbidden or 404 Not Found code. A message body is not included, so\n you cannot determine the exception beyond these error codes.

      \n \n

      \n Directory buckets - You must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

      \n
      \n
      \n
      Authentication and authorization
      \n
      \n

      All HeadBucket requests must be authenticated and signed by using IAM credentials (access key ID and secret access key for the IAM identities). All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see REST Authentication.

      \n

      \n Directory bucket - You must use IAM credentials to authenticate and authorize your access to the HeadBucket API operation, instead of using the \n temporary security credentials through the CreateSession API operation.

      \n

      Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

      \n
      \n
      Permissions
      \n
      \n

      \n \n
      \n
      HTTP Host header syntax
      \n
      \n

      \n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

      \n
      \n
      ", + "smithy.api#documentation": "

      You can use this operation to determine if a bucket exists and if you have permission to access it. The action returns a 200 OK if the bucket exists and you have permission\n to access it.

      \n

      If the bucket does not exist or you do not have permission to access it, the\n HEAD request returns a generic 400 Bad Request, 403\n Forbidden or 404 Not Found code. A message body is not included, so\n you cannot determine the exception beyond these HTTP response codes.

      \n \n

      \n Directory buckets - You must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

      \n
      \n
      \n
      Authentication and authorization
      \n
      \n

      All HeadBucket requests must be authenticated and signed by using IAM credentials (access key ID and secret access key for the IAM identities). All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see REST Authentication.

      \n

      \n Directory bucket - You must use IAM credentials to authenticate and authorize your access to the HeadBucket API operation, instead of using the \n temporary security credentials through the CreateSession API operation.

      \n

      Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

      \n
      \n
      Permissions
      \n
      \n

      \n \n
      \n
      HTTP Host header syntax
      \n
      \n

      \n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

      \n
      \n
      ", "smithy.api#examples": [ { "title": "To determine if bucket exists", @@ -24605,7 +24605,7 @@ "BucketLocationName": { "target": "com.amazonaws.s3#BucketLocationName", "traits": { - "smithy.api#documentation": "

      The name of the location where the bucket will be created.

      \n

      For directory buckets, the AZ ID of the Availability Zone where the bucket is created. An example AZ ID value is usw2-az2.

      \n \n

      This functionality is only supported by directory buckets.

      \n
      ", + "smithy.api#documentation": "

      The name of the location where the bucket will be created.

      \n

      For directory buckets, the AZ ID of the Availability Zone where the bucket is created. An example AZ ID value is usw2-az1.

      \n \n

      This functionality is only supported by directory buckets.

      \n
      ", "smithy.api#httpHeader": "x-amz-bucket-location-name" } }, @@ -24634,7 +24634,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The bucket name.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n

      \n Object Lambda access points - When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      The bucket name.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n

      \n Object Lambda access points - When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -24957,7 +24957,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The name of the bucket that contains the object.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      The name of the bucket that contains the object.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -25910,7 +25910,7 @@ } }, "traits": { - "smithy.api#documentation": "

      The Filter is used to identify objects that a Lifecycle Rule applies to. A\n Filter must have exactly one of Prefix, Tag, or\n And specified.

      " + "smithy.api#documentation": "

      The Filter is used to identify objects that a Lifecycle Rule applies to. A\n Filter can have exactly one of Prefix, Tag, ObjectSizeGreaterThan, ObjectSizeLessThan, or\n And specified. If the Filter element is left empty, the Lifecycle Rule applies to all objects in the bucket.

      " } }, "com.amazonaws.s3#LifecycleRules": { @@ -26476,7 +26476,7 @@ "UploadIdMarker": { "target": "com.amazonaws.s3#UploadIdMarker", "traits": { - "smithy.api#documentation": "

      Upload ID after which listing began.

      \n \n

      This functionality is not supported for directory buckets.

      \n
      " + "smithy.api#documentation": "

      Together with key-marker, specifies the multipart upload after which listing should\n begin. If key-marker is not specified, the upload-id-marker parameter is ignored.\n Otherwise, any multipart uploads for a key equal to the key-marker might be included in the\n list only if they have an upload ID lexicographically greater than the specified\n upload-id-marker.

      \n \n

      This functionality is not supported for directory buckets.

      \n
      " } }, "NextKeyMarker": { @@ -26554,7 +26554,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The name of the bucket to which the multipart upload was initiated.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      The name of the bucket to which the multipart upload was initiated.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -26637,7 +26637,7 @@ "smithy.api#examples": [ { "title": "To list object versions", - "documentation": "The following example return versions of an object with specific key name prefix. The request limits the number of items returned to two. If there are are more than two object version, S3 returns NextToken in the response. You can specify this token value in your next request to fetch next set of object versions.", + "documentation": "The following example returns versions of an object with specific key name prefix.", "input": { "Bucket": "examplebucket", "Prefix": "HappyFace.jpg" @@ -26946,7 +26946,7 @@ "EncodingType": { "target": "com.amazonaws.s3#EncodingType", "traits": { - "smithy.api#documentation": "

      Encoding type used by Amazon S3 to encode object keys in the response.

      " + "smithy.api#documentation": "

      Encoding type used by Amazon S3 to encode object keys in the response. If using\n url, non-ASCII characters used in an object's key name will be URL encoded.\n For example, the object test_file(3).png will appear as test_file%283%29.png.

      " } }, "RequestCharged": { @@ -26967,7 +26967,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The name of the bucket containing the objects.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      The name of the bucket containing the objects.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -27160,7 +27160,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -27178,7 +27178,7 @@ "EncodingType": { "target": "com.amazonaws.s3#EncodingType", "traits": { - "smithy.api#documentation": "

      Encoding type used by Amazon S3 to encode object keys in the response.

      ", + "smithy.api#documentation": "

      Encoding type used by Amazon S3 to encode object keys in the response. If using\n url, non-ASCII characters used in an object's key name will be URL encoded.\n For example, the object test_file(3).png will appear as test_file%283%29.png.

      ", "smithy.api#httpQuery": "encoding-type" } }, @@ -27307,7 +27307,7 @@ "PartNumberMarker": { "target": "com.amazonaws.s3#PartNumberMarker", "traits": { - "smithy.api#documentation": "

      When a list is truncated, this element specifies the last part in the list, as well as\n the value to use for the part-number-marker request parameter in a subsequent\n request.

      " + "smithy.api#documentation": "

      Specifies the part after which listing should begin. Only parts with higher part numbers\n will be listed.

      " } }, "NextPartNumberMarker": { @@ -27378,7 +27378,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The name of the bucket to which the parts are being uploaded.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      The name of the bucket to which the parts are being uploaded.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -27473,7 +27473,7 @@ "Name": { "target": "com.amazonaws.s3#LocationNameAsString", "traits": { - "smithy.api#documentation": "

      The name of the location where the bucket will be created.

      \n

      For directory buckets, the AZ ID of the Availability Zone where the bucket will be created. An example AZ ID value is usw2-az2.

      " + "smithy.api#documentation": "

      The name of the location where the bucket will be created.

      \n

      For directory buckets, the name of the location is the AZ ID of the Availability Zone where the bucket will be created. An example AZ ID value is usw2-az1.

      " } } }, @@ -29565,7 +29565,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

      This operation is not supported by directory buckets.

      \n
      \n

      Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle\n configuration. Keep in mind that this will overwrite an existing lifecycle configuration,\n so if you want to retain any configuration details, they must be included in the new\n lifecycle configuration. For information about lifecycle configuration, see Managing\n your storage lifecycle.

      \n \n

      Bucket lifecycle configuration now supports specifying a lifecycle rule using an\n object key name prefix, one or more object tags, or a combination of both. Accordingly,\n this section describes the latest API. The previous version of the API supported\n filtering based only on an object key name prefix, which is supported for backward\n compatibility. For the related API description, see PutBucketLifecycle.

      \n
      \n
      \n
      Rules
      \n
      \n

      You specify the lifecycle configuration in your request body. The lifecycle\n configuration is specified as XML consisting of one or more rules. An Amazon S3\n Lifecycle configuration can have up to 1,000 rules. This limit is not adjustable.\n Each rule consists of the following:

      \n
        \n
      • \n

        A filter identifying a subset of objects to which the rule applies. The\n filter can be based on a key name prefix, object tags, or a combination of\n both.

        \n
      • \n
      • \n

        A status indicating whether the rule is in effect.

        \n
      • \n
      • \n

        One or more lifecycle transition and expiration actions that you want\n Amazon S3 to perform on the objects identified by the filter. If the state of\n your bucket is versioning-enabled or versioning-suspended, you can have many\n versions of the same object (one current version and zero or more noncurrent\n versions). Amazon S3 provides predefined actions that you can specify for current\n and noncurrent object versions.

        \n
      • \n
      \n

      For more information, see Object Lifecycle\n Management and Lifecycle Configuration\n Elements.

      \n
      \n
      Permissions
      \n
      \n

      By default, all Amazon S3 resources are private, including buckets, objects, and\n related subresources (for example, lifecycle configuration and website\n configuration). Only the resource owner (that is, the Amazon Web Services account that created\n it) can access the resource. The resource owner can optionally grant access\n permissions to others by writing an access policy. For this operation, a user must\n get the s3:PutLifecycleConfiguration permission.

      \n

      You can also explicitly deny permissions. An explicit deny also supersedes any\n other permissions. If you want to block users or accounts from removing or\n deleting objects from your bucket, you must deny them permissions for the\n following actions:

      \n
        \n
      • \n

        \n s3:DeleteObject\n

        \n
      • \n
      • \n

        \n s3:DeleteObjectVersion\n

        \n
      • \n
      • \n

        \n s3:PutLifecycleConfiguration\n

        \n
      • \n
      \n

      For more information about permissions, see Managing Access\n Permissions to Your Amazon S3 Resources.

      \n
      \n
      \n

      The following operations are related to\n PutBucketLifecycleConfiguration:

      \n ", + "smithy.api#documentation": "\n

      This operation is not supported by directory buckets.

      \n
      \n

      Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle\n configuration. Keep in mind that this will overwrite an existing lifecycle configuration,\n so if you want to retain any configuration details, they must be included in the new\n lifecycle configuration. For information about lifecycle configuration, see Managing\n your storage lifecycle.

      \n \n

      Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, object size, or any combination of these. Accordingly, this section describes the latest API. The previous version of the API supported filtering based only on an object key name prefix, which is supported for backward compatibility.\n For the related API description, see PutBucketLifecycle.

      \n
      \n
      \n
      Rules
      \n
      \n

      You specify the lifecycle configuration in your request body. The lifecycle\n configuration is specified as XML consisting of one or more rules. An Amazon S3\n Lifecycle configuration can have up to 1,000 rules. This limit is not adjustable.\n Each rule consists of the following:

      \n
        \n
      • \n

        A filter identifying a subset of objects to which the rule applies. The filter can be based on a key name prefix, object tags, object size, or any combination of these.

        \n
      • \n
      • \n

        A status indicating whether the rule is in effect.

        \n
      • \n
      • \n

        One or more lifecycle transition and expiration actions that you want\n Amazon S3 to perform on the objects identified by the filter. If the state of\n your bucket is versioning-enabled or versioning-suspended, you can have many\n versions of the same object (one current version and zero or more noncurrent\n versions). Amazon S3 provides predefined actions that you can specify for current\n and noncurrent object versions.

        \n
      • \n
      \n

      For more information, see Object Lifecycle\n Management and Lifecycle Configuration\n Elements.

      \n
      \n
      Permissions
      \n
      \n

      By default, all Amazon S3 resources are private, including buckets, objects, and\n related subresources (for example, lifecycle configuration and website\n configuration). Only the resource owner (that is, the Amazon Web Services account that created\n it) can access the resource. The resource owner can optionally grant access\n permissions to others by writing an access policy. For this operation, a user must\n get the s3:PutLifecycleConfiguration permission.

      \n

      You can also explicitly deny permissions. An explicit deny also supersedes any\n other permissions. If you want to block users or accounts from removing or\n deleting objects from your bucket, you must deny them permissions for the\n following actions:

      \n
        \n
      • \n

        \n s3:DeleteObject\n

        \n
      • \n
      • \n

        \n s3:DeleteObjectVersion\n

        \n
      • \n
      • \n

        \n s3:PutLifecycleConfiguration\n

        \n
      • \n
      \n

      For more information about permissions, see Managing Access\n Permissions to Your Amazon S3 Resources.

      \n
      \n
      \n

      The following operations are related to\n PutBucketLifecycleConfiguration:

      \n ", "smithy.api#examples": [ { "title": "Put bucket lifecycle", @@ -30001,7 +30001,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The name of the bucket.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

      ", + "smithy.api#documentation": "

      The name of the bucket.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use path-style requests in the format https://s3express-control.region_code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must also follow the format \n bucket_base_name--az_id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide\n

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -30539,16 +30539,19 @@ "smithy.api#documentation": "

      Adds an object to a bucket.

      \n \n
        \n
      • \n

        Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the\n entire object to the bucket. You cannot use PutObject to only update a\n single piece of metadata for an existing object. You must put the entire object with\n updated metadata if you want to update some values.

        \n
      • \n
      • \n

        If your bucket uses the bucket owner enforced setting for Object Ownership, ACLs are disabled and no longer affect permissions. All\n objects written to the bucket by any account will be owned by the bucket owner.

        \n
      • \n
      • \n

        \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

        \n
      • \n
      \n
      \n

      Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n simultaneously, it overwrites all but the last object written. However, Amazon S3 provides features that can modify this behavior:

      \n
        \n
      • \n

        \n S3 Object Lock - To prevent objects from\n being deleted or overwritten, you can use Amazon S3 Object\n Lock in the Amazon S3 User Guide.

        \n \n

        This functionality is not supported for directory buckets.

        \n
        \n
      • \n
      • \n

        \n S3 Versioning - When you enable\n versioning for a bucket, if Amazon S3 receives multiple write requests for the same object\n simultaneously, it stores all versions of the objects. For each write request that is made to the same object, Amazon S3 automatically generates a unique version ID\n of that object being stored in Amazon S3. \n You can retrieve, replace, or delete any version of the object. For more information about versioning, see\n Adding Objects to\n Versioning-Enabled Buckets in the Amazon S3\n User Guide. For information about returning the versioning state\n of a bucket, see GetBucketVersioning.

        \n \n

        This functionality is not supported for directory buckets.

        \n
        \n
      • \n
      \n
      \n
      Permissions
      \n
      \n
        \n
      • \n

        \n General purpose bucket permissions - The following permissions are required in your policies when your \n PutObject request includes specific headers.

        \n
          \n
        • \n

          \n \n s3:PutObject\n - To successfully complete the PutObject request, you must always have the s3:PutObject permission on a bucket to add an object\n to it.

          \n
        • \n
        • \n

          \n \n s3:PutObjectAcl\n - To successfully change the objects ACL of your PutObject request, you must have the s3:PutObjectAcl.

          \n
        • \n
        • \n

          \n \n s3:PutObjectTagging\n - To successfully set the tag-set with your PutObject request, you\n must have the s3:PutObjectTagging.

          \n
        • \n
        \n
      • \n
      • \n

        \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

        \n
      • \n
      \n
      \n
      Data integrity with Content-MD5
      \n
      \n
        \n
      • \n

        \n General purpose bucket - To ensure that data is not corrupted traversing the network, use the\n Content-MD5 header. When you use this header, Amazon S3 checks the object\n against the provided MD5 value and, if they do not match, Amazon S3 returns an error. Alternatively, when the object's ETag is its MD5 digest, \n you can calculate the MD5 while putting the object to Amazon S3 and compare the returned ETag to\n the calculated MD5 value.

        \n
      • \n
      • \n

        \n Directory bucket - This functionality is not supported for directory buckets.

        \n
      • \n
      \n
      \n
      HTTP Host header syntax
      \n
      \n

      \n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

      \n
      \n
      \n

      For more information about related Amazon S3 APIs, see the following:

      \n ", "smithy.api#examples": [ { - "title": "To create an object.", - "documentation": "The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.", + "title": "To upload an object and specify server-side encryption and object tags", + "documentation": "The following example uploads an object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.", "input": { "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "objectkey" + "Key": "exampleobject", + "ServerSideEncryption": "AES256", + "Tagging": "key1=value1&key2=value2" }, "output": { - "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ", - "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"" + "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt", + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", + "ServerSideEncryption": "AES256" } }, { @@ -30568,6 +30571,20 @@ "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"" } }, + { + "title": "To upload an object and specify canned ACL.", + "documentation": "The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.", + "input": { + "ACL": "authenticated-read", + "Body": "filetoupload", + "Bucket": "examplebucket", + "Key": "exampleobject" + }, + "output": { + "VersionId": "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr", + "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"" + } + }, { "title": "To upload an object", "documentation": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", @@ -30582,16 +30599,15 @@ } }, { - "title": "To upload an object and specify canned ACL.", - "documentation": "The following example uploads and object. The request specifies optional canned ACL (access control list) to all READ access to authenticated users. If the bucket is versioning enabled, S3 returns version ID in response.", + "title": "To create an object.", + "documentation": "The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.", "input": { - "ACL": "authenticated-read", "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "exampleobject" + "Key": "objectkey" }, "output": { - "VersionId": "Kirh.unyZwjQ69YxcQLA8z4F5j3kJJKr", + "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ", "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"" } }, @@ -30624,22 +30640,6 @@ "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a", "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"" } - }, - { - "title": "To upload an object and specify server-side encryption and object tags", - "documentation": "The following example uploads an object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.", - "input": { - "Body": "filetoupload", - "Bucket": "examplebucket", - "Key": "exampleobject", - "ServerSideEncryption": "AES256", - "Tagging": "key1=value1&key2=value2" - }, - "output": { - "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt", - "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "ServerSideEncryption": "AES256" - } } ], "smithy.api#http": { @@ -31143,7 +31143,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The bucket name to which the PUT action was initiated.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      The bucket name to which the PUT action was initiated.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -32259,7 +32259,7 @@ "aws.protocols#httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm" }, - "smithy.api#documentation": "\n

      This operation is not supported by directory buckets.

      \n
      \n

      Restores an archived copy of an object back into Amazon S3

      \n

      This functionality is not supported for Amazon S3 on Outposts.

      \n

      This action performs the following types of requests:

      \n
        \n
      • \n

        \n select - Perform a select query on an archived object

        \n
      • \n
      • \n

        \n restore an archive - Restore an archived object

        \n
      • \n
      \n

      For more information about the S3 structure in the request body, see the\n following:

      \n \n

      Define the SQL expression for the SELECT type of restoration for your query\n in the request body's SelectParameters structure. You can use expressions like\n the following examples.

      \n
        \n
      • \n

        The following expression returns all records from the specified object.

        \n

        \n SELECT * FROM Object\n

        \n
      • \n
      • \n

        Assuming that you are not using any headers for data stored in the object, you can\n specify columns with positional headers.

        \n

        \n SELECT s._1, s._2 FROM Object s WHERE s._3 > 100\n

        \n
      • \n
      • \n

        If you have headers and you set the fileHeaderInfo in the\n CSV structure in the request body to USE, you can\n specify headers in the query. (If you set the fileHeaderInfo field to\n IGNORE, the first row is skipped for the query.) You cannot mix\n ordinal positions with header column names.

        \n

        \n SELECT s.Id, s.FirstName, s.SSN FROM S3Object s\n

        \n
      • \n
      \n

      When making a select request, you can also do the following:

      \n
        \n
      • \n

        To expedite your queries, specify the Expedited tier. For more\n information about tiers, see \"Restoring Archives,\" later in this topic.

        \n
      • \n
      • \n

        Specify details about the data serialization format of both the input object that\n is being queried and the serialization of the CSV-encoded query results.

        \n
      • \n
      \n

      The following are additional important facts about the select feature:

      \n
        \n
      • \n

        The output results are new Amazon S3 objects. Unlike archive retrievals, they are\n stored until explicitly deleted-manually or through a lifecycle configuration.

        \n
      • \n
      • \n

        You can issue more than one select request on the same Amazon S3 object. Amazon S3 doesn't\n duplicate requests, so avoid issuing duplicate requests.

        \n
      • \n
      • \n

        Amazon S3 accepts a select request even if the object has already been restored. A\n select request doesn’t return error response 409.

        \n
      • \n
      \n
      \n
      Permissions
      \n
      \n

      To use this operation, you must have permissions to perform the\n s3:RestoreObject action. The bucket owner has this permission by\n default and can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the\n Amazon S3 User Guide.

      \n
      \n
      Restoring objects
      \n
      \n

      Objects that you archive to the S3 Glacier Flexible Retrieval Flexible Retrieval\n or S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or\n S3 Intelligent-Tiering Deep Archive tiers, are not accessible in real time. For objects in the\n S3 Glacier Flexible Retrieval Flexible Retrieval or S3 Glacier Deep Archive\n storage classes, you must first initiate a restore request, and then wait until a\n temporary copy of the object is available. If you want a permanent copy of the\n object, create a copy of it in the Amazon S3 Standard storage class in your S3 bucket.\n To access an archived object, you must restore the object for the duration (number\n of days) that you specify. For objects in the Archive Access or Deep Archive\n Access tiers of S3 Intelligent-Tiering, you must first initiate a restore request,\n and then wait until the object is moved into the Frequent Access tier.

      \n

      To restore a specific object version, you can provide a version ID. If you\n don't provide a version ID, Amazon S3 restores the current version.

      \n

      When restoring an archived object, you can specify one of the following data\n access tier options in the Tier element of the request body:

      \n
        \n
      • \n

        \n Expedited - Expedited retrievals allow you to quickly access\n your data stored in the S3 Glacier Flexible Retrieval Flexible Retrieval\n storage class or S3 Intelligent-Tiering Archive tier when occasional urgent requests\n for restoring archives are required. For all but the largest archived\n objects (250 MB+), data accessed using Expedited retrievals is typically\n made available within 1–5 minutes. Provisioned capacity ensures that\n retrieval capacity for Expedited retrievals is available when you need it.\n Expedited retrievals and provisioned capacity are not available for objects\n stored in the S3 Glacier Deep Archive storage class or\n S3 Intelligent-Tiering Deep Archive tier.

        \n
      • \n
      • \n

        \n Standard - Standard retrievals allow you to access any of\n your archived objects within several hours. This is the default option for\n retrieval requests that do not specify the retrieval option. Standard\n retrievals typically finish within 3–5 hours for objects stored in the\n S3 Glacier Flexible Retrieval Flexible Retrieval storage class or\n S3 Intelligent-Tiering Archive tier. They typically finish within 12 hours for\n objects stored in the S3 Glacier Deep Archive storage class or\n S3 Intelligent-Tiering Deep Archive tier. Standard retrievals are free for objects stored\n in S3 Intelligent-Tiering.

        \n
      • \n
      • \n

        \n Bulk - Bulk retrievals free for objects stored in the\n S3 Glacier Flexible Retrieval and S3 Intelligent-Tiering storage classes,\n enabling you to retrieve large amounts, even petabytes, of data at no cost.\n Bulk retrievals typically finish within 5–12 hours for objects stored in the\n S3 Glacier Flexible Retrieval Flexible Retrieval storage class or\n S3 Intelligent-Tiering Archive tier. Bulk retrievals are also the lowest-cost\n retrieval option when restoring objects from\n S3 Glacier Deep Archive. They typically finish within 48 hours for\n objects stored in the S3 Glacier Deep Archive storage class or\n S3 Intelligent-Tiering Deep Archive tier.

        \n
      • \n
      \n

      For more information about archive retrieval options and provisioned capacity\n for Expedited data access, see Restoring Archived\n Objects in the Amazon S3 User Guide.

      \n

      You can use Amazon S3 restore speed upgrade to change the restore speed to a faster\n speed while it is in progress. For more information, see Upgrading the speed of an in-progress restore in the\n Amazon S3 User Guide.

      \n

      To get the status of object restoration, you can send a HEAD\n request. Operations return the x-amz-restore header, which provides\n information about the restoration status, in the response. You can use Amazon S3 event\n notifications to notify you when a restore is initiated or completed. For more\n information, see Configuring Amazon S3 Event\n Notifications in the Amazon S3 User Guide.

      \n

      After restoring an archived object, you can update the restoration period by\n reissuing the request with a new period. Amazon S3 updates the restoration period\n relative to the current time and charges only for the request-there are no\n data transfer charges. You cannot update the restoration period when Amazon S3 is\n actively processing your current restore request for the object.

      \n

      If your bucket has a lifecycle configuration with a rule that includes an\n expiration action, the object expiration overrides the life span that you specify\n in a restore request. For example, if you restore an object copy for 10 days, but\n the object is scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days.\n For more information about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle\n Management in Amazon S3 User Guide.

      \n
      \n
      Responses
      \n
      \n

      A successful action returns either the 200 OK or 202\n Accepted status code.

      \n
        \n
      • \n

        If the object is not previously restored, then Amazon S3 returns 202\n Accepted in the response.

        \n
      • \n
      • \n

        If the object is previously restored, Amazon S3 returns 200 OK in\n the response.

        \n
      • \n
      \n
        \n
      • \n

        Special errors:

        \n
          \n
        • \n

          \n Code: RestoreAlreadyInProgress\n

          \n
        • \n
        • \n

          \n Cause: Object restore is already in progress. (This error\n does not apply to SELECT type requests.)\n

          \n
        • \n
        • \n

          \n HTTP Status Code: 409 Conflict\n

          \n
        • \n
        • \n

          \n SOAP Fault Code Prefix: Client\n

          \n
        • \n
        \n
      • \n
      • \n
          \n
        • \n

          \n Code: GlacierExpeditedRetrievalNotAvailable\n

          \n
        • \n
        • \n

          \n Cause: expedited retrievals are currently not available.\n Try again later. (Returned if there is insufficient capacity to\n process the Expedited request. This error applies only to Expedited\n retrievals and not to S3 Standard or Bulk retrievals.)\n

          \n
        • \n
        • \n

          \n HTTP Status Code: 503\n

          \n
        • \n
        • \n

          \n SOAP Fault Code Prefix: N/A\n

          \n
        • \n
        \n
      • \n
      \n
      \n
      \n

      The following operations are related to RestoreObject:

      \n ", + "smithy.api#documentation": "\n

      This operation is not supported by directory buckets.

      \n
      \n

      Restores an archived copy of an object back into Amazon S3

      \n

      This functionality is not supported for Amazon S3 on Outposts.

      \n

      This action performs the following types of requests:

      \n
        \n
      • \n

        \n restore an archive - Restore an archived object

        \n
      • \n
      \n

      For more information about the S3 structure in the request body, see the\n following:

      \n \n
      \n
      Permissions
      \n
      \n

      To use this operation, you must have permissions to perform the\n s3:RestoreObject action. The bucket owner has this permission by\n default and can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the\n Amazon S3 User Guide.

      \n
      \n
      Restoring objects
      \n
      \n

      Objects that you archive to the S3 Glacier Flexible Retrieval Flexible Retrieval\n or S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering Archive or\n S3 Intelligent-Tiering Deep Archive tiers, are not accessible in real time. For objects in the\n S3 Glacier Flexible Retrieval Flexible Retrieval or S3 Glacier Deep Archive\n storage classes, you must first initiate a restore request, and then wait until a\n temporary copy of the object is available. If you want a permanent copy of the\n object, create a copy of it in the Amazon S3 Standard storage class in your S3 bucket.\n To access an archived object, you must restore the object for the duration (number\n of days) that you specify. For objects in the Archive Access or Deep Archive\n Access tiers of S3 Intelligent-Tiering, you must first initiate a restore request,\n and then wait until the object is moved into the Frequent Access tier.

      \n

      To restore a specific object version, you can provide a version ID. If you\n don't provide a version ID, Amazon S3 restores the current version.

      \n

      When restoring an archived object, you can specify one of the following data\n access tier options in the Tier element of the request body:

      \n
        \n
      • \n

        \n Expedited - Expedited retrievals allow you to quickly access\n your data stored in the S3 Glacier Flexible Retrieval Flexible Retrieval\n storage class or S3 Intelligent-Tiering Archive tier when occasional urgent requests\n for restoring archives are required. For all but the largest archived\n objects (250 MB+), data accessed using Expedited retrievals is typically\n made available within 1–5 minutes. Provisioned capacity ensures that\n retrieval capacity for Expedited retrievals is available when you need it.\n Expedited retrievals and provisioned capacity are not available for objects\n stored in the S3 Glacier Deep Archive storage class or\n S3 Intelligent-Tiering Deep Archive tier.

        \n
      • \n
      • \n

        \n Standard - Standard retrievals allow you to access any of\n your archived objects within several hours. This is the default option for\n retrieval requests that do not specify the retrieval option. Standard\n retrievals typically finish within 3–5 hours for objects stored in the\n S3 Glacier Flexible Retrieval Flexible Retrieval storage class or\n S3 Intelligent-Tiering Archive tier. They typically finish within 12 hours for\n objects stored in the S3 Glacier Deep Archive storage class or\n S3 Intelligent-Tiering Deep Archive tier. Standard retrievals are free for objects stored\n in S3 Intelligent-Tiering.

        \n
      • \n
      • \n

        \n Bulk - Bulk retrievals free for objects stored in the\n S3 Glacier Flexible Retrieval and S3 Intelligent-Tiering storage classes,\n enabling you to retrieve large amounts, even petabytes, of data at no cost.\n Bulk retrievals typically finish within 5–12 hours for objects stored in the\n S3 Glacier Flexible Retrieval Flexible Retrieval storage class or\n S3 Intelligent-Tiering Archive tier. Bulk retrievals are also the lowest-cost\n retrieval option when restoring objects from\n S3 Glacier Deep Archive. They typically finish within 48 hours for\n objects stored in the S3 Glacier Deep Archive storage class or\n S3 Intelligent-Tiering Deep Archive tier.

        \n
      • \n
      \n

      For more information about archive retrieval options and provisioned capacity\n for Expedited data access, see Restoring Archived\n Objects in the Amazon S3 User Guide.

      \n

      You can use Amazon S3 restore speed upgrade to change the restore speed to a faster\n speed while it is in progress. For more information, see Upgrading the speed of an in-progress restore in the\n Amazon S3 User Guide.

      \n

      To get the status of object restoration, you can send a HEAD\n request. Operations return the x-amz-restore header, which provides\n information about the restoration status, in the response. You can use Amazon S3 event\n notifications to notify you when a restore is initiated or completed. For more\n information, see Configuring Amazon S3 Event\n Notifications in the Amazon S3 User Guide.

      \n

      After restoring an archived object, you can update the restoration period by\n reissuing the request with a new period. Amazon S3 updates the restoration period\n relative to the current time and charges only for the request-there are no\n data transfer charges. You cannot update the restoration period when Amazon S3 is\n actively processing your current restore request for the object.

      \n

      If your bucket has a lifecycle configuration with a rule that includes an\n expiration action, the object expiration overrides the life span that you specify\n in a restore request. For example, if you restore an object copy for 10 days, but\n the object is scheduled to expire in 3 days, Amazon S3 deletes the object in 3 days.\n For more information about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle\n Management in Amazon S3 User Guide.

      \n
      \n
      Responses
      \n
      \n

      A successful action returns either the 200 OK or 202\n Accepted status code.

      \n
        \n
      • \n

        If the object is not previously restored, then Amazon S3 returns 202\n Accepted in the response.

        \n
      • \n
      • \n

        If the object is previously restored, Amazon S3 returns 200 OK in\n the response.

        \n
      • \n
      \n
        \n
      • \n

        Special errors:

        \n
          \n
        • \n

          \n Code: RestoreAlreadyInProgress\n

          \n
        • \n
        • \n

          \n Cause: Object restore is already in progress.\n

          \n
        • \n
        • \n

          \n HTTP Status Code: 409 Conflict\n

          \n
        • \n
        • \n

          \n SOAP Fault Code Prefix: Client\n

          \n
        • \n
        \n
      • \n
      • \n
          \n
        • \n

          \n Code: GlacierExpeditedRetrievalNotAvailable\n

          \n
        • \n
        • \n

          \n Cause: expedited retrievals are currently not available.\n Try again later. (Returned if there is insufficient capacity to\n process the Expedited request. This error applies only to Expedited\n retrievals and not to S3 Standard or Bulk retrievals.)\n

          \n
        • \n
        • \n

          \n HTTP Status Code: 503\n

          \n
        • \n
        • \n

          \n SOAP Fault Code Prefix: N/A\n

          \n
        • \n
        \n
      • \n
      \n
      \n
      \n

      The following operations are related to RestoreObject:

      \n ", "smithy.api#examples": [ { "title": "To restore an archived object", @@ -32860,7 +32860,7 @@ "KMSMasterKeyID": { "target": "com.amazonaws.s3#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

      Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default\n encryption. This parameter is allowed if and only if SSEAlgorithm is set to\n aws:kms.

      \n

      You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS\n key.

      \n
        \n
      • \n

        Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

        \n
      • \n
      • \n

        Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

        \n
      • \n
      • \n

        Key Alias: alias/alias-name\n

        \n
      • \n
      \n

      If you use a key ID, you can run into a LogDestination undeliverable error when creating\n a VPC flow log.

      \n

      If you are using encryption with cross-account or Amazon Web Services service operations you must use\n a fully qualified KMS key ARN. For more information, see Using encryption for cross-account operations.

      \n \n

      Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service\n Developer Guide.

      \n
      " + "smithy.api#documentation": "

      Amazon Web Services Key Management Service (KMS) customer Amazon Web Services KMS key ID to use for the default\n encryption. This parameter is allowed if and only if SSEAlgorithm is set to\n aws:kms or aws:kms:dsse.

      \n

      You can specify the key ID, key alias, or the Amazon Resource Name (ARN) of the KMS\n key.

      \n
        \n
      • \n

        Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

        \n
      • \n
      • \n

        Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

        \n
      • \n
      • \n

        Key Alias: alias/alias-name\n

        \n
      • \n
      \n

      If you use a key ID, you can run into a LogDestination undeliverable error when creating\n a VPC flow log.

      \n

      If you are using encryption with cross-account or Amazon Web Services service operations you must use\n a fully qualified KMS key ARN. For more information, see Using encryption for cross-account operations.

      \n \n

      Amazon S3 only supports symmetric encryption KMS keys. For more information, see Asymmetric keys in Amazon Web Services KMS in the Amazon Web Services Key Management Service\n Developer Guide.

      \n
      " } } }, @@ -33575,7 +33575,7 @@ "target": "com.amazonaws.s3#UploadPartCopyOutput" }, "traits": { - "smithy.api#documentation": "

      Uploads a part by copying data from an existing object as data source. To specify the\n data source, you add the request header x-amz-copy-source in your request. To specify \n a byte range, you add the request header x-amz-copy-source-range in your\n request.

      \n

      For information about maximum and minimum part sizes and other multipart upload\n specifications, see Multipart upload limits in the Amazon S3 User Guide.

      \n \n

      Instead of copying data from an existing object as part data, you might use the UploadPart\n action to upload new data as a part of an object in your request.

      \n
      \n

      You must initiate a multipart upload before you can upload any part. In response to your\n initiate request, Amazon S3 returns the upload ID, a unique identifier that you must include in\n your upload part request.

      \n

      For conceptual information about multipart uploads, see Uploading\n Objects Using Multipart Upload in the\n Amazon S3 User Guide. For information about copying objects using a single atomic action vs. a multipart\n upload, see Operations on Objects in\n the Amazon S3 User Guide.

      \n \n

      \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

      \n
      \n
      \n
      Authentication and authorization
      \n
      \n

      All UploadPartCopy requests must be authenticated and signed by using IAM credentials (access key ID and secret access key for the IAM identities). All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see REST Authentication.

      \n

      \n Directory buckets - You must use IAM credentials to authenticate and authorize your access to the UploadPartCopy API operation, instead of using the \n temporary security credentials through the CreateSession API operation.

      \n

      Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

      \n
      \n
      Permissions
      \n
      \n

      You must have READ access to the source object and WRITE\n access to the destination bucket.

      \n
        \n
      • \n

        \n General purpose bucket permissions - You must have the permissions in a policy based on the bucket types of your source bucket and destination bucket in an UploadPartCopy operation.

        \n
          \n
        • \n

          If the source object is in a general purpose bucket, you must have the \n s3:GetObject\n permission to read the source object that is being copied.

          \n
        • \n
        • \n

          If the destination bucket is a general purpose bucket, you must have the \n s3:PubObject\n permission to write the object copy to the destination bucket.\n

          \n
        • \n
        \n

        For information about permissions required to use the multipart upload API, see\n Multipart Upload and Permissions in the\n Amazon S3 User Guide.

        \n
      • \n
      • \n

        \n Directory bucket permissions -\n You must have permissions in a bucket policy or an IAM identity-based policy based on the source and destination\n bucket types in an UploadPartCopy operation.

        \n
          \n
        • \n

          If the source object that you want to copy is in a\n directory bucket, you must have the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object\n . \n By default, the session is in the ReadWrite mode. If you want to restrict the access, you can explicitly set the s3express:SessionMode condition key to ReadOnly on the copy source bucket.

          \n
        • \n
        • \n

          If the copy destination is a directory bucket, you must have the \n \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object\n to the destination. The s3express:SessionMode condition\n key cannot be set to ReadOnly on the copy destination.

          \n
        • \n
        \n

        For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the\n Amazon S3 User Guide.

        \n
      • \n
      \n
      \n
      Encryption
      \n
      \n
        \n
      • \n

        \n General purpose buckets - \n \n For information about using server-side encryption with customer-provided\n encryption keys with the UploadPartCopy operation, see CopyObject and UploadPart.\n

        \n
      • \n
      • \n

        \n Directory buckets - For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) is supported.

        \n
      • \n
      \n
      \n
      Special errors
      \n
      \n
        \n
      • \n

        Error Code: NoSuchUpload\n

        \n
          \n
        • \n

          Description: The specified multipart upload does not exist. The\n upload ID might be invalid, or the multipart upload might have been\n aborted or completed.

          \n
        • \n
        • \n

          HTTP Status Code: 404 Not Found

          \n
        • \n
        \n
      • \n
      • \n

        Error Code: InvalidRequest\n

        \n
          \n
        • \n

          Description: The specified copy source is not supported as a\n byte-range copy source.

          \n
        • \n
        • \n

          HTTP Status Code: 400 Bad Request

          \n
        • \n
        \n
      • \n
      \n
      \n
      HTTP Host header syntax
      \n
      \n

      \n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

      \n
      \n
      \n

      The following operations are related to UploadPartCopy:

      \n ", + "smithy.api#documentation": "

      Uploads a part by copying data from an existing object as data source. To specify the\n data source, you add the request header x-amz-copy-source in your request. To specify \n a byte range, you add the request header x-amz-copy-source-range in your\n request.

      \n

      For information about maximum and minimum part sizes and other multipart upload\n specifications, see Multipart upload limits in the Amazon S3 User Guide.

      \n \n

      Instead of copying data from an existing object as part data, you might use the UploadPart\n action to upload new data as a part of an object in your request.

      \n
      \n

      You must initiate a multipart upload before you can upload any part. In response to your\n initiate request, Amazon S3 returns the upload ID, a unique identifier that you must include in\n your upload part request.

      \n

      For conceptual information about multipart uploads, see Uploading\n Objects Using Multipart Upload in the\n Amazon S3 User Guide. For information about copying objects using a single atomic action vs. a multipart\n upload, see Operations on Objects in\n the Amazon S3 User Guide.

      \n \n

      \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket_name.s3express-az_id.region.amazonaws.com/key-name\n . Path-style requests are not supported. For more information, see Regional and Zonal endpoints in the\n Amazon S3 User Guide.

      \n
      \n
      \n
      Authentication and authorization
      \n
      \n

      All UploadPartCopy requests must be authenticated and signed by using IAM credentials (access key ID and secret access key for the IAM identities). All headers with the x-amz- prefix, including\n x-amz-copy-source, must be signed. For more information, see REST Authentication.

      \n

      \n Directory buckets - You must use IAM credentials to authenticate and authorize your access to the UploadPartCopy API operation, instead of using the \n temporary security credentials through the CreateSession API operation.

      \n

      Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

      \n
      \n
      Permissions
      \n
      \n

      You must have READ access to the source object and WRITE\n access to the destination bucket.

      \n
        \n
      • \n

        \n General purpose bucket permissions - You must have the permissions in a policy based on the bucket types of your source bucket and destination bucket in an UploadPartCopy operation.

        \n
          \n
        • \n

          If the source object is in a general purpose bucket, you must have the \n s3:GetObject\n permission to read the source object that is being copied.

          \n
        • \n
        • \n

          If the destination bucket is a general purpose bucket, you must have the \n s3:PutObject\n permission to write the object copy to the destination bucket.\n

          \n
        • \n
        \n

        For information about permissions required to use the multipart upload API, see\n Multipart Upload and Permissions in the\n Amazon S3 User Guide.

        \n
      • \n
      • \n

        \n Directory bucket permissions -\n You must have permissions in a bucket policy or an IAM identity-based policy based on the source and destination\n bucket types in an UploadPartCopy operation.

        \n
          \n
        • \n

          If the source object that you want to copy is in a\n directory bucket, you must have the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object\n . \n By default, the session is in the ReadWrite mode. If you want to restrict the access, you can explicitly set the s3express:SessionMode condition key to ReadOnly on the copy source bucket.

          \n
        • \n
        • \n

          If the copy destination is a directory bucket, you must have the \n \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object\n to the destination. The s3express:SessionMode condition\n key cannot be set to ReadOnly on the copy destination.

          \n
        • \n
        \n

        For example policies, see Example bucket policies for S3 Express One Zone and Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the\n Amazon S3 User Guide.

        \n
      • \n
      \n
      \n
      Encryption
      \n
      \n
        \n
      • \n

        \n General purpose buckets - \n \n For information about using server-side encryption with customer-provided\n encryption keys with the UploadPartCopy operation, see CopyObject and UploadPart.\n

        \n
      • \n
      • \n

        \n Directory buckets - For directory buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) is supported.

        \n
      • \n
      \n
      \n
      Special errors
      \n
      \n
        \n
      • \n

        Error Code: NoSuchUpload\n

        \n
          \n
        • \n

          Description: The specified multipart upload does not exist. The\n upload ID might be invalid, or the multipart upload might have been\n aborted or completed.

          \n
        • \n
        • \n

          HTTP Status Code: 404 Not Found

          \n
        • \n
        \n
      • \n
      • \n

        Error Code: InvalidRequest\n

        \n
          \n
        • \n

          Description: The specified copy source is not supported as a\n byte-range copy source.

          \n
        • \n
        • \n

          HTTP Status Code: 400 Bad Request

          \n
        • \n
        \n
      • \n
      \n
      \n
      HTTP Host header syntax
      \n
      \n

      \n Directory buckets - The HTTP Host header syntax is \n Bucket_name.s3express-az_id.region.amazonaws.com.

      \n
      \n
      \n

      The following operations are related to UploadPartCopy:

      \n ", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?x-id=UploadPartCopy", @@ -33657,7 +33657,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The bucket name.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      The bucket name.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": { @@ -33897,7 +33897,7 @@ "Bucket": { "target": "com.amazonaws.s3#BucketName", "traits": { - "smithy.api#documentation": "

      The name of the bucket to which the multipart upload was initiated.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az2--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", + "smithy.api#documentation": "

      The name of the bucket to which the multipart upload was initiated.

      \n

      \n Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format \n Bucket_name.s3express-az_id.region.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format \n bucket_base_name--az-id--x-s3 (for example, \n DOC-EXAMPLE-BUCKET--usw2-az1--x-s3). For information about bucket naming\n restrictions, see Directory bucket naming\n rules in the Amazon S3 User Guide.

      \n

      \n Access points - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

      \n \n

      Access points and Object Lambda access points are not supported by directory buckets.

      \n
      \n

      \n S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.

      ", "smithy.api#httpLabel": {}, "smithy.api#required": {}, "smithy.rules#contextParam": {