AWS SDK

AWS SDK

rev. 38c93466fc9ad69b0262eaf1b3890769b67aa0a3

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

@@ -39,39 +99,99 @@
   59     59   
version = "1.10.2"
   60     60   
   61     61   
[dependencies.aws-smithy-runtime-api]
   62     62   
path = "../aws-smithy-runtime-api"
   63     63   
features = ["client", "http-1x", "http-02x"]
   64     64   
version = "1.11.5"
   65     65   
   66     66   
[dependencies.aws-smithy-types]
   67     67   
path = "../aws-smithy-types"
   68     68   
features = ["http-body-1-x"]
   69         -
version = "1.4.5"
          69  +
version = "1.4.6"
   70     70   
   71     71   
[dependencies.aws-smithy-xml]
   72     72   
path = "../aws-smithy-xml"
   73     73   
version = "0.60.14"
   74     74   
   75     75   
[dependencies.aws-types]
   76     76   
path = "../aws-types"
   77     77   
version = "1.3.13"
   78     78   
   79     79   
[dependencies.bytes]
@@ -143,143 +203,203 @@
  163    163   
version = "1.10.2"
  164    164   
  165    165   
[dev-dependencies.aws-smithy-runtime-api]
  166    166   
path = "../aws-smithy-runtime-api"
  167    167   
features = ["test-util", "client", "http-1x"]
  168    168   
version = "1.11.5"
  169    169   
  170    170   
[dev-dependencies.aws-smithy-types]
  171    171   
path = "../aws-smithy-types"
  172    172   
features = ["http-body-1-x", "test-util"]
  173         -
version = "1.4.5"
         173  +
version = "1.4.6"
  174    174   
  175    175   
[dev-dependencies.bytes-utils]
  176    176   
version = "0.1.0"
  177    177   
  178    178   
[dev-dependencies.futures-util]
  179    179   
version = "0.3.25"
  180    180   
features = ["alloc"]
  181    181   
default-features = false
  182    182   
  183    183   
[dev-dependencies.hdrhistogram]

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

@@ -234,234 +293,295 @@
  254    254   
mod delete_bucket_website;
  255    255   
  256    256   
mod delete_object;
  257    257   
  258    258   
mod delete_object_tagging;
  259    259   
  260    260   
mod delete_objects;
  261    261   
  262    262   
mod delete_public_access_block;
  263    263   
         264  +
mod get_bucket_abac;
         265  +
  264    266   
mod get_bucket_accelerate_configuration;
  265    267   
  266    268   
mod get_bucket_acl;
  267    269   
  268    270   
mod get_bucket_analytics_configuration;
  269    271   
  270    272   
mod get_bucket_cors;
  271    273   
  272    274   
mod get_bucket_encryption;
  273    275   
@@ -322,324 +381,385 @@
  342    344   
mod list_multipart_uploads;
  343    345   
  344    346   
mod list_object_versions;
  345    347   
  346    348   
mod list_objects;
  347    349   
  348    350   
mod list_objects_v2;
  349    351   
  350    352   
mod list_parts;
  351    353   
         354  +
mod put_bucket_abac;
         355  +
  352    356   
mod put_bucket_accelerate_configuration;
  353    357   
  354    358   
mod put_bucket_acl;
  355    359   
  356    360   
mod put_bucket_analytics_configuration;
  357    361   
  358    362   
mod put_bucket_cors;
  359    363   
  360    364   
mod put_bucket_encryption;
  361    365   

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

@@ -1,1 +45,45 @@
   20     20   
    ///   - [`if_none_match(impl Into<String>)`](crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadFluentBuilder::if_none_match) / [`set_if_none_match(Option<String>)`](crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadFluentBuilder::set_if_none_match):<br>required: **false**<br><p>Uploads the object only if the object key name does not already exist in the bucket specified. Otherwise, Amazon S3 returns a <code>412 Precondition Failed</code> error.</p> <p>If a conflicting operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should re-initiate the multipart upload with <code>CreateMultipartUpload</code> and re-upload each part.</p> <p>Expects the '*' (asterisk) character.</p> <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>, or <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html">Conditional requests</a> in the <i>Amazon S3 User Guide</i>.</p><br>
   21     21   
    ///   - [`sse_customer_algorithm(impl Into<String>)`](crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadFluentBuilder::sse_customer_algorithm) / [`set_sse_customer_algorithm(Option<String>)`](crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadFluentBuilder::set_sse_customer_algorithm):<br>required: **false**<br><p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is required only when the object was created using a checksum algorithm or if your bucket policy requires the use of SSE-C. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   22     22   
    ///   - [`sse_customer_key(impl Into<String>)`](crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadFluentBuilder::sse_customer_key) / [`set_sse_customer_key(Option<String>)`](crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadFluentBuilder::set_sse_customer_key):<br>required: **false**<br><p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   23     23   
    ///   - [`sse_customer_key_md5(impl Into<String>)`](crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadFluentBuilder::sse_customer_key_md5) / [`set_sse_customer_key_md5(Option<String>)`](crate::operation::complete_multipart_upload::builders::CompleteMultipartUploadFluentBuilder::set_sse_customer_key_md5):<br>required: **false**<br><p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   24     24   
    /// - On success, responds with [`CompleteMultipartUploadOutput`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput) with field(s):
   25     25   
    ///   - [`location(Option<String>)`](crate::operation::complete_multipart_upload::CompleteMultipartUploadOutput::location): <p>The URI that identifies the newly created object.</p>
   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         -
    ///   - [`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>
          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 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         -
    ///   - [`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         -
    ///   - [`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>
          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 checksum is only present if the checksum 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  +
    ///   - [`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 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>
   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     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>
   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   
    }

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

