AWS SDK

AWS SDK

rev. 54a52cba1f1ff5fc52d06b3721da33bf6bc3bfda

Files changed:

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/copy_object.rs

@@ -1,1 +63,63 @@
   18     18   
    ///   - [`copy_source_if_unmodified_since(DateTime)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::copy_source_if_unmodified_since) / [`set_copy_source_if_unmodified_since(Option<DateTime>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_copy_source_if_unmodified_since):<br>required: **false**<br><p>Copies the object if it hasn't been modified since the specified time.</p> <p>If both the <code>x-amz-copy-source-if-match</code> and <code>x-amz-copy-source-if-unmodified-since</code> headers are present in the request and evaluate as follows, Amazon S3 returns <code>200 OK</code> and copies the data:</p> <ul>  <li>   <p><code>x-amz-copy-source-if-match</code> condition evaluates to true</p></li>  <li>   <p><code>x-amz-copy-source-if-unmodified-since</code> condition evaluates to false</p></li> </ul><br>
   19     19   
    ///   - [`expires(DateTime)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::expires) / [`set_expires(Option<DateTime>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_expires):<br>required: **false**<br><p>The date and time at which the object is no longer cacheable.</p><br>
   20     20   
    ///   - [`grant_full_control(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::grant_full_control) / [`set_grant_full_control(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_grant_full_control):<br>required: **false**<br><p>Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.</p><note>  <ul>   <li>    <p>This functionality is not supported for directory buckets.</p></li>   <li>    <p>This functionality is not supported for Amazon S3 on Outposts.</p></li>  </ul> </note><br>
   21     21   
    ///   - [`grant_read(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::grant_read) / [`set_grant_read(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_grant_read):<br>required: **false**<br><p>Allows grantee to read the object data and its metadata.</p><note>  <ul>   <li>    <p>This functionality is not supported for directory buckets.</p></li>   <li>    <p>This functionality is not supported for Amazon S3 on Outposts.</p></li>  </ul> </note><br>
   22     22   
    ///   - [`grant_read_acp(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::grant_read_acp) / [`set_grant_read_acp(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_grant_read_acp):<br>required: **false**<br><p>Allows grantee to read the object ACL.</p><note>  <ul>   <li>    <p>This functionality is not supported for directory buckets.</p></li>   <li>    <p>This functionality is not supported for Amazon S3 on Outposts.</p></li>  </ul> </note><br>
   23     23   
    ///   - [`grant_write_acp(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::grant_write_acp) / [`set_grant_write_acp(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_grant_write_acp):<br>required: **false**<br><p>Allows grantee to write the ACL for the applicable object.</p><note>  <ul>   <li>    <p>This functionality is not supported for directory buckets.</p></li>   <li>    <p>This functionality is not supported for Amazon S3 on Outposts.</p></li>  </ul> </note><br>
   24     24   
    ///   - [`key(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::key) / [`set_key(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_key):<br>required: **true**<br><p>The key of the destination object.</p><br>
   25     25   
    ///   - [`metadata(impl Into<String>, impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::metadata) / [`set_metadata(Option<HashMap::<String, String>>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_metadata):<br>required: **false**<br><p>A map of metadata to store with the object in S3.</p><br>
   26     26   
    ///   - [`metadata_directive(MetadataDirective)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::metadata_directive) / [`set_metadata_directive(Option<MetadataDirective>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_metadata_directive):<br>required: **false**<br><p>Specifies whether the metadata is copied from the source object or replaced with metadata that's provided in the request. When copying an object, you can preserve all metadata (the default) or specify new metadata. If this header isn’t specified, <code>COPY</code> is the default behavior.</p> <p><b>General purpose bucket</b> - For general purpose buckets, when you grant permissions, you can use the <code>s3:x-amz-metadata-directive</code> condition key to enforce certain metadata behavior when objects are uploaded. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html">Amazon S3 condition key examples</a> in the <i>Amazon S3 User Guide</i>.</p><note>  <p><code>x-amz-website-redirect-location</code> is unique to each object and is not copied when using the <code>x-amz-metadata-directive</code> header. To copy the value, you must specify <code>x-amz-website-redirect-location</code> in the request header.</p> </note><br>
   27     27   
    ///   - [`tagging_directive(TaggingDirective)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::tagging_directive) / [`set_tagging_directive(Option<TaggingDirective>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_tagging_directive):<br>required: **false**<br><p>Specifies whether the object tag-set is copied from the source object or replaced with the tag-set that's provided in the request.</p> <p>The default value is <code>COPY</code>.</p><note>  <p><b>Directory buckets</b> - For directory buckets in a <code>CopyObject</code> operation, only the empty tag-set is supported. Any requests that attempt to write non-empty tags into directory buckets will receive a <code>501 Not Implemented</code> status code. When the destination bucket is a directory bucket, you will receive a <code>501 Not Implemented</code> response in any of the following situations:</p>  <ul>   <li>    <p>When you attempt to <code>COPY</code> the tag-set from an S3 source object that has non-empty tags.</p></li>   <li>    <p>When you attempt to <code>REPLACE</code> the tag-set of a source object and set a non-empty value to <code>x-amz-tagging</code>.</p></li>   <li>    <p>When you don't set the <code>x-amz-tagging-directive</code> header and the source object has non-empty tags. This is because the default value of <code>x-amz-tagging-directive</code> is <code>COPY</code>.</p></li>  </ul>  <p>Because only the empty tag-set is supported for directory buckets in a <code>CopyObject</code> operation, the following situations are allowed:</p>  <ul>   <li>    <p>When you attempt to <code>COPY</code> the tag-set from a directory bucket source object that has no tags to a general purpose bucket. It copies an empty tag-set to the destination object.</p></li>   <li>    <p>When you attempt to <code>REPLACE</code> the tag-set of a directory bucket source object and set the <code>x-amz-tagging</code> value of the directory bucket destination object to empty.</p></li>   <li>    <p>When you attempt to <code>REPLACE</code> the tag-set of a general purpose bucket source object that has non-empty tags and set the <code>x-amz-tagging</code> value of the directory bucket destination object to empty.</p></li>   <li>    <p>When you attempt to <code>REPLACE</code> the tag-set of a directory bucket source object and don't set the <code>x-amz-tagging</code> value of the directory bucket destination object. This is because the default value of <code>x-amz-tagging</code> is the empty value.</p></li>  </ul> </note><br>
   28         -
    ///   - [`server_side_encryption(ServerSideEncryption)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::server_side_encryption) / [`set_server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_server_side_encryption):<br>required: **false**<br><p>The server-side encryption algorithm used when storing this object in Amazon S3. Unrecognized or unsupported values won’t write a destination object and will receive a <code>400 Bad Request</code> response.</p> <p>Amazon S3 automatically encrypts all new objects that are copied to an S3 bucket. When copying an object, if you don't specify encryption information in your copy request, the encryption setting of the target object is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a different default encryption configuration, Amazon S3 uses the corresponding encryption key to encrypt the target object copy.</p> <p>With server-side encryption, Amazon S3 encrypts your data as it writes your data to disks in its data centers and decrypts the data when you access it. For more information about server-side encryption, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using Server-Side Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> <p><b>General purpose buckets </b></p> <ul>  <li>   <p>For general purpose buckets, there are the following supported options for server-side encryption: server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), and server-side encryption with customer-provided encryption keys (SSE-C). Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the target object copy.</p></li>  <li>   <p>When you perform a <code>CopyObject</code> operation, if you want to use a different type of encryption setting for the target object, you can specify appropriate encryption-related headers to encrypt the target object with an Amazon S3 managed key, a KMS key, or a customer-provided key. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence.</p></li> </ul> <p><b>Directory buckets </b></p> <ul>  <li>   <p>For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) and server-side encryption with KMS keys (SSE-KMS) (<code>aws:kms</code>). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your <code>CreateSession</code> requests or <code>PUT</code> object requests. Then, new objects are automatically encrypted with the desired encryption settings. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html">Protecting data with server-side encryption</a> in the <i>Amazon S3 User Guide</i>. For more information about the encryption overriding behaviors in directory buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html">Specifying server-side encryption with KMS for new object uploads</a>.</p></li>  <li>   <p>To encrypt new object copies to a directory bucket with SSE-KMS, we recommend you specify SSE-KMS as the directory bucket's default encryption configuration with a KMS key (specifically, a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a>). The <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported. Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket. After you specify a customer managed key for SSE-KMS, you can't override the customer managed key for the bucket's SSE-KMS configuration. Then, when you perform a <code>CopyObject</code> operation and want to specify server-side encryption settings for new object copies with SSE-KMS in the encryption-related request headers, you must ensure the encryption key is the same customer managed key that you specified for the directory bucket's default encryption configuration.</p></li>  <li>   <p><b>S3 access points for Amazon FSx </b> - When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>. All Amazon FSx file systems have encryption configured by default and are encrypted at rest. Data is automatically encrypted before being written to the file system, and automatically decrypted as it is read. These processes are handled transparently by Amazon FSx.</p></li> </ul><br>
          28  +
    ///   - [`server_side_encryption(ServerSideEncryption)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::server_side_encryption) / [`set_server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_server_side_encryption):<br>required: **false**<br><p>The server-side encryption algorithm used when storing this object in Amazon S3. Unrecognized or unsupported values won’t write a destination object and will receive a <code>400 Bad Request</code> response.</p> <p>Amazon S3 automatically encrypts all new objects that are copied to an S3 bucket. When copying an object, if you don't specify encryption information in your copy request, the encryption setting of the target object is set to the default encryption configuration of the destination bucket. By default, all buckets have a base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a different default encryption configuration, Amazon S3 uses the corresponding encryption key to encrypt the target object copy.</p> <p>With server-side encryption, Amazon S3 encrypts your data as it writes your data to disks in its data centers and decrypts the data when you access it. For more information about server-side encryption, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html">Using Server-Side Encryption</a> in the <i>Amazon S3 User Guide</i>.</p> <p><b>General purpose buckets </b></p> <ul>  <li>   <p>For general purpose buckets, there are the following supported options for server-side encryption: server-side encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), and server-side encryption with customer-provided encryption keys (SSE-C). Amazon S3 uses the corresponding KMS key, or a customer-provided key to encrypt the target object copy.</p></li>  <li>   <p>When you perform a <code>CopyObject</code> operation, if you want to use a different type of encryption setting for the target object, you can specify appropriate encryption-related headers to encrypt the target object with an Amazon S3 managed key, a KMS key, or a customer-provided key. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence.</p></li> </ul> <p><b>Directory buckets </b></p> <ul>  <li>   <p>For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) and server-side encryption with KMS keys (SSE-KMS) (<code>aws:kms</code>). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your <code>CreateSession</code> requests or <code>PUT</code> object requests. Then, new objects are automatically encrypted with the desired encryption settings. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html">Protecting data with server-side encryption</a> in the <i>Amazon S3 User Guide</i>. For more information about the encryption overriding behaviors in directory buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html">Specifying server-side encryption with KMS for new object uploads</a>.</p></li>  <li>   <p>To encrypt new object copies to a directory bucket with SSE-KMS, we recommend you specify SSE-KMS as the directory bucket's default encryption configuration with a KMS key (specifically, a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a>). The <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported. Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket for the lifetime of the bucket. After you specify a customer managed key for SSE-KMS, you can't override the customer managed key for the bucket's SSE-KMS configuration. Then, when you perform a <code>CopyObject</code> operation and want to specify server-side encryption settings for new object copies with SSE-KMS in the encryption-related request headers, you must ensure the encryption key is the same customer managed key that you specified for the directory bucket's default encryption configuration.</p></li> </ul><br>
   29     29   
    ///   - [`storage_class(StorageClass)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::storage_class) / [`set_storage_class(Option<StorageClass>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_storage_class):<br>required: **false**<br><p>If the <code>x-amz-storage-class</code> header is not used, the copied object will be stored in the <code>STANDARD</code> Storage Class by default. The <code>STANDARD</code> storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class.</p><note>  <ul>   <li>    <p><b>Directory buckets </b> - Directory buckets only support <code>EXPRESS_ONEZONE</code> (the S3 Express One Zone storage class) in Availability Zones and <code>ONEZONE_IA</code> (the S3 One Zone-Infrequent Access storage class) in Dedicated Local Zones. Unsupported storage class values won't write a destination object and will respond with the HTTP status code <code>400 Bad Request</code>.</p></li>   <li>    <p><b>Amazon S3 on Outposts </b> - S3 on Outposts only uses the <code>OUTPOSTS</code> Storage Class.</p></li>  </ul> </note> <p>You can use the <code>CopyObject</code> action to change the storage class of an object that is already stored in Amazon S3 by using the <code>x-amz-storage-class</code> header. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a> in the <i>Amazon S3 User Guide</i>.</p> <p>Before using an object as a source object for the copy operation, you must restore a copy of it if it meets any of the following conditions:</p> <ul>  <li>   <p>The storage class of the source object is <code>GLACIER</code> or <code>DEEP_ARCHIVE</code>.</p></li>  <li>   <p>The storage class of the source object is <code>INTELLIGENT_TIERING</code> and it's <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering-overview.html#intel-tiering-tier-definition">S3 Intelligent-Tiering access tier</a> is <code>Archive Access</code> or <code>Deep Archive Access</code>.</p></li> </ul> <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html">Copying Objects</a> in the <i>Amazon S3 User Guide</i>.</p><br>
   30     30   
    ///   - [`website_redirect_location(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::website_redirect_location) / [`set_website_redirect_location(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_website_redirect_location):<br>required: **false**<br><p>If the destination bucket is configured as a website, redirects requests for this object copy to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata. This value is unique to each object and is not copied when using the <code>x-amz-metadata-directive</code> header. Instead, you may opt to provide this header in combination with the <code>x-amz-metadata-directive</code> header.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   31     31   
    ///   - [`sse_customer_algorithm(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::sse_customer_algorithm) / [`set_sse_customer_algorithm(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_sse_customer_algorithm):<br>required: **false**<br><p>Specifies the algorithm to use when encrypting the object (for example, <code>AES256</code>).</p> <p>When you perform a <code>CopyObject</code> operation, if you want to use a different type of encryption setting for the target object, you can specify appropriate encryption-related headers to encrypt the target object with an Amazon S3 managed key, a KMS key, or a customer-provided key. If the encryption setting in your request is different from the default encryption configuration of the destination bucket, the encryption setting in your request takes precedence.</p><note>  <p>This functionality is not supported when the destination bucket is a directory bucket.</p> </note><br>
   32     32   
    ///   - [`sse_customer_key(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::sse_customer_key) / [`set_sse_customer_key(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_sse_customer_key):<br>required: **false**<br><p>Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded. Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p><note>  <p>This functionality is not supported when the destination bucket is a directory bucket.</p> </note><br>
   33     33   
    ///   - [`sse_customer_key_md5(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::sse_customer_key_md5) / [`set_sse_customer_key_md5(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_sse_customer_key_md5):<br>required: **false**<br><p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.</p><note>  <p>This functionality is not supported when the destination bucket is a directory bucket.</p> </note><br>
   34     34   
    ///   - [`ssekms_key_id(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::ssekms_key_id) / [`set_ssekms_key_id(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_ssekms_key_id):<br>required: **false**<br><p>Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for object encryption. All GET and PUT requests for an object protected by KMS will fail if they're not made via SSL or using SigV4. For information about configuring any of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version">Specifying the Signature Version in Request Authentication</a> in the <i>Amazon S3 User Guide</i>.</p> <p><b>Directory buckets</b> - To encrypt data using SSE-KMS, it's recommended to specify the <code>x-amz-server-side-encryption</code> header to <code>aws:kms</code>. Then, the <code>x-amz-server-side-encryption-aws-kms-key-id</code> header implicitly uses the bucket's default KMS customer managed key ID. If you want to explicitly set the <code> x-amz-server-side-encryption-aws-kms-key-id</code> header, it must match the bucket's default customer managed key (using key ID or ARN, not alias). Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket's lifetime. The <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported. Incorrect key specification results in an HTTP <code>400 Bad Request</code> error.</p><br>
   35     35   
    ///   - [`ssekms_encryption_context(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::ssekms_encryption_context) / [`set_ssekms_encryption_context(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_ssekms_encryption_context):<br>required: **false**<br><p>Specifies the Amazon Web Services KMS Encryption Context as an additional encryption context to use for the destination object encryption. The value of this header is a base64-encoded UTF-8 string holding JSON with the encryption context key-value pairs.</p> <p><b>General purpose buckets</b> - This value must be explicitly added to specify encryption context for <code>CopyObject</code> requests if you want an additional encryption context for your destination object. The additional encryption context of the source object won't be copied to the destination object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context">Encryption context</a> in the <i>Amazon S3 User Guide</i>.</p> <p><b>Directory buckets</b> - You can optionally provide an explicit encryption context value. The value must match the default encryption context - the bucket Amazon Resource Name (ARN). An additional encryption context value is not supported.</p><br>
   36     36   
    ///   - [`bucket_key_enabled(bool)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::bucket_key_enabled) / [`set_bucket_key_enabled(Option<bool>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_bucket_key_enabled):<br>required: **false**<br><p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption using Key Management Service (KMS) keys (SSE-KMS). If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object.</p> <p>Setting this header to <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS. Specifying this header with a COPY action doesn’t affect bucket-level settings for S3 Bucket Key.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html">Amazon S3 Bucket Keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>  <p><b>Directory buckets</b> - S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a>. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.</p> </note><br>
   37     37   
    ///   - [`copy_source_sse_customer_algorithm(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::copy_source_sse_customer_algorithm) / [`set_copy_source_sse_customer_algorithm(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_copy_source_sse_customer_algorithm):<br>required: **false**<br><p>Specifies the algorithm to use when decrypting the source object (for example, <code>AES256</code>).</p> <p>If the source object for the copy is stored in Amazon S3 using SSE-C, you must provide the necessary encryption information in your request so that Amazon S3 can decrypt the object for copying.</p><note>  <p>This functionality is not supported when the source object is in a directory bucket.</p> </note><br>
   38     38   
    ///   - [`copy_source_sse_customer_key(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::copy_source_sse_customer_key) / [`set_copy_source_sse_customer_key(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_copy_source_sse_customer_key):<br>required: **false**<br><p>Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be the same one that was used when the source object was created.</p> <p>If the source object for the copy is stored in Amazon S3 using SSE-C, you must provide the necessary encryption information in your request so that Amazon S3 can decrypt the object for copying.</p><note>  <p>This functionality is not supported when the source object is in a directory bucket.</p> </note><br>
   39     39   
    ///   - [`copy_source_sse_customer_key_md5(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::copy_source_sse_customer_key_md5) / [`set_copy_source_sse_customer_key_md5(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_copy_source_sse_customer_key_md5):<br>required: **false**<br><p>Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.</p> <p>If the source object for the copy is stored in Amazon S3 using SSE-C, you must provide the necessary encryption information in your request so that Amazon S3 can decrypt the object for copying.</p><note>  <p>This functionality is not supported when the source object is in a directory bucket.</p> </note><br>
   40     40   
    ///   - [`request_payer(RequestPayer)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::request_payer) / [`set_request_payer(Option<RequestPayer>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_request_payer):<br>required: **false**<br><p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   41     41   
    ///   - [`tagging(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::tagging) / [`set_tagging(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_tagging):<br>required: **false**<br><p>The tag-set for the object copy in the destination bucket. This value must be used in conjunction with the <code>x-amz-tagging-directive</code> if you choose <code>REPLACE</code> for the <code>x-amz-tagging-directive</code>. If you choose <code>COPY</code> for the <code>x-amz-tagging-directive</code>, you don't need to set the <code>x-amz-tagging</code> header, because the tag-set will be copied from the source object directly. The tag-set must be encoded as URL Query parameters.</p> <p>The default value is the empty value.</p><note>  <p><b>Directory buckets</b> - For directory buckets in a <code>CopyObject</code> operation, only the empty tag-set is supported. Any requests that attempt to write non-empty tags into directory buckets will receive a <code>501 Not Implemented</code> status code. When the destination bucket is a directory bucket, you will receive a <code>501 Not Implemented</code> response in any of the following situations:</p>  <ul>   <li>    <p>When you attempt to <code>COPY</code> the tag-set from an S3 source object that has non-empty tags.</p></li>   <li>    <p>When you attempt to <code>REPLACE</code> the tag-set of a source object and set a non-empty value to <code>x-amz-tagging</code>.</p></li>   <li>    <p>When you don't set the <code>x-amz-tagging-directive</code> header and the source object has non-empty tags. This is because the default value of <code>x-amz-tagging-directive</code> is <code>COPY</code>.</p></li>  </ul>  <p>Because only the empty tag-set is supported for directory buckets in a <code>CopyObject</code> operation, the following situations are allowed:</p>  <ul>   <li>    <p>When you attempt to <code>COPY</code> the tag-set from a directory bucket source object that has no tags to a general purpose bucket. It copies an empty tag-set to the destination object.</p></li>   <li>    <p>When you attempt to <code>REPLACE</code> the tag-set of a directory bucket source object and set the <code>x-amz-tagging</code> value of the directory bucket destination object to empty.</p></li>   <li>    <p>When you attempt to <code>REPLACE</code> the tag-set of a general purpose bucket source object that has non-empty tags and set the <code>x-amz-tagging</code> value of the directory bucket destination object to empty.</p></li>   <li>    <p>When you attempt to <code>REPLACE</code> the tag-set of a directory bucket source object and don't set the <code>x-amz-tagging</code> value of the directory bucket destination object. This is because the default value of <code>x-amz-tagging</code> is the empty value.</p></li>  </ul> </note><br>
   42     42   
    ///   - [`object_lock_mode(ObjectLockMode)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::object_lock_mode) / [`set_object_lock_mode(Option<ObjectLockMode>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_object_lock_mode):<br>required: **false**<br><p>The Object Lock mode that you want to apply to the object copy.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   43     43   
    ///   - [`object_lock_retain_until_date(DateTime)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::object_lock_retain_until_date) / [`set_object_lock_retain_until_date(Option<DateTime>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_object_lock_retain_until_date):<br>required: **false**<br><p>The date and time when you want the Object Lock of the object copy to expire.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   44     44   
    ///   - [`object_lock_legal_hold_status(ObjectLockLegalHoldStatus)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::object_lock_legal_hold_status) / [`set_object_lock_legal_hold_status(Option<ObjectLockLegalHoldStatus>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_object_lock_legal_hold_status):<br>required: **false**<br><p>Specifies whether you want to apply a legal hold to the object copy.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   45     45   
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The account ID of the expected destination bucket owner. If the account ID that you provide does not match the actual owner of the destination bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p><br>
   46     46   
    ///   - [`expected_source_bucket_owner(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::expected_source_bucket_owner) / [`set_expected_source_bucket_owner(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_expected_source_bucket_owner):<br>required: **false**<br><p>The account ID of the expected source bucket owner. If the account ID that you provide does not match the actual owner of the source bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p><br>
   47     47   
    /// - On success, responds with [`CopyObjectOutput`](crate::operation::copy_object::CopyObjectOutput) with field(s):
   48     48   
    ///   - [`copy_object_result(Option<CopyObjectResult>)`](crate::operation::copy_object::CopyObjectOutput::copy_object_result): <p>Container for all response elements.</p>
   49     49   
    ///   - [`expiration(Option<String>)`](crate::operation::copy_object::CopyObjectOutput::expiration): <p>If the object expiration is configured, the response includes this header.</p><note>  <p>Object expiration information is not returned in directory buckets and this header returns the value "<code>NotImplemented</code>" in all responses for directory buckets.</p> </note>
   50     50   
    ///   - [`copy_source_version_id(Option<String>)`](crate::operation::copy_object::CopyObjectOutput::copy_source_version_id): <p>Version ID of the source object that was copied.</p><note>  <p>This functionality is not supported when the source object is in a directory bucket.</p> </note>
   51     51   
    ///   - [`version_id(Option<String>)`](crate::operation::copy_object::CopyObjectOutput::version_id): <p>Version ID of the newly created copy.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   52         -
    ///   - [`server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::copy_object::CopyObjectOutput::server_side_encryption): <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>  <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p> </note>
          52  +
    ///   - [`server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::copy_object::CopyObjectOutput::server_side_encryption): <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p>
   53     53   
    ///   - [`sse_customer_algorithm(Option<String>)`](crate::operation::copy_object::CopyObjectOutput::sse_customer_algorithm): <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   54     54   
    ///   - [`sse_customer_key_md5(Option<String>)`](crate::operation::copy_object::CopyObjectOutput::sse_customer_key_md5): <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   55     55   
    ///   - [`ssekms_key_id(Option<String>)`](crate::operation::copy_object::CopyObjectOutput::ssekms_key_id): <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
   56     56   
    ///   - [`ssekms_encryption_context(Option<String>)`](crate::operation::copy_object::CopyObjectOutput::ssekms_encryption_context): <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64 encoded UTF-8 string holding JSON with the encryption context key-value pairs.</p>
   57     57   
    ///   - [`bucket_key_enabled(Option<bool>)`](crate::operation::copy_object::CopyObjectOutput::bucket_key_enabled): <p>Indicates whether the copied object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
   58     58   
    ///   - [`request_charged(Option<RequestCharged>)`](crate::operation::copy_object::CopyObjectOutput::request_charged): <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   59     59   
    /// - On failure, responds with [`SdkError<CopyObjectError>`](crate::operation::copy_object::CopyObjectError)
   60     60   
    pub fn copy_object(&self) -> crate::operation::copy_object::builders::CopyObjectFluentBuilder {
   61     61   
        crate::operation::copy_object::builders::CopyObjectFluentBuilder::new(self.handle.clone())
   62     62   
    }

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/create_bucket.rs

