aws_sdk_s3/operation/head_object/_head_object_output.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
5pub struct HeadObjectOutput {
6 /// <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>
7 /// <p>This functionality is not supported for directory buckets.</p>
8 /// </note>
9 pub delete_marker: ::std::option::Option<bool>,
10 /// <p>Indicates that a range of bytes was specified.</p>
11 pub accept_ranges: ::std::option::Option<::std::string::String>,
12 /// <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>
13 /// <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>
14 /// </note>
15 pub expiration: ::std::option::Option<::std::string::String>,
16 /// <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>
17 /// <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>
18 /// <p><code>x-amz-restore: ongoing-request="false", expiry-date="Fri, 21 Dec 2012 00:00:00 GMT"</code></p>
19 /// <p>If the object restoration is in progress, the header returns the value <code>ongoing-request="true"</code>.</p>
20 /// <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>
21 /// <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>
22 /// </note>
23 pub restore: ::std::option::Option<::std::string::String>,
24 /// <p>The archive state of the head object.</p><note>
25 /// <p>This functionality is not supported for directory buckets.</p>
26 /// </note>
27 pub archive_status: ::std::option::Option<crate::types::ArchiveStatus>,
28 /// <p>Date and time when the object was last modified.</p>
29 pub last_modified: ::std::option::Option<::aws_smithy_types::DateTime>,
30 /// <p>Size of the body in bytes.</p>
31 pub content_length: ::std::option::Option<i64>,
32 /// <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>
33 pub checksum_crc32: ::std::option::Option<::std::string::String>,
34 /// <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>
35 pub checksum_crc32_c: ::std::option::Option<::std::string::String>,
36 /// <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>
37 pub checksum_crc64_nvme: ::std::option::Option<::std::string::String>,
38 /// <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 pub checksum_sha1: ::std::option::Option<::std::string::String>,
40 /// <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>
41 pub checksum_sha256: ::std::option::Option<::std::string::String>,
42 /// <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>
43 pub checksum_type: ::std::option::Option<crate::types::ChecksumType>,
44 /// <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>
45 pub e_tag: ::std::option::Option<::std::string::String>,
46 /// <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>
47 /// <p>This functionality is not supported for directory buckets.</p>
48 /// </note>
49 pub missing_meta: ::std::option::Option<i32>,
50 /// <p>Version ID of the object.</p><note>
51 /// <p>This functionality is not supported for directory buckets.</p>
52 /// </note>
53 pub version_id: ::std::option::Option<::std::string::String>,
54 /// <p>Specifies caching behavior along the request/reply chain.</p>
55 pub cache_control: ::std::option::Option<::std::string::String>,
56 /// <p>Specifies presentational information for the object.</p>
57 pub content_disposition: ::std::option::Option<::std::string::String>,
58 /// <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>
59 pub content_encoding: ::std::option::Option<::std::string::String>,
60 /// <p>The language the content is in.</p>
61 pub content_language: ::std::option::Option<::std::string::String>,
62 /// <p>A standard MIME type describing the format of the object data.</p>
63 pub content_type: ::std::option::Option<::std::string::String>,
64 /// <p>The portion of the object returned in the response for a <code>GET</code> request.</p>
65 pub content_range: ::std::option::Option<::std::string::String>,
66 /// <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>
67 /// <p>This functionality is not supported for directory buckets.</p>
68 /// </note>
69 pub website_redirect_location: ::std::option::Option<::std::string::String>,
70 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p>
71 pub server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
72 /// <p>A map of metadata to store with the object in S3.</p>
73 pub metadata: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
74 /// <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>
75 /// <p>This functionality is not supported for directory buckets.</p>
76 /// </note>
77 pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
78 /// <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>
79 /// <p>This functionality is not supported for directory buckets.</p>
80 /// </note>
81 pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
82 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
83 pub ssekms_key_id: ::std::option::Option<::std::string::String>,
84 /// <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
85 pub bucket_key_enabled: ::std::option::Option<bool>,
86 /// <p>Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.</p>
87 /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a>.</p><note>
88 /// <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>
89 /// </note>
90 pub storage_class: ::std::option::Option<crate::types::StorageClass>,
91 /// <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>
92 /// <p>This functionality is not supported for directory buckets.</p>
93 /// </note>
94 pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
95 /// <p>Amazon S3 can return this header if your request involves a bucket that is either a source or a destination in a replication rule.</p>
96 /// <p>In replication, you have a source bucket on which you configure replication and destination bucket or buckets where Amazon S3 stores object replicas. When you request an object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) from these buckets, Amazon S3 will return the <code>x-amz-replication-status</code> header in the response as follows:</p>
97 /// <ul>
98 /// <li>
99 /// <p><b>If requesting an object from the source bucket</b>, Amazon S3 will return the <code>x-amz-replication-status</code> header if the object in your request is eligible for replication.</p>
100 /// <p>For example, suppose that in your replication configuration, you specify object prefix <code>TaxDocs</code> requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. Any objects you upload with this key name prefix, for example <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object request with this key name prefix, Amazon S3 will return the <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or FAILED indicating object replication status.</p></li>
101 /// <li>
102 /// <p><b>If requesting an object from a destination bucket</b>, Amazon S3 will return the <code>x-amz-replication-status</code> header with value REPLICA if the object in your request is a replica that Amazon S3 created and there is no replica modification replication in progress.</p></li>
103 /// <li>
104 /// <p><b>When replicating objects to multiple destination buckets</b>, the <code>x-amz-replication-status</code> header acts differently. The header of the source object will only return a value of COMPLETED when replication is successful to all destinations. The header will remain at value PENDING until replication has completed for all destinations. If one or more destinations fails replication the header will return FAILED.</p></li>
105 /// </ul>
106 /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p><note>
107 /// <p>This functionality is not supported for directory buckets.</p>
108 /// </note>
109 pub replication_status: ::std::option::Option<crate::types::ReplicationStatus>,
110 /// <p>The count of parts this object has. This value is only returned if you specify <code>partNumber</code> in your request and the object was uploaded as a multipart upload.</p>
111 pub parts_count: ::std::option::Option<i32>,
112 /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
113 /// <p>You can use <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> to retrieve the tag set associated with an object.</p><note>
114 /// <p>This functionality is not supported for directory buckets.</p>
115 /// </note>
116 pub tag_count: ::std::option::Option<i32>,
117 /// <p>The Object Lock mode, if any, that's in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>
118 /// <p>This functionality is not supported for directory buckets.</p>
119 /// </note>
120 pub object_lock_mode: ::std::option::Option<crate::types::ObjectLockMode>,
121 /// <p>The date and time when the Object Lock retention period expires. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission.</p><note>
122 /// <p>This functionality is not supported for directory buckets.</p>
123 /// </note>
124 pub object_lock_retain_until_date: ::std::option::Option<::aws_smithy_types::DateTime>,
125 /// <p>Specifies whether a legal hold is in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectLegalHold</code> permission. This header is not returned if the specified version of this object has never had a legal hold applied. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>
126 /// <p>This functionality is not supported for directory buckets.</p>
127 /// </note>
128 pub object_lock_legal_hold_status: ::std::option::Option<crate::types::ObjectLockLegalHoldStatus>,
129 /// <p>The date and time at which the object is no longer cacheable.</p>
130 #[deprecated(note = "Please use `expires_string` which contains the raw, unparsed value of this field.")]
131 pub expires: ::std::option::Option<::aws_smithy_types::DateTime>,
132 /// <p>The date and time at which the object is no longer cacheable.</p>
133 pub expires_string: ::std::option::Option<::std::string::String>,
134 _extended_request_id: Option<String>,
135 _request_id: Option<String>,
136}
137impl HeadObjectOutput {
138 /// <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>
139 /// <p>This functionality is not supported for directory buckets.</p>
140 /// </note>
141 pub fn delete_marker(&self) -> ::std::option::Option<bool> {
142 self.delete_marker
143 }
144 /// <p>Indicates that a range of bytes was specified.</p>
145 pub fn accept_ranges(&self) -> ::std::option::Option<&str> {
146 self.accept_ranges.as_deref()
147 }
148 /// <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>
149 /// <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>
150 /// </note>
151 pub fn expiration(&self) -> ::std::option::Option<&str> {
152 self.expiration.as_deref()
153 }
154 /// <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>
155 /// <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>
156 /// <p><code>x-amz-restore: ongoing-request="false", expiry-date="Fri, 21 Dec 2012 00:00:00 GMT"</code></p>
157 /// <p>If the object restoration is in progress, the header returns the value <code>ongoing-request="true"</code>.</p>
158 /// <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>
159 /// <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>
160 /// </note>
161 pub fn restore(&self) -> ::std::option::Option<&str> {
162 self.restore.as_deref()
163 }
164 /// <p>The archive state of the head object.</p><note>
165 /// <p>This functionality is not supported for directory buckets.</p>
166 /// </note>
167 pub fn archive_status(&self) -> ::std::option::Option<&crate::types::ArchiveStatus> {
168 self.archive_status.as_ref()
169 }
170 /// <p>Date and time when the object was last modified.</p>
171 pub fn last_modified(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
172 self.last_modified.as_ref()
173 }
174 /// <p>Size of the body in bytes.</p>
175 pub fn content_length(&self) -> ::std::option::Option<i64> {
176 self.content_length
177 }
178 /// <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>
179 pub fn checksum_crc32(&self) -> ::std::option::Option<&str> {
180 self.checksum_crc32.as_deref()
181 }
182 /// <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>
183 pub fn checksum_crc32_c(&self) -> ::std::option::Option<&str> {
184 self.checksum_crc32_c.as_deref()
185 }
186 /// <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>
187 pub fn checksum_crc64_nvme(&self) -> ::std::option::Option<&str> {
188 self.checksum_crc64_nvme.as_deref()
189 }
190 /// <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>
191 pub fn checksum_sha1(&self) -> ::std::option::Option<&str> {
192 self.checksum_sha1.as_deref()
193 }
194 /// <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>
195 pub fn checksum_sha256(&self) -> ::std::option::Option<&str> {
196 self.checksum_sha256.as_deref()
197 }
198 /// <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>
199 pub fn checksum_type(&self) -> ::std::option::Option<&crate::types::ChecksumType> {
200 self.checksum_type.as_ref()
201 }
202 /// <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>
203 pub fn e_tag(&self) -> ::std::option::Option<&str> {
204 self.e_tag.as_deref()
205 }
206 /// <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>
207 /// <p>This functionality is not supported for directory buckets.</p>
208 /// </note>
209 pub fn missing_meta(&self) -> ::std::option::Option<i32> {
210 self.missing_meta
211 }
212 /// <p>Version ID of the object.</p><note>
213 /// <p>This functionality is not supported for directory buckets.</p>
214 /// </note>
215 pub fn version_id(&self) -> ::std::option::Option<&str> {
216 self.version_id.as_deref()
217 }
218 /// <p>Specifies caching behavior along the request/reply chain.</p>
219 pub fn cache_control(&self) -> ::std::option::Option<&str> {
220 self.cache_control.as_deref()
221 }
222 /// <p>Specifies presentational information for the object.</p>
223 pub fn content_disposition(&self) -> ::std::option::Option<&str> {
224 self.content_disposition.as_deref()
225 }
226 /// <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>
227 pub fn content_encoding(&self) -> ::std::option::Option<&str> {
228 self.content_encoding.as_deref()
229 }
230 /// <p>The language the content is in.</p>
231 pub fn content_language(&self) -> ::std::option::Option<&str> {
232 self.content_language.as_deref()
233 }
234 /// <p>A standard MIME type describing the format of the object data.</p>
235 pub fn content_type(&self) -> ::std::option::Option<&str> {
236 self.content_type.as_deref()
237 }
238 /// <p>The portion of the object returned in the response for a <code>GET</code> request.</p>
239 pub fn content_range(&self) -> ::std::option::Option<&str> {
240 self.content_range.as_deref()
241 }
242 /// <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>
243 /// <p>This functionality is not supported for directory buckets.</p>
244 /// </note>
245 pub fn website_redirect_location(&self) -> ::std::option::Option<&str> {
246 self.website_redirect_location.as_deref()
247 }
248 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p>
249 pub fn server_side_encryption(&self) -> ::std::option::Option<&crate::types::ServerSideEncryption> {
250 self.server_side_encryption.as_ref()
251 }
252 /// <p>A map of metadata to store with the object in S3.</p>
253 pub fn metadata(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
254 self.metadata.as_ref()
255 }
256 /// <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>
257 /// <p>This functionality is not supported for directory buckets.</p>
258 /// </note>
259 pub fn sse_customer_algorithm(&self) -> ::std::option::Option<&str> {
260 self.sse_customer_algorithm.as_deref()
261 }
262 /// <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>
263 /// <p>This functionality is not supported for directory buckets.</p>
264 /// </note>
265 pub fn sse_customer_key_md5(&self) -> ::std::option::Option<&str> {
266 self.sse_customer_key_md5.as_deref()
267 }
268 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
269 pub fn ssekms_key_id(&self) -> ::std::option::Option<&str> {
270 self.ssekms_key_id.as_deref()
271 }
272 /// <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
273 pub fn bucket_key_enabled(&self) -> ::std::option::Option<bool> {
274 self.bucket_key_enabled
275 }
276 /// <p>Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.</p>
277 /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a>.</p><note>
278 /// <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>
279 /// </note>
280 pub fn storage_class(&self) -> ::std::option::Option<&crate::types::StorageClass> {
281 self.storage_class.as_ref()
282 }
283 /// <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>
284 /// <p>This functionality is not supported for directory buckets.</p>
285 /// </note>
286 pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
287 self.request_charged.as_ref()
288 }
289 /// <p>Amazon S3 can return this header if your request involves a bucket that is either a source or a destination in a replication rule.</p>
290 /// <p>In replication, you have a source bucket on which you configure replication and destination bucket or buckets where Amazon S3 stores object replicas. When you request an object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) from these buckets, Amazon S3 will return the <code>x-amz-replication-status</code> header in the response as follows:</p>
291 /// <ul>
292 /// <li>
293 /// <p><b>If requesting an object from the source bucket</b>, Amazon S3 will return the <code>x-amz-replication-status</code> header if the object in your request is eligible for replication.</p>
294 /// <p>For example, suppose that in your replication configuration, you specify object prefix <code>TaxDocs</code> requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. Any objects you upload with this key name prefix, for example <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object request with this key name prefix, Amazon S3 will return the <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or FAILED indicating object replication status.</p></li>
295 /// <li>
296 /// <p><b>If requesting an object from a destination bucket</b>, Amazon S3 will return the <code>x-amz-replication-status</code> header with value REPLICA if the object in your request is a replica that Amazon S3 created and there is no replica modification replication in progress.</p></li>
297 /// <li>
298 /// <p><b>When replicating objects to multiple destination buckets</b>, the <code>x-amz-replication-status</code> header acts differently. The header of the source object will only return a value of COMPLETED when replication is successful to all destinations. The header will remain at value PENDING until replication has completed for all destinations. If one or more destinations fails replication the header will return FAILED.</p></li>
299 /// </ul>
300 /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p><note>
301 /// <p>This functionality is not supported for directory buckets.</p>
302 /// </note>
303 pub fn replication_status(&self) -> ::std::option::Option<&crate::types::ReplicationStatus> {
304 self.replication_status.as_ref()
305 }
306 /// <p>The count of parts this object has. This value is only returned if you specify <code>partNumber</code> in your request and the object was uploaded as a multipart upload.</p>
307 pub fn parts_count(&self) -> ::std::option::Option<i32> {
308 self.parts_count
309 }
310 /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
311 /// <p>You can use <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> to retrieve the tag set associated with an object.</p><note>
312 /// <p>This functionality is not supported for directory buckets.</p>
313 /// </note>
314 pub fn tag_count(&self) -> ::std::option::Option<i32> {
315 self.tag_count
316 }
317 /// <p>The Object Lock mode, if any, that's in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>
318 /// <p>This functionality is not supported for directory buckets.</p>
319 /// </note>
320 pub fn object_lock_mode(&self) -> ::std::option::Option<&crate::types::ObjectLockMode> {
321 self.object_lock_mode.as_ref()
322 }
323 /// <p>The date and time when the Object Lock retention period expires. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission.</p><note>
324 /// <p>This functionality is not supported for directory buckets.</p>
325 /// </note>
326 pub fn object_lock_retain_until_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
327 self.object_lock_retain_until_date.as_ref()
328 }
329 /// <p>Specifies whether a legal hold is in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectLegalHold</code> permission. This header is not returned if the specified version of this object has never had a legal hold applied. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>
330 /// <p>This functionality is not supported for directory buckets.</p>
331 /// </note>
332 pub fn object_lock_legal_hold_status(&self) -> ::std::option::Option<&crate::types::ObjectLockLegalHoldStatus> {
333 self.object_lock_legal_hold_status.as_ref()
334 }
335 /// <p>The date and time at which the object is no longer cacheable.</p>
336 #[deprecated(note = "Please use `expires_string` which contains the raw, unparsed value of this field.")]
337 pub fn expires(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
338 self.expires.as_ref()
339 }
340 /// <p>The date and time at which the object is no longer cacheable.</p>
341 pub fn expires_string(&self) -> ::std::option::Option<&str> {
342 self.expires_string.as_deref()
343 }
344}
345impl ::std::fmt::Debug for HeadObjectOutput {
346 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
347 let mut formatter = f.debug_struct("HeadObjectOutput");
348 formatter.field("delete_marker", &self.delete_marker);
349 formatter.field("accept_ranges", &self.accept_ranges);
350 formatter.field("expiration", &self.expiration);
351 formatter.field("restore", &self.restore);
352 formatter.field("archive_status", &self.archive_status);
353 formatter.field("last_modified", &self.last_modified);
354 formatter.field("content_length", &self.content_length);
355 formatter.field("checksum_crc32", &self.checksum_crc32);
356 formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
357 formatter.field("checksum_crc64_nvme", &self.checksum_crc64_nvme);
358 formatter.field("checksum_sha1", &self.checksum_sha1);
359 formatter.field("checksum_sha256", &self.checksum_sha256);
360 formatter.field("checksum_type", &self.checksum_type);
361 formatter.field("e_tag", &self.e_tag);
362 formatter.field("missing_meta", &self.missing_meta);
363 formatter.field("version_id", &self.version_id);
364 formatter.field("cache_control", &self.cache_control);
365 formatter.field("content_disposition", &self.content_disposition);
366 formatter.field("content_encoding", &self.content_encoding);
367 formatter.field("content_language", &self.content_language);
368 formatter.field("content_type", &self.content_type);
369 formatter.field("content_range", &self.content_range);
370 formatter.field("website_redirect_location", &self.website_redirect_location);
371 formatter.field("server_side_encryption", &self.server_side_encryption);
372 formatter.field("metadata", &self.metadata);
373 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
374 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
375 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
376 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
377 formatter.field("storage_class", &self.storage_class);
378 formatter.field("request_charged", &self.request_charged);
379 formatter.field("replication_status", &self.replication_status);
380 formatter.field("parts_count", &self.parts_count);
381 formatter.field("tag_count", &self.tag_count);
382 formatter.field("object_lock_mode", &self.object_lock_mode);
383 formatter.field("object_lock_retain_until_date", &self.object_lock_retain_until_date);
384 formatter.field("object_lock_legal_hold_status", &self.object_lock_legal_hold_status);
385 formatter.field("expires", &self.expires);
386 formatter.field("expires_string", &self.expires_string);
387 formatter.field("_extended_request_id", &self._extended_request_id);
388 formatter.field("_request_id", &self._request_id);
389 formatter.finish()
390 }
391}
392impl crate::s3_request_id::RequestIdExt for HeadObjectOutput {
393 fn extended_request_id(&self) -> Option<&str> {
394 self._extended_request_id.as_deref()
395 }
396}
397impl ::aws_types::request_id::RequestId for HeadObjectOutput {
398 fn request_id(&self) -> Option<&str> {
399 self._request_id.as_deref()
400 }
401}
402impl HeadObjectOutput {
403 /// Creates a new builder-style object to manufacture [`HeadObjectOutput`](crate::operation::head_object::HeadObjectOutput).
404 pub fn builder() -> crate::operation::head_object::builders::HeadObjectOutputBuilder {
405 crate::operation::head_object::builders::HeadObjectOutputBuilder::default()
406 }
407}
408
409/// A builder for [`HeadObjectOutput`](crate::operation::head_object::HeadObjectOutput).
410#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
411#[non_exhaustive]
412pub struct HeadObjectOutputBuilder {
413 pub(crate) delete_marker: ::std::option::Option<bool>,
414 pub(crate) accept_ranges: ::std::option::Option<::std::string::String>,
415 pub(crate) expiration: ::std::option::Option<::std::string::String>,
416 pub(crate) restore: ::std::option::Option<::std::string::String>,
417 pub(crate) archive_status: ::std::option::Option<crate::types::ArchiveStatus>,
418 pub(crate) last_modified: ::std::option::Option<::aws_smithy_types::DateTime>,
419 pub(crate) content_length: ::std::option::Option<i64>,
420 pub(crate) checksum_crc32: ::std::option::Option<::std::string::String>,
421 pub(crate) checksum_crc32_c: ::std::option::Option<::std::string::String>,
422 pub(crate) checksum_crc64_nvme: ::std::option::Option<::std::string::String>,
423 pub(crate) checksum_sha1: ::std::option::Option<::std::string::String>,
424 pub(crate) checksum_sha256: ::std::option::Option<::std::string::String>,
425 pub(crate) checksum_type: ::std::option::Option<crate::types::ChecksumType>,
426 pub(crate) e_tag: ::std::option::Option<::std::string::String>,
427 pub(crate) missing_meta: ::std::option::Option<i32>,
428 pub(crate) version_id: ::std::option::Option<::std::string::String>,
429 pub(crate) cache_control: ::std::option::Option<::std::string::String>,
430 pub(crate) content_disposition: ::std::option::Option<::std::string::String>,
431 pub(crate) content_encoding: ::std::option::Option<::std::string::String>,
432 pub(crate) content_language: ::std::option::Option<::std::string::String>,
433 pub(crate) content_type: ::std::option::Option<::std::string::String>,
434 pub(crate) content_range: ::std::option::Option<::std::string::String>,
435 pub(crate) website_redirect_location: ::std::option::Option<::std::string::String>,
436 pub(crate) server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
437 pub(crate) metadata: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
438 pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
439 pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
440 pub(crate) ssekms_key_id: ::std::option::Option<::std::string::String>,
441 pub(crate) bucket_key_enabled: ::std::option::Option<bool>,
442 pub(crate) storage_class: ::std::option::Option<crate::types::StorageClass>,
443 pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
444 pub(crate) replication_status: ::std::option::Option<crate::types::ReplicationStatus>,
445 pub(crate) parts_count: ::std::option::Option<i32>,
446 pub(crate) tag_count: ::std::option::Option<i32>,
447 pub(crate) object_lock_mode: ::std::option::Option<crate::types::ObjectLockMode>,
448 pub(crate) object_lock_retain_until_date: ::std::option::Option<::aws_smithy_types::DateTime>,
449 pub(crate) object_lock_legal_hold_status: ::std::option::Option<crate::types::ObjectLockLegalHoldStatus>,
450 pub(crate) expires: ::std::option::Option<::aws_smithy_types::DateTime>,
451 pub(crate) expires_string: ::std::option::Option<::std::string::String>,
452 _extended_request_id: Option<String>,
453 _request_id: Option<String>,
454}
455impl HeadObjectOutputBuilder {
456 /// <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>
457 /// <p>This functionality is not supported for directory buckets.</p>
458 /// </note>
459 pub fn delete_marker(mut self, input: bool) -> Self {
460 self.delete_marker = ::std::option::Option::Some(input);
461 self
462 }
463 /// <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>
464 /// <p>This functionality is not supported for directory buckets.</p>
465 /// </note>
466 pub fn set_delete_marker(mut self, input: ::std::option::Option<bool>) -> Self {
467 self.delete_marker = input;
468 self
469 }
470 /// <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>
471 /// <p>This functionality is not supported for directory buckets.</p>
472 /// </note>
473 pub fn get_delete_marker(&self) -> &::std::option::Option<bool> {
474 &self.delete_marker
475 }
476 /// <p>Indicates that a range of bytes was specified.</p>
477 pub fn accept_ranges(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
478 self.accept_ranges = ::std::option::Option::Some(input.into());
479 self
480 }
481 /// <p>Indicates that a range of bytes was specified.</p>
482 pub fn set_accept_ranges(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
483 self.accept_ranges = input;
484 self
485 }
486 /// <p>Indicates that a range of bytes was specified.</p>
487 pub fn get_accept_ranges(&self) -> &::std::option::Option<::std::string::String> {
488 &self.accept_ranges
489 }
490 /// <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>
491 /// <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>
492 /// </note>
493 pub fn expiration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
494 self.expiration = ::std::option::Option::Some(input.into());
495 self
496 }
497 /// <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>
498 /// <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>
499 /// </note>
500 pub fn set_expiration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
501 self.expiration = input;
502 self
503 }
504 /// <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>
505 /// <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>
506 /// </note>
507 pub fn get_expiration(&self) -> &::std::option::Option<::std::string::String> {
508 &self.expiration
509 }
510 /// <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>
511 /// <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>
512 /// <p><code>x-amz-restore: ongoing-request="false", expiry-date="Fri, 21 Dec 2012 00:00:00 GMT"</code></p>
513 /// <p>If the object restoration is in progress, the header returns the value <code>ongoing-request="true"</code>.</p>
514 /// <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>
515 /// <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>
516 /// </note>
517 pub fn restore(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
518 self.restore = ::std::option::Option::Some(input.into());
519 self
520 }
521 /// <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>
522 /// <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>
523 /// <p><code>x-amz-restore: ongoing-request="false", expiry-date="Fri, 21 Dec 2012 00:00:00 GMT"</code></p>
524 /// <p>If the object restoration is in progress, the header returns the value <code>ongoing-request="true"</code>.</p>
525 /// <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>
526 /// <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>
527 /// </note>
528 pub fn set_restore(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
529 self.restore = input;
530 self
531 }
532 /// <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>
533 /// <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>
534 /// <p><code>x-amz-restore: ongoing-request="false", expiry-date="Fri, 21 Dec 2012 00:00:00 GMT"</code></p>
535 /// <p>If the object restoration is in progress, the header returns the value <code>ongoing-request="true"</code>.</p>
536 /// <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>
537 /// <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>
538 /// </note>
539 pub fn get_restore(&self) -> &::std::option::Option<::std::string::String> {
540 &self.restore
541 }
542 /// <p>The archive state of the head object.</p><note>
543 /// <p>This functionality is not supported for directory buckets.</p>
544 /// </note>
545 pub fn archive_status(mut self, input: crate::types::ArchiveStatus) -> Self {
546 self.archive_status = ::std::option::Option::Some(input);
547 self
548 }
549 /// <p>The archive state of the head object.</p><note>
550 /// <p>This functionality is not supported for directory buckets.</p>
551 /// </note>
552 pub fn set_archive_status(mut self, input: ::std::option::Option<crate::types::ArchiveStatus>) -> Self {
553 self.archive_status = input;
554 self
555 }
556 /// <p>The archive state of the head object.</p><note>
557 /// <p>This functionality is not supported for directory buckets.</p>
558 /// </note>
559 pub fn get_archive_status(&self) -> &::std::option::Option<crate::types::ArchiveStatus> {
560 &self.archive_status
561 }
562 /// <p>Date and time when the object was last modified.</p>
563 pub fn last_modified(mut self, input: ::aws_smithy_types::DateTime) -> Self {
564 self.last_modified = ::std::option::Option::Some(input);
565 self
566 }
567 /// <p>Date and time when the object was last modified.</p>
568 pub fn set_last_modified(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
569 self.last_modified = input;
570 self
571 }
572 /// <p>Date and time when the object was last modified.</p>
573 pub fn get_last_modified(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
574 &self.last_modified
575 }
576 /// <p>Size of the body in bytes.</p>
577 pub fn content_length(mut self, input: i64) -> Self {
578 self.content_length = ::std::option::Option::Some(input);
579 self
580 }
581 /// <p>Size of the body in bytes.</p>
582 pub fn set_content_length(mut self, input: ::std::option::Option<i64>) -> Self {
583 self.content_length = input;
584 self
585 }
586 /// <p>Size of the body in bytes.</p>
587 pub fn get_content_length(&self) -> &::std::option::Option<i64> {
588 &self.content_length
589 }
590 /// <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>
591 pub fn checksum_crc32(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
592 self.checksum_crc32 = ::std::option::Option::Some(input.into());
593 self
594 }
595 /// <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>
596 pub fn set_checksum_crc32(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
597 self.checksum_crc32 = input;
598 self
599 }
600 /// <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>
601 pub fn get_checksum_crc32(&self) -> &::std::option::Option<::std::string::String> {
602 &self.checksum_crc32
603 }
604 /// <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>
605 pub fn checksum_crc32_c(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
606 self.checksum_crc32_c = ::std::option::Option::Some(input.into());
607 self
608 }
609 /// <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>
610 pub fn set_checksum_crc32_c(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
611 self.checksum_crc32_c = input;
612 self
613 }
614 /// <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>
615 pub fn get_checksum_crc32_c(&self) -> &::std::option::Option<::std::string::String> {
616 &self.checksum_crc32_c
617 }
618 /// <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>
619 pub fn checksum_crc64_nvme(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
620 self.checksum_crc64_nvme = ::std::option::Option::Some(input.into());
621 self
622 }
623 /// <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>
624 pub fn set_checksum_crc64_nvme(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
625 self.checksum_crc64_nvme = input;
626 self
627 }
628 /// <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>
629 pub fn get_checksum_crc64_nvme(&self) -> &::std::option::Option<::std::string::String> {
630 &self.checksum_crc64_nvme
631 }
632 /// <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>
633 pub fn checksum_sha1(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
634 self.checksum_sha1 = ::std::option::Option::Some(input.into());
635 self
636 }
637 /// <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>
638 pub fn set_checksum_sha1(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
639 self.checksum_sha1 = input;
640 self
641 }
642 /// <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>
643 pub fn get_checksum_sha1(&self) -> &::std::option::Option<::std::string::String> {
644 &self.checksum_sha1
645 }
646 /// <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>
647 pub fn checksum_sha256(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
648 self.checksum_sha256 = ::std::option::Option::Some(input.into());
649 self
650 }
651 /// <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>
652 pub fn set_checksum_sha256(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
653 self.checksum_sha256 = input;
654 self
655 }
656 /// <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>
657 pub fn get_checksum_sha256(&self) -> &::std::option::Option<::std::string::String> {
658 &self.checksum_sha256
659 }
660 /// <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>
661 pub fn checksum_type(mut self, input: crate::types::ChecksumType) -> Self {
662 self.checksum_type = ::std::option::Option::Some(input);
663 self
664 }
665 /// <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>
666 pub fn set_checksum_type(mut self, input: ::std::option::Option<crate::types::ChecksumType>) -> Self {
667 self.checksum_type = input;
668 self
669 }
670 /// <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>
671 pub fn get_checksum_type(&self) -> &::std::option::Option<crate::types::ChecksumType> {
672 &self.checksum_type
673 }
674 /// <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>
675 pub fn e_tag(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
676 self.e_tag = ::std::option::Option::Some(input.into());
677 self
678 }
679 /// <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>
680 pub fn set_e_tag(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
681 self.e_tag = input;
682 self
683 }
684 /// <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>
685 pub fn get_e_tag(&self) -> &::std::option::Option<::std::string::String> {
686 &self.e_tag
687 }
688 /// <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>
689 /// <p>This functionality is not supported for directory buckets.</p>
690 /// </note>
691 pub fn missing_meta(mut self, input: i32) -> Self {
692 self.missing_meta = ::std::option::Option::Some(input);
693 self
694 }
695 /// <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>
696 /// <p>This functionality is not supported for directory buckets.</p>
697 /// </note>
698 pub fn set_missing_meta(mut self, input: ::std::option::Option<i32>) -> Self {
699 self.missing_meta = input;
700 self
701 }
702 /// <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>
703 /// <p>This functionality is not supported for directory buckets.</p>
704 /// </note>
705 pub fn get_missing_meta(&self) -> &::std::option::Option<i32> {
706 &self.missing_meta
707 }
708 /// <p>Version ID of the object.</p><note>
709 /// <p>This functionality is not supported for directory buckets.</p>
710 /// </note>
711 pub fn version_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
712 self.version_id = ::std::option::Option::Some(input.into());
713 self
714 }
715 /// <p>Version ID of the object.</p><note>
716 /// <p>This functionality is not supported for directory buckets.</p>
717 /// </note>
718 pub fn set_version_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
719 self.version_id = input;
720 self
721 }
722 /// <p>Version ID of the object.</p><note>
723 /// <p>This functionality is not supported for directory buckets.</p>
724 /// </note>
725 pub fn get_version_id(&self) -> &::std::option::Option<::std::string::String> {
726 &self.version_id
727 }
728 /// <p>Specifies caching behavior along the request/reply chain.</p>
729 pub fn cache_control(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
730 self.cache_control = ::std::option::Option::Some(input.into());
731 self
732 }
733 /// <p>Specifies caching behavior along the request/reply chain.</p>
734 pub fn set_cache_control(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
735 self.cache_control = input;
736 self
737 }
738 /// <p>Specifies caching behavior along the request/reply chain.</p>
739 pub fn get_cache_control(&self) -> &::std::option::Option<::std::string::String> {
740 &self.cache_control
741 }
742 /// <p>Specifies presentational information for the object.</p>
743 pub fn content_disposition(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
744 self.content_disposition = ::std::option::Option::Some(input.into());
745 self
746 }
747 /// <p>Specifies presentational information for the object.</p>
748 pub fn set_content_disposition(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
749 self.content_disposition = input;
750 self
751 }
752 /// <p>Specifies presentational information for the object.</p>
753 pub fn get_content_disposition(&self) -> &::std::option::Option<::std::string::String> {
754 &self.content_disposition
755 }
756 /// <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>
757 pub fn content_encoding(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
758 self.content_encoding = ::std::option::Option::Some(input.into());
759 self
760 }
761 /// <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>
762 pub fn set_content_encoding(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
763 self.content_encoding = input;
764 self
765 }
766 /// <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>
767 pub fn get_content_encoding(&self) -> &::std::option::Option<::std::string::String> {
768 &self.content_encoding
769 }
770 /// <p>The language the content is in.</p>
771 pub fn content_language(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
772 self.content_language = ::std::option::Option::Some(input.into());
773 self
774 }
775 /// <p>The language the content is in.</p>
776 pub fn set_content_language(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
777 self.content_language = input;
778 self
779 }
780 /// <p>The language the content is in.</p>
781 pub fn get_content_language(&self) -> &::std::option::Option<::std::string::String> {
782 &self.content_language
783 }
784 /// <p>A standard MIME type describing the format of the object data.</p>
785 pub fn content_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
786 self.content_type = ::std::option::Option::Some(input.into());
787 self
788 }
789 /// <p>A standard MIME type describing the format of the object data.</p>
790 pub fn set_content_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
791 self.content_type = input;
792 self
793 }
794 /// <p>A standard MIME type describing the format of the object data.</p>
795 pub fn get_content_type(&self) -> &::std::option::Option<::std::string::String> {
796 &self.content_type
797 }
798 /// <p>The portion of the object returned in the response for a <code>GET</code> request.</p>
799 pub fn content_range(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
800 self.content_range = ::std::option::Option::Some(input.into());
801 self
802 }
803 /// <p>The portion of the object returned in the response for a <code>GET</code> request.</p>
804 pub fn set_content_range(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
805 self.content_range = input;
806 self
807 }
808 /// <p>The portion of the object returned in the response for a <code>GET</code> request.</p>
809 pub fn get_content_range(&self) -> &::std::option::Option<::std::string::String> {
810 &self.content_range
811 }
812 /// <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>
813 /// <p>This functionality is not supported for directory buckets.</p>
814 /// </note>
815 pub fn website_redirect_location(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
816 self.website_redirect_location = ::std::option::Option::Some(input.into());
817 self
818 }
819 /// <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>
820 /// <p>This functionality is not supported for directory buckets.</p>
821 /// </note>
822 pub fn set_website_redirect_location(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
823 self.website_redirect_location = input;
824 self
825 }
826 /// <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>
827 /// <p>This functionality is not supported for directory buckets.</p>
828 /// </note>
829 pub fn get_website_redirect_location(&self) -> &::std::option::Option<::std::string::String> {
830 &self.website_redirect_location
831 }
832 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p>
833 pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
834 self.server_side_encryption = ::std::option::Option::Some(input);
835 self
836 }
837 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p>
838 pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
839 self.server_side_encryption = input;
840 self
841 }
842 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 (for example, <code>AES256</code>, <code>aws:kms</code>, <code>aws:kms:dsse</code>).</p>
843 pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
844 &self.server_side_encryption
845 }
846 /// Adds a key-value pair to `metadata`.
847 ///
848 /// To override the contents of this collection use [`set_metadata`](Self::set_metadata).
849 ///
850 /// <p>A map of metadata to store with the object in S3.</p>
851 pub fn metadata(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
852 let mut hash_map = self.metadata.unwrap_or_default();
853 hash_map.insert(k.into(), v.into());
854 self.metadata = ::std::option::Option::Some(hash_map);
855 self
856 }
857 /// <p>A map of metadata to store with the object in S3.</p>
858 pub fn set_metadata(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
859 self.metadata = input;
860 self
861 }
862 /// <p>A map of metadata to store with the object in S3.</p>
863 pub fn get_metadata(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
864 &self.metadata
865 }
866 /// <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>
867 /// <p>This functionality is not supported for directory buckets.</p>
868 /// </note>
869 pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
870 self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
871 self
872 }
873 /// <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>
874 /// <p>This functionality is not supported for directory buckets.</p>
875 /// </note>
876 pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
877 self.sse_customer_algorithm = input;
878 self
879 }
880 /// <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>
881 /// <p>This functionality is not supported for directory buckets.</p>
882 /// </note>
883 pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
884 &self.sse_customer_algorithm
885 }
886 /// <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>
887 /// <p>This functionality is not supported for directory buckets.</p>
888 /// </note>
889 pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
890 self.sse_customer_key_md5 = ::std::option::Option::Some(input.into());
891 self
892 }
893 /// <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>
894 /// <p>This functionality is not supported for directory buckets.</p>
895 /// </note>
896 pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
897 self.sse_customer_key_md5 = input;
898 self
899 }
900 /// <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>
901 /// <p>This functionality is not supported for directory buckets.</p>
902 /// </note>
903 pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
904 &self.sse_customer_key_md5
905 }
906 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
907 pub fn ssekms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
908 self.ssekms_key_id = ::std::option::Option::Some(input.into());
909 self
910 }
911 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
912 pub fn set_ssekms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
913 self.ssekms_key_id = input;
914 self
915 }
916 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
917 pub fn get_ssekms_key_id(&self) -> &::std::option::Option<::std::string::String> {
918 &self.ssekms_key_id
919 }
920 /// <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
921 pub fn bucket_key_enabled(mut self, input: bool) -> Self {
922 self.bucket_key_enabled = ::std::option::Option::Some(input);
923 self
924 }
925 /// <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
926 pub fn set_bucket_key_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
927 self.bucket_key_enabled = input;
928 self
929 }
930 /// <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
931 pub fn get_bucket_key_enabled(&self) -> &::std::option::Option<bool> {
932 &self.bucket_key_enabled
933 }
934 /// <p>Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.</p>
935 /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a>.</p><note>
936 /// <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>
937 /// </note>
938 pub fn storage_class(mut self, input: crate::types::StorageClass) -> Self {
939 self.storage_class = ::std::option::Option::Some(input);
940 self
941 }
942 /// <p>Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.</p>
943 /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a>.</p><note>
944 /// <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>
945 /// </note>
946 pub fn set_storage_class(mut self, input: ::std::option::Option<crate::types::StorageClass>) -> Self {
947 self.storage_class = input;
948 self
949 }
950 /// <p>Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.</p>
951 /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html">Storage Classes</a>.</p><note>
952 /// <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>
953 /// </note>
954 pub fn get_storage_class(&self) -> &::std::option::Option<crate::types::StorageClass> {
955 &self.storage_class
956 }
957 /// <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>
958 /// <p>This functionality is not supported for directory buckets.</p>
959 /// </note>
960 pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
961 self.request_charged = ::std::option::Option::Some(input);
962 self
963 }
964 /// <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>
965 /// <p>This functionality is not supported for directory buckets.</p>
966 /// </note>
967 pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
968 self.request_charged = input;
969 self
970 }
971 /// <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>
972 /// <p>This functionality is not supported for directory buckets.</p>
973 /// </note>
974 pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
975 &self.request_charged
976 }
977 /// <p>Amazon S3 can return this header if your request involves a bucket that is either a source or a destination in a replication rule.</p>
978 /// <p>In replication, you have a source bucket on which you configure replication and destination bucket or buckets where Amazon S3 stores object replicas. When you request an object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) from these buckets, Amazon S3 will return the <code>x-amz-replication-status</code> header in the response as follows:</p>
979 /// <ul>
980 /// <li>
981 /// <p><b>If requesting an object from the source bucket</b>, Amazon S3 will return the <code>x-amz-replication-status</code> header if the object in your request is eligible for replication.</p>
982 /// <p>For example, suppose that in your replication configuration, you specify object prefix <code>TaxDocs</code> requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. Any objects you upload with this key name prefix, for example <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object request with this key name prefix, Amazon S3 will return the <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or FAILED indicating object replication status.</p></li>
983 /// <li>
984 /// <p><b>If requesting an object from a destination bucket</b>, Amazon S3 will return the <code>x-amz-replication-status</code> header with value REPLICA if the object in your request is a replica that Amazon S3 created and there is no replica modification replication in progress.</p></li>
985 /// <li>
986 /// <p><b>When replicating objects to multiple destination buckets</b>, the <code>x-amz-replication-status</code> header acts differently. The header of the source object will only return a value of COMPLETED when replication is successful to all destinations. The header will remain at value PENDING until replication has completed for all destinations. If one or more destinations fails replication the header will return FAILED.</p></li>
987 /// </ul>
988 /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p><note>
989 /// <p>This functionality is not supported for directory buckets.</p>
990 /// </note>
991 pub fn replication_status(mut self, input: crate::types::ReplicationStatus) -> Self {
992 self.replication_status = ::std::option::Option::Some(input);
993 self
994 }
995 /// <p>Amazon S3 can return this header if your request involves a bucket that is either a source or a destination in a replication rule.</p>
996 /// <p>In replication, you have a source bucket on which you configure replication and destination bucket or buckets where Amazon S3 stores object replicas. When you request an object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) from these buckets, Amazon S3 will return the <code>x-amz-replication-status</code> header in the response as follows:</p>
997 /// <ul>
998 /// <li>
999 /// <p><b>If requesting an object from the source bucket</b>, Amazon S3 will return the <code>x-amz-replication-status</code> header if the object in your request is eligible for replication.</p>
1000 /// <p>For example, suppose that in your replication configuration, you specify object prefix <code>TaxDocs</code> requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. Any objects you upload with this key name prefix, for example <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object request with this key name prefix, Amazon S3 will return the <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or FAILED indicating object replication status.</p></li>
1001 /// <li>
1002 /// <p><b>If requesting an object from a destination bucket</b>, Amazon S3 will return the <code>x-amz-replication-status</code> header with value REPLICA if the object in your request is a replica that Amazon S3 created and there is no replica modification replication in progress.</p></li>
1003 /// <li>
1004 /// <p><b>When replicating objects to multiple destination buckets</b>, the <code>x-amz-replication-status</code> header acts differently. The header of the source object will only return a value of COMPLETED when replication is successful to all destinations. The header will remain at value PENDING until replication has completed for all destinations. If one or more destinations fails replication the header will return FAILED.</p></li>
1005 /// </ul>
1006 /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p><note>
1007 /// <p>This functionality is not supported for directory buckets.</p>
1008 /// </note>
1009 pub fn set_replication_status(mut self, input: ::std::option::Option<crate::types::ReplicationStatus>) -> Self {
1010 self.replication_status = input;
1011 self
1012 }
1013 /// <p>Amazon S3 can return this header if your request involves a bucket that is either a source or a destination in a replication rule.</p>
1014 /// <p>In replication, you have a source bucket on which you configure replication and destination bucket or buckets where Amazon S3 stores object replicas. When you request an object (<code>GetObject</code>) or object metadata (<code>HeadObject</code>) from these buckets, Amazon S3 will return the <code>x-amz-replication-status</code> header in the response as follows:</p>
1015 /// <ul>
1016 /// <li>
1017 /// <p><b>If requesting an object from the source bucket</b>, Amazon S3 will return the <code>x-amz-replication-status</code> header if the object in your request is eligible for replication.</p>
1018 /// <p>For example, suppose that in your replication configuration, you specify object prefix <code>TaxDocs</code> requesting Amazon S3 to replicate objects with key prefix <code>TaxDocs</code>. Any objects you upload with this key name prefix, for example <code>TaxDocs/document1.pdf</code>, are eligible for replication. For any object request with this key name prefix, Amazon S3 will return the <code>x-amz-replication-status</code> header with value PENDING, COMPLETED or FAILED indicating object replication status.</p></li>
1019 /// <li>
1020 /// <p><b>If requesting an object from a destination bucket</b>, Amazon S3 will return the <code>x-amz-replication-status</code> header with value REPLICA if the object in your request is a replica that Amazon S3 created and there is no replica modification replication in progress.</p></li>
1021 /// <li>
1022 /// <p><b>When replicating objects to multiple destination buckets</b>, the <code>x-amz-replication-status</code> header acts differently. The header of the source object will only return a value of COMPLETED when replication is successful to all destinations. The header will remain at value PENDING until replication has completed for all destinations. If one or more destinations fails replication the header will return FAILED.</p></li>
1023 /// </ul>
1024 /// <p>For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html">Replication</a>.</p><note>
1025 /// <p>This functionality is not supported for directory buckets.</p>
1026 /// </note>
1027 pub fn get_replication_status(&self) -> &::std::option::Option<crate::types::ReplicationStatus> {
1028 &self.replication_status
1029 }
1030 /// <p>The count of parts this object has. This value is only returned if you specify <code>partNumber</code> in your request and the object was uploaded as a multipart upload.</p>
1031 pub fn parts_count(mut self, input: i32) -> Self {
1032 self.parts_count = ::std::option::Option::Some(input);
1033 self
1034 }
1035 /// <p>The count of parts this object has. This value is only returned if you specify <code>partNumber</code> in your request and the object was uploaded as a multipart upload.</p>
1036 pub fn set_parts_count(mut self, input: ::std::option::Option<i32>) -> Self {
1037 self.parts_count = input;
1038 self
1039 }
1040 /// <p>The count of parts this object has. This value is only returned if you specify <code>partNumber</code> in your request and the object was uploaded as a multipart upload.</p>
1041 pub fn get_parts_count(&self) -> &::std::option::Option<i32> {
1042 &self.parts_count
1043 }
1044 /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
1045 /// <p>You can use <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> to retrieve the tag set associated with an object.</p><note>
1046 /// <p>This functionality is not supported for directory buckets.</p>
1047 /// </note>
1048 pub fn tag_count(mut self, input: i32) -> Self {
1049 self.tag_count = ::std::option::Option::Some(input);
1050 self
1051 }
1052 /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
1053 /// <p>You can use <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> to retrieve the tag set associated with an object.</p><note>
1054 /// <p>This functionality is not supported for directory buckets.</p>
1055 /// </note>
1056 pub fn set_tag_count(mut self, input: ::std::option::Option<i32>) -> Self {
1057 self.tag_count = input;
1058 self
1059 }
1060 /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
1061 /// <p>You can use <a href="https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html">GetObjectTagging</a> to retrieve the tag set associated with an object.</p><note>
1062 /// <p>This functionality is not supported for directory buckets.</p>
1063 /// </note>
1064 pub fn get_tag_count(&self) -> &::std::option::Option<i32> {
1065 &self.tag_count
1066 }
1067 /// <p>The Object Lock mode, if any, that's in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>
1068 /// <p>This functionality is not supported for directory buckets.</p>
1069 /// </note>
1070 pub fn object_lock_mode(mut self, input: crate::types::ObjectLockMode) -> Self {
1071 self.object_lock_mode = ::std::option::Option::Some(input);
1072 self
1073 }
1074 /// <p>The Object Lock mode, if any, that's in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>
1075 /// <p>This functionality is not supported for directory buckets.</p>
1076 /// </note>
1077 pub fn set_object_lock_mode(mut self, input: ::std::option::Option<crate::types::ObjectLockMode>) -> Self {
1078 self.object_lock_mode = input;
1079 self
1080 }
1081 /// <p>The Object Lock mode, if any, that's in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>
1082 /// <p>This functionality is not supported for directory buckets.</p>
1083 /// </note>
1084 pub fn get_object_lock_mode(&self) -> &::std::option::Option<crate::types::ObjectLockMode> {
1085 &self.object_lock_mode
1086 }
1087 /// <p>The date and time when the Object Lock retention period expires. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission.</p><note>
1088 /// <p>This functionality is not supported for directory buckets.</p>
1089 /// </note>
1090 pub fn object_lock_retain_until_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
1091 self.object_lock_retain_until_date = ::std::option::Option::Some(input);
1092 self
1093 }
1094 /// <p>The date and time when the Object Lock retention period expires. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission.</p><note>
1095 /// <p>This functionality is not supported for directory buckets.</p>
1096 /// </note>
1097 pub fn set_object_lock_retain_until_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
1098 self.object_lock_retain_until_date = input;
1099 self
1100 }
1101 /// <p>The date and time when the Object Lock retention period expires. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission.</p><note>
1102 /// <p>This functionality is not supported for directory buckets.</p>
1103 /// </note>
1104 pub fn get_object_lock_retain_until_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
1105 &self.object_lock_retain_until_date
1106 }
1107 /// <p>Specifies whether a legal hold is in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectLegalHold</code> permission. This header is not returned if the specified version of this object has never had a legal hold applied. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>
1108 /// <p>This functionality is not supported for directory buckets.</p>
1109 /// </note>
1110 pub fn object_lock_legal_hold_status(mut self, input: crate::types::ObjectLockLegalHoldStatus) -> Self {
1111 self.object_lock_legal_hold_status = ::std::option::Option::Some(input);
1112 self
1113 }
1114 /// <p>Specifies whether a legal hold is in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectLegalHold</code> permission. This header is not returned if the specified version of this object has never had a legal hold applied. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>
1115 /// <p>This functionality is not supported for directory buckets.</p>
1116 /// </note>
1117 pub fn set_object_lock_legal_hold_status(mut self, input: ::std::option::Option<crate::types::ObjectLockLegalHoldStatus>) -> Self {
1118 self.object_lock_legal_hold_status = input;
1119 self
1120 }
1121 /// <p>Specifies whether a legal hold is in effect for this object. This header is only returned if the requester has the <code>s3:GetObjectLegalHold</code> permission. This header is not returned if the specified version of this object has never had a legal hold applied. For more information about S3 Object Lock, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html">Object Lock</a>.</p><note>
1122 /// <p>This functionality is not supported for directory buckets.</p>
1123 /// </note>
1124 pub fn get_object_lock_legal_hold_status(&self) -> &::std::option::Option<crate::types::ObjectLockLegalHoldStatus> {
1125 &self.object_lock_legal_hold_status
1126 }
1127 /// <p>The date and time at which the object is no longer cacheable.</p>
1128 #[deprecated(note = "Please use `expires_string` which contains the raw, unparsed value of this field.")]
1129 pub fn expires(mut self, input: ::aws_smithy_types::DateTime) -> Self {
1130 self.expires = ::std::option::Option::Some(input);
1131 self
1132 }
1133 /// <p>The date and time at which the object is no longer cacheable.</p>
1134 #[deprecated(note = "Please use `expires_string` which contains the raw, unparsed value of this field.")]
1135 pub fn set_expires(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
1136 self.expires = input;
1137 self
1138 }
1139 /// <p>The date and time at which the object is no longer cacheable.</p>
1140 #[deprecated(note = "Please use `expires_string` which contains the raw, unparsed value of this field.")]
1141 pub fn get_expires(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
1142 &self.expires
1143 }
1144 /// <p>The date and time at which the object is no longer cacheable.</p>
1145 pub fn expires_string(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
1146 self.expires_string = ::std::option::Option::Some(input.into());
1147 self
1148 }
1149 /// <p>The date and time at which the object is no longer cacheable.</p>
1150 pub fn set_expires_string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
1151 self.expires_string = input;
1152 self
1153 }
1154 /// <p>The date and time at which the object is no longer cacheable.</p>
1155 pub fn get_expires_string(&self) -> &::std::option::Option<::std::string::String> {
1156 &self.expires_string
1157 }
1158 pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
1159 self._extended_request_id = Some(extended_request_id.into());
1160 self
1161 }
1162
1163 pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
1164 self._extended_request_id = extended_request_id;
1165 self
1166 }
1167 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
1168 self._request_id = Some(request_id.into());
1169 self
1170 }
1171
1172 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
1173 self._request_id = request_id;
1174 self
1175 }
1176 /// Consumes the builder and constructs a [`HeadObjectOutput`](crate::operation::head_object::HeadObjectOutput).
1177 pub fn build(self) -> crate::operation::head_object::HeadObjectOutput {
1178 crate::operation::head_object::HeadObjectOutput {
1179 delete_marker: self.delete_marker,
1180 accept_ranges: self.accept_ranges,
1181 expiration: self.expiration,
1182 restore: self.restore,
1183 archive_status: self.archive_status,
1184 last_modified: self.last_modified,
1185 content_length: self.content_length,
1186 checksum_crc32: self.checksum_crc32,
1187 checksum_crc32_c: self.checksum_crc32_c,
1188 checksum_crc64_nvme: self.checksum_crc64_nvme,
1189 checksum_sha1: self.checksum_sha1,
1190 checksum_sha256: self.checksum_sha256,
1191 checksum_type: self.checksum_type,
1192 e_tag: self.e_tag,
1193 missing_meta: self.missing_meta,
1194 version_id: self.version_id,
1195 cache_control: self.cache_control,
1196 content_disposition: self.content_disposition,
1197 content_encoding: self.content_encoding,
1198 content_language: self.content_language,
1199 content_type: self.content_type,
1200 content_range: self.content_range,
1201 website_redirect_location: self.website_redirect_location,
1202 server_side_encryption: self.server_side_encryption,
1203 metadata: self.metadata,
1204 sse_customer_algorithm: self.sse_customer_algorithm,
1205 sse_customer_key_md5: self.sse_customer_key_md5,
1206 ssekms_key_id: self.ssekms_key_id,
1207 bucket_key_enabled: self.bucket_key_enabled,
1208 storage_class: self.storage_class,
1209 request_charged: self.request_charged,
1210 replication_status: self.replication_status,
1211 parts_count: self.parts_count,
1212 tag_count: self.tag_count,
1213 object_lock_mode: self.object_lock_mode,
1214 object_lock_retain_until_date: self.object_lock_retain_until_date,
1215 object_lock_legal_hold_status: self.object_lock_legal_hold_status,
1216 expires: self.expires,
1217 expires_string: self.expires_string,
1218 _extended_request_id: self._extended_request_id,
1219 _request_id: self._request_id,
1220 }
1221 }
1222}
1223impl ::std::fmt::Debug for HeadObjectOutputBuilder {
1224 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1225 let mut formatter = f.debug_struct("HeadObjectOutputBuilder");
1226 formatter.field("delete_marker", &self.delete_marker);
1227 formatter.field("accept_ranges", &self.accept_ranges);
1228 formatter.field("expiration", &self.expiration);
1229 formatter.field("restore", &self.restore);
1230 formatter.field("archive_status", &self.archive_status);
1231 formatter.field("last_modified", &self.last_modified);
1232 formatter.field("content_length", &self.content_length);
1233 formatter.field("checksum_crc32", &self.checksum_crc32);
1234 formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
1235 formatter.field("checksum_crc64_nvme", &self.checksum_crc64_nvme);
1236 formatter.field("checksum_sha1", &self.checksum_sha1);
1237 formatter.field("checksum_sha256", &self.checksum_sha256);
1238 formatter.field("checksum_type", &self.checksum_type);
1239 formatter.field("e_tag", &self.e_tag);
1240 formatter.field("missing_meta", &self.missing_meta);
1241 formatter.field("version_id", &self.version_id);
1242 formatter.field("cache_control", &self.cache_control);
1243 formatter.field("content_disposition", &self.content_disposition);
1244 formatter.field("content_encoding", &self.content_encoding);
1245 formatter.field("content_language", &self.content_language);
1246 formatter.field("content_type", &self.content_type);
1247 formatter.field("content_range", &self.content_range);
1248 formatter.field("website_redirect_location", &self.website_redirect_location);
1249 formatter.field("server_side_encryption", &self.server_side_encryption);
1250 formatter.field("metadata", &self.metadata);
1251 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
1252 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
1253 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
1254 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
1255 formatter.field("storage_class", &self.storage_class);
1256 formatter.field("request_charged", &self.request_charged);
1257 formatter.field("replication_status", &self.replication_status);
1258 formatter.field("parts_count", &self.parts_count);
1259 formatter.field("tag_count", &self.tag_count);
1260 formatter.field("object_lock_mode", &self.object_lock_mode);
1261 formatter.field("object_lock_retain_until_date", &self.object_lock_retain_until_date);
1262 formatter.field("object_lock_legal_hold_status", &self.object_lock_legal_hold_status);
1263 formatter.field("expires", &self.expires);
1264 formatter.field("expires_string", &self.expires_string);
1265 formatter.field("_extended_request_id", &self._extended_request_id);
1266 formatter.field("_request_id", &self._request_id);
1267 formatter.finish()
1268 }
1269}