aws_sdk_elasticache/operation/describe_snapshots/_describe_snapshots_output.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Represents the output of a <code>DescribeSnapshots</code> operation.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct DescribeSnapshotsOutput {
7 /// <p>An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by <code>MaxRecords</code>.</p>
8 pub marker: ::std::option::Option<::std::string::String>,
9 /// <p>A list of snapshots. Each item in the list contains detailed information about one snapshot.</p>
10 pub snapshots: ::std::option::Option<::std::vec::Vec<crate::types::Snapshot>>,
11 _request_id: Option<String>,
12}
13impl DescribeSnapshotsOutput {
14 /// <p>An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by <code>MaxRecords</code>.</p>
15 pub fn marker(&self) -> ::std::option::Option<&str> {
16 self.marker.as_deref()
17 }
18 /// <p>A list of snapshots. Each item in the list contains detailed information about one snapshot.</p>
19 ///
20 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.snapshots.is_none()`.
21 pub fn snapshots(&self) -> &[crate::types::Snapshot] {
22 self.snapshots.as_deref().unwrap_or_default()
23 }
24}
25impl ::aws_types::request_id::RequestId for DescribeSnapshotsOutput {
26 fn request_id(&self) -> Option<&str> {
27 self._request_id.as_deref()
28 }
29}
30impl DescribeSnapshotsOutput {
31 /// Creates a new builder-style object to manufacture [`DescribeSnapshotsOutput`](crate::operation::describe_snapshots::DescribeSnapshotsOutput).
32 pub fn builder() -> crate::operation::describe_snapshots::builders::DescribeSnapshotsOutputBuilder {
33 crate::operation::describe_snapshots::builders::DescribeSnapshotsOutputBuilder::default()
34 }
35}
36
37/// A builder for [`DescribeSnapshotsOutput`](crate::operation::describe_snapshots::DescribeSnapshotsOutput).
38#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
39#[non_exhaustive]
40pub struct DescribeSnapshotsOutputBuilder {
41 pub(crate) marker: ::std::option::Option<::std::string::String>,
42 pub(crate) snapshots: ::std::option::Option<::std::vec::Vec<crate::types::Snapshot>>,
43 _request_id: Option<String>,
44}
45impl DescribeSnapshotsOutputBuilder {
46 /// <p>An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by <code>MaxRecords</code>.</p>
47 pub fn marker(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
48 self.marker = ::std::option::Option::Some(input.into());
49 self
50 }
51 /// <p>An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by <code>MaxRecords</code>.</p>
52 pub fn set_marker(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
53 self.marker = input;
54 self
55 }
56 /// <p>An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by <code>MaxRecords</code>.</p>
57 pub fn get_marker(&self) -> &::std::option::Option<::std::string::String> {
58 &self.marker
59 }
60 /// Appends an item to `snapshots`.
61 ///
62 /// To override the contents of this collection use [`set_snapshots`](Self::set_snapshots).
63 ///
64 /// <p>A list of snapshots. Each item in the list contains detailed information about one snapshot.</p>
65 pub fn snapshots(mut self, input: crate::types::Snapshot) -> Self {
66 let mut v = self.snapshots.unwrap_or_default();
67 v.push(input);
68 self.snapshots = ::std::option::Option::Some(v);
69 self
70 }
71 /// <p>A list of snapshots. Each item in the list contains detailed information about one snapshot.</p>
72 pub fn set_snapshots(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Snapshot>>) -> Self {
73 self.snapshots = input;
74 self
75 }
76 /// <p>A list of snapshots. Each item in the list contains detailed information about one snapshot.</p>
77 pub fn get_snapshots(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Snapshot>> {
78 &self.snapshots
79 }
80 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
81 self._request_id = Some(request_id.into());
82 self
83 }
84
85 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
86 self._request_id = request_id;
87 self
88 }
89 /// Consumes the builder and constructs a [`DescribeSnapshotsOutput`](crate::operation::describe_snapshots::DescribeSnapshotsOutput).
90 pub fn build(self) -> crate::operation::describe_snapshots::DescribeSnapshotsOutput {
91 crate::operation::describe_snapshots::DescribeSnapshotsOutput {
92 marker: self.marker,
93 snapshots: self.snapshots,
94 _request_id: self._request_id,
95 }
96 }
97}