@@ -1,1 +23,22 @@
    8      8   
    ///   - [`create_bucket_configuration(CreateBucketConfiguration)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::create_bucket_configuration) / [`set_create_bucket_configuration(Option<CreateBucketConfiguration>)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::set_create_bucket_configuration):<br>required: **false**<br><p>The configuration information for the bucket.</p><br>
    9      9   
    ///   - [`grant_full_control(impl Into<String>)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::grant_full_control) / [`set_grant_full_control(Option<String>)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::set_grant_full_control):<br>required: **false**<br><p>Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   10     10   
    ///   - [`grant_read(impl Into<String>)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::grant_read) / [`set_grant_read(Option<String>)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::set_grant_read):<br>required: **false**<br><p>Allows grantee to list the objects in the bucket.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   11     11   
    ///   - [`grant_read_acp(impl Into<String>)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::grant_read_acp) / [`set_grant_read_acp(Option<String>)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::set_grant_read_acp):<br>required: **false**<br><p>Allows grantee to read the bucket ACL.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   12     12   
    ///   - [`grant_write(impl Into<String>)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::grant_write) / [`set_grant_write(Option<String>)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::set_grant_write):<br>required: **false**<br><p>Allows grantee to create new objects in the bucket.</p> <p>For the bucket and object owners of existing objects, also allows deletions and overwrites of those objects.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   13     13   
    ///   - [`grant_write_acp(impl Into<String>)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::grant_write_acp) / [`set_grant_write_acp(Option<String>)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::set_grant_write_acp):<br>required: **false**<br><p>Allows grantee to write the ACL for the applicable bucket.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   14     14   
    ///   - [`object_lock_enabled_for_bucket(bool)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::object_lock_enabled_for_bucket) / [`set_object_lock_enabled_for_bucket(Option<bool>)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::set_object_lock_enabled_for_bucket):<br>required: **false**<br><p>Specifies whether you want S3 Object Lock to be enabled for the new bucket.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   15     15   
    ///   - [`object_ownership(ObjectOwnership)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::object_ownership) / [`set_object_ownership(Option<ObjectOwnership>)`](crate::operation::create_bucket::builders::CreateBucketFluentBuilder::set_object_ownership):<br>required: **false**<br><p>The container element for object ownership for a bucket's ownership controls.</p> <p><code>BucketOwnerPreferred</code> - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the <code>bucket-owner-full-control</code> canned ACL.</p> <p><code>ObjectWriter</code> - The uploading account will own the object if the object is uploaded with the <code>bucket-owner-full-control</code> canned ACL.</p> <p><code>BucketOwnerEnforced</code> - Access control lists (ACLs) are disabled and no longer affect permissions. The bucket owner automatically owns and has full control over every object in the bucket. The bucket only accepts PUT requests that don't specify an ACL or specify bucket owner full control ACLs (such as the predefined <code>bucket-owner-full-control</code> canned ACL or a custom ACL in XML format that grants the same permissions).</p> <p>By default, <code>ObjectOwnership</code> is set to <code>BucketOwnerEnforced</code> and ACLs are disabled. We recommend keeping ACLs disabled, except in uncommon use cases where you must control access for each object individually. For more information about S3 Object Ownership, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html">Controlling ownership of objects and disabling ACLs for your bucket</a> in the <i>Amazon S3 User Guide</i>.</p><note>  <p>This functionality is not supported for directory buckets. Directory buckets use the bucket owner enforced setting for S3 Object Ownership.</p> </note><br>
   16     16   
    /// - On success, responds with [`CreateBucketOutput`](crate::operation::create_bucket::CreateBucketOutput) with field(s):
   17     17   
    ///   - [`location(Option<String>)`](crate::operation::create_bucket::CreateBucketOutput::location): <p>A forward slash followed by the name of the bucket.</p>
   18         -
    ///   - [`bucket_arn(Option<String>)`](crate::operation::create_bucket::CreateBucketOutput::bucket_arn): <p>The Amazon Resource Name (ARN) of the S3 bucket. ARNs uniquely identify Amazon Web Services resources across all of Amazon Web Services.</p><note>  <p>This parameter is only supported for S3 directory buckets. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html">Using tags with directory buckets</a>.</p> </note>
   19     18   
    /// - On failure, responds with [`SdkError<CreateBucketError>`](crate::operation::create_bucket::CreateBucketError)
   20     19   
    pub fn create_bucket(&self) -> crate::operation::create_bucket::builders::CreateBucketFluentBuilder {
   21     20   
        crate::operation::create_bucket::builders::CreateBucketFluentBuilder::new(self.handle.clone())
   22     21   
    }
   23     22   
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/create_bucket_metadata_configuration.rs

