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
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.

/// <p>Represents the output of a <code>DescribeStream</code> operation.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct DescribeStreamOutput {
    /// <p>A complete description of the stream, including its creation date and time, the DynamoDB table associated with the stream, the shard IDs within the stream, and the beginning and ending sequence numbers of stream records within the shards.</p>
    pub stream_description: ::std::option::Option<crate::types::StreamDescription>,
    _request_id: Option<String>,
}
impl DescribeStreamOutput {
    /// <p>A complete description of the stream, including its creation date and time, the DynamoDB table associated with the stream, the shard IDs within the stream, and the beginning and ending sequence numbers of stream records within the shards.</p>
    pub fn stream_description(&self) -> ::std::option::Option<&crate::types::StreamDescription> {
        self.stream_description.as_ref()
    }
}
impl ::aws_types::request_id::RequestId for DescribeStreamOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl DescribeStreamOutput {
    /// Creates a new builder-style object to manufacture [`DescribeStreamOutput`](crate::operation::describe_stream::DescribeStreamOutput).
    pub fn builder() -> crate::operation::describe_stream::builders::DescribeStreamOutputBuilder {
        crate::operation::describe_stream::builders::DescribeStreamOutputBuilder::default()
    }
}

/// A builder for [`DescribeStreamOutput`](crate::operation::describe_stream::DescribeStreamOutput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct DescribeStreamOutputBuilder {
    pub(crate) stream_description: ::std::option::Option<crate::types::StreamDescription>,
    _request_id: Option<String>,
}
impl DescribeStreamOutputBuilder {
    /// <p>A complete description of the stream, including its creation date and time, the DynamoDB table associated with the stream, the shard IDs within the stream, and the beginning and ending sequence numbers of stream records within the shards.</p>
    pub fn stream_description(mut self, input: crate::types::StreamDescription) -> Self {
        self.stream_description = ::std::option::Option::Some(input);
        self
    }
    /// <p>A complete description of the stream, including its creation date and time, the DynamoDB table associated with the stream, the shard IDs within the stream, and the beginning and ending sequence numbers of stream records within the shards.</p>
    pub fn set_stream_description(mut self, input: ::std::option::Option<crate::types::StreamDescription>) -> Self {
        self.stream_description = input;
        self
    }
    /// <p>A complete description of the stream, including its creation date and time, the DynamoDB table associated with the stream, the shard IDs within the stream, and the beginning and ending sequence numbers of stream records within the shards.</p>
    pub fn get_stream_description(&self) -> &::std::option::Option<crate::types::StreamDescription> {
        &self.stream_description
    }
    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 [`DescribeStreamOutput`](crate::operation::describe_stream::DescribeStreamOutput).
    pub fn build(self) -> crate::operation::describe_stream::DescribeStreamOutput {
        crate::operation::describe_stream::DescribeStreamOutput {
            stream_description: self.stream_description,
            _request_id: self._request_id,
        }
    }
}