AWS SDK

AWS SDK

rev. 70cd16feb2a80dd4eea28441a663e2af6c7561c0

Files changed:

tmp-codegen-diff/aws-sdk/sdk/route53/src/endpoint_lib/partition.rs

@@ -3,3 +62,63 @@
   23     23   
    partitions: Vec<PartitionMetadata>,
   24     24   
}
   25     25   
   26     26   
impl PartitionResolver {
   27     27   
    pub(crate) fn from_partitions(partitions: Vec<PartitionMetadata>) -> Self {
   28     28   
        Self { partitions }
   29     29   
    }
   30     30   
}
   31     31   
   32     32   
/// Partition result returned from partition resolver
          33  +
#[derive(Debug, Default, Clone)]
   33     34   
pub(crate) struct Partition<'a> {
   34     35   
    name: &'a str,
   35     36   
    dns_suffix: &'a str,
   36     37   
    dual_stack_dns_suffix: &'a str,
   37     38   
    supports_fips: bool,
   38     39   
    supports_dual_stack: bool,
   39     40   
    implicit_global_region: &'a str,
   40     41   
}
   41     42   
   42     43   
#[allow(unused)]

tmp-codegen-diff/aws-sdk/sdk/s3/Cargo.toml

@@ -1,1 +94,89 @@
   14     14   
protocol = "aws.protocols#restXml"
   15     15   
[package.metadata.docs.rs]
   16     16   
all-features = true
   17     17   
targets = ["x86_64-unknown-linux-gnu"]
   18     18   
[dependencies.aws-credential-types]
   19     19   
path = "../aws-credential-types"
   20     20   
version = "1.2.11"
   21     21   
   22     22   
[dependencies.aws-runtime]
   23     23   
path = "../aws-runtime"
   24         -
features = ["event-stream", "http-02x"]
          24  +
features = ["http-02x"]
   25     25   
version = "1.5.17"
   26     26   
   27     27   
[dependencies.aws-sigv4]
   28     28   
path = "../aws-sigv4"
   29     29   
version = "1.3.7"
   30     30   
   31     31   
[dependencies.aws-smithy-async]
   32     32   
path = "../aws-smithy-async"
   33     33   
version = "1.2.7"
   34     34   
   35     35   
[dependencies.aws-smithy-checksums]
   36     36   
path = "../aws-smithy-checksums"
   37     37   
version = "0.63.12"
   38     38   
   39         -
[dependencies.aws-smithy-eventstream]
   40         -
path = "../aws-smithy-eventstream"
   41         -
version = "0.60.14"
   42         -
   43     39   
[dependencies.aws-smithy-http]
   44     40   
path = "../aws-smithy-http"
   45         -
features = ["event-stream"]
   46     41   
version = "0.62.6"
   47     42   
   48     43   
[dependencies.aws-smithy-json]
   49     44   
path = "../aws-smithy-json"
   50     45   
version = "0.61.8"
   51     46   
   52     47   
[dependencies.aws-smithy-runtime]
   53     48   
path = "../aws-smithy-runtime"
   54     49   
features = ["client"]
   55     50   
version = "1.9.5"
   56     51   
   57     52   
[dependencies.aws-smithy-runtime-api]
   58     53   
path = "../aws-smithy-runtime-api"
   59     54   
features = ["client", "http-02x"]
   60     55   
version = "1.9.3"
   61     56   
   62     57   
[dependencies.aws-smithy-types]
   63     58   
path = "../aws-smithy-types"
   64         -
version = "1.3.5"
          59  +
version = "1.3.6"
   65     60   
   66     61   
[dependencies.aws-smithy-xml]
   67     62   
path = "../aws-smithy-xml"
   68     63   
version = "0.60.13"
   69     64   
   70     65   
[dependencies.aws-types]
   71     66   
path = "../aws-types"
   72     67   
version = "1.3.11"
   73     68   
   74     69   
[dependencies.bytes]
@@ -111,106 +202,192 @@
  131    126   
[dev-dependencies.aws-runtime]
  132    127   
path = "../aws-runtime"
  133    128   
features = ["test-util"]
  134    129   
version = "1.5.17"
  135    130   
  136    131   
[dev-dependencies.aws-smithy-async]
  137    132   
path = "../aws-smithy-async"
  138    133   
features = ["test-util"]
  139    134   
version = "1.2.7"
  140    135   
  141         -
[dev-dependencies.aws-smithy-eventstream]
  142         -
path = "../aws-smithy-eventstream"
  143         -
features = ["test-util"]
  144         -
version = "0.60.14"
  145         -
  146    136   
[dev-dependencies.aws-smithy-http-client]
  147    137   
path = "../aws-smithy-http-client"
  148    138   
features = ["test-util", "wire-mock", "rustls-ring"]
  149    139   
version = "1.1.5"
  150    140   
  151    141   