@@ -1,0 +18,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
impl super::Client {
    3         -
    /// Constructs a fluent builder for the [`CreateBucketMetadataConfiguration`](crate::operation::create_bucket_metadata_configuration::builders::CreateBucketMetadataConfigurationFluentBuilder) operation.
    4         -
    ///
    5         -
    /// - The fluent builder is configurable:
    6         -
    ///   - [`bucket(impl Into<String>)`](crate::operation::create_bucket_metadata_configuration::builders::CreateBucketMetadataConfigurationFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::create_bucket_metadata_configuration::builders::CreateBucketMetadataConfigurationFluentBuilder::set_bucket):<br>required: **true**<br><p>The general purpose bucket that you want to create the metadata configuration for.</p><br>
    7         -
    ///   - [`content_md5(impl Into<String>)`](crate::operation::create_bucket_metadata_configuration::builders::CreateBucketMetadataConfigurationFluentBuilder::content_md5) / [`set_content_md5(Option<String>)`](crate::operation::create_bucket_metadata_configuration::builders::CreateBucketMetadataConfigurationFluentBuilder::set_content_md5):<br>required: **false**<br><p>The <code>Content-MD5</code> header for the metadata configuration.</p><br>
    8         -
    ///   - [`checksum_algorithm(ChecksumAlgorithm)`](crate::operation::create_bucket_metadata_configuration::builders::CreateBucketMetadataConfigurationFluentBuilder::checksum_algorithm) / [`set_checksum_algorithm(Option<ChecksumAlgorithm>)`](crate::operation::create_bucket_metadata_configuration::builders::CreateBucketMetadataConfigurationFluentBuilder::set_checksum_algorithm):<br>required: **false**<br><p>The checksum algorithm to use with your metadata configuration.</p><br>
    9         -
    ///   - [`metadata_configuration(MetadataConfiguration)`](crate::operation::create_bucket_metadata_configuration::builders::CreateBucketMetadataConfigurationFluentBuilder::metadata_configuration) / [`set_metadata_configuration(Option<MetadataConfiguration>)`](crate::operation::create_bucket_metadata_configuration::builders::CreateBucketMetadataConfigurationFluentBuilder::set_metadata_configuration):<br>required: **true**<br><p>The contents of your metadata configuration.</p><br>
   10         -
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::create_bucket_metadata_configuration::builders::CreateBucketMetadataConfigurationFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::create_bucket_metadata_configuration::builders::CreateBucketMetadataConfigurationFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The expected owner of the general purpose bucket that corresponds to your metadata configuration.</p><br>
   11         -
    /// - On success, responds with [`CreateBucketMetadataConfigurationOutput`](crate::operation::create_bucket_metadata_configuration::CreateBucketMetadataConfigurationOutput)
   12         -
    /// - On failure, responds with [`SdkError<CreateBucketMetadataConfigurationError>`](crate::operation::create_bucket_metadata_configuration::CreateBucketMetadataConfigurationError)
   13         -
    pub fn create_bucket_metadata_configuration(
   14         -
        &self,
   15         -
    ) -> crate::operation::create_bucket_metadata_configuration::builders::CreateBucketMetadataConfigurationFluentBuilder {
   16         -
        crate::operation::create_bucket_metadata_configuration::builders::CreateBucketMetadataConfigurationFluentBuilder::new(self.handle.clone())
   17         -
    }
   18         -
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/create_bucket_metadata_table_configuration.rs

@@ -1,1 +20,20 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
impl super::Client {
    3      3   
    /// Constructs a fluent builder for the [`CreateBucketMetadataTableConfiguration`](crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder) operation.
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6         -
    ///   - [`bucket(impl Into<String>)`](crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder::set_bucket):<br>required: **true**<br><p>The general purpose bucket that you want to create the metadata table configuration for.</p><br>
           6  +
    ///   - [`bucket(impl Into<String>)`](crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder::set_bucket):<br>required: **true**<br><p>The general purpose bucket that you want to create the metadata table configuration in.</p><br>
    7      7   
    ///   - [`content_md5(impl Into<String>)`](crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder::content_md5) / [`set_content_md5(Option<String>)`](crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder::set_content_md5):<br>required: **false**<br><p>The <code>Content-MD5</code> header for the metadata table configuration.</p><br>
    8      8   
    ///   - [`checksum_algorithm(ChecksumAlgorithm)`](crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder::checksum_algorithm) / [`set_checksum_algorithm(Option<ChecksumAlgorithm>)`](crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder::set_checksum_algorithm):<br>required: **false**<br><p>The checksum algorithm to use with your metadata table configuration.</p><br>
    9      9   
    ///   - [`metadata_table_configuration(MetadataTableConfiguration)`](crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder::metadata_table_configuration) / [`set_metadata_table_configuration(Option<MetadataTableConfiguration>)`](crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder::set_metadata_table_configuration):<br>required: **true**<br><p>The contents of your metadata table configuration.</p><br>
   10         -
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The expected owner of the general purpose bucket that corresponds to your metadata table configuration.</p><br>
          10  +
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The expected owner of the general purpose bucket that contains your metadata table configuration.</p><br>
   11     11   
    /// - On success, responds with [`CreateBucketMetadataTableConfigurationOutput`](crate::operation::create_bucket_metadata_table_configuration::CreateBucketMetadataTableConfigurationOutput)
   12     12   
    /// - On failure, responds with [`SdkError<CreateBucketMetadataTableConfigurationError>`](crate::operation::create_bucket_metadata_table_configuration::CreateBucketMetadataTableConfigurationError)
   13     13   
    pub fn create_bucket_metadata_table_configuration(
   14     14   
        &self,
   15     15   
    ) -> crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder {
   16     16   
        crate::operation::create_bucket_metadata_table_configuration::builders::CreateBucketMetadataTableConfigurationFluentBuilder::new(
   17     17   
            self.handle.clone(),
   18     18   
        )
   19     19   
    }
   20     20   
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/create_multipart_upload.rs

@@ -1,1 +56,56 @@
   10     10   
    ///   - [`content_encoding(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::content_encoding) / [`set_content_encoding(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_content_encoding):<br>required: **false**<br><p>Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.</p><note>  <p>For directory buckets, only the <code>aws-chunked</code> value is supported in this header field.</p> </note><br>
   11     11   
    ///   - [`content_language(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::content_language) / [`set_content_language(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_content_language):<br>required: **false**<br><p>The language that the content is in.</p><br>
   12     12   
    ///   - [`content_type(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::content_type) / [`set_content_type(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_content_type):<br>required: **false**<br><p>A standard MIME type describing the format of the object data.</p><br>
   13     13   
    ///   - [`expires(DateTime)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::expires) / [`set_expires(Option<DateTime>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_expires):<br>required: **false**<br><p>The date and time at which the object is no longer cacheable.</p><br>
   14     14   
    ///   - [`grant_full_control(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::grant_full_control) / [`set_grant_full_control(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_grant_full_control):<br>required: **false**<br><p>Specify access permissions explicitly to give the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.</p> <p>By default, all objects are private. Only the owner has full access control. When uploading an object, you can use this header to explicitly grant access permissions to specific Amazon Web Services accounts or groups. This header maps to specific permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access Control List (ACL) Overview</a> in the <i>Amazon S3 User Guide</i>.</p> <p>You specify each grantee as a type=value pair, where the type is one of the following:</p> <ul>  <li>   <p><code>id</code> – if the value specified is the canonical user ID of an Amazon Web Services account</p></li>  <li>   <p><code>uri</code> – if you are granting permissions to a predefined group</p></li>  <li>   <p><code>emailAddress</code> – if the value specified is the email address of an Amazon Web Services account</p><note>    <p>Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:</p>    <ul>     <li>      <p>US East (N. Virginia)</p></li>     <li>      <p>US West (N. California)</p></li>     <li>      <p>US West (Oregon)</p></li>     <li>      <p>Asia Pacific (Singapore)</p></li>     <li>      <p>Asia Pacific (Sydney)</p></li>     <li>      <p>Asia Pacific (Tokyo)</p></li>     <li>      <p>Europe (Ireland)</p></li>     <li>      <p>South America (São Paulo)</p></li>    </ul>    <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions and Endpoints</a> in the Amazon Web Services General Reference.</p>   </note></li> </ul> <p>For example, the following <code>x-amz-grant-read</code> header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:</p> <p><code>x-amz-grant-read: id="11112222333", id="444455556666" </code></p><note>  <ul>   <li>    <p>This functionality is not supported for directory buckets.</p></li>   <li>    <p>This functionality is not supported for Amazon S3 on Outposts.</p></li>  </ul> </note><br>
   15     15   
    ///   - [`grant_read(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::grant_read) / [`set_grant_read(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_grant_read):<br>required: **false**<br><p>Specify access permissions explicitly to allow grantee to read the object data and its metadata.</p> <p>By default, all objects are private. Only the owner has full access control. When uploading an object, you can use this header to explicitly grant access permissions to specific Amazon Web Services accounts or groups. This header maps to specific permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access Control List (ACL) Overview</a> in the <i>Amazon S3 User Guide</i>.</p> <p>You specify each grantee as a type=value pair, where the type is one of the following:</p> <ul>  <li>   <p><code>id</code> – if the value specified is the canonical user ID of an Amazon Web Services account</p></li>  <li>   <p><code>uri</code> – if you are granting permissions to a predefined group</p></li>  <li>   <p><code>emailAddress</code> – if the value specified is the email address of an Amazon Web Services account</p><note>    <p>Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:</p>    <ul>     <li>      <p>US East (N. Virginia)</p></li>     <li>      <p>US West (N. California)</p></li>     <li>      <p>US West (Oregon)</p></li>     <li>      <p>Asia Pacific (Singapore)</p></li>     <li>      <p>Asia Pacific (Sydney)</p></li>     <li>      <p>Asia Pacific (Tokyo)</p></li>     <li>      <p>Europe (Ireland)</p></li>     <li>      <p>South America (São Paulo)</p></li>    </ul>    <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions and Endpoints</a> in the Amazon Web Services General Reference.</p>   </note></li> </ul> <p>For example, the following <code>x-amz-grant-read</code> header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:</p> <p><code>x-amz-grant-read: id="11112222333", id="444455556666" </code></p><note>  <ul>   <li>    <p>This functionality is not supported for directory buckets.</p></li>   <li>    <p>This functionality is not supported for Amazon S3 on Outposts.</p></li>  </ul> </note><br>
   16     16   
    ///   - [`grant_read_acp(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::grant_read_acp) / [`set_grant_read_acp(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_grant_read_acp):<br>required: **false**<br><p>Specify access permissions explicitly to allows grantee to read the object ACL.</p> <p>By default, all objects are private. Only the owner has full access control. When uploading an object, you can use this header to explicitly grant access permissions to specific Amazon Web Services accounts or groups. This header maps to specific permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access Control List (ACL) Overview</a> in the <i>Amazon S3 User Guide</i>.</p> <p>You specify each grantee as a type=value pair, where the type is one of the following:</p> <ul>  <li>   <p><code>id</code> – if the value specified is the canonical user ID of an Amazon Web Services account</p></li>  <li>   <p><code>uri</code> – if you are granting permissions to a predefined group</p></li>  <li>   <p><code>emailAddress</code> – if the value specified is the email address of an Amazon Web Services account</p><note>    <p>Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:</p>    <ul>     <li>      <p>US East (N. Virginia)</p></li>     <li>      <p>US West (N. California)</p></li>     <li>      <p>US West (Oregon)</p></li>     <li>      <p>Asia Pacific (Singapore)</p></li>     <li>      <p>Asia Pacific (Sydney)</p></li>     <li>      <p>Asia Pacific (Tokyo)</p></li>     <li>      <p>Europe (Ireland)</p></li>     <li>      <p>South America (São Paulo)</p></li>    </ul>    <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions and Endpoints</a> in the Amazon Web Services General Reference.</p>   </note></li> </ul> <p>For example, the following <code>x-amz-grant-read</code> header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:</p> <p><code>x-amz-grant-read: id="11112222333", id="444455556666" </code></p><note>  <ul>   <li>    <p>This functionality is not supported for directory buckets.</p></li>   <li>    <p>This functionality is not supported for Amazon S3 on Outposts.</p></li>  </ul> </note><br>
   17     17   
    ///   - [`grant_write_acp(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::grant_write_acp) / [`set_grant_write_acp(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_grant_write_acp):<br>required: **false**<br><p>Specify access permissions explicitly to allows grantee to allow grantee to write the ACL for the applicable object.</p> <p>By default, all objects are private. Only the owner has full access control. When uploading an object, you can use this header to explicitly grant access permissions to specific Amazon Web Services accounts or groups. This header maps to specific permissions that Amazon S3 supports in an ACL. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html">Access Control List (ACL) Overview</a> in the <i>Amazon S3 User Guide</i>.</p> <p>You specify each grantee as a type=value pair, where the type is one of the following:</p> <ul>  <li>   <p><code>id</code> – if the value specified is the canonical user ID of an Amazon Web Services account</p></li>  <li>   <p><code>uri</code> – if you are granting permissions to a predefined group</p></li>  <li>   <p><code>emailAddress</code> – if the value specified is the email address of an Amazon Web Services account</p><note>    <p>Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:</p>    <ul>     <li>      <p>US East (N. Virginia)</p></li>     <li>      <p>US West (N. California)</p></li>     <li>      <p>US West (Oregon)</p></li>     <li>      <p>Asia Pacific (Singapore)</p></li>     <li>      <p>Asia Pacific (Sydney)</p></li>     <li>      <p>Asia Pacific (Tokyo)</p></li>     <li>      <p>Europe (Ireland)</p></li>     <li>      <p>South America (São Paulo)</p></li>    </ul>    <p>For a list of all the Amazon S3 supported Regions and endpoints, see <a href="https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region">Regions and Endpoints</a> in the Amazon Web Services General Reference.</p>   </note></li> </ul> <p>For example, the following <code>x-amz-grant-read</code> header grants the Amazon Web Services accounts identified by account IDs permissions to read object data and its metadata:</p> <p><code>x-amz-grant-read: id="11112222333", id="444455556666" </code></p><note>  <ul>   <li>    <p>This functionality is not supported for directory buckets.</p></li>   <li>    <p>This functionality is not supported for Amazon S3 on Outposts.</p></li>  </ul> </note><br>
   18     18   
    ///   - [`key(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::key) / [`set_key(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_key):<br>required: **true**<br><p>Object key for which the multipart upload is to be initiated.</p><br>
   19     19   
    ///   - [`metadata(impl Into<String>, impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::metadata) / [`set_metadata(Option<HashMap::<String, String>>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_metadata):<br>required: **false**<br><p>A map of metadata to store with the object in S3.</p><br>
   20         -
    ///   - [`server_side_encryption(ServerSideEncryption)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::server_side_encryption) / [`set_server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_server_side_encryption):<br>required: **false**<br><p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p> <ul>  <li>   <p><b>Directory buckets </b> - For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) and server-side encryption with KMS keys (SSE-KMS) (<code>aws:kms</code>). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your <code>CreateSession</code> requests or <code>PUT</code> object requests. Then, new objects are automatically encrypted with the desired encryption settings. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html">Protecting data with server-side encryption</a> in the <i>Amazon S3 User Guide</i>. For more information about the encryption overriding behaviors in directory buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html">Specifying server-side encryption with KMS for new object uploads</a>.</p>   <p>In the Zonal endpoint API calls (except <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a>) using the REST API, the encryption request headers must match the encryption settings that are specified in the <code>CreateSession</code> request. You can't override the values of the encryption settings (<code>x-amz-server-side-encryption</code>, <code>x-amz-server-side-encryption-aws-kms-key-id</code>, <code>x-amz-server-side-encryption-context</code>, and <code>x-amz-server-side-encryption-bucket-key-enabled</code>) that are specified in the <code>CreateSession</code> request. You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and Amazon S3 will use the encryption settings values from the <code>CreateSession</code> request to protect new objects in the directory bucket.</p><note>    <p>When you use the CLI or the Amazon Web Services SDKs, for <code>CreateSession</code>, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the <code>CreateSession</code> request. It's not supported to override the encryption settings values in the <code>CreateSession</code> request. So in the Zonal endpoint API calls (except <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a>), the encryption request headers must match the default encryption configuration of the directory bucket.</p>   </note></li>  <li>   <p><b>S3 access points for Amazon FSx </b> - When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>. All Amazon FSx file systems have encryption configured by default and are encrypted at rest. Data is automatically encrypted before being written to the file system, and automatically decrypted as it is read. These processes are handled transparently by Amazon FSx.</p></li> </ul><br>
          20  +
    ///   - [`server_side_encryption(ServerSideEncryption)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::server_side_encryption) / [`set_server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_server_side_encryption):<br>required: **false**<br><p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p> <ul>  <li>   <p><b>Directory buckets </b> - For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) and server-side encryption with KMS keys (SSE-KMS) (<code>aws:kms</code>). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your <code>CreateSession</code> requests or <code>PUT</code> object requests. Then, new objects are automatically encrypted with the desired encryption settings. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html">Protecting data with server-side encryption</a> in the <i>Amazon S3 User Guide</i>. For more information about the encryption overriding behaviors in directory buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html">Specifying server-side encryption with KMS for new object uploads</a>.</p>   <p>In the Zonal endpoint API calls (except <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a>) using the REST API, the encryption request headers must match the encryption settings that are specified in the <code>CreateSession</code> request. You can't override the values of the encryption settings (<code>x-amz-server-side-encryption</code>, <code>x-amz-server-side-encryption-aws-kms-key-id</code>, <code>x-amz-server-side-encryption-context</code>, and <code>x-amz-server-side-encryption-bucket-key-enabled</code>) that are specified in the <code>CreateSession</code> request. You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and Amazon S3 will use the encryption settings values from the <code>CreateSession</code> request to protect new objects in the directory bucket.</p><note>    <p>When you use the CLI or the Amazon Web Services SDKs, for <code>CreateSession</code>, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the <code>CreateSession</code> request. It's not supported to override the encryption settings values in the <code>CreateSession</code> request. So in the Zonal endpoint API calls (except <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a>), the encryption request headers must match the default encryption configuration of the directory bucket.</p>   </note></li> </ul><br>
   21     21   
    ///   - [`storage_class(StorageClass)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::storage_class) / [`set_storage_class(Option<StorageClass>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_storage_class):<br>required: **false**<br><p>By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a> in the <i>Amazon S3 User Guide</i>.</p><note>  <ul>   <li>    <p>Directory buckets only support <code>EXPRESS_ONEZONE</code> (the S3 Express One Zone storage class) in Availability Zones and <code>ONEZONE_IA</code> (the S3 One Zone-Infrequent Access storage class) in Dedicated Local Zones.</p></li>   <li>    <p>Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.</p></li>  </ul> </note><br>
   22     22   
    ///   - [`website_redirect_location(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::website_redirect_location) / [`set_website_redirect_location(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_website_redirect_location):<br>required: **false**<br><p>If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   23     23   
    ///   - [`sse_customer_algorithm(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::sse_customer_algorithm) / [`set_sse_customer_algorithm(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_sse_customer_algorithm):<br>required: **false**<br><p>Specifies the algorithm to use when encrypting the object (for example, AES256).</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   24     24   
    ///   - [`sse_customer_key(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::sse_customer_key) / [`set_sse_customer_key(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_sse_customer_key):<br>required: **false**<br><p>Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the <code>x-amz-server-side-encryption-customer-algorithm</code> header.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   25     25   
    ///   - [`sse_customer_key_md5(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::sse_customer_key_md5) / [`set_sse_customer_key_md5(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_sse_customer_key_md5):<br>required: **false**<br><p>Specifies the 128-bit MD5 digest of the customer-provided encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   26     26   
    ///   - [`ssekms_key_id(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::ssekms_key_id) / [`set_ssekms_key_id(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_ssekms_key_id):<br>required: **false**<br><p>Specifies the KMS key ID (Key ID, Key ARN, or Key Alias) to use for object encryption. If the KMS key doesn't exist in the same account that's issuing the command, you must use the full Key ARN not the Key ID.</p> <p><b>General purpose buckets</b> - If you specify <code>x-amz-server-side-encryption</code> with <code>aws:kms</code> or <code>aws:kms:dsse</code>, this header specifies the ID (Key ID, Key ARN, or Key Alias) of the KMS key to use. If you specify <code>x-amz-server-side-encryption:aws:kms</code> or <code>x-amz-server-side-encryption:aws:kms:dsse</code>, but do not provide <code>x-amz-server-side-encryption-aws-kms-key-id</code>, Amazon S3 uses the Amazon Web Services managed key (<code>aws/s3</code>) to protect the data.</p> <p><b>Directory buckets</b> - To encrypt data using SSE-KMS, it's recommended to specify the <code>x-amz-server-side-encryption</code> header to <code>aws:kms</code>. Then, the <code>x-amz-server-side-encryption-aws-kms-key-id</code> header implicitly uses the bucket's default KMS customer managed key ID. If you want to explicitly set the <code> x-amz-server-side-encryption-aws-kms-key-id</code> header, it must match the bucket's default customer managed key (using key ID or ARN, not alias). Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket's lifetime. The <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported. Incorrect key specification results in an HTTP <code>400 Bad Request</code> error.</p><br>
   27     27   
    ///   - [`ssekms_encryption_context(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::ssekms_encryption_context) / [`set_ssekms_encryption_context(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_ssekms_encryption_context):<br>required: **false**<br><p>Specifies the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64 encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs.</p> <p><b>Directory buckets</b> - You can optionally provide an explicit encryption context value. The value must match the default encryption context - the bucket Amazon Resource Name (ARN). An additional encryption context value is not supported.</p><br>
   28     28   
    ///   - [`bucket_key_enabled(bool)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::bucket_key_enabled) / [`set_bucket_key_enabled(Option<bool>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_bucket_key_enabled):<br>required: **false**<br><p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption using Key Management Service (KMS) keys (SSE-KMS).</p> <p><b>General purpose buckets</b> - Setting this header to <code>true</code> causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS. Also, specifying this header with a PUT action doesn't affect bucket-level settings for S3 Bucket Key.</p> <p><b>Directory buckets</b> - S3 Bucket Keys are always enabled for <code>GET</code> and <code>PUT</code> operations in a directory bucket and can’t be disabled. S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a>, <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a>, <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops">the Copy operation in Batch Operations</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job">the import jobs</a>. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.</p><br>
   29     29   
    ///   - [`request_payer(RequestPayer)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::request_payer) / [`set_request_payer(Option<RequestPayer>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_request_payer):<br>required: **false**<br><p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   30     30   
    ///   - [`tagging(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::tagging) / [`set_tagging(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_tagging):<br>required: **false**<br><p>The tag-set for the object. The tag-set must be encoded as URL Query parameters.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   31     31   
    ///   - [`object_lock_mode(ObjectLockMode)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::object_lock_mode) / [`set_object_lock_mode(Option<ObjectLockMode>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_object_lock_mode):<br>required: **false**<br><p>Specifies the Object Lock mode that you want to apply to the uploaded object.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   32     32   
    ///   - [`object_lock_retain_until_date(DateTime)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::object_lock_retain_until_date) / [`set_object_lock_retain_until_date(Option<DateTime>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_object_lock_retain_until_date):<br>required: **false**<br><p>Specifies the date and time when you want the Object Lock to expire.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   33     33   
    ///   - [`object_lock_legal_hold_status(ObjectLockLegalHoldStatus)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::object_lock_legal_hold_status) / [`set_object_lock_legal_hold_status(Option<ObjectLockLegalHoldStatus>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_object_lock_legal_hold_status):<br>required: **false**<br><p>Specifies whether you want to apply a legal hold to the uploaded object.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   34     34   
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p><br>
   35     35   
    ///   - [`checksum_algorithm(ChecksumAlgorithm)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::checksum_algorithm) / [`set_checksum_algorithm(Option<ChecksumAlgorithm>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_checksum_algorithm):<br>required: **false**<br><p>Indicates the algorithm that you want Amazon S3 to use to create the checksum for the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p><br>
   36     36   
    ///   - [`checksum_type(ChecksumType)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::checksum_type) / [`set_checksum_type(Option<ChecksumType>)`](crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder::set_checksum_type):<br>required: **false**<br><p>Indicates the checksum type that you want Amazon S3 to use to calculate the object’s checksum value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p><br>
   37     37   
    /// - On success, responds with [`CreateMultipartUploadOutput`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput) with field(s):
   38     38   
    ///   - [`abort_date(Option<DateTime>)`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput::abort_date): <p>If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, the response includes this header. The header indicates when the initiated multipart upload becomes eligible for an abort operation. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config"> Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration</a> in the <i>Amazon S3 User Guide</i>.</p> <p>The response also includes the <code>x-amz-abort-rule-id</code> header that provides the ID of the lifecycle configuration rule that defines the abort action.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   39     39   
    ///   - [`abort_rule_id(Option<String>)`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput::abort_rule_id): <p>This header is returned along with the <code>x-amz-abort-date</code> header. It identifies the applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   40     40   
    ///   - [`bucket(Option<String>)`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput::bucket): <p>The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.</p><note>  <p>Access points are not supported by directory buckets.</p> </note>
   41     41   
    ///   - [`key(Option<String>)`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput::key): <p>Object key for which the multipart upload was initiated.</p>
   42     42   
    ///   - [`upload_id(Option<String>)`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput::upload_id): <p>ID for the initiated multipart upload.</p>
   43         -
    ///   - [`server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput::server_side_encryption): <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>  <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p> </note>
          43  +
    ///   - [`server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput::server_side_encryption): <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p>
   44     44   
    ///   - [`sse_customer_algorithm(Option<String>)`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput::sse_customer_algorithm): <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   45     45   
    ///   - [`sse_customer_key_md5(Option<String>)`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput::sse_customer_key_md5): <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   46     46   
    ///   - [`ssekms_key_id(Option<String>)`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput::ssekms_key_id): <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
   47     47   
    ///   - [`ssekms_encryption_context(Option<String>)`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput::ssekms_encryption_context): <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64 encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs.</p>
   48     48   
    ///   - [`bucket_key_enabled(Option<bool>)`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput::bucket_key_enabled): <p>Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
   49     49   
    ///   - [`request_charged(Option<RequestCharged>)`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput::request_charged): <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   50     50   
    ///   - [`checksum_algorithm(Option<ChecksumAlgorithm>)`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput::checksum_algorithm): <p>The algorithm that was used to create a checksum of the object.</p>
   51     51   
    ///   - [`checksum_type(Option<ChecksumType>)`](crate::operation::create_multipart_upload::CreateMultipartUploadOutput::checksum_type): <p>Indicates the checksum type that you want Amazon S3 to use to calculate the object’s checksum value. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
   52     52   
    /// - On failure, responds with [`SdkError<CreateMultipartUploadError>`](crate::operation::create_multipart_upload::CreateMultipartUploadError)
   53     53   
    pub fn create_multipart_upload(&self) -> crate::operation::create_multipart_upload::builders::CreateMultipartUploadFluentBuilder {

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/create_session.rs

@@ -1,1 +22,22 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
impl super::Client {
    3      3   
    /// Constructs a fluent builder for the [`CreateSession`](crate::operation::create_session::builders::CreateSessionFluentBuilder) operation.
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6      6   
    ///   - [`session_mode(SessionMode)`](crate::operation::create_session::builders::CreateSessionFluentBuilder::session_mode) / [`set_session_mode(Option<SessionMode>)`](crate::operation::create_session::builders::CreateSessionFluentBuilder::set_session_mode):<br>required: **false**<br><p>Specifies the mode of the session that will be created, either <code>ReadWrite</code> or <code>ReadOnly</code>. By default, a <code>ReadWrite</code> session is created. A <code>ReadWrite</code> session is capable of executing all the Zonal endpoint API operations on a directory bucket. A <code>ReadOnly</code> session is constrained to execute the following Zonal endpoint API operations: <code>GetObject</code>, <code>HeadObject</code>, <code>ListObjectsV2</code>, <code>GetObjectAttributes</code>, <code>ListParts</code>, and <code>ListMultipartUploads</code>.</p><br>
    7      7   
    ///   - [`bucket(impl Into<String>)`](crate::operation::create_session::builders::CreateSessionFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::create_session::builders::CreateSessionFluentBuilder::set_bucket):<br>required: **true**<br><p>The name of the bucket that you create a session for.</p><br>
    8         -
    ///   - [`server_side_encryption(ServerSideEncryption)`](crate::operation::create_session::builders::CreateSessionFluentBuilder::server_side_encryption) / [`set_server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::create_session::builders::CreateSessionFluentBuilder::set_server_side_encryption):<br>required: **false**<br><p>The server-side encryption algorithm to use when you store objects in the directory bucket.</p> <p>For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) and server-side encryption with KMS keys (SSE-KMS) (<code>aws:kms</code>). By default, Amazon S3 encrypts data with SSE-S3. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html">Protecting data with server-side encryption</a> in the <i>Amazon S3 User Guide</i>.</p> <p><b>S3 access points for Amazon FSx </b> - When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>. All Amazon FSx file systems have encryption configured by default and are encrypted at rest. Data is automatically encrypted before being written to the file system, and automatically decrypted as it is read. These processes are handled transparently by Amazon FSx.</p><br>
           8  +
    ///   - [`server_side_encryption(ServerSideEncryption)`](crate::operation::create_session::builders::CreateSessionFluentBuilder::server_side_encryption) / [`set_server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::create_session::builders::CreateSessionFluentBuilder::set_server_side_encryption):<br>required: **false**<br><p>The server-side encryption algorithm to use when you store objects in the directory bucket.</p> <p>For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (<code>AES256</code>) and server-side encryption with KMS keys (SSE-KMS) (<code>aws:kms</code>). By default, Amazon S3 encrypts data with SSE-S3. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html">Protecting data with server-side encryption</a> in the <i>Amazon S3 User Guide</i>.</p><br>
    9      9   
    ///   - [`ssekms_key_id(impl Into<String>)`](crate::operation::create_session::builders::CreateSessionFluentBuilder::ssekms_key_id) / [`set_ssekms_key_id(Option<String>)`](crate::operation::create_session::builders::CreateSessionFluentBuilder::set_ssekms_key_id):<br>required: **false**<br><p>If you specify <code>x-amz-server-side-encryption</code> with <code>aws:kms</code>, you must specify the <code> x-amz-server-side-encryption-aws-kms-key-id</code> header with the ID (Key ID or Key ARN) of the KMS symmetric encryption customer managed key to use. Otherwise, you get an HTTP <code>400 Bad Request</code> error. Only use the key ID or key ARN. The key alias format of the KMS key isn't supported. Also, if the KMS key doesn't exist in the same account that't issuing the command, you must use the full Key ARN not the Key ID.</p> <p>Your SSE-KMS configuration can only support 1 <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk">customer managed key</a> per directory bucket's lifetime. The <a href="https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk">Amazon Web Services managed key</a> (<code>aws/s3</code>) isn't supported.</p><br>
   10     10   
    ///   - [`ssekms_encryption_context(impl Into<String>)`](crate::operation::create_session::builders::CreateSessionFluentBuilder::ssekms_encryption_context) / [`set_ssekms_encryption_context(Option<String>)`](crate::operation::create_session::builders::CreateSessionFluentBuilder::set_ssekms_encryption_context):<br>required: **false**<br><p>Specifies the Amazon Web Services KMS Encryption Context as an additional encryption context to use for object encryption. The value of this header is a Base64 encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future <code>GetObject</code> operations on this object.</p> <p><b>General purpose buckets</b> - This value must be explicitly added during <code>CopyObject</code> operations if you want an additional encryption context for your object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html#encryption-context">Encryption context</a> in the <i>Amazon S3 User Guide</i>.</p> <p><b>Directory buckets</b> - You can optionally provide an explicit encryption context value. The value must match the default encryption context - the bucket Amazon Resource Name (ARN). An additional encryption context value is not supported.</p><br>
   11     11   
    ///   - [`bucket_key_enabled(bool)`](crate::operation::create_session::builders::CreateSessionFluentBuilder::bucket_key_enabled) / [`set_bucket_key_enabled(Option<bool>)`](crate::operation::create_session::builders::CreateSessionFluentBuilder::set_bucket_key_enabled):<br>required: **false**<br><p>Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption using KMS keys (SSE-KMS).</p> <p>S3 Bucket Keys are always enabled for <code>GET</code> and <code>PUT</code> operations in a directory bucket and can’t be disabled. S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets to directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html">CopyObject</a>, <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html">UploadPartCopy</a>, <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-objects-Batch-Ops">the Copy operation in Batch Operations</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-import-job">the import jobs</a>. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.</p><br>
   12     12   
    /// - On success, responds with [`CreateSessionOutput`](crate::operation::create_session::CreateSessionOutput) with field(s):
   13         -
    ///   - [`server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::create_session::CreateSessionOutput::server_side_encryption): <p>The server-side encryption algorithm used when you store objects in the directory bucket.</p><note>  <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p> </note>
          13  +
    ///   - [`server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::create_session::CreateSessionOutput::server_side_encryption): <p>The server-side encryption algorithm used when you store objects in the directory bucket.</p>
   14     14   
    ///   - [`ssekms_key_id(Option<String>)`](crate::operation::create_session::CreateSessionOutput::ssekms_key_id): <p>If you specify <code>x-amz-server-side-encryption</code> with <code>aws:kms</code>, this header indicates the ID of the KMS symmetric encryption customer managed key that was used for object encryption.</p>
   15     15   
    ///   - [`ssekms_encryption_context(Option<String>)`](crate::operation::create_session::CreateSessionOutput::ssekms_encryption_context): <p>If present, indicates the Amazon Web Services KMS Encryption Context to use for object encryption. The value of this header is a Base64 encoded string of a UTF-8 encoded JSON, which contains the encryption context as key-value pairs. This value is stored as object metadata and automatically gets passed on to Amazon Web Services KMS for future <code>GetObject</code> operations on this object.</p>
   16     16   
    ///   - [`bucket_key_enabled(Option<bool>)`](crate::operation::create_session::CreateSessionOutput::bucket_key_enabled): <p>Indicates whether to use an S3 Bucket Key for server-side encryption with KMS keys (SSE-KMS).</p>
   17     17   
    ///   - [`credentials(Option<SessionCredentials>)`](crate::operation::create_session::CreateSessionOutput::credentials): <p>The established temporary security credentials for the created session.</p>
   18     18   
    /// - On failure, responds with [`SdkError<CreateSessionError>`](crate::operation::create_session::CreateSessionError)
   19     19   
    pub fn create_session(&self) -> crate::operation::create_session::builders::CreateSessionFluentBuilder {
   20     20   
        crate::operation::create_session::builders::CreateSessionFluentBuilder::new(self.handle.clone())
   21     21   
    }
   22     22   
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/delete_bucket_intelligent_tiering_configuration.rs

@@ -1,1 +18,17 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
impl super::Client {
    3      3   
    /// Constructs a fluent builder for the [`DeleteBucketIntelligentTieringConfiguration`](crate::operation::delete_bucket_intelligent_tiering_configuration::builders::DeleteBucketIntelligentTieringConfigurationFluentBuilder) operation.
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6      6   
    ///   - [`bucket(impl Into<String>)`](crate::operation::delete_bucket_intelligent_tiering_configuration::builders::DeleteBucketIntelligentTieringConfigurationFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::delete_bucket_intelligent_tiering_configuration::builders::DeleteBucketIntelligentTieringConfigurationFluentBuilder::set_bucket):<br>required: **true**<br><p>The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.</p><br>
    7      7   
    ///   - [`id(impl Into<String>)`](crate::operation::delete_bucket_intelligent_tiering_configuration::builders::DeleteBucketIntelligentTieringConfigurationFluentBuilder::id) / [`set_id(Option<String>)`](crate::operation::delete_bucket_intelligent_tiering_configuration::builders::DeleteBucketIntelligentTieringConfigurationFluentBuilder::set_id):<br>required: **true**<br><p>The ID used to identify the S3 Intelligent-Tiering configuration.</p><br>
    8         -
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::delete_bucket_intelligent_tiering_configuration::builders::DeleteBucketIntelligentTieringConfigurationFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::delete_bucket_intelligent_tiering_configuration::builders::DeleteBucketIntelligentTieringConfigurationFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p><br>
    9      8   
    /// - On success, responds with [`DeleteBucketIntelligentTieringConfigurationOutput`](crate::operation::delete_bucket_intelligent_tiering_configuration::DeleteBucketIntelligentTieringConfigurationOutput)
   10      9   
    /// - On failure, responds with [`SdkError<DeleteBucketIntelligentTieringConfigurationError>`](crate::operation::delete_bucket_intelligent_tiering_configuration::DeleteBucketIntelligentTieringConfigurationError)
   11     10   
    pub fn delete_bucket_intelligent_tiering_configuration(
   12     11   
        &self,
   13     12   
    ) -> crate::operation::delete_bucket_intelligent_tiering_configuration::builders::DeleteBucketIntelligentTieringConfigurationFluentBuilder {
   14     13   
        crate::operation::delete_bucket_intelligent_tiering_configuration::builders::DeleteBucketIntelligentTieringConfigurationFluentBuilder::new(
   15     14   
            self.handle.clone(),
   16     15   
        )
   17     16   
    }
   18     17   
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/delete_bucket_metadata_configuration.rs

@@ -1,0 +15,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
impl super::Client {
    3         -
    /// Constructs a fluent builder for the [`DeleteBucketMetadataConfiguration`](crate::operation::delete_bucket_metadata_configuration::builders::DeleteBucketMetadataConfigurationFluentBuilder) operation.
    4         -
    ///
    5         -
    /// - The fluent builder is configurable:
    6         -
    ///   - [`bucket(impl Into<String>)`](crate::operation::delete_bucket_metadata_configuration::builders::DeleteBucketMetadataConfigurationFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::delete_bucket_metadata_configuration::builders::DeleteBucketMetadataConfigurationFluentBuilder::set_bucket):<br>required: **true**<br><p>The general purpose bucket that you want to remove the metadata configuration from.</p><br>
    7         -
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::delete_bucket_metadata_configuration::builders::DeleteBucketMetadataConfigurationFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::delete_bucket_metadata_configuration::builders::DeleteBucketMetadataConfigurationFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The expected bucket owner of the general purpose bucket that you want to remove the metadata table configuration from.</p><br>
    8         -
    /// - On success, responds with [`DeleteBucketMetadataConfigurationOutput`](crate::operation::delete_bucket_metadata_configuration::DeleteBucketMetadataConfigurationOutput)
    9         -
    /// - On failure, responds with [`SdkError<DeleteBucketMetadataConfigurationError>`](crate::operation::delete_bucket_metadata_configuration::DeleteBucketMetadataConfigurationError)
   10         -
    pub fn delete_bucket_metadata_configuration(
   11         -
        &self,
   12         -
    ) -> crate::operation::delete_bucket_metadata_configuration::builders::DeleteBucketMetadataConfigurationFluentBuilder {
   13         -
        crate::operation::delete_bucket_metadata_configuration::builders::DeleteBucketMetadataConfigurationFluentBuilder::new(self.handle.clone())
   14         -
    }
   15         -
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/get_bucket_intelligent_tiering_configuration.rs

@@ -1,1 +19,18 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
impl super::Client {
    3      3   
    /// Constructs a fluent builder for the [`GetBucketIntelligentTieringConfiguration`](crate::operation::get_bucket_intelligent_tiering_configuration::builders::GetBucketIntelligentTieringConfigurationFluentBuilder) operation.
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6      6   
    ///   - [`bucket(impl Into<String>)`](crate::operation::get_bucket_intelligent_tiering_configuration::builders::GetBucketIntelligentTieringConfigurationFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::get_bucket_intelligent_tiering_configuration::builders::GetBucketIntelligentTieringConfigurationFluentBuilder::set_bucket):<br>required: **true**<br><p>The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.</p><br>
    7      7   
    ///   - [`id(impl Into<String>)`](crate::operation::get_bucket_intelligent_tiering_configuration::builders::GetBucketIntelligentTieringConfigurationFluentBuilder::id) / [`set_id(Option<String>)`](crate::operation::get_bucket_intelligent_tiering_configuration::builders::GetBucketIntelligentTieringConfigurationFluentBuilder::set_id):<br>required: **true**<br><p>The ID used to identify the S3 Intelligent-Tiering configuration.</p><br>
    8         -
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::get_bucket_intelligent_tiering_configuration::builders::GetBucketIntelligentTieringConfigurationFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::get_bucket_intelligent_tiering_configuration::builders::GetBucketIntelligentTieringConfigurationFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p><br>
    9      8   
    /// - On success, responds with [`GetBucketIntelligentTieringConfigurationOutput`](crate::operation::get_bucket_intelligent_tiering_configuration::GetBucketIntelligentTieringConfigurationOutput) with field(s):
   10      9   
    ///   - [`intelligent_tiering_configuration(Option<IntelligentTieringConfiguration>)`](crate::operation::get_bucket_intelligent_tiering_configuration::GetBucketIntelligentTieringConfigurationOutput::intelligent_tiering_configuration): <p>Container for S3 Intelligent-Tiering configuration.</p>
   11     10   
    /// - On failure, responds with [`SdkError<GetBucketIntelligentTieringConfigurationError>`](crate::operation::get_bucket_intelligent_tiering_configuration::GetBucketIntelligentTieringConfigurationError)
   12     11   
    pub fn get_bucket_intelligent_tiering_configuration(
   13     12   
        &self,
   14     13   
    ) -> crate::operation::get_bucket_intelligent_tiering_configuration::builders::GetBucketIntelligentTieringConfigurationFluentBuilder {
   15     14   
        crate::operation::get_bucket_intelligent_tiering_configuration::builders::GetBucketIntelligentTieringConfigurationFluentBuilder::new(
   16     15   
            self.handle.clone(),
   17     16   
        )
   18     17   
    }

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/get_bucket_metadata_configuration.rs

@@ -1,0 +16,0 @@
    1         -
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2         -
impl super::Client {
    3         -
    /// Constructs a fluent builder for the [`GetBucketMetadataConfiguration`](crate::operation::get_bucket_metadata_configuration::builders::GetBucketMetadataConfigurationFluentBuilder) operation.
    4         -
    ///
    5         -
    /// - The fluent builder is configurable:
    6         -
    ///   - [`bucket(impl Into<String>)`](crate::operation::get_bucket_metadata_configuration::builders::GetBucketMetadataConfigurationFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::get_bucket_metadata_configuration::builders::GetBucketMetadataConfigurationFluentBuilder::set_bucket):<br>required: **true**<br><p>The general purpose bucket that corresponds to the metadata configuration that you want to retrieve.</p><br>
    7         -
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::get_bucket_metadata_configuration::builders::GetBucketMetadataConfigurationFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::get_bucket_metadata_configuration::builders::GetBucketMetadataConfigurationFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p><br>
    8         -
    /// - On success, responds with [`GetBucketMetadataConfigurationOutput`](crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationOutput) with field(s):
    9         -
    ///   - [`get_bucket_metadata_configuration_result(Option<GetBucketMetadataConfigurationResult>)`](crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationOutput::get_bucket_metadata_configuration_result): <p>The metadata configuration for the general purpose bucket.</p>
   10         -
    /// - On failure, responds with [`SdkError<GetBucketMetadataConfigurationError>`](crate::operation::get_bucket_metadata_configuration::GetBucketMetadataConfigurationError)
   11         -
    pub fn get_bucket_metadata_configuration(
   12         -
        &self,
   13         -
    ) -> crate::operation::get_bucket_metadata_configuration::builders::GetBucketMetadataConfigurationFluentBuilder {
   14         -
        crate::operation::get_bucket_metadata_configuration::builders::GetBucketMetadataConfigurationFluentBuilder::new(self.handle.clone())
   15         -
    }
   16         -
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/get_bucket_metadata_table_configuration.rs

@@ -1,1 +18,18 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
impl super::Client {
    3      3   
    /// Constructs a fluent builder for the [`GetBucketMetadataTableConfiguration`](crate::operation::get_bucket_metadata_table_configuration::builders::GetBucketMetadataTableConfigurationFluentBuilder) operation.
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6         -
    ///   - [`bucket(impl Into<String>)`](crate::operation::get_bucket_metadata_table_configuration::builders::GetBucketMetadataTableConfigurationFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::get_bucket_metadata_table_configuration::builders::GetBucketMetadataTableConfigurationFluentBuilder::set_bucket):<br>required: **true**<br><p>The general purpose bucket that corresponds to the metadata table configuration that you want to retrieve.</p><br>
    7         -
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::get_bucket_metadata_table_configuration::builders::GetBucketMetadataTableConfigurationFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::get_bucket_metadata_table_configuration::builders::GetBucketMetadataTableConfigurationFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration for.</p><br>
           6  +
    ///   - [`bucket(impl Into<String>)`](crate::operation::get_bucket_metadata_table_configuration::builders::GetBucketMetadataTableConfigurationFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::get_bucket_metadata_table_configuration::builders::GetBucketMetadataTableConfigurationFluentBuilder::set_bucket):<br>required: **true**<br><p>The general purpose bucket that contains the metadata table configuration that you want to retrieve.</p><br>
           7  +
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::get_bucket_metadata_table_configuration::builders::GetBucketMetadataTableConfigurationFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::get_bucket_metadata_table_configuration::builders::GetBucketMetadataTableConfigurationFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The expected owner of the general purpose bucket that you want to retrieve the metadata table configuration from.</p><br>
    8      8   
    /// - On success, responds with [`GetBucketMetadataTableConfigurationOutput`](crate::operation::get_bucket_metadata_table_configuration::GetBucketMetadataTableConfigurationOutput) with field(s):
    9      9   
    ///   - [`get_bucket_metadata_table_configuration_result(Option<GetBucketMetadataTableConfigurationResult>)`](crate::operation::get_bucket_metadata_table_configuration::GetBucketMetadataTableConfigurationOutput::get_bucket_metadata_table_configuration_result): <p>The metadata table configuration for the general purpose bucket.</p>
   10     10   
    /// - On failure, responds with [`SdkError<GetBucketMetadataTableConfigurationError>`](crate::operation::get_bucket_metadata_table_configuration::GetBucketMetadataTableConfigurationError)
   11     11   
    pub fn get_bucket_metadata_table_configuration(
   12     12   
        &self,
   13     13   
    ) -> crate::operation::get_bucket_metadata_table_configuration::builders::GetBucketMetadataTableConfigurationFluentBuilder {
   14     14   
        crate::operation::get_bucket_metadata_table_configuration::builders::GetBucketMetadataTableConfigurationFluentBuilder::new(
   15     15   
            self.handle.clone(),
   16     16   
        )
   17     17   
    }

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/get_object.rs

@@ -21,21 +71,71 @@
   41     41   
    ///   - [`checksum_type(Option<ChecksumType>)`](crate::operation::get_object::GetObjectOutput::checksum_type): <p>The checksum type, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. You can use this header response to verify that the checksum type that is received is the same checksum type that was specified in the <code>CreateMultipartUpload</code> request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
   42     42   
    ///   - [`missing_meta(Option<i32>)`](crate::operation::get_object::GetObjectOutput::missing_meta): <p>This is set to the number of metadata entries not returned in the headers that are prefixed with <code>x-amz-meta-</code>. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   43     43   
    ///   - [`version_id(Option<String>)`](crate::operation::get_object::GetObjectOutput::version_id): <p>Version ID of the object.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   44     44   
    ///   - [`cache_control(Option<String>)`](crate::operation::get_object::GetObjectOutput::cache_control): <p>Specifies caching behavior along the request/reply chain.</p>
   45     45   
    ///   - [`content_disposition(Option<String>)`](crate::operation::get_object::GetObjectOutput::content_disposition): <p>Specifies presentational information for the object.</p>
   46     46   
    ///   - [`content_encoding(Option<String>)`](crate::operation::get_object::GetObjectOutput::content_encoding): <p>Indicates what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.</p>
   47     47   
    ///   - [`content_language(Option<String>)`](crate::operation::get_object::GetObjectOutput::content_language): <p>The language the content is in.</p>
   48     48   
    ///   - [`content_range(Option<String>)`](crate::operation::get_object::GetObjectOutput::content_range): <p>The portion of the object returned in the response.</p>
   49     49   
    ///   - [`content_type(Option<String>)`](crate::operation::get_object::GetObjectOutput::content_type): <p>A standard MIME type describing the format of the object data.</p>
   50     50   
    ///   - [`website_redirect_location(Option<String>)`](crate::operation::get_object::GetObjectOutput::website_redirect_location): <p>If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   51         -
    ///   - [`server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::get_object::GetObjectOutput::server_side_encryption): <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>  <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p> </note>
          51  +
    ///   - [`server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::get_object::GetObjectOutput::server_side_encryption): <p>The server-side encryption algorithm used when you store this object in Amazon S3.</p>
   52     52   
    ///   - [`metadata(Option<HashMap::<String, String>>)`](crate::operation::get_object::GetObjectOutput::metadata): <p>A map of metadata to store with the object in S3.</p>
   53     53   
    ///   - [`sse_customer_algorithm(Option<String>)`](crate::operation::get_object::GetObjectOutput::sse_customer_algorithm): <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   54     54   
    ///   - [`sse_customer_key_md5(Option<String>)`](crate::operation::get_object::GetObjectOutput::sse_customer_key_md5): <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   55     55   
    ///   - [`ssekms_key_id(Option<String>)`](crate::operation::get_object::GetObjectOutput::ssekms_key_id): <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
   56     56   
    ///   - [`bucket_key_enabled(Option<bool>)`](crate::operation::get_object::GetObjectOutput::bucket_key_enabled): <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
   57     57   
    ///   - [`storage_class(Option<StorageClass>)`](crate::operation::get_object::GetObjectOutput::storage_class): <p>Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.</p><note>  <p><b>Directory buckets </b> - Directory buckets only support <code>EXPRESS_ONEZONE</code> (the S3 Express One Zone storage class) in Availability Zones and <code>ONEZONE_IA</code> (the S3 One Zone-Infrequent Access storage class) in Dedicated Local Zones.</p> </note>
   58     58   
    ///   - [`request_charged(Option<RequestCharged>)`](crate::operation::get_object::GetObjectOutput::request_charged): <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   59     59   
    ///   - [`replication_status(Option<ReplicationStatus>)`](crate::operation::get_object::GetObjectOutput::replication_status): <p>Amazon S3 can return this if your request involves a bucket that is either a source or destination in a replication rule.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   60     60   
    ///   - [`parts_count(Option<i32>)`](crate::operation::get_object::GetObjectOutput::parts_count): <p>The count of parts this object has. This value is only returned if you specify <code>partNumber</code> in your request and the object was uploaded as a multipart upload.</p>
   61     61   
    ///   - [`tag_count(Option<i32>)`](crate::operation::get_object::GetObjectOutput::tag_count): <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p> <p>You can use <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> to retrieve the tag set associated with an object.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/get_object_torrent.rs

@@ -1,1 +17,16 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
impl super::Client {
    3      3   
    /// Constructs a fluent builder for the [`GetObjectTorrent`](crate::operation::get_object_torrent::builders::GetObjectTorrentFluentBuilder) operation.
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6      6   
    ///   - [`bucket(impl Into<String>)`](crate::operation::get_object_torrent::builders::GetObjectTorrentFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::get_object_torrent::builders::GetObjectTorrentFluentBuilder::set_bucket):<br>required: **true**<br><p>The name of the bucket containing the object for which to get the torrent files.</p><br>
    7      7   
    ///   - [`key(impl Into<String>)`](crate::operation::get_object_torrent::builders::GetObjectTorrentFluentBuilder::key) / [`set_key(Option<String>)`](crate::operation::get_object_torrent::builders::GetObjectTorrentFluentBuilder::set_key):<br>required: **true**<br><p>The object key for which to get the information.</p><br>
    8      8   
    ///   - [`request_payer(RequestPayer)`](crate::operation::get_object_torrent::builders::GetObjectTorrentFluentBuilder::request_payer) / [`set_request_payer(Option<RequestPayer>)`](crate::operation::get_object_torrent::builders::GetObjectTorrentFluentBuilder::set_request_payer):<br>required: **false**<br><p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
    9      9   
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::get_object_torrent::builders::GetObjectTorrentFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::get_object_torrent::builders::GetObjectTorrentFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p><br>
   10     10   
    /// - On success, responds with [`GetObjectTorrentOutput`](crate::operation::get_object_torrent::GetObjectTorrentOutput) with field(s):
   11         -
    ///   - [`body(ByteStream)`](crate::operation::get_object_torrent::GetObjectTorrentOutput::body): <p>A Bencoded dictionary as defined by the BitTorrent specification</p>
   12     11   
    ///   - [`request_charged(Option<RequestCharged>)`](crate::operation::get_object_torrent::GetObjectTorrentOutput::request_charged): <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   13     12   
    /// - On failure, responds with [`SdkError<GetObjectTorrentError>`](crate::operation::get_object_torrent::GetObjectTorrentError)
   14     13   
    pub fn get_object_torrent(&self) -> crate::operation::get_object_torrent::builders::GetObjectTorrentFluentBuilder {
   15     14   
        crate::operation::get_object_torrent::builders::GetObjectTorrentFluentBuilder::new(self.handle.clone())
   16     15   
    }
   17     16   
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/head_bucket.rs

@@ -1,1 +18,17 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
impl super::Client {
    3      3   
    /// Constructs a fluent builder for the [`HeadBucket`](crate::operation::head_bucket::builders::HeadBucketFluentBuilder) operation.
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6      6   
    ///   - [`bucket(impl Into<String>)`](crate::operation::head_bucket::builders::HeadBucketFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::head_bucket::builders::HeadBucketFluentBuilder::set_bucket):<br>required: **true**<br><p>The bucket name.</p> <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>amzn-s3-demo-bucket</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p> <p><b>Access points</b> - When you use this action with an access point for general purpose buckets, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When you use this action with an access point for directory buckets, you must provide the access point name in place of the bucket name. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.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 <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p><b>Object Lambda access points</b> - 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. If the Object Lambda access point alias in a request is not valid, the error code <code>InvalidAccessPointAliasError</code> is returned. For more information about <code>InvalidAccessPointAliasError</code>, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList">List of Error Codes</a>.</p><note>  <p>Object Lambda access points are not supported by directory buckets.</p> </note> <p><b>S3 on Outposts</b> - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more information about S3 on Outposts, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p><br>
    7      7   
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::head_bucket::builders::HeadBucketFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::head_bucket::builders::HeadBucketFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p><br>
    8      8   
    /// - On success, responds with [`HeadBucketOutput`](crate::operation::head_bucket::HeadBucketOutput) with field(s):
    9         -
    ///   - [`bucket_arn(Option<String>)`](crate::operation::head_bucket::HeadBucketOutput::bucket_arn): <p>The Amazon Resource Name (ARN) of the S3 bucket. ARNs uniquely identify Amazon Web Services resources across all of Amazon Web Services.</p><note>  <p>This parameter is only supported for S3 directory buckets. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html">Using tags with directory buckets</a>.</p> </note>
   10      9   
    ///   - [`bucket_location_type(Option<LocationType>)`](crate::operation::head_bucket::HeadBucketOutput::bucket_location_type): <p>The type of location where the bucket is created.</p><note>  <p>This functionality is only supported by directory buckets.</p> </note>
   11     10   
    ///   - [`bucket_location_name(Option<String>)`](crate::operation::head_bucket::HeadBucketOutput::bucket_location_name): <p>The name of the location where the bucket will be created.</p> <p>For directory buckets, the Zone ID of the Availability Zone or the Local Zone where the bucket is created. An example Zone ID value for an Availability Zone is <code>usw2-az1</code>.</p><note>  <p>This functionality is only supported by directory buckets.</p> </note>
   12     11   
    ///   - [`bucket_region(Option<String>)`](crate::operation::head_bucket::HeadBucketOutput::bucket_region): <p>The Region that the bucket is located.</p>
   13     12   
    ///   - [`access_point_alias(Option<bool>)`](crate::operation::head_bucket::HeadBucketOutput::access_point_alias): <p>Indicates whether the bucket name used in the request is an access point alias.</p><note>  <p>For directory buckets, the value of this field is <code>false</code>.</p> </note>
   14     13   
    /// - On failure, responds with [`SdkError<HeadBucketError>`](crate::operation::head_bucket::HeadBucketError)
   15     14   
    pub fn head_bucket(&self) -> crate::operation::head_bucket::builders::HeadBucketFluentBuilder {
   16     15   
        crate::operation::head_bucket::builders::HeadBucketFluentBuilder::new(self.handle.clone())
   17     16   
    }
   18     17   
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/head_object.rs

@@ -21,21 +71,70 @@
   41     41   
    ///   - [`e_tag(Option<String>)`](crate::operation::head_object::HeadObjectOutput::e_tag): <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a specific version of a resource found at a URL.</p>
   42     42   
    ///   - [`missing_meta(Option<i32>)`](crate::operation::head_object::HeadObjectOutput::missing_meta): <p>This is set to the number of metadata entries not returned in <code>x-amz-meta</code> headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   43     43   
    ///   - [`version_id(Option<String>)`](crate::operation::head_object::HeadObjectOutput::version_id): <p>Version ID of the object.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   44     44   
    ///   - [`cache_control(Option<String>)`](crate::operation::head_object::HeadObjectOutput::cache_control): <p>Specifies caching behavior along the request/reply chain.</p>
   45     45   
    ///   - [`content_disposition(Option<String>)`](crate::operation::head_object::HeadObjectOutput::content_disposition): <p>Specifies presentational information for the object.</p>
   46     46   
    ///   - [`content_encoding(Option<String>)`](crate::operation::head_object::HeadObjectOutput::content_encoding): <p>Indicates what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.</p>
   47     47   
    ///   - [`content_language(Option<String>)`](crate::operation::head_object::HeadObjectOutput::content_language): <p>The language the content is in.</p>
   48     48   
    ///   - [`content_type(Option<String>)`](crate::operation::head_object::HeadObjectOutput::content_type): <p>A standard MIME type describing the format of the object data.</p>
   49     49   
    ///   - [`content_range(Option<String>)`](crate::operation::head_object::HeadObjectOutput::content_range): <p>The portion of the object returned in the response for a <code>GET</code> request.</p>
   50     50   
    ///   - [`website_redirect_location(Option<String>)`](crate::operation::head_object::HeadObjectOutput::website_redirect_location): <p>If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   51         -
    ///   - [`server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::head_object::HeadObjectOutput::server_side_encryption): <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>  <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p> </note>
          51  +
    ///   - [`server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::head_object::HeadObjectOutput::server_side_encryption): <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p>
   52     52   
    ///   - [`metadata(Option<HashMap::<String, String>>)`](crate::operation::head_object::HeadObjectOutput::metadata): <p>A map of metadata to store with the object in S3.</p>
   53     53   
    ///   - [`sse_customer_algorithm(Option<String>)`](crate::operation::head_object::HeadObjectOutput::sse_customer_algorithm): <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   54     54   
    ///   - [`sse_customer_key_md5(Option<String>)`](crate::operation::head_object::HeadObjectOutput::sse_customer_key_md5): <p>If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   55     55   
    ///   - [`ssekms_key_id(Option<String>)`](crate::operation::head_object::HeadObjectOutput::ssekms_key_id): <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
   56     56   
    ///   - [`bucket_key_enabled(Option<bool>)`](crate::operation::head_object::HeadObjectOutput::bucket_key_enabled): <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
   57     57   
    ///   - [`storage_class(Option<StorageClass>)`](crate::operation::head_object::HeadObjectOutput::storage_class): <p>Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a>.</p><note>  <p><b>Directory buckets </b> - Directory buckets only support <code>EXPRESS_ONEZONE</code> (the S3 Express One Zone storage class) in Availability Zones and <code>ONEZONE_IA</code> (the S3 One Zone-Infrequent Access storage class) in Dedicated Local Zones.</p> </note>
   58     58   
    ///   - [`request_charged(Option<RequestCharged>)`](crate::operation::head_object::HeadObjectOutput::request_charged): <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   59     59   
    ///   - [`replication_status(Option<ReplicationStatus>)`](crate::operation::head_object::HeadObjectOutput::replication_status): <p>Amazon S3 can return this header if your request involves a bucket that is either a source or a destination in a replication rule.</p> <p>In replication, you have a source bucket on which you configure replication and destination bucket or buckets where Amazon S3 stores object replicas. When you request an object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) from these buckets, Amazon S3 will return the <code>x-amz-replication-status</code> header in the response as follows:</p> <ul>  <li>   <p><b>If requesting an object from the source bucket</b>, Amazon S3 will return the <code>x-amz-replication-status</code> header if the object in your request is eligible for replication.</p>   <p>For example, suppose that in your replication configuration, you specify object prefix <code>TaxDocs</code> requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. Any objects you upload with this key name prefix, for example <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object request with this key name prefix, Amazon S3 will return the <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or FAILED indicating object replication status.</p></li>  <li>   <p><b>If requesting an object from a destination bucket</b>, Amazon S3 will return the <code>x-amz-replication-status</code> header with value REPLICA if the object in your request is a replica that Amazon S3 created and there is no replica modification replication in progress.</p></li>  <li>   <p><b>When replicating objects to multiple destination buckets</b>, the <code>x-amz-replication-status</code> header acts differently. The header of the source object will only return a value of COMPLETED when replication is successful to all destinations. The header will remain at value PENDING until replication has completed for all destinations. If one or more destinations fails replication the header will return FAILED.</p></li> </ul> <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   60     60   
    ///   - [`parts_count(Option<i32>)`](crate::operation::head_object::HeadObjectOutput::parts_count): <p>The count of parts this object has. This value is only returned if you specify <code>partNumber</code> in your request and the object was uploaded as a multipart upload.</p>
   61         -
    ///   - [`tag_count(Option<i32>)`](crate::operation::head_object::HeadObjectOutput::tag_count): <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p> <p>You can use <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> to retrieve the tag set associated with an object.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   62     61   
    ///   - [`object_lock_mode(Option<ObjectLockMode>)`](crate::operation::head_object::HeadObjectOutput::object_lock_mode): <p>The Object Lock mode, if any, that's in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   63     62   
    ///   - [`object_lock_retain_until_date(Option<DateTime>)`](crate::operation::head_object::HeadObjectOutput::object_lock_retain_until_date): <p>The date and time when the Object Lock retention period expires. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   64     63   
    ///   - [`object_lock_legal_hold_status(Option<ObjectLockLegalHoldStatus>)`](crate::operation::head_object::HeadObjectOutput::object_lock_legal_hold_status): <p>Specifies whether a legal hold is in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectLegalHold</code> permission. This header is not returned if the specified version of this object has never had a legal hold applied. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   65     64   
    ///   - [`expires(Option<DateTime>)`](crate::operation::head_object::HeadObjectOutput::expires): <p>The date and time at which the object is no longer cacheable.</p>
   66     65   
    ///   - [`expires_string(Option<String>)`](crate::operation::head_object::HeadObjectOutput::expires_string): <p>The date and time at which the object is no longer cacheable.</p>
   67     66   
    /// - On failure, responds with [`SdkError<HeadObjectError>`](crate::operation::head_object::HeadObjectError)
   68     67   
    pub fn head_object(&self) -> crate::operation::head_object::builders::HeadObjectFluentBuilder {
   69     68   
        crate::operation::head_object::builders::HeadObjectFluentBuilder::new(self.handle.clone())
   70     69   
    }
   71     70   
}

tmp-codegen-diff/aws-sdk/sdk/s3/src/client/list_bucket_intelligent_tiering_configurations.rs

@@ -1,1 +22,21 @@
    1      1   
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
    2      2   
impl super::Client {
    3      3   
    /// Constructs a fluent builder for the [`ListBucketIntelligentTieringConfigurations`](crate::operation::list_bucket_intelligent_tiering_configurations::builders::ListBucketIntelligentTieringConfigurationsFluentBuilder) operation.
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6      6   
    ///   - [`bucket(impl Into<String>)`](crate::operation::list_bucket_intelligent_tiering_configurations::builders::ListBucketIntelligentTieringConfigurationsFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::list_bucket_intelligent_tiering_configurations::builders::ListBucketIntelligentTieringConfigurationsFluentBuilder::set_bucket):<br>required: **true**<br><p>The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.</p><br>
    7      7   
    ///   - [`continuation_token(impl Into<String>)`](crate::operation::list_bucket_intelligent_tiering_configurations::builders::ListBucketIntelligentTieringConfigurationsFluentBuilder::continuation_token) / [`set_continuation_token(Option<String>)`](crate::operation::list_bucket_intelligent_tiering_configurations::builders::ListBucketIntelligentTieringConfigurationsFluentBuilder::set_continuation_token):<br>required: **false**<br><p>The <code>ContinuationToken</code> that represents a placeholder from where this request should begin.</p><br>
    8         -
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::list_bucket_intelligent_tiering_configurations::builders::ListBucketIntelligentTieringConfigurationsFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::list_bucket_intelligent_tiering_configurations::builders::ListBucketIntelligentTieringConfigurationsFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p><br>
    9      8   
    /// - On success, responds with [`ListBucketIntelligentTieringConfigurationsOutput`](crate::operation::list_bucket_intelligent_tiering_configurations::ListBucketIntelligentTieringConfigurationsOutput) with field(s):
   10      9   
    ///   - [`is_truncated(Option<bool>)`](crate::operation::list_bucket_intelligent_tiering_configurations::ListBucketIntelligentTieringConfigurationsOutput::is_truncated): <p>Indicates whether the returned list of analytics configurations is complete. A value of <code>true</code> indicates that the list is not complete and the <code>NextContinuationToken</code> will be provided for a subsequent request.</p>
   11     10   
    ///   - [`continuation_token(Option<String>)`](crate::operation::list_bucket_intelligent_tiering_configurations::ListBucketIntelligentTieringConfigurationsOutput::continuation_token): <p>The <code>ContinuationToken</code> that represents a placeholder from where this request should begin.</p>
   12     11   
    ///   - [`next_continuation_token(Option<String>)`](crate::operation::list_bucket_intelligent_tiering_configurations::ListBucketIntelligentTieringConfigurationsOutput::next_continuation_token): <p>The marker used to continue this inventory configuration listing. Use the <code>NextContinuationToken</code> from this response to continue the listing in a subsequent request. The continuation token is an opaque value that Amazon S3 understands.</p>
   13     12   
    ///   - [`intelligent_tiering_configuration_list(Option<Vec::<IntelligentTieringConfiguration>>)`](crate::operation::list_bucket_intelligent_tiering_configurations::ListBucketIntelligentTieringConfigurationsOutput::intelligent_tiering_configuration_list): <p>The list of S3 Intelligent-Tiering configurations for a bucket.</p>
   14     13   
    /// - On failure, responds with [`SdkError<ListBucketIntelligentTieringConfigurationsError>`](crate::operation::list_bucket_intelligent_tiering_configurations::ListBucketIntelligentTieringConfigurationsError)
   15     14   
    pub fn list_bucket_intelligent_tiering_configurations(
   16     15   
        &self,
   17     16   
    ) -> crate::operation::list_bucket_intelligent_tiering_configurations::builders::ListBucketIntelligentTieringConfigurationsFluentBuilder {
   18     17   
        crate::operation::list_bucket_intelligent_tiering_configurations::builders::ListBucketIntelligentTieringConfigurationsFluentBuilder::new(