@@ -1,1 +53,55 @@
   14     14   
    ///   - [`copy_source(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::copy_source) / [`set_copy_source(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_copy_source):<br>required: **true**<br><p>Specifies the source object for the copy operation. The source object can be up to 5 GB. If the source object is an object that was uploaded by using a multipart upload, the object copy will be a single part object after the source object is copied to the destination bucket.</p> <p>You specify the value of the copy source in one of two formats, depending on whether you want to access the source object through an <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html">access point</a>:</p> <ul>  <li>   <p>For objects not accessed through an access point, specify the name of the source bucket and the key of the source object, separated by a slash (/). For example, to copy the object <code>reports/january.pdf</code> from the general purpose bucket <code>awsexamplebucket</code>, use <code>awsexamplebucket/reports/january.pdf</code>. The value must be URL-encoded. To copy the object <code>reports/january.pdf</code> from the directory bucket <code>awsexamplebucket--use1-az5--x-s3</code>, use <code>awsexamplebucket--use1-az5--x-s3/reports/january.pdf</code>. The value must be URL-encoded.</p></li>  <li>   <p>For objects accessed through access points, specify the Amazon Resource Name (ARN) of the object as accessed through the access point, in the format <code>arn:aws:s3:<region>      :      <account-id>       :accesspoint/       <access-point-name>        /object/        <key></key>       </access-point-name>      </account-id>     </region></code>. For example, to copy the object <code>reports/january.pdf</code> through access point <code>my-access-point</code> owned by account <code>123456789012</code> in Region <code>us-west-2</code>, use the URL encoding of <code>arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf</code>. The value must be URL encoded.</p><note>    <ul>     <li>      <p>Amazon S3 supports copy operations using Access points only when the source and destination buckets are in the same Amazon Web Services Region.</p></li>     <li>      <p>Access points are not supported by directory buckets.</p></li>    </ul>   </note>   <p>Alternatively, for objects accessed through Amazon S3 on Outposts, specify the ARN of the object as accessed in the format <code>arn:aws:s3-outposts:<region>      :      <account-id>       :outpost/       <outpost-id>        /object/        <key></key>       </outpost-id>      </account-id>     </region></code>. For example, to copy the object <code>reports/january.pdf</code> through outpost <code>my-outpost</code> owned by account <code>123456789012</code> in Region <code>us-west-2</code>, use the URL encoding of <code>arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf</code>. The value must be URL-encoded.</p></li> </ul> <p>If your source bucket versioning is enabled, the <code>x-amz-copy-source</code> header by default identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the <code>versionId</code> query parameter. Specifically, append <code>?versionId=<version-id></version-id></code> to the value (for example, <code>awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893</code>). If you don't specify a version ID, Amazon S3 copies the latest version of the source object.</p> <p>If you enable versioning on the destination bucket, Amazon S3 generates a unique version ID for the copied object. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the <code>x-amz-version-id</code> response header in the response.</p> <p>If you do not enable versioning or suspend it on the destination bucket, the version ID that Amazon S3 generates in the <code>x-amz-version-id</code> response header is always null.</p><note>  <p><b>Directory buckets</b> - S3 Versioning isn't enabled and supported for directory buckets.</p> </note><br>
   15     15   
    ///   - [`copy_source_if_match(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::copy_source_if_match) / [`set_copy_source_if_match(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_copy_source_if_match):<br>required: **false**<br><p>Copies the object if its entity tag (ETag) matches the specified tag.</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>
   16     16   
    ///   - [`copy_source_if_modified_since(DateTime)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::copy_source_if_modified_since) / [`set_copy_source_if_modified_since(Option<DateTime>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_copy_source_if_modified_since):<br>required: **false**<br><p>Copies the object if it has been modified since the specified time.</p> <p>If both the <code>x-amz-copy-source-if-none-match</code> and <code>x-amz-copy-source-if-modified-since</code> headers are present in the request and evaluate as follows, Amazon S3 returns the <code>412 Precondition Failed</code> response code:</p> <ul>  <li>   <p><code>x-amz-copy-source-if-none-match</code> condition evaluates to false</p></li>  <li>   <p><code>x-amz-copy-source-if-modified-since</code> condition evaluates to true</p></li> </ul><br>
   17     17   
    ///   - [`copy_source_if_none_match(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::copy_source_if_none_match) / [`set_copy_source_if_none_match(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_copy_source_if_none_match):<br>required: **false**<br><p>Copies the object if its entity tag (ETag) is different than the specified ETag.</p> <p>If both the <code>x-amz-copy-source-if-none-match</code> and <code>x-amz-copy-source-if-modified-since</code> headers are present in the request and evaluate as follows, Amazon S3 returns the <code>412 Precondition Failed</code> response code:</p> <ul>  <li>   <p><code>x-amz-copy-source-if-none-match</code> condition evaluates to false</p></li>  <li>   <p><code>x-amz-copy-source-if-modified-since</code> condition evaluates to true</p></li> </ul><br>
   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  +
    ///   - [`if_match(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::if_match) / [`set_if_match(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_if_match):<br>required: **false**<br><p>Copies the object if the entity tag (ETag) of the destination object matches the specified tag. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error. If a concurrent operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should fetch the object's ETag and retry the upload.</p> <p>Expects the ETag value as a string.</p> <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p><br>
          25  +
    ///   - [`if_none_match(impl Into<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::if_none_match) / [`set_if_none_match(Option<String>)`](crate::operation::copy_object::builders::CopyObjectFluentBuilder::set_if_none_match):<br>required: **false**<br><p>Copies the object only if the object key name at the destination does not already exist in the bucket specified. Otherwise, Amazon S3 returns a <code>412 Precondition Failed</code> error. If a concurrent operation occurs during the upload S3 returns a <code>409 ConditionalRequestConflict</code> response. On a 409 failure you should retry the upload.</p> <p>Expects the '*' (asterisk) character.</p> <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p><br>
   24     26   
    ///   - [`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     27   
    ///   - [`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     28   
    ///   - [`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     29   
    ///   - [`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     30   
    ///   - [`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>
   29     31   
    ///   - [`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     32   
    ///   - [`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     33   
    ///   - [`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     34   
    ///   - [`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     35   
    ///   - [`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>

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