[dev-dependencies.aws-smithy-mocks]
  152    142   
path = "../aws-smithy-mocks"
  153    143   
version = "0.2.2"
  154    144   
  155    145   
[dev-dependencies.aws-smithy-protocol-test]
  156    146   
path = "../aws-smithy-protocol-test"
  157    147   
version = "0.63.7"
  158    148   
  159    149   
[dev-dependencies.aws-smithy-runtime]
  160    150   
path = "../aws-smithy-runtime"
  161    151   
features = ["test-util"]
  162    152   
version = "1.9.5"
  163    153   
  164    154   
[dev-dependencies.aws-smithy-runtime-api]
  165    155   
path = "../aws-smithy-runtime-api"
  166    156   
features = ["test-util", "client", "http-02x"]
  167    157   
version = "1.9.3"
  168    158   
  169    159   
[dev-dependencies.aws-smithy-types]
  170    160   
path = "../aws-smithy-types"
  171    161   
features = ["test-util"]
  172         -
version = "1.3.5"
         162  +
version = "1.3.6"
  173    163   
  174    164   
[dev-dependencies.bytes-utils]
  175    165   
version = "0.1.0"
  176    166   
  177    167   
[dev-dependencies.futures-util]
  178    168   
version = "0.3.25"
  179    169   
features = ["alloc"]
  180    170   
default-features = false
  181    171   
  182    172   
[dev-dependencies.hdrhistogram]

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

@@ -161,161 +315,309 @@
  181    181   
}
  182    182   
  183    183   
mod abort_multipart_upload;
  184    184   
  185    185   
mod complete_multipart_upload;
  186    186   
  187    187   
mod copy_object;
  188    188   
  189    189   
mod create_bucket;
  190    190   
  191         -
mod create_bucket_metadata_configuration;
  192         -
  193    191   
mod create_bucket_metadata_table_configuration;
  194    192   
  195    193   
mod create_multipart_upload;
  196    194   
  197    195   
mod create_session;
  198    196   
  199    197   
/// Operation customization and supporting types.
  200    198   
///
  201    199   
/// The underlying HTTP requests made during an operation can be customized
  202    200   
/// by calling the `customize()` method on the builder returned from a client
  203    201   
/// operation call. For example, this can be used to add an additional HTTP header:
  204    202   
///
  205    203   
/// ```ignore
  206    204   
/// # async fn wrapper() -> ::std::result::Result<(), aws_sdk_s3::Error> {
  207    205   
/// # let client: aws_sdk_s3::Client = unimplemented!();
  208    206   
/// use ::http::header::{HeaderName, HeaderValue};
  209    207   
///
  210    208   
/// let result = client.abort_multipart_upload()
  211    209   
///     .customize()
  212    210   
///     .mutate_request(|req| {
  213    211   
///         // Add `x-example-header` with value
  214    212   
///         req.headers_mut()
  215    213   
///             .insert(
  216    214   
///                 HeaderName::from_static("x-example-header"),
  217    215   
///                 HeaderValue::from_static("1"),
  218    216   
///             );
  219    217   
///     })
  220    218   
///     .send()
  221    219   
///     .await;
  222    220   
/// # }
  223    221   
/// ```
  224    222   
pub mod customize;
  225    223   
  226    224   
mod delete_bucket;
  227    225   
  228    226   
mod delete_bucket_analytics_configuration;
  229    227   
  230    228   
mod delete_bucket_cors;
  231    229   
  232    230   
mod delete_bucket_encryption;
  233    231   
  234    232   
mod delete_bucket_intelligent_tiering_configuration;
  235    233   
  236    234   
mod delete_bucket_inventory_configuration;
  237    235   
  238    236   
mod delete_bucket_lifecycle;
  239    237   
  240         -
mod delete_bucket_metadata_configuration;
  241         -
  242    238   
mod delete_bucket_metadata_table_configuration;
  243    239   
  244    240   
mod delete_bucket_metrics_configuration;
  245    241   
  246    242   
mod delete_bucket_ownership_controls;
  247    243   
  248    244   
mod delete_bucket_policy;
  249    245   
  250    246   
mod delete_bucket_replication;
  251    247   
  252    248   
mod delete_bucket_tagging;
  253    249   
  254    250   
mod delete_bucket_website;
  255    251   
  256    252   
mod delete_object;
  257    253   
  258    254   
mod delete_object_tagging;
  259    255   
  260    256   
mod delete_objects;
  261    257   
  262    258   
mod delete_public_access_block;
  263    259   
  264    260   
mod get_bucket_accelerate_configuration;
  265    261   
  266    262   
mod get_bucket_acl;
  267    263   
  268    264   
mod get_bucket_analytics_configuration;
  269    265   
  270    266   
mod get_bucket_cors;
  271    267   
  272    268   
mod get_bucket_encryption;
  273    269   
  274    270   
