// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`WriteGetObjectResponse`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`request_route(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::request_route) / [`set_request_route(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_request_route):<br>required: **true**<br><p>Route prefix to the HTTP URL generated.</p><br>
    ///   - [`request_token(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::request_token) / [`set_request_token(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_request_token):<br>required: **true**<br><p>A single use encrypted token that maps <code>WriteGetObjectResponse</code> to the end user <code>GetObject</code> request.</p><br>
    ///   - [`body(ByteStream)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::body) / [`set_body(ByteStream)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_body):<br>required: **false**<br><p>The object data.</p><br>
    ///   - [`status_code(i32)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::status_code) / [`set_status_code(Option<i32>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_status_code):<br>required: **false**<br><p>The integer status code for an HTTP response of a corresponding <code>GetObject</code> request. The following is a list of status codes.</p> <ul>  <li>   <p><code>200 - OK</code></p></li>  <li>   <p><code>206 - Partial Content</code></p></li>  <li>   <p><code>304 - Not Modified</code></p></li>  <li>   <p><code>400 - Bad Request</code></p></li>  <li>   <p><code>401 - Unauthorized</code></p></li>  <li>   <p><code>403 - Forbidden</code></p></li>  <li>   <p><code>404 - Not Found</code></p></li>  <li>   <p><code>405 - Method Not Allowed</code></p></li>  <li>   <p><code>409 - Conflict</code></p></li>  <li>   <p><code>411 - Length Required</code></p></li>  <li>   <p><code>412 - Precondition Failed</code></p></li>  <li>   <p><code>416 - Range Not Satisfiable</code></p></li>  <li>   <p><code>500 - Internal Server Error</code></p></li>  <li>   <p><code>503 - Service Unavailable</code></p></li> </ul><br>
    ///   - [`error_code(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::error_code) / [`set_error_code(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_error_code):<br>required: **false**<br><p>A string that uniquely identifies an error condition. Returned in the <code> tag of the error XML response for a corresponding <code>GetObject</code> call. Cannot be used with a successful <code>StatusCode</code> header or when the transformed object is provided in the body. All error codes from S3 are sentence-cased. The regular expression (regex) value is <code>"^\[A-Z\]\[a-zA-Z\]+$"</code>.</code></p><br>
    ///   - [`error_message(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::error_message) / [`set_error_message(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_error_message):<br>required: **false**<br><p>Contains a generic description of the error condition. Returned in the <message>   tag of the error XML response for a corresponding    <code>GetObject</code> call. Cannot be used with a successful    <code>StatusCode</code> header or when the transformed object is provided in body.  </message></p><br>
    ///   - [`accept_ranges(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::accept_ranges) / [`set_accept_ranges(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_accept_ranges):<br>required: **false**<br><p>Indicates that a range of bytes was specified.</p><br>
    ///   - [`cache_control(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::cache_control) / [`set_cache_control(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_cache_control):<br>required: **false**<br><p>Specifies caching behavior along the request/reply chain.</p><br>
    ///   - [`content_disposition(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::content_disposition) / [`set_content_disposition(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_content_disposition):<br>required: **false**<br><p>Specifies presentational information for the object.</p><br>
    ///   - [`content_encoding(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::content_encoding) / [`set_content_encoding(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_content_encoding):<br>required: **false**<br><p>Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.</p><br>
    ///   - [`content_language(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::content_language) / [`set_content_language(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_content_language):<br>required: **false**<br><p>The language the content is in.</p><br>
    ///   - [`content_length(i64)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::content_length) / [`set_content_length(Option<i64>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_content_length):<br>required: **false**<br><p>The size of the content body in bytes.</p><br>
    ///   - [`content_range(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::content_range) / [`set_content_range(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_content_range):<br>required: **false**<br><p>The portion of the object returned in the response.</p><br>
    ///   - [`content_type(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::content_type) / [`set_content_type(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_content_type):<br>required: **false**<br><p>A standard MIME type describing the format of the object data.</p><br>
    ///   - [`checksum_crc32(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::checksum_crc32) / [`set_checksum_crc32(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_checksum_crc32):<br>required: **false**<br><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 specifies the Base64 encoded, 32-bit <code>CRC32</code> checksum of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p> <p></p><br>
    ///   - [`checksum_crc32_c(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::checksum_crc32_c) / [`set_checksum_crc32_c(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_checksum_crc32_c):<br>required: **false**<br><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 specifies the Base64 encoded, 32-bit <code>CRC32C</code> checksum of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p><br>
    ///   - [`checksum_crc64_nvme(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::checksum_crc64_nvme) / [`set_checksum_crc64_nvme(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_checksum_crc64_nvme):<br>required: **false**<br><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 part. 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>
    ///   - [`checksum_sha1(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::checksum_sha1) / [`set_checksum_sha1(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_checksum_sha1):<br>required: **false**<br><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 specifies the Base64 encoded, 160-bit <code>SHA1</code> digest of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p><br>
    ///   - [`checksum_sha256(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::checksum_sha256) / [`set_checksum_sha256(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_checksum_sha256):<br>required: **false**<br><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 specifies the Base64 encoded, 256-bit <code>SHA256</code> digest of the object returned by the Object Lambda function. This may not match the checksum for the object stored in Amazon S3. Amazon S3 will perform validation of the checksum values only when the original <code>GetObject</code> request required checksum validation. For more information about checksums, 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>Only one checksum header can be specified at a time. If you supply multiple checksum headers, this request will fail.</p><br>
    ///   - [`delete_marker(bool)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::delete_marker) / [`set_delete_marker(Option<bool>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_delete_marker):<br>required: **false**<br><p>Specifies whether an object stored in Amazon S3 is (<code>true</code>) or is not (<code>false</code>) 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><br>
    ///   - [`e_tag(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::e_tag) / [`set_e_tag(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_e_tag):<br>required: **false**<br><p>An opaque identifier assigned by a web server to a specific version of a resource found at a URL.</p><br>
    ///   - [`expires(DateTime)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::expires) / [`set_expires(Option<DateTime>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_expires):<br>required: **false**<br><p>The date and time at which the object is no longer cacheable.</p><br>
    ///   - [`expiration(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::expiration) / [`set_expiration(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_expiration):<br>required: **false**<br><p>If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the <code>expiry-date</code> and <code>rule-id</code> key-value pairs that provide the object expiration information. The value of the <code>rule-id</code> is URL-encoded.</p><br>
    ///   - [`last_modified(DateTime)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::last_modified) / [`set_last_modified(Option<DateTime>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_last_modified):<br>required: **false**<br><p>The date and time that the object was last modified.</p><br>
    ///   - [`missing_meta(i32)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::missing_meta) / [`set_missing_meta(Option<i32>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_missing_meta):<br>required: **false**<br><p>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><br>
    ///   - [`metadata(impl Into<String>, impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::metadata) / [`set_metadata(Option<HashMap::<String, String>>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_metadata):<br>required: **false**<br><p>A map of metadata to store with the object in S3.</p><br>
    ///   - [`object_lock_mode(ObjectLockMode)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::object_lock_mode) / [`set_object_lock_mode(Option<ObjectLockMode>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_object_lock_mode):<br>required: **false**<br><p>Indicates whether an object stored in Amazon S3 has Object Lock enabled. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html">Object Lock</a>.</p><br>
    ///   - [`object_lock_legal_hold_status(ObjectLockLegalHoldStatus)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::object_lock_legal_hold_status) / [`set_object_lock_legal_hold_status(Option<ObjectLockLegalHoldStatus>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_object_lock_legal_hold_status):<br>required: **false**<br><p>Indicates whether an object stored in Amazon S3 has an active legal hold.</p><br>
    ///   - [`object_lock_retain_until_date(DateTime)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::object_lock_retain_until_date) / [`set_object_lock_retain_until_date(Option<DateTime>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_object_lock_retain_until_date):<br>required: **false**<br><p>The date and time when Object Lock is configured to expire.</p><br>
    ///   - [`parts_count(i32)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::parts_count) / [`set_parts_count(Option<i32>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_parts_count):<br>required: **false**<br><p>The count of parts this object has.</p><br>
    ///   - [`replication_status(ReplicationStatus)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::replication_status) / [`set_replication_status(Option<ReplicationStatus>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_replication_status):<br>required: **false**<br><p>Indicates if request involves bucket that is either a source or destination in a Replication rule. For more information about S3 Replication, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html">Replication</a>.</p><br>
    ///   - [`request_charged(RequestCharged)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::request_charged) / [`set_request_charged(Option<RequestCharged>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_request_charged):<br>required: **false**<br><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><br>
    ///   - [`restore(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::restore) / [`set_restore(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_restore):<br>required: **false**<br><p>Provides information about object restoration operation and expiration time of the restored object copy.</p><br>
    ///   - [`server_side_encryption(ServerSideEncryption)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::server_side_encryption) / [`set_server_side_encryption(Option<ServerSideEncryption>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_server_side_encryption):<br>required: **false**<br><p>The server-side encryption algorithm used when storing requested 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><br>
    ///   - [`sse_customer_algorithm(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::sse_customer_algorithm) / [`set_sse_customer_algorithm(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_sse_customer_algorithm):<br>required: **false**<br><p>Encryption algorithm used if server-side encryption with a customer-provided encryption key was specified for object stored in Amazon S3.</p><br>
    ///   - [`ssekms_key_id(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::ssekms_key_id) / [`set_ssekms_key_id(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_ssekms_key_id):<br>required: **false**<br><p>If present, specifies the ID (Key ID, Key ARN, or Key Alias) of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric encryption customer managed key that was used for stored in Amazon S3 object.</p><br>
    ///   - [`sse_customer_key_md5(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::sse_customer_key_md5) / [`set_sse_customer_key_md5(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_sse_customer_key_md5):<br>required: **false**<br><p>128-bit MD5 digest of customer-provided encryption key used in Amazon S3 to encrypt data stored in S3. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html">Protecting data using server-side encryption with customer-provided encryption keys (SSE-C)</a>.</p><br>
    ///   - [`storage_class(StorageClass)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::storage_class) / [`set_storage_class(Option<StorageClass>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_storage_class):<br>required: **false**<br><p>Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a>.</p><br>
    ///   - [`tag_count(i32)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::tag_count) / [`set_tag_count(Option<i32>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_tag_count):<br>required: **false**<br><p>The number of tags, if any, on the object.</p><br>
    ///   - [`version_id(impl Into<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::version_id) / [`set_version_id(Option<String>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_version_id):<br>required: **false**<br><p>An ID used to reference a specific version of the object.</p><br>
    ///   - [`bucket_key_enabled(bool)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::bucket_key_enabled) / [`set_bucket_key_enabled(Option<bool>)`](crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::set_bucket_key_enabled):<br>required: **false**<br><p>Indicates whether the object stored in Amazon S3 uses an S3 bucket key for server-side encryption with Amazon Web Services KMS (SSE-KMS).</p><br>
    /// - On success, responds with [`WriteGetObjectResponseOutput`](crate::operation::write_get_object_response::WriteGetObjectResponseOutput)
    /// - On failure, responds with [`SdkError<WriteGetObjectResponseError>`](crate::operation::write_get_object_response::WriteGetObjectResponseError)
    pub fn write_get_object_response(&self) -> crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder {
        crate::operation::write_get_object_response::builders::WriteGetObjectResponseFluentBuilder::new(self.handle.clone())
    }
}