@@ -1,1 +24,24 @@
    3      3   
    /// Constructs a fluent builder for the [`DeleteObject`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder) operation.
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6      6   
    ///   - [`bucket(impl Into<String>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::set_bucket):<br>required: **true**<br><p>The bucket name of the bucket containing the object.</p> <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>amzn-s3-demo-bucket</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p> <p><b>Access points</b> - When you use this action with an access point for general purpose buckets, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When you use this action with an access point for directory buckets, you must provide the access point name in place of the bucket name. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>  <p>Object Lambda access points are not supported by directory buckets.</p> </note> <p><b>S3 on Outposts</b> - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more information about S3 on Outposts, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p><br>
    7      7   
    ///   - [`key(impl Into<String>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::key) / [`set_key(Option<String>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::set_key):<br>required: **true**<br><p>Key name of the object to delete.</p><br>
    8      8   
    ///   - [`mfa(impl Into<String>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::mfa) / [`set_mfa(Option<String>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::set_mfa):<br>required: **false**<br><p>The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device. Required to permanently delete a versioned object if versioning is configured with MFA delete enabled.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
    9      9   
    ///   - [`version_id(impl Into<String>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::version_id) / [`set_version_id(Option<String>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::set_version_id):<br>required: **false**<br><p>Version ID used to reference a specific version of the object.</p><note>  <p>For directory buckets in this API operation, only the <code>null</code> value of the version ID is supported.</p> </note><br>
   10     10   
    ///   - [`request_payer(RequestPayer)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::request_payer) / [`set_request_payer(Option<RequestPayer>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::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>
   11     11   
    ///   - [`bypass_governance_retention(bool)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::bypass_governance_retention) / [`set_bypass_governance_retention(Option<bool>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::set_bypass_governance_retention):<br>required: **false**<br><p>Indicates whether S3 Object Lock should bypass Governance-mode restrictions to process this operation. To use this header, you must have the <code>s3:BypassGovernanceRetention</code> permission.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   12     12   
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::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>
   13         -
    ///   - [`if_match(impl Into<String>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::if_match) / [`set_if_match(Option<String>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::set_if_match):<br>required: **false**<br><p>The <code>If-Match</code> header field makes the request method conditional on ETags. If the ETag value does not match, the operation returns a <code>412 Precondition Failed</code> error. If the ETag matches or if the object doesn't exist, the operation will return a <code>204 Success (No Content) response</code>.</p> <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p><note>  <p>This functionality is only supported for directory buckets.</p> </note><br>
          13  +
    ///   - [`if_match(impl Into<String>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::if_match) / [`set_if_match(Option<String>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::set_if_match):<br>required: **false**<br><p>Deletes the object if the ETag (entity tag) value provided during the delete operation matches the ETag of the object in S3. If the ETag values do not match, the operation returns a <code>412 Precondition Failed</code> error.</p> <p>Expects the ETag value as a string. <code>If-Match</code> does accept a string value of an '*' (asterisk) character to denote a match of any ETag.</p> <p>For more information about conditional requests, see <a href="https://tools.ietf.org/html/rfc7232">RFC 7232</a>.</p><br>
   14     14   
    ///   - [`if_match_last_modified_time(DateTime)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::if_match_last_modified_time) / [`set_if_match_last_modified_time(Option<DateTime>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::set_if_match_last_modified_time):<br>required: **false**<br><p>If present, the object is deleted only if its modification times matches the provided <code>Timestamp</code>. If the <code>Timestamp</code> values do not match, the operation returns a <code>412 Precondition Failed</code> error. If the <code>Timestamp</code> matches or if the object doesn’t exist, the operation returns a <code>204 Success (No Content)</code> response.</p><note>  <p>This functionality is only supported for directory buckets.</p> </note><br>
   15     15   
    ///   - [`if_match_size(i64)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::if_match_size) / [`set_if_match_size(Option<i64>)`](crate::operation::delete_object::builders::DeleteObjectFluentBuilder::set_if_match_size):<br>required: **false**<br><p>If present, the object is deleted only if its size matches the provided size in bytes. If the <code>Size</code> value does not match, the operation returns a <code>412 Precondition Failed</code> error. If the <code>Size</code> matches or if the object doesn’t exist, the operation returns a <code>204 Success (No Content)</code> response.</p><note>  <p>This functionality is only supported for directory buckets.</p> </note> <important>  <p>You can use the <code>If-Match</code>, <code>x-amz-if-match-last-modified-time</code> and <code>x-amz-if-match-size</code> conditional headers in conjunction with each-other or individually.</p> </important><br>
   16     16   
    /// - On success, responds with [`DeleteObjectOutput`](crate::operation::delete_object::DeleteObjectOutput) with field(s):
   17     17   
    ///   - [`delete_marker(Option<bool>)`](crate::operation::delete_object::DeleteObjectOutput::delete_marker): <p>Indicates whether the specified object version that was permanently deleted was (true) or was not (false) a delete marker before deletion. In a simple DELETE, this header indicates whether (true) or not (false) the current version of the object is a delete marker. To learn more about delete markers, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeleteMarker.html">Working with delete markers</a>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   18     18   
    ///   - [`version_id(Option<String>)`](crate::operation::delete_object::DeleteObjectOutput::version_id): <p>Returns the version ID of the delete marker created as a result of the DELETE operation.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   19     19   
    ///   - [`request_charged(Option<RequestCharged>)`](crate::operation::delete_object::DeleteObjectOutput::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>
   20     20   
    /// - On failure, responds with [`SdkError<DeleteObjectError>`](crate::operation::delete_object::DeleteObjectError)
   21     21   
    pub fn delete_object(&self) -> crate::operation::delete_object::builders::DeleteObjectFluentBuilder {
   22     22   
        crate::operation::delete_object::builders::DeleteObjectFluentBuilder::new(self.handle.clone())
   23     23   
    }

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

@@ -0,1 +0,14 @@
           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 [`GetBucketAbac`](crate::operation::get_bucket_abac::builders::GetBucketAbacFluentBuilder) operation.
           4  +
    ///
           5  +
    /// - The fluent builder is configurable:
           6  +
    ///   - [`bucket(impl Into<String>)`](crate::operation::get_bucket_abac::builders::GetBucketAbacFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::get_bucket_abac::builders::GetBucketAbacFluentBuilder::set_bucket):<br>required: **true**<br><p>The name of the general purpose bucket.</p><br>
           7  +
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::get_bucket_abac::builders::GetBucketAbacFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::get_bucket_abac::builders::GetBucketAbacFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The Amazon Web Services account ID of the general purpose bucket's owner.</p><br>
           8  +
    /// - On success, responds with [`GetBucketAbacOutput`](crate::operation::get_bucket_abac::GetBucketAbacOutput) with field(s):
           9  +
    ///   - [`abac_status(Option<AbacStatus>)`](crate::operation::get_bucket_abac::GetBucketAbacOutput::abac_status): <p>The ABAC status of the general purpose bucket.</p>
          10  +
    /// - On failure, responds with [`SdkError<GetBucketAbacError>`](crate::operation::get_bucket_abac::GetBucketAbacError)
          11  +
    pub fn get_bucket_abac(&self) -> crate::operation::get_bucket_abac::builders::GetBucketAbacFluentBuilder {
          12  +
        crate::operation::get_bucket_abac::builders::GetBucketAbacFluentBuilder::new(self.handle.clone())
          13  +
    }
          14  +
}

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

@@ -1,1 +15,15 @@
    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 [`GetBucketAcl`](crate::operation::get_bucket_acl::builders::GetBucketAclFluentBuilder) operation.
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6      6   
    ///   - [`bucket(impl Into<String>)`](crate::operation::get_bucket_acl::builders::GetBucketAclFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::get_bucket_acl::builders::GetBucketAclFluentBuilder::set_bucket):<br>required: **true**<br><p>Specifies the S3 bucket whose ACL is being requested.</p> <p>When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.</p> <p>When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. If the Object Lambda access point alias in a request is not valid, the error code <code>InvalidAccessPointAliasError</code> is returned. For more information about <code>InvalidAccessPointAliasError</code>, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList">List of Error Codes</a>.</p><br>
    7      7   
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::get_bucket_acl::builders::GetBucketAclFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::get_bucket_acl::builders::GetBucketAclFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p><br>
    8      8   
    /// - On success, responds with [`GetBucketAclOutput`](crate::operation::get_bucket_acl::GetBucketAclOutput) with field(s):
    9         -
    ///   - [`owner(Option<Owner>)`](crate::operation::get_bucket_acl::GetBucketAclOutput::owner): <p>Container for the bucket owner's display name and ID.</p>
           9  +
    ///   - [`owner(Option<Owner>)`](crate::operation::get_bucket_acl::GetBucketAclOutput::owner): <p>Container for the bucket owner's ID.</p>
   10     10   
    ///   - [`grants(Option<Vec::<Grant>>)`](crate::operation::get_bucket_acl::GetBucketAclOutput::grants): <p>A list of grants.</p>
   11     11   
    /// - On failure, responds with [`SdkError<GetBucketAclError>`](crate::operation::get_bucket_acl::GetBucketAclError)
   12     12   
    pub fn get_bucket_acl(&self) -> crate::operation::get_bucket_acl::builders::GetBucketAclFluentBuilder {
   13     13   
        crate::operation::get_bucket_acl::builders::GetBucketAclFluentBuilder::new(self.handle.clone())
   14     14   
    }
   15     15   
}

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