mod get_bucket_intelligent_tiering_configuration;
  275    271   
  276    272   
mod get_bucket_inventory_configuration;
  277    273   
  278    274   
mod get_bucket_lifecycle_configuration;
  279    275   
  280    276   
mod get_bucket_location;
  281    277   
  282    278   
mod get_bucket_logging;
  283    279   
  284         -
mod get_bucket_metadata_configuration;
  285         -
  286    280   
mod get_bucket_metadata_table_configuration;
  287    281   
  288    282   
mod get_bucket_metrics_configuration;
  289    283   
  290    284   
mod get_bucket_notification_configuration;
  291    285   
  292    286   
mod get_bucket_ownership_controls;
  293    287   
  294    288   
mod get_bucket_policy;
  295    289   
@@ -372,366 +416,402 @@
  392    386   
mod put_object_legal_hold;
  393    387   
  394    388   
mod put_object_lock_configuration;
  395    389   
  396    390   
mod put_object_retention;
  397    391   
  398    392   
mod put_object_tagging;
  399    393   
  400    394   
mod put_public_access_block;
  401    395   
  402         -
mod rename_object;
  403         -
  404    396   
mod restore_object;
  405    397   
  406         -
mod select_object_content;
  407         -
  408         -
mod update_bucket_metadata_inventory_table_configuration;
  409         -
  410         -
mod update_bucket_metadata_journal_table_configuration;
  411         -
  412    398   
mod upload_part;
  413    399   
  414    400   
mod upload_part_copy;
  415    401   
  416    402   
mod write_get_object_response;

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

@@ -6,6 +45,45 @@
   26     26   
    ///   - [`bucket(Option<String>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::bucket): <p>The name of the bucket that contains the newly created object. 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>
   27     27   
    ///   - [`key(Option<String>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::key): <p>The object key of the newly created object.</p>
   28     28   
    ///   - [`expiration(Option<String>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::expiration): <p>If the object expiration is configured, this will contain the expiration date (<code>expiry-date</code>) and rule ID (<code>rule-id</code>). The value of <code>rule-id</code> is URL-encoded.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   29     29   
    ///   - [`e_tag(Option<String>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::e_tag): <p>Entity tag that identifies the newly created object's data. Objects with different object data will have different entity tags. The entity tag is an opaque string. The entity tag may or may not be an MD5 digest of the object data. If the entity tag is not an MD5 digest of the object data, it will contain one or more nonhexadecimal characters and/or will consist of less than 32 or more than 32 hexadecimal digits. For more information about how the entity tag is calculated, 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>
   30     30   
    ///   - [`checksum_crc32(Option<String>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::checksum_crc32): <p>The Base64 encoded, 32-bit <code>CRC32 checksum</code> of the object. This checksum is only be present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
   31     31   
    ///   - [`checksum_crc32_c(Option<String>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::checksum_crc32_c): <p>The Base64 encoded, 32-bit <code>CRC32C</code> checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
   32     32   
    ///   - [`checksum_crc64_nvme(Option<String>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::checksum_crc64_nvme): <p>This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 64-bit <code>CRC64NVME</code> checksum of the object. The <code>CRC64NVME</code> checksum is always a full object checksum. 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>
   33     33   
    ///   - [`checksum_sha1(Option<String>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::checksum_sha1): <p>The Base64 encoded, 160-bit <code>SHA1</code> digest of the object. This will only be present if the object was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
   34     34   
    ///   - [`checksum_sha256(Option<String>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::checksum_sha256): <p>The Base64 encoded, 256-bit <code>SHA256</code> digest of the object. This will only be present if the object was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
   35     35   
    ///   - [`checksum_type(Option<ChecksumType>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::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 as a data integrity check to verify that the checksum type that is received is the same checksum type that was specified during 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 in the Amazon S3 User Guide</a>.</p>
   36         -
    ///   - [`server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::server_side_encryption): <p>The server-side encryption algorithm used when storing this object in Amazon S3.</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> <p></p>
          36  +
    ///   - [`server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::server_side_encryption): <p>The server-side encryption algorithm used when storing this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>).</p>
   37     37   
    ///   - [`version_id(Option<String>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::version_id): <p>Version ID of the newly created object, in case the bucket has versioning turned on.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   38     38   
    ///   - [`ssekms_key_id(Option<String>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::ssekms_key_id): <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
   39     39   
    ///   - [`bucket_key_enabled(Option<bool>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::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>
   40     40   
    ///   - [`request_charged(Option<RequestCharged>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::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>
   41     41   
    /// - On failure, responds with [`SdkError<CompleteMultipartUploadError>`](crate::operation::complete_multipart_upload::CompleteMultipartUploadError)
   42     42   
    pub fn complete_multipart_upload(&self) -> crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadFluentBuilder {
   43     43   
        crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadFluentBuilder::new(self.handle.clone())
   44     44   
    }
   45     45   
}

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>