aws_sdk_s3/operation/list_parts/
_list_parts_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct ListPartsOutput {
6    /// <p>If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, then the response includes this header indicating when the initiated multipart upload will become eligible for abort operation. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration</a>.</p>
7    /// <p>The response will also include the <code>x-amz-abort-rule-id</code> header that will provide the ID of the lifecycle configuration rule that defines this action.</p><note>
8    /// <p>This functionality is not supported for directory buckets.</p>
9    /// </note>
10    pub abort_date: ::std::option::Option<::aws_smithy_types::DateTime>,
11    /// <p>This header is returned along with the <code>x-amz-abort-date</code> header. It identifies applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.</p><note>
12    /// <p>This functionality is not supported for directory buckets.</p>
13    /// </note>
14    pub abort_rule_id: ::std::option::Option<::std::string::String>,
15    /// <p>The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.</p>
16    pub bucket: ::std::option::Option<::std::string::String>,
17    /// <p>Object key for which the multipart upload was initiated.</p>
18    pub key: ::std::option::Option<::std::string::String>,
19    /// <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
20    pub upload_id: ::std::option::Option<::std::string::String>,
21    /// <p>Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.</p>
22    pub part_number_marker: ::std::option::Option<::std::string::String>,
23    /// <p>When a list is truncated, this element specifies the last part in the list, as well as the value to use for the <code>part-number-marker</code> request parameter in a subsequent request.</p>
24    pub next_part_number_marker: ::std::option::Option<::std::string::String>,
25    /// <p>Maximum number of parts that were allowed in the response.</p>
26    pub max_parts: ::std::option::Option<i32>,
27    /// <p>Indicates whether the returned list of parts is truncated. A true value indicates that the list was truncated. A list can be truncated if the number of parts exceeds the limit returned in the MaxParts element.</p>
28    pub is_truncated: ::std::option::Option<bool>,
29    /// <p>Container for elements related to a particular part. A response can contain zero or more <code>Part</code> elements.</p>
30    pub parts: ::std::option::Option<::std::vec::Vec<crate::types::Part>>,
31    /// <p>Container element that identifies who initiated the multipart upload. If the initiator is an Amazon Web Services account, this element provides the same information as the <code>Owner</code> element. If the initiator is an IAM User, this element provides the user ARN and display name.</p>
32    pub initiator: ::std::option::Option<crate::types::Initiator>,
33    /// <p>Container element that identifies the object owner, after the object is created. If multipart upload is initiated by an IAM user, this element provides the parent account ID and display name.</p><note>
34    /// <p><b>Directory buckets</b> - The bucket owner is returned as the object owner for all the parts.</p>
35    /// </note>
36    pub owner: ::std::option::Option<crate::types::Owner>,
37    /// <p>The class of storage used to store the uploaded object.</p><note>
38    /// <p><b>Directory buckets</b> - Only the S3 Express One Zone storage class is supported by directory buckets to store objects.</p>
39    /// </note>
40    pub storage_class: ::std::option::Option<crate::types::StorageClass>,
41    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
42    /// <p>This functionality is not supported for directory buckets.</p>
43    /// </note>
44    pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
45    /// <p>The algorithm that was used to create a checksum of the object.</p>
46    pub checksum_algorithm: ::std::option::Option<crate::types::ChecksumAlgorithm>,
47    _extended_request_id: Option<String>,
48    _request_id: Option<String>,
49}
50impl ListPartsOutput {
51    /// <p>If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, then the response includes this header indicating when the initiated multipart upload will become eligible for abort operation. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration</a>.</p>
52    /// <p>The response will also include the <code>x-amz-abort-rule-id</code> header that will provide the ID of the lifecycle configuration rule that defines this action.</p><note>
53    /// <p>This functionality is not supported for directory buckets.</p>
54    /// </note>
55    pub fn abort_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
56        self.abort_date.as_ref()
57    }
58    /// <p>This header is returned along with the <code>x-amz-abort-date</code> header. It identifies applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.</p><note>
59    /// <p>This functionality is not supported for directory buckets.</p>
60    /// </note>
61    pub fn abort_rule_id(&self) -> ::std::option::Option<&str> {
62        self.abort_rule_id.as_deref()
63    }
64    /// <p>The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.</p>
65    pub fn bucket(&self) -> ::std::option::Option<&str> {
66        self.bucket.as_deref()
67    }
68    /// <p>Object key for which the multipart upload was initiated.</p>
69    pub fn key(&self) -> ::std::option::Option<&str> {
70        self.key.as_deref()
71    }
72    /// <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
73    pub fn upload_id(&self) -> ::std::option::Option<&str> {
74        self.upload_id.as_deref()
75    }
76    /// <p>Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.</p>
77    pub fn part_number_marker(&self) -> ::std::option::Option<&str> {
78        self.part_number_marker.as_deref()
79    }
80    /// <p>When a list is truncated, this element specifies the last part in the list, as well as the value to use for the <code>part-number-marker</code> request parameter in a subsequent request.</p>
81    pub fn next_part_number_marker(&self) -> ::std::option::Option<&str> {
82        self.next_part_number_marker.as_deref()
83    }
84    /// <p>Maximum number of parts that were allowed in the response.</p>
85    pub fn max_parts(&self) -> ::std::option::Option<i32> {
86        self.max_parts
87    }
88    /// <p>Indicates whether the returned list of parts is truncated. A true value indicates that the list was truncated. A list can be truncated if the number of parts exceeds the limit returned in the MaxParts element.</p>
89    pub fn is_truncated(&self) -> ::std::option::Option<bool> {
90        self.is_truncated
91    }
92    /// <p>Container for elements related to a particular part. A response can contain zero or more <code>Part</code> elements.</p>
93    ///
94    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.parts.is_none()`.
95    pub fn parts(&self) -> &[crate::types::Part] {
96        self.parts.as_deref().unwrap_or_default()
97    }
98    /// <p>Container element that identifies who initiated the multipart upload. If the initiator is an Amazon Web Services account, this element provides the same information as the <code>Owner</code> element. If the initiator is an IAM User, this element provides the user ARN and display name.</p>
99    pub fn initiator(&self) -> ::std::option::Option<&crate::types::Initiator> {
100        self.initiator.as_ref()
101    }
102    /// <p>Container element that identifies the object owner, after the object is created. If multipart upload is initiated by an IAM user, this element provides the parent account ID and display name.</p><note>
103    /// <p><b>Directory buckets</b> - The bucket owner is returned as the object owner for all the parts.</p>
104    /// </note>
105    pub fn owner(&self) -> ::std::option::Option<&crate::types::Owner> {
106        self.owner.as_ref()
107    }
108    /// <p>The class of storage used to store the uploaded object.</p><note>
109    /// <p><b>Directory buckets</b> - Only the S3 Express One Zone storage class is supported by directory buckets to store objects.</p>
110    /// </note>
111    pub fn storage_class(&self) -> ::std::option::Option<&crate::types::StorageClass> {
112        self.storage_class.as_ref()
113    }
114    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
115    /// <p>This functionality is not supported for directory buckets.</p>
116    /// </note>
117    pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
118        self.request_charged.as_ref()
119    }
120    /// <p>The algorithm that was used to create a checksum of the object.</p>
121    pub fn checksum_algorithm(&self) -> ::std::option::Option<&crate::types::ChecksumAlgorithm> {
122        self.checksum_algorithm.as_ref()
123    }
124}
125impl crate::s3_request_id::RequestIdExt for ListPartsOutput {
126    fn extended_request_id(&self) -> Option<&str> {
127        self._extended_request_id.as_deref()
128    }
129}
130impl ::aws_types::request_id::RequestId for ListPartsOutput {
131    fn request_id(&self) -> Option<&str> {
132        self._request_id.as_deref()
133    }
134}
135impl ListPartsOutput {
136    /// Creates a new builder-style object to manufacture [`ListPartsOutput`](crate::operation::list_parts::ListPartsOutput).
137    pub fn builder() -> crate::operation::list_parts::builders::ListPartsOutputBuilder {
138        crate::operation::list_parts::builders::ListPartsOutputBuilder::default()
139    }
140}
141
142/// A builder for [`ListPartsOutput`](crate::operation::list_parts::ListPartsOutput).
143#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
144#[non_exhaustive]
145pub struct ListPartsOutputBuilder {
146    pub(crate) abort_date: ::std::option::Option<::aws_smithy_types::DateTime>,
147    pub(crate) abort_rule_id: ::std::option::Option<::std::string::String>,
148    pub(crate) bucket: ::std::option::Option<::std::string::String>,
149    pub(crate) key: ::std::option::Option<::std::string::String>,
150    pub(crate) upload_id: ::std::option::Option<::std::string::String>,
151    pub(crate) part_number_marker: ::std::option::Option<::std::string::String>,
152    pub(crate) next_part_number_marker: ::std::option::Option<::std::string::String>,
153    pub(crate) max_parts: ::std::option::Option<i32>,
154    pub(crate) is_truncated: ::std::option::Option<bool>,
155    pub(crate) parts: ::std::option::Option<::std::vec::Vec<crate::types::Part>>,
156    pub(crate) initiator: ::std::option::Option<crate::types::Initiator>,
157    pub(crate) owner: ::std::option::Option<crate::types::Owner>,
158    pub(crate) storage_class: ::std::option::Option<crate::types::StorageClass>,
159    pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
160    pub(crate) checksum_algorithm: ::std::option::Option<crate::types::ChecksumAlgorithm>,
161    _extended_request_id: Option<String>,
162    _request_id: Option<String>,
163}
164impl ListPartsOutputBuilder {
165    /// <p>If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, then the response includes this header indicating when the initiated multipart upload will become eligible for abort operation. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration</a>.</p>
166    /// <p>The response will also include the <code>x-amz-abort-rule-id</code> header that will provide the ID of the lifecycle configuration rule that defines this action.</p><note>
167    /// <p>This functionality is not supported for directory buckets.</p>
168    /// </note>
169    pub fn abort_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
170        self.abort_date = ::std::option::Option::Some(input);
171        self
172    }
173    /// <p>If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, then the response includes this header indicating when the initiated multipart upload will become eligible for abort operation. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration</a>.</p>
174    /// <p>The response will also include the <code>x-amz-abort-rule-id</code> header that will provide the ID of the lifecycle configuration rule that defines this action.</p><note>
175    /// <p>This functionality is not supported for directory buckets.</p>
176    /// </note>
177    pub fn set_abort_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
178        self.abort_date = input;
179        self
180    }
181    /// <p>If the bucket has a lifecycle rule configured with an action to abort incomplete multipart uploads and the prefix in the lifecycle rule matches the object name in the request, then the response includes this header indicating when the initiated multipart upload will become eligible for abort operation. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config">Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration</a>.</p>
182    /// <p>The response will also include the <code>x-amz-abort-rule-id</code> header that will provide the ID of the lifecycle configuration rule that defines this action.</p><note>
183    /// <p>This functionality is not supported for directory buckets.</p>
184    /// </note>
185    pub fn get_abort_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
186        &self.abort_date
187    }
188    /// <p>This header is returned along with the <code>x-amz-abort-date</code> header. It identifies applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.</p><note>
189    /// <p>This functionality is not supported for directory buckets.</p>
190    /// </note>
191    pub fn abort_rule_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
192        self.abort_rule_id = ::std::option::Option::Some(input.into());
193        self
194    }
195    /// <p>This header is returned along with the <code>x-amz-abort-date</code> header. It identifies applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.</p><note>
196    /// <p>This functionality is not supported for directory buckets.</p>
197    /// </note>
198    pub fn set_abort_rule_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
199        self.abort_rule_id = input;
200        self
201    }
202    /// <p>This header is returned along with the <code>x-amz-abort-date</code> header. It identifies applicable lifecycle configuration rule that defines the action to abort incomplete multipart uploads.</p><note>
203    /// <p>This functionality is not supported for directory buckets.</p>
204    /// </note>
205    pub fn get_abort_rule_id(&self) -> &::std::option::Option<::std::string::String> {
206        &self.abort_rule_id
207    }
208    /// <p>The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.</p>
209    pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
210        self.bucket = ::std::option::Option::Some(input.into());
211        self
212    }
213    /// <p>The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.</p>
214    pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
215        self.bucket = input;
216        self
217    }
218    /// <p>The name of the bucket to which the multipart upload was initiated. Does not return the access point ARN or access point alias if used.</p>
219    pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
220        &self.bucket
221    }
222    /// <p>Object key for which the multipart upload was initiated.</p>
223    pub fn key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
224        self.key = ::std::option::Option::Some(input.into());
225        self
226    }
227    /// <p>Object key for which the multipart upload was initiated.</p>
228    pub fn set_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
229        self.key = input;
230        self
231    }
232    /// <p>Object key for which the multipart upload was initiated.</p>
233    pub fn get_key(&self) -> &::std::option::Option<::std::string::String> {
234        &self.key
235    }
236    /// <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
237    pub fn upload_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
238        self.upload_id = ::std::option::Option::Some(input.into());
239        self
240    }
241    /// <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
242    pub fn set_upload_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
243        self.upload_id = input;
244        self
245    }
246    /// <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
247    pub fn get_upload_id(&self) -> &::std::option::Option<::std::string::String> {
248        &self.upload_id
249    }
250    /// <p>Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.</p>
251    pub fn part_number_marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
252        self.part_number_marker = ::std::option::Option::Some(input.into());
253        self
254    }
255    /// <p>Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.</p>
256    pub fn set_part_number_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
257        self.part_number_marker = input;
258        self
259    }
260    /// <p>Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.</p>
261    pub fn get_part_number_marker(&self) -> &::std::option::Option<::std::string::String> {
262        &self.part_number_marker
263    }
264    /// <p>When a list is truncated, this element specifies the last part in the list, as well as the value to use for the <code>part-number-marker</code> request parameter in a subsequent request.</p>
265    pub fn next_part_number_marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
266        self.next_part_number_marker = ::std::option::Option::Some(input.into());
267        self
268    }
269    /// <p>When a list is truncated, this element specifies the last part in the list, as well as the value to use for the <code>part-number-marker</code> request parameter in a subsequent request.</p>
270    pub fn set_next_part_number_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
271        self.next_part_number_marker = input;
272        self
273    }
274    /// <p>When a list is truncated, this element specifies the last part in the list, as well as the value to use for the <code>part-number-marker</code> request parameter in a subsequent request.</p>
275    pub fn get_next_part_number_marker(&self) -> &::std::option::Option<::std::string::String> {
276        &self.next_part_number_marker
277    }
278    /// <p>Maximum number of parts that were allowed in the response.</p>
279    pub fn max_parts(mut self, input: i32) -> Self {
280        self.max_parts = ::std::option::Option::Some(input);
281        self
282    }
283    /// <p>Maximum number of parts that were allowed in the response.</p>
284    pub fn set_max_parts(mut self, input: ::std::option::Option<i32>) -> Self {
285        self.max_parts = input;
286        self
287    }
288    /// <p>Maximum number of parts that were allowed in the response.</p>
289    pub fn get_max_parts(&self) -> &::std::option::Option<i32> {
290        &self.max_parts
291    }
292    /// <p>Indicates whether the returned list of parts is truncated. A true value indicates that the list was truncated. A list can be truncated if the number of parts exceeds the limit returned in the MaxParts element.</p>
293    pub fn is_truncated(mut self, input: bool) -> Self {
294        self.is_truncated = ::std::option::Option::Some(input);
295        self
296    }
297    /// <p>Indicates whether the returned list of parts is truncated. A true value indicates that the list was truncated. A list can be truncated if the number of parts exceeds the limit returned in the MaxParts element.</p>
298    pub fn set_is_truncated(mut self, input: ::std::option::Option<bool>) -> Self {
299        self.is_truncated = input;
300        self
301    }
302    /// <p>Indicates whether the returned list of parts is truncated. A true value indicates that the list was truncated. A list can be truncated if the number of parts exceeds the limit returned in the MaxParts element.</p>
303    pub fn get_is_truncated(&self) -> &::std::option::Option<bool> {
304        &self.is_truncated
305    }
306    /// Appends an item to `parts`.
307    ///
308    /// To override the contents of this collection use [`set_parts`](Self::set_parts).
309    ///
310    /// <p>Container for elements related to a particular part. A response can contain zero or more <code>Part</code> elements.</p>
311    pub fn parts(mut self, input: crate::types::Part) -> Self {
312        let mut v = self.parts.unwrap_or_default();
313        v.push(input);
314        self.parts = ::std::option::Option::Some(v);
315        self
316    }
317    /// <p>Container for elements related to a particular part. A response can contain zero or more <code>Part</code> elements.</p>
318    pub fn set_parts(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Part>>) -> Self {
319        self.parts = input;
320        self
321    }
322    /// <p>Container for elements related to a particular part. A response can contain zero or more <code>Part</code> elements.</p>
323    pub fn get_parts(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Part>> {
324        &self.parts
325    }
326    /// <p>Container element that identifies who initiated the multipart upload. If the initiator is an Amazon Web Services account, this element provides the same information as the <code>Owner</code> element. If the initiator is an IAM User, this element provides the user ARN and display name.</p>
327    pub fn initiator(mut self, input: crate::types::Initiator) -> Self {
328        self.initiator = ::std::option::Option::Some(input);
329        self
330    }
331    /// <p>Container element that identifies who initiated the multipart upload. If the initiator is an Amazon Web Services account, this element provides the same information as the <code>Owner</code> element. If the initiator is an IAM User, this element provides the user ARN and display name.</p>
332    pub fn set_initiator(mut self, input: ::std::option::Option<crate::types::Initiator>) -> Self {
333        self.initiator = input;
334        self
335    }
336    /// <p>Container element that identifies who initiated the multipart upload. If the initiator is an Amazon Web Services account, this element provides the same information as the <code>Owner</code> element. If the initiator is an IAM User, this element provides the user ARN and display name.</p>
337    pub fn get_initiator(&self) -> &::std::option::Option<crate::types::Initiator> {
338        &self.initiator
339    }
340    /// <p>Container element that identifies the object owner, after the object is created. If multipart upload is initiated by an IAM user, this element provides the parent account ID and display name.</p><note>
341    /// <p><b>Directory buckets</b> - The bucket owner is returned as the object owner for all the parts.</p>
342    /// </note>
343    pub fn owner(mut self, input: crate::types::Owner) -> Self {
344        self.owner = ::std::option::Option::Some(input);
345        self
346    }
347    /// <p>Container element that identifies the object owner, after the object is created. If multipart upload is initiated by an IAM user, this element provides the parent account ID and display name.</p><note>
348    /// <p><b>Directory buckets</b> - The bucket owner is returned as the object owner for all the parts.</p>
349    /// </note>
350    pub fn set_owner(mut self, input: ::std::option::Option<crate::types::Owner>) -> Self {
351        self.owner = input;
352        self
353    }
354    /// <p>Container element that identifies the object owner, after the object is created. If multipart upload is initiated by an IAM user, this element provides the parent account ID and display name.</p><note>
355    /// <p><b>Directory buckets</b> - The bucket owner is returned as the object owner for all the parts.</p>
356    /// </note>
357    pub fn get_owner(&self) -> &::std::option::Option<crate::types::Owner> {
358        &self.owner
359    }
360    /// <p>The class of storage used to store the uploaded object.</p><note>
361    /// <p><b>Directory buckets</b> - Only the S3 Express One Zone storage class is supported by directory buckets to store objects.</p>
362    /// </note>
363    pub fn storage_class(mut self, input: crate::types::StorageClass) -> Self {
364        self.storage_class = ::std::option::Option::Some(input);
365        self
366    }
367    /// <p>The class of storage used to store the uploaded object.</p><note>
368    /// <p><b>Directory buckets</b> - Only the S3 Express One Zone storage class is supported by directory buckets to store objects.</p>
369    /// </note>
370    pub fn set_storage_class(mut self, input: ::std::option::Option<crate::types::StorageClass>) -> Self {
371        self.storage_class = input;
372        self
373    }
374    /// <p>The class of storage used to store the uploaded object.</p><note>
375    /// <p><b>Directory buckets</b> - Only the S3 Express One Zone storage class is supported by directory buckets to store objects.</p>
376    /// </note>
377    pub fn get_storage_class(&self) -> &::std::option::Option<crate::types::StorageClass> {
378        &self.storage_class
379    }
380    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
381    /// <p>This functionality is not supported for directory buckets.</p>
382    /// </note>
383    pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
384        self.request_charged = ::std::option::Option::Some(input);
385        self
386    }
387    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
388    /// <p>This functionality is not supported for directory buckets.</p>
389    /// </note>
390    pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
391        self.request_charged = input;
392        self
393    }
394    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
395    /// <p>This functionality is not supported for directory buckets.</p>
396    /// </note>
397    pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
398        &self.request_charged
399    }
400    /// <p>The algorithm that was used to create a checksum of the object.</p>
401    pub fn checksum_algorithm(mut self, input: crate::types::ChecksumAlgorithm) -> Self {
402        self.checksum_algorithm = ::std::option::Option::Some(input);
403        self
404    }
405    /// <p>The algorithm that was used to create a checksum of the object.</p>
406    pub fn set_checksum_algorithm(mut self, input: ::std::option::Option<crate::types::ChecksumAlgorithm>) -> Self {
407        self.checksum_algorithm = input;
408        self
409    }
410    /// <p>The algorithm that was used to create a checksum of the object.</p>
411    pub fn get_checksum_algorithm(&self) -> &::std::option::Option<crate::types::ChecksumAlgorithm> {
412        &self.checksum_algorithm
413    }
414    pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
415        self._extended_request_id = Some(extended_request_id.into());
416        self
417    }
418
419    pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
420        self._extended_request_id = extended_request_id;
421        self
422    }
423    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
424        self._request_id = Some(request_id.into());
425        self
426    }
427
428    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
429        self._request_id = request_id;
430        self
431    }
432    /// Consumes the builder and constructs a [`ListPartsOutput`](crate::operation::list_parts::ListPartsOutput).
433    pub fn build(self) -> crate::operation::list_parts::ListPartsOutput {
434        crate::operation::list_parts::ListPartsOutput {
435            abort_date: self.abort_date,
436            abort_rule_id: self.abort_rule_id,
437            bucket: self.bucket,
438            key: self.key,
439            upload_id: self.upload_id,
440            part_number_marker: self.part_number_marker,
441            next_part_number_marker: self.next_part_number_marker,
442            max_parts: self.max_parts,
443            is_truncated: self.is_truncated,
444            parts: self.parts,
445            initiator: self.initiator,
446            owner: self.owner,
447            storage_class: self.storage_class,
448            request_charged: self.request_charged,
449            checksum_algorithm: self.checksum_algorithm,
450            _extended_request_id: self._extended_request_id,
451            _request_id: self._request_id,
452        }
453    }
454}