@@ -7,7 +70,70 @@
   27     27   
    /// - On success, responds with [`GetObjectOutput`](crate::operation::get_object::GetObjectOutput) with field(s):
   28     28   
    ///   - [`body(ByteStream)`](crate::operation::get_object::GetObjectOutput::body): <p>Object data.</p>
   29     29   
    ///   - [`delete_marker(Option<bool>)`](crate::operation::get_object::GetObjectOutput::delete_marker): <p>Indicates whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.</p><note>  <ul>   <li>    <p>If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes <code>x-amz-delete-marker: true</code> in the response.</p></li>   <li>    <p>If the specified version in the request is a delete marker, the response returns a <code>405 Method Not Allowed</code> error and the <code>Last-Modified: timestamp</code> response header.</p></li>  </ul> </note>
   30     30   
    ///   - [`accept_ranges(Option<String>)`](crate::operation::get_object::GetObjectOutput::accept_ranges): <p>Indicates that a range of bytes was specified in the request.</p>
   31     31   
    ///   - [`expiration(Option<String>)`](crate::operation::get_object::GetObjectOutput::expiration): <p>If the object expiration is configured (see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html"> <code>PutBucketLifecycleConfiguration</code> </a>), the response includes this header. It includes the <code>expiry-date</code> and <code>rule-id</code> key-value pairs providing object expiration information. The value of the <code>rule-id</code> is URL-encoded.</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>
   32     32   
    ///   - [`restore(Option<String>)`](crate::operation::get_object::GetObjectOutput::restore): <p>Provides information about object restoration action and expiration time of the restored object copy.</p><note>  <p>This functionality is not supported for directory buckets. 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>
   33     33   
    ///   - [`last_modified(Option<DateTime>)`](crate::operation::get_object::GetObjectOutput::last_modified): <p>Date and time when the object was last modified.</p> <p><b>General purpose buckets </b> - When you specify a <code>versionId</code> of the object in your request, if the specified version in the request is a delete marker, the response returns a <code>405 Method Not Allowed</code> error and the <code>Last-Modified: timestamp</code> response header.</p>
   34     34   
    ///   - [`content_length(Option<i64>)`](crate::operation::get_object::GetObjectOutput::content_length): <p>Size of the body in bytes.</p>
   35     35   
    ///   - [`e_tag(Option<String>)`](crate::operation::get_object::GetObjectOutput::e_tag): <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a specific version of a resource found at a URL.</p>
   36     36   
    ///   - [`checksum_crc32(Option<String>)`](crate::operation::get_object::GetObjectOutput::checksum_crc32): <p>The Base64 encoded, 32-bit <code>CRC32</code> checksum of the object. This checksum is only present if the object was uploaded with 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>
   37         -
    ///   - [`checksum_crc32_c(Option<String>)`](crate::operation::get_object::GetObjectOutput::checksum_crc32_c): <p>The Base64 encoded, 32-bit <code>CRC32C</code> checksum of the object. This will only be present if the object was uploaded with 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>
          37  +
    ///   - [`checksum_crc32_c(Option<String>)`](crate::operation::get_object::GetObjectOutput::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. 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>
   38     38   
    ///   - [`checksum_crc64_nvme(Option<String>)`](crate::operation::get_object::GetObjectOutput::checksum_crc64_nvme): <p>The Base64 encoded, 64-bit <code>CRC64NVME</code> checksum of the object. 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>
   39         -
    ///   - [`checksum_sha1(Option<String>)`](crate::operation::get_object::GetObjectOutput::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. 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>
   40         -
    ///   - [`checksum_sha256(Option<String>)`](crate::operation::get_object::GetObjectOutput::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. 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>
          39  +
    ///   - [`checksum_sha1(Option<String>)`](crate::operation::get_object::GetObjectOutput::checksum_sha1): <p>The Base64 encoded, 160-bit <code>SHA1</code> digest of the object. This checksum is only present if the checksum was uploaded with 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>
          40  +
    ///   - [`checksum_sha256(Option<String>)`](crate::operation::get_object::GetObjectOutput::checksum_sha256): <p>The Base64 encoded, 256-bit <code>SHA256</code> digest of the object. This checksum is only present if the checksum was uploaded with 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>
   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>

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

@@ -1,1 +19,19 @@
    2      2   
impl super::Client {
    3      3   
    /// Constructs a fluent builder for the [`GetObjectAcl`](crate::operation::get_object_acl::builders::GetObjectAclFluentBuilder) operation.
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6      6   
    ///   - [`bucket(impl Into<String>)`](crate::operation::get_object_acl::builders::GetObjectAclFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::get_object_acl::builders::GetObjectAclFluentBuilder::set_bucket):<br>required: **true**<br><p>The bucket name that contains the object for which to get the ACL information.</p> <p><b>Access points</b> - When you use this action with an access point for general purpose buckets, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When you use this action with an access point for directory buckets, you must provide the access point name in place of the bucket name. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><br>
    7      7   
    ///   - [`key(impl Into<String>)`](crate::operation::get_object_acl::builders::GetObjectAclFluentBuilder::key) / [`set_key(Option<String>)`](crate::operation::get_object_acl::builders::GetObjectAclFluentBuilder::set_key):<br>required: **true**<br><p>The key of the object for which to get the ACL information.</p><br>
    8      8   
    ///   - [`version_id(impl Into<String>)`](crate::operation::get_object_acl::builders::GetObjectAclFluentBuilder::version_id) / [`set_version_id(Option<String>)`](crate::operation::get_object_acl::builders::GetObjectAclFluentBuilder::set_version_id):<br>required: **false**<br><p>Version ID used to reference a specific version of the object.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
    9      9   
    ///   - [`request_payer(RequestPayer)`](crate::operation::get_object_acl::builders::GetObjectAclFluentBuilder::request_payer) / [`set_request_payer(Option<RequestPayer>)`](crate::operation::get_object_acl::builders::GetObjectAclFluentBuilder::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>
   10     10   
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::get_object_acl::builders::GetObjectAclFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::get_object_acl::builders::GetObjectAclFluentBuilder::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>
   11     11   
    /// - On success, responds with [`GetObjectAclOutput`](crate::operation::get_object_acl::GetObjectAclOutput) with field(s):
   12         -
    ///   - [`owner(Option<Owner>)`](crate::operation::get_object_acl::GetObjectAclOutput::owner): <p>Container for the bucket owner's display name and ID.</p>
          12  +
    ///   - [`owner(Option<Owner>)`](crate::operation::get_object_acl::GetObjectAclOutput::owner): <p>Container for the bucket owner's ID.</p>
   13     13   
    ///   - [`grants(Option<Vec::<Grant>>)`](crate::operation::get_object_acl::GetObjectAclOutput::grants): <p>A list of grants.</p>
   14     14   
    ///   - [`request_charged(Option<RequestCharged>)`](crate::operation::get_object_acl::GetObjectAclOutput::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>
   15     15   
    /// - On failure, responds with [`SdkError<GetObjectAclError>`](crate::operation::get_object_acl::GetObjectAclError)
   16     16   
    pub fn get_object_acl(&self) -> crate::operation::get_object_acl::builders::GetObjectAclFluentBuilder {
   17     17   
        crate::operation::get_object_acl::builders::GetObjectAclFluentBuilder::new(self.handle.clone())
   18     18   
    }
   19     19   
}

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

