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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct EnableKinesisStreamingDestinationOutput {
    /// <p>The name of the table being modified.</p>
    pub table_name: ::std::option::Option<::std::string::String>,
    /// <p>The ARN for the specific Kinesis data stream.</p>
    pub stream_arn: ::std::option::Option<::std::string::String>,
    /// <p>The current status of the replication.</p>
    pub destination_status: ::std::option::Option<crate::types::DestinationStatus>,
    /// <p>The destination for the Kinesis streaming information that is being enabled.</p>
    pub enable_kinesis_streaming_configuration: ::std::option::Option<crate::types::EnableKinesisStreamingConfiguration>,
    _request_id: Option<String>,
}
impl EnableKinesisStreamingDestinationOutput {
    /// <p>The name of the table being modified.</p>
    pub fn table_name(&self) -> ::std::option::Option<&str> {
        self.table_name.as_deref()
    }
    /// <p>The ARN for the specific Kinesis data stream.</p>
    pub fn stream_arn(&self) -> ::std::option::Option<&str> {
        self.stream_arn.as_deref()
    }
    /// <p>The current status of the replication.</p>
    pub fn destination_status(&self) -> ::std::option::Option<&crate::types::DestinationStatus> {
        self.destination_status.as_ref()
    }
    /// <p>The destination for the Kinesis streaming information that is being enabled.</p>
    pub fn enable_kinesis_streaming_configuration(&self) -> ::std::option::Option<&crate::types::EnableKinesisStreamingConfiguration> {
        self.enable_kinesis_streaming_configuration.as_ref()
    }
}
impl ::aws_types::request_id::RequestId for EnableKinesisStreamingDestinationOutput {
    fn request_id(&self) -> Option<&str> {
        self._request_id.as_deref()
    }
}
impl EnableKinesisStreamingDestinationOutput {
    /// Creates a new builder-style object to manufacture [`EnableKinesisStreamingDestinationOutput`](crate::operation::enable_kinesis_streaming_destination::EnableKinesisStreamingDestinationOutput).
    pub fn builder() -> crate::operation::enable_kinesis_streaming_destination::builders::EnableKinesisStreamingDestinationOutputBuilder {
        crate::operation::enable_kinesis_streaming_destination::builders::EnableKinesisStreamingDestinationOutputBuilder::default()
    }
}

/// A builder for [`EnableKinesisStreamingDestinationOutput`](crate::operation::enable_kinesis_streaming_destination::EnableKinesisStreamingDestinationOutput).
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct EnableKinesisStreamingDestinationOutputBuilder {
    pub(crate) table_name: ::std::option::Option<::std::string::String>,
    pub(crate) stream_arn: ::std::option::Option<::std::string::String>,
    pub(crate) destination_status: ::std::option::Option<crate::types::DestinationStatus>,
    pub(crate) enable_kinesis_streaming_configuration: ::std::option::Option<crate::types::EnableKinesisStreamingConfiguration>,
    _request_id: Option<String>,
}
impl EnableKinesisStreamingDestinationOutputBuilder {
    /// <p>The name of the table being modified.</p>
    pub fn table_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.table_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The name of the table being modified.</p>
    pub fn set_table_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.table_name = input;
        self
    }
    /// <p>The name of the table being modified.</p>
    pub fn get_table_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.table_name
    }
    /// <p>The ARN for the specific Kinesis data stream.</p>
    pub fn stream_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.stream_arn = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The ARN for the specific Kinesis data stream.</p>
    pub fn set_stream_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.stream_arn = input;
        self
    }
    /// <p>The ARN for the specific Kinesis data stream.</p>
    pub fn get_stream_arn(&self) -> &::std::option::Option<::std::string::String> {
        &self.stream_arn
    }
    /// <p>The current status of the replication.</p>
    pub fn destination_status(mut self, input: crate::types::DestinationStatus) -> Self {
        self.destination_status = ::std::option::Option::Some(input);
        self
    }
    /// <p>The current status of the replication.</p>
    pub fn set_destination_status(mut self, input: ::std::option::Option<crate::types::DestinationStatus>) -> Self {
        self.destination_status = input;
        self
    }
    /// <p>The current status of the replication.</p>
    pub fn get_destination_status(&self) -> &::std::option::Option<crate::types::DestinationStatus> {
        &self.destination_status
    }
    /// <p>The destination for the Kinesis streaming information that is being enabled.</p>
    pub fn enable_kinesis_streaming_configuration(mut self, input: crate::types::EnableKinesisStreamingConfiguration) -> Self {
        self.enable_kinesis_streaming_configuration = ::std::option::Option::Some(input);
        self
    }
    /// <p>The destination for the Kinesis streaming information that is being enabled.</p>
    pub fn set_enable_kinesis_streaming_configuration(
        mut self,
        input: ::std::option::Option<crate::types::EnableKinesisStreamingConfiguration>,
    ) -> Self {
        self.enable_kinesis_streaming_configuration = input;
        self
    }
    /// <p>The destination for the Kinesis streaming information that is being enabled.</p>
    pub fn get_enable_kinesis_streaming_configuration(&self) -> &::std::option::Option<crate::types::EnableKinesisStreamingConfiguration> {
        &self.enable_kinesis_streaming_configuration
    }
    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 [`EnableKinesisStreamingDestinationOutput`](crate::operation::enable_kinesis_streaming_destination::EnableKinesisStreamingDestinationOutput).
    pub fn build(self) -> crate::operation::enable_kinesis_streaming_destination::EnableKinesisStreamingDestinationOutput {
        crate::operation::enable_kinesis_streaming_destination::EnableKinesisStreamingDestinationOutput {
            table_name: self.table_name,
            stream_arn: self.stream_arn,
            destination_status: self.destination_status,
            enable_kinesis_streaming_configuration: self.enable_kinesis_streaming_configuration,
            _request_id: self._request_id,
        }
    }
}