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    /// <p>The checksum type, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. You can use this header response to verify that the checksum type that is received is the same checksum type that was specified in <code>CreateMultipartUpload</code> request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
48    pub checksum_type: ::std::option::Option<crate::types::ChecksumType>,
49    _extended_request_id: Option<String>,
50    _request_id: Option<String>,
51}
52impl ListPartsOutput {
53    /// <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>
54    /// <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>
55    /// <p>This functionality is not supported for directory buckets.</p>
56    /// </note>
57    pub fn abort_date(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
58        self.abort_date.as_ref()
59    }
60    /// <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>
61    /// <p>This functionality is not supported for directory buckets.</p>
62    /// </note>
63    pub fn abort_rule_id(&self) -> ::std::option::Option<&str> {
64        self.abort_rule_id.as_deref()
65    }
66    /// <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>
67    pub fn bucket(&self) -> ::std::option::Option<&str> {
68        self.bucket.as_deref()
69    }
70    /// <p>Object key for which the multipart upload was initiated.</p>
71    pub fn key(&self) -> ::std::option::Option<&str> {
72        self.key.as_deref()
73    }
74    /// <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
75    pub fn upload_id(&self) -> ::std::option::Option<&str> {
76        self.upload_id.as_deref()
77    }
78    /// <p>Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.</p>
79    pub fn part_number_marker(&self) -> ::std::option::Option<&str> {
80        self.part_number_marker.as_deref()
81    }
82    /// <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>
83    pub fn next_part_number_marker(&self) -> ::std::option::Option<&str> {
84        self.next_part_number_marker.as_deref()
85    }
86    /// <p>Maximum number of parts that were allowed in the response.</p>
87    pub fn max_parts(&self) -> ::std::option::Option<i32> {
88        self.max_parts
89    }
90    /// <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>
91    pub fn is_truncated(&self) -> ::std::option::Option<bool> {
92        self.is_truncated
93    }
94    /// <p>Container for elements related to a particular part. A response can contain zero or more <code>Part</code> elements.</p>
95    ///
96    /// 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()`.
97    pub fn parts(&self) -> &[crate::types::Part] {
98        self.parts.as_deref().unwrap_or_default()
99    }
100    /// <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>
101    pub fn initiator(&self) -> ::std::option::Option<&crate::types::Initiator> {
102        self.initiator.as_ref()
103    }
104    /// <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>
105    /// <p><b>Directory buckets</b> - The bucket owner is returned as the object owner for all the parts.</p>
106    /// </note>
107    pub fn owner(&self) -> ::std::option::Option<&crate::types::Owner> {
108        self.owner.as_ref()
109    }
110    /// <p>The class of storage used to store the uploaded object.</p><note>
111    /// <p><b>Directory buckets</b> - Only the S3 Express One Zone storage class is supported by directory buckets to store objects.</p>
112    /// </note>
113    pub fn storage_class(&self) -> ::std::option::Option<&crate::types::StorageClass> {
114        self.storage_class.as_ref()
115    }
116    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
117    /// <p>This functionality is not supported for directory buckets.</p>
118    /// </note>
119    pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
120        self.request_charged.as_ref()
121    }
122    /// <p>The algorithm that was used to create a checksum of the object.</p>
123    pub fn checksum_algorithm(&self) -> ::std::option::Option<&crate::types::ChecksumAlgorithm> {
124        self.checksum_algorithm.as_ref()
125    }
126    /// <p>The checksum type, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. You can use this header response to verify that the checksum type that is received is the same checksum type that was specified in <code>CreateMultipartUpload</code> request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
127    pub fn checksum_type(&self) -> ::std::option::Option<&crate::types::ChecksumType> {
128        self.checksum_type.as_ref()
129    }
130}
131impl crate::s3_request_id::RequestIdExt for ListPartsOutput {
132    fn extended_request_id(&self) -> Option<&str> {
133        self._extended_request_id.as_deref()
134    }
135}
136impl ::aws_types::request_id::RequestId for ListPartsOutput {
137    fn request_id(&self) -> Option<&str> {
138        self._request_id.as_deref()
139    }
140}
141impl ListPartsOutput {
142    /// Creates a new builder-style object to manufacture [`ListPartsOutput`](crate::operation::list_parts::ListPartsOutput).
143    pub fn builder() -> crate::operation::list_parts::builders::ListPartsOutputBuilder {
144        crate::operation::list_parts::builders::ListPartsOutputBuilder::default()
145    }
146}
147
148/// A builder for [`ListPartsOutput`](crate::operation::list_parts::ListPartsOutput).
149#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
150#[non_exhaustive]
151pub struct ListPartsOutputBuilder {
152    pub(crate) abort_date: ::std::option::Option<::aws_smithy_types::DateTime>,
153    pub(crate) abort_rule_id: ::std::option::Option<::std::string::String>,
154    pub(crate) bucket: ::std::option::Option<::std::string::String>,
155    pub(crate) key: ::std::option::Option<::std::string::String>,
156    pub(crate) upload_id: ::std::option::Option<::std::string::String>,
157    pub(crate) part_number_marker: ::std::option::Option<::std::string::String>,
158    pub(crate) next_part_number_marker: ::std::option::Option<::std::string::String>,
159    pub(crate) max_parts: ::std::option::Option<i32>,
160    pub(crate) is_truncated: ::std::option::Option<bool>,
161    pub(crate) parts: ::std::option::Option<::std::vec::Vec<crate::types::Part>>,
162    pub(crate) initiator: ::std::option::Option<crate::types::Initiator>,
163    pub(crate) owner: ::std::option::Option<crate::types::Owner>,
164    pub(crate) storage_class: ::std::option::Option<crate::types::StorageClass>,
165    pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
166    pub(crate) checksum_algorithm: ::std::option::Option<crate::types::ChecksumAlgorithm>,
167    pub(crate) checksum_type: ::std::option::Option<crate::types::ChecksumType>,
168    _extended_request_id: Option<String>,
169    _request_id: Option<String>,
170}
171impl ListPartsOutputBuilder {
172    /// <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>
173    /// <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>
174    /// <p>This functionality is not supported for directory buckets.</p>
175    /// </note>
176    pub fn abort_date(mut self, input: ::aws_smithy_types::DateTime) -> Self {
177        self.abort_date = ::std::option::Option::Some(input);
178        self
179    }
180    /// <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>
181    /// <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>
182    /// <p>This functionality is not supported for directory buckets.</p>
183    /// </note>
184    pub fn set_abort_date(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
185        self.abort_date = input;
186        self
187    }
188    /// <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>
189    /// <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>
190    /// <p>This functionality is not supported for directory buckets.</p>
191    /// </note>
192    pub fn get_abort_date(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
193        &self.abort_date
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 abort_rule_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
199        self.abort_rule_id = ::std::option::Option::Some(input.into());
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 set_abort_rule_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
206        self.abort_rule_id = input;
207        self
208    }
209    /// <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>
210    /// <p>This functionality is not supported for directory buckets.</p>
211    /// </note>
212    pub fn get_abort_rule_id(&self) -> &::std::option::Option<::std::string::String> {
213        &self.abort_rule_id
214    }
215    /// <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>
216    pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
217        self.bucket = ::std::option::Option::Some(input.into());
218        self
219    }
220    /// <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>
221    pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
222        self.bucket = input;
223        self
224    }
225    /// <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>
226    pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
227        &self.bucket
228    }
229    /// <p>Object key for which the multipart upload was initiated.</p>
230    pub fn key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
231        self.key = ::std::option::Option::Some(input.into());
232        self
233    }
234    /// <p>Object key for which the multipart upload was initiated.</p>
235    pub fn set_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
236        self.key = input;
237        self
238    }
239    /// <p>Object key for which the multipart upload was initiated.</p>
240    pub fn get_key(&self) -> &::std::option::Option<::std::string::String> {
241        &self.key
242    }
243    /// <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
244    pub fn upload_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
245        self.upload_id = ::std::option::Option::Some(input.into());
246        self
247    }
248    /// <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
249    pub fn set_upload_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
250        self.upload_id = input;
251        self
252    }
253    /// <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
254    pub fn get_upload_id(&self) -> &::std::option::Option<::std::string::String> {
255        &self.upload_id
256    }
257    /// <p>Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.</p>
258    pub fn part_number_marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
259        self.part_number_marker = ::std::option::Option::Some(input.into());
260        self
261    }
262    /// <p>Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.</p>
263    pub fn set_part_number_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
264        self.part_number_marker = input;
265        self
266    }
267    /// <p>Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.</p>
268    pub fn get_part_number_marker(&self) -> &::std::option::Option<::std::string::String> {
269        &self.part_number_marker
270    }
271    /// <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>
272    pub fn next_part_number_marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
273        self.next_part_number_marker = ::std::option::Option::Some(input.into());
274        self
275    }
276    /// <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>
277    pub fn set_next_part_number_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
278        self.next_part_number_marker = input;
279        self
280    }
281    /// <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>
282    pub fn get_next_part_number_marker(&self) -> &::std::option::Option<::std::string::String> {
283        &self.next_part_number_marker
284    }
285    /// <p>Maximum number of parts that were allowed in the response.</p>
286    pub fn max_parts(mut self, input: i32) -> Self {
287        self.max_parts = ::std::option::Option::Some(input);
288        self
289    }
290    /// <p>Maximum number of parts that were allowed in the response.</p>
291    pub fn set_max_parts(mut self, input: ::std::option::Option<i32>) -> Self {
292        self.max_parts = input;
293        self
294    }
295    /// <p>Maximum number of parts that were allowed in the response.</p>
296    pub fn get_max_parts(&self) -> &::std::option::Option<i32> {
297        &self.max_parts
298    }
299    /// <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>
300    pub fn is_truncated(mut self, input: bool) -> Self {
301        self.is_truncated = ::std::option::Option::Some(input);
302        self
303    }
304    /// <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>
305    pub fn set_is_truncated(mut self, input: ::std::option::Option<bool>) -> Self {
306        self.is_truncated = input;
307        self
308    }
309    /// <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>
310    pub fn get_is_truncated(&self) -> &::std::option::Option<bool> {
311        &self.is_truncated
312    }
313    /// Appends an item to `parts`.
314    ///
315    /// To override the contents of this collection use [`set_parts`](Self::set_parts).
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 parts(mut self, input: crate::types::Part) -> Self {
319        let mut v = self.parts.unwrap_or_default();
320        v.push(input);
321        self.parts = ::std::option::Option::Some(v);
322        self
323    }
324    /// <p>Container for elements related to a particular part. A response can contain zero or more <code>Part</code> elements.</p>
325    pub fn set_parts(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Part>>) -> Self {
326        self.parts = input;
327        self
328    }
329    /// <p>Container for elements related to a particular part. A response can contain zero or more <code>Part</code> elements.</p>
330    pub fn get_parts(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Part>> {
331        &self.parts
332    }
333    /// <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>
334    pub fn initiator(mut self, input: crate::types::Initiator) -> Self {
335        self.initiator = ::std::option::Option::Some(input);
336        self
337    }
338    /// <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>
339    pub fn set_initiator(mut self, input: ::std::option::Option<crate::types::Initiator>) -> Self {
340        self.initiator = input;
341        self
342    }
343    /// <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>
344    pub fn get_initiator(&self) -> &::std::option::Option<crate::types::Initiator> {
345        &self.initiator
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 owner(mut self, input: crate::types::Owner) -> Self {
351        self.owner = ::std::option::Option::Some(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 set_owner(mut self, input: ::std::option::Option<crate::types::Owner>) -> Self {
358        self.owner = input;
359        self
360    }
361    /// <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>
362    /// <p><b>Directory buckets</b> - The bucket owner is returned as the object owner for all the parts.</p>
363    /// </note>
364    pub fn get_owner(&self) -> &::std::option::Option<crate::types::Owner> {
365        &self.owner
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 storage_class(mut self, input: crate::types::StorageClass) -> Self {
371        self.storage_class = ::std::option::Option::Some(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 set_storage_class(mut self, input: ::std::option::Option<crate::types::StorageClass>) -> Self {
378        self.storage_class = input;
379        self
380    }
381    /// <p>The class of storage used to store the uploaded object.</p><note>
382    /// <p><b>Directory buckets</b> - Only the S3 Express One Zone storage class is supported by directory buckets to store objects.</p>
383    /// </note>
384    pub fn get_storage_class(&self) -> &::std::option::Option<crate::types::StorageClass> {
385        &self.storage_class
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 request_charged(mut self, input: crate::types::RequestCharged) -> Self {
391        self.request_charged = ::std::option::Option::Some(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 set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
398        self.request_charged = input;
399        self
400    }
401    /// <p>If present, indicates that the requester was successfully charged for the request.</p><note>
402    /// <p>This functionality is not supported for directory buckets.</p>
403    /// </note>
404    pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
405        &self.request_charged
406    }
407    /// <p>The algorithm that was used to create a checksum of the object.</p>
408    pub fn checksum_algorithm(mut self, input: crate::types::ChecksumAlgorithm) -> Self {
409        self.checksum_algorithm = ::std::option::Option::Some(input);
410        self
411    }
412    /// <p>The algorithm that was used to create a checksum of the object.</p>
413    pub fn set_checksum_algorithm(mut self, input: ::std::option::Option<crate::types::ChecksumAlgorithm>) -> Self {
414        self.checksum_algorithm = input;
415        self
416    }
417    /// <p>The algorithm that was used to create a checksum of the object.</p>
418    pub fn get_checksum_algorithm(&self) -> &::std::option::Option<crate::types::ChecksumAlgorithm> {
419        &self.checksum_algorithm
420    }
421    /// <p>The checksum type, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. You can use this header response to verify that the checksum type that is received is the same checksum type that was specified in <code>CreateMultipartUpload</code> request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
422    pub fn checksum_type(mut self, input: crate::types::ChecksumType) -> Self {
423        self.checksum_type = ::std::option::Option::Some(input);
424        self
425    }
426    /// <p>The checksum type, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. You can use this header response to verify that the checksum type that is received is the same checksum type that was specified in <code>CreateMultipartUpload</code> request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
427    pub fn set_checksum_type(mut self, input: ::std::option::Option<crate::types::ChecksumType>) -> Self {
428        self.checksum_type = input;
429        self
430    }
431    /// <p>The checksum type, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. You can use this header response to verify that the checksum type that is received is the same checksum type that was specified in <code>CreateMultipartUpload</code> request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html">Checking object integrity in the Amazon S3 User Guide</a>.</p>
432    pub fn get_checksum_type(&self) -> &::std::option::Option<crate::types::ChecksumType> {
433        &self.checksum_type
434    }
435    pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
436        self._extended_request_id = Some(extended_request_id.into());
437        self
438    }
439
440    pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
441        self._extended_request_id = extended_request_id;
442        self
443    }
444    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
445        self._request_id = Some(request_id.into());
446        self
447    }
448
449    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
450        self._request_id = request_id;
451        self
452    }
453    /// Consumes the builder and constructs a [`ListPartsOutput`](crate::operation::list_parts::ListPartsOutput).
454    pub fn build(self) -> crate::operation::list_parts::ListPartsOutput {
455        crate::operation::list_parts::ListPartsOutput {
456            abort_date: self.abort_date,
457            abort_rule_id: self.abort_rule_id,
458            bucket: self.bucket,
459            key: self.key,
460            upload_id: self.upload_id,
461            part_number_marker: self.part_number_marker,
462            next_part_number_marker: self.next_part_number_marker,
463            max_parts: self.max_parts,
464            is_truncated: self.is_truncated,
465            parts: self.parts,
466            initiator: self.initiator,
467            owner: self.owner,
468            storage_class: self.storage_class,
469            request_charged: self.request_charged,
470            checksum_algorithm: self.checksum_algorithm,
471            checksum_type: self.checksum_type,
472            _extended_request_id: self._extended_request_id,
473            _request_id: self._request_id,
474        }
475    }
476}