@@ -5,5 +69,69 @@
   25     25   
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::head_object::builders::HeadObjectFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::head_object::builders::HeadObjectFluentBuilder::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>
   26     26   
    ///   - [`checksum_mode(ChecksumMode)`](crate::operation::head_object::builders::HeadObjectFluentBuilder::checksum_mode) / [`set_checksum_mode(Option<ChecksumMode>)`](crate::operation::head_object::builders::HeadObjectFluentBuilder::set_checksum_mode):<br>required: **false**<br><p>To retrieve the checksum, this parameter must be enabled.</p> <p><b>General purpose buckets</b> - If you enable checksum mode and the object is uploaded with a <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html">checksum</a> and encrypted with an Key Management Service (KMS) key, you must have permission to use the <code>kms:Decrypt</code> action to retrieve the checksum.</p> <p><b>Directory buckets</b> - If you enable <code>ChecksumMode</code> and the object is encrypted with Amazon Web Services Key Management Service (Amazon Web Services KMS), you must also have the <code>kms:GenerateDataKey</code> and <code>kms:Decrypt</code> permissions in IAM identity-based policies and KMS key policies for the KMS key to retrieve the checksum of the object.</p><br>
   27     27   
    /// - On success, responds with [`HeadObjectOutput`](crate::operation::head_object::HeadObjectOutput) with field(s):
   28     28   
    ///   - [`delete_marker(Option<bool>)`](crate::operation::head_object::HeadObjectOutput::delete_marker): <p>Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   29     29   
    ///   - [`accept_ranges(Option<String>)`](crate::operation::head_object::HeadObjectOutput::accept_ranges): <p>Indicates that a range of bytes was specified.</p>
   30     30   
    ///   - [`expiration(Option<String>)`](crate::operation::head_object::HeadObjectOutput::expiration): <p>If the object expiration is configured (see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html"> <code>PutBucketLifecycleConfiguration</code> </a>), the response includes this header. It includes the <code>expiry-date</code> and <code>rule-id</code> key-value pairs providing object expiration information. The value of the <code>rule-id</code> is URL-encoded.</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>
   31     31   
    ///   - [`restore(Option<String>)`](crate::operation::head_object::HeadObjectOutput::restore): <p>If the object is an archived object (an object whose storage class is GLACIER), the response includes this header if either the archive restoration is in progress (see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html">RestoreObject</a> or an archive copy is already restored.</p> <p>If an archive copy is already restored, the header value indicates when Amazon S3 is scheduled to delete the object copy. For example:</p> <p><code>x-amz-restore: ongoing-request="false", expiry-date="Fri, 21 Dec 2012 00:00:00 GMT"</code></p> <p>If the object restoration is in progress, the header returns the value <code>ongoing-request="true"</code>.</p> <p>For more information about archiving objects, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations">Transitioning Objects: General Considerations</a>.</p><note>  <p>This functionality is not supported for directory buckets. 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>
   32     32   
    ///   - [`archive_status(Option<ArchiveStatus>)`](crate::operation::head_object::HeadObjectOutput::archive_status): <p>The archive state of the head object.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   33     33   
    ///   - [`last_modified(Option<DateTime>)`](crate::operation::head_object::HeadObjectOutput::last_modified): <p>Date and time when the object was last modified.</p>
   34     34   
    ///   - [`content_length(Option<i64>)`](crate::operation::head_object::HeadObjectOutput::content_length): <p>Size of the body in bytes.</p>
   35         -
    ///   - [`checksum_crc32(Option<String>)`](crate::operation::head_object::HeadObjectOutput::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>
          35  +
    ///   - [`checksum_crc32(Option<String>)`](crate::operation::head_object::HeadObjectOutput::checksum_crc32): <p>The Base64 encoded, 32-bit <code>CRC32 checksum</code> 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>
   36     36   
    ///   - [`checksum_crc32_c(Option<String>)`](crate::operation::head_object::HeadObjectOutput::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>
   37     37   
    ///   - [`checksum_crc64_nvme(Option<String>)`](crate::operation::head_object::HeadObjectOutput::checksum_crc64_nvme): <p>The Base64 encoded, 64-bit <code>CRC64NVME</code> checksum of the object. 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>
   38         -
    ///   - [`checksum_sha1(Option<String>)`](crate::operation::head_object::HeadObjectOutput::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>
   39         -
    ///   - [`checksum_sha256(Option<String>)`](crate::operation::head_object::HeadObjectOutput::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>
          38  +
    ///   - [`checksum_sha1(Option<String>)`](crate::operation::head_object::HeadObjectOutput::checksum_sha1): <p>The Base64 encoded, 160-bit <code>SHA1</code> digest of the object. This checksum is only present if the checksum 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>
          39  +
    ///   - [`checksum_sha256(Option<String>)`](crate::operation::head_object::HeadObjectOutput::checksum_sha256): <p>The Base64 encoded, 256-bit <code>SHA256</code> digest 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>
   40     40   
    ///   - [`checksum_type(Option<ChecksumType>)`](crate::operation::head_object::HeadObjectOutput::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 <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>
   41     41   
    ///   - [`e_tag(Option<String>)`](crate::operation::head_object::HeadObjectOutput::e_tag): <p>An entity tag (ETag) is an opaque identifier assigned by a web server to a specific version of a resource found at a URL.</p>
   42     42   
    ///   - [`missing_meta(Option<i32>)`](crate::operation::head_object::HeadObjectOutput::missing_meta): <p>This is set to the number of metadata entries not returned in <code>x-amz-meta</code> headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   43     43   
    ///   - [`version_id(Option<String>)`](crate::operation::head_object::HeadObjectOutput::version_id): <p>Version ID of the object.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   44     44   
    ///   - [`cache_control(Option<String>)`](crate::operation::head_object::HeadObjectOutput::cache_control): <p>Specifies caching behavior along the request/reply chain.</p>
   45     45   
    ///   - [`content_disposition(Option<String>)`](crate::operation::head_object::HeadObjectOutput::content_disposition): <p>Specifies presentational information for the object.</p>
   46     46   
    ///   - [`content_encoding(Option<String>)`](crate::operation::head_object::HeadObjectOutput::content_encoding): <p>Indicates what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.</p>
   47     47   
    ///   - [`content_language(Option<String>)`](crate::operation::head_object::HeadObjectOutput::content_language): <p>The language the content is in.</p>
   48     48   
    ///   - [`content_type(Option<String>)`](crate::operation::head_object::HeadObjectOutput::content_type): <p>A standard MIME type describing the format of the object data.</p>
   49     49   
    ///   - [`content_range(Option<String>)`](crate::operation::head_object::HeadObjectOutput::content_range): <p>The portion of the object returned in the response for a <code>GET</code> request.</p>

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

