aws_sdk_ec2/operation/describe_volumes/
_describe_volumes_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, ::std::fmt::Debug)]
5pub struct DescribeVolumesInput {
6    /// <p>The volume IDs. If not specified, then all volumes are included in the response.</p>
7    pub volume_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
8    /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
9    pub dry_run: ::std::option::Option<bool>,
10    /// <p>The filters.</p>
11    /// <ul>
12    /// <li>
13    /// <p><code>attachment.attach-time</code> - The time stamp when the attachment initiated.</p></li>
14    /// <li>
15    /// <p><code>attachment.delete-on-termination</code> - Whether the volume is deleted on instance termination.</p></li>
16    /// <li>
17    /// <p><code>attachment.device</code> - The device name specified in the block device mapping (for example, <code>/dev/sda1</code>).</p></li>
18    /// <li>
19    /// <p><code>attachment.instance-id</code> - The ID of the instance the volume is attached to.</p></li>
20    /// <li>
21    /// <p><code>attachment.status</code> - The attachment state (<code>attaching</code> | <code>attached</code> | <code>detaching</code>).</p></li>
22    /// <li>
23    /// <p><code>availability-zone</code> - The Availability Zone in which the volume was created.</p></li>
24    /// <li>
25    /// <p><code>availability-zone-id</code> - The ID of the Availability Zone in which the volume was created.</p></li>
26    /// <li>
27    /// <p><code>create-time</code> - The time stamp when the volume was created.</p></li>
28    /// <li>
29    /// <p><code>encrypted</code> - Indicates whether the volume is encrypted (<code>true</code> | <code>false</code>)</p></li>
30    /// <li>
31    /// <p><code>fast-restored</code> - Indicates whether the volume was created from a snapshot that is enabled for fast snapshot restore (<code>true</code> | <code>false</code>).</p></li>
32    /// <li>
33    /// <p><code>multi-attach-enabled</code> - Indicates whether the volume is enabled for Multi-Attach (<code>true</code> | <code>false</code>)</p></li>
34    /// <li>
35    /// <p><code>operator.managed</code> - A Boolean that indicates whether this is a managed volume.</p></li>
36    /// <li>
37    /// <p><code>operator.principal</code> - The principal that manages the volume. Only valid for managed volumes, where <code>managed</code> is <code>true</code>.</p></li>
38    /// <li>
39    /// <p><code>size</code> - The size of the volume, in GiB.</p></li>
40    /// <li>
41    /// <p><code>snapshot-id</code> - The snapshot from which the volume was created.</p></li>
42    /// <li>
43    /// <p><code>status</code> - The state of the volume (<code>creating</code> | <code>available</code> | <code>in-use</code> | <code>deleting</code> | <code>deleted</code> | <code>error</code>).</p></li>
44    /// <li>
45    /// <p><code>tag</code>:<key>
46    /// - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key
47    /// <code>Owner</code> and the value
48    /// <code>TeamA</code>, specify
49    /// <code>tag:Owner</code> for the filter name and
50    /// <code>TeamA</code> for the filter value.
51    /// </key></p></li>
52    /// <li>
53    /// <p><code>tag-key</code> - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.</p></li>
54    /// <li>
55    /// <p><code>volume-id</code> - The volume ID.</p></li>
56    /// <li>
57    /// <p><code>volume-type</code> - The Amazon EBS volume type (<code>gp2</code> | <code>gp3</code> | <code>io1</code> | <code>io2</code> | <code>st1</code> | <code>sc1</code>| <code>standard</code>)</p></li>
58    /// </ul>
59    pub filters: ::std::option::Option<::std::vec::Vec<crate::types::Filter>>,
60    /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
61    pub next_token: ::std::option::Option<::std::string::String>,
62    /// <p>The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
63    pub max_results: ::std::option::Option<i32>,
64}
65impl DescribeVolumesInput {
66    /// <p>The volume IDs. If not specified, then all volumes are included in the response.</p>
67    ///
68    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.volume_ids.is_none()`.
69    pub fn volume_ids(&self) -> &[::std::string::String] {
70        self.volume_ids.as_deref().unwrap_or_default()
71    }
72    /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
73    pub fn dry_run(&self) -> ::std::option::Option<bool> {
74        self.dry_run
75    }
76    /// <p>The filters.</p>
77    /// <ul>
78    /// <li>
79    /// <p><code>attachment.attach-time</code> - The time stamp when the attachment initiated.</p></li>
80    /// <li>
81    /// <p><code>attachment.delete-on-termination</code> - Whether the volume is deleted on instance termination.</p></li>
82    /// <li>
83    /// <p><code>attachment.device</code> - The device name specified in the block device mapping (for example, <code>/dev/sda1</code>).</p></li>
84    /// <li>
85    /// <p><code>attachment.instance-id</code> - The ID of the instance the volume is attached to.</p></li>
86    /// <li>
87    /// <p><code>attachment.status</code> - The attachment state (<code>attaching</code> | <code>attached</code> | <code>detaching</code>).</p></li>
88    /// <li>
89    /// <p><code>availability-zone</code> - The Availability Zone in which the volume was created.</p></li>
90    /// <li>
91    /// <p><code>availability-zone-id</code> - The ID of the Availability Zone in which the volume was created.</p></li>
92    /// <li>
93    /// <p><code>create-time</code> - The time stamp when the volume was created.</p></li>
94    /// <li>
95    /// <p><code>encrypted</code> - Indicates whether the volume is encrypted (<code>true</code> | <code>false</code>)</p></li>
96    /// <li>
97    /// <p><code>fast-restored</code> - Indicates whether the volume was created from a snapshot that is enabled for fast snapshot restore (<code>true</code> | <code>false</code>).</p></li>
98    /// <li>
99    /// <p><code>multi-attach-enabled</code> - Indicates whether the volume is enabled for Multi-Attach (<code>true</code> | <code>false</code>)</p></li>
100    /// <li>
101    /// <p><code>operator.managed</code> - A Boolean that indicates whether this is a managed volume.</p></li>
102    /// <li>
103    /// <p><code>operator.principal</code> - The principal that manages the volume. Only valid for managed volumes, where <code>managed</code> is <code>true</code>.</p></li>
104    /// <li>
105    /// <p><code>size</code> - The size of the volume, in GiB.</p></li>
106    /// <li>
107    /// <p><code>snapshot-id</code> - The snapshot from which the volume was created.</p></li>
108    /// <li>
109    /// <p><code>status</code> - The state of the volume (<code>creating</code> | <code>available</code> | <code>in-use</code> | <code>deleting</code> | <code>deleted</code> | <code>error</code>).</p></li>
110    /// <li>
111    /// <p><code>tag</code>:<key>
112    /// - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key
113    /// <code>Owner</code> and the value
114    /// <code>TeamA</code>, specify
115    /// <code>tag:Owner</code> for the filter name and
116    /// <code>TeamA</code> for the filter value.
117    /// </key></p></li>
118    /// <li>
119    /// <p><code>tag-key</code> - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.</p></li>
120    /// <li>
121    /// <p><code>volume-id</code> - The volume ID.</p></li>
122    /// <li>
123    /// <p><code>volume-type</code> - The Amazon EBS volume type (<code>gp2</code> | <code>gp3</code> | <code>io1</code> | <code>io2</code> | <code>st1</code> | <code>sc1</code>| <code>standard</code>)</p></li>
124    /// </ul>
125    ///
126    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.filters.is_none()`.
127    pub fn filters(&self) -> &[crate::types::Filter] {
128        self.filters.as_deref().unwrap_or_default()
129    }
130    /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
131    pub fn next_token(&self) -> ::std::option::Option<&str> {
132        self.next_token.as_deref()
133    }
134    /// <p>The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
135    pub fn max_results(&self) -> ::std::option::Option<i32> {
136        self.max_results
137    }
138}
139impl DescribeVolumesInput {
140    /// Creates a new builder-style object to manufacture [`DescribeVolumesInput`](crate::operation::describe_volumes::DescribeVolumesInput).
141    pub fn builder() -> crate::operation::describe_volumes::builders::DescribeVolumesInputBuilder {
142        crate::operation::describe_volumes::builders::DescribeVolumesInputBuilder::default()
143    }
144}
145
146/// A builder for [`DescribeVolumesInput`](crate::operation::describe_volumes::DescribeVolumesInput).
147#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
148#[non_exhaustive]
149pub struct DescribeVolumesInputBuilder {
150    pub(crate) volume_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
151    pub(crate) dry_run: ::std::option::Option<bool>,
152    pub(crate) filters: ::std::option::Option<::std::vec::Vec<crate::types::Filter>>,
153    pub(crate) next_token: ::std::option::Option<::std::string::String>,
154    pub(crate) max_results: ::std::option::Option<i32>,
155}
156impl DescribeVolumesInputBuilder {
157    /// Appends an item to `volume_ids`.
158    ///
159    /// To override the contents of this collection use [`set_volume_ids`](Self::set_volume_ids).
160    ///
161    /// <p>The volume IDs. If not specified, then all volumes are included in the response.</p>
162    pub fn volume_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
163        let mut v = self.volume_ids.unwrap_or_default();
164        v.push(input.into());
165        self.volume_ids = ::std::option::Option::Some(v);
166        self
167    }
168    /// <p>The volume IDs. If not specified, then all volumes are included in the response.</p>
169    pub fn set_volume_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
170        self.volume_ids = input;
171        self
172    }
173    /// <p>The volume IDs. If not specified, then all volumes are included in the response.</p>
174    pub fn get_volume_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
175        &self.volume_ids
176    }
177    /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
178    pub fn dry_run(mut self, input: bool) -> Self {
179        self.dry_run = ::std::option::Option::Some(input);
180        self
181    }
182    /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
183    pub fn set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
184        self.dry_run = input;
185        self
186    }
187    /// <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
188    pub fn get_dry_run(&self) -> &::std::option::Option<bool> {
189        &self.dry_run
190    }
191    /// Appends an item to `filters`.
192    ///
193    /// To override the contents of this collection use [`set_filters`](Self::set_filters).
194    ///
195    /// <p>The filters.</p>
196    /// <ul>
197    /// <li>
198    /// <p><code>attachment.attach-time</code> - The time stamp when the attachment initiated.</p></li>
199    /// <li>
200    /// <p><code>attachment.delete-on-termination</code> - Whether the volume is deleted on instance termination.</p></li>
201    /// <li>
202    /// <p><code>attachment.device</code> - The device name specified in the block device mapping (for example, <code>/dev/sda1</code>).</p></li>
203    /// <li>
204    /// <p><code>attachment.instance-id</code> - The ID of the instance the volume is attached to.</p></li>
205    /// <li>
206    /// <p><code>attachment.status</code> - The attachment state (<code>attaching</code> | <code>attached</code> | <code>detaching</code>).</p></li>
207    /// <li>
208    /// <p><code>availability-zone</code> - The Availability Zone in which the volume was created.</p></li>
209    /// <li>
210    /// <p><code>availability-zone-id</code> - The ID of the Availability Zone in which the volume was created.</p></li>
211    /// <li>
212    /// <p><code>create-time</code> - The time stamp when the volume was created.</p></li>
213    /// <li>
214    /// <p><code>encrypted</code> - Indicates whether the volume is encrypted (<code>true</code> | <code>false</code>)</p></li>
215    /// <li>
216    /// <p><code>fast-restored</code> - Indicates whether the volume was created from a snapshot that is enabled for fast snapshot restore (<code>true</code> | <code>false</code>).</p></li>
217    /// <li>
218    /// <p><code>multi-attach-enabled</code> - Indicates whether the volume is enabled for Multi-Attach (<code>true</code> | <code>false</code>)</p></li>
219    /// <li>
220    /// <p><code>operator.managed</code> - A Boolean that indicates whether this is a managed volume.</p></li>
221    /// <li>
222    /// <p><code>operator.principal</code> - The principal that manages the volume. Only valid for managed volumes, where <code>managed</code> is <code>true</code>.</p></li>
223    /// <li>
224    /// <p><code>size</code> - The size of the volume, in GiB.</p></li>
225    /// <li>
226    /// <p><code>snapshot-id</code> - The snapshot from which the volume was created.</p></li>
227    /// <li>
228    /// <p><code>status</code> - The state of the volume (<code>creating</code> | <code>available</code> | <code>in-use</code> | <code>deleting</code> | <code>deleted</code> | <code>error</code>).</p></li>
229    /// <li>
230    /// <p><code>tag</code>:<key>
231    /// - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key
232    /// <code>Owner</code> and the value
233    /// <code>TeamA</code>, specify
234    /// <code>tag:Owner</code> for the filter name and
235    /// <code>TeamA</code> for the filter value.
236    /// </key></p></li>
237    /// <li>
238    /// <p><code>tag-key</code> - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.</p></li>
239    /// <li>
240    /// <p><code>volume-id</code> - The volume ID.</p></li>
241    /// <li>
242    /// <p><code>volume-type</code> - The Amazon EBS volume type (<code>gp2</code> | <code>gp3</code> | <code>io1</code> | <code>io2</code> | <code>st1</code> | <code>sc1</code>| <code>standard</code>)</p></li>
243    /// </ul>
244    pub fn filters(mut self, input: crate::types::Filter) -> Self {
245        let mut v = self.filters.unwrap_or_default();
246        v.push(input);
247        self.filters = ::std::option::Option::Some(v);
248        self
249    }
250    /// <p>The filters.</p>
251    /// <ul>
252    /// <li>
253    /// <p><code>attachment.attach-time</code> - The time stamp when the attachment initiated.</p></li>
254    /// <li>
255    /// <p><code>attachment.delete-on-termination</code> - Whether the volume is deleted on instance termination.</p></li>
256    /// <li>
257    /// <p><code>attachment.device</code> - The device name specified in the block device mapping (for example, <code>/dev/sda1</code>).</p></li>
258    /// <li>
259    /// <p><code>attachment.instance-id</code> - The ID of the instance the volume is attached to.</p></li>
260    /// <li>
261    /// <p><code>attachment.status</code> - The attachment state (<code>attaching</code> | <code>attached</code> | <code>detaching</code>).</p></li>
262    /// <li>
263    /// <p><code>availability-zone</code> - The Availability Zone in which the volume was created.</p></li>
264    /// <li>
265    /// <p><code>availability-zone-id</code> - The ID of the Availability Zone in which the volume was created.</p></li>
266    /// <li>
267    /// <p><code>create-time</code> - The time stamp when the volume was created.</p></li>
268    /// <li>
269    /// <p><code>encrypted</code> - Indicates whether the volume is encrypted (<code>true</code> | <code>false</code>)</p></li>
270    /// <li>
271    /// <p><code>fast-restored</code> - Indicates whether the volume was created from a snapshot that is enabled for fast snapshot restore (<code>true</code> | <code>false</code>).</p></li>
272    /// <li>
273    /// <p><code>multi-attach-enabled</code> - Indicates whether the volume is enabled for Multi-Attach (<code>true</code> | <code>false</code>)</p></li>
274    /// <li>
275    /// <p><code>operator.managed</code> - A Boolean that indicates whether this is a managed volume.</p></li>
276    /// <li>
277    /// <p><code>operator.principal</code> - The principal that manages the volume. Only valid for managed volumes, where <code>managed</code> is <code>true</code>.</p></li>
278    /// <li>
279    /// <p><code>size</code> - The size of the volume, in GiB.</p></li>
280    /// <li>
281    /// <p><code>snapshot-id</code> - The snapshot from which the volume was created.</p></li>
282    /// <li>
283    /// <p><code>status</code> - The state of the volume (<code>creating</code> | <code>available</code> | <code>in-use</code> | <code>deleting</code> | <code>deleted</code> | <code>error</code>).</p></li>
284    /// <li>
285    /// <p><code>tag</code>:<key>
286    /// - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key
287    /// <code>Owner</code> and the value
288    /// <code>TeamA</code>, specify
289    /// <code>tag:Owner</code> for the filter name and
290    /// <code>TeamA</code> for the filter value.
291    /// </key></p></li>
292    /// <li>
293    /// <p><code>tag-key</code> - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.</p></li>
294    /// <li>
295    /// <p><code>volume-id</code> - The volume ID.</p></li>
296    /// <li>
297    /// <p><code>volume-type</code> - The Amazon EBS volume type (<code>gp2</code> | <code>gp3</code> | <code>io1</code> | <code>io2</code> | <code>st1</code> | <code>sc1</code>| <code>standard</code>)</p></li>
298    /// </ul>
299    pub fn set_filters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Filter>>) -> Self {
300        self.filters = input;
301        self
302    }
303    /// <p>The filters.</p>
304    /// <ul>
305    /// <li>
306    /// <p><code>attachment.attach-time</code> - The time stamp when the attachment initiated.</p></li>
307    /// <li>
308    /// <p><code>attachment.delete-on-termination</code> - Whether the volume is deleted on instance termination.</p></li>
309    /// <li>
310    /// <p><code>attachment.device</code> - The device name specified in the block device mapping (for example, <code>/dev/sda1</code>).</p></li>
311    /// <li>
312    /// <p><code>attachment.instance-id</code> - The ID of the instance the volume is attached to.</p></li>
313    /// <li>
314    /// <p><code>attachment.status</code> - The attachment state (<code>attaching</code> | <code>attached</code> | <code>detaching</code>).</p></li>
315    /// <li>
316    /// <p><code>availability-zone</code> - The Availability Zone in which the volume was created.</p></li>
317    /// <li>
318    /// <p><code>availability-zone-id</code> - The ID of the Availability Zone in which the volume was created.</p></li>
319    /// <li>
320    /// <p><code>create-time</code> - The time stamp when the volume was created.</p></li>
321    /// <li>
322    /// <p><code>encrypted</code> - Indicates whether the volume is encrypted (<code>true</code> | <code>false</code>)</p></li>
323    /// <li>
324    /// <p><code>fast-restored</code> - Indicates whether the volume was created from a snapshot that is enabled for fast snapshot restore (<code>true</code> | <code>false</code>).</p></li>
325    /// <li>
326    /// <p><code>multi-attach-enabled</code> - Indicates whether the volume is enabled for Multi-Attach (<code>true</code> | <code>false</code>)</p></li>
327    /// <li>
328    /// <p><code>operator.managed</code> - A Boolean that indicates whether this is a managed volume.</p></li>
329    /// <li>
330    /// <p><code>operator.principal</code> - The principal that manages the volume. Only valid for managed volumes, where <code>managed</code> is <code>true</code>.</p></li>
331    /// <li>
332    /// <p><code>size</code> - The size of the volume, in GiB.</p></li>
333    /// <li>
334    /// <p><code>snapshot-id</code> - The snapshot from which the volume was created.</p></li>
335    /// <li>
336    /// <p><code>status</code> - The state of the volume (<code>creating</code> | <code>available</code> | <code>in-use</code> | <code>deleting</code> | <code>deleted</code> | <code>error</code>).</p></li>
337    /// <li>
338    /// <p><code>tag</code>:<key>
339    /// - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key
340    /// <code>Owner</code> and the value
341    /// <code>TeamA</code>, specify
342    /// <code>tag:Owner</code> for the filter name and
343    /// <code>TeamA</code> for the filter value.
344    /// </key></p></li>
345    /// <li>
346    /// <p><code>tag-key</code> - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.</p></li>
347    /// <li>
348    /// <p><code>volume-id</code> - The volume ID.</p></li>
349    /// <li>
350    /// <p><code>volume-type</code> - The Amazon EBS volume type (<code>gp2</code> | <code>gp3</code> | <code>io1</code> | <code>io2</code> | <code>st1</code> | <code>sc1</code>| <code>standard</code>)</p></li>
351    /// </ul>
352    pub fn get_filters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Filter>> {
353        &self.filters
354    }
355    /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
356    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
357        self.next_token = ::std::option::Option::Some(input.into());
358        self
359    }
360    /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
361    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
362        self.next_token = input;
363        self
364    }
365    /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
366    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
367        &self.next_token
368    }
369    /// <p>The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
370    pub fn max_results(mut self, input: i32) -> Self {
371        self.max_results = ::std::option::Option::Some(input);
372        self
373    }
374    /// <p>The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
375    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
376        self.max_results = input;
377        self
378    }
379    /// <p>The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
380    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
381        &self.max_results
382    }
383    /// Consumes the builder and constructs a [`DescribeVolumesInput`](crate::operation::describe_volumes::DescribeVolumesInput).
384    pub fn build(
385        self,
386    ) -> ::std::result::Result<crate::operation::describe_volumes::DescribeVolumesInput, ::aws_smithy_types::error::operation::BuildError> {
387        ::std::result::Result::Ok(crate::operation::describe_volumes::DescribeVolumesInput {
388            volume_ids: self.volume_ids,
389            dry_run: self.dry_run,
390            filters: self.filters,
391            next_token: self.next_token,
392            max_results: self.max_results,
393        })
394    }
395}