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