@@ -1,1 +38,38 @@
   18     18   
    ///   - [`abort_date(Option<DateTime>)`](crate::operation::list_parts::ListPartsOutput::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, then the response includes this header indicating when the initiated multipart upload will become eligible for 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>.</p> <p>The response will also include the <code>x-amz-abort-rule-id</code> header that will provide the ID of the lifecycle configuration rule that defines this action.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   19     19   
    ///   - [`abort_rule_id(Option<String>)`](crate::operation::list_parts::ListPartsOutput::abort_rule_id): <p>This header is returned along with the <code>x-amz-abort-date</code> header. It identifies 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>
   20     20   
    ///   - [`bucket(Option<String>)`](crate::operation::list_parts::ListPartsOutput::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>
   21     21   
    ///   - [`key(Option<String>)`](crate::operation::list_parts::ListPartsOutput::key): <p>Object key for which the multipart upload was initiated.</p>
   22     22   
    ///   - [`upload_id(Option<String>)`](crate::operation::list_parts::ListPartsOutput::upload_id): <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
   23     23   
    ///   - [`part_number_marker(Option<String>)`](crate::operation::list_parts::ListPartsOutput::part_number_marker): <p>Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.</p>
   24     24   
    ///   - [`next_part_number_marker(Option<String>)`](crate::operation::list_parts::ListPartsOutput::next_part_number_marker): <p>When a list is truncated, this element specifies the last part in the list, as well as the value to use for the <code>part-number-marker</code> request parameter in a subsequent request.</p>
   25     25   
    ///   - [`max_parts(Option<i32>)`](crate::operation::list_parts::ListPartsOutput::max_parts): <p>Maximum number of parts that were allowed in the response.</p>
   26     26   
    ///   - [`is_truncated(Option<bool>)`](crate::operation::list_parts::ListPartsOutput::is_truncated): <p>Indicates whether the returned list of parts is truncated. A true value indicates that the list was truncated. A list can be truncated if the number of parts exceeds the limit returned in the MaxParts element.</p>
   27     27   
    ///   - [`parts(Option<Vec::<Part>>)`](crate::operation::list_parts::ListPartsOutput::parts): <p>Container for elements related to a particular part. A response can contain zero or more <code>Part</code> elements.</p>
   28         -
    ///   - [`initiator(Option<Initiator>)`](crate::operation::list_parts::ListPartsOutput::initiator): <p>Container element that identifies who initiated the multipart upload. If the initiator is an Amazon Web Services account, this element provides the same information as the <code>Owner</code> element. If the initiator is an IAM User, this element provides the user ARN and display name.</p>
   29         -
    ///   - [`owner(Option<Owner>)`](crate::operation::list_parts::ListPartsOutput::owner): <p>Container element that identifies the object owner, after the object is created. If multipart upload is initiated by an IAM user, this element provides the parent account ID and display name.</p><note>  <p><b>Directory buckets</b> - The bucket owner is returned as the object owner for all the parts.</p> </note>
          28  +
    ///   - [`initiator(Option<Initiator>)`](crate::operation::list_parts::ListPartsOutput::initiator): <p>Container element that identifies who initiated the multipart upload. If the initiator is an Amazon Web Services account, this element provides the same information as the <code>Owner</code> element. If the initiator is an IAM User, this element provides the user ARN.</p>
          29  +
    ///   - [`owner(Option<Owner>)`](crate::operation::list_parts::ListPartsOutput::owner): <p>Container element that identifies the object owner, after the object is created. If multipart upload is initiated by an IAM user, this element provides the parent account ID.</p><note>  <p><b>Directory buckets</b> - The bucket owner is returned as the object owner for all the parts.</p> </note>
   30     30   
    ///   - [`storage_class(Option<StorageClass>)`](crate::operation::list_parts::ListPartsOutput::storage_class): <p>The class of storage used to store the uploaded object.</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>
   31     31   
    ///   - [`request_charged(Option<RequestCharged>)`](crate::operation::list_parts::ListPartsOutput::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>
   32     32   
    ///   - [`checksum_algorithm(Option<ChecksumAlgorithm>)`](crate::operation::list_parts::ListPartsOutput::checksum_algorithm): <p>The algorithm that was used to create a checksum of the object.</p>
   33     33   
    ///   - [`checksum_type(Option<ChecksumType>)`](crate::operation::list_parts::ListPartsOutput::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 <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>
   34     34   
    /// - On failure, responds with [`SdkError<ListPartsError>`](crate::operation::list_parts::ListPartsError)
   35     35   
    pub fn list_parts(&self) -> crate::operation::list_parts::builders::ListPartsFluentBuilder {
   36     36   
        crate::operation::list_parts::builders::ListPartsFluentBuilder::new(self.handle.clone())
   37     37   
    }
   38     38   
}

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

@@ -0,1 +0,16 @@
           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 [`PutBucketAbac`](crate::operation::put_bucket_abac::builders::PutBucketAbacFluentBuilder) operation.
           4  +
    ///
           5  +
    /// - The fluent builder is configurable:
           6  +
    ///   - [`bucket(impl Into<String>)`](crate::operation::put_bucket_abac::builders::PutBucketAbacFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::put_bucket_abac::builders::PutBucketAbacFluentBuilder::set_bucket):<br>required: **true**<br><p>The name of the general purpose bucket.</p><br>
           7  +
    ///   - [`content_md5(impl Into<String>)`](crate::operation::put_bucket_abac::builders::PutBucketAbacFluentBuilder::content_md5) / [`set_content_md5(Option<String>)`](crate::operation::put_bucket_abac::builders::PutBucketAbacFluentBuilder::set_content_md5):<br>required: **false**<br><p>The MD5 hash of the <code>PutBucketAbac</code> request body.</p> <p>For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.</p><br>
           8  +
    ///   - [`checksum_algorithm(ChecksumAlgorithm)`](crate::operation::put_bucket_abac::builders::PutBucketAbacFluentBuilder::checksum_algorithm) / [`set_checksum_algorithm(Option<ChecksumAlgorithm>)`](crate::operation::put_bucket_abac::builders::PutBucketAbacFluentBuilder::set_checksum_algorithm):<br>required: **false**<br><p>Indicates the algorithm that you want Amazon S3 to use to create the checksum. 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>
           9  +
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::put_bucket_abac::builders::PutBucketAbacFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::put_bucket_abac::builders::PutBucketAbacFluentBuilder::set_expected_bucket_owner):<br>required: **false**<br><p>The Amazon Web Services account ID of the general purpose bucket's owner.</p><br>
          10  +
    ///   - [`abac_status(AbacStatus)`](crate::operation::put_bucket_abac::builders::PutBucketAbacFluentBuilder::abac_status) / [`set_abac_status(Option<AbacStatus>)`](crate::operation::put_bucket_abac::builders::PutBucketAbacFluentBuilder::set_abac_status):<br>required: **true**<br><p>The ABAC status of the general purpose bucket. When ABAC is enabled for the general purpose bucket, you can use tags to manage access to the general purpose buckets as well as for cost tracking purposes. When ABAC is disabled for the general purpose buckets, you can only use tags for cost tracking purposes. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/buckets-tagging.html">Using tags with S3 general purpose buckets</a>.</p><br>
          11  +
    /// - On success, responds with [`PutBucketAbacOutput`](crate::operation::put_bucket_abac::PutBucketAbacOutput)
          12  +
    /// - On failure, responds with [`SdkError<PutBucketAbacError>`](crate::operation::put_bucket_abac::PutBucketAbacError)
          13  +
    pub fn put_bucket_abac(&self) -> crate::operation::put_bucket_abac::builders::PutBucketAbacFluentBuilder {
          14  +
        crate::operation::put_bucket_abac::builders::PutBucketAbacFluentBuilder::new(self.handle.clone())
          15  +
    }
          16  +
}

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

