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. 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>
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 checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
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 checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
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 checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
40 pub checksum_sha1: ::std::option::Option<::std::string::String>,
41 /// <p>The Base64 encoded, 256-bit <code>SHA256</code> digest of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
42 pub checksum_sha256: ::std::option::Option<::std::string::String>,
43 /// <p>The Base64 encoded, 512-bit <code>SHA512</code> digest 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>
44 pub checksum_sha512: ::std::option::Option<::std::string::String>,
45 /// <p>The Base64 encoded, 128-bit <code>MD5</code> digest 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>
46 pub checksum_md5: ::std::option::Option<::std::string::String>,
47 /// <p>The Base64 encoded, 64-bit <code>XXHASH64</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>
48 pub checksum_xxhash64: ::std::option::Option<::std::string::String>,
49 /// <p>The Base64 encoded, 64-bit <code>XXHASH3</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>
50 pub checksum_xxhash3: ::std::option::Option<::std::string::String>,
51 /// <p>The Base64 encoded, 128-bit <code>XXHASH128</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>
52 pub checksum_xxhash128: ::std::option::Option<::std::string::String>,
53 /// <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>
54 pub checksum_type: ::std::option::Option<crate::types::ChecksumType>,
55 /// <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>
56 /// <p>This functionality is not supported for directory buckets.</p>
57 /// </note>
58 pub missing_meta: ::std::option::Option<i32>,
59 /// <p>Version ID of the object.</p><note>
60 /// <p>This functionality is not supported for directory buckets.</p>
61 /// </note>
62 pub version_id: ::std::option::Option<::std::string::String>,
63 /// <p>Specifies caching behavior along the request/reply chain.</p>
64 pub cache_control: ::std::option::Option<::std::string::String>,
65 /// <p>Specifies presentational information for the object.</p>
66 pub content_disposition: ::std::option::Option<::std::string::String>,
67 /// <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>
68 pub content_encoding: ::std::option::Option<::std::string::String>,
69 /// <p>The language the content is in.</p>
70 pub content_language: ::std::option::Option<::std::string::String>,
71 /// <p>The portion of the object returned in the response.</p>
72 pub content_range: ::std::option::Option<::std::string::String>,
73 /// <p>A standard MIME type describing the format of the object data.</p>
74 pub content_type: ::std::option::Option<::std::string::String>,
75 /// <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>
76 /// <p>This functionality is not supported for directory buckets.</p>
77 /// </note>
78 pub website_redirect_location: ::std::option::Option<::std::string::String>,
79 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
80 /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
81 /// </note>
82 pub server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
83 /// <p>A map of metadata to store with the object in S3.</p>
84 pub metadata: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
85 /// <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>
86 /// <p>This functionality is not supported for directory buckets.</p>
87 /// </note>
88 pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
89 /// <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>
90 /// <p>This functionality is not supported for directory buckets.</p>
91 /// </note>
92 pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
93 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
94 pub ssekms_key_id: ::std::option::Option<::std::string::String>,
95 /// <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
96 pub bucket_key_enabled: ::std::option::Option<bool>,
97 /// <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>
98 /// <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>
99 /// </note>
100 pub storage_class: ::std::option::Option<crate::types::StorageClass>,
101 /// <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>
102 /// <p>This functionality is not supported for directory buckets.</p>
103 /// </note>
104 pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
105 /// <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>
106 /// <p>This functionality is not supported for directory buckets.</p>
107 /// </note>
108 pub replication_status: ::std::option::Option<crate::types::ReplicationStatus>,
109 /// <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>
110 pub parts_count: ::std::option::Option<i32>,
111 /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
112 /// <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>
113 /// <p>This functionality is not supported for directory buckets.</p>
114 /// </note>
115 pub tag_count: ::std::option::Option<i32>,
116 /// <p>The Object Lock mode that's currently in place for this object.</p><note>
117 /// <p>This functionality is not supported for directory buckets.</p>
118 /// </note>
119 pub object_lock_mode: ::std::option::Option<crate::types::ObjectLockMode>,
120 /// <p>The date and time when this object's Object Lock will expire.</p><note>
121 /// <p>This functionality is not supported for directory buckets.</p>
122 /// </note>
123 pub object_lock_retain_until_date: ::std::option::Option<::aws_smithy_types::DateTime>,
124 /// <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>
125 /// <p>This functionality is not supported for directory buckets.</p>
126 /// </note>
127 pub object_lock_legal_hold_status: ::std::option::Option<crate::types::ObjectLockLegalHoldStatus>,
128 /// <p>The event hold status for this object. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission.</p><note>
129 /// <p>This functionality is not supported for directory buckets.</p>
130 /// </note>
131 pub object_lock_event_hold: ::std::option::Option<crate::types::ObjectLockEventHold>,
132 /// <p>The event hold duration in days for this object. Only returned when the event hold is enabled.</p><note>
133 /// <p>This functionality is not supported for directory buckets.</p>
134 /// </note>
135 pub object_lock_event_hold_duration_days: ::std::option::Option<i32>,
136 /// <p>The event hold duration in years for this object. Only returned when the event hold is enabled.</p><note>
137 /// <p>This functionality is not supported for directory buckets.</p>
138 /// </note>
139 pub object_lock_event_hold_duration_years: ::std::option::Option<i32>,
140 /// <p>The date and time at which the object is no longer cacheable.</p>
141 #[deprecated(note = "Please use `expires_string` which contains the raw, unparsed value of this field.")]
142 pub expires: ::std::option::Option<::aws_smithy_types::DateTime>,
143 /// <p>The date and time at which the object is no longer cacheable.</p>
144 pub expires_string: ::std::option::Option<::std::string::String>,
145 _extended_request_id: Option<String>,
146 _request_id: Option<String>,
147}
148impl GetObjectOutput {
149 /// <p>Object data.</p>
150 pub fn body(&self) -> &::aws_smithy_types::byte_stream::ByteStream {
151 &self.body
152 }
153 /// <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>
154 /// <ul>
155 /// <li>
156 /// <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>
157 /// <li>
158 /// <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>
159 /// </ul>
160 /// </note>
161 pub fn delete_marker(&self) -> ::std::option::Option<bool> {
162 self.delete_marker
163 }
164 /// <p>Indicates that a range of bytes was specified in the request.</p>
165 pub fn accept_ranges(&self) -> ::std::option::Option<&str> {
166 self.accept_ranges.as_deref()
167 }
168 /// <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>
169 /// <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>
170 /// </note>
171 pub fn expiration(&self) -> ::std::option::Option<&str> {
172 self.expiration.as_deref()
173 }
174 /// <p>Provides information about object restoration action and expiration time of the restored object copy.</p><note>
175 /// <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>
176 /// </note>
177 pub fn restore(&self) -> ::std::option::Option<&str> {
178 self.restore.as_deref()
179 }
180 /// <p>Date and time when the object was last modified.</p>
181 /// <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>
182 pub fn last_modified(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
183 self.last_modified.as_ref()
184 }
185 /// <p>Size of the body in bytes.</p>
186 pub fn content_length(&self) -> ::std::option::Option<i64> {
187 self.content_length
188 }
189 /// <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>
190 pub fn e_tag(&self) -> ::std::option::Option<&str> {
191 self.e_tag.as_deref()
192 }
193 /// <p>The Base64 encoded, 32-bit <code>CRC32</code> checksum of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
194 pub fn checksum_crc32(&self) -> ::std::option::Option<&str> {
195 self.checksum_crc32.as_deref()
196 }
197 /// <p>The Base64 encoded, 32-bit <code>CRC32C</code> checksum of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
198 pub fn checksum_crc32_c(&self) -> ::std::option::Option<&str> {
199 self.checksum_crc32_c.as_deref()
200 }
201 /// <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>
202 pub fn checksum_crc64_nvme(&self) -> ::std::option::Option<&str> {
203 self.checksum_crc64_nvme.as_deref()
204 }
205 /// <p>The Base64 encoded, 160-bit <code>SHA1</code> digest of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
206 pub fn checksum_sha1(&self) -> ::std::option::Option<&str> {
207 self.checksum_sha1.as_deref()
208 }
209 /// <p>The Base64 encoded, 256-bit <code>SHA256</code> digest of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
210 pub fn checksum_sha256(&self) -> ::std::option::Option<&str> {
211 self.checksum_sha256.as_deref()
212 }
213 /// <p>The Base64 encoded, 512-bit <code>SHA512</code> digest 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>
214 pub fn checksum_sha512(&self) -> ::std::option::Option<&str> {
215 self.checksum_sha512.as_deref()
216 }
217 /// <p>The Base64 encoded, 128-bit <code>MD5</code> digest 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>
218 pub fn checksum_md5(&self) -> ::std::option::Option<&str> {
219 self.checksum_md5.as_deref()
220 }
221 /// <p>The Base64 encoded, 64-bit <code>XXHASH64</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>
222 pub fn checksum_xxhash64(&self) -> ::std::option::Option<&str> {
223 self.checksum_xxhash64.as_deref()
224 }
225 /// <p>The Base64 encoded, 64-bit <code>XXHASH3</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>
226 pub fn checksum_xxhash3(&self) -> ::std::option::Option<&str> {
227 self.checksum_xxhash3.as_deref()
228 }
229 /// <p>The Base64 encoded, 128-bit <code>XXHASH128</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>
230 pub fn checksum_xxhash128(&self) -> ::std::option::Option<&str> {
231 self.checksum_xxhash128.as_deref()
232 }
233 /// <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>
234 pub fn checksum_type(&self) -> ::std::option::Option<&crate::types::ChecksumType> {
235 self.checksum_type.as_ref()
236 }
237 /// <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>
238 /// <p>This functionality is not supported for directory buckets.</p>
239 /// </note>
240 pub fn missing_meta(&self) -> ::std::option::Option<i32> {
241 self.missing_meta
242 }
243 /// <p>Version ID of the object.</p><note>
244 /// <p>This functionality is not supported for directory buckets.</p>
245 /// </note>
246 pub fn version_id(&self) -> ::std::option::Option<&str> {
247 self.version_id.as_deref()
248 }
249 /// <p>Specifies caching behavior along the request/reply chain.</p>
250 pub fn cache_control(&self) -> ::std::option::Option<&str> {
251 self.cache_control.as_deref()
252 }
253 /// <p>Specifies presentational information for the object.</p>
254 pub fn content_disposition(&self) -> ::std::option::Option<&str> {
255 self.content_disposition.as_deref()
256 }
257 /// <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>
258 pub fn content_encoding(&self) -> ::std::option::Option<&str> {
259 self.content_encoding.as_deref()
260 }
261 /// <p>The language the content is in.</p>
262 pub fn content_language(&self) -> ::std::option::Option<&str> {
263 self.content_language.as_deref()
264 }
265 /// <p>The portion of the object returned in the response.</p>
266 pub fn content_range(&self) -> ::std::option::Option<&str> {
267 self.content_range.as_deref()
268 }
269 /// <p>A standard MIME type describing the format of the object data.</p>
270 pub fn content_type(&self) -> ::std::option::Option<&str> {
271 self.content_type.as_deref()
272 }
273 /// <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>
274 /// <p>This functionality is not supported for directory buckets.</p>
275 /// </note>
276 pub fn website_redirect_location(&self) -> ::std::option::Option<&str> {
277 self.website_redirect_location.as_deref()
278 }
279 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
280 /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
281 /// </note>
282 pub fn server_side_encryption(&self) -> ::std::option::Option<&crate::types::ServerSideEncryption> {
283 self.server_side_encryption.as_ref()
284 }
285 /// <p>A map of metadata to store with the object in S3.</p>
286 pub fn metadata(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
287 self.metadata.as_ref()
288 }
289 /// <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>
290 /// <p>This functionality is not supported for directory buckets.</p>
291 /// </note>
292 pub fn sse_customer_algorithm(&self) -> ::std::option::Option<&str> {
293 self.sse_customer_algorithm.as_deref()
294 }
295 /// <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>
296 /// <p>This functionality is not supported for directory buckets.</p>
297 /// </note>
298 pub fn sse_customer_key_md5(&self) -> ::std::option::Option<&str> {
299 self.sse_customer_key_md5.as_deref()
300 }
301 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
302 pub fn ssekms_key_id(&self) -> ::std::option::Option<&str> {
303 self.ssekms_key_id.as_deref()
304 }
305 /// <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
306 pub fn bucket_key_enabled(&self) -> ::std::option::Option<bool> {
307 self.bucket_key_enabled
308 }
309 /// <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>
310 /// <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>
311 /// </note>
312 pub fn storage_class(&self) -> ::std::option::Option<&crate::types::StorageClass> {
313 self.storage_class.as_ref()
314 }
315 /// <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>
316 /// <p>This functionality is not supported for directory buckets.</p>
317 /// </note>
318 pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
319 self.request_charged.as_ref()
320 }
321 /// <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>
322 /// <p>This functionality is not supported for directory buckets.</p>
323 /// </note>
324 pub fn replication_status(&self) -> ::std::option::Option<&crate::types::ReplicationStatus> {
325 self.replication_status.as_ref()
326 }
327 /// <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>
328 pub fn parts_count(&self) -> ::std::option::Option<i32> {
329 self.parts_count
330 }
331 /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
332 /// <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>
333 /// <p>This functionality is not supported for directory buckets.</p>
334 /// </note>
335 pub fn tag_count(&self) -> ::std::option::Option<i32> {
336 self.tag_count
337 }
338 /// <p>The Object Lock mode that's currently in place for this object.</p><note>
339 /// <p>This functionality is not supported for directory buckets.</p>
340 /// </note>
341 pub fn object_lock_mode(&self) -> ::std::option::Option<&crate::types::ObjectLockMode> {
342 self.object_lock_mode.as_ref()
343 }
344 /// <p>The date and time when this object's Object Lock will expire.</p><note>
345 /// <p>This functionality is not supported for directory buckets.</p>
346 /// </note>
347 pub fn object_lock_retain_until_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
348 self.object_lock_retain_until_date.as_ref()
349 }
350 /// <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>
351 /// <p>This functionality is not supported for directory buckets.</p>
352 /// </note>
353 pub fn object_lock_legal_hold_status(&self) -> ::std::option::Option<&crate::types::ObjectLockLegalHoldStatus> {
354 self.object_lock_legal_hold_status.as_ref()
355 }
356 /// <p>The event hold status for this object. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission.</p><note>
357 /// <p>This functionality is not supported for directory buckets.</p>
358 /// </note>
359 pub fn object_lock_event_hold(&self) -> ::std::option::Option<&crate::types::ObjectLockEventHold> {
360 self.object_lock_event_hold.as_ref()
361 }
362 /// <p>The event hold duration in days for this object. Only returned when the event hold is enabled.</p><note>
363 /// <p>This functionality is not supported for directory buckets.</p>
364 /// </note>
365 pub fn object_lock_event_hold_duration_days(&self) -> ::std::option::Option<i32> {
366 self.object_lock_event_hold_duration_days
367 }
368 /// <p>The event hold duration in years for this object. Only returned when the event hold is enabled.</p><note>
369 /// <p>This functionality is not supported for directory buckets.</p>
370 /// </note>
371 pub fn object_lock_event_hold_duration_years(&self) -> ::std::option::Option<i32> {
372 self.object_lock_event_hold_duration_years
373 }
374 /// <p>The date and time at which the object is no longer cacheable.</p>
375 #[deprecated(note = "Please use `expires_string` which contains the raw, unparsed value of this field.")]
376 pub fn expires(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
377 self.expires.as_ref()
378 }
379 /// <p>The date and time at which the object is no longer cacheable.</p>
380 pub fn expires_string(&self) -> ::std::option::Option<&str> {
381 self.expires_string.as_deref()
382 }
383}
384impl ::std::fmt::Debug for GetObjectOutput {
385 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
386 let mut formatter = f.debug_struct("GetObjectOutput");
387 formatter.field("body", &self.body);
388 formatter.field("delete_marker", &self.delete_marker);
389 formatter.field("accept_ranges", &self.accept_ranges);
390 formatter.field("expiration", &self.expiration);
391 formatter.field("restore", &self.restore);
392 formatter.field("last_modified", &self.last_modified);
393 formatter.field("content_length", &self.content_length);
394 formatter.field("e_tag", &self.e_tag);
395 formatter.field("checksum_crc32", &self.checksum_crc32);
396 formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
397 formatter.field("checksum_crc64_nvme", &self.checksum_crc64_nvme);
398 formatter.field("checksum_sha1", &self.checksum_sha1);
399 formatter.field("checksum_sha256", &self.checksum_sha256);
400 formatter.field("checksum_sha512", &self.checksum_sha512);
401 formatter.field("checksum_md5", &self.checksum_md5);
402 formatter.field("checksum_xxhash64", &self.checksum_xxhash64);
403 formatter.field("checksum_xxhash3", &self.checksum_xxhash3);
404 formatter.field("checksum_xxhash128", &self.checksum_xxhash128);
405 formatter.field("checksum_type", &self.checksum_type);
406 formatter.field("missing_meta", &self.missing_meta);
407 formatter.field("version_id", &self.version_id);
408 formatter.field("cache_control", &self.cache_control);
409 formatter.field("content_disposition", &self.content_disposition);
410 formatter.field("content_encoding", &self.content_encoding);
411 formatter.field("content_language", &self.content_language);
412 formatter.field("content_range", &self.content_range);
413 formatter.field("content_type", &self.content_type);
414 formatter.field("website_redirect_location", &self.website_redirect_location);
415 formatter.field("server_side_encryption", &self.server_side_encryption);
416 formatter.field("metadata", &self.metadata);
417 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
418 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
419 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
420 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
421 formatter.field("storage_class", &self.storage_class);
422 formatter.field("request_charged", &self.request_charged);
423 formatter.field("replication_status", &self.replication_status);
424 formatter.field("parts_count", &self.parts_count);
425 formatter.field("tag_count", &self.tag_count);
426 formatter.field("object_lock_mode", &self.object_lock_mode);
427 formatter.field("object_lock_retain_until_date", &self.object_lock_retain_until_date);
428 formatter.field("object_lock_legal_hold_status", &self.object_lock_legal_hold_status);
429 formatter.field("object_lock_event_hold", &self.object_lock_event_hold);
430 formatter.field("object_lock_event_hold_duration_days", &self.object_lock_event_hold_duration_days);
431 formatter.field("object_lock_event_hold_duration_years", &self.object_lock_event_hold_duration_years);
432 formatter.field("expires", &self.expires);
433 formatter.field("expires_string", &self.expires_string);
434 formatter.field("_extended_request_id", &self._extended_request_id);
435 formatter.field("_request_id", &self._request_id);
436 formatter.finish()
437 }
438}
439impl crate::s3_request_id::RequestIdExt for GetObjectOutput {
440 fn extended_request_id(&self) -> Option<&str> {
441 self._extended_request_id.as_deref()
442 }
443}
444impl ::aws_types::request_id::RequestId for GetObjectOutput {
445 fn request_id(&self) -> Option<&str> {
446 self._request_id.as_deref()
447 }
448}
449impl GetObjectOutput {
450 /// Creates a new builder-style object to manufacture [`GetObjectOutput`](crate::operation::get_object::GetObjectOutput).
451 pub fn builder() -> crate::operation::get_object::builders::GetObjectOutputBuilder {
452 crate::operation::get_object::builders::GetObjectOutputBuilder::default()
453 }
454}
455
456/// A builder for [`GetObjectOutput`](crate::operation::get_object::GetObjectOutput).
457#[derive(::std::default::Default)]
458#[non_exhaustive]
459pub struct GetObjectOutputBuilder {
460 pub(crate) body: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>,
461 pub(crate) delete_marker: ::std::option::Option<bool>,
462 pub(crate) accept_ranges: ::std::option::Option<::std::string::String>,
463 pub(crate) expiration: ::std::option::Option<::std::string::String>,
464 pub(crate) restore: ::std::option::Option<::std::string::String>,
465 pub(crate) last_modified: ::std::option::Option<::aws_smithy_types::DateTime>,
466 pub(crate) content_length: ::std::option::Option<i64>,
467 pub(crate) e_tag: ::std::option::Option<::std::string::String>,
468 pub(crate) checksum_crc32: ::std::option::Option<::std::string::String>,
469 pub(crate) checksum_crc32_c: ::std::option::Option<::std::string::String>,
470 pub(crate) checksum_crc64_nvme: ::std::option::Option<::std::string::String>,
471 pub(crate) checksum_sha1: ::std::option::Option<::std::string::String>,
472 pub(crate) checksum_sha256: ::std::option::Option<::std::string::String>,
473 pub(crate) checksum_sha512: ::std::option::Option<::std::string::String>,
474 pub(crate) checksum_md5: ::std::option::Option<::std::string::String>,
475 pub(crate) checksum_xxhash64: ::std::option::Option<::std::string::String>,
476 pub(crate) checksum_xxhash3: ::std::option::Option<::std::string::String>,
477 pub(crate) checksum_xxhash128: ::std::option::Option<::std::string::String>,
478 pub(crate) checksum_type: ::std::option::Option<crate::types::ChecksumType>,
479 pub(crate) missing_meta: ::std::option::Option<i32>,
480 pub(crate) version_id: ::std::option::Option<::std::string::String>,
481 pub(crate) cache_control: ::std::option::Option<::std::string::String>,
482 pub(crate) content_disposition: ::std::option::Option<::std::string::String>,
483 pub(crate) content_encoding: ::std::option::Option<::std::string::String>,
484 pub(crate) content_language: ::std::option::Option<::std::string::String>,
485 pub(crate) content_range: ::std::option::Option<::std::string::String>,
486 pub(crate) content_type: ::std::option::Option<::std::string::String>,
487 pub(crate) website_redirect_location: ::std::option::Option<::std::string::String>,
488 pub(crate) server_side_encryption: ::std::option::Option<crate::types::ServerSideEncryption>,
489 pub(crate) metadata: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
490 pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
491 pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
492 pub(crate) ssekms_key_id: ::std::option::Option<::std::string::String>,
493 pub(crate) bucket_key_enabled: ::std::option::Option<bool>,
494 pub(crate) storage_class: ::std::option::Option<crate::types::StorageClass>,
495 pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
496 pub(crate) replication_status: ::std::option::Option<crate::types::ReplicationStatus>,
497 pub(crate) parts_count: ::std::option::Option<i32>,
498 pub(crate) tag_count: ::std::option::Option<i32>,
499 pub(crate) object_lock_mode: ::std::option::Option<crate::types::ObjectLockMode>,
500 pub(crate) object_lock_retain_until_date: ::std::option::Option<::aws_smithy_types::DateTime>,
501 pub(crate) object_lock_legal_hold_status: ::std::option::Option<crate::types::ObjectLockLegalHoldStatus>,
502 pub(crate) object_lock_event_hold: ::std::option::Option<crate::types::ObjectLockEventHold>,
503 pub(crate) object_lock_event_hold_duration_days: ::std::option::Option<i32>,
504 pub(crate) object_lock_event_hold_duration_years: ::std::option::Option<i32>,
505 pub(crate) expires: ::std::option::Option<::aws_smithy_types::DateTime>,
506 pub(crate) expires_string: ::std::option::Option<::std::string::String>,
507 _extended_request_id: Option<String>,
508 _request_id: Option<String>,
509}
510impl GetObjectOutputBuilder {
511 /// <p>Object data.</p>
512 pub fn body(mut self, input: ::aws_smithy_types::byte_stream::ByteStream) -> Self {
513 self.body = ::std::option::Option::Some(input);
514 self
515 }
516 /// <p>Object data.</p>
517 pub fn set_body(mut self, input: ::std::option::Option<::aws_smithy_types::byte_stream::ByteStream>) -> Self {
518 self.body = input;
519 self
520 }
521 /// <p>Object data.</p>
522 pub fn get_body(&self) -> &::std::option::Option<::aws_smithy_types::byte_stream::ByteStream> {
523 &self.body
524 }
525 /// <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>
526 /// <ul>
527 /// <li>
528 /// <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>
529 /// <li>
530 /// <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>
531 /// </ul>
532 /// </note>
533 pub fn delete_marker(mut self, input: bool) -> Self {
534 self.delete_marker = ::std::option::Option::Some(input);
535 self
536 }
537 /// <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>
538 /// <ul>
539 /// <li>
540 /// <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>
541 /// <li>
542 /// <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>
543 /// </ul>
544 /// </note>
545 pub fn set_delete_marker(mut self, input: ::std::option::Option<bool>) -> Self {
546 self.delete_marker = input;
547 self
548 }
549 /// <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>
550 /// <ul>
551 /// <li>
552 /// <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>
553 /// <li>
554 /// <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>
555 /// </ul>
556 /// </note>
557 pub fn get_delete_marker(&self) -> &::std::option::Option<bool> {
558 &self.delete_marker
559 }
560 /// <p>Indicates that a range of bytes was specified in the request.</p>
561 pub fn accept_ranges(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
562 self.accept_ranges = ::std::option::Option::Some(input.into());
563 self
564 }
565 /// <p>Indicates that a range of bytes was specified in the request.</p>
566 pub fn set_accept_ranges(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
567 self.accept_ranges = input;
568 self
569 }
570 /// <p>Indicates that a range of bytes was specified in the request.</p>
571 pub fn get_accept_ranges(&self) -> &::std::option::Option<::std::string::String> {
572 &self.accept_ranges
573 }
574 /// <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>
575 /// <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>
576 /// </note>
577 pub fn expiration(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
578 self.expiration = ::std::option::Option::Some(input.into());
579 self
580 }
581 /// <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>
582 /// <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>
583 /// </note>
584 pub fn set_expiration(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
585 self.expiration = input;
586 self
587 }
588 /// <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>
589 /// <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>
590 /// </note>
591 pub fn get_expiration(&self) -> &::std::option::Option<::std::string::String> {
592 &self.expiration
593 }
594 /// <p>Provides information about object restoration action and expiration time of the restored object copy.</p><note>
595 /// <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>
596 /// </note>
597 pub fn restore(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
598 self.restore = ::std::option::Option::Some(input.into());
599 self
600 }
601 /// <p>Provides information about object restoration action and expiration time of the restored object copy.</p><note>
602 /// <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>
603 /// </note>
604 pub fn set_restore(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
605 self.restore = input;
606 self
607 }
608 /// <p>Provides information about object restoration action and expiration time of the restored object copy.</p><note>
609 /// <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>
610 /// </note>
611 pub fn get_restore(&self) -> &::std::option::Option<::std::string::String> {
612 &self.restore
613 }
614 /// <p>Date and time when the object was last modified.</p>
615 /// <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>
616 pub fn last_modified(mut self, input: ::aws_smithy_types::DateTime) -> Self {
617 self.last_modified = ::std::option::Option::Some(input);
618 self
619 }
620 /// <p>Date and time when the object was last modified.</p>
621 /// <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>
622 pub fn set_last_modified(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
623 self.last_modified = input;
624 self
625 }
626 /// <p>Date and time when the object was last modified.</p>
627 /// <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>
628 pub fn get_last_modified(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
629 &self.last_modified
630 }
631 /// <p>Size of the body in bytes.</p>
632 pub fn content_length(mut self, input: i64) -> Self {
633 self.content_length = ::std::option::Option::Some(input);
634 self
635 }
636 /// <p>Size of the body in bytes.</p>
637 pub fn set_content_length(mut self, input: ::std::option::Option<i64>) -> Self {
638 self.content_length = input;
639 self
640 }
641 /// <p>Size of the body in bytes.</p>
642 pub fn get_content_length(&self) -> &::std::option::Option<i64> {
643 &self.content_length
644 }
645 /// <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>
646 pub fn e_tag(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
647 self.e_tag = ::std::option::Option::Some(input.into());
648 self
649 }
650 /// <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>
651 pub fn set_e_tag(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
652 self.e_tag = input;
653 self
654 }
655 /// <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>
656 pub fn get_e_tag(&self) -> &::std::option::Option<::std::string::String> {
657 &self.e_tag
658 }
659 /// <p>The Base64 encoded, 32-bit <code>CRC32</code> checksum of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
660 pub fn checksum_crc32(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
661 self.checksum_crc32 = ::std::option::Option::Some(input.into());
662 self
663 }
664 /// <p>The Base64 encoded, 32-bit <code>CRC32</code> checksum of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
665 pub fn set_checksum_crc32(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
666 self.checksum_crc32 = input;
667 self
668 }
669 /// <p>The Base64 encoded, 32-bit <code>CRC32</code> checksum of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
670 pub fn get_checksum_crc32(&self) -> &::std::option::Option<::std::string::String> {
671 &self.checksum_crc32
672 }
673 /// <p>The Base64 encoded, 32-bit <code>CRC32C</code> checksum of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
674 pub fn checksum_crc32_c(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
675 self.checksum_crc32_c = ::std::option::Option::Some(input.into());
676 self
677 }
678 /// <p>The Base64 encoded, 32-bit <code>CRC32C</code> checksum of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
679 pub fn set_checksum_crc32_c(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
680 self.checksum_crc32_c = input;
681 self
682 }
683 /// <p>The Base64 encoded, 32-bit <code>CRC32C</code> checksum of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
684 pub fn get_checksum_crc32_c(&self) -> &::std::option::Option<::std::string::String> {
685 &self.checksum_crc32_c
686 }
687 /// <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>
688 pub fn checksum_crc64_nvme(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
689 self.checksum_crc64_nvme = ::std::option::Option::Some(input.into());
690 self
691 }
692 /// <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>
693 pub fn set_checksum_crc64_nvme(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
694 self.checksum_crc64_nvme = input;
695 self
696 }
697 /// <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>
698 pub fn get_checksum_crc64_nvme(&self) -> &::std::option::Option<::std::string::String> {
699 &self.checksum_crc64_nvme
700 }
701 /// <p>The Base64 encoded, 160-bit <code>SHA1</code> digest of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
702 pub fn checksum_sha1(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
703 self.checksum_sha1 = ::std::option::Option::Some(input.into());
704 self
705 }
706 /// <p>The Base64 encoded, 160-bit <code>SHA1</code> digest of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
707 pub fn set_checksum_sha1(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
708 self.checksum_sha1 = input;
709 self
710 }
711 /// <p>The Base64 encoded, 160-bit <code>SHA1</code> digest of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
712 pub fn get_checksum_sha1(&self) -> &::std::option::Option<::std::string::String> {
713 &self.checksum_sha1
714 }
715 /// <p>The Base64 encoded, 256-bit <code>SHA256</code> digest of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
716 pub fn checksum_sha256(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
717 self.checksum_sha256 = ::std::option::Option::Some(input.into());
718 self
719 }
720 /// <p>The Base64 encoded, 256-bit <code>SHA256</code> digest of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
721 pub fn set_checksum_sha256(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
722 self.checksum_sha256 = input;
723 self
724 }
725 /// <p>The Base64 encoded, 256-bit <code>SHA256</code> digest of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html"> Checking object integrity</a> in the <i>Amazon S3 User Guide</i>.</p>
726 pub fn get_checksum_sha256(&self) -> &::std::option::Option<::std::string::String> {
727 &self.checksum_sha256
728 }
729 /// <p>The Base64 encoded, 512-bit <code>SHA512</code> digest 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>
730 pub fn checksum_sha512(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
731 self.checksum_sha512 = ::std::option::Option::Some(input.into());
732 self
733 }
734 /// <p>The Base64 encoded, 512-bit <code>SHA512</code> digest 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>
735 pub fn set_checksum_sha512(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
736 self.checksum_sha512 = input;
737 self
738 }
739 /// <p>The Base64 encoded, 512-bit <code>SHA512</code> digest 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>
740 pub fn get_checksum_sha512(&self) -> &::std::option::Option<::std::string::String> {
741 &self.checksum_sha512
742 }
743 /// <p>The Base64 encoded, 128-bit <code>MD5</code> digest 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>
744 pub fn checksum_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
745 self.checksum_md5 = ::std::option::Option::Some(input.into());
746 self
747 }
748 /// <p>The Base64 encoded, 128-bit <code>MD5</code> digest 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>
749 pub fn set_checksum_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
750 self.checksum_md5 = input;
751 self
752 }
753 /// <p>The Base64 encoded, 128-bit <code>MD5</code> digest 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>
754 pub fn get_checksum_md5(&self) -> &::std::option::Option<::std::string::String> {
755 &self.checksum_md5
756 }
757 /// <p>The Base64 encoded, 64-bit <code>XXHASH64</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>
758 pub fn checksum_xxhash64(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
759 self.checksum_xxhash64 = ::std::option::Option::Some(input.into());
760 self
761 }
762 /// <p>The Base64 encoded, 64-bit <code>XXHASH64</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>
763 pub fn set_checksum_xxhash64(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
764 self.checksum_xxhash64 = input;
765 self
766 }
767 /// <p>The Base64 encoded, 64-bit <code>XXHASH64</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>
768 pub fn get_checksum_xxhash64(&self) -> &::std::option::Option<::std::string::String> {
769 &self.checksum_xxhash64
770 }
771 /// <p>The Base64 encoded, 64-bit <code>XXHASH3</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>
772 pub fn checksum_xxhash3(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
773 self.checksum_xxhash3 = ::std::option::Option::Some(input.into());
774 self
775 }
776 /// <p>The Base64 encoded, 64-bit <code>XXHASH3</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>
777 pub fn set_checksum_xxhash3(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
778 self.checksum_xxhash3 = input;
779 self
780 }
781 /// <p>The Base64 encoded, 64-bit <code>XXHASH3</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>
782 pub fn get_checksum_xxhash3(&self) -> &::std::option::Option<::std::string::String> {
783 &self.checksum_xxhash3
784 }
785 /// <p>The Base64 encoded, 128-bit <code>XXHASH128</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>
786 pub fn checksum_xxhash128(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
787 self.checksum_xxhash128 = ::std::option::Option::Some(input.into());
788 self
789 }
790 /// <p>The Base64 encoded, 128-bit <code>XXHASH128</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>
791 pub fn set_checksum_xxhash128(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
792 self.checksum_xxhash128 = input;
793 self
794 }
795 /// <p>The Base64 encoded, 128-bit <code>XXHASH128</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>
796 pub fn get_checksum_xxhash128(&self) -> &::std::option::Option<::std::string::String> {
797 &self.checksum_xxhash128
798 }
799 /// <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>
800 pub fn checksum_type(mut self, input: crate::types::ChecksumType) -> Self {
801 self.checksum_type = ::std::option::Option::Some(input);
802 self
803 }
804 /// <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>
805 pub fn set_checksum_type(mut self, input: ::std::option::Option<crate::types::ChecksumType>) -> Self {
806 self.checksum_type = input;
807 self
808 }
809 /// <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>
810 pub fn get_checksum_type(&self) -> &::std::option::Option<crate::types::ChecksumType> {
811 &self.checksum_type
812 }
813 /// <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>
814 /// <p>This functionality is not supported for directory buckets.</p>
815 /// </note>
816 pub fn missing_meta(mut self, input: i32) -> Self {
817 self.missing_meta = ::std::option::Option::Some(input);
818 self
819 }
820 /// <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>
821 /// <p>This functionality is not supported for directory buckets.</p>
822 /// </note>
823 pub fn set_missing_meta(mut self, input: ::std::option::Option<i32>) -> Self {
824 self.missing_meta = input;
825 self
826 }
827 /// <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>
828 /// <p>This functionality is not supported for directory buckets.</p>
829 /// </note>
830 pub fn get_missing_meta(&self) -> &::std::option::Option<i32> {
831 &self.missing_meta
832 }
833 /// <p>Version ID of the object.</p><note>
834 /// <p>This functionality is not supported for directory buckets.</p>
835 /// </note>
836 pub fn version_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
837 self.version_id = ::std::option::Option::Some(input.into());
838 self
839 }
840 /// <p>Version ID of the object.</p><note>
841 /// <p>This functionality is not supported for directory buckets.</p>
842 /// </note>
843 pub fn set_version_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
844 self.version_id = input;
845 self
846 }
847 /// <p>Version ID of the object.</p><note>
848 /// <p>This functionality is not supported for directory buckets.</p>
849 /// </note>
850 pub fn get_version_id(&self) -> &::std::option::Option<::std::string::String> {
851 &self.version_id
852 }
853 /// <p>Specifies caching behavior along the request/reply chain.</p>
854 pub fn cache_control(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
855 self.cache_control = ::std::option::Option::Some(input.into());
856 self
857 }
858 /// <p>Specifies caching behavior along the request/reply chain.</p>
859 pub fn set_cache_control(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
860 self.cache_control = input;
861 self
862 }
863 /// <p>Specifies caching behavior along the request/reply chain.</p>
864 pub fn get_cache_control(&self) -> &::std::option::Option<::std::string::String> {
865 &self.cache_control
866 }
867 /// <p>Specifies presentational information for the object.</p>
868 pub fn content_disposition(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
869 self.content_disposition = ::std::option::Option::Some(input.into());
870 self
871 }
872 /// <p>Specifies presentational information for the object.</p>
873 pub fn set_content_disposition(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
874 self.content_disposition = input;
875 self
876 }
877 /// <p>Specifies presentational information for the object.</p>
878 pub fn get_content_disposition(&self) -> &::std::option::Option<::std::string::String> {
879 &self.content_disposition
880 }
881 /// <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>
882 pub fn content_encoding(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
883 self.content_encoding = ::std::option::Option::Some(input.into());
884 self
885 }
886 /// <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>
887 pub fn set_content_encoding(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
888 self.content_encoding = input;
889 self
890 }
891 /// <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>
892 pub fn get_content_encoding(&self) -> &::std::option::Option<::std::string::String> {
893 &self.content_encoding
894 }
895 /// <p>The language the content is in.</p>
896 pub fn content_language(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
897 self.content_language = ::std::option::Option::Some(input.into());
898 self
899 }
900 /// <p>The language the content is in.</p>
901 pub fn set_content_language(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
902 self.content_language = input;
903 self
904 }
905 /// <p>The language the content is in.</p>
906 pub fn get_content_language(&self) -> &::std::option::Option<::std::string::String> {
907 &self.content_language
908 }
909 /// <p>The portion of the object returned in the response.</p>
910 pub fn content_range(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
911 self.content_range = ::std::option::Option::Some(input.into());
912 self
913 }
914 /// <p>The portion of the object returned in the response.</p>
915 pub fn set_content_range(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
916 self.content_range = input;
917 self
918 }
919 /// <p>The portion of the object returned in the response.</p>
920 pub fn get_content_range(&self) -> &::std::option::Option<::std::string::String> {
921 &self.content_range
922 }
923 /// <p>A standard MIME type describing the format of the object data.</p>
924 pub fn content_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
925 self.content_type = ::std::option::Option::Some(input.into());
926 self
927 }
928 /// <p>A standard MIME type describing the format of the object data.</p>
929 pub fn set_content_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
930 self.content_type = input;
931 self
932 }
933 /// <p>A standard MIME type describing the format of the object data.</p>
934 pub fn get_content_type(&self) -> &::std::option::Option<::std::string::String> {
935 &self.content_type
936 }
937 /// <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>
938 /// <p>This functionality is not supported for directory buckets.</p>
939 /// </note>
940 pub fn website_redirect_location(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
941 self.website_redirect_location = ::std::option::Option::Some(input.into());
942 self
943 }
944 /// <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>
945 /// <p>This functionality is not supported for directory buckets.</p>
946 /// </note>
947 pub fn set_website_redirect_location(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
948 self.website_redirect_location = input;
949 self
950 }
951 /// <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>
952 /// <p>This functionality is not supported for directory buckets.</p>
953 /// </note>
954 pub fn get_website_redirect_location(&self) -> &::std::option::Option<::std::string::String> {
955 &self.website_redirect_location
956 }
957 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
958 /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
959 /// </note>
960 pub fn server_side_encryption(mut self, input: crate::types::ServerSideEncryption) -> Self {
961 self.server_side_encryption = ::std::option::Option::Some(input);
962 self
963 }
964 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
965 /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
966 /// </note>
967 pub fn set_server_side_encryption(mut self, input: ::std::option::Option<crate::types::ServerSideEncryption>) -> Self {
968 self.server_side_encryption = input;
969 self
970 }
971 /// <p>The server-side encryption algorithm used when you store this object in Amazon S3 or Amazon FSx.</p><note>
972 /// <p>When accessing data stored in Amazon FSx file systems using S3 access points, the only valid server side encryption option is <code>aws:fsx</code>.</p>
973 /// </note>
974 pub fn get_server_side_encryption(&self) -> &::std::option::Option<crate::types::ServerSideEncryption> {
975 &self.server_side_encryption
976 }
977 /// Adds a key-value pair to `metadata`.
978 ///
979 /// To override the contents of this collection use [`set_metadata`](Self::set_metadata).
980 ///
981 /// <p>A map of metadata to store with the object in S3.</p>
982 pub fn metadata(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
983 let mut hash_map = self.metadata.unwrap_or_default();
984 hash_map.insert(k.into(), v.into());
985 self.metadata = ::std::option::Option::Some(hash_map);
986 self
987 }
988 /// <p>A map of metadata to store with the object in S3.</p>
989 pub fn set_metadata(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
990 self.metadata = input;
991 self
992 }
993 /// <p>A map of metadata to store with the object in S3.</p>
994 pub fn get_metadata(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
995 &self.metadata
996 }
997 /// <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>
998 /// <p>This functionality is not supported for directory buckets.</p>
999 /// </note>
1000 pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
1001 self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
1002 self
1003 }
1004 /// <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>
1005 /// <p>This functionality is not supported for directory buckets.</p>
1006 /// </note>
1007 pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
1008 self.sse_customer_algorithm = input;
1009 self
1010 }
1011 /// <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>
1012 /// <p>This functionality is not supported for directory buckets.</p>
1013 /// </note>
1014 pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
1015 &self.sse_customer_algorithm
1016 }
1017 /// <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>
1018 /// <p>This functionality is not supported for directory buckets.</p>
1019 /// </note>
1020 pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
1021 self.sse_customer_key_md5 = ::std::option::Option::Some(input.into());
1022 self
1023 }
1024 /// <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>
1025 /// <p>This functionality is not supported for directory buckets.</p>
1026 /// </note>
1027 pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
1028 self.sse_customer_key_md5 = input;
1029 self
1030 }
1031 /// <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>
1032 /// <p>This functionality is not supported for directory buckets.</p>
1033 /// </note>
1034 pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
1035 &self.sse_customer_key_md5
1036 }
1037 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
1038 pub fn ssekms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
1039 self.ssekms_key_id = ::std::option::Option::Some(input.into());
1040 self
1041 }
1042 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
1043 pub fn set_ssekms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
1044 self.ssekms_key_id = input;
1045 self
1046 }
1047 /// <p>If present, indicates the ID of the KMS key that was used for object encryption.</p>
1048 pub fn get_ssekms_key_id(&self) -> &::std::option::Option<::std::string::String> {
1049 &self.ssekms_key_id
1050 }
1051 /// <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
1052 pub fn bucket_key_enabled(mut self, input: bool) -> Self {
1053 self.bucket_key_enabled = ::std::option::Option::Some(input);
1054 self
1055 }
1056 /// <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
1057 pub fn set_bucket_key_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
1058 self.bucket_key_enabled = input;
1059 self
1060 }
1061 /// <p>Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).</p>
1062 pub fn get_bucket_key_enabled(&self) -> &::std::option::Option<bool> {
1063 &self.bucket_key_enabled
1064 }
1065 /// <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>
1066 /// <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>
1067 /// </note>
1068 pub fn storage_class(mut self, input: crate::types::StorageClass) -> Self {
1069 self.storage_class = ::std::option::Option::Some(input);
1070 self
1071 }
1072 /// <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>
1073 /// <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>
1074 /// </note>
1075 pub fn set_storage_class(mut self, input: ::std::option::Option<crate::types::StorageClass>) -> Self {
1076 self.storage_class = input;
1077 self
1078 }
1079 /// <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>
1080 /// <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>
1081 /// </note>
1082 pub fn get_storage_class(&self) -> &::std::option::Option<crate::types::StorageClass> {
1083 &self.storage_class
1084 }
1085 /// <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>
1086 /// <p>This functionality is not supported for directory buckets.</p>
1087 /// </note>
1088 pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
1089 self.request_charged = ::std::option::Option::Some(input);
1090 self
1091 }
1092 /// <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>
1093 /// <p>This functionality is not supported for directory buckets.</p>
1094 /// </note>
1095 pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
1096 self.request_charged = input;
1097 self
1098 }
1099 /// <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>
1100 /// <p>This functionality is not supported for directory buckets.</p>
1101 /// </note>
1102 pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
1103 &self.request_charged
1104 }
1105 /// <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>
1106 /// <p>This functionality is not supported for directory buckets.</p>
1107 /// </note>
1108 pub fn replication_status(mut self, input: crate::types::ReplicationStatus) -> Self {
1109 self.replication_status = ::std::option::Option::Some(input);
1110 self
1111 }
1112 /// <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>
1113 /// <p>This functionality is not supported for directory buckets.</p>
1114 /// </note>
1115 pub fn set_replication_status(mut self, input: ::std::option::Option<crate::types::ReplicationStatus>) -> Self {
1116 self.replication_status = input;
1117 self
1118 }
1119 /// <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>
1120 /// <p>This functionality is not supported for directory buckets.</p>
1121 /// </note>
1122 pub fn get_replication_status(&self) -> &::std::option::Option<crate::types::ReplicationStatus> {
1123 &self.replication_status
1124 }
1125 /// <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>
1126 pub fn parts_count(mut self, input: i32) -> Self {
1127 self.parts_count = ::std::option::Option::Some(input);
1128 self
1129 }
1130 /// <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>
1131 pub fn set_parts_count(mut self, input: ::std::option::Option<i32>) -> Self {
1132 self.parts_count = input;
1133 self
1134 }
1135 /// <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>
1136 pub fn get_parts_count(&self) -> &::std::option::Option<i32> {
1137 &self.parts_count
1138 }
1139 /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
1140 /// <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>
1141 /// <p>This functionality is not supported for directory buckets.</p>
1142 /// </note>
1143 pub fn tag_count(mut self, input: i32) -> Self {
1144 self.tag_count = ::std::option::Option::Some(input);
1145 self
1146 }
1147 /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
1148 /// <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>
1149 /// <p>This functionality is not supported for directory buckets.</p>
1150 /// </note>
1151 pub fn set_tag_count(mut self, input: ::std::option::Option<i32>) -> Self {
1152 self.tag_count = input;
1153 self
1154 }
1155 /// <p>The number of tags, if any, on the object, when you have the relevant permission to read object tags.</p>
1156 /// <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>
1157 /// <p>This functionality is not supported for directory buckets.</p>
1158 /// </note>
1159 pub fn get_tag_count(&self) -> &::std::option::Option<i32> {
1160 &self.tag_count
1161 }
1162 /// <p>The Object Lock mode that's currently in place for this object.</p><note>
1163 /// <p>This functionality is not supported for directory buckets.</p>
1164 /// </note>
1165 pub fn object_lock_mode(mut self, input: crate::types::ObjectLockMode) -> Self {
1166 self.object_lock_mode = ::std::option::Option::Some(input);
1167 self
1168 }
1169 /// <p>The Object Lock mode that's currently in place for this object.</p><note>
1170 /// <p>This functionality is not supported for directory buckets.</p>
1171 /// </note>
1172 pub fn set_object_lock_mode(mut self, input: ::std::option::Option<crate::types::ObjectLockMode>) -> Self {
1173 self.object_lock_mode = input;
1174 self
1175 }
1176 /// <p>The Object Lock mode that's currently in place for this object.</p><note>
1177 /// <p>This functionality is not supported for directory buckets.</p>
1178 /// </note>
1179 pub fn get_object_lock_mode(&self) -> &::std::option::Option<crate::types::ObjectLockMode> {
1180 &self.object_lock_mode
1181 }
1182 /// <p>The date and time when this object's Object Lock will expire.</p><note>
1183 /// <p>This functionality is not supported for directory buckets.</p>
1184 /// </note>
1185 pub fn object_lock_retain_until_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
1186 self.object_lock_retain_until_date = ::std::option::Option::Some(input);
1187 self
1188 }
1189 /// <p>The date and time when this object's Object Lock will expire.</p><note>
1190 /// <p>This functionality is not supported for directory buckets.</p>
1191 /// </note>
1192 pub fn set_object_lock_retain_until_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
1193 self.object_lock_retain_until_date = input;
1194 self
1195 }
1196 /// <p>The date and time when this object's Object Lock will expire.</p><note>
1197 /// <p>This functionality is not supported for directory buckets.</p>
1198 /// </note>
1199 pub fn get_object_lock_retain_until_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
1200 &self.object_lock_retain_until_date
1201 }
1202 /// <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>
1203 /// <p>This functionality is not supported for directory buckets.</p>
1204 /// </note>
1205 pub fn object_lock_legal_hold_status(mut self, input: crate::types::ObjectLockLegalHoldStatus) -> Self {
1206 self.object_lock_legal_hold_status = ::std::option::Option::Some(input);
1207 self
1208 }
1209 /// <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>
1210 /// <p>This functionality is not supported for directory buckets.</p>
1211 /// </note>
1212 pub fn set_object_lock_legal_hold_status(mut self, input: ::std::option::Option<crate::types::ObjectLockLegalHoldStatus>) -> Self {
1213 self.object_lock_legal_hold_status = input;
1214 self
1215 }
1216 /// <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>
1217 /// <p>This functionality is not supported for directory buckets.</p>
1218 /// </note>
1219 pub fn get_object_lock_legal_hold_status(&self) -> &::std::option::Option<crate::types::ObjectLockLegalHoldStatus> {
1220 &self.object_lock_legal_hold_status
1221 }
1222 /// <p>The event hold status for this object. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission.</p><note>
1223 /// <p>This functionality is not supported for directory buckets.</p>
1224 /// </note>
1225 pub fn object_lock_event_hold(mut self, input: crate::types::ObjectLockEventHold) -> Self {
1226 self.object_lock_event_hold = ::std::option::Option::Some(input);
1227 self
1228 }
1229 /// <p>The event hold status for this object. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission.</p><note>
1230 /// <p>This functionality is not supported for directory buckets.</p>
1231 /// </note>
1232 pub fn set_object_lock_event_hold(mut self, input: ::std::option::Option<crate::types::ObjectLockEventHold>) -> Self {
1233 self.object_lock_event_hold = input;
1234 self
1235 }
1236 /// <p>The event hold status for this object. This header is only returned if the requester has the <code>s3:GetObjectRetention</code> permission.</p><note>
1237 /// <p>This functionality is not supported for directory buckets.</p>
1238 /// </note>
1239 pub fn get_object_lock_event_hold(&self) -> &::std::option::Option<crate::types::ObjectLockEventHold> {
1240 &self.object_lock_event_hold
1241 }
1242 /// <p>The event hold duration in days for this object. Only returned when the event hold is enabled.</p><note>
1243 /// <p>This functionality is not supported for directory buckets.</p>
1244 /// </note>
1245 pub fn object_lock_event_hold_duration_days(mut self, input: i32) -> Self {
1246 self.object_lock_event_hold_duration_days = ::std::option::Option::Some(input);
1247 self
1248 }
1249 /// <p>The event hold duration in days for this object. Only returned when the event hold is enabled.</p><note>
1250 /// <p>This functionality is not supported for directory buckets.</p>
1251 /// </note>
1252 pub fn set_object_lock_event_hold_duration_days(mut self, input: ::std::option::Option<i32>) -> Self {
1253 self.object_lock_event_hold_duration_days = input;
1254 self
1255 }
1256 /// <p>The event hold duration in days for this object. Only returned when the event hold is enabled.</p><note>
1257 /// <p>This functionality is not supported for directory buckets.</p>
1258 /// </note>
1259 pub fn get_object_lock_event_hold_duration_days(&self) -> &::std::option::Option<i32> {
1260 &self.object_lock_event_hold_duration_days
1261 }
1262 /// <p>The event hold duration in years for this object. Only returned when the event hold is enabled.</p><note>
1263 /// <p>This functionality is not supported for directory buckets.</p>
1264 /// </note>
1265 pub fn object_lock_event_hold_duration_years(mut self, input: i32) -> Self {
1266 self.object_lock_event_hold_duration_years = ::std::option::Option::Some(input);
1267 self
1268 }
1269 /// <p>The event hold duration in years for this object. Only returned when the event hold is enabled.</p><note>
1270 /// <p>This functionality is not supported for directory buckets.</p>
1271 /// </note>
1272 pub fn set_object_lock_event_hold_duration_years(mut self, input: ::std::option::Option<i32>) -> Self {
1273 self.object_lock_event_hold_duration_years = input;
1274 self
1275 }
1276 /// <p>The event hold duration in years for this object. Only returned when the event hold is enabled.</p><note>
1277 /// <p>This functionality is not supported for directory buckets.</p>
1278 /// </note>
1279 pub fn get_object_lock_event_hold_duration_years(&self) -> &::std::option::Option<i32> {
1280 &self.object_lock_event_hold_duration_years
1281 }
1282 /// <p>The date and time at which the object is no longer cacheable.</p>
1283 #[deprecated(note = "Please use `expires_string` which contains the raw, unparsed value of this field.")]
1284 pub fn expires(mut self, input: ::aws_smithy_types::DateTime) -> Self {
1285 self.expires = ::std::option::Option::Some(input);
1286 self
1287 }
1288 /// <p>The date and time at which the object is no longer cacheable.</p>
1289 #[deprecated(note = "Please use `expires_string` which contains the raw, unparsed value of this field.")]
1290 pub fn set_expires(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
1291 self.expires = input;
1292 self
1293 }
1294 /// <p>The date and time at which the object is no longer cacheable.</p>
1295 #[deprecated(note = "Please use `expires_string` which contains the raw, unparsed value of this field.")]
1296 pub fn get_expires(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
1297 &self.expires
1298 }
1299 /// <p>The date and time at which the object is no longer cacheable.</p>
1300 pub fn expires_string(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
1301 self.expires_string = ::std::option::Option::Some(input.into());
1302 self
1303 }
1304 /// <p>The date and time at which the object is no longer cacheable.</p>
1305 pub fn set_expires_string(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
1306 self.expires_string = input;
1307 self
1308 }
1309 /// <p>The date and time at which the object is no longer cacheable.</p>
1310 pub fn get_expires_string(&self) -> &::std::option::Option<::std::string::String> {
1311 &self.expires_string
1312 }
1313 pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
1314 self._extended_request_id = Some(extended_request_id.into());
1315 self
1316 }
1317
1318 pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
1319 self._extended_request_id = extended_request_id;
1320 self
1321 }
1322 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
1323 self._request_id = Some(request_id.into());
1324 self
1325 }
1326
1327 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
1328 self._request_id = request_id;
1329 self
1330 }
1331 /// Consumes the builder and constructs a [`GetObjectOutput`](crate::operation::get_object::GetObjectOutput).
1332 pub fn build(self) -> crate::operation::get_object::GetObjectOutput {
1333 crate::operation::get_object::GetObjectOutput {
1334 body: self.body.unwrap_or_default(),
1335 delete_marker: self.delete_marker,
1336 accept_ranges: self.accept_ranges,
1337 expiration: self.expiration,
1338 restore: self.restore,
1339 last_modified: self.last_modified,
1340 content_length: self.content_length,
1341 e_tag: self.e_tag,
1342 checksum_crc32: self.checksum_crc32,
1343 checksum_crc32_c: self.checksum_crc32_c,
1344 checksum_crc64_nvme: self.checksum_crc64_nvme,
1345 checksum_sha1: self.checksum_sha1,
1346 checksum_sha256: self.checksum_sha256,
1347 checksum_sha512: self.checksum_sha512,
1348 checksum_md5: self.checksum_md5,
1349 checksum_xxhash64: self.checksum_xxhash64,
1350 checksum_xxhash3: self.checksum_xxhash3,
1351 checksum_xxhash128: self.checksum_xxhash128,
1352 checksum_type: self.checksum_type,
1353 missing_meta: self.missing_meta,
1354 version_id: self.version_id,
1355 cache_control: self.cache_control,
1356 content_disposition: self.content_disposition,
1357 content_encoding: self.content_encoding,
1358 content_language: self.content_language,
1359 content_range: self.content_range,
1360 content_type: self.content_type,
1361 website_redirect_location: self.website_redirect_location,
1362 server_side_encryption: self.server_side_encryption,
1363 metadata: self.metadata,
1364 sse_customer_algorithm: self.sse_customer_algorithm,
1365 sse_customer_key_md5: self.sse_customer_key_md5,
1366 ssekms_key_id: self.ssekms_key_id,
1367 bucket_key_enabled: self.bucket_key_enabled,
1368 storage_class: self.storage_class,
1369 request_charged: self.request_charged,
1370 replication_status: self.replication_status,
1371 parts_count: self.parts_count,
1372 tag_count: self.tag_count,
1373 object_lock_mode: self.object_lock_mode,
1374 object_lock_retain_until_date: self.object_lock_retain_until_date,
1375 object_lock_legal_hold_status: self.object_lock_legal_hold_status,
1376 object_lock_event_hold: self.object_lock_event_hold,
1377 object_lock_event_hold_duration_days: self.object_lock_event_hold_duration_days,
1378 object_lock_event_hold_duration_years: self.object_lock_event_hold_duration_years,
1379 expires: self.expires,
1380 expires_string: self.expires_string,
1381 _extended_request_id: self._extended_request_id,
1382 _request_id: self._request_id,
1383 }
1384 }
1385}
1386impl ::std::fmt::Debug for GetObjectOutputBuilder {
1387 fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
1388 let mut formatter = f.debug_struct("GetObjectOutputBuilder");
1389 formatter.field("body", &self.body);
1390 formatter.field("delete_marker", &self.delete_marker);
1391 formatter.field("accept_ranges", &self.accept_ranges);
1392 formatter.field("expiration", &self.expiration);
1393 formatter.field("restore", &self.restore);
1394 formatter.field("last_modified", &self.last_modified);
1395 formatter.field("content_length", &self.content_length);
1396 formatter.field("e_tag", &self.e_tag);
1397 formatter.field("checksum_crc32", &self.checksum_crc32);
1398 formatter.field("checksum_crc32_c", &self.checksum_crc32_c);
1399 formatter.field("checksum_crc64_nvme", &self.checksum_crc64_nvme);
1400 formatter.field("checksum_sha1", &self.checksum_sha1);
1401 formatter.field("checksum_sha256", &self.checksum_sha256);
1402 formatter.field("checksum_sha512", &self.checksum_sha512);
1403 formatter.field("checksum_md5", &self.checksum_md5);
1404 formatter.field("checksum_xxhash64", &self.checksum_xxhash64);
1405 formatter.field("checksum_xxhash3", &self.checksum_xxhash3);
1406 formatter.field("checksum_xxhash128", &self.checksum_xxhash128);
1407 formatter.field("checksum_type", &self.checksum_type);
1408 formatter.field("missing_meta", &self.missing_meta);
1409 formatter.field("version_id", &self.version_id);
1410 formatter.field("cache_control", &self.cache_control);
1411 formatter.field("content_disposition", &self.content_disposition);
1412 formatter.field("content_encoding", &self.content_encoding);
1413 formatter.field("content_language", &self.content_language);
1414 formatter.field("content_range", &self.content_range);
1415 formatter.field("content_type", &self.content_type);
1416 formatter.field("website_redirect_location", &self.website_redirect_location);
1417 formatter.field("server_side_encryption", &self.server_side_encryption);
1418 formatter.field("metadata", &self.metadata);
1419 formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
1420 formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
1421 formatter.field("ssekms_key_id", &"*** Sensitive Data Redacted ***");
1422 formatter.field("bucket_key_enabled", &self.bucket_key_enabled);
1423 formatter.field("storage_class", &self.storage_class);
1424 formatter.field("request_charged", &self.request_charged);
1425 formatter.field("replication_status", &self.replication_status);
1426 formatter.field("parts_count", &self.parts_count);
1427 formatter.field("tag_count", &self.tag_count);
1428 formatter.field("object_lock_mode", &self.object_lock_mode);
1429 formatter.field("object_lock_retain_until_date", &self.object_lock_retain_until_date);
1430 formatter.field("object_lock_legal_hold_status", &self.object_lock_legal_hold_status);
1431 formatter.field("object_lock_event_hold", &self.object_lock_event_hold);
1432 formatter.field("object_lock_event_hold_duration_days", &self.object_lock_event_hold_duration_days);
1433 formatter.field("object_lock_event_hold_duration_years", &self.object_lock_event_hold_duration_years);
1434 formatter.field("expires", &self.expires);
1435 formatter.field("expires_string", &self.expires_string);
1436 formatter.field("_extended_request_id", &self._extended_request_id);
1437 formatter.field("_request_id", &self._request_id);
1438 formatter.finish()
1439 }
1440}