aws_sdk_s3/operation/list_object_versions/
_list_object_versions_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 ListObjectVersionsOutput {
6    /// <p>A flag that indicates whether Amazon S3 returned all of the results that satisfied the search criteria. If your results were truncated, you can make a follow-up paginated request by using the <code>NextKeyMarker</code> and <code>NextVersionIdMarker</code> response parameters as a starting place in another request to return the rest of the results.</p>
7    pub is_truncated: ::std::option::Option<bool>,
8    /// <p>Marks the last key returned in a truncated response.</p>
9    pub key_marker: ::std::option::Option<::std::string::String>,
10    /// <p>Marks the last version of the key returned in a truncated response.</p>
11    pub version_id_marker: ::std::option::Option<::std::string::String>,
12    /// <p>When the number of responses exceeds the value of <code>MaxKeys</code>, <code>NextKeyMarker</code> specifies the first key not returned that satisfies the search criteria. Use this value for the key-marker request parameter in a subsequent request.</p>
13    pub next_key_marker: ::std::option::Option<::std::string::String>,
14    /// <p>When the number of responses exceeds the value of <code>MaxKeys</code>, <code>NextVersionIdMarker</code> specifies the first object version not returned that satisfies the search criteria. Use this value for the <code>version-id-marker</code> request parameter in a subsequent request.</p>
15    pub next_version_id_marker: ::std::option::Option<::std::string::String>,
16    /// <p>Container for version information.</p>
17    pub versions: ::std::option::Option<::std::vec::Vec<crate::types::ObjectVersion>>,
18    /// <p>Container for an object that is a delete marker. To learn more about delete markers, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeleteMarker.html">Working with delete markers</a>.</p>
19    pub delete_markers: ::std::option::Option<::std::vec::Vec<crate::types::DeleteMarkerEntry>>,
20    /// <p>The bucket name.</p>
21    pub name: ::std::option::Option<::std::string::String>,
22    /// <p>Selects objects that start with the value supplied by this parameter.</p>
23    pub prefix: ::std::option::Option<::std::string::String>,
24    /// <p>The delimiter grouping the included keys. A delimiter is a character that you specify to group keys. All keys that contain the same string between the prefix and the first occurrence of the delimiter are grouped under a single result element in <code>CommonPrefixes</code>. These groups are counted as one result against the <code>max-keys</code> limitation. These keys are not returned elsewhere in the response.</p>
25    pub delimiter: ::std::option::Option<::std::string::String>,
26    /// <p>Specifies the maximum number of objects to return.</p>
27    pub max_keys: ::std::option::Option<i32>,
28    /// <p>All of the keys rolled up into a common prefix count as a single return when calculating the number of returns.</p>
29    pub common_prefixes: ::std::option::Option<::std::vec::Vec<crate::types::CommonPrefix>>,
30    /// <p>Encoding type used by Amazon S3 to encode object key names in the XML response.</p>
31    /// <p>If you specify the <code>encoding-type</code> request parameter, Amazon S3 includes this element in the response, and returns encoded key name values in the following response elements:</p>
32    /// <p><code>KeyMarker, NextKeyMarker, Prefix, Key</code>, and <code>Delimiter</code>.</p>
33    pub encoding_type: ::std::option::Option<crate::types::EncodingType>,
34    /// <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>
35    /// <p>This functionality is not supported for directory buckets.</p>
36    /// </note>
37    pub request_charged: ::std::option::Option<crate::types::RequestCharged>,
38    _extended_request_id: Option<String>,
39    _request_id: Option<String>,
40}
41impl ListObjectVersionsOutput {
42    /// <p>A flag that indicates whether Amazon S3 returned all of the results that satisfied the search criteria. If your results were truncated, you can make a follow-up paginated request by using the <code>NextKeyMarker</code> and <code>NextVersionIdMarker</code> response parameters as a starting place in another request to return the rest of the results.</p>
43    pub fn is_truncated(&self) -> ::std::option::Option<bool> {
44        self.is_truncated
45    }
46    /// <p>Marks the last key returned in a truncated response.</p>
47    pub fn key_marker(&self) -> ::std::option::Option<&str> {
48        self.key_marker.as_deref()
49    }
50    /// <p>Marks the last version of the key returned in a truncated response.</p>
51    pub fn version_id_marker(&self) -> ::std::option::Option<&str> {
52        self.version_id_marker.as_deref()
53    }
54    /// <p>When the number of responses exceeds the value of <code>MaxKeys</code>, <code>NextKeyMarker</code> specifies the first key not returned that satisfies the search criteria. Use this value for the key-marker request parameter in a subsequent request.</p>
55    pub fn next_key_marker(&self) -> ::std::option::Option<&str> {
56        self.next_key_marker.as_deref()
57    }
58    /// <p>When the number of responses exceeds the value of <code>MaxKeys</code>, <code>NextVersionIdMarker</code> specifies the first object version not returned that satisfies the search criteria. Use this value for the <code>version-id-marker</code> request parameter in a subsequent request.</p>
59    pub fn next_version_id_marker(&self) -> ::std::option::Option<&str> {
60        self.next_version_id_marker.as_deref()
61    }
62    /// <p>Container for version information.</p>
63    ///
64    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.versions.is_none()`.
65    pub fn versions(&self) -> &[crate::types::ObjectVersion] {
66        self.versions.as_deref().unwrap_or_default()
67    }
68    /// <p>Container for an object that is a delete marker. To learn more about delete markers, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeleteMarker.html">Working with delete markers</a>.</p>
69    ///
70    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.delete_markers.is_none()`.
71    pub fn delete_markers(&self) -> &[crate::types::DeleteMarkerEntry] {
72        self.delete_markers.as_deref().unwrap_or_default()
73    }
74    /// <p>The bucket name.</p>
75    pub fn name(&self) -> ::std::option::Option<&str> {
76        self.name.as_deref()
77    }
78    /// <p>Selects objects that start with the value supplied by this parameter.</p>
79    pub fn prefix(&self) -> ::std::option::Option<&str> {
80        self.prefix.as_deref()
81    }
82    /// <p>The delimiter grouping the included keys. A delimiter is a character that you specify to group keys. All keys that contain the same string between the prefix and the first occurrence of the delimiter are grouped under a single result element in <code>CommonPrefixes</code>. These groups are counted as one result against the <code>max-keys</code> limitation. These keys are not returned elsewhere in the response.</p>
83    pub fn delimiter(&self) -> ::std::option::Option<&str> {
84        self.delimiter.as_deref()
85    }
86    /// <p>Specifies the maximum number of objects to return.</p>
87    pub fn max_keys(&self) -> ::std::option::Option<i32> {
88        self.max_keys
89    }
90    /// <p>All of the keys rolled up into a common prefix count as a single return when calculating the number of returns.</p>
91    ///
92    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.common_prefixes.is_none()`.
93    pub fn common_prefixes(&self) -> &[crate::types::CommonPrefix] {
94        self.common_prefixes.as_deref().unwrap_or_default()
95    }
96    /// <p>Encoding type used by Amazon S3 to encode object key names in the XML response.</p>
97    /// <p>If you specify the <code>encoding-type</code> request parameter, Amazon S3 includes this element in the response, and returns encoded key name values in the following response elements:</p>
98    /// <p><code>KeyMarker, NextKeyMarker, Prefix, Key</code>, and <code>Delimiter</code>.</p>
99    pub fn encoding_type(&self) -> ::std::option::Option<&crate::types::EncodingType> {
100        self.encoding_type.as_ref()
101    }
102    /// <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>
103    /// <p>This functionality is not supported for directory buckets.</p>
104    /// </note>
105    pub fn request_charged(&self) -> ::std::option::Option<&crate::types::RequestCharged> {
106        self.request_charged.as_ref()
107    }
108}
109impl crate::s3_request_id::RequestIdExt for ListObjectVersionsOutput {
110    fn extended_request_id(&self) -> Option<&str> {
111        self._extended_request_id.as_deref()
112    }
113}
114impl ::aws_types::request_id::RequestId for ListObjectVersionsOutput {
115    fn request_id(&self) -> Option<&str> {
116        self._request_id.as_deref()
117    }
118}
119impl ListObjectVersionsOutput {
120    /// Creates a new builder-style object to manufacture [`ListObjectVersionsOutput`](crate::operation::list_object_versions::ListObjectVersionsOutput).
121    pub fn builder() -> crate::operation::list_object_versions::builders::ListObjectVersionsOutputBuilder {
122        crate::operation::list_object_versions::builders::ListObjectVersionsOutputBuilder::default()
123    }
124}
125
126/// A builder for [`ListObjectVersionsOutput`](crate::operation::list_object_versions::ListObjectVersionsOutput).
127#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
128#[non_exhaustive]
129pub struct ListObjectVersionsOutputBuilder {
130    pub(crate) is_truncated: ::std::option::Option<bool>,
131    pub(crate) key_marker: ::std::option::Option<::std::string::String>,
132    pub(crate) version_id_marker: ::std::option::Option<::std::string::String>,
133    pub(crate) next_key_marker: ::std::option::Option<::std::string::String>,
134    pub(crate) next_version_id_marker: ::std::option::Option<::std::string::String>,
135    pub(crate) versions: ::std::option::Option<::std::vec::Vec<crate::types::ObjectVersion>>,
136    pub(crate) delete_markers: ::std::option::Option<::std::vec::Vec<crate::types::DeleteMarkerEntry>>,
137    pub(crate) name: ::std::option::Option<::std::string::String>,
138    pub(crate) prefix: ::std::option::Option<::std::string::String>,
139    pub(crate) delimiter: ::std::option::Option<::std::string::String>,
140    pub(crate) max_keys: ::std::option::Option<i32>,
141    pub(crate) common_prefixes: ::std::option::Option<::std::vec::Vec<crate::types::CommonPrefix>>,
142    pub(crate) encoding_type: ::std::option::Option<crate::types::EncodingType>,
143    pub(crate) request_charged: ::std::option::Option<crate::types::RequestCharged>,
144    _extended_request_id: Option<String>,
145    _request_id: Option<String>,
146}
147impl ListObjectVersionsOutputBuilder {
148    /// <p>A flag that indicates whether Amazon S3 returned all of the results that satisfied the search criteria. If your results were truncated, you can make a follow-up paginated request by using the <code>NextKeyMarker</code> and <code>NextVersionIdMarker</code> response parameters as a starting place in another request to return the rest of the results.</p>
149    pub fn is_truncated(mut self, input: bool) -> Self {
150        self.is_truncated = ::std::option::Option::Some(input);
151        self
152    }
153    /// <p>A flag that indicates whether Amazon S3 returned all of the results that satisfied the search criteria. If your results were truncated, you can make a follow-up paginated request by using the <code>NextKeyMarker</code> and <code>NextVersionIdMarker</code> response parameters as a starting place in another request to return the rest of the results.</p>
154    pub fn set_is_truncated(mut self, input: ::std::option::Option<bool>) -> Self {
155        self.is_truncated = input;
156        self
157    }
158    /// <p>A flag that indicates whether Amazon S3 returned all of the results that satisfied the search criteria. If your results were truncated, you can make a follow-up paginated request by using the <code>NextKeyMarker</code> and <code>NextVersionIdMarker</code> response parameters as a starting place in another request to return the rest of the results.</p>
159    pub fn get_is_truncated(&self) -> &::std::option::Option<bool> {
160        &self.is_truncated
161    }
162    /// <p>Marks the last key returned in a truncated response.</p>
163    pub fn key_marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
164        self.key_marker = ::std::option::Option::Some(input.into());
165        self
166    }
167    /// <p>Marks the last key returned in a truncated response.</p>
168    pub fn set_key_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
169        self.key_marker = input;
170        self
171    }
172    /// <p>Marks the last key returned in a truncated response.</p>
173    pub fn get_key_marker(&self) -> &::std::option::Option<::std::string::String> {
174        &self.key_marker
175    }
176    /// <p>Marks the last version of the key returned in a truncated response.</p>
177    pub fn version_id_marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
178        self.version_id_marker = ::std::option::Option::Some(input.into());
179        self
180    }
181    /// <p>Marks the last version of the key returned in a truncated response.</p>
182    pub fn set_version_id_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
183        self.version_id_marker = input;
184        self
185    }
186    /// <p>Marks the last version of the key returned in a truncated response.</p>
187    pub fn get_version_id_marker(&self) -> &::std::option::Option<::std::string::String> {
188        &self.version_id_marker
189    }
190    /// <p>When the number of responses exceeds the value of <code>MaxKeys</code>, <code>NextKeyMarker</code> specifies the first key not returned that satisfies the search criteria. Use this value for the key-marker request parameter in a subsequent request.</p>
191    pub fn next_key_marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
192        self.next_key_marker = ::std::option::Option::Some(input.into());
193        self
194    }
195    /// <p>When the number of responses exceeds the value of <code>MaxKeys</code>, <code>NextKeyMarker</code> specifies the first key not returned that satisfies the search criteria. Use this value for the key-marker request parameter in a subsequent request.</p>
196    pub fn set_next_key_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
197        self.next_key_marker = input;
198        self
199    }
200    /// <p>When the number of responses exceeds the value of <code>MaxKeys</code>, <code>NextKeyMarker</code> specifies the first key not returned that satisfies the search criteria. Use this value for the key-marker request parameter in a subsequent request.</p>
201    pub fn get_next_key_marker(&self) -> &::std::option::Option<::std::string::String> {
202        &self.next_key_marker
203    }
204    /// <p>When the number of responses exceeds the value of <code>MaxKeys</code>, <code>NextVersionIdMarker</code> specifies the first object version not returned that satisfies the search criteria. Use this value for the <code>version-id-marker</code> request parameter in a subsequent request.</p>
205    pub fn next_version_id_marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
206        self.next_version_id_marker = ::std::option::Option::Some(input.into());
207        self
208    }
209    /// <p>When the number of responses exceeds the value of <code>MaxKeys</code>, <code>NextVersionIdMarker</code> specifies the first object version not returned that satisfies the search criteria. Use this value for the <code>version-id-marker</code> request parameter in a subsequent request.</p>
210    pub fn set_next_version_id_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
211        self.next_version_id_marker = input;
212        self
213    }
214    /// <p>When the number of responses exceeds the value of <code>MaxKeys</code>, <code>NextVersionIdMarker</code> specifies the first object version not returned that satisfies the search criteria. Use this value for the <code>version-id-marker</code> request parameter in a subsequent request.</p>
215    pub fn get_next_version_id_marker(&self) -> &::std::option::Option<::std::string::String> {
216        &self.next_version_id_marker
217    }
218    /// Appends an item to `versions`.
219    ///
220    /// To override the contents of this collection use [`set_versions`](Self::set_versions).
221    ///
222    /// <p>Container for version information.</p>
223    pub fn versions(mut self, input: crate::types::ObjectVersion) -> Self {
224        let mut v = self.versions.unwrap_or_default();
225        v.push(input);
226        self.versions = ::std::option::Option::Some(v);
227        self
228    }
229    /// <p>Container for version information.</p>
230    pub fn set_versions(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ObjectVersion>>) -> Self {
231        self.versions = input;
232        self
233    }
234    /// <p>Container for version information.</p>
235    pub fn get_versions(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ObjectVersion>> {
236        &self.versions
237    }
238    /// Appends an item to `delete_markers`.
239    ///
240    /// To override the contents of this collection use [`set_delete_markers`](Self::set_delete_markers).
241    ///
242    /// <p>Container for an object that is a delete marker. To learn more about delete markers, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeleteMarker.html">Working with delete markers</a>.</p>
243    pub fn delete_markers(mut self, input: crate::types::DeleteMarkerEntry) -> Self {
244        let mut v = self.delete_markers.unwrap_or_default();
245        v.push(input);
246        self.delete_markers = ::std::option::Option::Some(v);
247        self
248    }
249    /// <p>Container for an object that is a delete marker. To learn more about delete markers, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeleteMarker.html">Working with delete markers</a>.</p>
250    pub fn set_delete_markers(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::DeleteMarkerEntry>>) -> Self {
251        self.delete_markers = input;
252        self
253    }
254    /// <p>Container for an object that is a delete marker. To learn more about delete markers, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeleteMarker.html">Working with delete markers</a>.</p>
255    pub fn get_delete_markers(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::DeleteMarkerEntry>> {
256        &self.delete_markers
257    }
258    /// <p>The bucket name.</p>
259    pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
260        self.name = ::std::option::Option::Some(input.into());
261        self
262    }
263    /// <p>The bucket name.</p>
264    pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
265        self.name = input;
266        self
267    }
268    /// <p>The bucket name.</p>
269    pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
270        &self.name
271    }
272    /// <p>Selects objects that start with the value supplied by this parameter.</p>
273    pub fn prefix(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
274        self.prefix = ::std::option::Option::Some(input.into());
275        self
276    }
277    /// <p>Selects objects that start with the value supplied by this parameter.</p>
278    pub fn set_prefix(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
279        self.prefix = input;
280        self
281    }
282    /// <p>Selects objects that start with the value supplied by this parameter.</p>
283    pub fn get_prefix(&self) -> &::std::option::Option<::std::string::String> {
284        &self.prefix
285    }
286    /// <p>The delimiter grouping the included keys. A delimiter is a character that you specify to group keys. All keys that contain the same string between the prefix and the first occurrence of the delimiter are grouped under a single result element in <code>CommonPrefixes</code>. These groups are counted as one result against the <code>max-keys</code> limitation. These keys are not returned elsewhere in the response.</p>
287    pub fn delimiter(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
288        self.delimiter = ::std::option::Option::Some(input.into());
289        self
290    }
291    /// <p>The delimiter grouping the included keys. A delimiter is a character that you specify to group keys. All keys that contain the same string between the prefix and the first occurrence of the delimiter are grouped under a single result element in <code>CommonPrefixes</code>. These groups are counted as one result against the <code>max-keys</code> limitation. These keys are not returned elsewhere in the response.</p>
292    pub fn set_delimiter(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
293        self.delimiter = input;
294        self
295    }
296    /// <p>The delimiter grouping the included keys. A delimiter is a character that you specify to group keys. All keys that contain the same string between the prefix and the first occurrence of the delimiter are grouped under a single result element in <code>CommonPrefixes</code>. These groups are counted as one result against the <code>max-keys</code> limitation. These keys are not returned elsewhere in the response.</p>
297    pub fn get_delimiter(&self) -> &::std::option::Option<::std::string::String> {
298        &self.delimiter
299    }
300    /// <p>Specifies the maximum number of objects to return.</p>
301    pub fn max_keys(mut self, input: i32) -> Self {
302        self.max_keys = ::std::option::Option::Some(input);
303        self
304    }
305    /// <p>Specifies the maximum number of objects to return.</p>
306    pub fn set_max_keys(mut self, input: ::std::option::Option<i32>) -> Self {
307        self.max_keys = input;
308        self
309    }
310    /// <p>Specifies the maximum number of objects to return.</p>
311    pub fn get_max_keys(&self) -> &::std::option::Option<i32> {
312        &self.max_keys
313    }
314    /// Appends an item to `common_prefixes`.
315    ///
316    /// To override the contents of this collection use [`set_common_prefixes`](Self::set_common_prefixes).
317    ///
318    /// <p>All of the keys rolled up into a common prefix count as a single return when calculating the number of returns.</p>
319    pub fn common_prefixes(mut self, input: crate::types::CommonPrefix) -> Self {
320        let mut v = self.common_prefixes.unwrap_or_default();
321        v.push(input);
322        self.common_prefixes = ::std::option::Option::Some(v);
323        self
324    }
325    /// <p>All of the keys rolled up into a common prefix count as a single return when calculating the number of returns.</p>
326    pub fn set_common_prefixes(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::CommonPrefix>>) -> Self {
327        self.common_prefixes = input;
328        self
329    }
330    /// <p>All of the keys rolled up into a common prefix count as a single return when calculating the number of returns.</p>
331    pub fn get_common_prefixes(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::CommonPrefix>> {
332        &self.common_prefixes
333    }
334    /// <p>Encoding type used by Amazon S3 to encode object key names in the XML response.</p>
335    /// <p>If you specify the <code>encoding-type</code> request parameter, Amazon S3 includes this element in the response, and returns encoded key name values in the following response elements:</p>
336    /// <p><code>KeyMarker, NextKeyMarker, Prefix, Key</code>, and <code>Delimiter</code>.</p>
337    pub fn encoding_type(mut self, input: crate::types::EncodingType) -> Self {
338        self.encoding_type = ::std::option::Option::Some(input);
339        self
340    }
341    /// <p>Encoding type used by Amazon S3 to encode object key names in the XML response.</p>
342    /// <p>If you specify the <code>encoding-type</code> request parameter, Amazon S3 includes this element in the response, and returns encoded key name values in the following response elements:</p>
343    /// <p><code>KeyMarker, NextKeyMarker, Prefix, Key</code>, and <code>Delimiter</code>.</p>
344    pub fn set_encoding_type(mut self, input: ::std::option::Option<crate::types::EncodingType>) -> Self {
345        self.encoding_type = input;
346        self
347    }
348    /// <p>Encoding type used by Amazon S3 to encode object key names in the XML response.</p>
349    /// <p>If you specify the <code>encoding-type</code> request parameter, Amazon S3 includes this element in the response, and returns encoded key name values in the following response elements:</p>
350    /// <p><code>KeyMarker, NextKeyMarker, Prefix, Key</code>, and <code>Delimiter</code>.</p>
351    pub fn get_encoding_type(&self) -> &::std::option::Option<crate::types::EncodingType> {
352        &self.encoding_type
353    }
354    /// <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>
355    /// <p>This functionality is not supported for directory buckets.</p>
356    /// </note>
357    pub fn request_charged(mut self, input: crate::types::RequestCharged) -> Self {
358        self.request_charged = ::std::option::Option::Some(input);
359        self
360    }
361    /// <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>
362    /// <p>This functionality is not supported for directory buckets.</p>
363    /// </note>
364    pub fn set_request_charged(mut self, input: ::std::option::Option<crate::types::RequestCharged>) -> Self {
365        self.request_charged = input;
366        self
367    }
368    /// <p>If present, indicates that the requester was successfully charged for the request. For more information, see <a href="https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html">Using Requester Pays buckets for storage transfers and usage</a> in the <i>Amazon Simple Storage Service user guide</i>.</p><note>
369    /// <p>This functionality is not supported for directory buckets.</p>
370    /// </note>
371    pub fn get_request_charged(&self) -> &::std::option::Option<crate::types::RequestCharged> {
372        &self.request_charged
373    }
374    pub(crate) fn _extended_request_id(mut self, extended_request_id: impl Into<String>) -> Self {
375        self._extended_request_id = Some(extended_request_id.into());
376        self
377    }
378
379    pub(crate) fn _set_extended_request_id(&mut self, extended_request_id: Option<String>) -> &mut Self {
380        self._extended_request_id = extended_request_id;
381        self
382    }
383    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
384        self._request_id = Some(request_id.into());
385        self
386    }
387
388    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
389        self._request_id = request_id;
390        self
391    }
392    /// Consumes the builder and constructs a [`ListObjectVersionsOutput`](crate::operation::list_object_versions::ListObjectVersionsOutput).
393    pub fn build(self) -> crate::operation::list_object_versions::ListObjectVersionsOutput {
394        crate::operation::list_object_versions::ListObjectVersionsOutput {
395            is_truncated: self.is_truncated,
396            key_marker: self.key_marker,
397            version_id_marker: self.version_id_marker,
398            next_key_marker: self.next_key_marker,
399            next_version_id_marker: self.next_version_id_marker,
400            versions: self.versions,
401            delete_markers: self.delete_markers,
402            name: self.name,
403            prefix: self.prefix,
404            delimiter: self.delimiter,
405            max_keys: self.max_keys,
406            common_prefixes: self.common_prefixes,
407            encoding_type: self.encoding_type,
408            request_charged: self.request_charged,
409            _extended_request_id: self._extended_request_id,
410            _request_id: self._request_id,
411        }
412    }
413}