aws_sdk_s3/operation/list_parts/
_list_parts_input.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
5pub struct ListPartsInput {
6    /// <p>The name of the bucket to which the parts are being uploaded.</p>
7    /// <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>amzn-s3-demo-bucket</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
8    /// <p><b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>
9    /// <p>Access points and Object Lambda access points are not supported by directory buckets.</p>
10    /// </note>
11    /// <p><b>S3 on Outposts</b> - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more information about S3 on Outposts, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
12    pub bucket: ::std::option::Option<::std::string::String>,
13    /// <p>Object key for which the multipart upload was initiated.</p>
14    pub key: ::std::option::Option<::std::string::String>,
15    /// <p>Sets the maximum number of parts to return.</p>
16    pub max_parts: ::std::option::Option<i32>,
17    /// <p>Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.</p>
18    pub part_number_marker: ::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>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>
22    /// <p>This functionality is not supported for directory buckets.</p>
23    /// </note>
24    pub request_payer: ::std::option::Option<crate::types::RequestPayer>,
25    /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
26    pub expected_bucket_owner: ::std::option::Option<::std::string::String>,
27    /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
28    /// <p>This functionality is not supported for directory buckets.</p>
29    /// </note>
30    pub sse_customer_algorithm: ::std::option::Option<::std::string::String>,
31    /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
32    /// <p>This functionality is not supported for directory buckets.</p>
33    /// </note>
34    pub sse_customer_key: ::std::option::Option<::std::string::String>,
35    /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
36    /// <p>This functionality is not supported for directory buckets.</p>
37    /// </note>
38    pub sse_customer_key_md5: ::std::option::Option<::std::string::String>,
39}
40impl ListPartsInput {
41    /// <p>The name of the bucket to which the parts are being uploaded.</p>
42    /// <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>amzn-s3-demo-bucket</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
43    /// <p><b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>
44    /// <p>Access points and Object Lambda access points are not supported by directory buckets.</p>
45    /// </note>
46    /// <p><b>S3 on Outposts</b> - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more information about S3 on Outposts, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
47    pub fn bucket(&self) -> ::std::option::Option<&str> {
48        self.bucket.as_deref()
49    }
50    /// <p>Object key for which the multipart upload was initiated.</p>
51    pub fn key(&self) -> ::std::option::Option<&str> {
52        self.key.as_deref()
53    }
54    /// <p>Sets the maximum number of parts to return.</p>
55    pub fn max_parts(&self) -> ::std::option::Option<i32> {
56        self.max_parts
57    }
58    /// <p>Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.</p>
59    pub fn part_number_marker(&self) -> ::std::option::Option<&str> {
60        self.part_number_marker.as_deref()
61    }
62    /// <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
63    pub fn upload_id(&self) -> ::std::option::Option<&str> {
64        self.upload_id.as_deref()
65    }
66    /// <p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>
67    /// <p>This functionality is not supported for directory buckets.</p>
68    /// </note>
69    pub fn request_payer(&self) -> ::std::option::Option<&crate::types::RequestPayer> {
70        self.request_payer.as_ref()
71    }
72    /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
73    pub fn expected_bucket_owner(&self) -> ::std::option::Option<&str> {
74        self.expected_bucket_owner.as_deref()
75    }
76    /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
77    /// <p>This functionality is not supported for directory buckets.</p>
78    /// </note>
79    pub fn sse_customer_algorithm(&self) -> ::std::option::Option<&str> {
80        self.sse_customer_algorithm.as_deref()
81    }
82    /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
83    /// <p>This functionality is not supported for directory buckets.</p>
84    /// </note>
85    pub fn sse_customer_key(&self) -> ::std::option::Option<&str> {
86        self.sse_customer_key.as_deref()
87    }
88    /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
89    /// <p>This functionality is not supported for directory buckets.</p>
90    /// </note>
91    pub fn sse_customer_key_md5(&self) -> ::std::option::Option<&str> {
92        self.sse_customer_key_md5.as_deref()
93    }
94}
95impl ::std::fmt::Debug for ListPartsInput {
96    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
97        let mut formatter = f.debug_struct("ListPartsInput");
98        formatter.field("bucket", &self.bucket);
99        formatter.field("key", &self.key);
100        formatter.field("max_parts", &self.max_parts);
101        formatter.field("part_number_marker", &self.part_number_marker);
102        formatter.field("upload_id", &self.upload_id);
103        formatter.field("request_payer", &self.request_payer);
104        formatter.field("expected_bucket_owner", &self.expected_bucket_owner);
105        formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
106        formatter.field("sse_customer_key", &"*** Sensitive Data Redacted ***");
107        formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
108        formatter.finish()
109    }
110}
111impl ListPartsInput {
112    /// Creates a new builder-style object to manufacture [`ListPartsInput`](crate::operation::list_parts::ListPartsInput).
113    pub fn builder() -> crate::operation::list_parts::builders::ListPartsInputBuilder {
114        crate::operation::list_parts::builders::ListPartsInputBuilder::default()
115    }
116}
117
118/// A builder for [`ListPartsInput`](crate::operation::list_parts::ListPartsInput).
119#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
120#[non_exhaustive]
121pub struct ListPartsInputBuilder {
122    pub(crate) bucket: ::std::option::Option<::std::string::String>,
123    pub(crate) key: ::std::option::Option<::std::string::String>,
124    pub(crate) max_parts: ::std::option::Option<i32>,
125    pub(crate) part_number_marker: ::std::option::Option<::std::string::String>,
126    pub(crate) upload_id: ::std::option::Option<::std::string::String>,
127    pub(crate) request_payer: ::std::option::Option<crate::types::RequestPayer>,
128    pub(crate) expected_bucket_owner: ::std::option::Option<::std::string::String>,
129    pub(crate) sse_customer_algorithm: ::std::option::Option<::std::string::String>,
130    pub(crate) sse_customer_key: ::std::option::Option<::std::string::String>,
131    pub(crate) sse_customer_key_md5: ::std::option::Option<::std::string::String>,
132}
133impl ListPartsInputBuilder {
134    /// <p>The name of the bucket to which the parts are being uploaded.</p>
135    /// <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>amzn-s3-demo-bucket</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
136    /// <p><b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>
137    /// <p>Access points and Object Lambda access points are not supported by directory buckets.</p>
138    /// </note>
139    /// <p><b>S3 on Outposts</b> - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more information about S3 on Outposts, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
140    /// This field is required.
141    pub fn bucket(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
142        self.bucket = ::std::option::Option::Some(input.into());
143        self
144    }
145    /// <p>The name of the bucket to which the parts are being uploaded.</p>
146    /// <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>amzn-s3-demo-bucket</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
147    /// <p><b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>
148    /// <p>Access points and Object Lambda access points are not supported by directory buckets.</p>
149    /// </note>
150    /// <p><b>S3 on Outposts</b> - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more information about S3 on Outposts, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
151    pub fn set_bucket(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
152        self.bucket = input;
153        self
154    }
155    /// <p>The name of the bucket to which the parts are being uploaded.</p>
156    /// <p><b>Directory buckets</b> - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format <code> <i>Bucket-name</i>.s3express-<i>zone-id</i>.<i>region-code</i>.amazonaws.com</code>. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format <code> <i>bucket-base-name</i>--<i>zone-id</i>--x-s3</code> (for example, <code> <i>amzn-s3-demo-bucket</i>--<i>usw2-az1</i>--x-s3</code>). For information about bucket naming restrictions, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html">Directory bucket naming rules</a> in the <i>Amazon S3 User Guide</i>.</p>
157    /// <p><b>Access points</b> - When you use this action with an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form <i>AccessPointName</i>-<i>AccountId</i>.s3-accesspoint.<i>Region</i>.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html">Using access points</a> in the <i>Amazon S3 User Guide</i>.</p><note>
158    /// <p>Access points and Object Lambda access points are not supported by directory buckets.</p>
159    /// </note>
160    /// <p><b>S3 on Outposts</b> - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form <code> <i>AccessPointName</i>-<i>AccountId</i>.<i>outpostID</i>.s3-outposts.<i>Region</i>.amazonaws.com</code>. When you use this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more information about S3 on Outposts, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html">What is S3 on Outposts?</a> in the <i>Amazon S3 User Guide</i>.</p>
161    pub fn get_bucket(&self) -> &::std::option::Option<::std::string::String> {
162        &self.bucket
163    }
164    /// <p>Object key for which the multipart upload was initiated.</p>
165    /// This field is required.
166    pub fn key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
167        self.key = ::std::option::Option::Some(input.into());
168        self
169    }
170    /// <p>Object key for which the multipart upload was initiated.</p>
171    pub fn set_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
172        self.key = input;
173        self
174    }
175    /// <p>Object key for which the multipart upload was initiated.</p>
176    pub fn get_key(&self) -> &::std::option::Option<::std::string::String> {
177        &self.key
178    }
179    /// <p>Sets the maximum number of parts to return.</p>
180    pub fn max_parts(mut self, input: i32) -> Self {
181        self.max_parts = ::std::option::Option::Some(input);
182        self
183    }
184    /// <p>Sets the maximum number of parts to return.</p>
185    pub fn set_max_parts(mut self, input: ::std::option::Option<i32>) -> Self {
186        self.max_parts = input;
187        self
188    }
189    /// <p>Sets the maximum number of parts to return.</p>
190    pub fn get_max_parts(&self) -> &::std::option::Option<i32> {
191        &self.max_parts
192    }
193    /// <p>Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.</p>
194    pub fn part_number_marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
195        self.part_number_marker = ::std::option::Option::Some(input.into());
196        self
197    }
198    /// <p>Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.</p>
199    pub fn set_part_number_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
200        self.part_number_marker = input;
201        self
202    }
203    /// <p>Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.</p>
204    pub fn get_part_number_marker(&self) -> &::std::option::Option<::std::string::String> {
205        &self.part_number_marker
206    }
207    /// <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
208    /// This field is required.
209    pub fn upload_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
210        self.upload_id = ::std::option::Option::Some(input.into());
211        self
212    }
213    /// <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
214    pub fn set_upload_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
215        self.upload_id = input;
216        self
217    }
218    /// <p>Upload ID identifying the multipart upload whose parts are being listed.</p>
219    pub fn get_upload_id(&self) -> &::std::option::Option<::std::string::String> {
220        &self.upload_id
221    }
222    /// <p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>
223    /// <p>This functionality is not supported for directory buckets.</p>
224    /// </note>
225    pub fn request_payer(mut self, input: crate::types::RequestPayer) -> Self {
226        self.request_payer = ::std::option::Option::Some(input);
227        self
228    }
229    /// <p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>
230    /// <p>This functionality is not supported for directory buckets.</p>
231    /// </note>
232    pub fn set_request_payer(mut self, input: ::std::option::Option<crate::types::RequestPayer>) -> Self {
233        self.request_payer = input;
234        self
235    }
236    /// <p>Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html">Downloading Objects in Requester Pays Buckets</a> in the <i>Amazon S3 User Guide</i>.</p><note>
237    /// <p>This functionality is not supported for directory buckets.</p>
238    /// </note>
239    pub fn get_request_payer(&self) -> &::std::option::Option<crate::types::RequestPayer> {
240        &self.request_payer
241    }
242    /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
243    pub fn expected_bucket_owner(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
244        self.expected_bucket_owner = ::std::option::Option::Some(input.into());
245        self
246    }
247    /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
248    pub fn set_expected_bucket_owner(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
249        self.expected_bucket_owner = input;
250        self
251    }
252    /// <p>The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code <code>403 Forbidden</code> (access denied).</p>
253    pub fn get_expected_bucket_owner(&self) -> &::std::option::Option<::std::string::String> {
254        &self.expected_bucket_owner
255    }
256    /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
257    /// <p>This functionality is not supported for directory buckets.</p>
258    /// </note>
259    pub fn sse_customer_algorithm(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
260        self.sse_customer_algorithm = ::std::option::Option::Some(input.into());
261        self
262    }
263    /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
264    /// <p>This functionality is not supported for directory buckets.</p>
265    /// </note>
266    pub fn set_sse_customer_algorithm(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
267        self.sse_customer_algorithm = input;
268        self
269    }
270    /// <p>The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
271    /// <p>This functionality is not supported for directory buckets.</p>
272    /// </note>
273    pub fn get_sse_customer_algorithm(&self) -> &::std::option::Option<::std::string::String> {
274        &self.sse_customer_algorithm
275    }
276    /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
277    /// <p>This functionality is not supported for directory buckets.</p>
278    /// </note>
279    pub fn sse_customer_key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
280        self.sse_customer_key = ::std::option::Option::Some(input.into());
281        self
282    }
283    /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
284    /// <p>This functionality is not supported for directory buckets.</p>
285    /// </note>
286    pub fn set_sse_customer_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
287        self.sse_customer_key = input;
288        self
289    }
290    /// <p>The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
291    /// <p>This functionality is not supported for directory buckets.</p>
292    /// </note>
293    pub fn get_sse_customer_key(&self) -> &::std::option::Option<::std::string::String> {
294        &self.sse_customer_key
295    }
296    /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
297    /// <p>This functionality is not supported for directory buckets.</p>
298    /// </note>
299    pub fn sse_customer_key_md5(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
300        self.sse_customer_key_md5 = ::std::option::Option::Some(input.into());
301        self
302    }
303    /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
304    /// <p>This functionality is not supported for directory buckets.</p>
305    /// </note>
306    pub fn set_sse_customer_key_md5(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
307        self.sse_customer_key_md5 = input;
308        self
309    }
310    /// <p>The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html">Protecting data using SSE-C keys</a> in the <i>Amazon S3 User Guide</i>.</p><note>
311    /// <p>This functionality is not supported for directory buckets.</p>
312    /// </note>
313    pub fn get_sse_customer_key_md5(&self) -> &::std::option::Option<::std::string::String> {
314        &self.sse_customer_key_md5
315    }
316    /// Consumes the builder and constructs a [`ListPartsInput`](crate::operation::list_parts::ListPartsInput).
317    pub fn build(self) -> ::std::result::Result<crate::operation::list_parts::ListPartsInput, ::aws_smithy_types::error::operation::BuildError> {
318        ::std::result::Result::Ok(crate::operation::list_parts::ListPartsInput {
319            bucket: self.bucket,
320            key: self.key,
321            max_parts: self.max_parts,
322            part_number_marker: self.part_number_marker,
323            upload_id: self.upload_id,
324            request_payer: self.request_payer,
325            expected_bucket_owner: self.expected_bucket_owner,
326            sse_customer_algorithm: self.sse_customer_algorithm,
327            sse_customer_key: self.sse_customer_key,
328            sse_customer_key_md5: self.sse_customer_key_md5,
329        })
330    }
331}
332impl ::std::fmt::Debug for ListPartsInputBuilder {
333    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
334        let mut formatter = f.debug_struct("ListPartsInputBuilder");
335        formatter.field("bucket", &self.bucket);
336        formatter.field("key", &self.key);
337        formatter.field("max_parts", &self.max_parts);
338        formatter.field("part_number_marker", &self.part_number_marker);
339        formatter.field("upload_id", &self.upload_id);
340        formatter.field("request_payer", &self.request_payer);
341        formatter.field("expected_bucket_owner", &self.expected_bucket_owner);
342        formatter.field("sse_customer_algorithm", &self.sse_customer_algorithm);
343        formatter.field("sse_customer_key", &"*** Sensitive Data Redacted ***");
344        formatter.field("sse_customer_key_md5", &self.sse_customer_key_md5);
345        formatter.finish()
346    }
347}