@@ -1,1 +17,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 [`PutBucketVersioning`](crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder) operation.
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6      6   
    ///   - [`bucket(impl Into<String>)`](crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder::set_bucket):<br>required: **true**<br><p>The bucket name.</p><br>
    7      7   
    ///   - [`content_md5(impl Into<String>)`](crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder::content_md5) / [`set_content_md5(Option<String>)`](crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder::set_content_md5):<br>required: **false**<br><p>&gt;The Base64 encoded 128-bit <code>MD5</code> digest of the data. You must use this header as a message integrity check to verify that the request body was not corrupted in transit. For more information, see <a href="http://www.ietf.org/rfc/rfc1864.txt">RFC 1864</a>.</p> <p>For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.</p><br>
    8      8   
    ///   - [`checksum_algorithm(ChecksumAlgorithm)`](crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder::checksum_algorithm) / [`set_checksum_algorithm(Option<ChecksumAlgorithm>)`](crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder::set_checksum_algorithm):<br>required: **false**<br><p>Indicates the algorithm used to create the checksum for the request when you use the SDK. This header will not provide any additional functionality if you don't use the SDK. When you send this header, there must be a corresponding <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad Request</code>. 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> <p>If you provide an individual checksum, Amazon S3 ignores any provided <code>ChecksumAlgorithm</code> parameter.</p><br>
    9         -
    ///   - [`mfa(impl Into<String>)`](crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder::mfa) / [`set_mfa(Option<String>)`](crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder::set_mfa):<br>required: **false**<br><p>The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.</p><br>
           9  +
    ///   - [`mfa(impl Into<String>)`](crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder::mfa) / [`set_mfa(Option<String>)`](crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder::set_mfa):<br>required: **false**<br><p>The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device. The serial number is the number that uniquely identifies the MFA device. For physical MFA devices, this is the unique serial number that's provided with the device. For virtual MFA devices, the serial number is the device ARN. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html">Enabling versioning on buckets</a> and <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiFactorAuthenticationDelete.html">Configuring MFA delete</a> in the <i>Amazon Simple Storage Service User Guide</i>.</p><br>
   10     10   
    ///   - [`versioning_configuration(VersioningConfiguration)`](crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder::versioning_configuration) / [`set_versioning_configuration(Option<VersioningConfiguration>)`](crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder::set_versioning_configuration):<br>required: **true**<br><p>Container for setting the versioning state.</p><br>
   11     11   
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder::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>
   12     12   
    /// - On success, responds with [`PutBucketVersioningOutput`](crate::operation::put_bucket_versioning::PutBucketVersioningOutput)
   13     13   
    /// - On failure, responds with [`SdkError<PutBucketVersioningError>`](crate::operation::put_bucket_versioning::PutBucketVersioningError)
   14     14   
    pub fn put_bucket_versioning(&self) -> crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder {
   15     15   
        crate::operation::put_bucket_versioning::builders::PutBucketVersioningFluentBuilder::new(self.handle.clone())
   16     16   
    }
   17     17   
}

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

@@ -20,20 +69,69 @@
   40     40   
    ///   - [`bucket_key_enabled(bool)`](crate::operation::put_object::builders::PutObjectFluentBuilder::bucket_key_enabled) / [`set_bucket_key_enabled(Option<bool>)`](crate::operation::put_object::builders::PutObjectFluentBuilder::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>
   41     41   
    ///   - [`request_payer(RequestPayer)`](crate::operation::put_object::builders::PutObjectFluentBuilder::request_payer) / [`set_request_payer(Option<RequestPayer>)`](crate::operation::put_object::builders::PutObjectFluentBuilder::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>
   42     42   
    ///   - [`tagging(impl Into<String>)`](crate::operation::put_object::builders::PutObjectFluentBuilder::tagging) / [`set_tagging(Option<String>)`](crate::operation::put_object::builders::PutObjectFluentBuilder::set_tagging):<br>required: **false**<br><p>The tag-set for the object. The tag-set must be encoded as URL Query parameters. (For example, "Key1=Value1")</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   43     43   
    ///   - [`object_lock_mode(ObjectLockMode)`](crate::operation::put_object::builders::PutObjectFluentBuilder::object_lock_mode) / [`set_object_lock_mode(Option<ObjectLockMode>)`](crate::operation::put_object::builders::PutObjectFluentBuilder::set_object_lock_mode):<br>required: **false**<br><p>The Object Lock mode that you want to apply to this object.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   44     44   
    ///   - [`object_lock_retain_until_date(DateTime)`](crate::operation::put_object::builders::PutObjectFluentBuilder::object_lock_retain_until_date) / [`set_object_lock_retain_until_date(Option<DateTime>)`](crate::operation::put_object::builders::PutObjectFluentBuilder::set_object_lock_retain_until_date):<br>required: **false**<br><p>The date and time when you want this object's Object Lock to expire. Must be formatted as a timestamp parameter.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   45     45   
    ///   - [`object_lock_legal_hold_status(ObjectLockLegalHoldStatus)`](crate::operation::put_object::builders::PutObjectFluentBuilder::object_lock_legal_hold_status) / [`set_object_lock_legal_hold_status(Option<ObjectLockLegalHoldStatus>)`](crate::operation::put_object::builders::PutObjectFluentBuilder::set_object_lock_legal_hold_status):<br>required: **false**<br><p>Specifies whether a legal hold will be applied to this object. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a> in the <i>Amazon S3 User Guide</i>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note><br>
   46     46   
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::put_object::builders::PutObjectFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::put_object::builders::PutObjectFluentBuilder::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>
   47     47   
    /// - On success, responds with [`PutObjectOutput`](crate::operation::put_object::PutObjectOutput) with field(s):
   48     48   
    ///   - [`expiration(Option<String>)`](crate::operation::put_object::PutObjectOutput::expiration): <p>If the expiration is configured for the object (see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html">PutBucketLifecycleConfiguration</a>) in the <i>Amazon S3 User Guide</i>, the response includes this header. It includes the <code>expiry-date</code> and <code>rule-id</code> key-value pairs that provide information about object expiration. The value of the <code>rule-id</code> is URL-encoded.</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>
   49     49   
    ///   - [`e_tag(Option<String>)`](crate::operation::put_object::PutObjectOutput::e_tag): <p>Entity tag for the uploaded object.</p> <p><b>General purpose buckets </b> - To ensure that data is not corrupted traversing the network, for objects where the ETag is the MD5 digest of the object, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value.</p> <p><b>Directory buckets </b> - The ETag for the object in a directory bucket isn't the MD5 digest of the object.</p>
   50         -
    ///   - [`checksum_crc32(Option<String>)`](crate::operation::put_object::PutObjectOutput::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>
          50  +
    ///   - [`checksum_crc32(Option<String>)`](crate::operation::put_object::PutObjectOutput::checksum_crc32): <p>The Base64 encoded, 32-bit <code>CRC32 checksum</code> 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>
   51     51   
    ///   - [`checksum_crc32_c(Option<String>)`](crate::operation::put_object::PutObjectOutput::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>
   52     52   
    ///   - [`checksum_crc64_nvme(Option<String>)`](crate::operation::put_object::PutObjectOutput::checksum_crc64_nvme): <p>The Base64 encoded, 64-bit <code>CRC64NVME</code> checksum of the object. This header is present if the object was uploaded with the <code>CRC64NVME</code> checksum algorithm, or if it was uploaded without a checksum (and Amazon S3 added the default checksum, <code>CRC64NVME</code>, to the uploaded object). 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">Checking object integrity in the Amazon S3 User Guide</a>.</p>
   53         -
    ///   - [`checksum_sha1(Option<String>)`](crate::operation::put_object::PutObjectOutput::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>
   54         -
    ///   - [`checksum_sha256(Option<String>)`](crate::operation::put_object::PutObjectOutput::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>
          53  +
    ///   - [`checksum_sha1(Option<String>)`](crate::operation::put_object::PutObjectOutput::checksum_sha1): <p>The Base64 encoded, 160-bit <code>SHA1</code> digest of the object. This checksum is only present if the checksum 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>
          54  +
    ///   - [`checksum_sha256(Option<String>)`](crate::operation::put_object::PutObjectOutput::checksum_sha256): <p>The Base64 encoded, 256-bit <code>SHA256</code> digest 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>
   55     55   
    ///   - [`checksum_type(Option<ChecksumType>)`](crate::operation::put_object::PutObjectOutput::checksum_type): <p>This header specifies the checksum type of the object, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. For <code>PutObject</code> uploads, the checksum type is always <code>FULL_OBJECT</code>. You can use this header as a data integrity check to verify that the checksum type that is received is the same checksum that was specified. 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>
   56     56   
    ///   - [`server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::put_object::PutObjectOutput::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>
   57     57   
    ///   - [`version_id(Option<String>)`](crate::operation::put_object::PutObjectOutput::version_id): <p>Version ID of the object.</p> <p>If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects. For more information about versioning, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html">Adding Objects to Versioning-Enabled Buckets</a> in the <i>Amazon S3 User Guide</i>. For information about returning the versioning state of a bucket, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html">GetBucketVersioning</a>.</p><note>  <p>This functionality is not supported for directory buckets.</p> </note>
   58     58   
    ///   - [`sse_customer_algorithm(Option<String>)`](crate::operation::put_object::PutObjectOutput::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>
   59     59   
    ///   - [`sse_customer_key_md5(Option<String>)`](crate::operation::put_object::PutObjectOutput::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>
   60     60   
    ///   - [`ssekms_key_id(Option<String>)`](crate::operation::put_object::PutObjectOutput::ssekms_key_id): <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
   61     61   
    ///   - [`ssekms_encryption_context(Option<String>)`](crate::operation::put_object::PutObjectOutput::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>
   62     62   
    ///   - [`bucket_key_enabled(Option<bool>)`](crate::operation::put_object::PutObjectOutput::bucket_key_enabled): <p>Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
   63     63   
    ///   - [`size(Option<i64>)`](crate::operation::put_object::PutObjectOutput::size): <p>The size of the object in bytes. This value is only be present if you append to an object.</p><note>  <p>This functionality is only supported for objects in the Amazon S3 Express One Zone storage class in directory buckets.</p> </note>
   64     64   
    ///   - [`request_charged(Option<RequestCharged>)`](crate::operation::put_object::PutObjectOutput::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>

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

