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