aws_sdk_ec2/operation/describe_snapshots/
_describe_snapshots_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 DescribeSnapshotsInput {
6    /// <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>
7    pub max_results: ::std::option::Option<i32>,
8    /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
9    pub next_token: ::std::option::Option<::std::string::String>,
10    /// <p>Scopes the results to snapshots with the specified owners. You can specify a combination of Amazon Web Services account IDs, <code>self</code>, and <code>amazon</code>.</p>
11    pub owner_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
12    /// <p>The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.</p>
13    pub restorable_by_user_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
14    /// <p>The snapshot IDs.</p>
15    /// <p>Default: Describes the snapshots for which you have create volume permissions.</p>
16    pub snapshot_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
17    /// <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>
18    pub dry_run: ::std::option::Option<bool>,
19    /// <p>The filters.</p>
20    /// <ul>
21    /// <li>
22    /// <p><code>description</code> - A description of the snapshot.</p></li>
23    /// <li>
24    /// <p><code>encrypted</code> - Indicates whether the snapshot is encrypted (<code>true</code> | <code>false</code>)</p></li>
25    /// <li>
26    /// <p><code>owner-alias</code> - The owner alias, from an Amazon-maintained list (<code>amazon</code>). This is not the user-configured Amazon Web Services account alias set using the IAM console. We recommend that you use the related parameter instead of this filter.</p></li>
27    /// <li>
28    /// <p><code>owner-id</code> - The Amazon Web Services account ID of the owner. We recommend that you use the related parameter instead of this filter.</p></li>
29    /// <li>
30    /// <p><code>progress</code> - The progress of the snapshot, as a percentage (for example, 80%).</p></li>
31    /// <li>
32    /// <p><code>snapshot-id</code> - The snapshot ID.</p></li>
33    /// <li>
34    /// <p><code>start-time</code> - The time stamp when the snapshot was initiated.</p></li>
35    /// <li>
36    /// <p><code>status</code> - The status of the snapshot (<code>pending</code> | <code>completed</code> | <code>error</code>).</p></li>
37    /// <li>
38    /// <p><code>storage-tier</code> - The storage tier of the snapshot (<code>archive</code> | <code>standard</code>).</p></li>
39    /// <li>
40    /// <p><code>transfer-type</code> - The type of operation used to create the snapshot (<code>time-based</code> | <code>standard</code>).</p></li>
41    /// <li>
42    /// <p><code>tag</code>:<key>
43    /// - 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
44    /// <code>Owner</code> and the value
45    /// <code>TeamA</code>, specify
46    /// <code>tag:Owner</code> for the filter name and
47    /// <code>TeamA</code> for the filter value.
48    /// </key></p></li>
49    /// <li>
50    /// <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>
51    /// <li>
52    /// <p><code>volume-id</code> - The ID of the volume the snapshot is for.</p></li>
53    /// <li>
54    /// <p><code>volume-size</code> - The size of the volume, in GiB.</p></li>
55    /// </ul>
56    pub filters: ::std::option::Option<::std::vec::Vec<crate::types::Filter>>,
57}
58impl DescribeSnapshotsInput {
59    /// <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>
60    pub fn max_results(&self) -> ::std::option::Option<i32> {
61        self.max_results
62    }
63    /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
64    pub fn next_token(&self) -> ::std::option::Option<&str> {
65        self.next_token.as_deref()
66    }
67    /// <p>Scopes the results to snapshots with the specified owners. You can specify a combination of Amazon Web Services account IDs, <code>self</code>, and <code>amazon</code>.</p>
68    ///
69    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.owner_ids.is_none()`.
70    pub fn owner_ids(&self) -> &[::std::string::String] {
71        self.owner_ids.as_deref().unwrap_or_default()
72    }
73    /// <p>The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.</p>
74    ///
75    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.restorable_by_user_ids.is_none()`.
76    pub fn restorable_by_user_ids(&self) -> &[::std::string::String] {
77        self.restorable_by_user_ids.as_deref().unwrap_or_default()
78    }
79    /// <p>The snapshot IDs.</p>
80    /// <p>Default: Describes the snapshots for which you have create volume permissions.</p>
81    ///
82    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.snapshot_ids.is_none()`.
83    pub fn snapshot_ids(&self) -> &[::std::string::String] {
84        self.snapshot_ids.as_deref().unwrap_or_default()
85    }
86    /// <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>
87    pub fn dry_run(&self) -> ::std::option::Option<bool> {
88        self.dry_run
89    }
90    /// <p>The filters.</p>
91    /// <ul>
92    /// <li>
93    /// <p><code>description</code> - A description of the snapshot.</p></li>
94    /// <li>
95    /// <p><code>encrypted</code> - Indicates whether the snapshot is encrypted (<code>true</code> | <code>false</code>)</p></li>
96    /// <li>
97    /// <p><code>owner-alias</code> - The owner alias, from an Amazon-maintained list (<code>amazon</code>). This is not the user-configured Amazon Web Services account alias set using the IAM console. We recommend that you use the related parameter instead of this filter.</p></li>
98    /// <li>
99    /// <p><code>owner-id</code> - The Amazon Web Services account ID of the owner. We recommend that you use the related parameter instead of this filter.</p></li>
100    /// <li>
101    /// <p><code>progress</code> - The progress of the snapshot, as a percentage (for example, 80%).</p></li>
102    /// <li>
103    /// <p><code>snapshot-id</code> - The snapshot ID.</p></li>
104    /// <li>
105    /// <p><code>start-time</code> - The time stamp when the snapshot was initiated.</p></li>
106    /// <li>
107    /// <p><code>status</code> - The status of the snapshot (<code>pending</code> | <code>completed</code> | <code>error</code>).</p></li>
108    /// <li>
109    /// <p><code>storage-tier</code> - The storage tier of the snapshot (<code>archive</code> | <code>standard</code>).</p></li>
110    /// <li>
111    /// <p><code>transfer-type</code> - The type of operation used to create the snapshot (<code>time-based</code> | <code>standard</code>).</p></li>
112    /// <li>
113    /// <p><code>tag</code>:<key>
114    /// - 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
115    /// <code>Owner</code> and the value
116    /// <code>TeamA</code>, specify
117    /// <code>tag:Owner</code> for the filter name and
118    /// <code>TeamA</code> for the filter value.
119    /// </key></p></li>
120    /// <li>
121    /// <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>
122    /// <li>
123    /// <p><code>volume-id</code> - The ID of the volume the snapshot is for.</p></li>
124    /// <li>
125    /// <p><code>volume-size</code> - The size of the volume, in GiB.</p></li>
126    /// </ul>
127    ///
128    /// 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()`.
129    pub fn filters(&self) -> &[crate::types::Filter] {
130        self.filters.as_deref().unwrap_or_default()
131    }
132}
133impl DescribeSnapshotsInput {
134    /// Creates a new builder-style object to manufacture [`DescribeSnapshotsInput`](crate::operation::describe_snapshots::DescribeSnapshotsInput).
135    pub fn builder() -> crate::operation::describe_snapshots::builders::DescribeSnapshotsInputBuilder {
136        crate::operation::describe_snapshots::builders::DescribeSnapshotsInputBuilder::default()
137    }
138}
139
140/// A builder for [`DescribeSnapshotsInput`](crate::operation::describe_snapshots::DescribeSnapshotsInput).
141#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
142#[non_exhaustive]
143pub struct DescribeSnapshotsInputBuilder {
144    pub(crate) max_results: ::std::option::Option<i32>,
145    pub(crate) next_token: ::std::option::Option<::std::string::String>,
146    pub(crate) owner_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
147    pub(crate) restorable_by_user_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
148    pub(crate) snapshot_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
149    pub(crate) dry_run: ::std::option::Option<bool>,
150    pub(crate) filters: ::std::option::Option<::std::vec::Vec<crate::types::Filter>>,
151}
152impl DescribeSnapshotsInputBuilder {
153    /// <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>
154    pub fn max_results(mut self, input: i32) -> Self {
155        self.max_results = ::std::option::Option::Some(input);
156        self
157    }
158    /// <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>
159    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
160        self.max_results = input;
161        self
162    }
163    /// <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>
164    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
165        &self.max_results
166    }
167    /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
168    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
169        self.next_token = ::std::option::Option::Some(input.into());
170        self
171    }
172    /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
173    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
174        self.next_token = input;
175        self
176    }
177    /// <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
178    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
179        &self.next_token
180    }
181    /// Appends an item to `owner_ids`.
182    ///
183    /// To override the contents of this collection use [`set_owner_ids`](Self::set_owner_ids).
184    ///
185    /// <p>Scopes the results to snapshots with the specified owners. You can specify a combination of Amazon Web Services account IDs, <code>self</code>, and <code>amazon</code>.</p>
186    pub fn owner_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
187        let mut v = self.owner_ids.unwrap_or_default();
188        v.push(input.into());
189        self.owner_ids = ::std::option::Option::Some(v);
190        self
191    }
192    /// <p>Scopes the results to snapshots with the specified owners. You can specify a combination of Amazon Web Services account IDs, <code>self</code>, and <code>amazon</code>.</p>
193    pub fn set_owner_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
194        self.owner_ids = input;
195        self
196    }
197    /// <p>Scopes the results to snapshots with the specified owners. You can specify a combination of Amazon Web Services account IDs, <code>self</code>, and <code>amazon</code>.</p>
198    pub fn get_owner_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
199        &self.owner_ids
200    }
201    /// Appends an item to `restorable_by_user_ids`.
202    ///
203    /// To override the contents of this collection use [`set_restorable_by_user_ids`](Self::set_restorable_by_user_ids).
204    ///
205    /// <p>The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.</p>
206    pub fn restorable_by_user_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
207        let mut v = self.restorable_by_user_ids.unwrap_or_default();
208        v.push(input.into());
209        self.restorable_by_user_ids = ::std::option::Option::Some(v);
210        self
211    }
212    /// <p>The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.</p>
213    pub fn set_restorable_by_user_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
214        self.restorable_by_user_ids = input;
215        self
216    }
217    /// <p>The IDs of the Amazon Web Services accounts that can create volumes from the snapshot.</p>
218    pub fn get_restorable_by_user_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
219        &self.restorable_by_user_ids
220    }
221    /// Appends an item to `snapshot_ids`.
222    ///
223    /// To override the contents of this collection use [`set_snapshot_ids`](Self::set_snapshot_ids).
224    ///
225    /// <p>The snapshot IDs.</p>
226    /// <p>Default: Describes the snapshots for which you have create volume permissions.</p>
227    pub fn snapshot_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
228        let mut v = self.snapshot_ids.unwrap_or_default();
229        v.push(input.into());
230        self.snapshot_ids = ::std::option::Option::Some(v);
231        self
232    }
233    /// <p>The snapshot IDs.</p>
234    /// <p>Default: Describes the snapshots for which you have create volume permissions.</p>
235    pub fn set_snapshot_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
236        self.snapshot_ids = input;
237        self
238    }
239    /// <p>The snapshot IDs.</p>
240    /// <p>Default: Describes the snapshots for which you have create volume permissions.</p>
241    pub fn get_snapshot_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
242        &self.snapshot_ids
243    }
244    /// <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>
245    pub fn dry_run(mut self, input: bool) -> Self {
246        self.dry_run = ::std::option::Option::Some(input);
247        self
248    }
249    /// <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>
250    pub fn set_dry_run(mut self, input: ::std::option::Option<bool>) -> Self {
251        self.dry_run = input;
252        self
253    }
254    /// <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>
255    pub fn get_dry_run(&self) -> &::std::option::Option<bool> {
256        &self.dry_run
257    }
258    /// Appends an item to `filters`.
259    ///
260    /// To override the contents of this collection use [`set_filters`](Self::set_filters).
261    ///
262    /// <p>The filters.</p>
263    /// <ul>
264    /// <li>
265    /// <p><code>description</code> - A description of the snapshot.</p></li>
266    /// <li>
267    /// <p><code>encrypted</code> - Indicates whether the snapshot is encrypted (<code>true</code> | <code>false</code>)</p></li>
268    /// <li>
269    /// <p><code>owner-alias</code> - The owner alias, from an Amazon-maintained list (<code>amazon</code>). This is not the user-configured Amazon Web Services account alias set using the IAM console. We recommend that you use the related parameter instead of this filter.</p></li>
270    /// <li>
271    /// <p><code>owner-id</code> - The Amazon Web Services account ID of the owner. We recommend that you use the related parameter instead of this filter.</p></li>
272    /// <li>
273    /// <p><code>progress</code> - The progress of the snapshot, as a percentage (for example, 80%).</p></li>
274    /// <li>
275    /// <p><code>snapshot-id</code> - The snapshot ID.</p></li>
276    /// <li>
277    /// <p><code>start-time</code> - The time stamp when the snapshot was initiated.</p></li>
278    /// <li>
279    /// <p><code>status</code> - The status of the snapshot (<code>pending</code> | <code>completed</code> | <code>error</code>).</p></li>
280    /// <li>
281    /// <p><code>storage-tier</code> - The storage tier of the snapshot (<code>archive</code> | <code>standard</code>).</p></li>
282    /// <li>
283    /// <p><code>transfer-type</code> - The type of operation used to create the snapshot (<code>time-based</code> | <code>standard</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 ID of the volume the snapshot is for.</p></li>
296    /// <li>
297    /// <p><code>volume-size</code> - The size of the volume, in GiB.</p></li>
298    /// </ul>
299    pub fn filters(mut self, input: crate::types::Filter) -> Self {
300        let mut v = self.filters.unwrap_or_default();
301        v.push(input);
302        self.filters = ::std::option::Option::Some(v);
303        self
304    }
305    /// <p>The filters.</p>
306    /// <ul>
307    /// <li>
308    /// <p><code>description</code> - A description of the snapshot.</p></li>
309    /// <li>
310    /// <p><code>encrypted</code> - Indicates whether the snapshot is encrypted (<code>true</code> | <code>false</code>)</p></li>
311    /// <li>
312    /// <p><code>owner-alias</code> - The owner alias, from an Amazon-maintained list (<code>amazon</code>). This is not the user-configured Amazon Web Services account alias set using the IAM console. We recommend that you use the related parameter instead of this filter.</p></li>
313    /// <li>
314    /// <p><code>owner-id</code> - The Amazon Web Services account ID of the owner. We recommend that you use the related parameter instead of this filter.</p></li>
315    /// <li>
316    /// <p><code>progress</code> - The progress of the snapshot, as a percentage (for example, 80%).</p></li>
317    /// <li>
318    /// <p><code>snapshot-id</code> - The snapshot ID.</p></li>
319    /// <li>
320    /// <p><code>start-time</code> - The time stamp when the snapshot was initiated.</p></li>
321    /// <li>
322    /// <p><code>status</code> - The status of the snapshot (<code>pending</code> | <code>completed</code> | <code>error</code>).</p></li>
323    /// <li>
324    /// <p><code>storage-tier</code> - The storage tier of the snapshot (<code>archive</code> | <code>standard</code>).</p></li>
325    /// <li>
326    /// <p><code>transfer-type</code> - The type of operation used to create the snapshot (<code>time-based</code> | <code>standard</code>).</p></li>
327    /// <li>
328    /// <p><code>tag</code>:<key>
329    /// - 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
330    /// <code>Owner</code> and the value
331    /// <code>TeamA</code>, specify
332    /// <code>tag:Owner</code> for the filter name and
333    /// <code>TeamA</code> for the filter value.
334    /// </key></p></li>
335    /// <li>
336    /// <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>
337    /// <li>
338    /// <p><code>volume-id</code> - The ID of the volume the snapshot is for.</p></li>
339    /// <li>
340    /// <p><code>volume-size</code> - The size of the volume, in GiB.</p></li>
341    /// </ul>
342    pub fn set_filters(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Filter>>) -> Self {
343        self.filters = input;
344        self
345    }
346    /// <p>The filters.</p>
347    /// <ul>
348    /// <li>
349    /// <p><code>description</code> - A description of the snapshot.</p></li>
350    /// <li>
351    /// <p><code>encrypted</code> - Indicates whether the snapshot is encrypted (<code>true</code> | <code>false</code>)</p></li>
352    /// <li>
353    /// <p><code>owner-alias</code> - The owner alias, from an Amazon-maintained list (<code>amazon</code>). This is not the user-configured Amazon Web Services account alias set using the IAM console. We recommend that you use the related parameter instead of this filter.</p></li>
354    /// <li>
355    /// <p><code>owner-id</code> - The Amazon Web Services account ID of the owner. We recommend that you use the related parameter instead of this filter.</p></li>
356    /// <li>
357    /// <p><code>progress</code> - The progress of the snapshot, as a percentage (for example, 80%).</p></li>
358    /// <li>
359    /// <p><code>snapshot-id</code> - The snapshot ID.</p></li>
360    /// <li>
361    /// <p><code>start-time</code> - The time stamp when the snapshot was initiated.</p></li>
362    /// <li>
363    /// <p><code>status</code> - The status of the snapshot (<code>pending</code> | <code>completed</code> | <code>error</code>).</p></li>
364    /// <li>
365    /// <p><code>storage-tier</code> - The storage tier of the snapshot (<code>archive</code> | <code>standard</code>).</p></li>
366    /// <li>
367    /// <p><code>transfer-type</code> - The type of operation used to create the snapshot (<code>time-based</code> | <code>standard</code>).</p></li>
368    /// <li>
369    /// <p><code>tag</code>:<key>
370    /// - 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
371    /// <code>Owner</code> and the value
372    /// <code>TeamA</code>, specify
373    /// <code>tag:Owner</code> for the filter name and
374    /// <code>TeamA</code> for the filter value.
375    /// </key></p></li>
376    /// <li>
377    /// <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>
378    /// <li>
379    /// <p><code>volume-id</code> - The ID of the volume the snapshot is for.</p></li>
380    /// <li>
381    /// <p><code>volume-size</code> - The size of the volume, in GiB.</p></li>
382    /// </ul>
383    pub fn get_filters(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Filter>> {
384        &self.filters
385    }
386    /// Consumes the builder and constructs a [`DescribeSnapshotsInput`](crate::operation::describe_snapshots::DescribeSnapshotsInput).
387    pub fn build(
388        self,
389    ) -> ::std::result::Result<crate::operation::describe_snapshots::DescribeSnapshotsInput, ::aws_smithy_types::error::operation::BuildError> {
390        ::std::result::Result::Ok(crate::operation::describe_snapshots::DescribeSnapshotsInput {
391            max_results: self.max_results,
392            next_token: self.next_token,
393            owner_ids: self.owner_ids,
394            restorable_by_user_ids: self.restorable_by_user_ids,
395            snapshot_ids: self.snapshot_ids,
396            dry_run: self.dry_run,
397            filters: self.filters,
398        })
399    }
400}