@@ -1,1 +20,20 @@
    3      3   
    /// Constructs a fluent builder for the [`PutObjectTagging`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder) operation.
    4      4   
    ///
    5      5   
    /// - The fluent builder is configurable:
    6      6   
    ///   - [`bucket(impl Into<String>)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::bucket) / [`set_bucket(Option<String>)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::set_bucket):<br>required: **true**<br><p>The bucket name containing the object.</p> <p><b>Access points</b> - When you use this action with an access point for general purpose buckets, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When you use this action with an access point for directory buckets, you must provide the access point name in place of the bucket name. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p> <p><b>S3 on Outposts</b> - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more information about S3 on Outposts, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p><br>
    7      7   
    ///   - [`key(impl Into<String>)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::key) / [`set_key(Option<String>)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::set_key):<br>required: **true**<br><p>Name of the object key.</p><br>
    8      8   
    ///   - [`version_id(impl Into<String>)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::version_id) / [`set_version_id(Option<String>)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::set_version_id):<br>required: **false**<br><p>The versionId of the object that the tag-set will be added to.</p><br>
    9      9   
    ///   - [`content_md5(impl Into<String>)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::content_md5) / [`set_content_md5(Option<String>)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::set_content_md5):<br>required: **false**<br><p>The MD5 hash for the request body.</p> <p>For requests made using the Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is calculated automatically.</p><br>
   10     10   
    ///   - [`checksum_algorithm(ChecksumAlgorithm)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::checksum_algorithm) / [`set_checksum_algorithm(Option<ChecksumAlgorithm>)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::set_checksum_algorithm):<br>required: **false**<br><p>Indicates the algorithm used to create the checksum for the object when you use the SDK. This header will not provide any additional functionality if you don't use the SDK. When you send this header, there must be a corresponding <code>x-amz-checksum</code> or <code>x-amz-trailer</code> header sent. Otherwise, Amazon S3 fails the request with the HTTP status code <code>400 Bad Request</code>. 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> <p>If you provide an individual checksum, Amazon S3 ignores any provided <code>ChecksumAlgorithm</code> parameter.</p><br>
   11     11   
    ///   - [`tagging(Tagging)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::tagging) / [`set_tagging(Option<Tagging>)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::set_tagging):<br>required: **true**<br><p>Container for the <code>TagSet</code> and <code>Tag</code> elements</p><br>
   12     12   
    ///   - [`expected_bucket_owner(impl Into<String>)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::expected_bucket_owner) / [`set_expected_bucket_owner(Option<String>)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::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>
   13         -
    ///   - [`request_payer(RequestPayer)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::request_payer) / [`set_request_payer(Option<RequestPayer>)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::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>
          13  +
    ///   - [`request_payer(RequestPayer)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::request_payer) / [`set_request_payer(Option<RequestPayer>)`](crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::set_request_payer):<br>required: **false**<br><p>Confirms that the requester knows that she or he will be charged for the tagging object request. Bucket owners need not specify this parameter in their requests.</p><br>
   14     14   
    /// - On success, responds with [`PutObjectTaggingOutput`](crate::operation::put_object_tagging::PutObjectTaggingOutput) with field(s):
   15     15   
    ///   - [`version_id(Option<String>)`](crate::operation::put_object_tagging::PutObjectTaggingOutput::version_id): <p>The versionId of the object the tag-set was added to.</p>
   16     16   
    /// - On failure, responds with [`SdkError<PutObjectTaggingError>`](crate::operation::put_object_tagging::PutObjectTaggingError)
   17     17   
    pub fn put_object_tagging(&self) -> crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder {
   18     18   
        crate::operation::put_object_tagging::builders::PutObjectTaggingFluentBuilder::new(self.handle.clone())
   19     19   
    }
   20     20   
}